mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-15 18:13:38 +08:00
* build: disconnect `@npm` workspace from main project This will speed up significantly as we don't need to fetch all dependencies again just for the `@npm` repository that is at this point only leveraged by the `ng_package` rule for some of its dependencies. This commit allows us to drop the `yarn.lock` and Aspect lock files, and allows us to independently migrate `ng_package` to `rules_js`. It also allows us to drop the `_rjs` TS interop layer in follow-up commits. * build: drop `_rjs` suffix from `ts_project` targets We don't need the `ts_project` interop in principle at this point. We only have one remaining instance left for the SSR `ng_package` integration. This commit cleans up all usages. * build: remove yarn * build: avoid duplicated dependencies at top-level `rules_js` seems to be sensitive if there are similar versions of the same package installed, but with differently matched peer dependencies. This is fine because we can (and should long-term) move those dependencies to their package-local `package.json` files. This commit unblocks the migration and highlights how we can move deps to the individual packages in the future. * build: update checkout github action This will allow us to use pnpm. * build: update node to avoid strict-engines error caused by `npm` Avoids: ``` Lockfile is up to date, resolution step is skipped ERR_PNPM_UNSUPPORTED_ENGINE Unsupported environment (bad pnpm and/or Node.js version) Your Node version is incompatible with "npm@11.2.0". Expected version: ^20.17.0 || >=22.9.0 Got: v20.11.1 ``` Note that we won't update the WORKSPACE test version as that would mean we need to update the Node engines for shipped packages; and we can't do this right now without introducing a breaking change. * build: fix missing dependency for spec bundling The beasties JS sources weren't available for bundling in the `bazel-bin`, and this surfaced in RBE. This commit fixes this.
Webpack Builder for Architect
This package allows you to run Webpack and Webpack Dev Server using Architect.
To use it on your Angular CLI app, follow these steps:
- run
npm install @angular-devkit/build-webpack
. - create a webpack configuration.
- add the following targets inside
angular.json
.
"projects": {
"app": {
// ...
"architect": {
// ...
"build-webpack": {
"builder": "@angular-devkit/build-webpack:webpack",
"options": {
"webpackConfig": "webpack.config.js"
}
},
"serve-webpack": {
"builder": "@angular-devkit/build-webpack:webpack-dev-server",
"options": {
"webpackConfig": "webpack.config.js"
}
}
}
- run
ng run app:build-webpack
to build, andng run app:serve-webpack
to serve.
All options, including watch
and stats
, are looked up inside the webpack configuration.