{"_id":"@archpublicwebsite/eslint-config-archipelago","_rev":"2-abfd038f71f602ab99da9983203ef998","name":"@archpublicwebsite/eslint-config-archipelago","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.2":{"name":"@archpublicwebsite/eslint-config-archipelago","version":"1.0.2","keywords":["eslint","eslint-config","flat-config","vue","git-hooks"],"author":{"name":"Archipelago International"},"license":"MIT","_id":"@archpublicwebsite/eslint-config-archipelago@1.0.2","maintainers":[{"name":"archpublicwebsite","email":"archpublicwebsite@gmail.com"}],"homepage":"https://github.com/ArchipelagoInternational/archi-ui#readme","bugs":{"url":"https://github.com/ArchipelagoInternational/archi-ui/issues"},"dist":{"shasum":"8ab872db610d5d32ddbe16365837b8e70b320eae","tarball":"https://registry.npmjs.org/@archpublicwebsite/eslint-config-archipelago/-/eslint-config-archipelago-1.0.2.tgz","fileCount":11,"integrity":"sha512-d5701Bq2BEnq2axGk3OB/ElM4zy6FmtKtuD2CWmY+4wWttVctQd73RjpKaDGKSqB6Ja2bgBsKvvfpvfJSaGfNQ==","signatures":[{"sig":"MEUCIQCCVhNNkIndvUfGSShJsXfl/O2KYZcyVkO336ADCbR4BAIgVtt0SimruVyrdq0n/waPmWJuy1ReRkyPTDI5PInRYyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18953},"main":"./eslint.config.mjs","type":"module","module":"./eslint.config.mjs","engines":{"node":">=20"},"exports":{".":{"import":"./eslint.config.mjs","default":"./eslint.config.mjs"},"./tools/*":"./tools/*"},"gitHead":"4b4ac4c9de6db92a8868d0cb1aec01e12a6f7a3a","private":false,"scripts":{"setup":"node ./tools/setup/install.mjs","postinstall":"node ./tools/setup/install.mjs","version:major":"node ../../scripts/bump-version.mjs major","version:minor":"node ../../scripts/bump-version.mjs minor","version:patch":"node ../../scripts/bump-version.mjs patch","prepublishOnly":"npm pack --dry-run"},"_npmUser":{"name":"archpublicwebsite","email":"archpublicwebsite@gmail.com"},"repository":{"url":"git+https://github.com/ArchipelagoInternational/archi-ui.git","type":"git","directory":"packages/eslint-config-archipelago"},"_npmVersion":"10.9.2","description":"Reusable ESLint flat config and git-hook toolkit for Archipelago projects","directories":{},"_nodeVersion":"22.17.0","dependencies":{"eslint":"^9.0.0","@antfu/eslint-config":"^4.12.0","eslint-plugin-format":"^1.0.1","@unocss/eslint-config":"^66.5.3","eslint-plugin-tailwindcss":"^3.17.3","eslint-plugin-perfectionist":"^4.10.1","prettier-plugin-tailwindcss":"^0.6.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config-archipelago_1.0.2_1772614384617_0.2210391711657671","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@archpublicwebsite/eslint-config-archipelago","version":"1.0.4","author":{"name":"Archipelago International"},"description":"Reusable ESLint flat config and git-hook toolkit for Archipelago projects","type":"module","main":"./eslint.config.mjs","module":"./eslint.config.mjs","exports":{".":{"import":"./eslint.config.mjs","default":"./eslint.config.mjs"},"./tools/*":"./tools/*"},"repository":{"type":"git","url":"git+https://github.com/ArchipelagoInternational/archi-ui.git","directory":"packages/eslint-config-archipelago"},"keywords":["eslint","eslint-config","flat-config","vue","git-hooks"],"private":false,"engines":{"node":">=20"},"scripts":{"postinstall":"node ./tools/setup/install.mjs","setup":"node ./tools/setup/install.mjs","prepublishOnly":"npm pack --dry-run","version:patch":"node ../../scripts/bump-version.mjs patch","version:minor":"node ../../scripts/bump-version.mjs minor","version:major":"node ../../scripts/bump-version.mjs major"},"license":"MIT","dependencies":{"@antfu/eslint-config":"^4.12.0","@unocss/eslint-config":"^66.5.3","eslint":"^9.0.0","eslint-plugin-format":"^1.0.1","eslint-plugin-perfectionist":"^4.10.1","eslint-plugin-tailwindcss":"^3.17.3","prettier-plugin-tailwindcss":"^0.6.14"},"publishConfig":{"access":"public"},"_id":"@archpublicwebsite/eslint-config-archipelago@1.0.4","gitHead":"1bb8427ff1946f9c679c3b55c234e65bbf618b7f","bugs":{"url":"https://github.com/ArchipelagoInternational/archi-ui/issues"},"homepage":"https://github.com/ArchipelagoInternational/archi-ui#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-8Z6RF70rDLj73oqMfWytBTjy1vhQKaM3DYdziIQccKb5PhDFu/fUJAC9kBz/9uQvqIkADR+pTAmoC3sZUY9+mg==","shasum":"c37b149ac5663be9d9c3c27c0effb48a343dc034","tarball":"https://registry.npmjs.org/@archpublicwebsite/eslint-config-archipelago/-/eslint-config-archipelago-1.0.4.tgz","fileCount":11,"unpackedSize":18954,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC8/85txM2VfRlBdqski6WmLAIW5bT6aDcFfm4MubJkfAiB8DpcIzdXe3OvHBzbnwCF1cy3NuC2eUnqCbQA00cjOUw=="}]},"_npmUser":{"name":"archpublicwebsite","email":"archpublicwebsite@gmail.com"},"directories":{},"maintainers":[{"name":"archpublicwebsite","email":"archpublicwebsite@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config-archipelago_1.0.4_1772614876321_0.4797578920662975"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T08:53:04.518Z","modified":"2026-03-04T09:01:16.625Z","1.0.2":"2026-03-04T08:53:04.751Z","1.0.4":"2026-03-04T09:01:16.505Z"},"bugs":{"url":"https://github.com/ArchipelagoInternational/archi-ui/issues"},"author":{"name":"Archipelago International"},"license":"MIT","homepage":"https://github.com/ArchipelagoInternational/archi-ui#readme","keywords":["eslint","eslint-config","flat-config","vue","git-hooks"],"repository":{"type":"git","url":"git+https://github.com/ArchipelagoInternational/archi-ui.git","directory":"packages/eslint-config-archipelago"},"description":"Reusable ESLint flat config and git-hook toolkit for Archipelago projects","maintainers":[{"name":"archpublicwebsite","email":"archpublicwebsite@gmail.com"}],"readme":"# eslint-config-archipelago\n\nReusable ESLint + Git hooks toolkit for Nuxt/Vue projects.\n\n## Publish\n\n```bash\ncd packages/eslint-config-archipelago\npnpm version patch\nnpm publish --access public\n```\n\nQuick checks before publish:\n\n- Ensure `.npmrc` points to public npm registry.\n- Run `npm pack --dry-run` and verify only `eslint.config.mjs`, `tools/`, and `README.md` are included.\n\n## Install\n\n```bash\npnpm add -Dw eslint-config-archipelago\n```\n\n### Required dependencies (consumer project)\n\nThis toolkit expects these dev dependencies to exist in the project that installs it:\n\n```bash\npnpm add -D lint-staged prettier turbo\n```\n\n- `lint-staged` is used by the generated `pre-commit` hook.\n- `prettier` is used by the `lint:fix` flow.\n- `turbo` is used by the required `lint:check` / `lint:fix` scripts.\n\nOn install, this package automatically sets up in your project root:\n\n- `.hooks/pre-commit`\n- `.hooks/prepare-commit-msg`\n- `.hooks/commit-msg`\n- `.hooks/post-commit`\n- `eslint.config.mjs` (if not present)\n- `.prettierrc` plugin entry for `prettier-plugin-tailwindcss`\n- `git config core.hooksPath .hooks` (when in a git repo)\n\n## What this package provides\n\n- `eslint.config.mjs` builder via `createArchipelagoConfig`\n- Reusable git hook handlers in `tools/git-hooks/`\n  - `pre-commit.mjs`\n  - `prepare-commit-msg.mjs`\n  - `commit-msg.mjs`\n  - `post-commit.mjs`\n  - `generate-commit-message.mjs`\n  - `verify-commit-message.mjs`\n  - `tools/setup/install.mjs` automatic project bootstrap\n\n## ESLint usage\n\nAuto-generated `eslint.config.mjs` uses this package directly:\n\n```js\nimport { createArchipelagoConfig } from 'eslint-config-archipelago'\n\nexport default createArchipelagoConfig()\n```\n\n### Override rules\n\nYou can override any rule in your root `eslint.config.mjs`:\n\n```js\nimport { createArchipelagoConfig } from 'eslint-config-archipelago'\n\nexport default createArchipelagoConfig({\n  name: 'project/overrides',\n  rules: {\n    'no-console': 'off',\n    'vue/max-attributes-per-line': 'off',\n  },\n})\n```\n\n## Manual setup (optional)\n\nAutomatic setup is the default. If needed, you can still run setup manually:\n\n```bash\nnode node_modules/eslint-config-archipelago/tools/setup/install.mjs\n```\n\n## Hook wrappers reference\n\nRoot `.hooks` scripts should delegate to installed package path:\n\n- `.hooks/pre-commit`\n\n```bash\n#!/usr/bin/env bash\nset -euo pipefail\ncd \"$(git rev-parse --show-toplevel)\"\nnode node_modules/eslint-config-archipelago/tools/git-hooks/pre-commit.mjs\n```\n\n- `.hooks/prepare-commit-msg`\n\n```bash\n#!/usr/bin/env bash\nset -euo pipefail\ncd \"$(git rev-parse --show-toplevel)\"\nnode node_modules/eslint-config-archipelago/tools/git-hooks/prepare-commit-msg.mjs \"$@\"\n```\n\n- `.hooks/commit-msg`\n\n```bash\n#!/usr/bin/env bash\nset -euo pipefail\ncd \"$(git rev-parse --show-toplevel)\"\nnode node_modules/eslint-config-archipelago/tools/git-hooks/commit-msg.mjs \"$1\"\n```\n\n- `.hooks/post-commit`\n\n```bash\n#!/usr/bin/env bash\nset -euo pipefail\ncd \"$(git rev-parse --show-toplevel)\"\nnode node_modules/eslint-config-archipelago/tools/git-hooks/post-commit.mjs\n```\n\n## Required root scripts\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"pnpm lint:fix\",\n    \"lint:check\": \"turbo run lint\",\n    \"lint:fix\": \"((pnpm format || true) && turbo run lint --continue=always -- --fix) || true\"\n  },\n  \"lint-staged\": {\n    \"*.{js,ts,tsx,vue}\": [\"eslint --fix\"]\n  }\n}\n```\n","readmeFilename":"README.md"}