* feat(linter): add explicit file extension to config files
* feat(linter): update references to .eslintrc for new projects
* fix(linter): fix quotes in global eslint config
* feat(core): add flag to set dependant libs in either peerDependencies or dependencies
* fix(core): mark new property as optional
* feat(core): add migration for new option
* Update migrations.json
Co-authored-by: Jonathan Cammisuli <jon@cammisuli.ca>
* feat(testing): add projects into jest config
* chore(testing): update unit tests and fix presets with spreading a default
* chore(testing): fix node e2e
* chore(testing): review comment changes
* fix(node): use typescript directly to emit files rather than calling tsc
* chore(node): add migration to remove root dir from projects using @nrwl/node:package
* chore(node): fix unit tests
* chore(node): update package spec and e2es
* fix(core): resolve webpack loaders with `require.resolve()`
With strict package managers such as pnpm or Yarn PnP, transitive
dependencies are *not* hoisted to the root node_modules folder. This
means that a webpack config defined within a package like
'@nrwl/cypress' cannot resolve loaders like 'ts-loader', unless
'ts-loader' is declared in the workspace's own package.json.
This is a problem because the workspace might define a different version
of 'ts-loader', incompatible with the version declared by
'@nrwl/cypress/package.json'. The workspace should not need to declare
a dependency on 'ts-loader' anyway.
See also:
* https://github.com/pnpm/pnpm/issues/801
* https://github.com/webpack/webpack/issues/5087
* fix(core): resolve absolute 'raw-loader' path
When replacing the 'raw-loader' rule in the `getStylesPartial` function,
check for the absolute path of 'raw-loader' rather than just the name.
With strict package managers such as pnpm or Yarn PnP, transitive
dependencies are *not* hoisted to the root node_modules folder. This
means that a webpack config defined within a package like
'@nrwl/cypress' cannot resolve loaders like 'ts-loader', unless
'ts-loader' is declared in the workspace's own package.json.
This is a problem because the workspace might define a different version
of 'ts-loader', incompatible with the version declared by
'@nrwl/cypress/package.json'. The workspace should not need to declare
a dependency on 'ts-loader' anyway.
See also:
* https://github.com/pnpm/pnpm/issues/801
* https://github.com/webpack/webpack/issues/5087
This commits adds a proper logic to automatically update the tsconfig paths s.t. they correctly
point to the compiled version of potential other dependent publishable libraries.
Publishable node libraries should use the default npmScope prefix like @proj/mylib. Otherwise it
might lead to inconsistencies when using the library within the monorepo with @proj/mylib and when
publishing it.