refactor: move safeReadPackage() out of utils lib

This commit is contained in:
Zoltan Kochan
2020-04-02 02:10:29 +03:00
parent 4319cd4390
commit eeb4f08f82
13 changed files with 29 additions and 39 deletions

View File

@@ -38,6 +38,7 @@
"@pnpm/modules-yaml": "workspace:6.0.1",
"@pnpm/normalize-registries": "workspace:0.0.0",
"@pnpm/read-modules-dir": "workspace:2.0.1",
"@pnpm/read-package-json": "workspace:3.0.2",
"@pnpm/types": "workspace:5.0.0",
"@pnpm/utils": "workspace:0.13.0",
"dependency-path": "workspace:4.0.5",

View File

@@ -14,11 +14,9 @@ import {
import { read as readModulesYaml } from '@pnpm/modules-yaml'
import normalizeRegistries from '@pnpm/normalize-registries'
import readModulesDir from '@pnpm/read-modules-dir'
import { safeReadPackageFromDir } from '@pnpm/read-package-json'
import { DependenciesField, DEPENDENCIES_FIELDS, Registries } from '@pnpm/types'
import {
realNodeModulesDir,
safeReadPackageFromDir,
} from '@pnpm/utils'
import { realNodeModulesDir } from '@pnpm/utils'
import { refToAbsolute, refToRelative } from 'dependency-path'
import normalizePath = require('normalize-path')
import path = require('path')

View File

@@ -24,6 +24,9 @@
{
"path": "../read-modules-dir"
},
{
"path": "../read-package-json"
},
{
"path": "../types"
},

View File

@@ -33,9 +33,9 @@
"@pnpm/lockfile-utils": "workspace:2.0.9",
"@pnpm/package-bins": "workspace:4.0.3",
"@pnpm/read-modules-dir": "workspace:2.0.1",
"@pnpm/read-package-json": "workspace:3.0.2",
"@pnpm/store-controller-types": "workspace:7.0.0",
"@pnpm/types": "workspace:5.0.0",
"@pnpm/utils": "workspace:0.13.0",
"@zkochan/rimraf": "1.0.0",
"dependency-path": "workspace:4.0.5",
"fs-vacuum": "1.2.10",

View File

@@ -3,8 +3,8 @@ import {
rootLogger,
} from '@pnpm/core-loggers'
import binify from '@pnpm/package-bins'
import { safeReadPackageFromDir } from '@pnpm/read-package-json'
import { DependenciesField, DependencyManifest } from '@pnpm/types'
import { safeReadPackageFromDir } from '@pnpm/utils'
import rimraf = require('@zkochan/rimraf')
import isWindows = require('is-windows')
import path = require('path')

View File

@@ -27,15 +27,15 @@
{
"path": "../read-modules-dir"
},
{
"path": "../read-package-json"
},
{
"path": "../store-controller-types"
},
{
"path": "../types"
},
{
"path": "../utils"
},
{
"path": "../dependency-path"
}

View File

@@ -19,3 +19,16 @@ export default async function readPkg (pkgPath: string): Promise<PackageManifest
export function fromDir (pkgPath: string): Promise<PackageManifest> {
return readPkg(path.join(pkgPath, 'package.json'))
}
export async function safeReadPackage (pkgPath: string): Promise<PackageManifest | null> {
try {
return await readPkg(pkgPath)
} catch (err) {
if ((err as NodeJS.ErrnoException).code !== 'ENOENT') throw err
return null
}
}
export function safeReadPackageFromDir (pkgPath: string): Promise<PackageManifest | null> {
return safeReadPackage(path.join(pkgPath, 'package.json'))
}

View File

@@ -29,6 +29,7 @@ import logger, {
} from '@pnpm/logger'
import { write as writeModulesYaml } from '@pnpm/modules-yaml'
import readModulesDirs from '@pnpm/read-modules-dir'
import { safeReadPackageFromDir as safeReadPkgFromDir } from '@pnpm/read-package-json'
import resolveDependencies, {
ResolvedPackage,
} from '@pnpm/resolve-dependencies'
@@ -46,7 +47,6 @@ import {
} from '@pnpm/types'
import {
getAllDependenciesFromPackage,
safeReadPackageFromDir as safeReadPkgFromDir,
} from '@pnpm/utils'
import rimraf = require('@zkochan/rimraf')
import * as dp from 'dependency-path'

View File

@@ -38,7 +38,6 @@
"compile": "rimraf lib tsconfig.tsbuildinfo && tsc --build"
},
"dependencies": {
"@pnpm/read-package-json": "workspace:3.0.2",
"@pnpm/types": "workspace:5.0.0",
"mz": "2.7.0",
"validate-npm-package-name": "3.0.0"

View File

@@ -2,17 +2,12 @@ import getAllDependenciesFromPackage from './getAllDependenciesFromPackage'
import parseWantedDependency from './parseWantedDependency'
import pickRegistryForPackage from './pickRegistryForPackage'
import realNodeModulesDir from './realNodeModulesDir'
import safeReadPackage, { fromDir as safeReadPackageFromDir } from './safeReadPkg'
export const readPackage = safeReadPackage
export {
getAllDependenciesFromPackage,
parseWantedDependency,
pickRegistryForPackage,
realNodeModulesDir,
safeReadPackage,
safeReadPackageFromDir,
}
export * from './filterDependenciesByType'

View File

@@ -1,16 +0,0 @@
import readPkg from '@pnpm/read-package-json'
import { PackageManifest } from '@pnpm/types'
import path = require('path')
export default async function safeReadPkg (pkgPath: string): Promise<PackageManifest | null> {
try {
return await readPkg(pkgPath)
} catch (err) {
if ((err as NodeJS.ErrnoException).code !== 'ENOENT') throw err
return null
}
}
export function fromDir (pkgPath: string): Promise<PackageManifest | null> {
return safeReadPkg(path.join(pkgPath, 'package.json'))
}

View File

@@ -9,9 +9,6 @@
"../../typings/**/*.d.ts"
],
"references": [
{
"path": "../read-package-json"
},
{
"path": "../types"
}

8
pnpm-lock.yaml generated
View File

@@ -271,6 +271,7 @@ importers:
'@pnpm/modules-yaml': 'link:../modules-yaml'
'@pnpm/normalize-registries': 'link:../normalize-registries'
'@pnpm/read-modules-dir': 'link:../read-modules-dir'
'@pnpm/read-package-json': 'link:../read-package-json'
'@pnpm/types': 'link:../types'
'@pnpm/utils': 'link:../utils'
dependency-path: 'link:../dependency-path'
@@ -289,6 +290,7 @@ importers:
'@pnpm/modules-yaml': 'workspace:6.0.1'
'@pnpm/normalize-registries': 'workspace:0.0.0'
'@pnpm/read-modules-dir': 'workspace:2.0.1'
'@pnpm/read-package-json': 'workspace:3.0.2'
'@pnpm/types': 'workspace:5.0.0'
'@pnpm/utils': 'workspace:0.13.0'
'@types/normalize-path': 3.0.0
@@ -922,9 +924,9 @@ importers:
'@pnpm/lockfile-utils': 'link:../lockfile-utils'
'@pnpm/package-bins': 'link:../package-bins'
'@pnpm/read-modules-dir': 'link:../read-modules-dir'
'@pnpm/read-package-json': 'link:../read-package-json'
'@pnpm/store-controller-types': 'link:../store-controller-types'
'@pnpm/types': 'link:../types'
'@pnpm/utils': 'link:../utils'
'@zkochan/rimraf': 1.0.0
dependency-path: 'link:../dependency-path'
fs-vacuum: 1.2.10
@@ -944,9 +946,9 @@ importers:
'@pnpm/modules-cleaner': 'link:'
'@pnpm/package-bins': 'workspace:4.0.3'
'@pnpm/read-modules-dir': 'workspace:2.0.1'
'@pnpm/read-package-json': 'workspace:3.0.2'
'@pnpm/store-controller-types': 'workspace:7.0.0'
'@pnpm/types': 'workspace:5.0.0'
'@pnpm/utils': 'workspace:0.13.0'
'@types/is-windows': ^1.0.0
'@types/ramda': ^0.27.3
'@zkochan/rimraf': 1.0.0
@@ -2724,7 +2726,6 @@ importers:
specifiers: {}
packages/utils:
dependencies:
'@pnpm/read-package-json': 'link:../read-package-json'
'@pnpm/types': 'link:../types'
mz: 2.7.0
validate-npm-package-name: 3.0.0
@@ -2735,7 +2736,6 @@ importers:
'@types/validate-npm-package-name': 3.0.0
specifiers:
'@pnpm/logger': 3.1.0
'@pnpm/read-package-json': 'workspace:3.0.2'
'@pnpm/types': 'workspace:5.0.0'
'@pnpm/utils': 'link:'
'@types/mz': ^2.7.0