273 Commits

Author SHA1 Message Date
Paul Gschwendtner
9fafb2e125 build: update ng-dev setup to work with new ESM version
The `ng-dev` tool is now strict ESM. Config loading needs to be updated
to also emit `.mjs` with `ts-node` (this cannot happen dynamically as
ESM Node loading cannot be patched by ts-node at runtime).
2022-06-17 19:01:03 +02:00
Jason Bedard
e72fbcdfac test: allow Artistic-2.0 license 2022-05-10 10:36:33 -07: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
Paul Gschwendtner
8da926966e build: changes for primary branch rename to main.
Changes part of the `DIRECT` phase of the "renaming master
to main" planning doc.
2022-04-28 11:36:26 -06:00
Tobias Speicher
137651645c refactor: replace deprecated String.prototype.substr()
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-03-21 12:27:52 -07:00
Alan Agius
c0fe0626d5 build: handle default sub command in json help output
This change is needed to handle default subcommands which are used in `ng generate` default subcommands are prefixed with `$0` or `*`.

More info: https://github.com/yargs/yargs/blob/main/docs/advanced.md#default-commands
2022-03-16 10:07:44 -04:00
Alan Agius
a517160a26 build: fix order of JSON help generation
Previoiusly we generated the JSON help files prior to building which caused the `help` directory in the `dist` to be deleted.
2022-03-09 19:44:33 +01:00
Alan Agius
10cce2c86e refactor(@angular/cli): re-organize the Angular CLI package folder structure 2022-03-09 17:18:53 +01:00
Alan Agius
78683db870 build: update UA validation script
With this change we update the UA usage script to read schemas directly insteads of relying on JSON help.
2022-03-09 17:18:53 +01:00
Alan Agius
29c2b3a360 refactor(@angular/cli): introspect yargs to generate JSON Help
With this change we update yargs help method to output help in JSON format which is needed to generate the documents that are used to generate AIO man pages.
2022-03-09 17:18:53 +01: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
73746faee9 refactor(@angular/cli): remove support for legacy Angular CLI version 1 configurations
Remove references to legacy Angular CLI version 1 configurations. By now users should have been migrated to use the new configuration.
2022-02-07 10:53:18 +00:00
Derek Cormier
82971c786f build: use bazel for snapshot builds 2022-02-01 17:17:42 -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
Alan Agius
d18469eb3f build: remove extra period in build script 2022-01-27 11:08:41 -08:00
Derek Cormier
4721b2796c build: correctly stamp experimental packages in bazel build 2022-01-21 12:50:53 +01:00
Derek Cormier
c2737dd51a build: use placeholder version for stamping 2022-01-12 10:02:23 -08:00
Derek Cormier
4b5c52b0d8 build: perform package.json substitutions in bazel build 2022-01-10 10:25:49 -08:00
Derek Cormier
ddec41eddf build: add parallel script to build using bazel 2021-12-15 14:34:22 +01:00
Alan Agius
3d52865526 docs: expand commit message footer description
With this change we expand the commit message footer section to include more information about breaking changes and deprecations messages.
2021-10-12 09:48:57 +02:00
Charles Lyding
f0e9b311fa build: update build scripts to support Node.js v16
Node.js v16's `fs.rmdirSync` will now throw an `ENOENT` error if the path does not exist. `fs.rmSync` is now the preferred option when using Node.js v16 but since this function is not available on Node.js v12 both are tried with `fs.rmSync` given preference.
2021-10-06 06:11:09 -05:00
Charles Lyding
51f89d633f test: enable no-useless-escape lint rule
The `no-useless-escape` eslint rule has now been enabled which removes unneeded characters and complexity from string literals and regular expressions. All files that were in violation of this rule have also been corrected.
2021-08-24 10:51:14 +01:00
Charles Lyding
1a21759d00 build: remove unused release scripts
With the migration to the common dev-infra tooling for releases, the existing release scripts are now unused and can be removed.
2021-07-30 13:43:04 +01:00
Alan Agius
38b01b9625 docs: update public api steps in contribution guidelines 2021-07-30 12:44:43 +01:00
Alan Agius
8ea82e593c build: add tsconfig-build.json
This TypeScript configuration file is used to build the monorepo. This will only include actual sourcefiles ie. non test files.
2021-07-30 12:43:18 +01:00
Alan Agius
fc39dd72ce build: remove unused non-bazel unit test script
This script is no longer used.
2021-07-30 12:43:18 +01:00
Joey Perrott
912929415f build: provide build artifact location directories instead of tar files
Provide the location of the directories rather than the tar files as the
release tooling inspects the package.json fiels to confirm the correct
version being published.
2021-07-16 12:19:48 +02:00
Charles Lyding
419a775fa3 build: use simplified stream construction in changelog script
Node.js now provides simplified stream construction capabilities which removes the need for the `through2` dependency.
This change allows for the removal of the `through2` development dependency which was otherwise unused.
2021-07-06 10:19:28 -04:00
Charles Lyding
b3d7080147 build: enable esModuleInterop TypeScript option
The `esModuleInterop` option is recommended to be enable by TypeScript and corrects several assumptions TypeScript would otherwise make when importing CommonJS files.
This option change helps ensure compatibility as packages move towards ESM.
Reference: https://www.typescriptlang.org/tsconfig#esModuleInterop
2021-06-13 11:45:55 -04:00
Charles Lyding
3b517c5c62 build: use native Node.js functions to create and remove directories
With the removal of support for Node.js v10, native Node.js functionality can be used to recursively create and remove directories within the dev infrastructure.
2021-06-03 19:51:37 +02:00
Joey Perrott
d66fe41be9 build: set up releasing using ng-dev 2021-05-19 12:04:27 +02:00
Charles Lyding
c1512e4274 build: update files to be eslint compliant
All TypeScript files have been updated to pass the new eslint-based linting checks. eslint compatible disabling comments have also been added in place of the previous tslint comments.
2021-05-03 07:31:02 -04:00
Alan Agius
fdbd49a4d0 refactor: move public api golden files under golden directory 2021-04-29 12:50:11 -04: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
Charles Lyding
de58b36536 test: remove unmaintained third-party tslint rules
The `tslint-sonarts` package is both deprecated and unmaintained. The rules provided by the package are now removed from the `tslint` configuration for the project.
2021-04-28 19:43:52 +02:00
Alan Agius
0b27cfb720 build: update minimum supported node.js version to 12.14
This is to match the ranges in the framework repo.
2021-04-27 17:26:56 +02:00
Joey Perrott
003854257c build: migrate all file header to use Google LLC rather than Google Inc 2021-04-27 08:35:22 +02:00
Keen Yee Liau
3227e89588 ci: remove unused --ci option from validate script 2021-04-13 11:50:43 -04:00
Alan Agius
e1180ab8bd ci: add Python-2.0 as a valid license
`Python-2.0` is in the same category as `MIT`, hence it's a valid license that we can allow.

This is needed for `verdaccio` version 5 which uses `argparse` which is licenced as `Python-2.0`.
2021-04-12 12:34:48 -04:00
Alan Agius
b6abef1ec8 docs: clean up scripts readme
Remove old scripts
2021-04-09 13:16:56 -04:00
Alan Agius
4c1b4ddb8a build: remove bots from changelog special thanks 2021-04-09 13:16:56 -04:00
Alan Agius
8f1a333e99 build: remove special-thanks script
This script is not used.
2021-04-09 13:16:56 -04:00
Alan Agius
fd2dbb37ca test(@angular-devkit/build-angular): clean up tests from ViewEngine code 2021-03-31 10:04:23 -06:00
Charles Lyding
33884189cb build: removed unused benchmark utility script
This script no longer performs any test actions as all package code that previously used it has been removed.
2021-03-30 14:34:19 -06: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
Alan Agius
9c91af6579 build: sort changelog by commit message scope
Previously `a.type - b.type` always returned NaN, which broke sorting
2021-03-18 19:09:53 +01:00
Alan Agius
d50810a3a6 build: update changelog to include perf commits 2021-03-18 17:16:40 +01:00
Alan Agius
4b0223b64e build: automate @angular/cli schema.json generation
With this change we automate the generation of `@angular/cli/lib/config/schema.json`. While on paper we could use quicktype for this. Quicktype doesn't handle `patternProperties` and `oneOf` that well.

How does this works?
Relative `$ref` will be resolved and inlined as part of the root schema definitions.

Example
```json
"@schematics/angular:enum": {
    "$ref": "../../../../schematics/angular/enum/schema.json"
},
```

Will be parsed and transformed to
```json
"@schematics/angular:enum": {
  "$ref": "#/definitions/SchematicsAngularEnumSchema"
},
"definitions: {
  "SchematicsAngularEnumSchema": {
    "title": "Angular Enum Options Schema",
    "type": "object",
    "description": "Generates a new, generic enum definition for the given or default project.",
    "properties": {...}
   }
}
```
2021-03-11 21:51:37 +01:00
Charles Lyding
c9868325a2 build: exclude workspace json test files from core package 2021-02-18 13:01:31 +01:00