Skip to content

Commit

Permalink
refactor: use more functional programming
Browse files Browse the repository at this point in the history
  • Loading branch information
zkochan committed Nov 19, 2022
1 parent e379ec8 commit d81599b
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 28 deletions.
20 changes: 10 additions & 10 deletions packages/core/src/install/getPreferredVersions.ts
Expand Up @@ -22,14 +22,14 @@ export function getAllUniqueSpecs (manifests: DependencyManifest[]) {
}

export function getPreferredVersionsFromLockfile (snapshots: PackageSnapshots): PreferredVersions {
const preferredVersions: PreferredVersions = {}
for (const [depPath, snapshot] of Object.entries(snapshots)) {
const { name, version } = nameVerFromPkgSnapshot(depPath, snapshot)
if (!preferredVersions[name]) {
preferredVersions[name] = { [version]: 'version' }
} else {
preferredVersions[name][version] = 'version'
}
}
return preferredVersions
return Object.entries(snapshots)
.map(([depPath, snapshot]) => nameVerFromPkgSnapshot(depPath, snapshot))
.reduce((preferredVersions, { name, version }) => {
if (!preferredVersions[name]) {
preferredVersions[name] = { [version]: 'version' }
} else {
preferredVersions[name][version] = 'version'
}
return preferredVersions
}, {})
}
6 changes: 4 additions & 2 deletions packages/create-cafs-store/package.json
Expand Up @@ -20,12 +20,14 @@
"@pnpm/fs.indexed-pkg-importer": "workspace:*",
"@pnpm/store-controller-types": "workspace:*",
"mem": "^8.1.1",
"path-temp": "^2.0.0"
"path-temp": "^2.0.0",
"ramda": "npm:@pnpm/ramda@0.28.1"
},
"devDependencies": {
"@pnpm/cafs-types": "workspace:*",
"@pnpm/create-cafs-store": "workspace:*",
"@pnpm/prepare": "workspace:*"
"@pnpm/prepare": "workspace:*",
"@types/ramda": "0.28.15"
},
"directories": {
"test": "test"
Expand Down
6 changes: 2 additions & 4 deletions packages/create-cafs-store/src/index.ts
Expand Up @@ -13,6 +13,7 @@ import {
} from '@pnpm/store-controller-types'
import memoize from 'mem'
import pathTemp from 'path-temp'
import mapValues from 'ramda/src/map'

function createPackageImporter (
opts: {
Expand Down Expand Up @@ -57,10 +58,7 @@ function getFlatMap (
filesIndex = filesResponse.filesIndex
isBuilt = false
}
const filesMap = {}
for (const [fileName, fileMeta] of Object.entries(filesIndex)) {
filesMap[fileName] = getFilePathByModeInCafs(cafsDir, fileMeta.integrity, fileMeta.mode)
}
const filesMap = mapValues(({ integrity, mode }) => getFilePathByModeInCafs(cafsDir, integrity, mode), filesIndex)
return { filesMap, isBuilt }
}

Expand Down
23 changes: 11 additions & 12 deletions packages/headless/src/lockfileToHoistedDepGraph.ts
Expand Up @@ -105,11 +105,10 @@ async function _lockfileToHoistedDepGraph (
}

function directDepsMap (directDepDirs: string[], graph: DependenciesGraph): Record<string, string> {
const result: Record<string, string> = {}
for (const dir of directDepDirs) {
result[graph[dir].alias!] = dir
}
return result
return directDepDirs.reduce((acc, dir) => {
acc[graph[dir].alias!] = dir
return acc
}, {})
}

function pickLinkedDirectDeps (
Expand All @@ -122,13 +121,13 @@ function pickLinkedDirectDeps (
...(include.dependencies ? importer.dependencies : {}),
...(include.optionalDependencies ? importer.optionalDependencies : {}),
}
const directDeps = {}
for (const [alias, ref] of Object.entries(rootDeps)) {
if (ref.startsWith('link:')) {
directDeps[alias] = path.resolve(importerDir, ref.slice(5))
}
}
return directDeps
return Object.entries(rootDeps)
.reduce((directDeps, [alias, ref]) => {
if (ref.startsWith('link:')) {
directDeps[alias] = path.resolve(importerDir, ref.slice(5))
}
return directDeps
}, {})
}

async function fetchDeps (
Expand Down
6 changes: 6 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit d81599b

Please sign in to comment.