mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2026-07-16 17:26:58 -04:00
Bumps the remaining major-version dependencies. **golden-layout is deliberately excluded** (we depend on its internals too heavily for the 1.x → 2.x jump). Each bump is its own commit, verified independently (ts-check, lint, unit tests, and where relevant the webpack build + cypress). ## Included - **TypeScript 6.0** — pin `ignoreDeprecations: "6.0"` (downlevelIteration + the frontend's `es5` target are deprecated-but-functional until TS7), pin the frontend to `module=commonjs`/`moduleResolution=node` (TS6's new esnext/bundler defaults break deep monaco esm imports), and declare `*.css`/`*.scss` side-effect modules (`noUncheckedSideEffectImports` now defaults true). - **marked 18** — no code changes; only use is the Claude-explain view. - **Build chain**: webpack-cli 7 (renamed `--node-env` → `--config-node-env` in the `webpack` script), webpack-dev-middleware 8, sass-loader 17. - **zod 4** — only used by the MCP tool schemas via stable primitives; MCP SDK already supports `^3.25 || ^4.0`. - **lint-staged 17** — dev tooling; pre-commit pipeline exercised. - **commander 15** — both CLI entrypoints use options only; v15's stricter excess-args default only tightens rejection of stray positionals. Requires Node ≥22.12. - **enhanced-ms 5**, **which 7** — small utilities, APIs unchanged. ## Node floor bump — split into its own PR The first commit (`Bump Node floor to v22`: `engines >=22` + `find-node` `NODE_MIN_VERSION=22`) is **isolated and intended to be cherry-picked into a separate PR**. It aligns the declared floor with production (Node 22.13.1) and is a prerequisite for commander 15 (needs ≥22.12). ## Follow-ups (not in this PR) - The `es5 → es2015` frontend migration, required before TS7 (currently bridged by `ignoreDeprecations`). ## Testing - Local: ts-check, lint, full unit suite, production webpack build, and cypress (81 specs) all pass. - Pre-existing: 13 `dontMaskFilenames` filter snapshots fail **locally only** (a local /tmp path leaks into output where the snapshot expects a clean `example.cpp`); they fail identically on `main` and pass in CI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
175 lines
5.9 KiB
JSON
175 lines
5.9 KiB
JSON
{
|
|
"name": "compiler-explorer",
|
|
"description": "Interactively investigate compiler output",
|
|
"type": "module",
|
|
"private": true,
|
|
"author": {
|
|
"name": "Matt Godbolt",
|
|
"email": "matt@godbolt.org",
|
|
"url": "https://xania.org"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "compiler-explorer/compiler-explorer"
|
|
},
|
|
"version": "0.0.3",
|
|
"engines": {
|
|
"node": ">=22.12.0"
|
|
},
|
|
"main": "./app.ts",
|
|
"dependencies": {
|
|
"@aws-sdk/client-dynamodb": "^3.1057.0",
|
|
"@aws-sdk/client-ec2": "^3.1057.0",
|
|
"@aws-sdk/client-s3": "^3.1057.0",
|
|
"@aws-sdk/client-sqs": "^3.1057.0",
|
|
"@aws-sdk/client-ssm": "^3.1057.0",
|
|
"@aws-sdk/credential-providers": "^3.1057.0",
|
|
"@flatten-js/interval-tree": "^2.0.3",
|
|
"@fortawesome/fontawesome-free": "^7.2.0",
|
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
"@orchidjs/sifter": "^1.1.0",
|
|
"@popperjs/core": "^2.11.8",
|
|
"@sentry/browser": "^10.55.0",
|
|
"@sentry/node": "^10.55.0",
|
|
"@types/semver": "^7.7.1",
|
|
"big-integer": "^1.6.52",
|
|
"bootstrap": "^5.3.8",
|
|
"buffer": "^6.0.3",
|
|
"chart.js": "^4.5.1",
|
|
"clipboard": "^2.0.11",
|
|
"commander": "^15.0.0",
|
|
"compression": "^1.8.1",
|
|
"copy-webpack-plugin": "^14.0.0",
|
|
"cross-env": "^10.1.0",
|
|
"enhanced-ms": "^5.0.0",
|
|
"events": "^3.3.0",
|
|
"express": "^5.2.1",
|
|
"file-saver": "^2.0.5",
|
|
"golden-layout": "^1.5.9",
|
|
"http-proxy": "^1.18.1",
|
|
"jquery": "^4.0.0",
|
|
"js-cookie": "^3.0.8",
|
|
"jszip": "^3.10.1",
|
|
"lodash.clonedeep": "^4.5.0",
|
|
"lru-cache": "^11.5.1",
|
|
"lz-string": "^1.5.0",
|
|
"marked": "^18.0.4",
|
|
"monaco-editor": "^0.55.1",
|
|
"monaco-vim": "^0.4.4",
|
|
"morgan": "^1.10.1",
|
|
"node-targz": "^0.2.0",
|
|
"p-queue": "^9.3.0",
|
|
"path-browserify": "^1.0.1",
|
|
"profanities": "^3.0.1",
|
|
"prom-client": "^15.1.3",
|
|
"pug": "^3.0.4",
|
|
"response-time": "^2.3.4",
|
|
"sanitize-filename": "^1.6.4",
|
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
"semver": "^7.8.1",
|
|
"systemd-socket": "0.0.0",
|
|
"tar-stream": "^3.2.0",
|
|
"tom-select": "^2.6.1",
|
|
"tree-kill": "^1.2.2",
|
|
"triple-beam": "^1.4.1",
|
|
"tsx": "^4.22.4",
|
|
"underscore": "^1.13.8",
|
|
"url-join": "^5.0.0",
|
|
"whatwg-fetch": "^3.6.20",
|
|
"which": "^6.0.1",
|
|
"winston": "^3.19.0",
|
|
"winston-loki": "^6.1.4",
|
|
"winston-papertrail": "^1.0.5",
|
|
"winston-transport": "^4.9.0",
|
|
"ws": "^8.21.0",
|
|
"yaml": "^2.9.0",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.4.16",
|
|
"@sentry/types": "^10.55.0",
|
|
"@smithy/util-stream": "^4.6.5",
|
|
"@types/bootstrap": "^5.2.10",
|
|
"@types/chai": "^5.2.3",
|
|
"@types/compression": "^1.8.1",
|
|
"@types/express": "^5.0.6",
|
|
"@types/file-saver": "^2.0.7",
|
|
"@types/http-proxy": "^1.17.17",
|
|
"@types/jquery": "^4.0.0",
|
|
"@types/js-cookie": "^3.0.6",
|
|
"@types/node-targz": "^0.2.4",
|
|
"@types/request": "^2.48.13",
|
|
"@types/response-time": "^2.3.9",
|
|
"@types/supertest": "^7.2.0",
|
|
"@types/temp": "^0.9.4",
|
|
"@types/underscore": "^1.13.0",
|
|
"@types/webpack-env": "^1.18.8",
|
|
"@types/which": "^3.0.4",
|
|
"@types/ws": "^8.18.1",
|
|
"@vitest/coverage-v8": "^4.1.2",
|
|
"aws-sdk-client-mock": "^4.1.0",
|
|
"cheerio": "^1.2.0",
|
|
"css-loader": "^7.1.4",
|
|
"css-minimizer-webpack-plugin": "^8.0.0",
|
|
"cypress": "^15.16.0",
|
|
"file-loader": "^6.2.0",
|
|
"happy-dom": "^20.9.0",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^17.0.7",
|
|
"mini-css-extract-plugin": "^2.10.2",
|
|
"mock-fs": "^5.5.0",
|
|
"monaco-editor-webpack-plugin": "^7.1.1",
|
|
"nock": "^14.0.15",
|
|
"npm-run-all": "^4.1.5",
|
|
"sass": "^1.100.0",
|
|
"sass-loader": "^17.0.0",
|
|
"source-map-loader": "^5.0.0",
|
|
"supertest": "^7.2.2",
|
|
"terser-webpack-plugin": "^5.6.1",
|
|
"ts-loader": "^9.6.0",
|
|
"typescript": "^6.0.3",
|
|
"vitest": "^4.0.1",
|
|
"vitest-fetch-mock": "^0.4.5",
|
|
"webpack": "^5.107.2",
|
|
"webpack-cli": "^7.0.3",
|
|
"webpack-dev-middleware": "^8.0.3",
|
|
"webpack-manifest-plugin": "^6.0.1"
|
|
},
|
|
"optionalDependencies": {
|
|
"@rollup/rollup-darwin-arm64": "^4.61.0",
|
|
"@rollup/rollup-darwin-x64": "^4.61.0",
|
|
"@rollup/rollup-linux-x64-gnu": "^4.61.0",
|
|
"@rollup/rollup-linux-x64-musl": "^4.61.0",
|
|
"@rollup/rollup-win32-x64-msvc": "^4.61.0"
|
|
},
|
|
"scripts": {
|
|
"cypress": "cypress run",
|
|
"lint": "biome check . --write",
|
|
"lint-check": "biome check .",
|
|
"test-coverage": "vitest run --coverage",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test-min": "cross-env SKIP_EXPENSIVE_TESTS=true vitest run",
|
|
"test:props": "vitest run --reporter=dot properties-validation-tests.ts",
|
|
"check": "npm run ts-check && npm run lint-check && npm run check-frontend-imports && npm run test-min -- --reporter dot",
|
|
"check-frontend-imports": "node ./etc/scripts/check-frontend-imports.js",
|
|
"dev": "cross-env NODE_ENV=DEV node --no-warnings=ExperimentalWarning --import=tsx app.ts",
|
|
"debugger": "cross-env NODE_ENV=DEV node --import=tsx --inspect-brk app.ts",
|
|
"debug": "cross-env NODE_ENV=DEV node --no-warnings=ExperimentalWarning --import=tsx app.ts --debug",
|
|
"start": "npm run webpack && cross-env NODE_ENV=LOCAL node --no-warnings=ExperimentalWarning --import=tsx app.ts",
|
|
"sentry": "npx -p @sentry/cli sentry-cli",
|
|
"update-browserslist": "npx update-browserslist-db@latest",
|
|
"prepare": "husky",
|
|
"ts-compile": "tsc",
|
|
"ts-check": "npm-run-all ts-check:*",
|
|
"ts-check:backend": "tsc -p ./tsconfig.backend.json --noEmit",
|
|
"ts-check:frontend": "tsc -p ./tsconfig.frontend.json --noEmit",
|
|
"ts-check:tests": "tsc -p ./tsconfig.tests.json --noEmit",
|
|
"ts-check:frontend-tests": "tsc -p ./tsconfig.frontend.tests.json --noEmit",
|
|
"ts-check:cypress": "tsc -p ./cypress/tsconfig.json --noEmit",
|
|
"webpack": "node --no-warnings=ExperimentalWarning --import=tsx ./node_modules/webpack-cli/bin/cli.js --config-node-env=production --config webpack.config.esm.ts"
|
|
},
|
|
"license": "BSD-2-Clause",
|
|
"packageManager": "npm@11.2.0"
|
|
}
|