JezK
Edit File: base-registry.js.map
{"version":3,"file":"base-registry.js","names":["objectPath","require","path","BaseRegistry","cwd","registries","requestManager","reporter","enableDefaultRc","extraneousRcFiles","config","folder","token","loc","otp","key","Object","keys","reduce","option","split","push","Promise","resolve","name","range","reject","Error","pathname","opts","request","url","overrides","mergeEnv","loadConfig","override","val","undefined","join","prefix","envKey","process","env","toLowerCase","indexOf","normalizeConfigOption","removePrefix","replace","set"],"sourceRoot":"../../src","sources":["registries/base-registry.js"],"sourcesContent":["/* @flow */\n\nimport type Reporter from '../reporters/base-reporter.js';\nimport type RequestManager, {RequestMethods} from '../util/request-manager.js';\nimport type Config from '../config.js';\nimport type {ConfigRegistries} from './index.js';\nimport {removePrefix} from '../util/misc.js';\n\nconst objectPath = require('object-path');\nconst path = require('path');\n\nexport type RegistryRequestOptions = {\n method?: RequestMethods,\n auth?: Object,\n body?: mixed,\n buffer?: boolean,\n headers?: Object,\n process?: Function,\n registry?: string,\n unfiltered?: boolean,\n};\n\nexport type CheckOutdatedReturn = Promise<{\n wanted: string,\n latest: string,\n url: string,\n}>;\n\nexport default class BaseRegistry {\n constructor(\n cwd: string,\n registries: ConfigRegistries,\n requestManager: RequestManager,\n reporter: Reporter,\n enableDefaultRc: boolean,\n extraneousRcFiles: Array<string>,\n ) {\n this.reporter = reporter;\n this.requestManager = requestManager;\n this.registries = registries;\n this.config = {};\n this.folder = '';\n this.token = '';\n this.loc = '';\n this.cwd = cwd;\n this.enableDefaultRc = enableDefaultRc;\n this.extraneousRcFiles = extraneousRcFiles;\n }\n\n // the filename to use for package metadata\n static filename: string;\n\n //\n enableDefaultRc: boolean;\n extraneousRcFiles: Array<string>;\n\n //\n reporter: Reporter;\n //\n registries: ConfigRegistries;\n\n //\n requestManager: RequestManager;\n\n //\n token: string;\n\n //\n otp: string;\n\n //\n cwd: string;\n\n //\n config: Object;\n\n // absolute folder name to insert modules\n loc: string;\n\n // relative folder name to put these modules\n folder: string;\n\n setToken(token: string) {\n this.token = token;\n }\n\n setOtp(otp: string) {\n this.otp = otp;\n }\n\n getOption(key: string): mixed {\n return this.config[key];\n }\n\n getAvailableRegistries(): Array<string> {\n const config = this.config;\n return Object.keys(config).reduce((registries, option) => {\n if (option === 'registry' || option.split(':')[1] === 'registry') {\n registries.push(config[option]);\n }\n return registries;\n }, []);\n }\n\n loadConfig(): Promise<void> {\n return Promise.resolve();\n }\n\n checkOutdated(config: Config, name: string, range: string): CheckOutdatedReturn {\n return Promise.reject(new Error('unimplemented'));\n }\n\n saveHomeConfig(config: Object): Promise<void> {\n return Promise.reject(new Error('unimplemented'));\n }\n\n request(pathname: string, opts?: RegistryRequestOptions = {}): Promise<*> {\n return this.requestManager.request({\n url: pathname,\n ...opts,\n });\n }\n\n async init(overrides: Object = {}): Promise<void> {\n this.mergeEnv('yarn_');\n await this.loadConfig();\n\n for (const override of Object.keys(overrides)) {\n const val = overrides[override];\n\n if (val !== undefined) {\n this.config[override] = val;\n }\n }\n this.loc = path.join(this.cwd, this.folder);\n }\n\n static normalizeConfig(config: Object): Object {\n for (const key in config) {\n config[key] = BaseRegistry.normalizeConfigOption(config[key]);\n }\n return config;\n }\n\n static normalizeConfigOption(val: any): any {\n if (val === 'true') {\n return true;\n } else if (val === 'false') {\n return false;\n } else {\n return val;\n }\n }\n\n mergeEnv(prefix: string) {\n // try environment variables\n for (const envKey in process.env) {\n let key = envKey.toLowerCase();\n\n // only accept keys prefixed with the prefix\n if (key.indexOf(prefix.toLowerCase()) !== 0) {\n continue;\n }\n\n const val = BaseRegistry.normalizeConfigOption(process.env[envKey]);\n\n // remove config prefix\n key = removePrefix(key, prefix.toLowerCase());\n\n // replace dunders with dots\n key = key.replace(/__/g, '.');\n\n // replace underscores with dashes ignoring keys that start with an underscore\n key = key.replace(/([^_])_/g, '$1-');\n\n // set it via a path\n objectPath.set(this.config, key, val);\n }\n }\n}\n"],"mappings":"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"}