You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🚀 Feature request or 🐞 bug depending on your point of view
Command (mark with an x)
new
build
serve
test
e2e
generate
add
update
lint
xi18n
run
config
help
version
doc
Description
The @angular-devkit/build-angular package imports a couple of packages that it doesn't list in it's dependencies or peerDependencies.
When angular is installed using a package manager that doesn't use node_modules (e.g. yarn 2 with plug'n'play), the @angular-devkit/build-angular package cannot access these unlisted dependencies anymore.
Using a package manager that uses node_modules (yarn without PnP, npm, …) this works because the node_modules dependency resolution algorithm is quite forgiving.
Describe the solution you'd like
List these hidden dependencies as (optional) peer dependencies of the @angular-devkit/build-angular package.
The list of hidden dependencies includes, after a cursory search, at least the following packages:
karma
typescript
node-sass
protractor
tslint
Describe alternatives you've considered
Don't support yarn 2.
Yarn 2 supports "package extensions" for explicitly this use case: to patch packages that are missing some dependencies and/or peerDependencies.
This of course means these package extensions need to be added somewhere:
Everyone can add them to their own projects, this is by far the worst option
Yarn has a compatibility plugin, to support popular packages until they upstream the necessary changes.
A custom yarn plugin could include package extensions as well.
Yarn 2 has a "pnpify" binary that mocks a node_modules file structure. This requires everyone to run Angular CLI commands as yarn pnpify ng and it adds extra startup time to every angular CLI process and every nodejs process spawned by the angular CLI.
The text was updated successfully, but these errors were encountered:
Yarn 2.0 support is being actively investigated but is not officially supported at this time.
Please see this newly created issue for information and progress regarding Yarn 2.0 support: #16980
🚀 Feature request or 🐞 bug depending on your point of view
Command (mark with an
x
)Description
The
@angular-devkit/build-angular
package imports a couple of packages that it doesn't list in it'sdependencies
orpeerDependencies
.When angular is installed using a package manager that doesn't use node_modules (e.g. yarn 2 with plug'n'play), the
@angular-devkit/build-angular
package cannot access these unlisted dependencies anymore.Using a package manager that uses node_modules (yarn without PnP, npm, …) this works because the node_modules dependency resolution algorithm is quite forgiving.
Describe the solution you'd like
List these hidden dependencies as (optional) peer dependencies of the
@angular-devkit/build-angular
package.The list of hidden dependencies includes, after a cursory search, at least the following packages:
Describe alternatives you've considered
This of course means these package extensions need to be added somewhere:
yarn pnpify ng
and it adds extra startup time to every angular CLI process and every nodejs process spawned by the angular CLI.The text was updated successfully, but these errors were encountered: