ESLint plugin for JavaScript AMD module syntax.
- Lints all AMD
define()call shapes - Detects dynamic
require()calls - Checks for mismatched dependency literals ↔ factory parameters
- Enforces path conventions (no extensions, sorted dependencies)
- Exports utility functions for use by other ESLint plugins
npm i -D eslint @acdvs/eslint-plugin-amdRequires ESLint 9+ flat config format.
// eslint.config.js
import amd from '@acdvs/eslint-plugin-amd';
export default [
// Recommended rules
...amd.configs.recommended,
// Or configure rules individually
{
plugins: { amd },
rules: {
'amd/no-extra-params': 'error',
'amd/no-invalid-define': 'error',
'amd/no-name': 'warn',
'amd/sorted-deps': ['warn', { order: 'asc' }],
},
},
];| Rule | Description | Recommended |
|---|---|---|
amd/define-indicator |
Enforce the presence of the AMD module define() indicator. |
❌ |
amd/no-dynamic-require |
Disallow dynamic (non-literal) expressions in require() calls. |
❌ |
amd/no-extra-deps |
Disallow more dependency literals than factory parameters. | ✅ |
amd/no-extra-params |
Disallow more factory parameters than dependency literals. | ✅ |
amd/no-invalid-define |
Disallow define() calls that do not match a valid AMD module signature. |
✅ |
amd/no-module-extensions |
Disallow file extensions in AMD dependency paths. | ✅ |
amd/no-name |
Disallow named AMD modules. | ✅ |
amd/sorted-deps |
Enforce alphabetical ordering of define() dependency literals. |
❌ |
Several utility functions are exported via the /utils path.
See the full Utils API.