wavevision / coding-standard
The Wavevision PHP coding standard.
Package info
github.com/wavevision/coding-standard
Language:JavaScript
pkg:composer/wavevision/coding-standard
Requires
- php: >=7.4
- php-parallel-lint/php-parallel-lint: ^1.2
- phpstan/phpstan: ^0.12
- slevomat/coding-standard: ^6.4
This package is auto-updated.
Last update: 2024-08-07 08:02:41 UTC
README
Coding Standard
Code style rules and presets for PHP, SCSS and TypeScript. Also contains default PhpStorm project code style.
PHP
Rules for:
Installation
Via Composer
composer require --dev wavevision/coding-standard
Setup
Add to existing ruleset
<rule ref="vendor/wavevision/coding-standard/php/ruleset.xml"/>
or use directly
vendor/bin/phpcs -p --standard=vendor/wavevision/coding-standard/php/ruleset.xml <pathToSources>
SCSS and TypeScript
Rules and presets for:
Installation
Via yarn
yarn add --dev @wavevision/coding-standard
or npm
npm install --save-dev @wavevision/coding-standard
Setup
Following config examples can be further extended and customized according to project's needs compliant with respective library docs.
babel.config.js
module.exports = { presets: [ '@wavevision/coding-standard/ts/babel', '@wavevision/coding-standard/ts/babel/react', // if project uses React ], };
.eslintrc.js
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
extendsitems is crucial for all rules to work correctly.
postcss.config.js
module.exports = require('@wavevision/coding-standard/scss/postcss');
prettier.config.js
module.exports = require('@wavevision/coding-standard/ts/prettier');
stylelint.config.js
module.exports = { extends: '@wavevision/coding-standard/scss/stylelint', };
tsconfig.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.
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.
PhpStorm
- Set
File > Settings > Editor > CodeStyle> Scheme toProject - Symlink
phpstorm/style.xmlto.idea/codeStyles/Project.xml