44 Commits

Author SHA1 Message Date
Jack Hsu
86412cb99a
fix(webpack): add comment to explain useLegacyNxPlugin and how to remove it (#26696)
This PR adds a comment when `useLegacyNxPlugin` is used so users know
what it is, and how they can remove it.

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2024-06-26 14:44:21 -04:00
Nicholas Cunningham
b1dbf47aa2
feat(webpack): add convertConfigToWebpackPlugin (#26516)
This PR introduces functionality for users who currently use the
`withNx` and `withReact` plugins in their webpack configuration to
migrate to the `NxAppWebpackPlugin`.

The `nxUseLegacyPlugin` wraps the legacy style function so that it
continues to work with the standardized generated webpack config.

By implementing this change, the aim is to provide a consistent method
for users opting to transition to inferred targets. This ensures a
smoother migration process, offering better integration and reducing
potential configuration complexities.
2024-06-21 08:55:23 -04:00
Jack Hsu
8804f12450
feat(bundling): add convert-to-inferred generator for @nx/rollup (#26280)
This PR adds `@nx/rollup:convert-to-inferred` generator.


## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2024-06-13 13:52:55 -04:00
Craigory Coppola
b2e6662e19
chore(repo): dont use unit-test-setup during e2e (#26393)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2024-06-06 15:57:24 -04:00
Nicholas Cunningham
6292055aba
feat(webpack): Support incremental builds via buildLibsFromSource (#25060)
This PR adds the ability for incremental builds when using the Webpack
Plugin.

Instead of using the source library directly, you can now utilize the
output folder by utilizing the `buildLibsFromSource` option within your
webpack.config file, through `NxAppWebpackPlugin`. This means that
instead of accessing `mylib/src/index.ts`, it will access
`dist/mylib/index.js`.

This directly aligns with incremental builds as it ensures that the
build process only recompiles the source doe that has been modified
since the last build.
2024-05-27 14:04:15 -04:00
James Henry
24060dc650
chore(repo): prepopulate verdaccio storage for e2e-ci (#23429) 2024-05-16 10:06:25 -04:00
Jack Hsu
2e621f324c
feat(misc): v19 cleanup for Nx plugins (#23104)
This PR removes deprecated code that's been slated for removal in Nx 19
- mentioned as `TODO(v19)` comments.

## Breaking Changes

- **CNW:** `create-nx-workspace` no longer support `--preset=empty` and
`--preset=core`, use `--preset=apps` and `--preset=npm` respectively.
Deprecated in Nx 15.9.
- **Next.js:** `NX_` environment variables are no longer bundled into
Next.js apps, use `NEXT_PUBLIC` instead. Deprecated in Nx 16.8.
- **Webpack, Storybook, Esbuild:** `NX_` environment variables are no
longer bundled into browser bundles, use `NX_PUBLIC` instead. This
removes the possibility of intentional bundling of `NX_` variables.
Deprecated in Nx 18.
- **Cypress:** `cypressComponentConfiguration` generator removed from
`@nx/cypress`, use `configurationGenerator`instead. Deprecated in Nx
16.8.
- **Cypress:** `cypressProjectGenerator` generator removed from
`@nx/cypress`, use `configurationGenerator` instead. Deprecated in Nx
15.9.
- **Expo:** `withNxWebpack` removed from `@nx/expo`, use [metro
bundler](https://docs.expo.dev/guides/customizing-metro/)
(https://docs.expo.dev/guides/customizing-metro/) in app.json instead.
There is a migration to handle this in Nx 19. Deprecated in Nx 15.8.

## Deferred to v20

- **JS:** `classProperties.loose` option removed from `@nx/js/babel`
preset, use `loose` instead. Deprecated in Nx 17.0.
- **ESLint:** Low priority task to "deviations from
@typescript-eslint/recommended" for our lint rules. @JamesHenry will
look at this later before Nx 20, but it is unimportant.
- **React:** component testing does not work with Project Crystal, and
we need the executor + built-in webpack configs to run CT. Will do a
follow-up on this after Nx 19 release. Related issue:
https://github.com/nrwl/nx/issues/21546
- **Next.js:** `withStylus` removal from `@nx/next`, use SASS instead.
It hasn't worked, but we kept the file to throw an error when used.
Deprecated in Nx 17.0.
- **Next.js**: `@nx/next:component` and `@nx/next:page` generators to
not derive the `components` and `app`/`pages` directory. Use `nx g
@nx/next:component apps/myapp/components/button` instead. Deprecated in
Nx 17.0.
- **Webpack:** `isolatedConfig` option removal from
`@nx/webpack:webpack` executor. There is a migration to handle this in
Nx 19. Deprecated in in Nx 17.2.
- **Angular:** `executeWebpackDevServerBuilder` removal from
`@nx/angular/executors`, use `executeDevServerBuilder` instead.
Deprecated in Nx 17.0.
2024-05-02 13:37:12 -04:00
Jack Hsu
b8e6ebbf9a
feat(webpack): change plugin import paths to speed up config loading (#23021) 2024-04-26 10:41:59 -04:00
Jason Jean
df7e40d547
feat(repo): split e2e tests (#22927) 2024-04-25 10:13:03 -04:00
Jack Hsu
4fdf862700
fix(webpack): support standard webpack config with @nx/webpack:dev-server (#22660) 2024-04-03 15:37:05 -06:00
Jack Hsu
7d2a42027c
fix(webpack): resolve assets from executor options as relative to workspace root (#22544) 2024-03-27 21:36:19 -04:00
Jack Hsu
35321615b2
fix(webpack): pass options from executor to NxWebpackPlugin correctly (#22529) 2024-03-27 08:21:04 -04:00
Jack Hsu
8f02325136
fix(js): match core-js version with babel options (#22493) 2024-03-25 12:49:13 -04:00
Jack Hsu
b7ffb257a2
fix(bundling): prevent sensitive keys from being bundled (#22413) 2024-03-20 13:01:43 -04:00
Jack Hsu
e85f700f52
fix(webpack): fix webpack plugin issues and e2e tests (#21531) 2024-02-02 11:27:40 -05:00
Jason Jean
396ffc4636
feat(core): enable project crystal by default (#21403)
Co-authored-by: Katerina Skroumpelou <sk.katherine@gmail.com>
Co-authored-by: Jack Hsu <jack.hsu@gmail.com>
Co-authored-by: Colum Ferry <cferry09@gmail.com>
Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
Co-authored-by: Emily Xiong <xiongemi@gmail.com>
Co-authored-by: Nicholas Cunningham <ndcunningham@gmail.com>
2024-02-02 03:40:59 -05:00
Emily Xiong
6141f44203
feat(core): add keepExistingVersions to all packages (#21169) 2024-01-17 14:22:58 -05:00
Jason Jean
5d9b4c5224
feat(testing): add jest create-nodes plugin (#20045) 2024-01-11 14:54:04 -05:00
James Henry
d819e6cee8
fix(release): capture all release titles during parse (#20864) 2023-12-21 23:22:23 +00:00
Jack Hsu
507fe42e4f
feat(webpack): add plugin to automatically configure build and serve targets (#20243) 2023-11-28 13:01:03 -05:00
Emily Xiong
f72c93ef51
fix(webpack): should not extract css when extractCss is false (#20415) 2023-11-27 17:32:41 -05:00
Jack Hsu
000c98cd00
fix(webpack): maintain entry arrays that are accessed from within composePlugins() (#20187) 2023-11-10 13:20:58 -05:00
Jack Hsu
395eb70336
feat(webpack): add NxWebpackPlugin that works with normal Webpack configuration (#19984) 2023-11-08 11:03:34 -05:00
Jason Jean
50b62524f5
chore(misc): remove e2e utils that use internal nx functions (#19085) 2023-09-11 19:56:58 -04:00
Emily Xiong
40d66ec715
chore(core): remove readProjectsConfigurations from workspaces (#18329)
Co-authored-by: FrozenPandaz <jasonjean1993@gmail.com>
2023-08-15 14:48:40 -04:00
MaxKless
59f696c85b
cleanup(misc): remove outdated run-e2e-tests targets (#18147) 2023-07-17 15:05:39 -04:00
Jack Hsu
24e45d494f
feat(bundling): rename esbuild-project, rollup-project, and webpack-project generators to "configuration" generators for consistency in naming (#18003) 2023-07-07 13:59:41 -04:00
Jack Hsu
9fa9fda61d
fix(bundling): support BABEL_ENV over NODE_ENV for babel config (#17529) 2023-06-09 16:26:43 -04:00
Emily Xiong
075ac2545d
chore(repo): change e2e to use verdaccio executor (#17347) 2023-06-07 12:26:43 -04:00
Jason Jean
a0d18bb588
chore(repo): replace references to @nrwl in e2e tests (#16441) 2023-04-24 18:48:44 -04:00
Jason Jean
2d195007b0
feat(core): switch packages to use the @nx scope (#16069) 2023-04-14 19:56:37 -04:00
Jack Hsu
d7cd1538e5
fix(bundling): default Node scriptType to CommonJS since it has the widest compatibility (#15483) 2023-03-06 21:45:33 +00:00
Katerina Skroumpelou
b84125f9dd
fix(js): integrate buildable bundler and compiler options (#15376) 2023-03-03 09:56:57 -05:00
Jason Jean
92610fe4b6
chore(repo): update nx to 15.8.0-beta.7 (#15293) 2023-02-27 17:24:06 -05:00
Jason Jean
84fedf36e0
Revert "chore(repo): update nx to 15.8.0-beta.6" (#15274) 2023-02-26 12:39:15 -05:00
Jason Jean
3c50474f40
chore(repo): update nx to 15.8.0-beta.6 (#15247) 2023-02-26 02:26:53 -05:00
Nicholas Cunningham
eb977bfd6c
fix(js): default build should work when rollup is selected (#14971) 2023-02-22 10:32:26 -07:00
Jason Jean
6b1d0c6934
chore(linter): fix non-deterministic snapshots for convert tslint to … (#14905) 2023-02-09 19:04:19 -05:00
Craigory Coppola
7992ec618f
chore(repo): setup negative config for several targets (#14080) 2023-01-04 11:34:50 -05:00
Craigory Coppola
f311ecbdd7
chore(repo): remove workspace.json (#13040) 2022-11-08 13:12:31 -05:00
Victor Savkin
23de788b5e
chore(repo): update to 15.0.0-rc1 (#12586) 2022-10-13 18:34:24 -04:00
Jack Hsu
c3e060247c
fix(bundling): set NODE_ENV correctly to avoid warnings (#12331) 2022-09-30 02:56:14 +00:00
Jack Hsu
0baae01e37
fix(js): update library generator for webpack and rollup bundler (#12183) 2022-09-22 14:50:17 +00:00
Jack Hsu
f49769a34a
feat(webpack): add webpack plugin (#11966) 2022-09-12 21:19:50 +01:00