{"_id":"@crision-olt/oxlint-plugin-testid-attr","_rev":"4-118d9c86da066a1340d7614a9b1739e4","name":"@crision-olt/oxlint-plugin-testid-attr","dist-tags":{"latest":"1.0.2"},"versions":{"0.1.0":{"name":"@crision-olt/oxlint-plugin-testid-attr","version":"0.1.0","keywords":["oxlint","oxlint-plugin","testing","data-testid"],"license":"MIT","_id":"@crision-olt/oxlint-plugin-testid-attr@0.1.0","maintainers":[{"name":"crision-olt","email":"crision.olt@gmail.com"}],"dist":{"shasum":"bbed9fe7d441565e76de6c143566675800d0c2b2","tarball":"https://registry.npmjs.org/@crision-olt/oxlint-plugin-testid-attr/-/oxlint-plugin-testid-attr-0.1.0.tgz","fileCount":5,"integrity":"sha512-+E6PhF8w+l/O5rMHjx3j/UFsD5evWxdtIQM67j+odAGDq8w+zVVp3gfVwzmedPswE0Wl/afo+RtrgFM2pV9tQw==","signatures":[{"sig":"MEUCIAzeejB+vCA8n6YSds5Hiy31QGpZ44jbHb4RIMVK7oeXAiEAo8AhXWf4kdnOJSqcXzHvj7ClubP++8wpSz7WA4WBbwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5431},"main":"src/index.js","type":"module","exports":{".":"./src/index.js"},"gitHead":"180e943a0348588a81c9bfb9d29e0ad55ebb49df","scripts":{"test":"node --test"},"_npmUser":{"name":"crision-olt","email":"crision.olt@gmail.com"},"_npmVersion":"10.9.2","description":"Oxlint JS plugin that enforces the exact data-testid attribute spelling.","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"peerDependencies":{"oxlint":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-testid-attr_0.1.0_1783351520298_0.6870046338764093","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@crision-olt/oxlint-plugin-testid-attr","version":"1.0.0","keywords":["oxlint","oxlint-plugin","testing","data-testid"],"license":"MIT","_id":"@crision-olt/oxlint-plugin-testid-attr@1.0.0","maintainers":[{"name":"crision-olt","email":"crision.olt@gmail.com"}],"dist":{"shasum":"66f9fde9ecfbccf05e47a147610cf6aced73e7eb","tarball":"https://registry.npmjs.org/@crision-olt/oxlint-plugin-testid-attr/-/oxlint-plugin-testid-attr-1.0.0.tgz","fileCount":5,"integrity":"sha512-UL0Tas7qy3q+zsuRXrrnweaQRS43MmvAoHrnuYfWDVo8Yd1EJECVx6+kXaCUaD3px1ROzyW23O8qgRehPqHh6w==","signatures":[{"sig":"MEQCIGLOlI0kjq40Ek+XRk018XVAuVZn49s2htyU1I/YFrDjAiAo4b+OKtXo1St2G7YF/sdxEemrvp+MLBspoxK5rOb9VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5457},"main":"src/index.js","type":"module","exports":{".":"./src/index.js"},"gitHead":"143d25d7bd5435364981b74a11e46a0d35d2a2ef","scripts":{"test":"node --test"},"_npmUser":{"name":"crision-olt","email":"crision.olt@gmail.com"},"_npmVersion":"10.9.2","description":"Oxlint JS plugin that enforces the exact data-testid attribute spelling.","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"peerDependencies":{"oxlint":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-testid-attr_1.0.0_1783352093940_0.16931588676817766","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@crision-olt/oxlint-plugin-testid-attr","version":"1.0.1","keywords":["oxlint","oxlint-plugin","testing","data-testid"],"license":"MIT","_id":"@crision-olt/oxlint-plugin-testid-attr@1.0.1","maintainers":[{"name":"crision-olt","email":"crision.olt@gmail.com"}],"dist":{"shasum":"a452fd652b5e89f97cf06588114a6905154b8b4e","tarball":"https://registry.npmjs.org/@crision-olt/oxlint-plugin-testid-attr/-/oxlint-plugin-testid-attr-1.0.1.tgz","fileCount":5,"integrity":"sha512-p8YrTbPj7S06xa2OwE+UTqTvI8Tqi1BPNbNKUSXtb3a+hR+LYoPREp8fAdHNvct8jn0o0ENyBnRvHFjbphCVqA==","signatures":[{"sig":"MEQCHy18ga9bbA8RI0JAiUwkKML5ir8tcPQ7Z4LH7sj2vY4CIQDZKjidxfOPv93KQ7BvwylTOvotQTH6qz8kNNVmeYcfzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5541},"main":"src/index.js","type":"module","exports":{".":"./src/index.js"},"gitHead":"b348f70d67581399c664534984bad06a67691ed6","scripts":{"test":"node --test"},"_npmUser":{"name":"crision-olt","email":"crision.olt@gmail.com"},"_npmVersion":"10.9.2","description":"Oxlint JS plugin that enforces the exact data-testid attribute spelling.","directories":{},"_nodeVersion":"22.17.1","dependencies":{"@crision-olt/oxlint-plugin-testid-attr":"1.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"oxlint":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-testid-attr_1.0.1_1783352448919_0.4847781860662468","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@crision-olt/oxlint-plugin-testid-attr","version":"1.0.2","description":"Oxlint JS plugin that enforces the exact data-testid attribute spelling.","type":"module","main":"src/index.js","exports":{".":"./src/index.js"},"scripts":{"test":"node --test"},"keywords":["oxlint","oxlint-plugin","testing","data-testid"],"peerDependencies":{"oxlint":"^1.0.0"},"license":"MIT","dependencies":{"@crision-olt/oxlint-plugin-testid-attr":"1.0.0"},"_id":"@crision-olt/oxlint-plugin-testid-attr@1.0.2","gitHead":"1068706a0a34053906dcb66ea131bf2fcddb2a7b","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-GdTwo6YGwoes7eUs1EPb0Kq6DE5x/YemBw3/LMTZQ7LKQOsxAs8cTkVukrUJiQTSMF1ovb16n6LCbTvn+C1g9Q==","shasum":"550b92347cd836a30a70f2056e1f57452a8b009b","tarball":"https://registry.npmjs.org/@crision-olt/oxlint-plugin-testid-attr/-/oxlint-plugin-testid-attr-1.0.2.tgz","fileCount":5,"unpackedSize":8602,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDo00PD/u917uyrcTy2U8ltNX55uEu+RFJze3eo3MhJxAiEA/weEr8gIz/IJT4VBuzcxjtT+l3C9WwGCw03iAw0PTpc="}]},"_npmUser":{"name":"crision-olt","email":"crision.olt@gmail.com"},"directories":{},"maintainers":[{"name":"crision-olt","email":"crision.olt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oxlint-plugin-testid-attr_1.0.2_1783354438505_0.6010976392146998"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-06T15:25:20.181Z","modified":"2026-07-06T16:13:58.787Z","0.1.0":"2026-07-06T15:25:20.493Z","1.0.0":"2026-07-06T15:34:54.091Z","1.0.1":"2026-07-06T15:40:49.088Z","1.0.2":"2026-07-06T16:13:58.654Z"},"license":"MIT","keywords":["oxlint","oxlint-plugin","testing","data-testid"],"description":"Oxlint JS plugin that enforces the exact data-testid attribute spelling.","maintainers":[{"name":"crision-olt","email":"crision.olt@gmail.com"}],"readme":"# oxlint-plugin-testid-attr\n\nOxlint JS plugin that enforces only the exact `data-testid` attribute spelling across JSX and other markup patterns in Oxlint-supported files.\n\nThe plugin reports misspellings such as:\n\n- `data-testId`\n- `data-test-id`\n- `dataTestId`\n- `data-TestId`\n\nIt also supports **autofix** and rewrites these to `data-testid` when you run Oxlint with `--fix`.\n\n## Install\n\n```bash\nnpm install @crision-olt/oxlint-plugin-testid-attr\n```\n\n## Usage\n\nConfigure Oxlint with `jsPlugins` and enable the rule:\n\n```json\n{\n  \"jsPlugins\": [\n    {\n      \"name\": \"testid-attr\",\n      \"specifier\": \"@crision-olt/oxlint-plugin-testid-attr\"\n    }\n  ],\n  \"rules\": {\n    \"testid-attr/valid-testid-attribute\": \"error\"\n  }\n}\n```\n\n## Rule\n\n- `testid-attr/valid-testid-attribute`\n","readmeFilename":"README.md"}