* test: use sha512 integrity in fixtures to fix ci break * test: update snapshots for sha512 fixture change * chore(deps): remove unneeded peer dependency exception The `peerDependencyRules.allowedVersions` exception on `@typescript-eslint/eslint-plugin` no longer seems to be necessary. Removing it does not introduce any new peer dependency errors on `pnpm install`. I suspect this was needed for the `eslint-config-standard-with-typescript` dependency in the past, but a @typescript-eslint/eslint-plugin upgrade made it no longer necessary. * chore(deps): update @typescript-eslint dependencies 5.62.0 -> 6.5.0 @typescript-eslint 6.5.0 is the first version to introduce support for TypeScript 5.2. https://github.com/typescript-eslint/typescript-eslint/releases/tag/v6.5.0 ``` ============= WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree. You may find that it works just fine, or you may not. SUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.2.0 YOUR TYPESCRIPT VERSION: 5.2.2 Please only submit bug reports when using the officially supported version. ``` * chore(deps): update eslint-config-standard-with-typescript 37.0.0 -> 39.0.0 Version 38.0.0 is the first version to support @typescript-eslint v6. https://github.com/standard/eslint-config-standard-with-typescript/releases/tag/v38.0.0 Otherwise the following error appears. ``` > eslint "src/**/*.ts" "test/**/*.ts" "--fix" Oops! Something went wrong! :( ESLint: 8.47.0 Error: ../../.eslintrc.json » @pnpm/eslint-config » eslint-config-standard-with-typescript: Configuration for rule "@typescript-eslint/restrict-plus-operands" is invalid: Value {"checkCompoundAssignments":true} should NOT have additional properties. at ConfigValidator.validateRuleOptions (/Users/gluxon/Developer/pnpm/node_modules/.pnpm/@eslint+eslintrc@2.1.2/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2039:23) at /Users/gluxon/Developer/pnpm/node_modules/.pnpm/@eslint+eslintrc@2.1.2/node_modules/@eslint/eslintrc/dist/eslintrc.cjs:2094:18 ``` * chore: remove unnecessary disables for restrict-template-expressions The `@typescript-eslint/restrict-template-expressions` rule relaxed what types are allowed in template expressions. https://github.com/typescript-eslint/typescript-eslint/commit/c13ce0b4f7a74a6d8fecf78d25ebd8181f7a9119#diff-b852e1e199d2976eee1183fc84ac12a5d42fc61f0ae4b1c290dd54d621546db0 Many of these disables were for interpolated values that had an `any` type. * chore: remove unnecessary disables for restrict-plus-operands The original error was: ``` Invalid operand for a '+' operation. Operands must each be a number or string. Got `any`. eslint@typescript-eslint/restrict-plus-operands ``` It look like the newer version now allows `any`. * style: fix errors of prefer-optional-chain and prefer-nullish-coalescing The `@typescript-eslint/prefer-optional-chain` and `@typescript-eslint/prefer-nullish-coalescing` rules got a bit smarter. This commit applies autofixes. I believe the changes should be equivalent to what existed before. Example of the new `@typescript-eslint/prefer-optional-chain` lints. ``` pnpm/pkg-manifest/exportable-manifest/src/index.ts 71:10 error Prefer using an optional chain expression instead, as it's more concise and easier to read @typescript-eslint/prefer-optional-chain 87:10 error Prefer using an optional chain expression instead, as it's more concise and easier to read @typescript-eslint/prefer-optional-chain ``` Example of the new `@typescript-eslint/prefer-nullish-coalescing` lints. ``` pnpm/fs/find-packages/src/index.ts 32:38 error Prefer using nullish coalescing operator (`??`) instead of a ternary expression, as it is simpler to read @typescript-eslint/prefer-nullish-coalescing ``` * chore(deps): update TypeScript 5.1.6 -> 5.2.2 * chore(deps): update @yarnpkg/core->@types/lodash override to 4.14.197 This fixes a compilation error that appears on TypeScript 5.2.2. This error was fixed in a later version of `@types/lodash`. https://github.com/DefinitelyTyped/DefinitelyTyped/pull/66123 ``` ../node_modules/.pnpm/@types+lodash@4.14.181/node_modules/@types/lodash/index.d.ts:45:15 - error TS2428: All declarations of 'WeakMap' must have identical type parameters. 45 interface WeakMap<K extends object, V> { } ~~~~~~~ Found 4 errors. ```
@pnpm/lifecycle
Package lifecycle hook runner
Installation
pnpm add @pnpm/logger @pnpm/lifecycle
Usage
import runLifecycleHook, {runPostinstallHooks} from '@pnpm/lifecycle'
const targetPkgRoot = path.resolve('node_modules/target-pkg')
const pkg = require(path.join(targetPkgRoot, 'package.json'))
// Run a specific hook
await runLifecycleHook('preinstall', pkg, {
pkgId: 'target-pkg/1.0.0',
pkgRoot: targetPkgRoot,
rawConfig: {},
rootModulesDir: path.resolve('node_modules'),
unsafePerm: true,
})
// Run all install hooks
await runPostinstallHooks({
pkgId: 'target-pkg/1.0.0',
pkgRoot: targetPkgRoot,
rawConfig: {},
rootModulesDir: path.resolve('node_modules'),
unsafePerm: true,
})
API
runLifecycleHook(stage, packageManifest, opts): Promise<void>
runPostinstallHooks(opts): Promise<void>
License
MIT