Charles Lyding 7f93735e98 build: use bazel to perform release builds
When performing a release via the dev-infra `ng-dev` tooling, the release
builds for the packages that will be published are now performed using bazel.
Prior to this, the release builds were performed using a custom build script
that programmatically invoked TypeScript APIs. The Bazel build and discovery
process for the releasable packages is performed by a script that is based on
the scripts from components and framework repositories. Several small modifications
were performed to match the behavior and structure of the cli repository:
* Use of `packages` as the source root in the bazel query
* Use of `pkg_npm` rule in the bazel query
* Partial transition to native Node.js `fs` APIs instead of `shelljs`
* Directory creation per package when copying output (supports multiple package scopes)
* Copying of archives (tgz) for each package

The snapshot and local build capabilities are not modified as part of this change
but will be merged in a followup as part of a larger transition to use bazel
throughout the package build process.
2023-01-05 03:21:58 +00:00
..
2021-04-28 16:05:49 -07:00

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, and ng run app:serve-webpack to serve.

All options, including watch and stats, are looked up inside the webpack configuration.