Files
compiler-explorer/biome.json
Matt Godbolt (bot acct) 40f82039a6 Rollup of dependency updates + move node floor to 22 LTS (#8885)
## 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>
2026-07-02 14:57:06 -05:00

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
}
}
}