diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs index 8b3a63e..f05df33 100644 --- a/.lintstagedrc.mjs +++ b/.lintstagedrc.mjs @@ -13,9 +13,11 @@ export default { // 1. Format first (auto-fixes what it can) commands.push(`prettier --write ${filenames.join(' ')}`); - // 2. Extract affected packages + // 2. Extract affected packages from absolute paths + // lint-staged passes absolute paths, so we need to extract the relative part const packages = [...new Set(filenames.map(f => { - const match = f.match(/^(apps|packages)\/([^/]+)\//); + // Match either absolute or relative paths: .../packages/shared/... or packages/shared/... + const match = f.match(/(?:^|\/)(apps|packages)\/([^/]+)\//); if (!match) return null; // Return package name format for turbo (e.g., "@mosaic/api") return `@mosaic/${match[2]}`; @@ -26,7 +28,7 @@ export default { } // 3. Lint entire affected packages via turbo - // --max-warnings=0 means ANY warning blocks the commit + // --max-warnings=0 means ANY warning/error blocks the commit packages.forEach(pkg => { commands.push(`pnpm turbo run lint --filter=${pkg} -- --max-warnings=0`); });