refactor(move isInnerLink() to separate file):

This commit is contained in:
zkochan
2017-03-27 00:18:33 +03:00
parent ebb13e5512
commit 77f752e6d0
3 changed files with 23 additions and 18 deletions

View File

@@ -5,7 +5,7 @@ import pLimit = require('p-limit')
import npa = require('npm-package-arg')
import symlinkDir from 'symlink-dir'
import pFilter = require('p-filter')
import getLinkTarget = require('get-link-target')
import isInnerLink from '../isInnerLink'
import {PnpmOptions, StrictPnpmOptions, Dependencies} from '../types'
import createGot from '../network/got'
import getContext, {PnpmContext} from './getContext'
@@ -236,23 +236,6 @@ async function installInContext (
}
}
async function isInnerLink (modules: string, depName: string) {
let linkTarget: string
try {
const linkPath = path.join(modules, depName)
linkTarget = await getLinkTarget(linkPath)
} catch (err) {
if (err.code === 'ENOENT') return true
throw err
}
if (linkTarget.startsWith(modules)) {
return true
}
logger.info(`${depName} is linked to ${modules} from ${linkTarget}`)
return false
}
async function createInstallCmd (opts: StrictPnpmOptions, shrinkwrap: Shrinkwrap): Promise<InstallContext> {
return {
installs: {},

20
src/isInnerLink.ts Normal file
View File

@@ -0,0 +1,20 @@
import logger from 'pnpm-logger'
import path = require('path')
import getLinkTarget = require('get-link-target')
export default async function isInnerLink (modules: string, depName: string) {
let linkTarget: string
try {
const linkPath = path.join(modules, depName)
linkTarget = await getLinkTarget(linkPath)
} catch (err) {
if (err.code === 'ENOENT') return true
throw err
}
if (linkTarget.startsWith(modules)) {
return true
}
logger.info(`${depName} is linked to ${modules} from ${linkTarget}`)
return false
}

View File

@@ -60,8 +60,10 @@
"src/index.ts",
"src/install/fetch.ts",
"src/install/fetchResolution.ts",
"src/install/getIsInstallable.ts",
"src/install/installMultiple.ts",
"src/install/postInstall.ts",
"src/isInnerLink.ts",
"src/link/index.ts",
"src/link/linkBins.ts",
"src/link/linkPeers.ts",