diff --git a/src/signals/path-matchers.ts b/src/signals/path-matchers.ts index e982add501..a384049185 100644 --- a/src/signals/path-matchers.ts +++ b/src/signals/path-matchers.ts @@ -37,6 +37,7 @@ const LOCKFILE_NAMES: ReadonlySet = new Set([ "composer.lock", "gemfile.lock", "go.sum", + "go.work.sum", "uv.lock", "packages.lock.json", "flake.lock", @@ -78,12 +79,16 @@ const CONFIG_FILE_NAMES: ReadonlySet = new Set([ "makefile", ".editorconfig", ".nvmrc", + ".node-version", ".npmrc", + ".python-version", + ".ruby-version", ".browserslistrc", // Monorepo / task-runner config (Turborepo, Nx, Lerna). "turbo.json", "nx.json", "lerna.json", + "pnpm-workspace.yaml", // Linter / formatter config that does not follow the `.eslintrc` / `*.config.*` shapes (Biome). "biome.json", "biome.jsonc", diff --git a/test/unit/path-matchers.test.ts b/test/unit/path-matchers.test.ts index c9b1f70af7..58624014db 100644 --- a/test/unit/path-matchers.test.ts +++ b/test/unit/path-matchers.test.ts @@ -61,6 +61,7 @@ describe("isLockfile", () => { "pnpm-lock.yaml", "Cargo.lock", "go.sum", + "go.work.sum", "uv.lock", "poetry.lock", "bun.lock", @@ -165,7 +166,16 @@ describe("isNonSubstantivePaddingFile", () => { describe("isConfigFile", () => { it("matches config files by exact basename (case-insensitive)", () => { - for (const path of ["Dockerfile", "frontend/Makefile", ".editorconfig", "ci/.nvmrc", ".npmrc"]) { + for (const path of [ + "Dockerfile", + "frontend/Makefile", + ".editorconfig", + "ci/.nvmrc", + ".node-version", + ".npmrc", + ".python-version", + ".ruby-version", + ]) { expect(isConfigFile(path)).toBe(true); } }); @@ -175,6 +185,7 @@ describe("isConfigFile", () => { "turbo.json", "nx.json", "lerna.json", + "pnpm-workspace.yaml", "biome.json", "biome.jsonc", "packages/app/.gitignore",