angular/package.json
Charles Lyding 3089ab4ac1 build: update minimum development Node.js versions (#60080)
With Node.js v18 approaching End-of-Life on 2025-04-30, the minimum
supported versions for development have been updated to `^20.11.1 || ^22.11.0`.
This change does not affect published packages.

The custom ESM loader was disabled in several Node.js jasmine tests due
to incompatibilities with the updated custom loader API in newer Node.js
versions. The API in v18 was not considered stable. The rules_js migration
will remove the need for this loader fully in future.

PR Close #60080
2025-03-10 09:45:05 -07:00

237 lines
9.7 KiB
JSON

{
"name": "angular-srcs",
"version": "20.0.0-next.1",
"private": true,
"description": "Angular - a web framework for modern web apps",
"homepage": "https://github.com/angular/angular",
"bugs": "https://github.com/angular/angular/issues",
"license": "MIT",
"engines": {
"node": "^20.11.1 || ^22.11.0",
"yarn": ">=1.22.4 <2",
"npm": "Please use yarn instead of NPM to install dependencies"
},
"repository": {
"type": "git",
"url": "https://github.com/angular/angular.git"
},
"scripts": {
"/": "",
"// 1": "Many of our checks/scripts/tools have moved to our ng-dev tool",
"// 2": "Find the usage you are looking for with:",
"// 3": "yarn ng-dev --help",
"/ ": "",
"postinstall": "node --preserve-symlinks --preserve-symlinks-main ./tools/postinstall-patches.js && patch-package --patch-dir tools/esm-interop/patches/npm && patch-package --patch-dir tools/npm-patches",
"prepare": "husky",
"ng-dev": "tsx --tsconfig .ng-dev/tsconfig.json node_modules/@angular/ng-dev/bundles/cli.mjs",
"build": "tsx --tsconfig scripts/tsconfig.json scripts/build/build-packages-dist.mts",
"test": "bazelisk test",
"test:ci": "bazelisk test -- //... -//adev/... -//devtools/... -//modules/ssr-benchmarks/...",
"test-tsec": "bazelisk test //... --build_tag_filters=tsec --test_tag_filters=tsec",
"lint": "yarn -s tslint && yarn -s ng-dev format changed --check",
"tslint": "tslint -c tslint.json --project tsconfig-tslint.json",
"public-api:check": "node goldens/public-api/manage.js test",
"public-api:update": "node goldens/public-api/manage.js accept",
"symbol-extractor:check": "node tools/symbol-extractor/run_all_symbols_extractor_tests.js test",
"symbol-extractor:update": "node tools/symbol-extractor/run_all_symbols_extractor_tests.js accept",
"ts-circular-deps:check": "yarn -s ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js",
"check-tooling-setup": "yarn tsc --project .ng-dev/tsconfig.json && yarn tsc --project scripts/tsconfig.json",
"devtools:devserver": "ibazel run //devtools/src:devserver",
"devtools:devserver:demo-standalone": "ibazel run //devtools/projects/demo-standalone/src:devserver",
"devtools:build:chrome": "bazelisk build --//devtools/projects/shell-browser/src:flag_browser=chrome -- devtools/projects/shell-browser/src:prodapp",
"devtools:build:firefox": "bazelisk build --config snapshot-build-firefox --//devtools/projects/shell-browser/src:flag_browser=firefox -- devtools/projects/shell-browser/src:prodapp",
"devtools:test": "bazelisk test --//devtools/projects/shell-browser/src:flag_browser=chrome -- //devtools/...",
"docs": "[[ -n $CI ]] && echo 'Cannot run this yarn script on CI' && exit 1 || yarn ibazel run //adev:serve",
"docs:build": "[[ -n $CI ]] && echo 'Cannot run this yarn script on CI' && exit 1 || yarn bazel build //adev:build",
"benchmarks": "tsx --tsconfig=scripts/tsconfig.json scripts/benchmarks/index.mts"
},
"// 1": "dependencies are used locally and by bazel",
"dependencies": {
"@angular-devkit/build-angular": "19.2.0",
"@angular-devkit/core": "19.2.0",
"@angular-devkit/schematics": "19.2.0",
"@angular/build": "19.2.0",
"@angular/cdk": "19.2.0",
"@angular/cli": "19.2.0",
"@angular/material": "19.2.0",
"@angular/ssr": "19.2.0",
"@babel/cli": "7.26.4",
"@babel/core": "7.26.9",
"@babel/generator": "7.26.9",
"@bazel/concatjs": "5.8.1",
"@bazel/esbuild": "5.8.1",
"@bazel/jasmine": "5.8.1",
"@bazel/protractor": "5.8.1",
"@bazel/rollup": "5.8.1",
"@bazel/runfiles": "5.8.1",
"@bazel/terser": "5.8.1",
"@bazel/worker": "5.8.1",
"@jridgewell/sourcemap-codec": "^1.4.14",
"@microsoft/api-extractor": "^7.24.2",
"@rollup/plugin-babel": "^6.0.0",
"@rollup/plugin-commonjs": "^28.0.0",
"@rollup/plugin-node-resolve": "^13.0.4",
"@schematics/angular": "19.2.0",
"@stackblitz/sdk": "^1.11.0",
"@types/angular": "^1.6.47",
"@types/babel__core": "7.20.5",
"@types/babel__generator": "7.6.8",
"@types/bluebird": "^3.5.27",
"@types/chrome": "^0.0.307",
"@types/convert-source-map": "^2.0.0",
"@types/diff": "^7.0.0",
"@types/dom-view-transitions": "^1.0.1",
"@types/hammerjs": "2.0.46",
"@types/jasmine": "^5.0.0",
"@types/jasmine-ajax": "^3.3.1",
"@types/jasminewd2": "^2.0.8",
"@types/node": "^18.11.18",
"@types/selenium-webdriver": "3.0.7",
"@types/selenium-webdriver4": "npm:@types/selenium-webdriver@4.1.28",
"@types/semver": "^7.3.4",
"@types/shelljs": "^0.8.6",
"@types/systemjs": "6.15.1",
"@types/yargs": "^17.0.3",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
"algoliasearch": "^5.0.0",
"angular-1.5": "npm:angular@1.5",
"angular-1.6": "npm:angular@1.6",
"angular-1.7": "npm:angular@1.7",
"angular-1.8": "npm:angular@1.8",
"angular-mocks-1.5": "npm:angular-mocks@1.5",
"angular-mocks-1.6": "npm:angular-mocks@1.6",
"angular-mocks-1.7": "npm:angular-mocks@1.7",
"angular-mocks-1.8": "npm:angular-mocks@1.8",
"bluebird": "^3.7.2",
"canonical-path": "1.0.0",
"chalk": "^5.4.1",
"chokidar": "^4.0.0",
"convert-source-map": "^1.5.1",
"d3": "^7.0.0",
"diff": "^7.0.0",
"domino": "https://github.com/angular/domino.git#8f228f8862540c6ccd14f76b5a1d9bb5458618af",
"hammerjs": "~2.0.8",
"http-server": "^14.0.0",
"jasmine": "~5.6.0",
"jasmine-ajax": "^4.0.0",
"jasmine-core": "^5.0.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "^3.1.0",
"karma-firefox-launcher": "^2.1.0",
"karma-jasmine": "^5.0.0",
"karma-requirejs": "^1.1.0",
"karma-sourcemap-loader": "^0.4.0",
"magic-string": "^0.30.8",
"memo-decorator": "^2.0.1",
"ngx-flamegraph": "0.0.12",
"ngx-progressbar": "^14.0.0",
"open-in-idx": "^0.1.1",
"protractor": "^7.0.0",
"reflect-metadata": "^0.2.0",
"requirejs": "^2.3.6",
"rollup": "~2.79.0",
"rollup-plugin-preserve-shebang": "^1.0.1",
"rollup-plugin-sourcemaps": "^0.6.3",
"rxjs": "^7.0.0",
"selenium-webdriver": "3.5.0",
"selenium-webdriver4": "npm:selenium-webdriver@4.29.0",
"semver-dsl": "^1.0.1",
"shelljs": "^0.8.5",
"source-map": "0.7.4",
"source-map-support": "0.5.21",
"systemjs": "0.18.10",
"terser": "^5.8.0",
"tinyglobby": "^0.2.12",
"todomvc-app-css": "^2.3.0",
"todomvc-common": "^1.0.5",
"tslib": "^2.3.0",
"tslint": "6.1.3",
"tsx": "^4.7.2",
"typescript": "5.8.2",
"webtreemap": "^2.0.1",
"ws": "^8.15.0",
"xhr2": "0.2.1",
"yargs": "^17.2.1"
},
"// 2": "devDependencies are not used under Bazel. Many can be removed after test.sh is deleted.",
"devDependencies": {
"@actions/core": "^1.10.0",
"@actions/github": "^6.0.0",
"@angular-devkit/architect-cli": "0.1902.0",
"@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce04ec6cf7604014191821a637e60964a1a3bb4a",
"@angular/core": "^19.2.0",
"@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#252589f7bc8fe6ca13b31e02d506ec52e826cdd2",
"@babel/plugin-proposal-async-generator-functions": "7.20.7",
"@bazel/bazelisk": "^1.7.5",
"@bazel/buildifier": "^8.0.0",
"@bazel/ibazel": "0.16.2",
"@codemirror/autocomplete": "^6.11.1",
"@codemirror/commands": "^6.3.2",
"@codemirror/lang-angular": "^0.1.2",
"@codemirror/lang-css": "^6.2.1",
"@codemirror/lang-html": "^6.4.7",
"@codemirror/lang-javascript": "^6.2.1",
"@codemirror/lang-sass": "^6.0.2",
"@codemirror/language": "^6.9.3",
"@codemirror/lint": "^6.4.2",
"@codemirror/search": "^6.5.5",
"@codemirror/state": "^6.3.3",
"@codemirror/view": "^6.22.2",
"@inquirer/prompts": "^7.0.0",
"@lezer/common": "^1.1.2",
"@lezer/highlight": "^1.2.0",
"@lezer/javascript": "^1.4.10",
"@octokit/graphql": "^8.0.0",
"@types/adm-zip": "^0.5.0",
"@types/cldrjs": "^0.4.22",
"@types/d3": "^7.4.3",
"@types/jsdom": "^21.1.5",
"@types/live-server": "^1.2.3",
"@typescript/vfs": "^1.5.0",
"@webcontainer/api": "^1.3.0-internal.2",
"@yarnpkg/lockfile": "^1.1.0",
"adm-zip": "^0.5.10",
"angular-split": "^19.0.0",
"check-side-effects": "0.0.23",
"cldr": "7.7.0",
"cldrjs": "0.5.5",
"conventional-changelog": "^6.0.0",
"emoji-regex": "^10.3.0",
"fflate": "^0.8.2",
"firebase-tools": "^13.0.0",
"gulp": "^5.0.0",
"gulp-conventional-changelog": "^5.0.0",
"html-entities": "^2.5.2",
"husky": "9.1.7",
"jsdom": "^26.0.0",
"karma-coverage": "^2.2.1",
"karma-jasmine-html-reporter": "^2.1.0",
"karma-sauce-launcher": "^4.3.6",
"live-server": "^1.2.2",
"madge": "^8.0.0",
"marked": "^15.0.0",
"mermaid": "^11.0.0",
"patch-package": "^7.0.0",
"playwright-core": "^1.41.2",
"preact": "^10.17.1",
"preact-render-to-string": "^6.2.1",
"prettier": "^3.0.0",
"semver": "^7.3.5",
"shiki": "^3.0.0",
"tmp": "^0.2.3",
"ts-node": "^10.9.1",
"tsec": "0.2.8",
"tslint-eslint-rules": "5.4.0",
"tslint-no-toplevel-property-access": "0.0.2",
"typed-graphqlify": "^3.1.1",
"undici": "^6.15.0",
"vrsource-tslint-rules": "6.0.0"
},
"// 3": "Ensure that transitive dependencies on `https-proxy-agent` are at minimum v5 as older versions patch NodeJS directly, breaking tools like webdriver which is used by the karma-sauce-launcher as an example.",
"// 4": "Ensure that a single instance of the `saucelabs` package is used. Protractor and the Karma sauce launcher pull this package as dependency. A single instance allows for e.g. easier patching in the Karma config.",
"resolutions": {
"**/https-proxy-agent": "7.0.6",
"**/saucelabs": "9.0.2"
}
}