JezK
Edit File: file-resolver.js.map
{"version":3,"file":"file-resolver.js","names":["FILE_PROTOCOL_PREFIX","FileResolver","request","fragment","loc","util","removePrefix","path","isAbsolute","resolve","config","lockfileFolder","linkFileDependencies","registry","manifest","_uid","name","version","_registry","_remote","type","hash","reference","fs","exists","MessageError","reporter","lang","pattern","split","readManifest","code","dirname","invariant","uuidv4","Date","getTime","call","prefixMatcher","test","ExoticResolver"],"sourceRoot":"../../../src","sources":["resolvers/exotics/file-resolver.js"],"sourcesContent":["/* @flow */\n\nimport path from 'path';\n\nimport invariant from 'invariant';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport type {Manifest} from '../../types.js';\nimport type PackageRequest from '../../package-request.js';\nimport type {RegistryNames} from '../../registries/index.js';\nimport {MessageError} from '../../errors.js';\nimport ExoticResolver from './exotic-resolver.js';\nimport * as util from '../../util/misc.js';\nimport * as fs from '../../util/fs.js';\n\nexport const FILE_PROTOCOL_PREFIX = 'file:';\n\nexport default class FileResolver extends ExoticResolver {\n constructor(request: PackageRequest, fragment: string) {\n super(request, fragment);\n this.loc = util.removePrefix(fragment, FILE_PROTOCOL_PREFIX);\n }\n\n loc: string;\n\n static protocol = 'file';\n static prefixMatcher = /^\\.{1,2}\\//;\n\n static isVersion(pattern: string): boolean {\n return super.isVersion.call(this, pattern) || this.prefixMatcher.test(pattern) || path.isAbsolute(pattern);\n }\n\n async resolve(): Promise<Manifest> {\n let loc = this.loc;\n if (!path.isAbsolute(loc)) {\n loc = path.resolve(this.config.lockfileFolder, loc);\n }\n\n if (this.config.linkFileDependencies) {\n const registry: RegistryNames = 'npm';\n const manifest: Manifest = {_uid: '', name: '', version: '0.0.0', _registry: registry};\n manifest._remote = {\n type: 'link',\n registry,\n hash: null,\n reference: loc,\n };\n manifest._uid = manifest.version;\n return manifest;\n }\n if (!await fs.exists(loc)) {\n throw new MessageError(this.reporter.lang('doesntExist', loc, this.pattern.split('@')[0]));\n }\n\n const manifest: Manifest = await (async () => {\n try {\n return await this.config.readManifest(loc, this.registry);\n } catch (e) {\n if (e.code === 'ENOENT') {\n return {\n // This is just the default, it can be overridden with key of dependencies\n name: path.dirname(loc),\n version: '0.0.0',\n _uid: '0.0.0',\n _registry: 'npm',\n };\n }\n\n throw e;\n }\n })();\n const registry = manifest._registry;\n invariant(registry, 'expected registry');\n\n manifest._remote = {\n type: 'copy',\n registry,\n hash: `${uuidv4()}-${new Date().getTime()}`,\n reference: loc,\n };\n\n manifest._uid = manifest.version;\n\n return manifest;\n }\n}\n"],"mappings":"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"}