diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c2e25b7..2a7b9d1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -29,6 +29,10 @@ updates: commit-message: prefix: "(chore)" versioning-strategy: lockfile-only + cooldown: + default-days: 7 + exclude: + - '@yardinternet/*' registries: github: diff --git a/.husky/pre-commit b/.husky/pre-commit index d0a7784..cb2c84d 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -npx lint-staged \ No newline at end of file +pnpm lint-staged diff --git a/.lintstagedrc.json b/.lintstagedrc.json index 4ab3776..c41bb25 100644 --- a/.lintstagedrc.json +++ b/.lintstagedrc.json @@ -3,4 +3,4 @@ "npm run format:js", "npm run lint:js" ] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..74abaa2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,33 @@ +{ + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + }, + "css.validate": false, + "[scss][css][postcss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": { + "source.fixAll.prettier": "explicit", + "source.fixAll.stylelint": "explicit" + } + }, + "[javascript][typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": { + "source.fixAll.prettier": "explicit", + "source.fixAll.eslint": "explicit" + }, + "editor.formatOnPaste": false + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "stylelint.validate": [ "css", "scss", "postcss" ], + "eslint.validate": [ "javascript", "typescript" ], + "eslint.workingDirectories": [ + { + "changeProcessCWD": true, + "mode": "auto" + } + ] +} diff --git a/lerna.json b/lerna.json index fd22f3d..351f74f 100644 --- a/lerna.json +++ b/lerna.json @@ -4,7 +4,7 @@ "npmClient": "pnpm", "command": { "publish": { - "message": "(chore): publish version %v" + "message": "chore: lerna publish" } } } diff --git a/package.json b/package.json index bd3c9cf..767dfe0 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "publishConfig": { "registry": "https://npm.pkg.github.com/@yardinternet" }, - "packageManager": "pnpm@10.33.0", + "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319", "scripts": { "test": "vitest run", "lint:js": "yard-toolkit lint js -m custom ./packages/**/src/**/*.js", @@ -26,11 +26,12 @@ "type": "commonjs", "devDependencies": { "@babel/core": "^7.29.7", - "@babel/eslint-parser": "^7.25.7", + "@babel/eslint-parser": "^7.29.7", "@yardinternet/toolkit": "workspace:*", "husky": "^9.1.7", "lerna": "^9.0.4", - "lint-staged": "^16.2.7", + "lint-staged": "^17.0.7", + "prettier": "npm:wp-prettier@3.0.3", "syncpack": "^14.0.0", "vitest": "^3.2.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 226e664..5dac787 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,11 @@ importers: specifier: ^9.0.4 version: 9.0.7(@types/node@25.9.2)(babel-plugin-macros@3.1.0) lint-staged: - specifier: ^16.2.7 - version: 16.4.0 + specifier: ^17.0.7 + version: 17.0.7 + prettier: + specifier: npm:wp-prettier@3.0.3 + version: wp-prettier@3.0.3 syncpack: specifier: ^14.0.0 version: 14.3.1 @@ -221,6 +224,9 @@ importers: '@yardinternet/stylelint-config': specifier: ^1.1.8 version: 1.1.8(typescript@5.9.3) + '@yardinternet/vite-config': + specifier: ^1.3.5 + version: 1.3.5(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(meow@14.1.0)(optionator@0.9.4)(postcss@8.5.15)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) packages/ts-config: {} @@ -285,7 +291,7 @@ importers: version: 7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0) vite-plugin-checker: specifier: ^0.12.0 - version: 0.12.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + version: 0.12.0(eslint@9.39.4(jiti@2.7.0))(meow@14.1.0)(optionator@0.9.4)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) vite-plugin-dts: specifier: ^4.5.4 version: 4.5.4(@types/node@25.9.2)(rollup@4.61.1)(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) @@ -3837,6 +3843,11 @@ packages: '@yardinternet/stylelint-config@1.1.8': resolution: {integrity: sha512-7H0HyoXRIqNXl6HD+DJGJsySH6AtM81fT+0wW9Z8T8Y56X/cDmzzTkx68iW3achnkWPlO0uzJE/5nUZGcGuXKg==, tarball: https://npm.pkg.github.com/download/@yardinternet/stylelint-config/1.1.8/17ed13dda4c80a9319925232547784b6baa6ce8d} + '@yardinternet/vite-config@1.3.5': + resolution: {integrity: sha512-UR6sWytt/6erhXNM7KX+tL2joZconnHXVXOmwN3mVS+yCzCc9ATIJebl8DEUEKDN9Y8LtSF/5V9VyD4LECHSLA==, tarball: https://npm.pkg.github.com/download/@yardinternet/vite-config/1.3.5/6929714ef14feba26ca85c2b6bb4fb29a656af24} + peerDependencies: + vite: ^7.1.2 + '@yardinternet/vite-plugin-gutenberg-blocks@2.6.1': resolution: {integrity: sha512-pMqK65qzVHd8w1wejDPaYC+wZEoc1JYAQX+VF1EV/dqHWWwKwZFZyqTDgzULyo92vSxIVb7BQXrjojkm+J1WKw==, tarball: https://npm.pkg.github.com/download/@yardinternet/vite-plugin-gutenberg-blocks/2.6.1/ae4552d3e7a9fe68c0cac9b4336dcfa5db6d8a3d} engines: {node: ^18.0.0 || ^20.0.0 || ^22.0.0 || ^24.0.0 || ^25.0.0} @@ -4409,9 +4420,6 @@ packages: colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - colorjs.io@0.6.1: resolution: {integrity: sha512-8lyR2wHzuIykCpqHKgluGsqQi5iDm3/a2IgP2GBZrasn2sBRkE4NOGsglZxWLs/jZQoNkmA/KM/8NV16rLUdBg==} @@ -4438,10 +4446,6 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} - commander@14.0.3: - resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} - engines: {node: '>=20'} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -6287,14 +6291,14 @@ packages: linguist-languages@8.2.0: resolution: {integrity: sha512-KCUUH9x97QWYU0SXOCGxUrZR6cSfuQrMhABB7L/0I8N0LXOeaKe7+RZs7FAwvWCV2qKfZ4Wv1luLq4OfMezSJg==} - lint-staged@16.4.0: - resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==} - engines: {node: '>=20.17'} + lint-staged@17.0.7: + resolution: {integrity: sha512-JrSobt+tW3rH8IOMi8tDZd3foorM5yPEkLD/V2NxobgHrFfHWGee4MOLVuZeScgxftEwbHrPHIFA/ZL+nUJeuA==} + engines: {node: '>=22.22.1'} hasBin: true - listr2@9.0.5: - resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} - engines: {node: '>=20.0.0'} + listr2@10.2.1: + resolution: {integrity: sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==} + engines: {node: '>=22.13.0'} load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} @@ -8921,6 +8925,10 @@ packages: engines: {node: '>=14'} hasBin: true + wrap-ansi@10.0.0: + resolution: {integrity: sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==} + engines: {node: '>=20'} + wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} @@ -13722,6 +13730,39 @@ snapshots: - typescript optional: true + '@yardinternet/vite-config@1.3.5(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(meow@14.1.0)(optionator@0.9.4)(postcss@8.5.15)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0))': + dependencies: + '@roots/vite-plugin': 1.3.1(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0))(webpack@5.107.2(lightningcss@1.32.0)(postcss@8.5.15)) + '@tailwindcss/vite': 4.3.0(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + '@vitejs/plugin-react': 5.2.0(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + '@yardinternet/vite-plugin-gutenberg-blocks': 2.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + chalk: 5.6.2 + laravel-vite-plugin: 2.1.0(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + postcss-prefixwrap: 1.58.0(postcss@8.5.15) + vite: 7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0) + vite-plugin-checker: 0.12.0(eslint@9.39.4(jiti@2.7.0))(meow@14.1.0)(optionator@0.9.4)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + vite-plugin-dts: 4.5.4(@types/node@25.9.2)(rollup@4.61.1)(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + vite-plugin-externals: 0.6.2(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)) + optionalDependencies: + '@rollup/rollup-linux-x64-gnu': 4.61.1 + transitivePeerDependencies: + - '@biomejs/biome' + - '@types/node' + - eslint + - meow + - optionator + - oxlint + - postcss + - rollup + - stylelint + - supports-color + - typescript + - vls + - vti + - vue-tsc + - webpack + optional: true + '@yardinternet/vite-plugin-gutenberg-blocks@2.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0))': dependencies: chalk: 5.6.2 @@ -14362,8 +14403,6 @@ snapshots: colord@2.9.3: {} - colorette@2.0.20: {} - colorjs.io@0.6.1: {} columnify@1.6.0: @@ -14383,8 +14422,6 @@ snapshots: commander@12.1.0: {} - commander@14.0.3: {} - commander@2.20.3: {} commander@4.1.1: {} @@ -15071,7 +15108,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.13.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@4.4.5(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.61.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)): + eslint-module-utils@2.13.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@4.4.5)(eslint@9.39.4(jiti@2.7.0)): dependencies: debug: 3.2.7 optionalDependencies: @@ -15103,7 +15140,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.13.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@4.4.5(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.61.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) + eslint-module-utils: 2.13.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@4.4.5)(eslint@9.39.4(jiti@2.7.0)) hasown: 2.0.4 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -16464,23 +16501,22 @@ snapshots: linguist-languages@8.2.0: {} - lint-staged@16.4.0: + lint-staged@17.0.7: dependencies: - commander: 14.0.3 - listr2: 9.0.5 + listr2: 10.2.1 picomatch: 4.0.4 string-argv: 0.3.2 tinyexec: 1.2.4 + optionalDependencies: yaml: 2.9.0 - listr2@9.0.5: + listr2@10.2.1: dependencies: cli-truncate: 5.2.0 - colorette: 2.0.20 eventemitter3: 5.0.4 log-update: 6.1.0 rfdc: 1.4.1 - wrap-ansi: 9.0.2 + wrap-ansi: 10.0.0 load-json-file@4.0.0: dependencies: @@ -19239,7 +19275,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.12.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)): + vite-plugin-checker@0.12.0(eslint@9.39.4(jiti@2.7.0))(meow@14.1.0)(optionator@0.9.4)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(vite@7.3.5(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.100.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.9.0)): dependencies: '@babel/code-frame': 7.29.7 chokidar: 4.0.3 @@ -19252,6 +19288,7 @@ snapshots: vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.7.0) + meow: 14.1.0 optionator: 0.9.4 stylelint: 17.13.0(typescript@5.9.3) typescript: 5.9.3 @@ -19556,6 +19593,12 @@ snapshots: wp-prettier@3.0.3: {} + wrap-ansi@10.0.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 8.2.1 + strip-ansi: 7.2.0 + wrap-ansi@5.1.0: dependencies: ansi-styles: 3.2.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b85884c..22be589 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -10,3 +10,7 @@ publicHoistPattern: - '@eslint/*' - '@typescript-eslint/*' - '@wordpress/eslint-plugin' + +minimumReleaseAge: 10080 +minimumReleaseAgeExclude: + - '@yardinternet/*'