# no-name > Disallow named AMD modules. ❕ **Suggestion** • ✅ **Recommended** • ❌ **Fixable** ## Details The first argument to `define()` is optionally a string module name. While the AMD spec allows this, named modules create tight coupling between the module ID and its file location, break AMD loader conventions, and are generally only produced by build tools. ### ✅ Correct ```js define({}); ``` ```js define(() => {}); ``` ```js define(['foo'], (foo) => {}); ``` ### ❌ Incorrect ```js define('my-module', {}); ``` ```js define('my-module', () => {}); ``` ```js define('my-module', ['foo'], (foo) => {}); ``` ## Introduced 1.0.0