393 Commits

Author SHA1 Message Date
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
Doug Parker
a364e1f246 docs: fold post-release version bump with the release commit
The process has changed and post-release bumps are no longer necessary.

Also updated the doc to include a section on changing shifts with the caveat that you must be logged in to the `@angular.io` account to have edit access to the calendar.
2021-05-31 12:47:17 +01:00
Charles Lyding
37a06a7c37 build: format all files
All files are now formatted using the ng-dev tools via prettier.
2021-04-28 16:05:49 -07:00
Keen Yee Liau
c3cc50e6b9 refactor(@schematics/angular): read build-angular's version from package.json
Now that `@angular-devkit/build-angular` is promoted to stable
(https://github.com/angular/angular-cli/pull/20528), it will
always have the same version as `@schematics/angular`.

With this change, there is no need to manually update `DevkitBuildAngular`
field in `latest-versions.ts` anymore.
2021-04-20 09:33:36 -05:00
Keen Yee Liau
577766150e docs: Delete cli.angular.io microsite
https://cli.angular.io/ now redirects to https://angular.io/cli
2021-04-12 18:15:43 -04:00
Douglas Parker
de63f41d66 docs: post-release version bump PRs
This more clearly specifies that version bumps should have a PR which is assigned to the next caretaker. It also specifies that the caretaker should include these PRs in the hand-off to the next caretaker. If anyone who notices these links missing, they should escalate to the caretaker just to make sure this step is not forgotten. This should make it less likely for a caretaker for forget to do the post-release version bump.
2021-04-09 13:45:17 -04:00
Keen Yee Liau
90a01968f4 build: determine version to publish from package.json
Currently, the version of a release is determined by the git tag.
This PR changes release script to determine the release version from the
`version` property in the root `package.json`.

Release docs have also been updated.
2021-03-24 09:17:24 -04:00