diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index e5ce635..0000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "all", - "printWidth": 100, - "semi": true -} diff --git a/eslint.config.mjs b/eslint.config.mjs index f35327b..442dce0 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,20 +1,16 @@ -import eslint from '@eslint/js'; -import tseslint from 'typescript-eslint'; +import tsParser from '@typescript-eslint/parser'; +import tsPlugin from '@typescript-eslint/eslint-plugin'; import eslintConfigPrettier from 'eslint-config-prettier'; +import { typescript } from '@acamarata/eslint-config'; -export default tseslint.config( - eslint.configs.recommended, - ...tseslint.configs.recommended, +export default [ + { + plugins: { '@typescript-eslint': tsPlugin }, + languageOptions: { parser: tsParser }, + }, + ...typescript, eslintConfigPrettier, { ignores: ['dist/', 'node_modules/', 'test.mjs', 'test-cjs.cjs'], }, - { - rules: { - '@typescript-eslint/no-unused-vars': [ - 'error', - { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, - ], - }, - }, -); +]; diff --git a/package.json b/package.json index d16770e..741b862 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,9 @@ } }, "devDependencies": { + "@acamarata/eslint-config": "^0.1.0", + "@acamarata/prettier-config": "^0.1.0", + "@acamarata/tsconfig": "^0.1.0", "@eslint/js": "^10.0.1", "@js-temporal/polyfill": "^0.4.4", "@types/node": "^22.0.0", @@ -86,5 +89,6 @@ "bugs": { "url": "https://github.com/acamarata/temporal-hijri/issues" }, - "type": "module" + "type": "module", + "prettier": "@acamarata/prettier-config" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 83108df..9544146 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,15 @@ importers: .: devDependencies: + '@acamarata/eslint-config': + specifier: ^0.1.0 + version: 0.1.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint@10.0.3)(typescript@5.9.3))(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint-config-prettier@10.1.8(eslint@10.0.3))(eslint@10.0.3) + '@acamarata/prettier-config': + specifier: ^0.1.0 + version: 0.1.0(prettier@3.8.1) + '@acamarata/tsconfig': + specifier: ^0.1.0 + version: 0.1.0 '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.0.3) @@ -41,6 +50,32 @@ importers: packages: + '@acamarata/eslint-config@0.1.0': + resolution: {integrity: sha512-St2TObpHKXBLBy1GPrXWlHzXCujJ7jaor6BuWRdLMTOjM56LPBDJx+898R7yFyI8Wi52VWNZdSTPxzHuyRAq+A==} + engines: {node: '>=20'} + peerDependencies: + '@typescript-eslint/eslint-plugin': '>=8.0.0' + '@typescript-eslint/parser': '>=8.0.0' + eslint: '>=9.0.0' + eslint-config-prettier: '>=9.0.0' + eslint-plugin-react: '>=7.0.0' + eslint-plugin-react-hooks: '>=5.0.0' + peerDependenciesMeta: + eslint-plugin-react: + optional: true + eslint-plugin-react-hooks: + optional: true + + '@acamarata/prettier-config@0.1.0': + resolution: {integrity: sha512-ImMnz/653ettR4gJVd1f7Pz61DQSeDmUtguLrnCl8RdYncqfghT+QGEO5Znml0KvgX3vk4c4roPAWYdXaZgcPA==} + engines: {node: '>=20'} + peerDependencies: + prettier: '>=3.0.0' + + '@acamarata/tsconfig@0.1.0': + resolution: {integrity: sha512-bgzyBak43mE+0HhduZX3cvaPjKcggtGGZZMjr35qtYWolsIWgZ9nx7OOswbVYoU35qoUv6rZ0mTK6GbZ8QTYjw==} + engines: {node: '>=20'} + '@esbuild/aix-ppc64@0.27.3': resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} @@ -925,6 +960,19 @@ packages: snapshots: + '@acamarata/eslint-config@0.1.0(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint@10.0.3)(typescript@5.9.3))(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint-config-prettier@10.1.8(eslint@10.0.3))(eslint@10.0.3)': + dependencies: + '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint@10.0.3)(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@10.0.3)(typescript@5.9.3) + eslint: 10.0.3 + eslint-config-prettier: 10.1.8(eslint@10.0.3) + + '@acamarata/prettier-config@0.1.0(prettier@3.8.1)': + dependencies: + prettier: 3.8.1 + + '@acamarata/tsconfig@0.1.0': {} + '@esbuild/aix-ppc64@0.27.3': optional: true diff --git a/tsconfig.json b/tsconfig.json index 56c93b8..823eb8b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,11 @@ { + "extends": "@acamarata/tsconfig/tsconfig.library.json", "compilerOptions": { - "target": "ES2020", - "module": "ESNext", - "moduleResolution": "bundler", - "strict": true, - "forceConsistentCasingInFileNames": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "esModuleInterop": true, - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "outDir": "dist", "rootDir": "src", - "types": ["node"], - "skipLibCheck": true + "types": ["node"] }, "include": ["src"] }