JezK
Edit File: import.js.map
{"version":3,"file":"import.js","names":["invariant","require","path","ssri","nodeVersion","process","versions","node","split","noArguments","ImportResolver","request","parentRequest","parent","resolver","getStrictResolvedPattern","pattern","_loc","dirname","config","cwd","info","Resolver","normalizePattern","range","exploded","explodeHostedGitFragment","reporter","hash","gitHead","url","getTarballUrl","_uid","_remote","resolved","type","registry","reference","explodeGistFragment","id","_resolved","loc","util","removePrefix","isAbsolute","join","version","uuidv4","Date","getTime","_shasum","getOption","YARN_REGISTRY","replace","NPM_REGISTRY_RE","integrity","_integrity","parse","fromHex","getExoticResolver","prototype","HostedGitResolver","resolveHostedGit","GistResolver","resolveGist","GitResolver","resolveGit","FileResolver","resolveFile","resolveRegistry","tryManifest","resolveImport","fixedVersionPattern","exoticResolver","findExoticVersionInfo","findVersionOnRegistry","manifest","ImportPackageRequest","name","dependencyTree","LogicalDependencyTree","getFixedVersionPattern","parentNames","getCache","resolveFixedVersion","MessageError","lang","getCwd","resolveLocation","resolve","relative","startsWith","_resolveFromFixedVersions","_resolveFromNodeModules","BaseResolver","req","ImportPackageResolver","rootName","getRootName","concat","warn","getParentHumanName","solvedRange","semver","validRange","getExactVersionMatch","ref","PackageReference","_reference","_findResolvedManifest","addRequest","addPattern","addOptional","optional","verbose","PackageRequest","lockfile","next","push","Promise","activity","tick","find","fresh","deps","all","map","dep","findOne","length","resolvePackagesWithExistingVersions","findAll","patterns","requests","isFlat","isFrozen","workspaceLayout","undefined","flat","Boolean","resetOptional","end","PackageResolver","Import","flags","linker","PackageLinker","packageJson","packageLock","e","fs","readFile","NODE_PACKAGE_JSON","NPM_LOCK_FILENAME","exists","LOCKFILE_FILENAME","getExternalLockfileContents","importSource","satisfies","createLogicalDependencyTree","verifyTreeCheck","fetchRequestFromCwd","init","frozenLockfile","fetcher","fetch","getManifests","manifests","updateManifests","compatibility","check","ignoreEngines","resolvePeerModules","saveLockfileAndIntegrity","Install","setFlags","commander","description","hasWrapper","args","run","imp","Lockfile","cache"],"sourceRoot":"../../../src","sources":["cli/commands/import.js"],"sourcesContent":["/* @flow */\n\nimport type {ResolverOptions} from '../../package-resolver.js';\nimport type {Manifest, DependencyRequestPattern, DependencyRequestPatterns} from '../../types.js';\nimport type {Reporter} from '../../reporters/index.js';\nimport type Config from '../../config.js';\nimport {Install} from './install.js';\nimport {verifyTreeCheck} from './check.js';\nimport {MessageError} from '../../errors.js';\nimport {getExoticResolver} from '../../resolvers/index.js';\nimport BaseResolver from '../../resolvers/base-resolver.js';\nimport HostedGitResolver, {explodeHostedGitFragment} from '../../resolvers/exotics/hosted-git-resolver.js';\nimport GistResolver, {explodeGistFragment} from '../../resolvers/exotics/gist-resolver.js';\nimport GitResolver from '../../resolvers/exotics/git-resolver.js';\nimport FileResolver from '../../resolvers/exotics/file-resolver.js';\nimport PackageResolver from '../../package-resolver.js';\nimport PackageRequest from '../../package-request.js';\nimport PackageReference from '../../package-reference.js';\nimport * as fetcher from '../../package-fetcher.js';\nimport PackageLinker from '../../package-linker.js';\nimport * as compatibility from '../../package-compatibility.js';\nimport Lockfile from '../../lockfile';\nimport {normalizePattern} from '../../util/normalize-pattern.js';\nimport {LogicalDependencyTree} from '../../util/logical-dependency-tree';\nimport * as fs from '../../util/fs.js';\nimport * as util from '../../util/misc.js';\nimport {\n YARN_REGISTRY,\n NPM_REGISTRY_RE,\n LOCKFILE_FILENAME,\n NODE_PACKAGE_JSON,\n NPM_LOCK_FILENAME,\n} from '../../constants.js';\nimport semver from 'semver';\n\nconst invariant = require('invariant');\nconst path = require('path');\nimport { v4 as uuidv4 } from 'uuid';\nconst ssri = require('ssri');\nconst nodeVersion = process.versions.node.split('-')[0];\n\nexport const noArguments = true;\n\nclass ImportResolver extends BaseResolver {\n getCwd(): string {\n if (this.request.parentRequest) {\n const parent = this.resolver.getStrictResolvedPattern(this.request.parentRequest.pattern);\n invariant(parent._loc, 'expected package location');\n return path.dirname(parent._loc);\n }\n return this.config.cwd;\n }\n\n resolveHostedGit(info: Manifest, Resolver: Class<HostedGitResolver>): Manifest {\n const {range} = normalizePattern(this.pattern);\n const exploded = explodeHostedGitFragment(range, this.reporter);\n const hash = (info: any).gitHead;\n invariant(hash, 'expected package gitHead');\n const url = Resolver.getTarballUrl(exploded, hash);\n info._uid = hash;\n info._remote = {\n resolved: url,\n type: 'tarball',\n registry: this.registry,\n reference: url,\n hash: null,\n };\n return info;\n }\n\n resolveGist(info: Manifest, Resolver: typeof GistResolver): Manifest {\n const {range} = normalizePattern(this.pattern);\n const {id} = explodeGistFragment(range, this.reporter);\n const hash = (info: any).gitHead;\n invariant(hash, 'expected package gitHead');\n const url = `https://gist.github.com/${id}.git`;\n info._uid = hash;\n info._remote = {\n resolved: `${url}#${hash}`,\n type: 'git',\n registry: this.registry,\n reference: url,\n hash,\n };\n return info;\n }\n\n resolveGit(info: Manifest, Resolver: typeof GitResolver): Manifest {\n const url = (info: any)._resolved;\n const hash = (info: any).gitHead;\n invariant(url, 'expected package _resolved');\n invariant(hash, 'expected package gitHead');\n info._uid = hash;\n info._remote = {\n resolved: `${url}#${hash}`,\n type: 'git',\n registry: this.registry,\n reference: url,\n hash,\n };\n return info;\n }\n\n resolveFile(info: Manifest, Resolver: typeof FileResolver): Manifest {\n const {range} = normalizePattern(this.pattern);\n let loc = util.removePrefix(range, 'file:');\n if (!path.isAbsolute(loc)) {\n loc = path.join(this.config.cwd, loc);\n }\n info._uid = info.version;\n info._remote = {\n type: 'copy',\n registry: this.registry,\n hash: `${uuidv4()}-${new Date().getTime()}`,\n reference: loc,\n };\n return info;\n }\n\n resolveRegistry(info: Manifest): Manifest {\n let url = (info: any)._resolved;\n const hash = (info: any)._shasum;\n invariant(url, 'expected package _resolved');\n invariant(hash, 'expected package _shasum');\n if (this.config.getOption('registry') === YARN_REGISTRY) {\n url = url.replace(NPM_REGISTRY_RE, YARN_REGISTRY);\n }\n info._uid = info.version;\n info._remote = {\n resolved: `${url}#${hash}`,\n type: 'tarball',\n registry: this.registry,\n reference: url,\n integrity: info._integrity ? ssri.parse(info._integrity) : ssri.fromHex(hash, 'sha1'),\n hash,\n };\n return info;\n }\n\n resolveImport(info: Manifest): Manifest {\n const {range} = normalizePattern(this.pattern);\n const Resolver = getExoticResolver(range);\n if (Resolver && Resolver.prototype instanceof HostedGitResolver) {\n return this.resolveHostedGit(info, Resolver);\n } else if (Resolver && Resolver === GistResolver) {\n return this.resolveGist(info, Resolver);\n } else if (Resolver && Resolver === GitResolver) {\n return this.resolveGit(info, Resolver);\n } else if (Resolver && Resolver === FileResolver) {\n return this.resolveFile(info, Resolver);\n }\n return this.resolveRegistry(info);\n }\n\n async resolveLocation(loc): Promise<?Manifest> {\n const info = await this.config.tryManifest(loc, 'npm', false);\n if (!info) {\n return null;\n }\n return this.resolveImport(info);\n }\n\n async resolveFixedVersion(fixedVersionPattern: string): Promise<?Manifest> {\n const {range} = normalizePattern(fixedVersionPattern);\n const exoticResolver = getExoticResolver(range);\n const manifest = exoticResolver\n ? await this.request.findExoticVersionInfo(exoticResolver, range)\n : await this.request.findVersionOnRegistry(fixedVersionPattern);\n return manifest;\n }\n\n async _resolveFromFixedVersions(): Promise<Manifest> {\n invariant(this.request instanceof ImportPackageRequest, 'request must be ImportPackageRequest');\n const {name} = normalizePattern(this.pattern);\n invariant(\n this.request.dependencyTree instanceof LogicalDependencyTree,\n 'dependencyTree on request must be LogicalDependencyTree',\n );\n const fixedVersionPattern = this.request.dependencyTree.getFixedVersionPattern(name, this.request.parentNames);\n const info = await this.config.getCache(`import-resolver-${fixedVersionPattern}`, () =>\n this.resolveFixedVersion(fixedVersionPattern),\n );\n if (info) {\n return info;\n }\n throw new MessageError(this.reporter.lang('importResolveFailed', name, this.getCwd()));\n }\n\n async _resolveFromNodeModules(): Promise<Manifest> {\n const {name} = normalizePattern(this.pattern);\n let cwd = this.getCwd();\n while (!path.relative(this.config.cwd, cwd).startsWith('..')) {\n const loc = path.join(cwd, 'node_modules', name);\n const info = await this.config.getCache(`import-resolver-${loc}`, () => this.resolveLocation(loc));\n if (info) {\n return info;\n }\n cwd = path.resolve(cwd, '../..');\n }\n throw new MessageError(this.reporter.lang('importResolveFailed', name, this.getCwd()));\n }\n\n resolve(): Promise<Manifest> {\n if (this.request instanceof ImportPackageRequest && this.request.dependencyTree) {\n return this._resolveFromFixedVersions();\n } else {\n return this._resolveFromNodeModules();\n }\n }\n}\n\nclass ImportPackageRequest extends PackageRequest {\n constructor(req: DependencyRequestPattern, dependencyTree: ?LogicalDependencyTree, resolver: PackageResolver) {\n super(req, resolver);\n this.import = this.parentRequest instanceof ImportPackageRequest ? this.parentRequest.import : true;\n this.dependencyTree = dependencyTree;\n }\n\n import: boolean;\n dependencyTree: ?LogicalDependencyTree;\n\n getRootName(): string {\n return (this.resolver instanceof ImportPackageResolver && this.resolver.rootName) || 'root';\n }\n\n getParentHumanName(): string {\n return [this.getRootName()].concat(this.parentNames).join(' > ');\n }\n\n reportResolvedRangeMatch(info: Manifest, resolved: Manifest) {\n if (info.version === resolved.version) {\n return;\n }\n this.reporter.warn(\n this.reporter.lang(\n 'importResolvedRangeMatch',\n resolved.version,\n resolved.name,\n info.version,\n this.getParentHumanName(),\n ),\n );\n }\n\n _findResolvedManifest(info: Manifest): Manifest {\n const {range, name} = normalizePattern(this.pattern);\n const solvedRange = semver.validRange(range) ? info.version : range;\n const resolved: ?Manifest = this.resolver.getExactVersionMatch(name, solvedRange, info);\n if (resolved) {\n return resolved;\n }\n invariant(info._remote, 'expected package remote');\n const ref = new PackageReference(this, info, info._remote);\n info._reference = ref;\n return info;\n }\n\n resolveToExistingVersion(info: Manifest) {\n const resolved: ?Manifest = this._findResolvedManifest(info);\n invariant(resolved, 'should have found a resolved reference');\n const ref = resolved._reference;\n invariant(ref, 'should have a package reference');\n ref.addRequest(this);\n ref.addPattern(this.pattern, resolved);\n ref.addOptional(this.optional);\n }\n\n findVersionInfo(): Promise<Manifest> {\n if (!this.import) {\n this.reporter.verbose(this.reporter.lang('skippingImport', this.pattern, this.getParentHumanName()));\n return super.findVersionInfo();\n }\n const resolver = new ImportResolver(this, this.pattern);\n return resolver.resolve().catch(() => {\n this.import = false;\n this.reporter.warn(this.reporter.lang('importFailed', this.pattern, this.getParentHumanName()));\n return super.findVersionInfo();\n });\n }\n}\n\nclass ImportPackageResolver extends PackageResolver {\n constructor(config: Config, lockfile: Lockfile) {\n super(config, lockfile);\n this.next = [];\n this.rootName = 'root';\n }\n\n next: DependencyRequestPatterns;\n rootName: string;\n dependencyTree: ?LogicalDependencyTree;\n\n find(req: DependencyRequestPattern): Promise<void> {\n this.next.push(req);\n return Promise.resolve();\n }\n\n async findOne(req: DependencyRequestPattern): Promise<void> {\n if (this.activity) {\n this.activity.tick(req.pattern);\n }\n const request = new ImportPackageRequest(req, this.dependencyTree, this);\n await request.find({fresh: false});\n }\n\n async findAll(deps: DependencyRequestPatterns): Promise<void> {\n await Promise.all(deps.map(dep => this.findOne(dep)));\n deps = this.next;\n this.next = [];\n if (!deps.length) {\n // all required package versions have been discovered, so now packages that\n // resolved to existing versions can be resolved to their best available version\n this.resolvePackagesWithExistingVersions();\n return;\n }\n await this.findAll(deps);\n }\n\n resetOptional() {\n for (const pattern in this.patterns) {\n const ref = this.patterns[pattern]._reference;\n invariant(ref, 'expected reference');\n ref.optional = null;\n for (const req of ref.requests) {\n ref.addOptional(req.optional);\n }\n }\n }\n\n async init(\n deps: DependencyRequestPatterns,\n {isFlat, isFrozen, workspaceLayout}: ResolverOptions = {isFlat: false, isFrozen: false, workspaceLayout: undefined},\n ): Promise<void> {\n this.flat = Boolean(isFlat);\n const activity = (this.activity = this.reporter.activity());\n await this.findAll(deps);\n this.resetOptional();\n activity.end();\n this.activity = null;\n }\n}\n\nexport class Import extends Install {\n constructor(flags: Object, config: Config, reporter: Reporter, lockfile: Lockfile) {\n super(flags, config, reporter, lockfile);\n this.resolver = new ImportPackageResolver(this.config, this.lockfile);\n this.linker = new PackageLinker(config, this.resolver);\n }\n createLogicalDependencyTree(packageJson: ?string, packageLock: ?string) {\n invariant(packageJson, 'package.json should exist');\n invariant(packageLock, 'package-lock.json should exist');\n invariant(this.resolver instanceof ImportPackageResolver, 'resolver should be an ImportPackageResolver');\n try {\n this.resolver.dependencyTree = new LogicalDependencyTree(packageJson, packageLock);\n } catch (e) {\n throw new MessageError(this.reporter.lang('importSourceFilesCorrupted'));\n }\n }\n async getExternalLockfileContents(): Promise<{packageJson: ?string, packageLock: ?string}> {\n try {\n const [packageJson, packageLock] = await Promise.all([\n fs.readFile(path.join(this.config.cwd, NODE_PACKAGE_JSON)),\n fs.readFile(path.join(this.config.cwd, NPM_LOCK_FILENAME)),\n ]);\n return {packageJson, packageLock};\n } catch (e) {\n return {packageJson: null, packageLock: null};\n }\n }\n async init(): Promise<Array<string>> {\n if (await fs.exists(path.join(this.config.cwd, LOCKFILE_FILENAME))) {\n throw new MessageError(this.reporter.lang('lockfileExists'));\n }\n const {packageJson, packageLock} = await this.getExternalLockfileContents();\n const importSource =\n packageJson && packageLock && semver.satisfies(nodeVersion, '>=5.0.0') ? 'package-lock.json' : 'node_modules';\n if (importSource === 'package-lock.json') {\n this.reporter.info(this.reporter.lang('importPackageLock'));\n this.createLogicalDependencyTree(packageJson, packageLock);\n }\n if (importSource === 'node_modules') {\n this.reporter.info(this.reporter.lang('importNodeModules'));\n await verifyTreeCheck(this.config, this.reporter, {}, []);\n }\n const {requests, patterns, manifest} = await this.fetchRequestFromCwd();\n if (manifest.name && this.resolver instanceof ImportPackageResolver) {\n this.resolver.rootName = manifest.name;\n }\n await this.resolver.init(requests, {isFlat: this.flags.flat, isFrozen: this.flags.frozenLockfile});\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 await this.linker.resolvePeerModules();\n await this.saveLockfileAndIntegrity(patterns);\n return patterns;\n }\n}\n\nexport function setFlags(commander: Object) {\n commander.description(\n 'Generates yarn.lock from an npm package-lock.json file or an existing npm-installed node_modules folder.',\n );\n}\n\nexport function hasWrapper(commander: Object, args: Array<string>): boolean {\n return true;\n}\n\nexport async function run(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n const imp = new Import(flags, config, reporter, new Lockfile({cache: {}}));\n await imp.init();\n}\n"],"mappings":"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"}