diff --git a/.changeset/twenty-bags-dress.md b/.changeset/twenty-bags-dress.md new file mode 100644 index 00000000..b5b7a5f5 --- /dev/null +++ b/.changeset/twenty-bags-dress.md @@ -0,0 +1,14 @@ +--- +'@wayofdev/browserslist-config': patch +'@wayofdev/eslint-config-bases': patch +'@wayofdev/markdownlint-config': patch +'@wayofdev/lint-staged-config': patch +'@wayofdev/commitlint-config': patch +'@wayofdev/secretlint-config': patch +'@wayofdev/stylelint-config': patch +'@wayofdev/htmlhint-config': patch +'@wayofdev/tsconfig-config': patch +'@wayofdev/postcss-config': patch +--- + +fix: lint-staged config changes diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..6adc1fe9 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,15 @@ +const { getDefaultIgnorePatterns } = require('@wayofdev/eslint-config-bases/helpers') + +module.exports = { + root: true, + parserOptions: { + tsconfigRootDir: __dirname, + project: 'tsconfig.base.json', + }, + ignorePatterns: [...getDefaultIgnorePatterns()], + extends: [ + '@wayofdev/eslint-config-bases/typescript', + '@wayofdev/eslint-config-bases/mdx', + '@wayofdev/eslint-config-bases/prettier-plugin', + ], +} diff --git a/lint-staged.config.js b/lint-staged.config.js index c46fb06b..094583cc 100644 --- a/lint-staged.config.js +++ b/lint-staged.config.js @@ -1,18 +1,17 @@ // @ts-check -const { - concatFilesForPrettier, - jsonRules, - secretsRules, - mdRules, - yamlRules, -} = require('@wayofdev/lint-staged-config') +const { concatFilesForPrettier } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') const rules = { - ...jsonRules, - ...yamlRules, - ...secretsRules, - ...mdRules, + ...json, + ...yaml, + ...secrets, + ...md, '**/*.{js,jsx,cjs,mjs,ts,tsx,mts,cts}': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`] }, diff --git a/packages/browserslist-config/lint-staged.config.js b/packages/browserslist-config/lint-staged.config.js index 9c02aaf0..a00f03c3 100644 --- a/packages/browserslist-config/lint-staged.config.js +++ b/packages/browserslist-config/lint-staged.config.js @@ -7,20 +7,24 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') +const html = require('@wayofdev/lint-staged-config/html') /** * @typedef {Record string | string[] | Promise>} LintRule */ const rules = { - '**/*.{js,jsx,ts,tsx}': (/** @type {any} */ filenames) => { + ...json, + ...secrets, + ...md, + ...yaml, + ...html, + '**/*.{js,jsx,ts,tsx}': filenames => { return getEslintFixCmd({ cwd: __dirname, fix: true, @@ -32,11 +36,6 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, } module.exports = rules diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index 93c609e4..515401aa 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -41,7 +41,8 @@ "browserslist": "^4.21.5" }, "devDependencies": { - "rimraf": "^4.1.2" + "rimraf": "^4.1.2", + "@wayofdev/lint-staged-config": "workspace:*" }, "publishConfig": { "access": "public" diff --git a/packages/commitlint-config/lint-staged.config.js b/packages/commitlint-config/lint-staged.config.js index 9c02aaf0..d3ffa381 100644 --- a/packages/commitlint-config/lint-staged.config.js +++ b/packages/commitlint-config/lint-staged.config.js @@ -7,14 +7,13 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') +const html = require('@wayofdev/lint-staged-config/html') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +31,11 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, + ...html, } module.exports = rules diff --git a/packages/commitlint-config/package.json b/packages/commitlint-config/package.json index 63a912d0..b774dbb3 100644 --- a/packages/commitlint-config/package.json +++ b/packages/commitlint-config/package.json @@ -44,7 +44,8 @@ }, "devDependencies": { "es-check": "^7.1.0", - "rimraf": "^4.1.2" + "rimraf": "^4.1.2", + "@wayofdev/lint-staged-config": "workspace:*" }, "peerDependencies": { "@commitlint/cli": ">= 17" diff --git a/packages/eslint-config-bases/lint-staged.config.js b/packages/eslint-config-bases/lint-staged.config.js index 9c02aaf0..d3ffa381 100644 --- a/packages/eslint-config-bases/lint-staged.config.js +++ b/packages/eslint-config-bases/lint-staged.config.js @@ -7,14 +7,13 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') +const html = require('@wayofdev/lint-staged-config/html') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +31,11 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, + ...html, } module.exports = rules diff --git a/packages/htmlhint-config/lint-staged.config.js b/packages/htmlhint-config/lint-staged.config.js index 9c02aaf0..d3ffa381 100644 --- a/packages/htmlhint-config/lint-staged.config.js +++ b/packages/htmlhint-config/lint-staged.config.js @@ -7,14 +7,13 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') +const html = require('@wayofdev/lint-staged-config/html') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +31,11 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, + ...html, } module.exports = rules diff --git a/packages/htmlhint-config/package.json b/packages/htmlhint-config/package.json index 64512ba3..b945105d 100644 --- a/packages/htmlhint-config/package.json +++ b/packages/htmlhint-config/package.json @@ -33,7 +33,8 @@ "lint:types": "tsc --project tsconfig.json --noEmit" }, "devDependencies": { - "rimraf": "^4.1.2" + "rimraf": "^4.1.2", + "@wayofdev/lint-staged-config": "workspace:*" }, "peerDependencies": { "htmlhint": ">= 1" diff --git a/packages/lint-staged-config/README.md b/packages/lint-staged-config/README.md index ec9a073b..85ae635d 100644 --- a/packages/lint-staged-config/README.md +++ b/packages/lint-staged-config/README.md @@ -69,68 +69,62 @@ This package should be installed in the root of your mono-repository, where you 1. Create `lint-staged.config.js` file in root of mono-repository and add lines: ```javascript - // @ts-check - - const { - concatFilesForPrettier, - jsonRules, - secretsRules, - mdRules, - yamlRules, - } = require('@wayofdev/lint-staged-config') - + const { concatFilesForPrettier } = require("@wayofdev/lint-staged-config") + + const json = require("@wayofdev/lint-staged-config/json") + const yaml = require("@wayofdev/lint-staged-config/yaml") + const secrets = require("@wayofdev/lint-staged-config/secrets") + const md = require("@wayofdev/lint-staged-config/md") + const rules = { - ...jsonRules, - ...yamlRules, - ...secretsRules, - ...mdRules, - '**/*.{js,jsx,cjs,mjs,ts,tsx,mts,cts}': filenames => { + ...json, + ...yaml, + ...secrets, + ...md, + "**/*.{js,jsx,cjs,mjs,ts,tsx,mts,cts}": filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`] }, } - + module.exports = rules ``` - + 2. If needed, override the base `lint-staged.config.js` in each package or application. Example `lint-staged.config.js` in folder `./packages/eslint-config-bases/` ```typescript - // @ts-check - - const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, - } = require('@wayofdev/lint-staged-config') - + const { getEslintFixCmd } = require("@wayofdev/lint-staged-config") + + const json = require("@wayofdev/lint-staged-config/json") + const yaml = require("@wayofdev/lint-staged-config/yaml") + const secrets = require("@wayofdev/lint-staged-config/secrets") + const md = require("@wayofdev/lint-staged-config/md") + const html = require("@wayofdev/lint-staged-config/html") + /** * @typedef {Record string | string[] | Promise>} LintRule */ const rules = { - '**/*.{js,jsx,ts,tsx}': (/** @type {any} */ filenames) => { + "**/*.{js,jsx,ts,tsx}": (/** @type {any} */ filenames) => { return getEslintFixCmd({ cwd: __dirname, fix: true, cache: true, // when autofixing staged-files a good tip is to disable react-hooks/exhaustive-deps, cause // a change here can potentially break things without proper visibility. - rules: ['react-hooks/exhaustive-deps: off'], + rules: ["react-hooks/exhaustive-deps: off"], maxWarnings: 25, files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, + ...html, } - + module.exports = rules ``` diff --git a/packages/lint-staged-config/package.json b/packages/lint-staged-config/package.json index 0781fa8d..023be65c 100644 --- a/packages/lint-staged-config/package.json +++ b/packages/lint-staged-config/package.json @@ -26,6 +26,12 @@ ".": { "require": "./src/common.js" }, + "./helpers": { + "require": "./src/common.js" + }, + "./bases": { + "require": "./src/bases/index.js" + }, "./css": { "require": "./src/bases/css.js" }, diff --git a/packages/lint-staged-config/src/bases/css.js b/packages/lint-staged-config/src/bases/css.js index fd7ba1d2..969bd118 100644 --- a/packages/lint-staged-config/src/bases/css.js +++ b/packages/lint-staged-config/src/bases/css.js @@ -3,10 +3,8 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '**/*.{css}': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`, `stylelint --fix`] }, } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/graphql.js b/packages/lint-staged-config/src/bases/graphql.js index 3ec5cef8..76daf03f 100644 --- a/packages/lint-staged-config/src/bases/graphql.js +++ b/packages/lint-staged-config/src/bases/graphql.js @@ -3,10 +3,8 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '**/*.{gql,graphql}': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`] }, } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/html.js b/packages/lint-staged-config/src/bases/html.js index 3d08fa18..30420594 100644 --- a/packages/lint-staged-config/src/bases/html.js +++ b/packages/lint-staged-config/src/bases/html.js @@ -3,10 +3,8 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '**/*.{htm,html}': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`, `htmlhint --color`] }, } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/json.js b/packages/lint-staged-config/src/bases/json.js index 37d3e149..6371c035 100644 --- a/packages/lint-staged-config/src/bases/json.js +++ b/packages/lint-staged-config/src/bases/json.js @@ -3,11 +3,9 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '**/*.json': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`] }, 'package.json,{packages,apps}/*/package.json': () => [`sort-package-json`], } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/md.js b/packages/lint-staged-config/src/bases/md.js index 4775cda2..36c49a05 100644 --- a/packages/lint-staged-config/src/bases/md.js +++ b/packages/lint-staged-config/src/bases/md.js @@ -3,13 +3,13 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '**/*.md': filenames => { return [ `prettier --write ${concatFilesForPrettier(filenames)}`, - `markdownlint --fix --ignore '**/node_modules/**' --ignore '**/CHANGELOG.md'`, + `markdownlint --fix --ignore '**/node_modules/**' --ignore '**/CHANGELOG.md' ${concatFilesForPrettier( + filenames + )}`, ] }, } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/mdx.js b/packages/lint-staged-config/src/bases/mdx.js index fdece6bf..e218e2ff 100644 --- a/packages/lint-staged-config/src/bases/mdx.js +++ b/packages/lint-staged-config/src/bases/mdx.js @@ -3,10 +3,8 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '**/*.mdx': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`] }, } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/secrets.js b/packages/lint-staged-config/src/bases/secrets.js index e7be063f..5597aeda 100644 --- a/packages/lint-staged-config/src/bases/secrets.js +++ b/packages/lint-staged-config/src/bases/secrets.js @@ -1,8 +1,6 @@ /** * @type {Record string | string[] | Promise>} */ -const rules = { - '**/*': () => [`secretlint`], +module.exports = { + '*': [`secretlint`], } - -module.exports = rules diff --git a/packages/lint-staged-config/src/bases/yaml.js b/packages/lint-staged-config/src/bases/yaml.js index 42510418..00a403c8 100644 --- a/packages/lint-staged-config/src/bases/yaml.js +++ b/packages/lint-staged-config/src/bases/yaml.js @@ -3,11 +3,9 @@ const { concatFilesForPrettier } = require('../common') /** * @type {Record string | string[] | Promise>} */ -const rules = { +module.exports = { '*.{yml,yaml}': filenames => { return [`prettier --write ${concatFilesForPrettier(filenames)}`, `yamllint --strict .`] }, '.github/workflows/*.{yml,yaml}': () => [`actionlint`], } - -module.exports = rules diff --git a/packages/lint-staged-config/src/common.js b/packages/lint-staged-config/src/common.js index deef5f1b..f2dcf4b4 100644 --- a/packages/lint-staged-config/src/common.js +++ b/packages/lint-staged-config/src/common.js @@ -46,7 +46,7 @@ const getEslintFixCmd = ({ cwd, files, rules, fix, fixType, cache, maxWarnings } fix ? '--fix' : '', cliFixType.length > 0 ? `--fix-type ${cliFixType.join(',')}` : '', maxWarnings !== undefined ? `--max-warnings=${maxWarnings}` : '', - cliRules.length > 0 ? `--rule ${cliRules.join('--rule ')}` : '', + cliRules.length > 0 ? `--rule ${cliRules.join(' --rule ')}` : '', files // makes output cleaner by removing absolute paths from filenames .map(f => `"./${path.relative(cwd, f)}"`) diff --git a/packages/markdownlint-config/lint-staged.config.js b/packages/markdownlint-config/lint-staged.config.js index 9c02aaf0..d3ffa381 100644 --- a/packages/markdownlint-config/lint-staged.config.js +++ b/packages/markdownlint-config/lint-staged.config.js @@ -7,14 +7,13 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') +const html = require('@wayofdev/lint-staged-config/html') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +31,11 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, + ...html, } module.exports = rules diff --git a/packages/markdownlint-config/package.json b/packages/markdownlint-config/package.json index 0131a215..111baead 100644 --- a/packages/markdownlint-config/package.json +++ b/packages/markdownlint-config/package.json @@ -35,6 +35,9 @@ "dependencies": { "markdownlint-cli": "^0.33.0" }, + "devDependencies": { + "@wayofdev/lint-staged-config": "workspace:*" + }, "peerDependencies": { "markdownlint": ">= 0" }, diff --git a/packages/postcss-config/lint-staged.config.js b/packages/postcss-config/lint-staged.config.js index 9c02aaf0..cc4917da 100644 --- a/packages/postcss-config/lint-staged.config.js +++ b/packages/postcss-config/lint-staged.config.js @@ -7,14 +7,12 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +30,10 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, } module.exports = rules diff --git a/packages/postcss-config/package.json b/packages/postcss-config/package.json index 47a0c9c6..c391a93e 100644 --- a/packages/postcss-config/package.json +++ b/packages/postcss-config/package.json @@ -51,7 +51,8 @@ }, "devDependencies": { "@types/postcss-reporter": "^7.0.1", - "es-check": "^7.1.0" + "es-check": "^7.1.0", + "@wayofdev/lint-staged-config": "workspace:*" }, "peerDependencies": { "postcss": ">= 8", diff --git a/packages/secretlint-config/lint-staged.config.js b/packages/secretlint-config/lint-staged.config.js index 9c02aaf0..cc4917da 100644 --- a/packages/secretlint-config/lint-staged.config.js +++ b/packages/secretlint-config/lint-staged.config.js @@ -7,14 +7,12 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +30,10 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, } module.exports = rules diff --git a/packages/secretlint-config/package.json b/packages/secretlint-config/package.json index 5c55971c..69bd7f02 100644 --- a/packages/secretlint-config/package.json +++ b/packages/secretlint-config/package.json @@ -37,7 +37,8 @@ "@secretlint/secretlint-rule-preset-recommend": "^6.2.3" }, "devDependencies": { - "rimraf": "^4.1.2" + "rimraf": "^4.1.2", + "@wayofdev/lint-staged-config": "workspace:*" }, "peerDependencies": { "secretlint": ">= 6" diff --git a/packages/stylelint-config/lint-staged.config.js b/packages/stylelint-config/lint-staged.config.js index 9c02aaf0..cc4917da 100644 --- a/packages/stylelint-config/lint-staged.config.js +++ b/packages/stylelint-config/lint-staged.config.js @@ -7,14 +7,12 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +30,10 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, } module.exports = rules diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index a720f06e..be362dca 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -45,7 +45,8 @@ "stylelint-order": "^6.0.2" }, "devDependencies": { - "es-check": "^7.1.0" + "es-check": "^7.1.0", + "@wayofdev/lint-staged-config": "workspace:*" }, "peerDependencies": { "stylelint": "^14 || ^15" diff --git a/packages/tsconfig-config/lint-staged.config.js b/packages/tsconfig-config/lint-staged.config.js index 9c02aaf0..cc4917da 100644 --- a/packages/tsconfig-config/lint-staged.config.js +++ b/packages/tsconfig-config/lint-staged.config.js @@ -7,14 +7,12 @@ * {@link https://github.com/belgattitude/nextjs-monorepo-example/blob/main/docs/about-lint-staged.md} */ -const { - getEslintFixCmd, - jsonRules, - secretsRules, - mdRules, - yamlRules, - htmlRules, -} = require('@wayofdev/lint-staged-config') +const { getEslintFixCmd } = require('@wayofdev/lint-staged-config') + +const json = require('@wayofdev/lint-staged-config/json') +const yaml = require('@wayofdev/lint-staged-config/yaml') +const secrets = require('@wayofdev/lint-staged-config/secrets') +const md = require('@wayofdev/lint-staged-config/md') /** * @typedef {Record string | string[] | Promise>} LintRule @@ -32,11 +30,10 @@ const rules = { files: filenames, }) }, - ...jsonRules, - ...secretsRules, - ...mdRules, - ...yamlRules, - ...htmlRules, + ...json, + ...secrets, + ...md, + ...yaml, } module.exports = rules diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a18025e5..3714a75e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,28 +55,32 @@ importers: secretlint: 6.2.3 shell-quote: 1.8.0 sort-package-json: 2.4.1 - turbo: 1.8.1 + turbo: 1.8.2 typescript: 4.9.5 packages/browserslist-config: specifiers: + '@wayofdev/lint-staged-config': workspace:* browserslist: ^4.21.5 rimraf: ^4.1.2 dependencies: browserslist: 4.21.5 devDependencies: + '@wayofdev/lint-staged-config': link:../lint-staged-config rimraf: 4.1.2 packages/commitlint-config: specifiers: '@commitlint/cli': '>= 17' '@commitlint/config-conventional': ^17.4.4 + '@wayofdev/lint-staged-config': workspace:* es-check: ^7.1.0 rimraf: ^4.1.2 dependencies: '@commitlint/cli': 17.4.4 '@commitlint/config-conventional': 17.4.4 devDependencies: + '@wayofdev/lint-staged-config': link:../lint-staged-config es-check: 7.1.0 rimraf: 4.1.2 @@ -173,11 +177,13 @@ importers: packages/htmlhint-config: specifiers: + '@wayofdev/lint-staged-config': workspace:* htmlhint: '>= 1' rimraf: ^4.1.2 dependencies: htmlhint: 1.1.4 devDependencies: + '@wayofdev/lint-staged-config': link:../lint-staged-config rimraf: 4.1.2 packages/lint-staged-config: @@ -201,15 +207,19 @@ importers: packages/markdownlint-config: specifiers: + '@wayofdev/lint-staged-config': workspace:* markdownlint: '>= 0' markdownlint-cli: ^0.33.0 dependencies: markdownlint: 0.27.0 markdownlint-cli: 0.33.0 + devDependencies: + '@wayofdev/lint-staged-config': link:../lint-staged-config packages/postcss-config: specifiers: '@types/postcss-reporter': ^7.0.1 + '@wayofdev/lint-staged-config': workspace:* autoprefixer: ^10.4.13 es-check: ^7.1.0 postcss: ^8.4.21 @@ -234,22 +244,26 @@ importers: tailwindcss: 3.2.7_postcss@8.4.21 devDependencies: '@types/postcss-reporter': 7.0.1 + '@wayofdev/lint-staged-config': link:../lint-staged-config es-check: 7.1.0 packages/secretlint-config: specifiers: '@secretlint/secretlint-rule-preset-recommend': ^6.2.3 + '@wayofdev/lint-staged-config': workspace:* rimraf: ^4.1.2 secretlint: '>= 6' dependencies: '@secretlint/secretlint-rule-preset-recommend': 6.2.3 secretlint: 6.2.3 devDependencies: + '@wayofdev/lint-staged-config': link:../lint-staged-config rimraf: 4.1.2 packages/stylelint-config: specifiers: '@ronilaukkarinen/stylelint-a11y': ^1.2.7 + '@wayofdev/lint-staged-config': workspace:* es-check: ^7.1.0 stylelint: ^14 || ^15 stylelint-config-recommended: ^10.0.1 @@ -268,6 +282,7 @@ importers: stylelint-no-unsupported-browser-features: 6.1.0_stylelint@15.2.0 stylelint-order: 6.0.2_stylelint@15.2.0 devDependencies: + '@wayofdev/lint-staged-config': link:../lint-staged-config es-check: 7.1.0 packages/tsconfig-config: @@ -2590,7 +2605,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001457 - electron-to-chromium: 1.4.305 + electron-to-chromium: 1.4.306 node-releases: 2.0.10 update-browserslist-db: 1.0.10_browserslist@4.21.5 @@ -3341,8 +3356,8 @@ packages: /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /electron-to-chromium/1.4.305: - resolution: {integrity: sha512-WETy6tG0CT5gm1O+xCbyapWNsCcmIvrn4NHViIGYo2AT8FV2qUCXdaB+WqYxSv/vS5mFqhBYnfZAAkVArjBmUg==} + /electron-to-chromium/1.4.306: + resolution: {integrity: sha512-1zGmLFfpcs2v7ELt/1HgLZF6Gm2CCHaAdNKxd9Ge4INSU/HDYWjs7fcWU6eVMmhkpwmh+52ZrGCUU+Ji9OJihA==} /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -8088,65 +8103,65 @@ packages: yargs: 17.7.1 dev: true - /turbo-darwin-64/1.8.1: - resolution: {integrity: sha512-H7pxGF/vsYG7kbY+vB8h+3r8VXn2L6hhYQi0XWA+EjZ1e2zu7+TzEMRWFYmvJPx8TRo5cV5txtg0I22/Y7bxUA==} + /turbo-darwin-64/1.8.2: + resolution: {integrity: sha512-j77U0uOeppENexFsIvvzExADSqMBEeCHnm+6LSNQfaajHSrbUVSTsuD6ZMYHamT6bslc+ZZm21jdecWkwZFBbw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64/1.8.1: - resolution: {integrity: sha512-zMcvplVGluR6v4oJXW7S1/R9QFsHdDkXMhPq8PIdvT3HwTb69ms0MNv7aKiQ0ZFy5D/eKCTyBRUFZvjorZmBqA==} + /turbo-darwin-arm64/1.8.2: + resolution: {integrity: sha512-1NoAvjlwt2wycsAFJouauy9epn9DptSMy6BoGqxJVc4jiibsLepp9qYc4f1/ln0zjd3FR1IvhGOiBfdpqMN7hg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64/1.8.1: - resolution: {integrity: sha512-eJNx8iWDn5Lt8d0221RFd6lBjViLiPCVWNFF5JtqOohgRYplvepY3y/THa1GivMxY4px6zjTiy2oPE/VscVP4w==} + /turbo-linux-64/1.8.2: + resolution: {integrity: sha512-TcT3CRYnBYA46kLGGbGC2jDyCEAvMgVpUdpIZGTmod48EKpZaEfVgTkpa4GJde8W68yRFogPZjPVL3yJHFpXSA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64/1.8.1: - resolution: {integrity: sha512-hFZkm8tq9kLE8tdbOzD6EbNzftdzMR4JEuuoKC6AbTzx1ZsWRvXJ/BGTeSH9/dYYm/wfuIEUiOP7HeXWiZRx7g==} + /turbo-linux-arm64/1.8.2: + resolution: {integrity: sha512-Mb9+KBy4YJzPMZ6WGoMzMVZ6EtueCSvOvgmNpVFgkwbtabfBuaBOvN+irtg4RRSWvJQTDTziLABieocEEXZImQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64/1.8.1: - resolution: {integrity: sha512-o3oDg0lTYZl5KZD3Mi753On2vQT51unIiungoUmHDCeDH5JXfWPFu+6p+GAoIyRwQkZPvaEzMLuUtRgklKcBJw==} + /turbo-windows-64/1.8.2: + resolution: {integrity: sha512-/+R5ikRrw2w2w38JtNPubGLIQHgUC70m783DI9aPgaM5c8P5D/Y0k6HgjuC/uXgiaz2h3R7p7YWlr+2/E0bqyA==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64/1.8.1: - resolution: {integrity: sha512-NDYr2Mra21KOdl18BhMRoH2jQmlu+oqkpqRd+cGB8+c5P0B6LDVCM83cfcXQ+PNqX9S3Y1eZDRENZJx9I03sSw==} + /turbo-windows-arm64/1.8.2: + resolution: {integrity: sha512-s07viz5nXSx4kyiksuPM4FGLRkoaGMaw0BpwFjdRQsl1p+WclUN1IPdokVPKOmFpu5pNCVYlG/raP/mXAEzDCg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo/1.8.1: - resolution: {integrity: sha512-g8RltmG5zd0nYbKpkBQwnTSXTWUiup9+yileQ1TETNzpjxI3TL5k7kt2WkgUHEqR947IPUV+ckIduZHVITJmIQ==} + /turbo/1.8.2: + resolution: {integrity: sha512-G/uJx6bZK5RwTWHsRN/MP0MvXFznmCaL3MQXdSf+OG/q0o8GE7+yivyyWEplWI1Asc8AEN909A/wlIkoz2FKTg==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.8.1 - turbo-darwin-arm64: 1.8.1 - turbo-linux-64: 1.8.1 - turbo-linux-arm64: 1.8.1 - turbo-windows-64: 1.8.1 - turbo-windows-arm64: 1.8.1 + turbo-darwin-64: 1.8.2 + turbo-darwin-arm64: 1.8.2 + turbo-linux-64: 1.8.2 + turbo-linux-arm64: 1.8.2 + turbo-windows-64: 1.8.2 + turbo-windows-arm64: 1.8.2 dev: true /type-check/0.4.0: diff --git a/tsconfig.base.json b/tsconfig.base.json index 00baa54b..dfc51f6c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -2,13 +2,11 @@ "$schema": "https://json.schemastore.org/tsconfig/base.json", "extends": "./packages/tsconfig-config/bases/base.json", "compilerOptions": { + "target": "es6", "useUnknownInCatchVariables": true, "noEmit": true, "moduleResolution": "node", "isolatedModules": true }, - "exclude": [ - "**/node_modules", - "**/.*/" - ] + "exclude": ["**/node_modules", "**/.*/"] }