369 Commits

Author SHA1 Message Date
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
Doug Parker
c0ed68d614 docs: update yarn command to freeze lockfile.
In today's release, running `yarn` modified the `yarn.lock` file, which is not desireable for releases which should be as close to CI as possible. This updates the docs to freeze the lockfile (similar to `npm ci`) to avoid changing dependency verisons mid-release.
2021-03-18 10:44:33 +01:00
Douglas Parker
072abbe44b docs: use specific git add command to avoid adding unnecessary files
Today when releasing v9 and v10, I found two extra files in Git (`.husky/` and `.ng-dev.log`). These are a part of the toolchain in later versions, but not known ignored in older versions. Using `git commit -a` would have included both of those files in the release commit which would not be desirable. Instead, the solution for releases is to add the specific files that are modified to remove this possibility.
2021-02-25 14:57:43 -05:00
Jefiozie
e7f44664b1 docs: fix build-system-overview graph 2021-02-23 08:42:09 +01:00
Keen Yee Liau
a937012db2 docs: replace Minko with Joey as secondary caretaker 2021-02-18 08:10:19 +01:00
Joey Perrott
c6e7da1b64 ci: update remaining references to old pr targeting system
Completes the migration to use the new unified target label system, updating
dependabot, renovate and angular-robot to expect the new labels.
2020-12-11 13:53:23 +00:00
Doug Parker
c89ed0af3e docs: update package.json version note to be more visible
During the release today my eyes completely skipped over the new requirement to update `package.json`. Changed this to a list to give more visual weight and guide readers eyes to both places that need to be modified.
2020-12-09 13:34:32 -05:00
Joey Perrott
64d17505d4 build: set up ng-dev tooling to perform merges in the repository
Set up the configurations required for caretakers to be able to rely
on ng-dev for performing merges to all targetted branches.
2020-12-02 16:02:42 +01:00
Alan Agius
7807b779d8 docs: replace analytics table with kebabed cased arguments 2020-12-02 16:02:27 +01:00
Joey Perrott
44a9bacfec build: update release process to reflect including updates to package.json
Now included in the release process is updating the root package.json version.
2020-12-01 08:03:52 +01:00
Doug Parker
f8b9a502a6 docs: add rm -rf node_modules/ to release docs
In the latest release, I was not able to build even after running `yarn` to refresh dependencies. Eventually, we tracked
the issue down to `rm -rf node_modules/`. There may be some instances where this can be necessary to ensure clean
builds.
2020-10-23 01:50:41 -04:00
Alan Agius
c5a1b21f7c refactor(@angular-devkit/core): remove unused NgBuildBuildEventLog from NgCliAnalyticsDimensions 2020-10-07 13:18:30 -04:00
mgechev
52442393b1 docs: change beta to next tag in release process 2020-09-24 08:34:07 +02:00
Joey Perrott
dd59bfcc60 docs: remove usage of blacklist from third-party-libraries documentation
Replace the usage of blacklist with a description of the prevention/disclusion
methods which are beging described.
2020-09-24 00:06:27 +03:00
Doug Parker
245e669d63 docs: remove Docker design doc
This design was never implemented and has been superceded by the `ng deploy` design.
2020-09-11 16:17:15 -04:00
Alan Agius
657c9d950b docs: delete wiki documentation
The CLI wiki deprecated since version 6. All meaningful documentation is now available on
http://angular.io and can be updated on the main [angular/angular](https://github.com/angular/angular)
repo.
2020-09-08 19:47:59 +02:00
Doug Parker
3bc41c8684 ci: fix markdown typo 2020-08-07 00:59:55 +01:00
Doug Parker
55e19aaa98 ci: update release docs to use annotated tags for releases
This changes from using lightweight tags to annotated tags. The later includes author, time, and message information that is lacking from the former. It is also included in Git's `--follow-tags` option. This should allow us to push tags alongside release commits more atomically and hopefully eliminate or at least reduce the possibility of a race condition arising from CI starting on the release commit before the associated tag is pushed. Such a state causes CI failures, because they take the latest version from the most recent `v*` tag.
2020-07-23 19:39:46 +02:00
Joey Perrott
b663471aef docs: update release doc to remove outdate information on patch merges
Previously instructions for merging to patch instructed caretakers
to only merge commits which were "applicable" to patch.  However,
for PRs targeting master and patch, all commits from the PR should
land in both branches.
2020-07-23 10:45:58 +02:00
Doug Parker
4938554490 docs: update release doc to include changes to publish script 2020-07-23 10:45:25 +02:00
Keen Yee Liau
9970beb542 docs: Update doc for major version release 2020-07-09 19:11:25 +02:00
Keen Yee Liau
6d0f13be7e docs: add primary-secondary pairs and update calendar link 2020-05-15 14:46:16 +01:00
Filipe Silva
da46bf9f5f docs: add bazel jasmine_node_test debug information 2020-04-30 15:12:46 -07:00
Doug Parker
62639243e1 docs: add notes about various release foot-guns
This is a few different edits to make caretakers more aware of problems that can occur during a release.
* Added a comment to reinforce that pushing tags needs to happen with the push of the release commit. Otherwise CI can fail `npm install` because the relevant tags are not set.
* Changed to check out the publish branch rather than the tag because checking out a tag fails the subsequent `publish` command.
* Added `yarn` before the `publish` command because dependencies may be out of date and cause errors.
2020-04-21 14:27:34 -07:00
Joey Perrott
98a5cb40ff build: default to wombat proxy for publishing
If no --registry argument is provided when calling to publish
use the Wombat proxy.  Additionally, updates the release process
documentation to instruct usage of the Wombat proxy.
2020-04-07 19:43:52 -07:00