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.
31 lines
1.1 KiB
JavaScript
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"])
|
|
),
|
|
}] : []),
|
|
]
|