The Wavevision SCSS and TypeScript coding standard.
npm install @wavevision/coding-standard



Code style rules and presets for PHP, SCSS and TypeScript. Also contains
default PhpStorm project code style.
Rules for:
Via Composer
``bash`
composer require --dev wavevision/coding-standard
Add to existing ruleset
`xml
`
or use directly
`bash`
vendor/bin/phpcs -p --standard=vendor/wavevision/coding-standard/php/ruleset.xml
Rules and presets for:
- babel
- eslint
- postcss
- prettier
- stylelint
- TypeScript
Via yarn
`bash`
yarn add --dev @wavevision/coding-standard
or npm
`bash`
npm install --save-dev @wavevision/coding-standard
Following config examples can be further extended and customized according to project's needs compliant with respective
library docs.
#### babel.config.js
`javascript`
module.exports = {
presets: [
'@wavevision/coding-standard/ts/babel',
'@wavevision/coding-standard/ts/babel/react', // if project uses React
],
};
#### .eslintrc.js
`javascript`
module.exports = {
extends: [
'@wavevision/coding-standard/ts/eslint',
'@wavevision/coding-standard/ts/eslint/react', // if project uses React
'@wavevision/coding-standard/ts/eslint/jest', // if project uses Jest
].map(require.resolve),
parserOptions: {
project: 'tsconfig.json',
tsconfigRootDir: '.',
},
};
> Note: The order of extends items is crucial for all rules to work correctly.
#### postcss.config.js
`javascript`
module.exports = require('@wavevision/coding-standard/scss/postcss');
#### prettier.config.js
`javascript`
module.exports = require('@wavevision/coding-standard/ts/prettier');
#### stylelint.config.js
`javascript`
module.exports = {
extends: '@wavevision/coding-standard/scss/stylelint',
};
#### tsconfig.json
`json`
{
"extends": "@wavevision/coding-standard/ts/tsconfig.json",
"include": ["./src/*/"]
}
#### Polyfills
Should your project need it, import babel polyfills consisting of core-js and regenerator-runtime stable versions.
`typescript`
import '@wavevision/coding-standard/ts/polyfills';
> Note: This might add unnecessary code to your bundle. Make sure your setup needs all the polyfills, otherwise, import required features only.
This should most likely happen in your project's top-level entry point.
1. Set File > Settings > Editor > CodeStyle > Scheme to Projectphpstorm/style.xml
2. Symlink to .idea/codeStyles/Project.xml`