Permalink
Cannot retrieve contributors at this time
25 lines (17 sloc)
780 Bytes
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# import/no-dynamic-require | |
<!-- end auto-generated rule header --> | |
The `require` method from CommonJS is used to import modules from different files. Unlike the ES6 `import` syntax, it can be given expressions that will be resolved at runtime. While this is sometimes necessary and useful, in most cases it isn't. Using expressions (for instance, concatenating a path and variable) as the argument makes it harder for tools to do static code analysis, or to find where in the codebase a module is used. | |
This rule forbids every call to `require()` that uses expressions for the module name argument. | |
## Rule Details | |
### Fail | |
```js | |
require(name); | |
require('../' + name); | |
require(`../${name}`); | |
require(name()); | |
``` | |
### Pass | |
```js | |
require('../name'); | |
require(`../name`); | |
``` |