61 Commits

Author SHA1 Message Date
James Henry
68eeb2eeed
feat(linter): create new workspaces with ESLint v9 and typescript-eslint v8 (#27404)
Closes #27451

---------

Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
Co-authored-by: Jack Hsu <jack.hsu@gmail.com>
2024-09-12 16:02:27 -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
Colum Ferry
5813bb321c
chore(repo): ensure changes to vite plugin are handled correctly (#23578)
<!-- 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 -->
Updating the vite plugin and the config it produces should correctly
fail where needed.
Currently, `@nx/vite` depends on `@nx/js`, however, `@nx/js` also
depends on `@nx/vite`.
There is a circular dependency there which is more difficult to
circumvent.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
To avoid circular dependency issues, move the tests that test the output
of `vite.config.ts` to the `@nx/vite:configuration` specs from the
`@nx/js:library` specs.


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

Fixes #
2024-05-20 15:49:08 +01:00
Jason Jean
bf206e578e
feat(misc): non conflicting init/add flow (#22791) 2024-04-15 16:45:08 -04:00
Colum Ferry
7dcd043362
fix(js): do not default to commonjs type field in package.json (#22819) 2024-04-15 15:55:34 +01:00
Austin Fahsl
38179ad278
feat(js): replace publish script with nx release config (#21474) 2024-03-05 17:53:07 -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
Miroslav Jonaš
03257e2503
feat(linter): move common options to target defaults (#20583) 2024-01-09 09:12:47 +00:00
Katerina Skroumpelou
ff624a36d5
fix(js): fixing output based on test runner selection (#20788)
Co-authored-by: Alyssa Evans <alyda@me.com>
2023-12-15 17:03:41 +02:00
Jack Hsu
6317219369
chore(js): remove failing snapshot from js unit test (#20480) 2023-11-29 13:37:12 -05:00
Miroslav Jonaš
ff5d1bef83
feat(linter): default lintFilePatterns to {projectRoot} (#20313) 2023-11-27 08:39:38 -05:00
Nicholas Cunningham
04e4e25db1
fix(js): should respect vitest test environment (#19859) 2023-10-26 09:17:29 -06:00
Leosvel Pérez Espinosa
81e8d12ed1
fix(misc): do not normalize project name and root when using as-provided format (#19651) 2023-10-17 17:53:48 -04:00
Katerina Skroumpelou
541af1129f
fix(vite): configuration generator fixes (#19628) 2023-10-16 19:20:42 +03:00
Miroslav Jonaš
0bc693342e
feat(linter): rename @nx/linter to @nx/eslint (#19515) 2023-10-16 11:52:19 -04:00
Jack Hsu
74c812e2e8
chore(js): update js plugin unit tests to use "as-provided" option when generating apps/libs (#18894) 2023-08-29 20:17:06 +00:00
Jack Hsu
90ca436d81
feat(linter): add option to ignore files based on pattern (#18863) 2023-08-28 16:27:14 -04:00
Jack Hsu
810b584c33
fix(js): generate ts standalone project with better import path (#18197) 2023-07-25 16:35:29 -04:00
Miroslav Jonaš
f4f4eb66e2
feat(linter): add dependency-checks to buildable lib generator (#18015) 2023-07-20 10:28:20 -04:00
Jack Hsu
b07d24ef42
feat(js): create package.json with proper defaults (#18091)
Co-authored-by: Miroslav Jonaš <meeroslav@users.noreply.github.com>
2023-07-18 08:53:18 +02:00
Ashley Hunter
fbf8d9c99f
feat(js): adding simpleName option to library generator (#16025) 2023-04-27 11:28:34 -04:00
Jason Jean
7b0f96b1ba
feat(nx-plugin): simplify generated plugin code (#16590) 2023-04-26 18:38:04 -04:00
Jason Jean
739b4c2924
feat(linter): rename @nx/eslint-plugin-nx to @nx/eslint-plugin (#16420) 2023-04-20 13:25:56 -04:00
Jason Jean
76dfc62412
feat(web): replace usages of @nrwl with @nx (#16376) 2023-04-19 10:59:41 -04:00
Jason Jean
5a0a4e8d26
feat(repo): replace usages of @nrwl/ with @nx/ in tooling packages (#16351) 2023-04-18 12:15:33 -04:00
Jason Jean
2d195007b0
feat(core): switch packages to use the @nx scope (#16069) 2023-04-14 19:56:37 -04:00
Caleb Ukle
85b3315b34
chore(misc): update snapshots to latest format (#16276) 2023-04-14 11:29:06 -04:00
Jason Jean
4a55ee9a33
fix(js): run prettier with default options when theres no prettierrc (#15888) 2023-03-27 18:00:24 -04:00
Katerina Skroumpelou
16ad3086be
fix(js): libraries should be buildable by default (#15533) 2023-03-09 14:20:19 -05:00
Phillip Barta
8c1d035b0b
feat(js): added a minimal option to the library generator (#13561) 2023-03-03 19:32:57 +00:00
Katerina Skroumpelou
b84125f9dd
fix(js): integrate buildable bundler and compiler options (#15376) 2023-03-03 09:56:57 -05:00
Chau Tran
281881d268
fix(js): use .swcrc for swcrc path for swc lib (#15205) 2023-02-24 08:55:47 -05:00
Caleb Ukle
8a97b43eb1
feat(testing): jest 29 support (#14701) 2023-02-23 14:30:47 -06:00
Chau Tran
2f4f28760f
fix(js): generate correct build options for rollup bundler; by defaul… (#15184) 2023-02-23 10:01:15 -05:00
Katerina Skroumpelou
5d54f71398
fix(webpack): add babelUpwardRootMode (#15061) 2023-02-17 17:09:57 +00:00
Jack Hsu
5e11adbba4
feat(js): move babel preset to @nrwl/js/babel so @nrwl/web is not… (#14478) 2023-01-23 15:32:07 +00:00
Jack Hsu
e240339f33
feat(js): add --bundler=vite support for JS libs (#13716) 2022-12-09 14:36:09 -05:00
Jason Jean
61d7d74378 fix(misc): fix tsconfig file includes 2022-12-05 10:39:03 -05:00
Victor Savkin
16fd4374d6 feat(misc): derive workspace layout dynamically 2022-11-23 15:45:13 -05:00
Juri Strumpflohner
66a4cc4428
feat(js): use shorter dependsOn syntax for project configuration (#12564) 2022-10-13 15:42:56 +07:00
Jason Jean
9d06b3c084
fix(misc): remove remaining usages of @nrwl/workspace:run-commands executor (#12299) 2022-09-28 19:29:21 -04:00
Craigory Coppola
9b63ce167a
feat(core): don't generate workspace.json for v2 workspaces (#12127) 2022-09-27 23:16:22 +00:00
Craigory Coppola
458fc36014
chore(misc): split create tree with empty workspace to remove parameter (#10188)
* feat(devkit): split create-empty-tree to different functions

* chore(repo): apply migration for createEmptyTree

* cleanup(misc): fix tests that migration misses
2022-08-11 19:24:04 -04:00
Caleb Ukle
ecf88a6995
fix(testing): update v14 migration and migrate jest.config.ts to use export default (#10035)
* fix(testing): jest.preset.ts => jest.preset.js

* fix(testing): update to export default

* fix(testing): migration for moving to export default

* fix(testing): add eslint ignore comments for jest config properties

fixes: #10021

* fix(testing): update tsconfig.spec.json for next apps with project parserOptions

fixes: #9982

* fix(testing): prevent renaming root jest preset

fixes: #9973

* fix(testing): update snapshots for export default

* fix(testing): bump migration version to run

* fix(testing): make sure default jest tests pass for various projects

* fix(js): generate correct jest config for --compiler=swc --js
2022-05-11 18:04:29 +00:00
Daniele Tortora
664df0e849
feat(js): add --includeBabelRc flag for @nrwl/js:library generator (#8793, #8600) (#10055)
* fix(js): fix(js): adding missing babelrc for tsc compiled libraries

ISSUES CLOSED: #8600, #8793

ISSUES CLOSED: #8600, #8793

* feat(js): adds the --skipBabelConfig flag to prevent .babelrc file generation

ISSUES CLOSED: #8600, #8793
ISSUES CLOSED: #8600, #8793

* feat(js): adds the --includeBabelRc flag to the library generator

adds the --includeBabelRc flag to the library generator, and a mechanism to automatically detect the
nrwl/web plugin, which requires auto-generation of the babelrc even when not explicitly set by the
user

ISSUES CLOSED: #8600, #8793
2022-05-04 10:58:34 -05:00
Jack Hsu
c5a5eb30a2
fix(js): update minimal publish script to validate project name and config (#10006) 2022-04-26 11:10:15 -04:00
Caleb Ukle
88971468db
fix(testing): pass --js flag to jest generators (#9965) 2022-04-22 22:43:59 -04:00
Caleb Ukle
39331d1e17
feat(testing): move jest config to .ts files (#9854)
* feat(testing): move jest config to .ts

move jest config and preset to ts files

ISSUES CLOSED: #8344

* fix(testing): update tests for jest.config.ts changes

update tests broken by renaming jest fils to ts files
2022-04-21 17:58:40 +00:00
Chau Tran
2735aa08df
feat(js): add publish target and generate minimal publish script for … (#9806)
* feat(js): add publish target and generate minimal publish script for publishable libraries

* fix(js): adjust minimal publish script to display better error for version validation

* Update packages/js/src/utils/minimal-publish-script.ts

Co-authored-by: Caleb Ukle <caleb@nrwl.io>

Co-authored-by: Caleb Ukle <caleb@nrwl.io>
2022-04-12 15:20:24 -05:00
Jason Jean
5c0da2f635
fix(js): fix inconsistent tsconfig module casing (#9320) 2022-03-14 20:32:29 +00:00