399 Commits

Author SHA1 Message Date
Doug Parker
9d8f6289fa docs: update release doc to be more clear about peer dependency updates and timing 2023-05-08 19:32:56 +00:00
Doug Parker
b70899ab2d docs: add @angular/pwa to version bump list in release documentation 2023-05-03 19:21:05 +00:00
Alan Agius
4eaf107305 build: update minimum supported Node version from 16.13.0 -> 16.14.0
This commit updates the minimum supported Node version across packages from 16.13.0 -> 16.14.0 to ensure compatibility with dependencies.
2023-04-11 16:46:10 +00:00
Alan Agius
afcc49fd53 docs: improve grammar in e2e section
Minor grammar fix.

Co-authored-by: Charles <19598772+clydin@users.noreply.github.com>
2023-02-13 14:14:13 +00:00
Alan Agius
150e530239 ci: enable E2E tests on multiple node versions
This commit sets ups Node 18 tool chain and also configures E2E tests to use multiple tools chains to retain the same behaviour prior to switching the e2e tests to Bazel.
2023-02-13 14:14:13 +00:00
Alan Agius
abcea344c3 docs: update developer guide to include new Bazel setup
This commit updates the developer guide to include tips on how to run and debug tests when using the new Bazel E2E setup.
2023-02-13 14:14:13 +00:00
Jason Bedard
fac1e58b73
run e2e tests under bazel (#24338)
* test: run legacy-cli e2e tests via bazel

* fixup! test: run legacy-cli e2e tests via bazel

* fixup! test: run legacy-cli e2e tests via bazel

* fixup! test: run legacy-cli e2e tests via bazel
2023-02-03 07:52:28 +00:00
Alan Agius
2589df0be1 Revert "test: run legacy-cli e2e tests via bazel"
This reverts commit 794e33ae72c15a628f308260020bc4da608c4996.
2022-11-28 15:25:48 +00:00
Jason Bedard
794e33ae72 test: run legacy-cli e2e tests via bazel 2022-11-28 13:39:15 +00:00
Doug Parker
99b258d929 docs: updates release documentation to include latest-versions/package.json and clarify what can be done in the release PR 2022-11-17 16:30:24 -08:00
Alan Agius
f41d609ae8 fix(@angular/cli): add unique user id as user parameter in GA
While, GA collects the user id, this cannot be used for reporting and filtering purpose. This can be
2022-10-14 15:27:05 +02:00
Alan Agius
c59c1e7e6d fix(@angular/cli): add workspace information as part of analytics collection
With this change we collect 3 additional metrics
- `all_projects_count` Count of all project in a workspace
- `libs_projects_count` Count of library projects in a workspace
- `apps_projects_count` Count of application projects in a workspace
2022-10-14 15:27:05 +02:00
Alan Agius
95adf11131 docs: fix markdown links in analytics docs 2022-10-12 16:55:17 +02:00
Alan Agius
3928d084e6 ci: add validation for parameters length
Needed as otherwise if the parameter is longer we are unable to map this in GA4.

GA4 has a limit of:
- 24 characters for custom user dimension parameter names
- 40 characters for custom event dimension parameter names
- 40 characters for custom metric dimension parameter names
2022-10-12 15:32:28 +02:00
Alan Agius
bf7ed0d3e5 ci: correct analytics validation script to print user custom dimensions
Prior to this user custom dimensions were not added to `docs/design/analytics.md`
2022-10-12 15:32:28 +02:00
Alan Agius
2fb9a4dc09 docs: remove page view section from analytics doc
Page views are no longer used in GA4.
2022-10-12 15:32:28 +02:00
Alan Agius
124be1cc9c refactor: add build and rebuild related statistics and analytics
The new build and rebuild statistics are used by the CLI to submit build related information to GA.
2022-10-11 18:52:30 +02:00
Alan Agius
639a3071c3 refactor: migrate analytics collector to use GA4
This change updates the analytics collector collector to use GA4 instead of UA. The motivation behind this change is that UA will stop collecting data in 2023.

BREAKING CHANGE:

`analyticsSharing` option in the global angular configuration has been
removed without replacement. This option was used to configure the Angular CLI to  access to your own users' CLI usage data.

If this option is used, it can be removed using `ng config --global cli.analyticsSharing undefined`.
2022-10-11 18:52:30 +02:00
Alan Agius
4827d1b23e feat(@angular/cli): add support for Node.js version 18
Pacote version 14 does requires `14.17.x` or `16.13.x`.

BREAKING CHANGE: The Angular CLI  no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`.
2022-10-07 11:34:43 -04:00
Alan Agius
4b623461a4 feat(@angular/cli): drop support for Node.js versions older than 14.20
Node.js 14.20 and newer support generating UUID using the crypto module. See: https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_crypto_randomuuid_options

BREAKING CHANGE: Node.js versions older than 14.20 are no longer supported.
2022-10-04 11:28:43 -04:00
Jason Bedard
2624d8941f test: run e2e tests on pre-compiled packages
The NPM packages being tested must be pre-compiled and the tar packages specified via --package. This way the real packages such as snapshots, release artifacts or cached packages can be tested. Previously the e2e tests compiled and packaged during test execution.
2022-09-26 12:44:46 +02:00
Doug Parker
2a8534aa09 docs: clarify that version bumps must happen separately from the release PR
In `14.2.0`, we learned that we can't bump peer deps / `latest-versions.ts` in a release PR, because the released NPM artifact is actually built *before* an opportunity to edit the PR appears. We need to do a separate before the CLI release to make this change.

See: https://angular-team.slack.com/archives/C46U16D4Z/p1661482133013029
2022-09-19 09:48:37 -04:00
Alan Agius
2ba44a433c refactor(@angular-devkit/build-angular): remove support for Stylus
The usage of Stylus in the CLI is minimal and this package never reached version 1.

BREAKING CHANGE:

Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports.
2022-09-16 11:39:19 -07:00
Doug Parker
b5deab15fa docs: update major release instructions to mention latest-versions.ts bump 2022-06-01 08:44:22 -07:00
Doug Parker
e569d3bfdf docs: update release documentation to reflect changes to caretaker responsibilities and new rotation 2022-05-26 14:58:09 -07:00
Joey Perrott
3d76cef369 build: add caretaker configuration to ng-dev config
Add the caretaker configuration to set up being able to run both the carataker
check and the handoff commands.

The caretaker handoff command will operate using the angular-cli-caretaker group
which has already been seeded with the current information.
2022-05-23 14:53:55 -07:00
Doug Parker
25482d72b9 docs: remove caretaker pairings
This list is out of date and not used. The calendar is listed above and is the source of truth, so there is no need for this table.
2022-05-16 09:21:14 -04:00
Doug Parker
53862e92d5 docs: update analytics approvers
Stephen and Igor are no longer the leads for DevRel and Angular respectively. Updated to use generic language so this doesn't fall out of date as easily.
2022-05-16 09:21:14 -04:00
Paul Gschwendtner
156f15e47f build: cleanup references to old master branch
Cleans up all referneces to the old `master` branch.
2022-05-04 09:55:54 -07:00
Kristiyan Kostadinov
7b78b7840e feat(@schematics/angular): add --standalone to ng generate
Adds the `--standalone` flag when generating components, directives or pipes through `ng generate`.
2022-04-27 15:33:48 -04:00
Alan Agius
455aeea12d fix(@angular-devkit/core): add Angular CLI major version as analytics dimension
With this change we replace the custom dimension 8 `AOT Enabled`, with `Angular CLI Major Version`. The motivation behind replacing this dimension is that the there is already an `aot` dimension with id 13 which serves for the same purpose.

More information to why we need a new dimension for the Angular CLI major version can be found #22130

Closes #22130
2022-03-24 08:53:10 +01:00
Alan Agius
366cabc66c feat(@angular/cli): add support for multiple schematics collections
The `schematicCollections` can be placed under the `cli` option in the global `.angular.json` configuration, at the root or at project level in `angular.json` .

```jsonc
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "cli": {
    "schematicCollections": ["@schematics/angular", "@angular/material"]
  }
  // ...
}
```

**Rationale**
When this option is not configured and a user would like to run a schematic which is not part of `@schematics/angular`,
the collection name needs to be provided to `ng generate` command in the form of `[collection-name:schematic-name]`. This make the `ng generate` command too verbose for repeated usages.

This is where `schematicCollections` comes handle. When adding `@angular/material` to the list of `schematicCollections`, the generate command will try to locate the schematic in the specified collections.

```
ng generate navigation
```

is equivalent to:

```
ng generate @angular/material:navigation
```

**Conflicting schematic names**
When multiple collections have a schematic with the same name. Both `ng generate` and `ng new` will run the first schematic matched based on the ordering (as specified) of `schematicCollections`.

DEPRECATED:

The `defaultCollection` workspace option has been deprecated in favor of `schematicCollections`.

Before
```json
"defaultCollection": "@angular/material"
```

After
```json
"schematicCollections": ["@angular/material"]
```

Closes #12157
2022-03-22 09:37:57 -07:00
Alan Agius
46a7be3af4 refactor(@angular/cli): clean up analytics methods
Re-use methods were possible.
2022-03-15 16:31:07 -04:00
Alan Agius
afafa5788f feat(@angular/cli): add --global option to ng analytics command
With this change we add a `--global` option to `ng analytics` command.

BREAKING CHANGE:

Several changes to the `ng analytics` command syntax.

- `ng analytics project <setting>` has been replaced with `ng analytics <setting>`
- `ng analytics <setting>` has been replaced with `ng analytics <setting> --global`
2022-03-15 16:31:07 -04:00
Alan Agius
4ebfe03415 feat(@angular/cli): drop support for Node.js 12
Node.js v12 will become EOL on 2022-04-30. As a result, Angular CLI v14 will no longer support Node.js v12.

BREAKING CHANGE:

Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later.
2022-03-04 22:38:45 +01:00
Alan Agius
fafb9ddd58 docs(@angular/cli): update @angular/cli package readme
Previously, the `@angular/cli` readme contained a lot of un-needed information for application users
2022-02-02 11:49:03 -08:00
Alan Agius
3829fb20d6 docs: improve readme
Update readme to match that of angular/angular
2022-01-31 11:36:53 -08:00
Alan Agius
40fb1a1e00 docs: move developer guide into a seperate file
Currently, the `readme.md` also contains information on how to build and test the CLI which isn't useful to most users. With this change we move this information into a seperate document.
2022-01-31 11:36:53 -08:00
Doug Parker
ecf5cffab9 docs: add note about switching FW dependencies off of -rc.0 and -next.0 before the production release
Also turns two unrelated file references into links because it's been bugging me for ages but I was never willing to go out of my way for a separate commit or PR, and including it into another PR is kinda mixing concerns, but also who cares, so I'm just gonna do it now and hope no one notices, rant over.
2022-01-28 11:41:25 -08:00
Alan Agius
d94a67353d refactor(@angular/cli): remove deprecated --all option from ng update
BREAKING CHANGE:

`--all` option from `ng update` has been removed without replacement. To update packages which don’t provide `ng  update` capabilities in your workspace `package.json` use `npm update`, `yarn upgrade-interactive` or `yarn upgrade` instead.
2022-01-27 11:06:51 -08:00
Doug Parker
a5bddd620f docs: bump FW peer deps at the same time as FW dependencies 2022-01-24 14:59:17 -08:00
Doug Parker
787ebce5d7 docs: clarify that patch/next releases do not require framework to release in advance
This allows CLI releases to generally be done in parallel with framework and save a lot of time. Major and minor version bumps do require waiting for FW however and that is unchanged.
2022-01-12 09:53:37 -08:00
Alan Agius
17c78a53ba docs: remove old information from debugging section
`universal-analytics` has been removed via dbce2a3f28 which makes `DEBUG=universal-analytics` unusable.
2022-01-10 10:29:15 -08:00
Doug Parker
6fdfe9786c docs: add latest-versions.ts bump to minor/major version release instructions
In v13.1, we forgot to increment this value and caused an error for early adopters of `13.1.0`. CI should catch this mistake now, and these docs will serve as a reminder to bump the value before release.
2021-12-14 11:23:35 +01:00
Alan Agius
079ef070c9 refactor(@angular-devkit/build-angular): replace Ivy Enabled analytics dimension with AOT Enabled
The motivation behind this change is that since version 12, application are always built using Ivy, in addition to this, adding AOT as dimension might be  helpful in our decision process if we want to remove JIT.
2021-10-13 21:03:50 +02:00
Charles Lyding
e0a1a94e79 docs: update release documentation regarding prerelease semver ranges
When transitioning from prerelease to stable, several SemVer ranges for packages referenced in the `package.json` files need to be adjusted so that the unsupported prerelease versions are not mentioned in the final stable release.
2021-08-18 10:10:18 -04:00
Douglas Parker
43e6049da1 doc: fix caretaker PR search
The PR search link still has the old label "PR action: merge", but this has been updated to "action: merge".
2021-08-12 00:25:56 -04:00
Alan Agius
5986befcdc feat(@schematics/angular): remove deprecated options
With this change we removed several deprecated `@schematics/angular` deprecated options.

BREAKING CHANGE:

We removed several deprecated `@schematics/angular` deprecated options.
- `lintFix` have been removed from all schematics. `ng lint --fix` should be used instead.
- `legacyBrowsers` have been removed from the `application` schematics since IE 11 is no longer supported.
- `configuration` has been removed from the `web-worker` as it was unused.
- `target` has been removed from the `service-worker` as it was unused.
2021-07-30 14:26:53 +01:00
Joey Perrott
b2ce610b24 docs: update release documentation 2021-07-30 12:44:01 +01:00
Doug Parker
66051c2d8e docs: update release documentation to be more clear about the differences between the two version numbers
This will hopefully make things a little more clear and reduce the possibility that devs put the same number in both places when they actually reflect completely different values.
2021-06-03 19:21:16 +02:00