@@ -7,9 +7,10 @@ import coveragePlugin, {
7
7
getNxCoveragePaths ,
8
8
} from './packages/plugin-coverage/src/index.js' ;
9
9
import eslintPlugin , {
10
- eslintConfigFromAllNxProjects ,
11
10
eslintConfigFromNxProject ,
12
11
} from './packages/plugin-eslint/src/index.js' ;
12
+ import type { ESLintTarget } from './packages/plugin-eslint/src/lib/config.js' ;
13
+ import { nxProjectsToConfig } from './packages/plugin-eslint/src/lib/nx/projects-to-config.js' ;
13
14
import jsPackagesPlugin from './packages/plugin-js-packages/src/index.js' ;
14
15
import jsDocsPlugin from './packages/plugin-jsdocs/src/index.js' ;
15
16
import type { JsDocsPluginTransformedConfig } from './packages/plugin-jsdocs/src/lib/config.js' ;
@@ -156,14 +157,25 @@ export const jsDocsCoreConfig = (
156
157
) ,
157
158
} ) ;
158
159
160
+ export async function eslintConfigFromPublishableNxProjects ( ) : Promise <
161
+ ESLintTarget [ ]
162
+ > {
163
+ const { createProjectGraphAsync } = await import ( '@nx/devkit' ) ;
164
+ const projectGraph = await createProjectGraphAsync ( { exitOnError : false } ) ;
165
+ return nxProjectsToConfig (
166
+ projectGraph ,
167
+ project => project . tags ?. includes ( 'publishable' ) ?? false ,
168
+ ) ;
169
+ }
170
+
159
171
export const eslintCoreConfigNx = async (
160
172
projectName ?: string ,
161
173
) : Promise < CoreConfig > => ( {
162
174
plugins : [
163
175
await eslintPlugin (
164
176
await ( projectName
165
177
? eslintConfigFromNxProject ( projectName )
166
- : eslintConfigFromAllNxProjects ( ) ) ,
178
+ : eslintConfigFromPublishableNxProjects ( ) ) ,
167
179
) ,
168
180
] ,
169
181
categories : eslintCategories ,
0 commit comments