{"id":"@lssm-tech/tools.eslint-plugin-i18n","slug":"tools.eslint-plugin-i18n","name":"@lssm-tech/tools.eslint-plugin-i18n","version":"2.0.4","path":"packages/tools/eslint-plugin-i18n","manifestPath":"packages/tools/eslint-plugin-i18n/package.json","manifestBlobSha":"d2f9b5459b7fcd7976441b8bbf2bac5228310458","layer":"tools","physicalArea":null,"primaryArea":"tooling-and-agent-delivery","classification":{"privateDeclared":null,"catalogFamily":"sharedLibs","catalogKind":"tool","catalogStatus":"active","adoptionMode":"operator-only","stability":"experimental"},"description":"ESLint rules enforcing i18n hygiene: no module-scope translation calls and no raw Accept-Language reads.","descriptionOrigin":"package.json","catalog":{"family":"sharedLibs","kind":"tool","status":"active","adoptionMode":"operator-only","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./rules/no-localized-machine-contracts","./rules/no-module-scope-translation","./rules/no-raw-accept-language"],"documentation":[{"title":"Tools Eslint Plugin I18n documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Ftools.eslint-plugin-i18n","kind":"readme"}],"examples":[],"replacements":[],"nonAdoptableRationale":"This tool is published for execution by operators, not as a reusable library dependency."},"canonicalImports":[],"scripts":{"build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","clean":"rimraf dist .turbo","lint":"bun run lint:fix","lint:fix":"node ../../../scripts/biome.cjs check --write .","lint:check":"node ../../../scripts/biome.cjs check .","test":"bun test","typecheck":"tsgo --noEmit","prebuild":"contractspec-bun-build prebuild"},"scriptStatus":"complete pinned manifest","dependencies":{},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","@types/estree":"^1.0.9","eslint":"^10.10.0","typescript":"catalog:"},"peerDependencies":{"eslint":">=10.10.0"},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./rules/no-localized-machine-contracts":"./src/rules/no-localized-machine-contracts.ts","./rules/no-module-scope-translation":"./src/rules/no-module-scope-translation.ts","./rules/no-raw-accept-language":"./src/rules/no-raw-accept-language.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./rules/no-localized-machine-contracts":{"types":"./dist/rules/no-localized-machine-contracts.d.ts","browser":"./dist/browser/rules/no-localized-machine-contracts.js","bun":"./dist/rules/no-localized-machine-contracts.js","node":"./dist/node/rules/no-localized-machine-contracts.js","default":"./dist/rules/no-localized-machine-contracts.js"},"./rules/no-module-scope-translation":{"types":"./dist/rules/no-module-scope-translation.d.ts","browser":"./dist/browser/rules/no-module-scope-translation.js","bun":"./dist/rules/no-module-scope-translation.js","node":"./dist/node/rules/no-module-scope-translation.js","default":"./dist/rules/no-module-scope-translation.js"},"./rules/no-raw-accept-language":{"types":"./dist/rules/no-raw-accept-language.d.ts","browser":"./dist/browser/rules/no-raw-accept-language.js","bun":"./dist/rules/no-raw-accept-language.js","node":"./dist/node/rules/no-raw-accept-language.js","default":"./dist/rules/no-raw-accept-language.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/tools.eslint-plugin-i18n","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/tools/eslint-plugin-i18n/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/eslint-plugin-i18n/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./rules/no-localized-machine-contracts","importPath":"@lssm-tech/tools.eslint-plugin-i18n/rules/no-localized-machine-contracts","target":"./src/rules/no-localized-machine-contracts.ts","targets":[{"conditions":[],"target":"./src/rules/no-localized-machine-contracts.ts","sourcePath":"packages/tools/eslint-plugin-i18n/src/rules/no-localized-machine-contracts.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/eslint-plugin-i18n/src/rules/no-localized-machine-contracts.ts","sourceStatus":"verified source file"}]},{"subpath":"./rules/no-module-scope-translation","importPath":"@lssm-tech/tools.eslint-plugin-i18n/rules/no-module-scope-translation","target":"./src/rules/no-module-scope-translation.ts","targets":[{"conditions":[],"target":"./src/rules/no-module-scope-translation.ts","sourcePath":"packages/tools/eslint-plugin-i18n/src/rules/no-module-scope-translation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/eslint-plugin-i18n/src/rules/no-module-scope-translation.ts","sourceStatus":"verified source file"}]},{"subpath":"./rules/no-raw-accept-language","importPath":"@lssm-tech/tools.eslint-plugin-i18n/rules/no-raw-accept-language","target":"./src/rules/no-raw-accept-language.ts","targets":[{"conditions":[],"target":"./src/rules/no-raw-accept-language.ts","sourcePath":"packages/tools/eslint-plugin-i18n/src/rules/no-raw-accept-language.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/eslint-plugin-i18n/src/rules/no-raw-accept-language.ts","sourceStatus":"verified source file"}]}],"entryCount":4,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Tools Eslint Plugin I18n documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Ftools.eslint-plugin-i18n","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/eslint-plugin-i18n","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/eslint-plugin-i18n/package.json","readme":null,"guide":null},"readme":{"status":"missing at source snapshot","body":null,"sourcePath":null,"sourceUrl":null,"blobSha":null,"sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":null,"integrity":null,"executionStatus":"not applicable"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"tooling-and-agent-delivery","areaTitle":"CLI, authoring and agent tooling","displayName":"tools.eslint-plugin-i18n","runtimes":["node"],"platforms":["server"],"kind":"tool","scope":"Package manifest","canonicalRoute":"/docs/packages/tools.eslint-plugin-i18n/","contextUrl":"/docs/packages/tools.eslint-plugin-i18n.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}