@niondigital/linting-base
v7.0.1-0
Published
## Installation
Downloads
9
Readme
@niondigital/linting-base
Installation
Add this package to your projects devDependencies:
npm i -D @niondigital/linting-base
If your project is vue-cli base add @vue/cli-plugin-eslint
as well, as @vue/cli-plugin-typescript
will try to lint your project via tslint instead of the eslint linting provided by this package.
npm i -D @vue/cli-plugin-eslint
Upgrading from 1.x to 2.x
- Remove the husky config file in your project
- Follow the instructions in chapter "Install husky hooks" of this readme.
Configuration
Configuration files
Create the following files in your project. Please note: .editorconfig
and postcss are not part of this package and need to be added/handled by the project itself.
./commitlint.config.js
For Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/vue/commitlint.config.js');
For non-Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/commitlint.config.js');
./lint-staged.config.js
For Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/vue/lint-staged.config.js');
For non-Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/lint-staged.config.js);
./.eslintrc.js
For Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/vue/eslint.config');
For non-Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/eslint.config');
./.prettierrc.js
For Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/vue/prettier.config.js');
For non-Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/prettier.config.js');
./.stylelintrc.js
For Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/vue/stylelint.config');
For non-Vue-based projects
// needs to be ./node_modules as VSCode can't resolve import otherwise
module.exports = require('./node_modules/@niondigital/linting-base/src/stylelint.config');
Install husky hooks
Add husky install
to your postinstall
script in the package.json
of your project:
"postinstall": "husky install",
Install hooks:
# non-vue projects
$ npx init-linting
# vue projects
$ npx init-vue-linting
Usage
Husky will automatically be installed via this packages postinstall
script and lint Typescript, JS, HTML, (Vue), CSS and SCSS files.
Configure your IDE to use eslint and stylelint to highlight problems and/or auto-fix on save. (for an example config for VSCode, see .vscode/settings.template.json of this package)
Package development
Creating a release
- Make changes and increase version number package.json/package-lock.json
- Commit changes
- Execute
npm run release