* fix(js): mimic the behavior of tsc compilation for runTypeCheck
ISSUES CLOSED: #9203
* chore(js): add check for type defs files in e2e
Co-authored-by: Chau Tran <ctran@Chaus-MacBook-Pro.local>
* docs(angular): update angular cli migration docs to reflect the generator relocation to @nrwl/angular
Co-authored-by: Jason Jean <jasonjean1993@gmail.com>
Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
* cleanup(angular): move the angular cli migration generator from @nrwl/workspace to @nrwl/angular
* cleanup(angular): support merged packages (cli, tao, nx)
* cleanup(angular): update make-angular-cli-faster to support packages consolidation
The current implementation of the node executor resolves all npm
modules that are referenced by the application from the root
node_modules folder. This behavior leads to runtime errors if any of
the project dependencies requires a different version of a package
than the project itself.
For example, if we have a project that depends on `express` in version
`4.17.3` (which on the other hand depends on `path-to-regexp` version
`0.1.7`) as well as on `path-to-regexp` in version `6.2.0`. In such
case `express` will throw a runtime error since it would load
`path-to-regexp` version `6.2.0` which is not API compatible.
For this reason, this commit changes the behavior of the node-executor
so that it completely ignores npm dependencies when calculating
resolve mappings.
The Node documentation for `exec` states:
> Never pass unsanitized user input to this function. Any input containing shell metacharacters may be used to trigger arbitrary command execution.
The `folder` variable comes directly from the `NX_CACHE_DIRECTORY` environment variable (or from `nx.json`). Careful crafting of this variable can result in NX executing arbitrary commands.
This patch fixes this by using `execFile`, which does not spawn a shell.
The Node documentation for `exec` states:
> Never pass unsanitized user input to this function. Any input containing shell metacharacters may be used to trigger arbitrary command execution.
The `outputPath`, `options.buildTarget` and `options.maxParallel` come from `nx.json`. Careful crafting of these fields can result in NX executing arbitrary commands.
This patch fixes this by using `execFile`, which does not spawn a shell.
When using the flag `--defaults` I get `Use --no-interactive instead of --defaults. The --defaults option will be removed in Nx 13` although I'm already using Nx 13.7.1. When using `--no-interactive`, no message is showing up.
* feat(core): ability to run local nx plugins generators and executors
* feat(core): support for project inference and graph extension local plugins
* chore(core): cleanup after package relocation
* chore(core): changes for review