Utility to find all workspace package paths in a monorepo setup. Can be used for the packageDir setting for the import-x/no-extraneous-dependencies ESLint rule.
npm install @nkzw/find-workspacesimport findWorkspaces from '@nkzw/find-workspaces';
console.log(findWorkspaces()); // Uses `process.cwd()` by default.
console.log(findWorkspaces('/path/to/your/project'));findWorkspaces supports pnpm, yarn, and npm workspace definitions. When both
pnpm-workspace.yaml and package.json workspaces are present, it unions the
patterns from both files.
# pnpm-workspace.yaml
packages:
- 'packages/*'
- 'apps/*'// package.json
{
"workspaces": ["packages/*", "apps/*"]
}// package.json
{
"workspaces": {
"packages": ["packages/*", "apps/*"]
}
}import findWorkspaces from '@nkzw/find-workspaces';
export default [
{
rules: {
'import-x/no-extraneous-dependencies': [
2,
{ packageDir: findWorkspaces() },
],
},
},
];