@acuris/eslint-config
Shared Acuris eslint configuration and code quality tooling.
The simplest and preferred way to initialise your project is to run in your project folder this command:
npx @acuris/eslint-config@latest --init
This will start an interactive initialisation script that will setup everything you need, including packages installation.
if you install new packages after initializing a project (for example, jest or typescript), you may want to run acuris-eslint --init
again to add additional dependencies.
Once installed, you can update to the latest version (including dependencies) executing
acuris-eslint --init
You can lint your entire project running
acuris-eslint
You can fix the formatting for your entire project running
acuris-eslint --fix
You can also pass glob paths, folders or sinngle files to lint.
acuris-eslint hello.js myFolder
For mor help on the list of available options and commands, run
acuris-eslint --help
Note: If PATH does not resolve node binaries in node_modules/.bin, you can prepend all commands with npx
.
You can add acuris-eslint
in package.json root to pass additional options.
{
name: 'my-package',
// ...
"acuris-eslint": {
/**
* Override patterns used to apply different eslint rules.
*/
filePatterns: {
/** patterns that should be prettified when running --fix, but not validated using eslint parsers */
prettier: string[] | { [pattern: string]: boolean },
/** mjs module patterns */
mjs: string[] | { [pattern: string]: boolean },
/** .ts, .tsx patterns */
typescript: string[] | { [pattern: string]: boolean },
/** .d.ts patterns */
typescriptDefinition: string[] | { [pattern: string]: boolean },
/** binary script patterns */
bin: string[] | { [pattern: string]: boolean },
/** scripts pattern, similar to bin*/
scripts: string[] | { [pattern: string]: boolean },
/** server side code patterns */
server: string[] | { [pattern: string]: boolean },
/** dist folder patterns (less stringent rules) */
dist: string[] | { [pattern: string]: boolean },
/** test files patterns */
tests: string[] | { [pattern: string]: boolean }
},
/**
* The path of the eslintrc file to load when running acuris-eslint command
* Can be overridden by command line option '--config'
*/
eslintrc: string,
/**
* Enables or disable eslint cache when running acuris-eslint command.
* Can be overridden by command line option '--cache' or '--no-cache'
*/
eslintCache: boolean,
/**
* Changes the path of eslint cache when running acuris-eslint command.
* By default is `.eslintcache`
* Can be overridden by command line option '--cache-location'
*/
eslintCacheLocation: string,
/**
* The warnigns and errors output format when running acuris-eslint command.
* By default is `stylish`.
* Can be overridden by command line option '--format'
*/
eslintOutputFormat: string,
/**
* The react version to use for react eslint plugin.
*/
reactVersion: string,
/**
* A custom path for the `tsconfig.json` configuration when using typescript.
* By default, the first tsconfig.json in the current folder or parent folders is used.
*/
tsConfigPath: string,
/**
* The list of packages to disable when initializing a project or running eslint.
* For example, ['typescript', 'react', 'eslint-plugin-jsx-a11y'] disables typescript, react and jsx-a11y.
*
*/
ignoredPackages: string[] | { [packageName: string]: boolean },
/**
* Additional node_modules paths to use when resolving eslint plugins or configurations.
*/
nodeResolvePaths: string[] | { [path: string]: boolean },
}
}
- v.0.1.1
- acuris-eslint now supports prettify all supported files, not only JS and TS. Uses thread workers to use free CPUs for prettify.
- load extensions by overrides
- add supports for .files, now they get linted
- options --lint-staged and --ignore-unknown-extensions will skip file with extensions not supported when processing a list of files.
- eslint 7.0.0, typesript 3.9
- performance improvements and asynchronous write during fixing