Spencer Elliott 5b6df632cb
fix(core): resolve webpack loaders with require.resolve() (#3436)
* 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.
2020-08-08 17:53:00 -04:00
..
2020-06-03 16:25:25 -04:00

{{links}}


Web Plugin for Nx

{{what-is-nx}}

{{getting-started}}

? Workspace name (e.g., org name) happyorg ? What to create in the new workspace
web components [a workspace with a single app built using web components] ?
Application name myapp ? Default stylesheet format CSS

If it's your first Nx project, the command will recommend you to install the nx package globally, so you can invoke nx directly without going through yarn or npm.

Serving Application

  • Run nx serve myapp to serve the newly generated application!
  • Run nx test myapp to test it.
  • Run nx e2e myapp-e2e to run e2e tests for it.

Adding Web Plugin Into an Existing Workspace

You can always add the web plugin to an existing workspace by installing @nrwl/web and then generating a web components application, as follows: nx g @nrwl/web:app myapp.

{{resources}}