Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m-sureshraj/eslint-plugin-glob-in-npm-script
⭐⭐ ESLint plugin to catch unquoted globs in NPM scripts
https://github.com/m-sureshraj/eslint-plugin-glob-in-npm-script
eslint eslint-plugin glob
Last synced: 20 days ago
JSON representation
⭐⭐ ESLint plugin to catch unquoted globs in NPM scripts
- Host: GitHub
- URL: https://github.com/m-sureshraj/eslint-plugin-glob-in-npm-script
- Owner: m-sureshraj
- License: mit
- Created: 2020-12-27T04:31:06.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-13T15:49:15.000Z (almost 4 years ago)
- Last Synced: 2024-02-23T20:02:30.632Z (11 months ago)
- Topics: eslint, eslint-plugin, glob
- Language: TypeScript
- Homepage:
- Size: 218 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eslint-plugin-glob-in-npm-script
ESLint plugin to catch unquoted [globs](https://en.wikipedia.org/wiki/Glob_(programming)) in NPM scripts.
Okay, what's wrong with the unquoted globs? It's all about
how the shell expands globstar `**`. This [blog post](https://medium.com/@jakubsynowiec/you-should-always-quote-your-globs-in-npm-scripts-621887a2a784) explains why
we should always quote the globs in NPM scripts in great detail.![plugin in action](./media/error-report.png)
## Installation
```
> npm install -D eslint-plugin-glob-in-npm-script
```
**Note**: If you installed ESLint globally (using the `-g` flag) then you must also install `eslint-plugin-glob-in-npm-script` globally.## Usage
Add `eslint-plugin-glob-in-npm-script` to the plugin section of your `.eslintrc` file.
Optionally you can omit the `eslint-plugin-` prefix if you like to keep it short.```javascript
{
plugins: ['glob-in-npm-script']
}
```Then configure the rule under the `rules` section.
```javascript
{
rules: {
'glob-in-npm-script/unquoted-glob': 'error'
}
}
```If you want to ignore certain scripts from linting, pass the script names to the `ignoredScripts` option.
```javascript
rules: {
'glob-in-npm-script/unquoted-glob': ['error', {
ignoredScripts: ['script-to-ignore'],
}]
}
```**Note**: By default, ESLint won't search `.json` files for linting.
Make sure to pass the `--ext` flag with the `.json` extension or
a `glob` that matches `.json` files when running ESLint.```
eslint . --ext .js,.json
eslint './**/*.{js,json}'
```## FAQs
#### How does `eslint-plugin-glob-in-npm-script` work?
This plugin relies on a package called [is-glob](https://github.com/micromatch/is-glob) to check whether a
string is a glob. If it's a glob, then it should have quoted.
Otherwise, this plugin reports an error.## Credits
* [eslint-plugin-json-files](https://github.com/kellyselden/eslint-plugin-json-files)
## License
MIT © [Sureshraj](https://github.com/m-sureshraj)