JezK
Edit File: install.js.map
{"version":3,"file":"install.js","names":["deepEqual","require","emoji","invariant","path","semver","ssri","ONE_DAY","getUpdateCommand","installationMethod","constants","YARN_INSTALLER_SH","getUpdateInstaller","YARN_INSTALLER_MSI","normalizeFlags","config","rawFlags","flags","har","ignorePlatform","ignoreEngines","ignoreScripts","ignoreOptional","force","flat","lockfile","pureLockfile","updateChecksums","skipIntegrityCheck","frozenLockfile","linkDuplicates","checkFiles","audit","peer","dev","optional","exact","tilde","ignoreWorkspaceRootCheck","includeWorkspaceDeps","workspaceRootIsCwd","getOption","Install","reporter","rootManifestRegistries","rootPatternsToOrigin","map","resolutions","resolutionMap","ResolutionMap","resolver","PackageResolver","integrityChecker","InstallationIntegrityChecker","linker","PackageLinker","scripts","PackageInstallScripts","excludePatterns","ignoreUnusedPatterns","patterns","deps","resolutionDeps","manifest","ignorePatterns","usedPatterns","cwd","lockfileFolder","cwdIsRoot","workspaceRootFolder","excludeNames","pattern","getExoticResolver","push","guessName","parts","normalizePattern","name","stripExcluded","exclude","dependencies","devDependencies","optionalDependencies","registry","filename","registries","loc","join","fs","exists","readJson","projectManifestJson","normalizeManifest","Object","assign","init","keys","resolutionsByPackage","packageName","objectPath","has","hint","pushDeps","depType","isUsed","depMap","indexOf","getLocked","workspaceName","workspaceLoc","_loc","production","workspacesRoot","dirname","workspaceManifestJson","resolveWorkspaces","workspaces","workspaceLayout","WorkspaceLayout","workspaceDependencies","workspaceManifest","version","virtualDependencyManifest","_uid","uuidv4","_registry","virtualManifestName","virtualDep","implicitWorkspaceDependencies","OWNED_DEPENDENCY_TYPES","type","dependencyName","requests","cwdManifest","getRootManifests","manifests","plugnplayEnabled","lockfileCache","cache","lockfileClean","parseResultType","check","match","missingPatterns","length","MessageError","lang","LOCKFILE_FILENAME","haveLockfile","lockfileIntegrityPresent","hasEntriesExistWithoutIntegrity","integrityBailout","autoAddIntegrity","integrityMatches","success","integrityFileMissing","setForce","hardRefreshRequired","createEmptyManifestFolders","saveLockfileAndIntegrity","modulesFolder","registryName","folder","mkdirp","getStrictResolvedPattern","ref","_reference","ignore","fetchRequestFromCwd","depRequests","rawPatterns","fetcher","fetch","getManifests","updateManifests","flatten","checkUpdate","NPM_SHRINKWRAP_FILENAME","warn","NPM_LOCK_FILENAME","info","flattenedTopLevelPatterns","steps","topLevelPatterns","getArtifacts","artifacts","setArtifacts","compatibility","shouldCheck","curr","total","step","get","checkCompatibility","Audit","groups","auditFoundProblems","callThroughHook","prepareRequests","isFlat","isFrozen","preparePatterns","bailout","offline","prepareManifests","preparedManifests","mergedManifest","values","m","object","performAudit","auditVulnerabilityCounts","low","moderate","high","critical","markIgnored","removeIntegrityFile","preparePatternsForLinking","pnpPath","PNP_FILENAME","generatePnpMap","targetPath","code","readFile","file","writeFile","chmod","formattedDate","Date","toISOString","replace","requestManager","saveHar","shouldClean","clean","currentStep","stepResult","summary","persistChanges","clearCache","checkOne","applyChanges","saveRootManifests","hasChanged","plugnplayPersist","npm","installConfig","pnp","Promise","resolve","CLEAN_FILENAME","flattenedPatterns","getAllDependencyNamesByLevelOrder","infos","getAllInfoForPackageName","filter","patternsByPackage","options","value","versions","resolutionVersion","select","collapseAllVersionsOfPackage","getResolvedPattern","mirror","getOfflineMirrorPath","requiredTarballs","Set","dependency","resolved","basename","split","add","walk","mirrorFiles","isTarball","extname","hasPrebuiltPackage","relative","startsWith","unlink","absolute","resolvedPatterns","forEach","getManifestByPattern","p","lockfileBasedOnResolver","getLockfile","pruneOfflineMirror","save","lockFileHasAllPatterns","every","lockfilePatternsMatch","resolverPatternsAreSameAsInLockfile","prebuiltVariants","integrityPatternsAreSameAsInLockfile","existingIntegrityInfo","integrity","manifestIntegrity","stringify","lockSource","lockStringify","enableLockfileVersions","writeFilePreservingEol","_logSuccessSaveLockfile","request","remote","reference","generateModuleCachePath","readManifest","newPkg","updateManifest","nonInteractive","lastUpdateCheck","Number","now","YARN_VERSION","_checkUpdate","url","SELF_UPDATE_VERSION_URL","latestVersion","trim","valid","yarn","saveHomeConfig","gt","getInstallationMethod","maybeOutputUpdate","command","installer","hasWrapper","commander","args","setFlags","description","usage","option","install","wrapLifecycle","run","error","Lockfile","fromDirectory","exampleArgs","slice","saveDev","savePeer","saveOptional","saveExact","saveTilde","global","factory","executeLifecycleScript","disablePrepublish"],"sourceRoot":"../../../src","sources":["cli/commands/install.js"],"sourcesContent":["/* @flow */\n\nimport objectPath from 'object-path';\nimport type {InstallationMethod} from '../../util/yarn-version.js';\nimport type {Reporter} from '../../reporters/index.js';\nimport type {ReporterSelectOption} from '../../reporters/types.js';\nimport type {Manifest, DependencyRequestPatterns} from '../../types.js';\nimport type Config, {RootManifests} from '../../config.js';\nimport type {RegistryNames} from '../../registries/index.js';\nimport type {LockfileObject} from '../../lockfile';\nimport {callThroughHook} from '../../util/hooks.js';\nimport normalizeManifest from '../../util/normalize-manifest/index.js';\nimport {MessageError} from '../../errors.js';\nimport InstallationIntegrityChecker from '../../integrity-checker.js';\nimport Lockfile from '../../lockfile';\nimport {stringify as lockStringify} from '../../lockfile';\nimport * as fetcher from '../../package-fetcher.js';\nimport PackageInstallScripts from '../../package-install-scripts.js';\nimport * as compatibility from '../../package-compatibility.js';\nimport PackageResolver from '../../package-resolver.js';\nimport PackageLinker from '../../package-linker.js';\nimport {registries} from '../../registries/index.js';\nimport {getExoticResolver} from '../../resolvers/index.js';\nimport {clean} from './autoclean.js';\nimport * as constants from '../../constants.js';\nimport {normalizePattern} from '../../util/normalize-pattern.js';\nimport * as fs from '../../util/fs.js';\nimport map from '../../util/map.js';\nimport {version as YARN_VERSION, getInstallationMethod} from '../../util/yarn-version.js';\nimport {generatePnpMap} from '../../util/generate-pnp-map.js';\nimport WorkspaceLayout from '../../workspace-layout.js';\nimport ResolutionMap from '../../resolution-map.js';\nimport guessName from '../../util/guess-name';\nimport Audit from './audit';\n\nconst deepEqual = require('deep-equal');\nconst emoji = require('node-emoji');\nconst invariant = require('invariant');\nconst path = require('path');\nconst semver = require('semver');\nimport { v4 as uuidv4 } from 'uuid';\nconst ssri = require('ssri');\n\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nexport type InstallCwdRequest = {\n requests: DependencyRequestPatterns,\n patterns: Array<string>,\n ignorePatterns: Array<string>,\n usedPatterns: Array<string>,\n manifest: Object,\n workspaceLayout?: WorkspaceLayout,\n};\n\ntype Flags = {\n // install\n har: boolean,\n ignorePlatform: boolean,\n ignoreEngines: boolean,\n ignoreOptional: boolean,\n linkDuplicates: boolean,\n force: boolean,\n flat: boolean,\n lockfile: boolean,\n pureLockfile: boolean,\n frozenLockfile: boolean,\n skipIntegrityCheck: boolean,\n checkFiles: boolean,\n audit: boolean,\n\n // add\n peer: boolean,\n dev: boolean,\n optional: boolean,\n exact: boolean,\n tilde: boolean,\n ignoreWorkspaceRootCheck: boolean,\n\n // outdated, update-interactive\n includeWorkspaceDeps: boolean,\n\n // add, remove, upgrade\n workspaceRootIsCwd: boolean,\n};\n\n/**\n * Try and detect the installation method for Yarn and provide a command to update it with.\n */\n\nfunction getUpdateCommand(installationMethod: InstallationMethod): ?string {\n if (installationMethod === 'tar') {\n return `curl --compressed -o- -L ${constants.YARN_INSTALLER_SH} | bash`;\n }\n\n if (installationMethod === 'homebrew') {\n return 'brew upgrade yarn';\n }\n\n if (installationMethod === 'deb') {\n return 'sudo apt-get update && sudo apt-get install yarn';\n }\n\n if (installationMethod === 'rpm') {\n return 'sudo yum install yarn';\n }\n\n if (installationMethod === 'npm') {\n return 'npm install --global yarn';\n }\n\n if (installationMethod === 'chocolatey') {\n return 'choco upgrade yarn';\n }\n\n if (installationMethod === 'apk') {\n return 'apk update && apk add -u yarn';\n }\n\n if (installationMethod === 'portage') {\n return 'sudo emerge --sync && sudo emerge -au sys-apps/yarn';\n }\n\n return null;\n}\n\nfunction getUpdateInstaller(installationMethod: InstallationMethod): ?string {\n // Windows\n if (installationMethod === 'msi') {\n return constants.YARN_INSTALLER_MSI;\n }\n\n return null;\n}\n\nfunction normalizeFlags(config: Config, rawFlags: Object): Flags {\n const flags = {\n // install\n har: !!rawFlags.har,\n ignorePlatform: !!rawFlags.ignorePlatform,\n ignoreEngines: !!rawFlags.ignoreEngines,\n ignoreScripts: !!rawFlags.ignoreScripts,\n ignoreOptional: !!rawFlags.ignoreOptional,\n force: !!rawFlags.force,\n flat: !!rawFlags.flat,\n lockfile: rawFlags.lockfile !== false,\n pureLockfile: !!rawFlags.pureLockfile,\n updateChecksums: !!rawFlags.updateChecksums,\n skipIntegrityCheck: !!rawFlags.skipIntegrityCheck,\n frozenLockfile: !!rawFlags.frozenLockfile,\n linkDuplicates: !!rawFlags.linkDuplicates,\n checkFiles: !!rawFlags.checkFiles,\n audit: !!rawFlags.audit,\n\n // add\n peer: !!rawFlags.peer,\n dev: !!rawFlags.dev,\n optional: !!rawFlags.optional,\n exact: !!rawFlags.exact,\n tilde: !!rawFlags.tilde,\n ignoreWorkspaceRootCheck: !!rawFlags.ignoreWorkspaceRootCheck,\n\n // outdated, update-interactive\n includeWorkspaceDeps: !!rawFlags.includeWorkspaceDeps,\n\n // add, remove, update\n workspaceRootIsCwd: rawFlags.workspaceRootIsCwd !== false,\n };\n\n if (config.getOption('ignore-scripts')) {\n flags.ignoreScripts = true;\n }\n\n if (config.getOption('ignore-platform')) {\n flags.ignorePlatform = true;\n }\n\n if (config.getOption('ignore-engines')) {\n flags.ignoreEngines = true;\n }\n\n if (config.getOption('ignore-optional')) {\n flags.ignoreOptional = true;\n }\n\n if (config.getOption('force')) {\n flags.force = true;\n }\n\n return flags;\n}\n\nexport class Install {\n constructor(flags: Object, config: Config, reporter: Reporter, lockfile: Lockfile) {\n this.rootManifestRegistries = [];\n this.rootPatternsToOrigin = map();\n this.lockfile = lockfile;\n this.reporter = reporter;\n this.config = config;\n this.flags = normalizeFlags(config, flags);\n this.resolutions = map(); // Legacy resolutions field used for flat install mode\n this.resolutionMap = new ResolutionMap(config); // Selective resolutions for nested dependencies\n this.resolver = new PackageResolver(config, lockfile, this.resolutionMap);\n this.integrityChecker = new InstallationIntegrityChecker(config);\n this.linker = new PackageLinker(config, this.resolver);\n this.scripts = new PackageInstallScripts(config, this.resolver, this.flags.force);\n }\n\n flags: Flags;\n rootManifestRegistries: Array<RegistryNames>;\n registries: Array<RegistryNames>;\n lockfile: Lockfile;\n resolutions: {[packageName: string]: string};\n config: Config;\n reporter: Reporter;\n resolver: PackageResolver;\n scripts: PackageInstallScripts;\n linker: PackageLinker;\n rootPatternsToOrigin: {[pattern: string]: string};\n integrityChecker: InstallationIntegrityChecker;\n resolutionMap: ResolutionMap;\n\n /**\n * Create a list of dependency requests from the current directories manifests.\n */\n\n async fetchRequestFromCwd(\n excludePatterns?: Array<string> = [],\n ignoreUnusedPatterns?: boolean = false,\n ): Promise<InstallCwdRequest> {\n const patterns = [];\n const deps: DependencyRequestPatterns = [];\n let resolutionDeps: DependencyRequestPatterns = [];\n const manifest = {};\n\n const ignorePatterns = [];\n const usedPatterns = [];\n let workspaceLayout;\n\n // some commands should always run in the context of the entire workspace\n const cwd =\n this.flags.includeWorkspaceDeps || this.flags.workspaceRootIsCwd ? this.config.lockfileFolder : this.config.cwd;\n\n // non-workspaces are always root, otherwise check for workspace root\n const cwdIsRoot = !this.config.workspaceRootFolder || this.config.lockfileFolder === cwd;\n\n // exclude package names that are in install args\n const excludeNames = [];\n for (const pattern of excludePatterns) {\n if (getExoticResolver(pattern)) {\n excludeNames.push(guessName(pattern));\n } else {\n // extract the name\n const parts = normalizePattern(pattern);\n excludeNames.push(parts.name);\n }\n }\n\n const stripExcluded = (manifest: Manifest) => {\n for (const exclude of excludeNames) {\n if (manifest.dependencies && manifest.dependencies[exclude]) {\n delete manifest.dependencies[exclude];\n }\n if (manifest.devDependencies && manifest.devDependencies[exclude]) {\n delete manifest.devDependencies[exclude];\n }\n if (manifest.optionalDependencies && manifest.optionalDependencies[exclude]) {\n delete manifest.optionalDependencies[exclude];\n }\n }\n };\n\n for (const registry of Object.keys(registries)) {\n const {filename} = registries[registry];\n const loc = path.join(cwd, filename);\n if (!await fs.exists(loc)) {\n continue;\n }\n\n this.rootManifestRegistries.push(registry);\n\n const projectManifestJson = await this.config.readJson(loc);\n await normalizeManifest(projectManifestJson, cwd, this.config, cwdIsRoot);\n\n Object.assign(this.resolutions, projectManifestJson.resolutions);\n Object.assign(manifest, projectManifestJson);\n\n this.resolutionMap.init(this.resolutions);\n for (const packageName of Object.keys(this.resolutionMap.resolutionsByPackage)) {\n const optional = objectPath.has(manifest.optionalDependencies, packageName) && this.flags.ignoreOptional;\n for (const {pattern} of this.resolutionMap.resolutionsByPackage[packageName]) {\n resolutionDeps = [...resolutionDeps, {registry, pattern, optional, hint: 'resolution'}];\n }\n }\n\n const pushDeps = (\n depType,\n manifest: Object,\n {hint, optional}: {hint: ?constants.RequestHint, optional: boolean},\n isUsed,\n ) => {\n if (ignoreUnusedPatterns && !isUsed) {\n return;\n }\n // We only take unused dependencies into consideration to get deterministic hoisting.\n // Since flat mode doesn't care about hoisting and everything is top level and specified then we can safely\n // leave these out.\n if (this.flags.flat && !isUsed) {\n return;\n }\n const depMap = manifest[depType];\n for (const name in depMap) {\n if (excludeNames.indexOf(name) >= 0) {\n continue;\n }\n\n let pattern = name;\n if (!this.lockfile.getLocked(pattern)) {\n // when we use --save we save the dependency to the lockfile with just the name rather than the\n // version combo\n pattern += '@' + depMap[name];\n }\n\n // normalization made sure packages are mentioned only once\n if (isUsed) {\n usedPatterns.push(pattern);\n } else {\n ignorePatterns.push(pattern);\n }\n\n this.rootPatternsToOrigin[pattern] = depType;\n patterns.push(pattern);\n deps.push({pattern, registry, hint, optional, workspaceName: manifest.name, workspaceLoc: manifest._loc});\n }\n };\n\n if (cwdIsRoot) {\n pushDeps('dependencies', projectManifestJson, {hint: null, optional: false}, true);\n pushDeps('devDependencies', projectManifestJson, {hint: 'dev', optional: false}, !this.config.production);\n pushDeps('optionalDependencies', projectManifestJson, {hint: 'optional', optional: true}, true);\n }\n\n if (this.config.workspaceRootFolder) {\n const workspaceLoc = cwdIsRoot ? loc : path.join(this.config.lockfileFolder, filename);\n const workspacesRoot = path.dirname(workspaceLoc);\n\n let workspaceManifestJson = projectManifestJson;\n if (!cwdIsRoot) {\n // the manifest we read before was a child workspace, so get the root\n workspaceManifestJson = await this.config.readJson(workspaceLoc);\n await normalizeManifest(workspaceManifestJson, workspacesRoot, this.config, true);\n }\n\n const workspaces = await this.config.resolveWorkspaces(workspacesRoot, workspaceManifestJson);\n workspaceLayout = new WorkspaceLayout(workspaces, this.config);\n\n // add virtual manifest that depends on all workspaces, this way package hoisters and resolvers will work fine\n const workspaceDependencies = {...workspaceManifestJson.dependencies};\n for (const workspaceName of Object.keys(workspaces)) {\n const workspaceManifest = workspaces[workspaceName].manifest;\n workspaceDependencies[workspaceName] = workspaceManifest.version;\n\n // include dependencies from all workspaces\n if (this.flags.includeWorkspaceDeps) {\n pushDeps('dependencies', workspaceManifest, {hint: null, optional: false}, true);\n pushDeps('devDependencies', workspaceManifest, {hint: 'dev', optional: false}, !this.config.production);\n pushDeps('optionalDependencies', workspaceManifest, {hint: 'optional', optional: true}, true);\n }\n }\n const virtualDependencyManifest: Manifest = {\n _uid: '',\n name: `workspace-aggregator-${uuidv4()}`,\n version: '1.0.0',\n _registry: 'npm',\n _loc: workspacesRoot,\n dependencies: workspaceDependencies,\n devDependencies: {...workspaceManifestJson.devDependencies},\n optionalDependencies: {...workspaceManifestJson.optionalDependencies},\n private: workspaceManifestJson.private,\n workspaces: workspaceManifestJson.workspaces,\n };\n workspaceLayout.virtualManifestName = virtualDependencyManifest.name;\n const virtualDep = {};\n virtualDep[virtualDependencyManifest.name] = virtualDependencyManifest.version;\n workspaces[virtualDependencyManifest.name] = {loc: workspacesRoot, manifest: virtualDependencyManifest};\n\n // ensure dependencies that should be excluded are stripped from the correct manifest\n stripExcluded(cwdIsRoot ? virtualDependencyManifest : workspaces[projectManifestJson.name].manifest);\n\n pushDeps('workspaces', {workspaces: virtualDep}, {hint: 'workspaces', optional: false}, true);\n\n const implicitWorkspaceDependencies = {...workspaceDependencies};\n\n for (const type of constants.OWNED_DEPENDENCY_TYPES) {\n for (const dependencyName of Object.keys(projectManifestJson[type] || {})) {\n delete implicitWorkspaceDependencies[dependencyName];\n }\n }\n\n pushDeps(\n 'dependencies',\n {dependencies: implicitWorkspaceDependencies},\n {hint: 'workspaces', optional: false},\n true,\n );\n }\n\n break;\n }\n\n // inherit root flat flag\n if (manifest.flat) {\n this.flags.flat = true;\n }\n\n return {\n requests: [...resolutionDeps, ...deps],\n patterns,\n manifest,\n usedPatterns,\n ignorePatterns,\n workspaceLayout,\n };\n }\n\n /**\n * TODO description\n */\n\n prepareRequests(requests: DependencyRequestPatterns): DependencyRequestPatterns {\n return requests;\n }\n\n preparePatterns(patterns: Array<string>): Array<string> {\n return patterns;\n }\n preparePatternsForLinking(patterns: Array<string>, cwdManifest: Manifest, cwdIsRoot: boolean): Array<string> {\n return patterns;\n }\n\n async prepareManifests(): Promise<RootManifests> {\n const manifests = await this.config.getRootManifests();\n return manifests;\n }\n\n async bailout(patterns: Array<string>, workspaceLayout: ?WorkspaceLayout): Promise<boolean> {\n // We don't want to skip the audit - it could yield important errors\n if (this.flags.audit) {\n return false;\n }\n // PNP is so fast that the integrity check isn't pertinent\n if (this.config.plugnplayEnabled) {\n return false;\n }\n if (this.flags.skipIntegrityCheck || this.flags.force) {\n return false;\n }\n const lockfileCache = this.lockfile.cache;\n if (!lockfileCache) {\n return false;\n }\n const lockfileClean = this.lockfile.parseResultType === 'success';\n const match = await this.integrityChecker.check(patterns, lockfileCache, this.flags, workspaceLayout);\n if (this.flags.frozenLockfile && (!lockfileClean || match.missingPatterns.length > 0)) {\n throw new MessageError(this.reporter.lang('frozenLockfileError'));\n }\n\n const haveLockfile = await fs.exists(path.join(this.config.lockfileFolder, constants.LOCKFILE_FILENAME));\n\n const lockfileIntegrityPresent = !this.lockfile.hasEntriesExistWithoutIntegrity();\n const integrityBailout = lockfileIntegrityPresent || !this.config.autoAddIntegrity;\n\n if (match.integrityMatches && haveLockfile && lockfileClean && integrityBailout) {\n this.reporter.success(this.reporter.lang('upToDate'));\n return true;\n }\n\n if (match.integrityFileMissing && haveLockfile) {\n // Integrity file missing, force script installations\n this.scripts.setForce(true);\n return false;\n }\n\n if (match.hardRefreshRequired) {\n // e.g. node version doesn't match, force script installations\n this.scripts.setForce(true);\n return false;\n }\n\n if (!patterns.length && !match.integrityFileMissing) {\n this.reporter.success(this.reporter.lang('nothingToInstall'));\n await this.createEmptyManifestFolders();\n await this.saveLockfileAndIntegrity(patterns, workspaceLayout);\n return true;\n }\n\n return false;\n }\n\n /**\n * Produce empty folders for all used root manifests.\n */\n\n async createEmptyManifestFolders(): Promise<void> {\n if (this.config.modulesFolder) {\n // already created\n return;\n }\n\n for (const registryName of this.rootManifestRegistries) {\n const {folder} = this.config.registries[registryName];\n await fs.mkdirp(path.join(this.config.lockfileFolder, folder));\n }\n }\n\n /**\n * TODO description\n */\n\n markIgnored(patterns: Array<string>) {\n for (const pattern of patterns) {\n const manifest = this.resolver.getStrictResolvedPattern(pattern);\n const ref = manifest._reference;\n invariant(ref, 'expected package reference');\n\n // just mark the package as ignored. if the package is used by a required package, the hoister\n // will take care of that.\n ref.ignore = true;\n }\n }\n\n /**\n * helper method that gets only recent manifests\n * used by global.ls command\n */\n async getFlattenedDeps(): Promise<Array<string>> {\n const {requests: depRequests, patterns: rawPatterns} = await this.fetchRequestFromCwd();\n\n await this.resolver.init(depRequests, {});\n\n const manifests = await fetcher.fetch(this.resolver.getManifests(), this.config);\n this.resolver.updateManifests(manifests);\n\n return this.flatten(rawPatterns);\n }\n\n /**\n * TODO description\n */\n\n async init(): Promise<Array<string>> {\n this.checkUpdate();\n\n // warn if we have a shrinkwrap\n if (await fs.exists(path.join(this.config.lockfileFolder, constants.NPM_SHRINKWRAP_FILENAME))) {\n this.reporter.warn(this.reporter.lang('shrinkwrapWarning'));\n }\n\n // warn if we have an npm lockfile\n if (await fs.exists(path.join(this.config.lockfileFolder, constants.NPM_LOCK_FILENAME))) {\n this.reporter.warn(this.reporter.lang('npmLockfileWarning'));\n }\n\n if (this.config.plugnplayEnabled) {\n this.reporter.info(this.reporter.lang('plugnplaySuggestV2L1'));\n this.reporter.info(this.reporter.lang('plugnplaySuggestV2L2'));\n }\n\n let flattenedTopLevelPatterns: Array<string> = [];\n const steps: Array<(curr: number, total: number) => Promise<{bailout: boolean} | void>> = [];\n const {\n requests: depRequests,\n patterns: rawPatterns,\n ignorePatterns,\n workspaceLayout,\n manifest,\n } = await this.fetchRequestFromCwd();\n let topLevelPatterns: Array<string> = [];\n\n const artifacts = await this.integrityChecker.getArtifacts();\n if (artifacts) {\n this.linker.setArtifacts(artifacts);\n this.scripts.setArtifacts(artifacts);\n }\n\n if (compatibility.shouldCheck(manifest, this.flags)) {\n steps.push(async (curr: number, total: number) => {\n this.reporter.step(curr, total, this.reporter.lang('checkingManifest'), emoji.get('mag'));\n await this.checkCompatibility();\n });\n }\n\n const audit = new Audit(this.config, this.reporter, {groups: constants.OWNED_DEPENDENCY_TYPES});\n let auditFoundProblems = false;\n\n steps.push((curr: number, total: number) =>\n callThroughHook('resolveStep', async () => {\n this.reporter.step(curr, total, this.reporter.lang('resolvingPackages'), emoji.get('mag'));\n await this.resolver.init(this.prepareRequests(depRequests), {\n isFlat: this.flags.flat,\n isFrozen: this.flags.frozenLockfile,\n workspaceLayout,\n });\n topLevelPatterns = this.preparePatterns(rawPatterns);\n flattenedTopLevelPatterns = await this.flatten(topLevelPatterns);\n return {bailout: !this.flags.audit && (await this.bailout(topLevelPatterns, workspaceLayout))};\n }),\n );\n\n if (this.flags.audit) {\n steps.push((curr: number, total: number) =>\n callThroughHook('auditStep', async () => {\n this.reporter.step(curr, total, this.reporter.lang('auditRunning'), emoji.get('mag'));\n if (this.flags.offline) {\n this.reporter.warn(this.reporter.lang('auditOffline'));\n return {bailout: false};\n }\n const preparedManifests = await this.prepareManifests();\n // $FlowFixMe - Flow considers `m` in the map operation to be \"mixed\", so does not recognize `m.object`\n const mergedManifest = Object.assign({}, ...Object.values(preparedManifests).map(m => m.object));\n const auditVulnerabilityCounts = await audit.performAudit(\n mergedManifest,\n this.lockfile,\n this.resolver,\n this.linker,\n topLevelPatterns,\n );\n auditFoundProblems =\n auditVulnerabilityCounts.info ||\n auditVulnerabilityCounts.low ||\n auditVulnerabilityCounts.moderate ||\n auditVulnerabilityCounts.high ||\n auditVulnerabilityCounts.critical;\n return {bailout: await this.bailout(topLevelPatterns, workspaceLayout)};\n }),\n );\n }\n\n steps.push((curr: number, total: number) =>\n callThroughHook('fetchStep', async () => {\n this.markIgnored(ignorePatterns);\n this.reporter.step(curr, total, this.reporter.lang('fetchingPackages'), emoji.get('truck'));\n const manifests: Array<Manifest> = await fetcher.fetch(this.resolver.getManifests(), this.config);\n this.resolver.updateManifests(manifests);\n await compatibility.check(this.resolver.getManifests(), this.config, this.flags.ignoreEngines);\n }),\n );\n\n steps.push((curr: number, total: number) =>\n callThroughHook('linkStep', async () => {\n // remove integrity hash to make this operation atomic\n await this.integrityChecker.removeIntegrityFile();\n this.reporter.step(curr, total, this.reporter.lang('linkingDependencies'), emoji.get('link'));\n flattenedTopLevelPatterns = this.preparePatternsForLinking(\n flattenedTopLevelPatterns,\n manifest,\n this.config.lockfileFolder === this.config.cwd,\n );\n await this.linker.init(flattenedTopLevelPatterns, workspaceLayout, {\n linkDuplicates: this.flags.linkDuplicates,\n ignoreOptional: this.flags.ignoreOptional,\n });\n }),\n );\n\n if (this.config.plugnplayEnabled) {\n steps.push((curr: number, total: number) =>\n callThroughHook('pnpStep', async () => {\n const pnpPath = `${this.config.lockfileFolder}/${constants.PNP_FILENAME}`;\n\n const code = await generatePnpMap(this.config, flattenedTopLevelPatterns, {\n resolver: this.resolver,\n reporter: this.reporter,\n targetPath: pnpPath,\n workspaceLayout,\n });\n\n try {\n const file = await fs.readFile(pnpPath);\n if (file === code) {\n return;\n }\n } catch (error) {}\n\n await fs.writeFile(pnpPath, code);\n await fs.chmod(pnpPath, 0o755);\n }),\n );\n }\n\n steps.push((curr: number, total: number) =>\n callThroughHook('buildStep', async () => {\n this.reporter.step(\n curr,\n total,\n this.flags.force ? this.reporter.lang('rebuildingPackages') : this.reporter.lang('buildingFreshPackages'),\n emoji.get('hammer'),\n );\n\n if (this.config.ignoreScripts) {\n this.reporter.warn(this.reporter.lang('ignoredScripts'));\n } else {\n await this.scripts.init(flattenedTopLevelPatterns);\n }\n }),\n );\n\n if (this.flags.har) {\n steps.push(async (curr: number, total: number) => {\n const formattedDate = new Date().toISOString().replace(/:/g, '-');\n const filename = `yarn-install_${formattedDate}.har`;\n this.reporter.step(\n curr,\n total,\n this.reporter.lang('savingHar', filename),\n emoji.get('black_circle_for_record'),\n );\n await this.config.requestManager.saveHar(filename);\n });\n }\n\n if (await this.shouldClean()) {\n steps.push(async (curr: number, total: number) => {\n this.reporter.step(curr, total, this.reporter.lang('cleaningModules'), emoji.get('recycle'));\n await clean(this.config, this.reporter);\n });\n }\n\n let currentStep = 0;\n for (const step of steps) {\n const stepResult = await step(++currentStep, steps.length);\n if (stepResult && stepResult.bailout) {\n if (this.flags.audit) {\n audit.summary();\n }\n if (auditFoundProblems) {\n this.reporter.warn(this.reporter.lang('auditRunAuditForDetails'));\n }\n return flattenedTopLevelPatterns;\n }\n }\n\n // fin!\n if (this.flags.audit) {\n audit.summary();\n }\n if (auditFoundProblems) {\n this.reporter.warn(this.reporter.lang('auditRunAuditForDetails'));\n }\n await this.saveLockfileAndIntegrity(topLevelPatterns, workspaceLayout);\n await this.persistChanges();\n this.config.requestManager.clearCache();\n return flattenedTopLevelPatterns;\n }\n\n async checkCompatibility(): Promise<void> {\n const {manifest} = await this.fetchRequestFromCwd();\n await compatibility.checkOne(manifest, this.config, this.flags.ignoreEngines);\n }\n\n async persistChanges(): Promise<void> {\n // get all the different registry manifests in this folder\n const manifests = await this.config.getRootManifests();\n\n if (await this.applyChanges(manifests)) {\n await this.config.saveRootManifests(manifests);\n }\n }\n\n applyChanges(manifests: RootManifests): Promise<boolean> {\n let hasChanged = false;\n\n if (this.config.plugnplayPersist) {\n const {object} = manifests.npm;\n\n if (typeof object.installConfig !== 'object') {\n object.installConfig = {};\n }\n\n if (this.config.plugnplayEnabled && object.installConfig.pnp !== true) {\n object.installConfig.pnp = true;\n hasChanged = true;\n } else if (!this.config.plugnplayEnabled && typeof object.installConfig.pnp !== 'undefined') {\n delete object.installConfig.pnp;\n hasChanged = true;\n }\n\n if (Object.keys(object.installConfig).length === 0) {\n delete object.installConfig;\n }\n }\n\n return Promise.resolve(hasChanged);\n }\n\n /**\n * Check if we should run the cleaning step.\n */\n\n shouldClean(): Promise<boolean> {\n return fs.exists(path.join(this.config.lockfileFolder, constants.CLEAN_FILENAME));\n }\n\n /**\n * TODO\n */\n\n async flatten(patterns: Array<string>): Promise<Array<string>> {\n if (!this.flags.flat) {\n return patterns;\n }\n\n const flattenedPatterns = [];\n\n for (const name of this.resolver.getAllDependencyNamesByLevelOrder(patterns)) {\n const infos = this.resolver.getAllInfoForPackageName(name).filter((manifest: Manifest): boolean => {\n const ref = manifest._reference;\n invariant(ref, 'expected package reference');\n return !ref.ignore;\n });\n\n if (infos.length === 0) {\n continue;\n }\n\n if (infos.length === 1) {\n // single version of this package\n // take out a single pattern as multiple patterns may have resolved to this package\n flattenedPatterns.push(this.resolver.patternsByPackage[name][0]);\n continue;\n }\n\n const options = infos.map((info): ReporterSelectOption => {\n const ref = info._reference;\n invariant(ref, 'expected reference');\n return {\n // TODO `and is required by {PARENT}`,\n name: this.reporter.lang('manualVersionResolutionOption', ref.patterns.join(', '), info.version),\n\n value: info.version,\n };\n });\n const versions = infos.map((info): string => info.version);\n let version: ?string;\n\n const resolutionVersion = this.resolutions[name];\n if (resolutionVersion && versions.indexOf(resolutionVersion) >= 0) {\n // use json `resolution` version\n version = resolutionVersion;\n } else {\n version = await this.reporter.select(\n this.reporter.lang('manualVersionResolution', name),\n this.reporter.lang('answer'),\n options,\n );\n this.resolutions[name] = version;\n }\n\n flattenedPatterns.push(this.resolver.collapseAllVersionsOfPackage(name, version));\n }\n\n // save resolutions to their appropriate root manifest\n if (Object.keys(this.resolutions).length) {\n const manifests = await this.config.getRootManifests();\n\n for (const name in this.resolutions) {\n const version = this.resolutions[name];\n\n const patterns = this.resolver.patternsByPackage[name];\n if (!patterns) {\n continue;\n }\n\n let manifest;\n for (const pattern of patterns) {\n manifest = this.resolver.getResolvedPattern(pattern);\n if (manifest) {\n break;\n }\n }\n invariant(manifest, 'expected manifest');\n\n const ref = manifest._reference;\n invariant(ref, 'expected reference');\n\n const object = manifests[ref.registry].object;\n object.resolutions = object.resolutions || {};\n object.resolutions[name] = version;\n }\n\n await this.config.saveRootManifests(manifests);\n }\n\n return flattenedPatterns;\n }\n\n /**\n * Remove offline tarballs that are no longer required\n */\n\n async pruneOfflineMirror(lockfile: LockfileObject): Promise<void> {\n const mirror = this.config.getOfflineMirrorPath();\n if (!mirror) {\n return;\n }\n\n const requiredTarballs = new Set();\n for (const dependency in lockfile) {\n const resolved = lockfile[dependency].resolved;\n if (resolved) {\n const basename = path.basename(resolved.split('#')[0]);\n if (dependency[0] === '@' && basename[0] !== '@') {\n requiredTarballs.add(`${dependency.split('/')[0]}-${basename}`);\n }\n requiredTarballs.add(basename);\n }\n }\n\n const mirrorFiles = await fs.walk(mirror);\n for (const file of mirrorFiles) {\n const isTarball = path.extname(file.basename) === '.tgz';\n // if using experimental-pack-script-packages-in-mirror flag, don't unlink prebuilt packages\n const hasPrebuiltPackage = file.relative.startsWith('prebuilt/');\n if (isTarball && !hasPrebuiltPackage && !requiredTarballs.has(file.basename)) {\n await fs.unlink(file.absolute);\n }\n }\n }\n\n /**\n * Save updated integrity and lockfiles.\n */\n\n async saveLockfileAndIntegrity(patterns: Array<string>, workspaceLayout: ?WorkspaceLayout): Promise<void> {\n const resolvedPatterns: {[packagePattern: string]: Manifest} = {};\n Object.keys(this.resolver.patterns).forEach(pattern => {\n if (!workspaceLayout || !workspaceLayout.getManifestByPattern(pattern)) {\n resolvedPatterns[pattern] = this.resolver.patterns[pattern];\n }\n });\n\n // TODO this code is duplicated in a few places, need a common way to filter out workspace patterns from lockfile\n patterns = patterns.filter(p => !workspaceLayout || !workspaceLayout.getManifestByPattern(p));\n\n const lockfileBasedOnResolver = this.lockfile.getLockfile(resolvedPatterns);\n\n if (this.config.pruneOfflineMirror) {\n await this.pruneOfflineMirror(lockfileBasedOnResolver);\n }\n\n // write integrity hash\n if (!this.config.plugnplayEnabled) {\n await this.integrityChecker.save(\n patterns,\n lockfileBasedOnResolver,\n this.flags,\n workspaceLayout,\n this.scripts.getArtifacts(),\n );\n }\n\n // --no-lockfile or --pure-lockfile or --frozen-lockfile\n if (this.flags.lockfile === false || this.flags.pureLockfile || this.flags.frozenLockfile) {\n return;\n }\n\n const lockFileHasAllPatterns = patterns.every(p => this.lockfile.getLocked(p));\n const lockfilePatternsMatch = Object.keys(this.lockfile.cache || {}).every(p => lockfileBasedOnResolver[p]);\n const resolverPatternsAreSameAsInLockfile = Object.keys(lockfileBasedOnResolver).every(pattern => {\n const manifest = this.lockfile.getLocked(pattern);\n return (\n manifest &&\n manifest.resolved === lockfileBasedOnResolver[pattern].resolved &&\n deepEqual(manifest.prebuiltVariants, lockfileBasedOnResolver[pattern].prebuiltVariants)\n );\n });\n const integrityPatternsAreSameAsInLockfile = Object.keys(lockfileBasedOnResolver).every(pattern => {\n const existingIntegrityInfo = lockfileBasedOnResolver[pattern].integrity;\n if (!existingIntegrityInfo) {\n // if this entry does not have an integrity, no need to re-write the lockfile because of it\n return true;\n }\n const manifest = this.lockfile.getLocked(pattern);\n if (manifest && manifest.integrity) {\n const manifestIntegrity = ssri.stringify(manifest.integrity);\n return manifestIntegrity === existingIntegrityInfo;\n }\n return false;\n });\n\n // remove command is followed by install with force, lockfile will be rewritten in any case then\n if (\n !this.flags.force &&\n this.lockfile.parseResultType === 'success' &&\n lockFileHasAllPatterns &&\n lockfilePatternsMatch &&\n resolverPatternsAreSameAsInLockfile &&\n integrityPatternsAreSameAsInLockfile &&\n patterns.length\n ) {\n return;\n }\n\n // build lockfile location\n const loc = path.join(this.config.lockfileFolder, constants.LOCKFILE_FILENAME);\n\n // write lockfile\n const lockSource = lockStringify(lockfileBasedOnResolver, false, this.config.enableLockfileVersions);\n await fs.writeFilePreservingEol(loc, lockSource);\n\n this._logSuccessSaveLockfile();\n }\n\n _logSuccessSaveLockfile() {\n this.reporter.success(this.reporter.lang('savedLockfile'));\n }\n\n /**\n * Load the dependency graph of the current install. Only does package resolving and wont write to the cwd.\n */\n async hydrate(ignoreUnusedPatterns?: boolean): Promise<InstallCwdRequest> {\n const request = await this.fetchRequestFromCwd([], ignoreUnusedPatterns);\n const {requests: depRequests, patterns: rawPatterns, ignorePatterns, workspaceLayout} = request;\n\n await this.resolver.init(depRequests, {\n isFlat: this.flags.flat,\n isFrozen: this.flags.frozenLockfile,\n workspaceLayout,\n });\n await this.flatten(rawPatterns);\n this.markIgnored(ignorePatterns);\n\n // fetch packages, should hit cache most of the time\n const manifests: Array<Manifest> = await fetcher.fetch(this.resolver.getManifests(), this.config);\n this.resolver.updateManifests(manifests);\n await compatibility.check(this.resolver.getManifests(), this.config, this.flags.ignoreEngines);\n\n // expand minimal manifests\n for (const manifest of this.resolver.getManifests()) {\n const ref = manifest._reference;\n invariant(ref, 'expected reference');\n const {type} = ref.remote;\n // link specifier won't ever hit cache\n let loc = '';\n if (type === 'link') {\n continue;\n } else if (type === 'workspace') {\n if (!ref.remote.reference) {\n continue;\n }\n loc = ref.remote.reference;\n } else {\n loc = this.config.generateModuleCachePath(ref);\n }\n const newPkg = await this.config.readManifest(loc);\n await this.resolver.updateManifest(ref, newPkg);\n }\n\n return request;\n }\n\n /**\n * Check for updates every day and output a nag message if there's a newer version.\n */\n\n checkUpdate() {\n if (this.config.nonInteractive) {\n // don't show upgrade dialog on CI or non-TTY terminals\n return;\n }\n\n // don't check if disabled\n if (this.config.getOption('disable-self-update-check')) {\n return;\n }\n\n // only check for updates once a day\n const lastUpdateCheck = Number(this.config.getOption('lastUpdateCheck')) || 0;\n if (lastUpdateCheck && Date.now() - lastUpdateCheck < ONE_DAY) {\n return;\n }\n\n // don't bug for updates on tagged releases\n if (YARN_VERSION.indexOf('-') >= 0) {\n return;\n }\n\n this._checkUpdate().catch(() => {\n // swallow errors\n });\n }\n\n async _checkUpdate(): Promise<void> {\n let latestVersion = await this.config.requestManager.request({\n url: constants.SELF_UPDATE_VERSION_URL,\n });\n invariant(typeof latestVersion === 'string', 'expected string');\n latestVersion = latestVersion.trim();\n if (!semver.valid(latestVersion)) {\n return;\n }\n\n // ensure we only check for updates periodically\n this.config.registries.yarn.saveHomeConfig({\n lastUpdateCheck: Date.now(),\n });\n\n if (semver.gt(latestVersion, YARN_VERSION)) {\n const installationMethod = await getInstallationMethod();\n this.maybeOutputUpdate = () => {\n this.reporter.warn(this.reporter.lang('yarnOutdated', latestVersion, YARN_VERSION));\n\n const command = getUpdateCommand(installationMethod);\n if (command) {\n this.reporter.info(this.reporter.lang('yarnOutdatedCommand'));\n this.reporter.command(command);\n } else {\n const installer = getUpdateInstaller(installationMethod);\n if (installer) {\n this.reporter.info(this.reporter.lang('yarnOutdatedInstaller', installer));\n }\n }\n };\n }\n }\n\n /**\n * Method to override with a possible upgrade message.\n */\n\n maybeOutputUpdate() {}\n maybeOutputUpdate: any;\n}\n\nexport function hasWrapper(commander: Object, args: Array<string>): boolean {\n return true;\n}\n\nexport function setFlags(commander: Object) {\n commander.description('Yarn install is used to install all dependencies for a project.');\n commander.usage('install [flags]');\n commander.option('-A, --audit', 'Run vulnerability audit on installed packages');\n commander.option('-g, --global', 'DEPRECATED');\n commander.option('-S, --save', 'DEPRECATED - save package to your `dependencies`');\n commander.option('-D, --save-dev', 'DEPRECATED - save package to your `devDependencies`');\n commander.option('-P, --save-peer', 'DEPRECATED - save package to your `peerDependencies`');\n commander.option('-O, --save-optional', 'DEPRECATED - save package to your `optionalDependencies`');\n commander.option('-E, --save-exact', 'DEPRECATED');\n commander.option('-T, --save-tilde', 'DEPRECATED');\n}\n\nexport async function install(config: Config, reporter: Reporter, flags: Object, lockfile: Lockfile): Promise<void> {\n await wrapLifecycle(config, flags, async () => {\n const install = new Install(flags, config, reporter, lockfile);\n await install.init();\n });\n}\n\nexport async function run(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n let lockfile;\n let error = 'installCommandRenamed';\n if (flags.lockfile === false) {\n lockfile = new Lockfile();\n } else {\n lockfile = await Lockfile.fromDirectory(config.lockfileFolder, reporter);\n }\n\n if (args.length > 0) {\n const exampleArgs = args.slice();\n\n if (flags.saveDev) {\n exampleArgs.push('--dev');\n }\n if (flags.savePeer) {\n exampleArgs.push('--peer');\n }\n if (flags.saveOptional) {\n exampleArgs.push('--optional');\n }\n if (flags.saveExact) {\n exampleArgs.push('--exact');\n }\n if (flags.saveTilde) {\n exampleArgs.push('--tilde');\n }\n let command = 'add';\n if (flags.global) {\n error = 'globalFlagRemoved';\n command = 'global add';\n }\n throw new MessageError(reporter.lang(error, `yarn ${command} ${exampleArgs.join(' ')}`));\n }\n\n await install(config, reporter, flags, lockfile);\n}\n\nexport async function wrapLifecycle(config: Config, flags: Object, factory: () => Promise<void>): Promise<void> {\n await config.executeLifecycleScript('preinstall');\n\n await factory();\n\n // npm behaviour, seems kinda funky but yay compatibility\n await config.executeLifecycleScript('install');\n await config.executeLifecycleScript('postinstall');\n\n if (!config.production) {\n if (!config.disablePrepublish) {\n await config.executeLifecycleScript('prepublish');\n }\n await config.executeLifecycleScript('prepare');\n }\n}\n"],"mappings":"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"}