Paul Gschwendtner 9dd3f0344f
Further clean-up rules_nodejs npm workspace and remove yarn.lock (#29779)
* 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.
2025-03-11 10:05:52 +01:00
..
2021-07-30 13:43:04 +01:00

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.