mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2026-07-16 18:37:07 -04:00
## What Fresh rollup of minor/patch dependency updates via `npm update -S`, plus a `biome.json` tweak, plus a **node floor move to the latest 22 LTS**. Redo of #8844 on top of current `main`. Notable dep bumps: `@aws-sdk/*` 3.1057→3.1079, `@sentry/*` 10.55→10.63, `webpack` 5.107→5.108, `@biomejs/biome` 2.4.16→2.5.2, `cypress`, `sass`, `lint-staged`, and others. ## biome `!**/*.svg` biome 2.5 now parses `.svg` files as HTML and errors on them (94 errors across `static/**`/`public/**`). Added `!**/*.svg` to the biome ignore list. ## Node floor → 22.23.1 (latest 22 LTS) The update pulled `lint-staged@17.0.8`, which requires node `>=22.22.1` — above our previous declared minimum of `22.12.0`. Per the #8845 `find-node` contract, `.node-version` is the single source of truth whose satisfaction must also satisfy `engines.node` and every dependency. To keep that true, this bumps: - `.node-version` → `22.23.1` - `engines.node` → `>=22.23.1` 22.23.1 is the current latest 22 LTS and is also what CI's `setup-node` (`22.x` + `check-latest`) already resolves to. **Production node should move to match.** Lockfile regenerated cleanly under node 22.23.1 / npm 10.9.8 (CI's toolchain). ## No `webpackJsHack` bump The original #8844 also bumped `webpackJsHack` to dodge a source-map CDN hash collision; #8848 removed that escape hatch entirely (infra#2188 exempted source maps). So this touches no `webpack.config.esm.ts`. ## Note on the earlier biome CI failure An earlier push failed `test` with `Cannot find module '@biomejs/cli-linux-x64/biome'`. Investigated: the lockfile is complete (all 8 platform optional deps present, biome 2.5.2's package metadata is byte-identical to 2.4.16 which passes on `main`), it installs fine under npm 10.9/11.8 locally, and node 22.23.1 satisfies all engines. This is the known nondeterministic npm optional-dependency install flake (npm/cli#4828) under node-22's bundled npm 10.9 — not a lockfile/code defect. It resolves on re-run; the systemic fix (make CI install with the repo's declared `npm@11.2.0` via corepack) is out of scope here. Supersedes #8844. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: mattgodbolt-molty <mattgodbolt-molty@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
110 lines
2.4 KiB
JSON
110 lines
2.4 KiB
JSON
{
|
|
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
|
|
"files": {
|
|
"includes": [
|
|
"cypress/**",
|
|
"docs/**",
|
|
"lib/**",
|
|
"public/**",
|
|
"shared/**",
|
|
"static/**",
|
|
"test/**",
|
|
"types/**",
|
|
"views/**",
|
|
"!static/policies/*.html",
|
|
"!lib/storage/data/**/*",
|
|
"!lib/asm-docs/generated/**/*",
|
|
"!test/**/*.json",
|
|
"!**/*.svg"
|
|
]
|
|
},
|
|
"overrides": [
|
|
{
|
|
"includes": ["static/**", "shared/**"],
|
|
"linter": {
|
|
"rules": {
|
|
"suspicious": {
|
|
"noPrototypeBuiltins": "off"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"linter": {
|
|
"rules": {
|
|
"suspicious": {
|
|
"noExplicitAny": "off",
|
|
"noImplicitAnyLet": "off",
|
|
"noAssignInExpressions": "off",
|
|
"noControlCharactersInRegex": "off",
|
|
"noFallthroughSwitchClause": "off",
|
|
"noDoubleEquals": "off"
|
|
},
|
|
"style": {
|
|
"noParameterAssign": "off",
|
|
"noNonNullAssertion": "off",
|
|
"useImportType": "off",
|
|
"useTemplate": "off"
|
|
},
|
|
"correctness": {
|
|
"noUnsafeOptionalChaining": "off",
|
|
"noUnusedImports": "error",
|
|
"noUnusedFunctionParameters": "off"
|
|
},
|
|
"performance": {
|
|
"noAccumulatingSpread": "off",
|
|
"noDelete": "off"
|
|
},
|
|
"complexity": {
|
|
"noStaticOnlyClass": "off",
|
|
"noForEach": "off",
|
|
"useLiteralKeys": "off",
|
|
"noThisInStatic": "off",
|
|
"useOptionalChain": "off"
|
|
}
|
|
}
|
|
},
|
|
"formatter": {
|
|
"enabled": true,
|
|
"attributePosition": "auto",
|
|
"indentStyle": "space",
|
|
"indentWidth": 4,
|
|
"lineWidth": 120,
|
|
"lineEnding": "lf"
|
|
},
|
|
"javascript": {
|
|
"formatter": {
|
|
"arrowParentheses": "asNeeded",
|
|
"bracketSameLine": false,
|
|
"bracketSpacing": false,
|
|
"quoteProperties": "asNeeded",
|
|
"semicolons": "always",
|
|
"trailingCommas": "all",
|
|
"quoteStyle": "single"
|
|
}
|
|
},
|
|
"assist": {
|
|
"actions": {
|
|
"source": {
|
|
"organizeImports": {
|
|
"level": "on",
|
|
"options": {
|
|
"groups": [
|
|
":NODE:",
|
|
":BLANK_LINE:",
|
|
[":PACKAGE:", ":PACKAGE_WITH_PROTOCOL:", ":URL:"],
|
|
":BLANK_LINE:",
|
|
[":ALIAS:", ":PATH:"]
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"json": {
|
|
"formatter": {
|
|
"indentWidth": 2
|
|
}
|
|
}
|
|
}
|