JezK
Edit File: run.js.map
{"version":3,"file":"run.js","names":["invariant","require","levenshtein","path","quoteForShell","sh","unquoted","toObject","input","output","Object","create","entries","key","val","getBinEntries","config","binFolders","Set","binEntries","Map","registryFolders","registryFolder","add","resolve","cwd","lockfileFolder","fs","exists","constants","PNP_FILENAME","pnpApi","dynamicRequire","packageLocator","findPackageLocator","packageInformation","getPackageInformation","packageDependencies","name","reference","dependencyInformation","packageLocation","binFolder","readdir","set","join","setFlags","commander","description","hasWrapper","args","run","reporter","flags","runCommand","realRunCommand","action","cmds","pkgScripts","preAction","push","script","scripts","get","postAction","has","length","ignoreEngines","getOption","checkCompatibility","pkg","MessageError","lang","process","env","YARN_WRAP_OUTPUT","stage","cmd","cmdWithArgs","customShell","execCommand","into","isInteractive","String","undefined","JSON","makeEnv","stringify","force","log","keys","commandName","steps","suggestion","msg","callThroughHook","readManifest","binCommands","pkgCommands","loc","sort","size","info","Array","from","error","printedCommands","pkgCommand","list","nonInteractive","question","then","answer","trim","split","Promise"],"sourceRoot":"../../../src","sources":["cli/commands/run.js"],"sourcesContent":["/* @flow */\n\nimport type {Reporter} from '../../reporters/index.js';\nimport type Config from '../../config.js';\nimport {execCommand, makeEnv} from '../../util/execute-lifecycle-script.js';\nimport {dynamicRequire} from '../../util/dynamic-require.js';\nimport {callThroughHook} from '../../util/hooks.js';\nimport {MessageError} from '../../errors.js';\nimport {checkOne as checkCompatibility} from '../../package-compatibility.js';\nimport * as fs from '../../util/fs.js';\nimport * as constants from '../../constants.js';\n\nconst invariant = require('invariant');\nconst levenshtein = require('fast-levenshtein');\nconst path = require('path');\nconst {quoteForShell, sh, unquoted} = require('puka');\n\nfunction toObject(input: Map<string, string>): Object {\n const output = Object.create(null);\n\n for (const [key, val] of input.entries()) {\n output[key] = val;\n }\n\n return output;\n}\n\nexport async function getBinEntries(config: Config): Promise<Map<string, string>> {\n const binFolders = new Set();\n const binEntries = new Map();\n\n // Setup the node_modules/.bin folders for analysis\n for (const registryFolder of config.registryFolders) {\n binFolders.add(path.resolve(config.cwd, registryFolder, '.bin'));\n binFolders.add(path.resolve(config.lockfileFolder, registryFolder, '.bin'));\n }\n\n // Same thing, but for the pnp dependencies, located inside the cache\n if (await fs.exists(`${config.lockfileFolder}/${constants.PNP_FILENAME}`)) {\n const pnpApi = dynamicRequire(`${config.lockfileFolder}/${constants.PNP_FILENAME}`);\n\n const packageLocator = pnpApi.findPackageLocator(`${config.cwd}/`);\n const packageInformation = pnpApi.getPackageInformation(packageLocator);\n\n for (const [name, reference] of packageInformation.packageDependencies.entries()) {\n const dependencyInformation = pnpApi.getPackageInformation({name, reference});\n\n if (dependencyInformation.packageLocation) {\n binFolders.add(`${dependencyInformation.packageLocation}/.bin`);\n }\n }\n }\n\n // Build up a list of possible scripts by exploring the folders marked for analysis\n for (const binFolder of binFolders) {\n if (await fs.exists(binFolder)) {\n for (const name of await fs.readdir(binFolder)) {\n binEntries.set(name, path.join(binFolder, name));\n }\n }\n }\n\n return binEntries;\n}\n\nexport function setFlags(commander: Object) {\n commander.description('Runs a defined package script.');\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 pkg = await config.readManifest(config.cwd);\n\n const binCommands = new Set();\n const pkgCommands = new Set();\n\n const scripts: Map<string, string> = new Map();\n\n for (const [name, loc] of await getBinEntries(config)) {\n scripts.set(name, quoteForShell(loc));\n binCommands.add(name);\n }\n\n const pkgScripts = pkg.scripts;\n\n if (pkgScripts) {\n for (const name of Object.keys(pkgScripts).sort()) {\n scripts.set(name, pkgScripts[name] || '');\n pkgCommands.add(name);\n }\n }\n\n function runCommand([action, ...args]): Promise<void> {\n return callThroughHook('runScript', () => realRunCommand(action, args), {action, args});\n }\n\n async function realRunCommand(action, args): Promise<void> {\n // build up list of commands\n const cmds = [];\n\n if (pkgScripts && action in pkgScripts) {\n const preAction = `pre${action}`;\n if (preAction in pkgScripts) {\n cmds.push([preAction, pkgScripts[preAction]]);\n }\n\n const script = scripts.get(action);\n invariant(script, 'Script must exist');\n cmds.push([action, script]);\n\n const postAction = `post${action}`;\n if (postAction in pkgScripts) {\n cmds.push([postAction, pkgScripts[postAction]]);\n }\n } else if (scripts.has(action)) {\n const script = scripts.get(action);\n invariant(script, 'Script must exist');\n cmds.push([action, script]);\n }\n\n if (cmds.length) {\n const ignoreEngines = !!(flags.ignoreEngines || config.getOption('ignore-engines'));\n try {\n await checkCompatibility(pkg, config, ignoreEngines);\n } catch (err) {\n throw err instanceof MessageError ? new MessageError(reporter.lang('cannotRunWithIncompatibleEnv')) : err;\n }\n\n // Disable wrapper in executed commands\n process.env.YARN_WRAP_OUTPUT = 'false';\n for (const [stage, cmd] of cmds) {\n // only tack on trailing arguments for default script, ignore for pre and post - #1595\n const cmdWithArgs = stage === action ? sh`${unquoted(cmd)} ${args}` : cmd;\n const customShell = config.getOption('script-shell');\n await execCommand({\n stage,\n config,\n cmd: cmdWithArgs,\n cwd: flags.into || config.cwd,\n isInteractive: true,\n customShell: customShell ? String(customShell) : undefined,\n });\n }\n } else if (action === 'env') {\n reporter.log(JSON.stringify(await makeEnv('env', config.cwd, config), null, 2), {force: true});\n } else {\n let suggestion;\n\n for (const commandName of scripts.keys()) {\n const steps = levenshtein.get(commandName, action);\n if (steps < 2) {\n suggestion = commandName;\n }\n }\n\n let msg = `Command ${JSON.stringify(action)} not found.`;\n if (suggestion) {\n msg += ` Did you mean ${JSON.stringify(suggestion)}?`;\n }\n throw new MessageError(msg);\n }\n }\n\n // list possible scripts if none specified\n if (args.length === 0) {\n if (binCommands.size > 0) {\n reporter.info(`${reporter.lang('binCommands') + Array.from(binCommands).join(', ')}`);\n } else {\n reporter.error(reporter.lang('noBinAvailable'));\n }\n\n const printedCommands: Map<string, string> = new Map();\n\n for (const pkgCommand of pkgCommands) {\n const action = scripts.get(pkgCommand);\n invariant(action, 'Action must exists');\n printedCommands.set(pkgCommand, action);\n }\n\n if (pkgCommands.size > 0) {\n reporter.info(`${reporter.lang('possibleCommands')}`);\n reporter.list('possibleCommands', Array.from(pkgCommands), toObject(printedCommands));\n if (!flags.nonInteractive) {\n await reporter\n .question(reporter.lang('commandQuestion'))\n .then(\n answer => runCommand(answer.trim().split(' ')),\n () => reporter.error(reporter.lang('commandNotSpecified')),\n );\n }\n } else {\n reporter.error(reporter.lang('noScriptsAvailable'));\n }\n return Promise.resolve();\n } else {\n return runCommand(args);\n }\n}\n"],"mappings":"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"}