@ploaness/config 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/biome-core.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.5.11/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.5.13/schema.json",
3
3
  "root": false,
4
4
  "formatter": {
5
5
  "enabled": true,
@@ -114,7 +114,10 @@
114
114
  },
115
115
  "nursery": {
116
116
  "preset": "recommended",
117
- "noImpliedEval": "error"
117
+ "noImpliedEval": "error",
118
+ "useFlatMathMinMax": "off",
119
+ "useModernMathApis": "off",
120
+ "noXorAsExponentiation": "off"
118
121
  }
119
122
  }
120
123
  },
package/biome.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.5.11/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.5.13/schema.json",
3
3
  "root": false,
4
4
  "extends": ["./biome-core.json"],
5
5
  "linter": {
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"AAmIA,QAAA,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAmB,CAAA;AAEjE,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"AAqIA,QAAA,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAmB,CAAA;AAEjE,eAAe,MAAM,CAAA"}
package/dist/vitest.js CHANGED
@@ -47,10 +47,10 @@ const SUITES = [
47
47
  ],
48
48
  },
49
49
  ];
50
- // Every suite carries the guards, because a project gets its own Vite server and inherits nothing from
51
- // the root unless it says so. The plugin is constructed per suite rather than shared: two servers
52
- // holding one plugin instance would share whatever state it keeps.
50
+ // Each suite owns its setup and plugin instances. Disable implicit root inheritance so merging
51
+ // project arrays cannot duplicate setup files or change the order that installs the network guard.
53
52
  const suiteProject = (suite) => ({
53
+ extends: false,
54
54
  plugins: [react()],
55
55
  // Vite resolves the project's path aliases from tsconfig natively, so no extra plugin is needed.
56
56
  resolve: { tsconfigPaths: true },
@@ -86,6 +86,8 @@ const suiteProject = (suite) => ({
86
86
  // declaration file either way.
87
87
  const declared = defineConfig({
88
88
  test: {
89
+ // Vitest resolves the seed and cross-project file order from the root configuration.
90
+ sequence: DETERMINISTIC_SEQUENCE,
89
91
  projects: SUITES.map((suite) => suiteProject(suite)),
90
92
  // Root-only, like coverage below: a reporter reports on the run rather than on one suite.
91
93
  reporters: [...testReporters()],
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ploaness/config",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Analyzer and tool configurations owned by ploaness: ESLint, Biome, TypeScript, Vitest, Stylelint, dependency-cruiser, knip.",
5
5
  "license": "MIT",
6
6
  "author": "Herman Ciechanowiec <herman@ciechanowiec.eu>",
@@ -76,30 +76,30 @@
76
76
  ],
77
77
  "dependencies": {
78
78
  "@axe-core/playwright": "4.13.0",
79
- "@eslint-community/eslint-plugin-eslint-comments": "4.7.2",
79
+ "@eslint-community/eslint-plugin-eslint-comments": "4.8.1",
80
80
  "@eslint/js": "10.0.1",
81
- "@next/eslint-plugin-next": "16.3.4",
82
- "@playwright/test": "1.62.1",
83
- "@ploaness/governance": "1.3.0",
81
+ "@next/eslint-plugin-next": "16.3.5",
82
+ "@playwright/test": "1.63.0",
83
+ "@ploaness/governance": "1.4.0",
84
84
  "@testing-library/jest-dom": "7.0.1",
85
85
  "@testing-library/react": "16.3.3",
86
86
  "@testing-library/user-event": "14.6.7",
87
87
  "@vitejs/plugin-react": "6.1.1",
88
88
  "@vitest/eslint-plugin": "1.6.27",
89
- "eslint": "10.9.1",
89
+ "eslint": "10.10.0",
90
90
  "eslint-config-prettier": "10.1.8",
91
91
  "eslint-plugin-functional": "10.0.0",
92
- "eslint-plugin-jsdoc": "64.2.1",
93
- "eslint-plugin-regexp": "3.2.0",
94
- "eslint-plugin-sonarjs": "4.2.0",
92
+ "eslint-plugin-jsdoc": "64.4.0",
93
+ "eslint-plugin-regexp": "3.3.0",
94
+ "eslint-plugin-sonarjs": "4.2.1",
95
95
  "eslint-plugin-testing-library": "7.16.2",
96
96
  "eslint-plugin-unicorn": "74.0.0",
97
- "fast-check": "4.9.0",
97
+ "fast-check": "4.10.0",
98
98
  "globals": "17.12.0",
99
99
  "jsdom": "30.0.1",
100
100
  "stylelint-config-standard": "40.0.0",
101
- "typescript-eslint": "8.69.0",
102
- "vitest": "4.1.11"
101
+ "typescript-eslint": "8.70.0",
102
+ "vitest": "5.0.1"
103
103
  },
104
104
  "engines": {
105
105
  "node": ">=26"
package/pins.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "requiredFor": ["payload"],
13
13
  "why": "The Payload application itself, and the two packages Payload declares as peers. Only a member that IS a Payload application needs any of them; a frontend reading that application over HTTP needs none.",
14
14
  "versions": {
15
- "payload": "3.88.0",
15
+ "payload": "3.89.0",
16
16
  "sharp": "0.35.4",
17
17
  "graphql": "16.14.2"
18
18
  }
@@ -22,11 +22,11 @@
22
22
  "requiredFor": ["payload", "application"],
23
23
  "why": "What any Next application renders with, whether or not Payload is mounted inside it. A public frontend has the same build, the same client bundle and the same React version to agree about.",
24
24
  "versions": {
25
- "next": "16.3.4",
26
- "react": "19.2.8",
27
- "react-dom": "19.2.8",
28
- "@types/react": "19.2.18",
29
- "@types/react-dom": "19.2.5"
25
+ "next": "16.3.5",
26
+ "react": "19.3.0",
27
+ "react-dom": "19.3.0",
28
+ "@types/react": "19.3.0",
29
+ "@types/react-dom": "19.3.0"
30
30
  }
31
31
  },
32
32
  {
package/stylelint.json CHANGED
@@ -7,6 +7,7 @@
7
7
  "reportInvalidScopeDisables": true,
8
8
  "$comment": "at-rule-no-unknown lists the Tailwind v4 at-rules because they are a CSS dialect a Payload project may legitimately be written in, not a carve-out for one repository's files. A project that uses no Tailwind never writes one, so the list costs it nothing, and a typo such as @theem still fails. The whole list is named rather than the subset one project happened to need: a missing entry sends the next project back to a config file it is not allowed to own, which is the wall this list exists to remove. at-rule-prelude-no-invalid has its own ignore list, so it retains the standard config's media allowance and adds apply: the CSS syntax patch models an abandoned proposal whose prelude is a dashed identifier, while Tailwind writes a utility list. Other at-rule preludes remain validated. import-notation follows for the same reason and is not a relaxation - Tailwind v4 mandates the string form (@import \"tailwindcss\"), so the url form the standard config wants cannot be written at all; the rule still enforces one notation, and the one it enforces is now the one that can exist. lightness-notation and hue-degree-notation are set to the NUMBER form rather than turned off, for the same reason the at-rules above are listed: ploaness admits Tailwind deliberately, and the generator most Tailwind projects theme with writes oklch(1 0 0) rather than oklch(100% 0deg). Demanding the percentage form failed every such project on CSS it never hand-wrote. One notation is still enforced; it is now the one that can actually exist. selector-id-pattern keeps kebab-case for every id a project names and admits the double-underscore roots a framework mounts into - Next renders #__next, and a stylesheet that has to reach it cannot rename it. Turning the rule off would have surrendered the ids a project does choose.",
9
9
  "rules": {
10
+ "selector-no-unmatchable": true,
10
11
  "at-rule-no-unknown": [
11
12
  true,
12
13
  {