* 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.
DevKit Administrative Scripts
This folder contains all the scripts that can be run using devkit-admin
.
In order to be able to use the DevKit scripts, you must first run:
$ npm link
This will link the binaries included in this repository, which includes the devkit-admin
binary. This document
describes each scripts available.
build
Builds the repo and the pack files. The output of build
is in dist/
and contains 1 tgz per package which can be
installed (the result of npm pack
on that package), and a directory using the name of the package to publish.
Flags:
--local
. Enable building packages with dependencies to their pack files (instead of versions).--snapshot
. Enable building packages with dependencies to their snapshot repos (instead of versions).
packages
Outputs a JSON containing all informations from the package script (main files, repo names, versions, deps, etc).
snapshots
Create and upload snapshots. This is used in CI.
Flags:
--force
. Force push the snapshot to github.--githubToken=<string>
. The github token to update the changelog with. Either this of--githubTokenFile
is required.--githubTokenFile=<path>
. Reads the githubToken from a file instead of the command line (for CI).
templates
Compile and outputs the templates. For now, only README is being built and outputted.
validate
Performs BUILD files and license validation.
Flags:
--verbose
. Ignore errors and continue showing outputs.