From 109871448f3c5971ae1394f88ffeee826d700f11 Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Wed, 17 Jun 2026 12:41:08 +0200 Subject: [PATCH 1/9] feat: add minimum release age supply-chain rules --- pnpm-workspace.yaml | 4 ++++ 1 file changed, 4 insertions(+) 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/*' From 40914dcde02805f89f932dc773ede29545b5de93 Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Wed, 17 Jun 2026 12:45:30 +0200 Subject: [PATCH 2/9] chore: add Corepack integrity hash to packageManager --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bd3c9cf..899c322 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", From 41e2c61ab84ceb58d1d589a68e9cbc35bf88bf74 Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Wed, 17 Jun 2026 20:37:25 +0200 Subject: [PATCH 3/9] fix: pin prettier to wp-prettier so format keeps parenSpacing --- package.json | 1 + pnpm-lock.yaml | 82 +++++++++++++++++++++++++++++++++++--------------- 2 files changed, 58 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 899c322..7710521 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "devDependencies": { "@babel/core": "^7.29.7", "@babel/eslint-parser": "^7.25.7", + "prettier": "npm:wp-prettier@3.0.3", "@yardinternet/toolkit": "workspace:*", "husky": "^9.1.7", "lerna": "^9.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 226e664..46018ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,6 +26,9 @@ importers: lint-staged: specifier: ^16.2.7 version: 16.4.0 + prettier: + specifier: npm:wp-prettier@3.0.3 + version: wp-prettier@3.0.3 syncpack: specifier: ^14.0.0 version: 14.3.1 @@ -58,7 +61,7 @@ importers: version: 8.61.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@wordpress/eslint-plugin': specifier: ^24.5.0 - version: 24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3) + version: 24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)(wp-prettier@3.0.3) eslint-config-prettier: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.4(jiti@2.7.0)) @@ -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} @@ -12906,31 +12917,31 @@ snapshots: '@wordpress/escape-html@3.48.0': {} - '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)': + '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(wp-prettier@3.0.3)': dependencies: '@babel/core': 7.29.7 '@babel/eslint-parser': 7.25.7(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0)) '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@typescript-eslint/parser': 6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@wordpress/babel-preset-default': 8.48.0 - '@wordpress/prettier-config': 4.48.0(prettier@3.8.1) + '@wordpress/prettier-config': 4.48.0(wp-prettier@3.0.3) '@wordpress/theme': 0.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint@17.13.0(typescript@5.9.3)) cosmiconfig: 7.1.0 eslint: 9.39.4(jiti@2.7.0) eslint-config-prettier: 8.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-import-resolver-typescript: 4.4.5(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.5)(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.60.1(@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))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint-plugin-jsdoc: 46.10.1(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-playwright: 0.15.3(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-prettier: 5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1) + eslint-plugin-prettier: 5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(wp-prettier@3.0.3) eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react-hooks: 4.6.2(eslint@9.39.4(jiti@2.7.0)) globals: 13.24.0 requireindex: 1.2.0 optionalDependencies: - prettier: 3.8.1 + prettier: wp-prettier@3.0.3 typescript: 5.9.3 transitivePeerDependencies: - '@types/eslint' @@ -12942,7 +12953,7 @@ snapshots: - stylelint - supports-color - '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(wp-prettier@3.0.3)': + '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)(wp-prettier@3.0.3)': dependencies: '@babel/core': 7.29.7 '@babel/eslint-parser': 7.25.7(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0)) @@ -12956,7 +12967,7 @@ snapshots: eslint-config-prettier: 8.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-import-resolver-typescript: 4.4.5(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.5)(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.60.1(@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))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint-plugin-jsdoc: 46.10.1(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-playwright: 0.15.3(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)) @@ -13357,10 +13368,6 @@ snapshots: - stylelint - supports-color - '@wordpress/prettier-config@4.48.0(prettier@3.8.1)': - dependencies: - prettier: 3.8.1 - '@wordpress/prettier-config@4.48.0(wp-prettier@3.0.3)': dependencies: prettier: wp-prettier@3.0.3 @@ -13722,6 +13729,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 @@ -15071,7 +15111,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 +15143,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 @@ -15210,15 +15250,6 @@ snapshots: optionalDependencies: eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.60.1(@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))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - eslint-plugin-prettier@5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1): - dependencies: - eslint: 9.39.4(jiti@2.7.0) - prettier: 3.8.1 - prettier-linter-helpers: 1.0.1 - synckit: 0.11.13 - optionalDependencies: - eslint-config-prettier: 8.10.2(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-prettier@5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(wp-prettier@3.0.3): dependencies: eslint: 9.39.4(jiti@2.7.0) @@ -19239,7 +19270,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 +19283,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 From 1fb209d3b48eb2f8c308ad57e5105bc4ce074397 Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Thu, 18 Jun 2026 09:56:38 +0200 Subject: [PATCH 4/9] fix: lerna publish changes. body contains versions --- lerna.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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" } } } From 4decb7e7f2b586637ebbdd74fbdd6b2cf53dbccf Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Thu, 18 Jun 2026 15:19:58 +0200 Subject: [PATCH 5/9] chore: add 7-day dependabot cooldown for npm updates Mirrors the pnpm minimumReleaseAge policy: hold new dependency versions for 7 days before opening update PRs, excluding @yardinternet/* packages. --- .github/dependabot.yml | 4 ++++ .husky/pre-commit | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) delete mode 100644 .husky/pre-commit 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 deleted file mode 100644 index d0a7784..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -npx lint-staged \ No newline at end of file From 5937293d0f6c778d9456eb4d390ec88938177864 Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Thu, 18 Jun 2026 15:20:17 +0200 Subject: [PATCH 6/9] chore: run lint, format check and tests on pre-push instead of pre-commit Remove the pre-commit hook so commits are instant, and move the quality gate to pre-push via a single "verify" script that runs lint:js, the new check-only format:check:js, and tests. Any failure cancels the push. --- .husky/pre-push | 2 +- package.json | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.husky/pre-push b/.husky/pre-push index 98475b5..347ade0 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1 +1 @@ -pnpm test +pnpm verify diff --git a/package.json b/package.json index 7710521..4188250 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,8 @@ "test": "vitest run", "lint:js": "yard-toolkit lint js -m custom ./packages/**/src/**/*.js", "format:js": "yard-toolkit format js -m custom ./packages/**/*.js", + "format:check:js": "prettier --check \"./packages/**/*.js\"", + "verify": "pnpm lint:js && pnpm format:check:js && pnpm test", "dep:check": "syncpack list-mismatches", "dep:fix": "syncpack fix-mismatches", "dep:outdated": "pnpm outdated --recursive", From a1640470ffbeb504bcc194a93f923420fbd711dd Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Thu, 18 Jun 2026 15:20:24 +0200 Subject: [PATCH 7/9] chore: add VS Code settings for format-on-save and lint fixes Enable prettier format-on-save and eslint/stylelint fix-on-save so formatting is handled in-editor, complementing the pre-push gate. --- .vscode/settings.json | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..61e8d1a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,32 @@ +{ + "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" + }, + "editor.formatOnPaste": false + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "stylelint.validate": [ "css", "scss", "postcss" ], + "eslint.validate": [ "javascript", "typescript" ], + "eslint.workingDirectories": [ + { + "changeProcessCWD": true, + "mode": "auto" + } + ] +} From c5f7e41fca88ffab89368fd7ed360651ec0bebbe Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Fri, 19 Jun 2026 18:26:13 +0200 Subject: [PATCH 8/9] fix: keep eslint autofix-on-save for js/ts in VS Code settings --- .vscode/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 61e8d1a..74abaa2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,7 +14,8 @@ "[javascript][typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { - "source.fixAll.prettier": "explicit" + "source.fixAll.prettier": "explicit", + "source.fixAll.eslint": "explicit" }, "editor.formatOnPaste": false }, From 61d174d5acad60c20116d8652bfaa963b75aa030 Mon Sep 17 00:00:00 2001 From: Wybe van den Bosch Date: Fri, 19 Jun 2026 18:26:13 +0200 Subject: [PATCH 9/9] fix: run non-fixing lint in verify and drop unused lint-staged --- .lintstagedrc.json | 6 -- package.json | 4 +- pnpm-lock.yaml | 203 +++++---------------------------------------- 3 files changed, 23 insertions(+), 190 deletions(-) delete mode 100644 .lintstagedrc.json diff --git a/.lintstagedrc.json b/.lintstagedrc.json deleted file mode 100644 index 4ab3776..0000000 --- a/.lintstagedrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "*.js": [ - "npm run format:js", - "npm run lint:js" - ] -} \ No newline at end of file diff --git a/package.json b/package.json index 4188250..7396f03 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,10 @@ "scripts": { "test": "vitest run", "lint:js": "yard-toolkit lint js -m custom ./packages/**/src/**/*.js", + "lint:check:js": "yard-toolkit lint js --no-fix -m custom ./packages/**/src/**/*.js", "format:js": "yard-toolkit format js -m custom ./packages/**/*.js", "format:check:js": "prettier --check \"./packages/**/*.js\"", - "verify": "pnpm lint:js && pnpm format:check:js && pnpm test", + "verify": "pnpm lint:check:js && pnpm format:check:js && pnpm test", "dep:check": "syncpack list-mismatches", "dep:fix": "syncpack fix-mismatches", "dep:outdated": "pnpm outdated --recursive", @@ -33,7 +34,6 @@ "@yardinternet/toolkit": "workspace:*", "husky": "^9.1.7", "lerna": "^9.0.4", - "lint-staged": "^16.2.7", "syncpack": "^14.0.0", "vitest": "^3.2.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 46018ab..ad9cf20 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,9 +23,6 @@ importers: lerna: 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 prettier: specifier: npm:wp-prettier@3.0.3 version: wp-prettier@3.0.3 @@ -61,7 +58,7 @@ importers: version: 8.61.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@wordpress/eslint-plugin': specifier: ^24.5.0 - version: 24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)(wp-prettier@3.0.3) + version: 24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3) eslint-config-prettier: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.4(jiti@2.7.0)) @@ -3968,10 +3965,6 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - ansi-escapes@7.3.0: - resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} - engines: {node: '>=18'} - ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -4346,18 +4339,10 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} - cli-spinners@2.6.1: resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} engines: {node: '>=6'} - cli-truncate@5.2.0: - resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==} - engines: {node: '>=20'} - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -4420,9 +4405,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==} @@ -4449,10 +4431,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==} @@ -4857,9 +4835,6 @@ packages: electron-to-chromium@1.5.368: resolution: {integrity: sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==} - emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} - emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -4908,10 +4883,6 @@ packages: engines: {node: '>=4'} hasBin: true - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - equivalent-key-map@0.2.2: resolution: {integrity: sha512-xvHeyCDbZzkpN4VHQj/n+j2lOwL0VWszG30X4cOrc9Y7Tuo2qCdZK/0AMod23Z5dCtNUbaju6p0rwOhHUk05ew==} @@ -5209,9 +5180,6 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -5876,10 +5844,6 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-fullwidth-code-point@5.1.0: - resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} - engines: {node: '>=18'} - is-generator-function@1.1.2: resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} @@ -6298,15 +6262,6 @@ 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'} - hasBin: true - - listr2@9.0.5: - resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} - engines: {node: '>=20.0.0'} - load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -6367,10 +6322,6 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - log-update@6.1.0: - resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} - engines: {node: '>=18'} - loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -6544,10 +6495,6 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -6864,10 +6811,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} - open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -7777,10 +7720,6 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} - restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} - retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -7789,9 +7728,6 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.61.1: resolution: {integrity: sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -7983,14 +7919,6 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - slice-ansi@7.1.2: - resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} - engines: {node: '>=18'} - - slice-ansi@8.0.0: - resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==} - engines: {node: '>=20'} - smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -8113,10 +8041,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} - string-width@8.2.1: resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} engines: {node: '>=20'} @@ -8414,10 +8338,6 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} - engines: {node: '>=18'} - tinyglobby@0.2.12: resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} engines: {node: '>=12.0.0'} @@ -8948,10 +8868,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrap-ansi@9.0.2: - resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} - engines: {node: '>=18'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -12917,31 +12833,31 @@ snapshots: '@wordpress/escape-html@3.48.0': {} - '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(wp-prettier@3.0.3)': + '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)': dependencies: '@babel/core': 7.29.7 '@babel/eslint-parser': 7.25.7(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0)) '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@typescript-eslint/parser': 6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@wordpress/babel-preset-default': 8.48.0 - '@wordpress/prettier-config': 4.48.0(wp-prettier@3.0.3) + '@wordpress/prettier-config': 4.48.0(prettier@3.8.1) '@wordpress/theme': 0.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint@17.13.0(typescript@5.9.3)) cosmiconfig: 7.1.0 eslint: 9.39.4(jiti@2.7.0) eslint-config-prettier: 8.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-import-resolver-typescript: 4.4.5(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.5)(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.60.1(@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))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint-plugin-jsdoc: 46.10.1(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-playwright: 0.15.3(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-prettier: 5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(wp-prettier@3.0.3) + eslint-plugin-prettier: 5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1) eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react-hooks: 4.6.2(eslint@9.39.4(jiti@2.7.0)) globals: 13.24.0 requireindex: 1.2.0 optionalDependencies: - prettier: wp-prettier@3.0.3 + prettier: 3.8.1 typescript: 5.9.3 transitivePeerDependencies: - '@types/eslint' @@ -12953,7 +12869,7 @@ snapshots: - stylelint - supports-color - '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)(wp-prettier@3.0.3)': + '@wordpress/eslint-plugin@24.5.0(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(stylelint@17.13.0(typescript@5.9.3))(typescript@5.9.3)(wp-prettier@3.0.3)': dependencies: '@babel/core': 7.29.7 '@babel/eslint-parser': 7.25.7(@babel/core@7.29.7)(eslint@9.39.4(jiti@2.7.0)) @@ -12967,7 +12883,7 @@ snapshots: eslint-config-prettier: 8.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-import-resolver-typescript: 4.4.5(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.5)(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.60.1(@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))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint-plugin-jsdoc: 46.10.1(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-playwright: 0.15.3(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)) @@ -13368,6 +13284,10 @@ snapshots: - stylelint - supports-color + '@wordpress/prettier-config@4.48.0(prettier@3.8.1)': + dependencies: + prettier: 3.8.1 + '@wordpress/prettier-config@4.48.0(wp-prettier@3.0.3)': dependencies: prettier: wp-prettier@3.0.3 @@ -13868,10 +13788,6 @@ snapshots: ansi-colors@4.1.3: {} - ansi-escapes@7.3.0: - dependencies: - environment: 1.1.0 - ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} @@ -14327,17 +14243,8 @@ snapshots: dependencies: restore-cursor: 3.1.0 - cli-cursor@5.0.0: - dependencies: - restore-cursor: 5.1.0 - cli-spinners@2.6.1: {} - cli-truncate@5.2.0: - dependencies: - slice-ansi: 8.0.0 - string-width: 8.2.1 - cli-width@4.1.0: {} client-zip@2.5.0: {} @@ -14402,8 +14309,6 @@ snapshots: colord@2.9.3: {} - colorette@2.0.20: {} - colorjs.io@0.6.1: {} columnify@1.6.0: @@ -14423,8 +14328,6 @@ snapshots: commander@12.1.0: {} - commander@14.0.3: {} - commander@2.20.3: {} commander@4.1.1: {} @@ -14841,8 +14744,6 @@ snapshots: electron-to-chromium@1.5.368: {} - emoji-regex@10.6.0: {} - emoji-regex@7.0.3: {} emoji-regex@8.0.0: {} @@ -14878,8 +14779,6 @@ snapshots: envinfo@7.13.0: {} - environment@1.1.0: {} - equivalent-key-map@0.2.2: {} err-code@2.0.3: {} @@ -15250,6 +15149,15 @@ snapshots: optionalDependencies: eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.60.1(@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))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-prettier@5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(prettier@3.8.1): + dependencies: + eslint: 9.39.4(jiti@2.7.0) + prettier: 3.8.1 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.13 + optionalDependencies: + eslint-config-prettier: 8.10.2(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-prettier@5.5.6(eslint-config-prettier@8.10.2(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(wp-prettier@3.0.3): dependencies: eslint: 9.39.4(jiti@2.7.0) @@ -15387,8 +15295,6 @@ snapshots: eventemitter3@4.0.7: {} - eventemitter3@5.0.4: {} - events@3.3.0: {} execa@5.0.0: @@ -16046,10 +15952,6 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-fullwidth-code-point@5.1.0: - dependencies: - get-east-asian-width: 1.6.0 - is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 @@ -16495,24 +16397,6 @@ snapshots: linguist-languages@8.2.0: {} - lint-staged@16.4.0: - dependencies: - commander: 14.0.3 - listr2: 9.0.5 - picomatch: 4.0.4 - string-argv: 0.3.2 - tinyexec: 1.2.4 - yaml: 2.9.0 - - listr2@9.0.5: - 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 - load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 @@ -16574,14 +16458,6 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - log-update@6.1.0: - dependencies: - ansi-escapes: 7.3.0 - cli-cursor: 5.0.0 - slice-ansi: 7.1.2 - strip-ansi: 7.2.0 - wrap-ansi: 9.0.2 - loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -16882,8 +16758,6 @@ snapshots: mimic-fn@2.1.0: {} - mimic-function@5.0.1: {} - min-indent@1.0.1: {} minimatch@10.2.3: @@ -17346,10 +17220,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 - open@7.4.2: dependencies: is-docker: 2.2.1 @@ -18236,17 +18106,10 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 - restore-cursor@5.1.0: - dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 - retry@0.12.0: {} reusify@1.1.0: {} - rfdc@1.4.1: {} - rollup@4.61.1: dependencies: '@types/estree': 1.0.9 @@ -18489,16 +18352,6 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - slice-ansi@7.1.2: - dependencies: - ansi-styles: 6.2.3 - is-fullwidth-code-point: 5.1.0 - - slice-ansi@8.0.0: - dependencies: - ansi-styles: 6.2.3 - is-fullwidth-code-point: 5.1.0 - smart-buffer@4.2.0: {} smol-toml@1.6.1: {} @@ -18616,12 +18469,6 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.2.0 - string-width@7.2.0: - dependencies: - emoji-regex: 10.6.0 - get-east-asian-width: 1.6.0 - strip-ansi: 7.2.0 - string-width@8.2.1: dependencies: get-east-asian-width: 1.6.0 @@ -18967,8 +18814,6 @@ snapshots: tinyexec@0.3.2: {} - tinyexec@1.2.4: {} - tinyglobby@0.2.12: dependencies: fdir: 6.5.0(picomatch@4.0.4) @@ -19612,12 +19457,6 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.2.0 - wrap-ansi@9.0.2: - dependencies: - ansi-styles: 6.2.3 - string-width: 7.2.0 - strip-ansi: 7.2.0 - wrappy@1.0.2: {} write-file-atomic@5.0.1: