Skip to content

Commit

Permalink
fix(plugin-eslint): revert to explicit config file in nx helper
Browse files Browse the repository at this point in the history
  • Loading branch information
matejchalk committed May 29, 2024
1 parent 74241e8 commit ecd8264
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 3 deletions.
4 changes: 2 additions & 2 deletions packages/plugin-eslint/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Detected ESLint rules are mapped to Code PushUp audits. Audit reports are calcul
4. Add this plugin to the `plugins` array in your Code PushUp CLI config file (e.g. `code-pushup.config.js`).

Pass in the glob patterns for which files you wish to target (relative to `process.cwd()`).
Pass in the path to your ESLint config file, along with glob patterns for which files you wish to target (relative to `process.cwd()`).

```js
import eslintPlugin from '@code-pushup/eslint-plugin';
Expand All @@ -52,7 +52,7 @@ Detected ESLint rules are mapped to Code PushUp audits. Audit reports are calcul
// ...
plugins: [
// ...
await eslintPlugin(['src/**/*.js']),
await eslintPlugin({ eslintrc: '.eslintrc.js', patterns: ['src/**/*.js'] }),
],
};
```
Expand Down
6 changes: 6 additions & 0 deletions packages/plugin-eslint/src/lib/nx.integration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ describe('Nx helpers', () => {
it('should include eslintrc and patterns of each project', async () => {
await expect(eslintConfigFromAllNxProjects()).resolves.toEqual([
{
eslintrc: './packages/cli/.eslintrc.json',
patterns: [
'packages/cli/**/*.ts',
'packages/cli/package.json',
Expand All @@ -52,6 +53,7 @@ describe('Nx helpers', () => {
],
},
{
eslintrc: './packages/core/.eslintrc.json',
patterns: [
'packages/core/**/*.ts',
'packages/core/package.json',
Expand All @@ -62,6 +64,7 @@ describe('Nx helpers', () => {
],
},
{
eslintrc: './packages/nx-plugin/.eslintrc.json',
patterns: [
'packages/nx-plugin/**/*.ts',
'packages/nx-plugin/package.json',
Expand All @@ -73,6 +76,7 @@ describe('Nx helpers', () => {
],
},
{
eslintrc: './packages/utils/.eslintrc.json',
patterns: [
'packages/utils/**/*.ts',
'packages/utils/package.json',
Expand Down Expand Up @@ -114,6 +118,7 @@ describe('Nx helpers', () => {
expect(targets).toEqual(
expectedProjects.map(
(p): ESLintTarget => ({
eslintrc: `./packages/${p}/.eslintrc.json`,
patterns: expect.arrayContaining([`packages/${p}/**/*.ts`]),
}),
),
Expand Down Expand Up @@ -143,6 +148,7 @@ describe('Nx helpers', () => {
const targets = await eslintConfigFromNxProject(project);

expect(targets).toEqual({
eslintrc: `./packages/${project}/.eslintrc.json`,
patterns: expect.arrayContaining([`packages/${project}/**/*.ts`]),
});
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,15 @@ describe('nxProjectsToConfig', () => {

expect(config).toEqual<ESLintPluginConfig>([
{
eslintrc: './apps/client/.eslintrc.json',
patterns: expect.arrayContaining(['apps/client/**/*.ts']),
},
{
eslintrc: './apps/server/.eslintrc.json',
patterns: expect.arrayContaining(['apps/server/**/*.ts']),
},
{
eslintrc: './libs/models/.eslintrc.json',
patterns: expect.arrayContaining(['libs/models/**/*.ts']),
},
]);
Expand Down Expand Up @@ -105,6 +108,7 @@ describe('nxProjectsToConfig', () => {

expect(config).toEqual<ESLintPluginConfig>([
{
eslintrc: './libs/models/.eslintrc.json',
patterns: expect.arrayContaining(['libs/models/**/*.ts']),
},
]);
Expand Down Expand Up @@ -146,9 +150,11 @@ describe('nxProjectsToConfig', () => {

expect(config).toEqual<ESLintPluginConfig>([
{
eslintrc: './apps/client/.eslintrc.json',
patterns: expect.arrayContaining(['apps/client/**/*.ts']),
},
{
eslintrc: './apps/server/.eslintrc.json',
patterns: expect.arrayContaining(['apps/server/**/*.ts']),
},
]);
Expand Down Expand Up @@ -212,12 +218,14 @@ describe('nxProjectsToConfig', () => {

await expect(nxProjectsToConfig(projectGraph)).resolves.toEqual([
{
eslintrc: './apps/client/.eslintrc.json',
patterns: expect.arrayContaining([
'apps/client/**/*.ts',
'apps/client/**/*.html',
]),
},
{
eslintrc: './apps/server/.eslintrc.json',
patterns: expect.arrayContaining(['apps/server/**/*.ts']),
},
] satisfies ESLintPluginConfig);
Expand Down
2 changes: 1 addition & 1 deletion packages/plugin-eslint/src/lib/nx/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ export function getEslintConfig(
const options = project.targets?.['lint']?.options as
| { eslintConfig?: string }
| undefined;
return options?.eslintConfig;
return options?.eslintConfig ?? `./${project.root}/.eslintrc.json`;
}

0 comments on commit ecd8264

Please sign in to comment.