20 Commits

Author SHA1 Message Date
Jack Hsu
fdb488b394
feat(bundling): add option to generate sourcemaps for Rollup build (#27539)
This PR adds `sourceMap` option to `@nx/rollup:rollup` executor and the
`withNx` util (for Project Crystal). The same option is used for
Webpack.

## 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 #9199
2024-08-20 14:28:45 +00:00
Jack Hsu
2d2c0b5acb
fix(bundling): explicitly set types for exports entries in package.json (#27152)
We currently rely on the TS behavior of matching `d.ts` files based on
the `.js` file names. e.g. `foo.js` matches `foo.d.ts`. However, it
isn't working for all tools so we should explicitly set it.

Most modern packages are still setting it even though it is not
technically needed. e.g.
[Nuxt](https://unpkg.com/browse/nuxt@3.12.4/package.json)

Note: If both ESM and CJS are present, then prefer `*.esm.d.ts` files
since the generated types are in ESM format.

## Current Behavior
`exports` entries are missing `types` field

## Expected Behavior
`exports` entries have `types` field set

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

Fixes #18835
2024-07-26 12:23:46 -04:00
Jack Hsu
4e49d527ba
feat(bundling): extract rollup plugins into withNx function for use with run-commands (#26168)
This PR adds `withNx` function to `@nx/rollup/with-nx` so it can be used
in `rollup.config.js` to replicate what `@nx/rollup:rollup` executor
does without needing to use the executor.

e.g. 

```js
// rollup.config.js
const { withNx } = require("@nx/rollup/with-nx");

module.exports = withNx(
  {
    main: "./src/index.ts",
    outputPath: "./dist",
    tsConfig: "./tsconfig.lib.json",
    compiler: "babel",
    external: ["react", "react-dom", "react/jsx-runtime"],
    format: ["esm"],
    assets: [{ input: ".", output: ".", glob: "README.md" }],
  },
  {
    // Provide additional rollup configuration here. See: https://rollupjs.org/configuration-options
    // e.g.
    // output: { sourcemap: true },
  }
);
```


## Notes

1. Existing `@nx/rollup:rollup` continues to encapsulate rollup options
and will not support an isolated mode.
2. Newly created JS and React libs with `--bundler=rollup` will use the
new `withNx` function and explicit `rollup.config.js`.
3. If `NX_ADD_PLUGINS=false` or `useInferencePlugins: false` is set,
then new projects will continue to use the `@nx/rollup:rollup` executor.
2024-05-31 10:50:10 -04:00
Jack Hsu
5e08b153c9
feat(bundling): upgrade rollup to v4 (#22656) 2024-04-18 22:08:07 -04:00
Jack Hsu
430aecc156
fix(bundling): support exported array of options for rollup (#22703) 2024-04-05 15:45:19 -04:00
Colum Ferry
729e0a15ce
feat(bundling): crystalize rollup (#22045) 2024-02-29 13:56:09 -05:00
Colum Ferry
f046c52e5c
feat(bundling): rollup should support ESM config files (#21999) 2024-02-28 12:26:34 -05:00
Jack Hsu
903c4fe7c8
fix(js): update generated .swcrc file to align with @swc/core@1.3.85 (#19214)
Co-authored-by: Jason Jean <jasonjean1993@gmail.com>
2023-09-21 23:04:30 -04:00
Jason Jean
a906d91beb
chore(repo): disable failing e2e tests (#19200) 2023-09-15 17:45:26 -04:00
Jason Jean
50b62524f5
chore(misc): remove e2e utils that use internal nx functions (#19085) 2023-09-11 19:56:58 -04:00
Jack Hsu
99c44f9e88
fix(bundling): add faux-ESM files so "import" in Node works with both named and default exports (#18916) 2023-08-30 15:41:21 -04:00
Jack Hsu
226dfaf7a4
feat(js): carry-over known build options (main, tsConfig, etc.) when running setup-build generator (#18742) 2023-08-28 10:36:18 -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
Jack Hsu
661efa913d
feat(bundling): generate matching d.ts files for rollup (#18342) 2023-07-28 09:04:26 +02: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
Jason Jean
a0d18bb588
chore(repo): replace references to @nrwl in e2e tests (#16441) 2023-04-24 18:48:44 -04:00
Katerina Skroumpelou
b84125f9dd
fix(js): integrate buildable bundler and compiler options (#15376) 2023-03-03 09:56:57 -05:00
Craigory Coppola
73bc2e1c91
fix(bundling): libs generated with @nrwl/js:lib --bundler rollup should build (#15179) 2023-02-22 17:05:04 -05:00
Jack Hsu
49a67a528b
cleanup(bundling): perform project cleanup after rollup e2e (#12523) 2022-10-11 11:56:47 -04:00
Jack Hsu
dd6addefc3
feat(bundling): move rollup to its own plugin (#12009) 2022-09-15 14:55:06 -04:00