mirror of
https://github.com/pnpm/pnpm.git
synced 2026-07-25 15:07:06 -04:00
* feat(cli/config)!: breaking changes * refactor(test): remove `deepNullProto` and reuse `getOutputString` * feat(cli/config/list): censor protected settings * test: censorship of protected settings * docs(changeset): censorship of protected settings * fix: eslint * feat(config)!: exclude non-option from `rawConfig` * fix: eslint * refactor: move default registries to builtin (#9886) * feat(config)!: filter rc settings * feat(config): don't exclude non-options This reverts commita79f72dbfb. * feat(cli/config/get)!: print array as json * test: fix * docs(changeset): correct * test: fix * feat(cli/config)!: only kebabize option fields (wip) * chore(git): revert the implementation This reverts commit529f9bdd47. * test: restore This reverts commitd8191e0ed8. * feat(cli/config)!: only kebabize option fields (wip) * feat: use `types` instead * feat(cli/config/get)!: only kebabize rc fields * test: add * test: non-rc kebab-case keys * test: correct * docs(changeset): correct * docs(changeset): style * docs(changeset): correct * test: only kebabize rc fields * fix: import path * fix: eslint * fix: `isCamelCase` * feat(cli/config/set)!: forbid unknown rc fields * test: fix existing test * test: refuse unsupported rc settings * feat: hint * feat(cli/config/set)!: refuse kebab-case workspace-specific settings * feat(config)!: ignore non-camelCase from `pnpm-workspace.yaml` * test: config get * test: config list * refactor: extract shared code into its own package * test: `isCamelCase` * feat(cli/config/list)!: consistent naming cases * refactor: make it more reusable * feat(cli/config/get)!: consistent naming cases * feat(cli/config/get): censor protected settings * test: `get ''` should be the same as `list` * docs(test): quotation marks * refactor: remove unnecessary `test.each` * docs(changeset): case changes * test: unknown keys * docs(changeset): correct * docs(changeset): non camelCase from `pnpm-workspace.yaml` * fix: eslint * docs(changeset): correct terminology * docs(changeset): clarify * feat!: do not load non-auth and non-registry * fix: implementation * test: no hidden settings * fix: eslint * fix: do not drop default values * test: fix * test: remove irrelevant tests * test: fix (wip) * fix: auth * test: skip an inapplicable test * test: temporary skip a test * test: fix 'respects testPattern' * test: fix 'respects changedFilesIgnorePattern' * test: fix 'changedFilesIgnorePattern is respected' * test: rename a test * test: fix `package-lock=false` * feat: exception for `managePackageManagerVersions` * test: `managePackageManagerVersions: false` * test: fix (wip) * test: workaround * fix: default `optional` to `true` * fix: `filter` on `pnpm-workspace.yaml` * test: fix * test: disable ones that no longer apply * chore(git): revert incorrect change * fix: `filter` on `pnpm-workspace.yaml` (#10127) * fix: `filter` on `pnpm-workspace.yaml` * docs: changeset * fix: actual fix * fix: don't set default on config * docs(readme): correct a package description * fix: typo * test: fix * test: use a field that wouldn't be ignored * test: replace some `.npmrc` with `pnpm-workspace.yaml` * docs(changeset): less awkward wordings * docs(changeset): correction
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import path from 'path'
|
|
import execa from 'execa'
|
|
import { readWantedLockfile } from '@pnpm/lockfile.fs'
|
|
import { fixtures } from '@pnpm/test-fixtures'
|
|
import { makeDedicatedLockfile } from '../lib/index.js'
|
|
|
|
const f = fixtures(import.meta.dirname)
|
|
const pnpmBin = path.join(import.meta.dirname, '../../../pnpm/bin/pnpm.mjs')
|
|
|
|
test('makeDedicatedLockfile()', async () => {
|
|
const tmp = f.prepare('fixture')
|
|
await execa('node', [
|
|
pnpmBin,
|
|
'--config.store-dir=store',
|
|
'--config.cache-dir=cache',
|
|
'install',
|
|
'--no-frozen-lockfile',
|
|
'--no-prefer-frozen-lockfile',
|
|
'--force',
|
|
], { cwd: tmp })
|
|
const projectDir = path.join(tmp, 'packages/is-negative')
|
|
await makeDedicatedLockfile(tmp, projectDir)
|
|
|
|
const lockfile = await readWantedLockfile(projectDir, { ignoreIncompatible: false })
|
|
// The next assertion started failing from pnpm v10.6.3
|
|
// expect(Object.keys(lockfile?.importers ?? {})).toStrictEqual(['.', 'example'])
|
|
expect(Object.keys(lockfile?.packages ?? {}).sort()).toStrictEqual([
|
|
'is-positive@1.0.0',
|
|
'lodash@1.0.0',
|
|
'ramda@0.26.0',
|
|
'request@2.0.0',
|
|
])
|
|
})
|