27 Commits

Author SHA1 Message Date
Charles Lyding
acc22a399f refactor(@angular/cli): remove async from abstract functions
This is in preparation to support TypeScript 4.1.  Within TypeScript 4.1 abstract class members cannot be marked as async.
2020-11-05 08:31:35 +01:00
Alan Agius
90988aaf52 fix(@angular/cli): collect analytics option usage from workspace config and prompts
With this change we fix two analytics collection bugs:
- We now collect the usage of options defined in the workspace config (angular.json).
- We now also collect values set via schematic prompts.

Closes: #17900
2020-10-07 09:54:59 -04:00
Charles Lyding
b2b536789b refactor(@angular/cli): discover/load workspace on startup
Previously, the workspace configuration file was found and loaded by individual commands potentially multiple times.  This change moves the initial workspace location discovery and loading of the workspace to the CLI startup.  It also provides the workspace to each command so that the commands can reuse the already loaded and parsed workspace configuration.
2020-10-02 07:53:07 -04:00
Charles Lyding
5275892f63 refactor(@angular/cli): remove any type usage 2020-08-24 07:50:01 -04:00
Alan Agius
05588fcee1 refactor: clean up unused code and imports 2020-07-24 08:01:52 +02:00
Charles Lyding
b630317b4b refactor(@angular/cli): convert workspace access to async
This is in preparation for conversion from the experimental workspace API to the stable workspace API.
2019-08-16 09:32:04 -07:00
Hans Larsen
ce4e9f1d80 fix(@angular/cli): pass in metrics to the pageview for commands
We might want to pass those later.
2019-06-28 10:49:27 -07:00
Charles Lyding
c4313f55e4 refactor(@angular/cli): unify color handling and support 2019-06-24 17:27:59 -07:00
Charles Lyding
7a72f2fb17 refactor(@angular/cli): avoid aggressive eager command loading
Currently, upon execution `ng` will load all description files AND code for all available commands.  This requires a large amount of unnecessary file access and processing since only at most one command will be executed.  This change limits the loading to only command being executed in the common case and a subset of commands in the event an alias is used.  The help command now loads all commands during its execution which is needed to gather command description information.  Further improvements are possible by only loading the necessary metadata instead of the execution code (and its dependencies) as well.
This change allows for savings of ~250ms per execution.

Examples:
Before -- `./node_modules/.bin/ng version  0.99s user 0.17s system 113% cpu 1.020 total`
After -- `./node_modules/.bin/ng version  0.70s user 0.13s system 110% cpu 0.749 total`

Before -- `./node_modules/.bin/ng g c a  1.91s user 0.30s system 111% cpu 1.996 total`
After -- `./node_modules/.bin/ng g c a  1.62s user 0.27s system 110% cpu 1.715 total`
2019-05-10 15:04:32 -07:00
Hans Larsen
600b0218fd feat(@angular/cli): add tracking for command duration 2019-03-28 13:28:41 -07:00
Hans Larsen
cf5cf19bb5 feat(@angular/cli): add analytic support to commands and command-runner
This is only reporting commands and their flags right now, and not
schematics or project analytics.
2019-03-20 15:08:07 -07:00
Alan Agius
31783140b8 fix(@angular/cli): show full path to project definition when already exists
Fixes #13138
2018-12-06 11:50:08 -08:00
Alan Agius
0dc4c40dd3 fix(@angular/cli): multiline help descriptions are not aligned 2018-10-23 12:00:30 -07:00
Charles Lyding
91cf2d7b9f fix(@angular/cli): allow global config command outside project
Fixes #12296
2018-09-25 17:05:15 -04:00
Hans
0b959d1233 * fix(@angular/cli): remove helpJson and help-json mentions (#12331)
* fix(@angular/cli): remove helpJson and help-json mentions

* ci: use proper --help=json for creating snapshot
2018-09-20 14:45:09 -07:00
Hans
f7f5b28dae feat(@angular/cli): if parsing comes accross an obvious error throw it
We accumulate errors this way, and throw only once at the end, with messages for
all errors.
2018-09-19 13:02:40 -07:00
Hans
fcbc7db54f feat(@angular/cli): remove --help-json and add format to help
--help now accepts a value which can be a boolean or a string. If the value
is not understood we simply show a message to the user that it was invalid.
2018-09-19 13:02:40 -07:00
Hans
34818b0346 feat(@angular/cli): add subcommand to options
SubCommands are not tied to the option that triggers them. They
contain a subset of a CommandDescription interface, with at least
a short and long description and usage notes. These are generated
from the subcommand schema (e.g. schematics in case of generate).
2018-09-19 13:02:40 -07:00
Hans Larsen
30b0cbda0d refactor(@angular/cli): automated JSON schema interface generation 2018-09-13 16:44:17 -07:00
Charles Lyding
57a32c2ef5 fix(@angular/cli): show an error if invalid global config file found
Fixes #12198
2018-09-12 16:00:04 -07:00
Hans
7ffd3b3033 refactor(@angular/cli): rename project to workspace and clean up
Removed unnecessary fields in interfaces, added some comments. Overall QoL.
2018-09-06 07:37:48 -07:00
Hans
ff1baab7fc feat(@angular/cli): remove yargs-parser and implement parsing
This is fully backward compatible.
2018-09-06 07:37:48 -07:00
Hans
a7b9ee5856 refactor: cleanup and better documentation / comments (hidden from release log) 2018-08-13 20:58:47 -07:00
Mike Brocchi
ae9817b7ee feat(@angular/cli): Update commands to extract meta data into JSON 2018-08-13 20:58:47 -07:00
Hans
a0978b1db3 refactor: fix types to remove any
require() returns any so we were missing some typing errors.
2018-07-11 13:35:35 -07:00
Alex Eagle
d1e392fa78 refactor: add missing license headers under packages/angular/cli 2018-06-06 15:11:31 -07:00
Hans Larsen
44086c60ff build: move devkit repo back to angular-cli 2018-06-05 18:50:06 -07:00