temporal-hijri/package.json
Aric Camarata 41956c0dc4 refactor: code quality improvements and Temporal Protocol compliance
- Replace O(n) while-loops in dateAdd() with O(1) modular arithmetic
- Implement overflow option handling in dateFromFields, yearMonthFromFields, monthDayFromFields
- Add fields() method per Temporal Calendar Protocol
- Extract shared borrow logic from dateUntil() into borrowHijriDiff helper
- Replace magic number 1444 with REFERENCE_YEAR constant
- Convert test suites to node:test runner with describe/it blocks
- Add tests for dateUntil, dateAdd with days/weeks, overflow reject/constrain, fields(), yearMonthFromFields, monthDayFromFields
- Add ESLint + Prettier with typescript-eslint config
- Add lint job to CI workflow
- Add noImplicitReturns and noFallthroughCasesInSwitch to tsconfig
- Disable unused sourcemap generation in tsup
- Update .editorconfig to include .mts and .cts extensions
- Add missing AI agent dirs to .gitignore
2026-03-08 11:37:22 -04:00

91 lines
2.3 KiB
JSON

{
"name": "temporal-hijri",
"version": "1.0.0",
"description": "Temporal Calendar Protocol implementation for the Hijri calendar system. Supports Umm al-Qura and FCNA calendars via hijri-core.",
"author": "Aric Camarata",
"license": "MIT",
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.cjs"
}
}
},
"sideEffects": false,
"files": [
"dist/index.cjs",
"dist/index.mjs",
"dist/index.d.ts",
"dist/index.d.mts",
"README.md",
"CHANGELOG.md",
"LICENSE"
],
"engines": {
"node": ">=20"
},
"packageManager": "pnpm@10.30.1",
"scripts": {
"build": "tsup",
"typecheck": "tsc --noEmit",
"lint": "eslint src/",
"format": "prettier --write src/ test.mjs test-cjs.cjs eslint.config.mjs tsup.config.ts",
"format:check": "prettier --check src/ test.mjs test-cjs.cjs eslint.config.mjs tsup.config.ts",
"pretest": "tsup",
"test": "node --test test.mjs && node --test test-cjs.cjs",
"prepublishOnly": "tsup"
},
"keywords": [
"temporal",
"tc39",
"hijri",
"islamic",
"calendar",
"umm-al-qura",
"fcna",
"gregorian",
"converter",
"typescript"
],
"peerDependencies": {
"@js-temporal/polyfill": "^0.4.0",
"hijri-core": "^1.0.0"
},
"peerDependenciesMeta": {
"@js-temporal/polyfill": {
"optional": true
}
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@js-temporal/polyfill": "^0.4.4",
"@types/node": "^22.0.0",
"eslint": "^10.0.3",
"eslint-config-prettier": "^10.1.8",
"hijri-core": "^1.0.0",
"prettier": "^3.8.1",
"tsup": "^8.0.0",
"typescript": "^5.5.0",
"typescript-eslint": "^8.56.1"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"repository": {
"type": "git",
"url": "git+https://github.com/acamarata/temporal-hijri.git"
},
"homepage": "https://github.com/acamarata/temporal-hijri#readme",
"bugs": {
"url": "https://github.com/acamarata/temporal-hijri/issues"
}
}