Files
pnpm/eslint.config.mjs
Zoltan Kochan 68445b254a fix: harden dependency verification and package handling (#16613)
Verify configuration dependency registry resolutions before installing
plugins, with independently checked pinned tarballs. Require config dependencies to resolve from a registry and skip
registry verification when the installed config dependencies already match
the lockfile.

Constrain archive and deployment paths and preserve content-addressed files
when streaming package entries. Bound metadata allocation before the archive
parser buffers it, using an opt-in patch to the upstream tar crate. Bound
publishing manifest and README buffers without imposing a total extraction
disk quota.

Bind audit signatures to lockfile integrity, hash ambiguous URL dependency
directory names, and sanitize license terminal output. Preserve dependency
error context and structured fatal logs. Update affected documentation,
release notes, and regression coverage.
2026-10-05 22:09:01 +02:00

31 lines
1.1 KiB
JavaScript

import eslintConfig, { sizeAndShapeRules } from "@pnpm/eslint-config";
import * as regexpPlugin from "eslint-plugin-regexp";
// Packages whose code still exceeds the size and shape limits. Remove a
// package from this list once it is refactored to pass them.
const PENDING_SIZE_AND_SHAPE_REFACTOR = [
".meta-updater/**",
]
export default [
{
ignores: ["**/fixtures", "**/__fixtures__", "**/node_modules", "**/lib", ".claude/**", "bench-work-env/**", "target/**", "**/example"],
},
...eslintConfig,
regexpPlugin.configs['flat/recommended'],
{
files: ["pnpm11/pnpm/src/**/*.ts"],
rules: {
"import-x/no-extraneous-dependencies": "off",
},
},
...(PENDING_SIZE_AND_SHAPE_REFACTOR.length > 0 ? [{
files: PENDING_SIZE_AND_SHAPE_REFACTOR,
rules: Object.fromEntries(
Object.keys(sizeAndShapeRules)
.filter((rule) => rule !== "perfectionist/overly-complex-condition" && rule !== "perfectionist/overly-long-method-chain")
.map((rule) => [rule, "off"])
),
}] : []),
]