Files
pnpm/resolving/npm-resolver/test/workspacePrefToNpm.test.ts
Shunta Takemoto 0625e20442 feat: treat bare workspace: protocol as workspace:* (#10436)
* feat: treat bare `workspace:` protocol as `workspace:*`

* chore: add chageset

* test(exportable-manifest): add test for `workspace` with explicit versions

* test: add tests and update changesets

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2026-01-26 07:06:01 +01:00

32 lines
1.2 KiB
TypeScript

import { workspacePrefToNpm } from '../lib/workspacePrefToNpm.js'
describe('workspacePrefToNpm', () => {
test('resolve workspace only version aliases', async () => {
expect(workspacePrefToNpm('workspace:')).toBe('*')
expect(workspacePrefToNpm('workspace:*')).toBe('*')
expect(workspacePrefToNpm('workspace:^')).toBe('*')
expect(workspacePrefToNpm('workspace:~')).toBe('*')
})
test('resolve package name aliases', async () => {
expect(workspacePrefToNpm('workspace:is-positive@3.0.0')).toBe('npm:is-positive@3.0.0')
expect(workspacePrefToNpm('workspace:is-positive@*')).toBe('npm:is-positive@*')
expect(workspacePrefToNpm('workspace:is-positive@^')).toBe('npm:is-positive@*')
})
test('resolve scoped package name aliases', async () => {
expect(
workspacePrefToNpm('workspace:@scope/is-positive@1.2.3')
).toBe('npm:@scope/is-positive@1.2.3')
expect(
workspacePrefToNpm('workspace:@scope/is-positive@^1.2.3')
).toBe('npm:@scope/is-positive@^1.2.3')
expect(
workspacePrefToNpm('workspace:@scope/is-positive@*')
).toBe('npm:@scope/is-positive@*')
expect(
workspacePrefToNpm('workspace:@scope/is-positive@~')
).toBe('npm:@scope/is-positive@*')
})
})