Files
pnpm/pkg-manager/resolve-dependencies/test/unwrapPackageName.test.ts
Brandon Cheng d404c55ac8 fix: handle npm aliases without a bare specifier in unwrapPackageName (#10374)
* refactor: factor out a `getRealNameAndSpec` function

* fix: handle npm aliases without a bare specifier in `unwrapPackageName`

* Fix formatting in unwrapPackageName.ts
2025-12-29 02:00:21 +01:00

16 lines
844 B
TypeScript

import { unwrapPackageName } from '../lib/unwrapPackageName.js'
test('works for wanted dependency with no alias', () => {
expect(unwrapPackageName('is-positive', '^3.1.0')).toEqual({ pkgName: 'is-positive', bareSpecifier: '^3.1.0' })
})
test('works for wanted dependency with alias', () => {
expect(unwrapPackageName('my-alias', 'npm:is-positive@^3.1.0')).toEqual({ pkgName: 'is-positive', bareSpecifier: '^3.1.0' })
expect(unwrapPackageName('my-alias', 'npm:@pnpm.e2e/foo@^100.0.0')).toEqual({ pkgName: '@pnpm.e2e/foo', bareSpecifier: '^100.0.0' })
})
test('works for alias with no spec', () => {
expect(unwrapPackageName('my-alias', 'npm:is-positive')).toEqual({ pkgName: 'is-positive', bareSpecifier: '*' })
expect(unwrapPackageName('my-alias', 'npm:@pnpm.e2e/foo')).toEqual({ pkgName: '@pnpm.e2e/foo', bareSpecifier: '*' })
})