@@ -7,9 +7,10 @@ import coveragePlugin, {
77 getNxCoveragePaths ,
88} from './packages/plugin-coverage/src/index.js' ;
99import eslintPlugin , {
10- eslintConfigFromAllNxProjects ,
1110 eslintConfigFromNxProject ,
1211} 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' ;
1314import jsPackagesPlugin from './packages/plugin-js-packages/src/index.js' ;
1415import jsDocsPlugin from './packages/plugin-jsdocs/src/index.js' ;
1516import type { JsDocsPluginTransformedConfig } from './packages/plugin-jsdocs/src/lib/config.js' ;
@@ -156,14 +157,25 @@ export const jsDocsCoreConfig = (
156157 ) ,
157158} ) ;
158159
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+
159171export const eslintCoreConfigNx = async (
160172 projectName ?: string ,
161173) : Promise < CoreConfig > => ( {
162174 plugins : [
163175 await eslintPlugin (
164176 await ( projectName
165177 ? eslintConfigFromNxProject ( projectName )
166- : eslintConfigFromAllNxProjects ( ) ) ,
178+ : eslintConfigFromPublishableNxProjects ( ) ) ,
167179 ) ,
168180 ] ,
169181 categories : eslintCategories ,
0 commit comments