18 Commits

Author SHA1 Message Date
Leosvel Pérez Espinosa
f39c1f991e
cleanup(linter): deprecate the Linter enum (#30875)
Properly deprecate the `Linter` enum in favor of the `LinterType` union
type and remove unneeded internal usages.
2025-04-29 12:39:36 -04:00
Leosvel Pérez Espinosa
4b70d1b206
feat(testing): add support for the ts solution config setup to the playwright plugin (#28636)
<!-- 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` -->

<!-- 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-10-28 14:49:04 -04:00
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
Isaac Mann
839dc1585b
feat(devkit): prefer strings over Linter enum (#27209)
We should be consistent about how options are defined in our plugins.
Currently, there are some options that use `enum`s and some that use
typed strings. I think typed strings are preferable because someone
extending a generator only needs to import the main generator that
they're extending, not all the transitive dependencies of that
generator.

Current extending code:
```
// ...
import { applicationGenerator as reactApplicationGenerator } from '@nx/react';
import { Linter } from '@nx/eslint';

export async function applicationGenerator(
  tree: Tree,
  options: ApplicationGeneratorSchema
) {
  reactApplicationGenerator(tree, {
    ...options,
    linter: Linter.EsLint,
  });
}
```

Desired extending code:
```
// ...
import { applicationGenerator as reactApplicationGenerator } from '@nx/react';

export async function applicationGenerator(
  tree: Tree,
  options: ApplicationGeneratorSchema
) {
  reactApplicationGenerator(tree, {
    ...options,
    linter: 'eslint',
  });
}
```

The problem is not just an extra line of code, the person extending the
`reactApplicationGenerator` has to dig into the implementation details
of the generator itself in order to know where to find the `Linter`
enum. The `e2eTestRunner` is already a typed string and is easily
extended.

The solution I'm proposing in this PR would define a typed string in the
same file as the existing enum. None of the implementations need to
change. No community plugin code will be broken.
2024-08-19 17:07:28 -04:00
Leosvel Pérez Espinosa
9af7386d61
fix(testing): check for project eslint config file in cypress and pla… (#23401)
…ywright configuration generators

<!-- 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 #21301
2024-05-15 10:45:36 -04: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
Jack Hsu
05b0848eb5
feat(devkit): add loadConfigFile function for plugins to use (#21511) 2024-02-01 22:46:04 -05:00
Jack Hsu
7a83e12234
feat(core): add support for loading .ts files using ESM (#21268) 2024-01-31 13:49:06 +00:00
Nicholas Cunningham
544a2c4975
fix(testing): Inline projects inside playwright.config.ts (#21188) 2024-01-17 13:34:34 -05:00
Craigory Coppola
2374d8eaba
feat(testing): add create-nodes plugin for playwright e2e targets (#20099) 2023-12-20 16:34:32 -05:00
Miroslav Jonaš
ff5d1bef83
feat(linter): default lintFilePatterns to {projectRoot} (#20313) 2023-11-27 08:39:38 -05:00
Miroslav Jonaš
0bc693342e
feat(linter): rename @nx/linter to @nx/eslint (#19515) 2023-10-16 11:52:19 -04:00
Miroslav Jonaš
e34219ab96
feat(linter): add flat config support to generators (#18534) 2023-08-23 01:36:58 +02:00
Shahar Kazaz
70241086be
fix(testing): make playwright nxE2EPreset options optional (#18729) 2023-08-21 13:01:21 -04:00
Jack Hsu
14b3f42900
feat(testing): update generated Playwright test and config (#18282) 2023-07-24 15:13:34 -04:00
Emily Xiong
8407d7aedf
feat(testing): add lint target for playwright (#18233) 2023-07-21 11:48:40 -04:00
Caleb Ukle
4ffc68e18b
feat(testing): add playwright e2e preset (#18194) 2023-07-19 13:07:43 -05:00
Emily Xiong
e5e561d648
feat(testing): add playwright configuration generator (#18013) 2023-07-14 12:17:10 -04:00