Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fix(US): Mardi Gras is a Louisiana state holiday, not New Orleans only#642

Open
g1mn wants to merge 1 commit into
commenthol:mastercommenthol/date-holidays:masterfrom
g1mn:fix/us-la-mardi-gras-statewideg1mn/date-holidays:fix/us-la-mardi-gras-statewideCopy head branch name to clipboard
Open

fix(US): Mardi Gras is a Louisiana state holiday, not New Orleans only#642
g1mn wants to merge 1 commit into
commenthol:mastercommenthol/date-holidays:masterfrom
g1mn:fix/us-la-mardi-gras-statewideg1mn/date-holidays:fix/us-la-mardi-gras-statewideCopy head branch name to clipboard

Conversation

@g1mn

@g1mn g1mn commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Closes #638

What

US.yaml had Mardi Gras (easter -47) under LA.regions.NO, so US-LA did not return it at all — only US-LA-NO did. Mardi Gras is not a New Orleans-only holiday:

  • R.S. 1:55 B(1)(a) — state employees shall not work on Mardi Gras Day, so state offices close state-wide. This matches the state holiday calendar linked in the issue.
  • R.S. 1:55 A(3) — Mardi Gras is a legal holiday in the 29 listed parishes (Orleans, Jefferson, East Baton Rouge, Lafayette, …) once the parish governing authority declares it by ordinance, and in all municipalities.

Source: https://legis.la.gov/Legis/Law.aspx?d=74097

State level is the closest fit for this library's granularity, so easter -47 moves to LA.days with the statute cited in a comment.

Two deliberate scope decisions

  1. regions.NO is kept (name only). Dropping it would remove NO from getRegions('US', 'LA') and break existing US-LA-NO lookups. Keeping the region means Mardi Gras reaches New Orleans by inheritance, so nothing regresses and the US-LA-NO-* fixtures stay byte-identical.
  2. Lundi Gras is not added. The issue says the day before is "apparently" a holiday too, but R.S. 1:55 does not mention the Monday before Mardi Gras, so I left it out rather than guess. Happy to add it if you have a source.

Verification

  • npm run yaml — clean
  • npm test5373 passing
  • npm run lint — clean
  • Fixtures regenerated with the project tool: mocha test/all.mocha.js --writetests --countries US → only test/fixtures/US-LA-2015..2029.json change, one Mardi Gras entry each (US-LA-NO-* unchanged, as expected)
  • Runtime check for 2026: US-LA2026-02-17 Mardi Gras, US-LA-NO → same, US-TX unaffected, getRegions('US','LA'){"NO":"New Orleans"}

Independently cross-reviewed by two AI models before submission.

US.yaml carried Mardi Gras (easter -47) under LA.regions.NO, so US-LA missed it
entirely. Louisiana state employees do not work Mardi Gras Day (R.S. 1:55
B(1)(a)), and it is a legal holiday in the 29 parishes listed in R.S. 1:55 A(3)
once the parish declares it by ordinance, plus in all municipalities - state
level is the closest fit for this library's granularity.

The NO region keeps its name so getRegions('US', 'LA') still returns it and
US-LA-NO queries keep resolving; Mardi Gras now reaches them by inheritance.
Lundi Gras is left out: the issue guessed at it, but R.S. 1:55 does not mention
the Monday before.

Fixtures regenerated with `mocha test/all.mocha.js --writetests --countries US`.

Closes commenthol#638
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mardi Gras is a US-LA state holiday, not just a US-LA-NO area holiday

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.