yarn add --dev reyesoft-ci
composer require-dev reyesoft/ci
- cs-fixer
composer.json
{
"scripts": {
"ci-double-spaces": [
"sh vendor/reyesoft/ci/tools/find-double-spaces.sh app",
"sh vendor/reyesoft/ci/tools/find-double-spaces.sh tests"
],
"ci-php-cs-fixer": "sh vendor/reyesoft/ci/php/scripts/php-cs-fixer.sh",
"phpstan": [
"@phpstan-src",
"@phpstan-tests"
],
"phpstan-src": "./vendor/bin/phpstan analyse -l 7 -c resources/rules/phpstan.src.neon app ./bootstrap/*.php config",
"phpstan-tests": "./vendor/bin/phpstan analyse -l 7 -c resources/rules/phpstan.tests.neon tests",
"coverage": [
"ulimit -Sn 50000 && phpdbg -d memory_limit=-1 -qrr ./vendor/bin/phpunit",
"php ./vendor/reyesoft/ci/tools/coverage-checker.php"
]
},
"extra": {
"coverage": {
"file": "./bootstrap/cache/clover.xml",
"thresholds": {
"global": {
"lines": 46
},
"/app/Boxer": {
"lines": 78
}
}
}
}
}
- tslint
- sass-lint
- prettier (ts, md and json files)
package.json
{
"sasslintConfig": "resources/.sass-lint.yml",
"scripts": {
"lint": "npm run affected:lint && npm run lint:style",
"lint:style": "npm run stylelint \"apps/*/**/*.{css,scss,sass}\"",
"fix": "npm run affected:lint --fix && npm run prettier:fix && npm run lint:style --fix",
"prettier:fix": "prettier apps/*/**/*.{ts,sass,scss,md} libs/*/**/*.{ts,sass,scss,md} --write",
"prettier:check": "bash node_modules/reyesoft-ci/parallel.bash -s \"npm run prettier apps/**/*.{sass,scss,md} libs/**/*.{sass,scss,md} -l\" \"npm run prettier apps/*/src/**/*.ts libs/**/*.ts -l\"",
"precommit": "lint-staged",
},
"lint-staged": {
"*.ts": [
"npm run eslint --fix",
"git add"
],
"*.{ts,md,scss,sass}": [
"npm run prettier:fix",
"git add"
]
}
}
{
"sasslintConfig": "resources/.sass-lint.yml",
"scripts": {
"lint": "npm run lint && npm run lint:style",
"lint:style": "npm run stylelint \**/*.{css,scss,sass}\"",
"fix": "npm run affected:lint --fix && npm run prettier:fix && npm run lint:style --fix",
"prettier:fix": "prettier **/*.{ts,sass,scss,md} --write",
"prettier:check": "bash node_modules/reyesoft-ci/parallel.bash -s \"yarn prettier **/*.{sass,scss,md} -l\" \"yarn prettier **/*.ts -l\"",
"precommit": "lint-staged",
},
"lint-staged": {
"*.ts": [
"npm run eslint --fix",
"git add"
],
"*.{ts,md,scss,sass}": [
"npm run prettier:fix",
"git add"
]
}
}
In case of using yarn you can use:
"lint-staged": {
"*.ts": [
"yarn eslint --fix",
"git add"
],
"*.{ts,md,scss,sass}": [
"yarn prettier:fix",
"git add"
],
"package.json": [
"node ./node_modules/reyesoft-ci/js/scripts/yarn-install.js",
"git add yarn.lock"
]
}
yarn fix
for various projects: ng lint project1 --fix && ng lint project2 --fix && yarn prettier:fix