* 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. ```
dependency-path
Utilities for working with symlinked node_modules
Like path but for packages in a symlinked node_modules. Symlinked node_modules is a unique dependencies layout that
pnpm creates.
Installation
pnpm add dependency-path
Usage
const dependencyPath = require('dependency-path')
const registry = 'https://registry.npmjs.org/'
console.log(dependencyPath.isAbsolute('/foo/1.0.0'))
//> false
// it is confusing currently because relative starts with /.
// It will be changed in the future to vice versa
console.log(dependencyPath.resolve(registry, '/foo/1.0.0'))
//> registry.npmjs.org/foo/1.0.0
console.log(dependencyPath.relative(registry, 'registry.npmjs.org/foo/1.0.0'))
//> /foo/1.0.0
console.log(dependencyPath.refToAbsolute('1.0.1', 'foo', registry))
//> registry.npmjs.org/foo/1.0.1
console.log(dependencyPath.refToAbsolute('github.com/foo/bar/twe0jger043t0ew', 'foo', registry))
//> github.com/foo/bar/twe0jger043t0ew
console.log(dependencyPath.refToRelative('1.0.1', 'foo', registry))
//> /foo/1.0.1
console.log(dependencyPath.parse('/foo/2.0.0'))
//> { isAbsolute: false, name: 'foo', version: '2.0.0' }
License
MIT