{"_id":"@camtomlabs/eslint-plugin-malix","name":"@camtomlabs/eslint-plugin-malix","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@camtomlabs/eslint-plugin-malix","version":"0.1.0","description":"ESLint plugin for the Malix Design System. Enforces usage of canonical <Button>, <Input> components over raw HTML elements.","main":"./index.cjs","scripts":{"test":"node smoke-test.cjs"},"repository":{"type":"git","url":"git+https://github.com/carloscamtom/malix-design-system.git","directory":"packages/eslint-plugin-malix"},"homepage":"https://github.com/carloscamtom/malix-design-system#readme","bugs":{"url":"https://github.com/carloscamtom/malix-design-system/issues"},"keywords":["eslint","eslintplugin","eslint-plugin","malix","design-system"],"license":"MIT","peerDependencies":{"@camtomlabs/malix-design-system":">=0.3.0","eslint":">=8.0.0"},"devDependencies":{"@camtomlabs/malix-design-system":"workspace:*","eslint":"^8.57.1"},"publishConfig":{"access":"public"},"_id":"@camtomlabs/eslint-plugin-malix@0.1.0","gitHead":"3428b855863017f212d2b8db2bc68aeb0162ba9a","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-lO7eeS+f1HBMl/cP6m5RNjyMRxTWxt/7Tan1TUC2MuIbBpny/BfUUTgj2OVJMlp/xrLlQjXEMRetY+6ITCuQyw==","shasum":"b82319e09d6b9cbb8a149b3be069ee6443ce199d","tarball":"https://registry.npmjs.org/@camtomlabs/eslint-plugin-malix/-/eslint-plugin-malix-0.1.0.tgz","fileCount":3,"unpackedSize":4153,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDesoN+y7jQr4XszvWQF2aBFd36mkIV7ROXuIEvX+vBHwIgFA/QX81wX66hBllDWTevpXRr7BZmNxG2ourBzs5YZPs="}]},"_npmUser":{"name":"carloscamtom","email":"carlosg@camtomx.com"},"directories":{},"maintainers":[{"name":"carloscamtom","email":"carlosg@camtomx.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-malix_0.1.0_1775787740788_0.18032480907219073"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T02:22:20.680Z","0.1.0":"2026-04-10T02:22:20.959Z","modified":"2026-04-10T02:22:21.194Z"},"maintainers":[{"name":"carloscamtom","email":"carlosg@camtomx.com"}],"description":"ESLint plugin for the Malix Design System. Enforces usage of canonical <Button>, <Input> components over raw HTML elements.","homepage":"https://github.com/carloscamtom/malix-design-system#readme","keywords":["eslint","eslintplugin","eslint-plugin","malix","design-system"],"repository":{"type":"git","url":"git+https://github.com/carloscamtom/malix-design-system.git","directory":"packages/eslint-plugin-malix"},"bugs":{"url":"https://github.com/carloscamtom/malix-design-system/issues"},"license":"MIT","readme":"# @camtomlabs/eslint-plugin-malix\n\nESLint plugin for the [Malix Design System](https://www.npmjs.com/package/@camtomlabs/malix-design-system). Enforces the use of canonical `<Button>` and `<Input>` components over raw HTML elements.\n\nThis is the sibling plugin package that lets ESLint's classic config resolve the plugin name `@camtomlabs/malix` automatically. The rules themselves live in `@camtomlabs/malix-design-system/eslint-plugin`; this package is a thin re-export.\n\n## Install\n\n```bash\npnpm add -D @camtomlabs/eslint-plugin-malix @camtomlabs/malix-design-system\n```\n\nBoth packages are peer dependencies of each other.\n\n## Usage — classic config (`.eslintrc.cjs`)\n\n```js\nmodule.exports = {\n  plugins: ['@camtomlabs/malix'],\n  rules: {\n    '@camtomlabs/malix/no-raw-button': 'warn',\n    '@camtomlabs/malix/no-raw-input': 'warn',\n  },\n};\n```\n\nOr use the recommended preset:\n\n```js\nextends: ['plugin:@camtomlabs/malix/recommended'],\n```\n\n## Usage — flat config (`eslint.config.js`, ESLint 9+)\n\n```js\nimport malix from '@camtomlabs/eslint-plugin-malix';\n\nexport default [\n  {\n    plugins: { '@camtomlabs/malix': malix },\n    rules: {\n      '@camtomlabs/malix/no-raw-button': 'warn',\n      '@camtomlabs/malix/no-raw-input': 'warn',\n    },\n  },\n];\n```\n\n## Rules\n\n### `@camtomlabs/malix/no-raw-button`\n\nDisallows raw `<button>` elements. Use `<Button hierarchy=\"primary\">` from `@camtomlabs/malix-design-system` instead.\n\n### `@camtomlabs/malix/no-raw-input`\n\nDisallows raw `<input>` elements except `type=\"hidden\"` and `type=\"file\"` (configurable via `allowTypes`). Use `<Input>` from `@camtomlabs/malix-design-system` instead.\n\n```js\n'@camtomlabs/malix/no-raw-input': ['warn', { allowTypes: ['hidden', 'file', 'submit'] }],\n```\n\n## Escape hatch\n\nWhen a raw element is truly needed, use the standard ESLint disable comment:\n\n```tsx\n// eslint-disable-next-line @camtomlabs/malix/no-raw-button\n<button type=\"submit\" form=\"external-form-id\" />\n```\n\n## License\n\nMIT © [Camtom Labs](https://camtomx.com)\n","readmeFilename":"README.md","_rev":"1-8d027897a45da7e7af813c25237b6ad9"}