mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-05 06:28:47 -04:00
feat: add nameVerFromPkgSnapshot()
This commit is contained in:
@@ -55,6 +55,8 @@ Writes the current shrinkwrap file only. Fails if there is no `node_modules` dir
|
||||
|
||||
Prunes a shrinkwrap file. Prunning means removing packages that are not referenced.
|
||||
|
||||
### `nameVerFromPkgSnapshot(relDepPath, pkgSnapshot): {name: string, version: string}`
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
@@ -3,6 +3,7 @@ export * from './read'
|
||||
export * from './types'
|
||||
|
||||
import existsWanted from './existsWanted'
|
||||
import nameVerFromPkgSnapshot from './nameVerFromPkgSnapshot'
|
||||
import prune from './prune'
|
||||
import write, {
|
||||
writeCurrentOnly,
|
||||
@@ -11,6 +12,7 @@ import write, {
|
||||
|
||||
export {
|
||||
existsWanted,
|
||||
nameVerFromPkgSnapshot,
|
||||
prune,
|
||||
write,
|
||||
writeWantedOnly,
|
||||
|
||||
21
src/nameVerFromPkgSnapshot.ts
Normal file
21
src/nameVerFromPkgSnapshot.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import * as dp from 'dependency-path'
|
||||
import {PackageSnapshot} from './types'
|
||||
|
||||
export default (
|
||||
relDepPath: string,
|
||||
pkgSnapshot: PackageSnapshot,
|
||||
) => {
|
||||
if (!pkgSnapshot.name) {
|
||||
const pkgInfo = dp.parse(relDepPath)
|
||||
return {
|
||||
// tslint:disable:no-string-literal
|
||||
name: pkgInfo['name'],
|
||||
version: pkgInfo['version'],
|
||||
// tslint:enable:no-string-literal
|
||||
}
|
||||
}
|
||||
return {
|
||||
name: pkgSnapshot.name,
|
||||
version: pkgSnapshot.version,
|
||||
}
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
import './prune'
|
||||
import './read'
|
||||
import './nameVerFromPkgSnapshot'
|
||||
|
||||
19
test/nameVerFromPkgSnapshot.ts
Normal file
19
test/nameVerFromPkgSnapshot.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import {nameVerFromPkgSnapshot} from 'pnpm-shrinkwrap'
|
||||
import test = require('tape')
|
||||
|
||||
test('nameVerFromPkgSnapshot()', (t) => {
|
||||
t.deepEqual(nameVerFromPkgSnapshot('/some-weird-path', {
|
||||
name: 'foo',
|
||||
version: '1.0.0',
|
||||
}), {
|
||||
name: 'foo',
|
||||
version: '1.0.0',
|
||||
})
|
||||
|
||||
t.deepEqual(nameVerFromPkgSnapshot('/foo/1.0.0', {}), {
|
||||
name: 'foo',
|
||||
version: '1.0.0',
|
||||
})
|
||||
|
||||
t.end()
|
||||
})
|
||||
Reference in New Issue
Block a user