{"_id":"@sanity/eslint-config-i18n","_rev":"103-a0a9207da7e26760f98a61b4888be529","name":"@sanity/eslint-config-i18n","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@sanity/eslint-config-i18n","version":"1.0.0","keywords":["sanity","eslint"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@sanity/eslint-config-i18n@1.0.0","maintainers":[{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"ash","email":"ashley@juice49.com"},{"name":"indrek.karner","email":"indrek.karner@sanity.io"},{"name":"cngonzalez-sanity","email":"carolina@sanity.io"},{"name":"rdunk","email":"rupert@rupertdunk.com"},{"name":"rneatherway-sanity","email":"robin.neatherway@sanity.io"},{"name":"ricokahler","email":"ricokahler@me.com"},{"name":"pedro-sanity","email":"pedro@sanity.io"},{"name":"jonabc","email":"jon.ruskin@gmail.com"},{"name":"kenjonespizza","email":"ken@sanity.io"},{"name":"pauloborgesf","email":"paulo@sanity.io"},{"name":"binoy14","email":"me@binoy.io"},{"name":"simen.svale","email":"simen@sanity.io"},{"name":"svirs","email":"shur@sanity.io"},{"name":"josh_sanity_io","email":"josh@sanity.io"},{"name":"joneidejohnsen","email":"jon@sanity.io"},{"name":"nina.andal","email":"nina@sanity.io"},{"name":"rankers","email":"richardankers@gmail.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"mattcraig","email":"matt@sanity.io"},{"name":"vincentquigley","email":"vincent@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"michael-sanity","email":"michael@sanity.io"},{"name":"rubioz","email":"jarubc@gmail.com"},{"name":"tonina","email":"zhelyazkova.tonina@gmail.com"},{"name":"ritasdias","email":"anarita151@gmail.com"},{"name":"simeonsanity","email":"simeon@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"robinpyon","email":"robin@robinpyon.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"evenw","email":"even@sanity.io"},{"name":"radhe_sanity","email":"radhe@sanity.io"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"judofyr","email":"judofyr@gmail.com"},{"name":"obliadp","email":"orjan@sanity.io"},{"name":"dcilke","email":"dain.cilke@gmail.com"},{"name":"fredcarlsen","email":"fred@superbig.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"sgulseth","email":"sgulseth@gmail.com"},{"name":"atombender","email":"npm@purefiction.net"}],"homepage":"https://www.sanity.io/","bugs":{"url":"https://github.com/sanity-io/eslint-config-i18n/issues"},"dist":{"shasum":"19b89c05f3bc78a8025936d71d79c4ebda51ce56","tarball":"https://registry.npmjs.org/@sanity/eslint-config-i18n/-/eslint-config-i18n-1.0.0.tgz","fileCount":5,"integrity":"sha512-BIeD9IVT7O5I6vDyDaICoidN02qeImdXDRAW062iHY9gV4JrGScWBFio2HQLso7C+Z6SrQB8jOft6SzeYqDhdQ==","signatures":[{"sig":"MEQCIErGAxowyRSK5XTrmKfSv9o5pyjt1V73eb3xgbl/Hz73AiAmGRkq17rcZRom825soIxrZH5dTEmgzV3IVSfEv7wsqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity%2feslint-config-i18n@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5941},"main":"index.js","gitHead":"4dcc2f397d77566cbaa307d7884ca8e6f8af177a","scripts":{"test":"node ./index.test.mjs"},"_npmUser":{"name":"ricokahler","email":"ricokahler@me.com"},"repository":{"url":"git+https://github.com/sanity-io/eslint-config-i18n.git","type":"git"},"_npmVersion":"10.2.4","description":"An ESLint configuration to help with localizing Sanity Studios","directories":{},"_nodeVersion":"20.10.0","dependencies":{"eslint-plugin-i18next":"^6.0.3","@rushstack/eslint-patch":"^1.3.2","@typescript-eslint/parser":"^6.2.1","@sanity/eslint-plugin-i18n":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.48.0","typescript":"^5.3.2","@sanity/semantic-release-preset":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config-i18n_1.0.0_1701799124584_0.40560733095015133","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@sanity/eslint-config-i18n","version":"1.1.0","keywords":["sanity","eslint"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@sanity/eslint-config-i18n@1.1.0","maintainers":[{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"ash","email":"ashley@juice49.com"},{"name":"indrek.karner","email":"indrek.karner@sanity.io"},{"name":"cngonzalez-sanity","email":"carolina@sanity.io"},{"name":"rdunk","email":"rupert@rupertdunk.com"},{"name":"rneatherway-sanity","email":"robin.neatherway@sanity.io"},{"name":"ricokahler","email":"ricokahler@me.com"},{"name":"pedro-sanity","email":"pedro@sanity.io"},{"name":"jonabc","email":"jon.ruskin@gmail.com"},{"name":"kenjonespizza","email":"ken@sanity.io"},{"name":"pauloborgesf","email":"paulo@sanity.io"},{"name":"binoy14","email":"me@binoy.io"},{"name":"simen.svale","email":"simen@sanity.io"},{"name":"svirs","email":"shur@sanity.io"},{"name":"josh_sanity_io","email":"josh@sanity.io"},{"name":"joneidejohnsen","email":"jon@sanity.io"},{"name":"nina.andal","email":"nina@sanity.io"},{"name":"rankers","email":"richardankers@gmail.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"mattcraig","email":"matt@sanity.io"},{"name":"vincentquigley","email":"vincent@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"michael-sanity","email":"michael@sanity.io"},{"name":"rubioz","email":"jarubc@gmail.com"},{"name":"tonina","email":"zhelyazkova.tonina@gmail.com"},{"name":"ritasdias","email":"anarita151@gmail.com"},{"name":"simeonsanity","email":"simeon@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"robinpyon","email":"robin@robinpyon.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"evenw","email":"even@sanity.io"},{"name":"radhe_sanity","email":"radhe@sanity.io"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"judofyr","email":"judofyr@gmail.com"},{"name":"obliadp","email":"orjan@sanity.io"},{"name":"dcilke","email":"dain.cilke@gmail.com"},{"name":"fredcarlsen","email":"fred@superbig.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"sgulseth","email":"sgulseth@gmail.com"},{"name":"atombender","email":"npm@purefiction.net"}],"homepage":"https://www.sanity.io/","bugs":{"url":"https://github.com/sanity-io/eslint-config-i18n/issues"},"dist":{"shasum":"f7a94d513f0bbe7c7478188de80272a7a2231764","tarball":"https://registry.npmjs.org/@sanity/eslint-config-i18n/-/eslint-config-i18n-1.1.0.tgz","fileCount":5,"integrity":"sha512-mMD0CB1R3n9vN+wWpmjIge1EW2yVYlNIO/N4LJd1kNZUs5FhyT4ZeFoJT79wj3lmr9K+yoHjqjTQ5HuZkRCSXw==","signatures":[{"sig":"MEYCIQCa7tWIfmHVrrZFe8hBrH4K49u3SZneMDiM8DJkdlmtmgIhAOllegTaUH1dMEbIThB1w3Lo72TuBfJnGDRNizxh0ufW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity%2feslint-config-i18n@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6243},"main":"index.js","gitHead":"f0c28eb7f7030182ec193024214229dd2ba96cf3","scripts":{"test":"node ./index.test.mjs"},"_npmUser":{"name":"ricokahler","email":"ricokahler@me.com"},"repository":{"url":"git+https://github.com/sanity-io/eslint-config-i18n.git","type":"git"},"_npmVersion":"10.2.4","description":"An ESLint configuration to help with localizing Sanity Studios","directories":{},"_nodeVersion":"20.10.0","dependencies":{"eslint-plugin-i18next":"^6.0.3","@rushstack/eslint-patch":"^1.3.2","@typescript-eslint/parser":"^6.2.1","@sanity/eslint-plugin-i18n":"^1.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.48.0","typescript":"^5.3.2","@sanity/semantic-release-preset":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config-i18n_1.1.0_1705969845488_0.10947896911281108","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@sanity/eslint-config-i18n","version":"2.0.0","keywords":["sanity","eslint"],"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","_id":"@sanity/eslint-config-i18n@2.0.0","maintainers":[{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"bjoerge","email":"bjoerge@gmail.com"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"skogsmaskin","email":"per.kristian.nordnes@gmail.com"},{"name":"tonina","email":"zhelyazkova.tonina@gmail.com"},{"name":"mattcraig","email":"matt@sanity.io"},{"name":"joneidejohnsen","email":"jon@sanity.io"},{"name":"rubioz","email":"jarubc@gmail.com"},{"name":"robinpyon","email":"robin@robinpyon.com"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"sanity-io","email":"developers@sanity.io"},{"name":"evenw","email":"even@sanity.io"},{"name":"radhe_sanity","email":"radhe@sanity.io"},{"name":"rbotten","email":"rbotten@gmail.com"},{"name":"danielsgroves","email":"hello@danielgroves.net"},{"name":"judofyr","email":"judofyr@gmail.com"},{"name":"ryanblock","email":"rblock+npm@gmail.com"},{"name":"obliadp","email":"orjan@sanity.io"},{"name":"dcilke","email":"dain.cilke@gmail.com"},{"name":"madken","email":"kenneth.madsen@sanity.io"},{"name":"fredcarlsen","email":"fred@superbig.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"tambet","email":"tambet.masik@gmail.com"},{"name":"sgulseth","email":"sgulseth@gmail.com"},{"name":"atombender","email":"npm@purefiction.net"},{"name":"simeonsanity","email":"simeon@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"rankers","email":"richardankers@gmail.com"},{"name":"rdunk","email":"rupert@rupertdunk.com"},{"name":"michael-sanity","email":"michael@sanity.io"},{"name":"vincentquigley","email":"vincent@sanity.io"},{"name":"ritasdias","email":"anarita151@gmail.com"},{"name":"kenjonespizza","email":"ken@sanity.io"},{"name":"rneatherway-sanity","email":"robin.neatherway@sanity.io"},{"name":"josh_sanity_io","email":"josh@sanity.io"},{"name":"cngonzalez-sanity","email":"carolina@sanity.io"},{"name":"jjburbridge","email":"jonathan.burbridge@sanity.io"},{"name":"tdfka_rick","email":"joshua.ellis18@gmail.com"},{"name":"svirs","email":"shur@sanity.io"},{"name":"ryanbonial-sanity","email":"ryan.bonial@sanity.io"},{"name":"indrek.karner","email":"indrek.karner@sanity.io"},{"name":"ash","email":"ashley@juice49.com"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"refiito","email":"margus@sanity.io"},{"name":"drewsanity","email":"drew.lyton@sanity.io"},{"name":"kaspar.lippmaa.sanity","email":"kaspar.lippmaa@sanity.io"},{"name":"dam","email":"kristoferjoseph@gmail.com"},{"name":"simen.svale","email":"simen@sanity.io"},{"name":"tbeseda","email":"tbeseda@gmail.com"},{"name":"daniel.malmer","email":"daniel.malmer@sanity.io"},{"name":"jordanl17","email":"jordanl17@me.com"},{"name":"colepeters","email":"cole@colepeters.com"},{"name":"armandocerna","email":"armando@cerna.ca"},{"name":"joan_miralles_paez","email":"joan.miralles@sanity.io"},{"name":"christianhg","email":"services@groengaard.dk"},{"name":"pedro-sanity","email":"pedro@sanity.io"},{"name":"jwoods-sanity","email":"james.woods@sanity.io"},{"name":"ricokahler","email":"ricokahler@me.com"},{"name":"tiit.kass.saity","email":"tiit.kass@sanity.io"},{"name":"binoy14","email":"me@binoy.io"},{"name":"pauloborgesf","email":"paulo@sanity.io"},{"name":"ausha","email":"ausha@sanity.io"},{"name":"chrislarocquesanity","email":"chris.larocque@sanity.io"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"mattlewine.sanity","email":"matt.lewine@sanity.io"},{"name":"msfragala","email":"ms.fragala@gmail.com"},{"name":"adoprog","email":"adoprog@gmail.com"},{"name":"tonysanity","email":"tony.lepmets@sanity.io"},{"name":"mrmrs","email":"hi@mrmrs.cc"},{"name":"betson","email":"ben.getson@gmail.com"},{"name":"georgedoescode","email":"georgedoescode@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"eoinsanity","email":"eoin.falconer@sanity.io"},{"name":"dashedstripes","email":"adamgrayscale@gmail.com"},{"name":"jmswrnr","email":"npm@jmswrnr.com"},{"name":"snocorp_sanity","email":"dave.sewell@sanity.io"},{"name":"mmgj","email":"controloptioncommand+npm@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"gu-stav","email":"gu@stav.dev"},{"name":"patricksanity","email":"patrick.mccarthy@sanity.io"},{"name":"mads.mogenshoj","email":"mads.mogenshoj@sanity.io"},{"name":"sanitytom","email":"tom@sanity.io"},{"name":"sanity-cb","email":"charlie.brown@sanity.io"},{"name":"mm-sanity","email":"mark.michon@sanity.io"},{"name":"sanitykev","email":"kevin.green@sanity.io"},{"name":"victor.ayogu","email":"victor.ayogu@sanity.io"},{"name":"ryanbethel_sanity","email":"ryan.bethel@sanity.io"},{"name":"brianleroux","email":"b@brian.io"}],"homepage":"https://www.sanity.io/","bugs":{"url":"https://github.com/sanity-io/eslint-config-i18n/issues"},"dist":{"shasum":"23de7ad82ffec93e69c76283a5dc31e108272100","tarball":"https://registry.npmjs.org/@sanity/eslint-config-i18n/-/eslint-config-i18n-2.0.0.tgz","fileCount":5,"integrity":"sha512-A1yCklgMxs9wGYwLIwCUzJR91+NYAIVnCPso2qv86XOpfNnTRhve726JQrZog6JyiFa1Dk/gDJ07D8AV2TujzQ==","signatures":[{"sig":"MEUCIQCnESSNLTM28nv1ctfM3ig/q1mw+TEa3WDlaNxD54JGBgIgJcUj3L3rHiozWcv2+0dxq3DJ/iWWqOUKMo0GHOfUvJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity%2feslint-config-i18n@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5064},"main":"index.js","type":"module","gitHead":"220bf0262c0dc9280a92b1f78d673c99d05d530c","scripts":{"test":"node ./index.test.mjs","format":"prettier --write ."},"_npmUser":{"name":"ricokahler","email":"ricokahler@me.com"},"prettier":"@sanity/prettier-config","repository":{"url":"git+https://github.com/sanity-io/eslint-config-i18n.git","type":"git"},"_npmVersion":"10.2.4","description":"An ESLint configuration to help with localizing Sanity Studios","directories":{},"_nodeVersion":"22.16.0","dependencies":{"eslint-plugin-i18next":"^6.1.1","@sanity/eslint-plugin-i18n":"^1.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.28.0","prettier":"^3.5.3","typescript":"5.8.3","@sanity/prettier-config":"^1.0.3","@sanity/semantic-release-preset":"^4.1.4"},"peerDependencies":{"eslint":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config-i18n_2.0.0_1749729540613_0.1442667890185656","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2023-12-05T17:58:44.524Z","modified":"2026-04-08T15:18:52.936Z","1.0.0":"2023-12-05T17:58:44.781Z","1.1.0":"2024-01-23T00:30:45.629Z","2.0.0":"2025-06-12T11:59:00.818Z"},"bugs":{"url":"https://github.com/sanity-io/eslint-config-i18n/issues"},"author":{"name":"Sanity.io","email":"hello@sanity.io"},"license":"MIT","homepage":"https://www.sanity.io/","keywords":["sanity","eslint"],"repository":{"url":"git+https://github.com/sanity-io/eslint-config-i18n.git","type":"git"},"description":"An ESLint configuration to help with localizing Sanity Studios","maintainers":[{"email":"svc.npm@sanity.io","name":"sanity-svc.npm"},{"email":"developers@sanity.io","name":"sanity-io"}],"readme":"# @sanity/eslint-config-i18n\n\nAn ESLint configuration to help with localizing Sanity Studios.\n\nThis ESLint config provides rules to enforce specific code standards in internationalization practices, particularly focusing on strings literals in JSX. It aims to improve code quality and maintainability in projects with internationalization concerns.\n\nDepends on:\n\n- [`@sanity/eslint-plugin-i18n`](https://github.com/sanity-io/eslint-plugin-i18n)\n  - Rule [`no-attribute-string-literals`](https://github.com/sanity-io/eslint-plugin-i18n#no-attribute-string-literals)\n  - Rule [`no-attribute-template-literals`](https://github.com/sanity-io/eslint-plugin-i18n#no-attribute-template-literals)\n- [`eslint-plugin-i18next`](https://github.com/edvardchen/eslint-plugin-i18next)\n  - Rule [`no-literal-string`](https://github.com/edvardchen/eslint-plugin-i18next#rule-no-literal-string)\n\n## Installation\n\n### Install\n\n```\npnpm add eslint @sanity/eslint-config-i18n --save-dev\n```\n\nor\n\n```\nnpm install eslint @sanity/eslint-config-i18n --save-dev\n```\n\n### Update the configuration\n\nUpdate your `eslint.config.mjs` to include `\"@sanity/eslint-config-i18n\"`\n\n```diff\n import studio from '@sanity/eslint-config-studio'\n+import i18n from '@sanity/eslint-config-i18n'\n\nexport default [\n   ...studio,\n+  ...i18n,\n]\n```\n\n### Version compatibility\n\nThis package is designed to work with ESLint >= 9, which supports/uses the new [\"flat configuration\"](https://eslint.org/blog/2022/08/new-config-system-part-2/) format.\n\nIf you are using ESLint <= 8, you should install and use [`@sanity/eslint-config-i18n@1`](https://github.com/sanity-io/eslint-config-i18n/tree/v1.1.0).\n\n## Release new version\n\nRun [\"CI & Release\" workflow](https://github.com/sanity-io/eslint-config-i18n/actions).\nMake sure to select the main branch and check \"Release new version\".\n\nSemantic release will only release on configured branches, so it is safe to run release on any branch.\n","readmeFilename":"README.md"}