Commit graph

30 commits

Author SHA1 Message Date
Aric Camarata
ee6c78d68f chore: bump to v1.0.4 2026-06-13 11:52:28 -04:00
Aric Camarata
4d414b2056 build: use prepack hook so npm pack/publish reliably emit index.d.mts 2026-06-13 10:11:20 -04:00
Aric Camarata
750f7e19ad chore: bump to v1.0.3 2026-06-10 16:50:19 -04:00
Aric Camarata
a8e72ac2b2 chore: update hijri-core to 1.0.3 2026-06-10 16:49:33 -04:00
Aric Camarata
d12117f000 fix: local-day adapter semantics with exact round-trips on hijri-core's UTC-day contract
Behavior changes (lock-step with hijri-core fix/utc-day-boundary):

- toHijriDate and all field/format/comparison/arithmetic functions now lift input
  Dates through localDayToUtcSlot() before calling coreToHijri(), reading the
  caller's LOCAL calendar day (date-fns convention). Previously passed the raw
  Date which caused off-by-one results in timezones west of UTC against the new
  UTC-day core contract.

- fromHijriDate now returns local-midnight Dates (new Date(y, m, d)) instead of
  UTC midnight. Local field accessors and date-fns format() render the intended
  calendar day on every host timezone. toISOString() is no longer the right API
  for this value.

- addHijriMonths, addHijriYears, startOfHijriMonth, endOfHijriMonth call
  fromHijriDate directly; the utcMidnightToLocalNoon shim is removed.

- Round-trip toHijriDate(fromHijriDate(y, m, d)) is now exact on every timezone.

Verified: 58/58 ESM tests, 10/10 CJS tests, 16/16 vitest assertions across
TZ=UTC, TZ=America/New_York, and TZ=Pacific/Auckland.
2026-06-10 16:38:32 -04:00
Aric Camarata
f260912927 ci: fix eslint config files pattern, add @typescript-eslint direct devDeps, fix prettier formatting 2026-05-31 08:47:50 -04:00
Aric Camarata
b96d6fc921 chore: bump to v1.0.2 2026-05-30 19:12:47 -04:00
Aric Camarata
0e0e9e2021 docs: replace em-dash connectors per writing standard 2026-05-30 18:49:07 -04:00
Aric Camarata
fe9c2c932c docs: update TypeDoc sidebar and CI coverage job (pending from prior wave) 2026-05-30 18:32:26 -04:00
Aric Camarata
9859725e64 docs: refresh TypeDoc API output (T-E8-03 QA-A verify) 2026-05-30 17:48:47 -04:00
Aric Camarata
e8ade1f9c4 docs: add TypeDoc API generation (typedoc@0.28.19 + typedoc-plugin-markdown@4.11.0)
Add typedoc and typedoc-plugin-markdown as devDependencies. Add typedoc.json config
targeting src/index.ts with markdown output to .github/wiki/api. Add docs script to
package.json. Generate initial API reference pages.

Part of T-E8-03 — TypeDoc automation for all 12 JS/TS packages.
2026-05-30 16:41:59 -04:00
Aric Camarata
a86df7dc09 chore: adopt shared config packages (tsconfig, eslint, prettier) 2026-05-30 15:09:58 -04:00
Aric Camarata
d19c624bce ci: corepack before setup-node, scope prettier to src/, emit d.mts 2026-05-29 20:05:34 -04:00
Aric Camarata
72644587c5 chore: E6 polish wiki content + ADR-015 CI updates (P1) 2026-05-29 07:15:47 -04:00
Aric Camarata
e6780c3aae chore: untrack AGENTS.md (AI working memory, not source code) 2026-05-29 06:36:40 -04:00
Aric Camarata
b6ee6e0331 chore: bump to v1.0.1
- Flatten exports map to ADR-015 standard
- Add coverage script (c8)
- Migrate CI to corepack enable
2026-05-28 13:54:59 -04:00
Aric Camarata
061b3e8b8f chore(config): add AGENTS.md for dual-harness parity 2026-05-25 15:49:13 -04:00
Aric Camarata
711444bb00 chore: align repository structure with portfolio documentation standards 2026-05-15 15:26:49 -04:00
Aric Camarata
f516f24987 Add GitHub Sponsors funding config 2026-03-28 18:18:44 -04:00
Aric Camarata
f00656ee20 style: fix prettier table formatting in wiki 2026-03-08 17:30:54 -04:00
Aric Camarata
bc32214cee style: replace em dashes with colons in docs 2026-03-08 17:28:04 -04:00
Aric Camarata
fb861e38de docs: add Architecture section; rename Related Packages heading to Related 2026-03-08 17:10:36 -04:00
Aric Camarata
d2bbbf72c4 ci: let pnpm/action-setup read version from packageManager field 2026-03-08 16:52:32 -04:00
Aric Camarata
9eb0459606 docs: add Compatibility and Acknowledgments sections to README 2026-03-08 16:46:30 -04:00
Aric Camarata
0995d8a5a7 ci: pin pnpm to version 10 in all CI jobs
Also enable sourcemap: true in tsup config
2026-03-08 16:37:38 -04:00
Aric Camarata
815c0418a4 refactor: code quality improvements across the board 2026-03-08 11:37:32 -04:00
Aric Camarata
9e88126a10 chore: add forceConsistentCasingInFileNames to tsconfig; fix wiki-sync action 2026-02-25 15:25:43 -05:00
Aric Camarata
536f1c5189 chore: CR/QA polish for v1.0.0 release
Fix documentation style (no em dashes). Update hijri-core devDep
from file: path to ^1.0.0.
2026-02-25 15:14:11 -05:00
Aric Camarata
467506bb05 chore: clear .npmrc to remove pnpm-only key that warns on npm publish 2026-02-25 15:09:06 -05:00
Aric Camarata
d8c5398fdf feat: initial release of date-fns-hijri v1.0.0
Functional Hijri date utility library in date-fns style. 17 exported
functions: toHijriDate, fromHijriDate, isValidHijriDate, getHijriYear,
getHijriMonth, getHijriDay, getDaysInHijriMonth, getHijriMonthName,
getHijriWeekdayName, formatHijriDate, addHijriMonths, addHijriYears,
startOfHijriMonth, endOfHijriMonth, isSameHijriMonth, isSameHijriYear,
getHijriQuarter. All delegate to hijri-core. UTC-midnight-to-local-noon
correction applied in arithmetic functions to avoid timezone boundary
drift. 55 ESM + 10 CJS tests passing. Dual CJS/ESM build.
2026-02-25 14:15:24 -05:00