Skip to content

acdvs/eslint-plugin-amd

Repository files navigation

eslint-plugin-amd

ESLint plugin for JavaScript AMD module syntax.

npm License: MIT

Features

  • 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

Installation

npm i -D eslint @acdvs/eslint-plugin-amd

Requires ESLint 9+ flat config format.

Configuration (ESLint 9+ flat config)

// 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' }],
    },
  },
];

Rules

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.

Utility functions

Several utility functions are exported via the /utils path.

See the full Utils API.

License

MIT

About

ESLint plugin for JavaScript AMD module syntax.

Topics

Resources

License

Stars

Watchers

Forks

Contributors