mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-15 01:54:04 +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.
@schematics/angular
This package contains a collection of schematics for generating an Angular application.
Schematics
Name | Description |
---|---|
app-shell | Generates an app shell for running a server-side version of an app |
application | Generates a new basic app definition in the "projects" subfolder of the workspace |
class | Creates a new, generic class definition in the given project |
component | Creates a new, generic component definition in the given project |
directive | Creates a new, generic directive definition in the given project |
enum | Generates a new, generic enum definition in the given project |
guard | Generates a new, generic route guard definition in the given project |
interceptor | Creates a new, generic interceptor definition in the given project |
interface | Creates a new, generic interface definition in the given project |
library | Creates a new, generic library project in the current workspace |
module | Creates a new, generic NgModule definition in the given project |
ng-new | Creates a new project by combining the workspace and application schematics |
pipe | Creates a new, generic pipe definition in the given project |
resolver | Creates a new, generic resolver definition in the given project |
service | Creates a new, generic service definition in the given project |
service-worker | Pass this schematic to the "run" command to create a service worker |
web-worker | Creates a new, generic web worker definition in the given project |
workspace | Initializes an empty workspace and adds the necessary dependencies required by an Angular application |
Disclaimer
While the schematics when executed via the Angular CLI and their associated options are considered stable, the programmatic APIs are not considered officially supported and are not subject to the breaking change guarantees of SemVer.