UNPKG

rs-runner

Version:

RS is a CLI tool for quickly detecting package.json scripts, and running them.

111 lines (110 loc) 5.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runRunnerCommand = exports.runDirectoryScript = exports.runGlobalScript = exports.runPackageScript = void 0; var child_process_1 = require("child_process"); var output_1 = require("./output"); var pm_1 = require("./pm"); var scripts_1 = require("./scripts"); var config_1 = require("./config"); var runPackageScript = function (script) { var runner = (0, pm_1.detectRunner)(); if (!runner) { output_1.output.error('No package manager detected. Run "npm init" or create a lock file first.'); return; } output_1.output.verbose("Package manager: ".concat(runner)); output_1.output.verbose("Script source: package.json"); var command = "".concat(runner, " run ").concat(script); output_1.output.verbose("Full command: ".concat(command)); (0, output_1.output)("Executing: ".concat(command), 'green'); var childProcess = (0, child_process_1.spawn)(command, { stdio: 'inherit', shell: true }); childProcess.on('error', function (error) { output_1.output.error("Error executing script: ".concat(error.message)); }); childProcess.on('exit', function (code) { if (code !== 0) { output_1.output.error("Script exited with code ".concat(code)); } }); }; exports.runPackageScript = runPackageScript; var runGlobalScript = function (script) { var globalScripts = (0, scripts_1.getGlobalScripts)(); if (!globalScripts[script]) { var available = Object.keys(globalScripts); if (available.length > 0) { output_1.output.warn("Global script '".concat(script, "' not found. Available: ").concat(available.join(', '))); } else { output_1.output.warn("Global script '".concat(script, "' not found. No global scripts defined.")); } return; } var configPath = (0, config_1.getConfigPath)(); output_1.output.verbose("Config file: ".concat(configPath)); output_1.output.verbose("Script source: global scripts"); var command = globalScripts[script]; output_1.output.verbose("Full command: ".concat(command)); (0, output_1.output)("Executing global script: ".concat(command), 'green'); var childProcess = (0, child_process_1.spawn)(command, { stdio: 'inherit', shell: true }); childProcess.on('error', function (error) { output_1.output.error("Error executing global script: ".concat(error.message)); }); childProcess.on('exit', function (code) { if (code !== 0) { output_1.output.error("Global script exited with code ".concat(code)); } }); }; exports.runGlobalScript = runGlobalScript; var runDirectoryScript = function (script) { var directoryScripts = (0, scripts_1.getDirectoryScripts)(); if (!directoryScripts[script]) { var available = Object.keys(directoryScripts); if (available.length > 0) { output_1.output.warn("Directory script '".concat(script, "' not found. Available: ").concat(available.join(', '))); } else { output_1.output.warn("Directory script '".concat(script, "' not found for current directory.")); } return; } var configPath = (0, config_1.getConfigPath)(); output_1.output.verbose("Config file: ".concat(configPath)); output_1.output.verbose("Script source: directory scripts (".concat(process.cwd(), ")")); var command = directoryScripts[script]; output_1.output.verbose("Full command: ".concat(command)); (0, output_1.output)("Executing directory script: ".concat(command), 'green'); var childProcess = (0, child_process_1.spawn)(command, { stdio: 'inherit', shell: true }); childProcess.on('error', function (error) { output_1.output.error("Error executing directory script: ".concat(error.message)); }); childProcess.on('exit', function (code) { if (code !== 0) { output_1.output.error("Directory script exited with code ".concat(code)); } }); }; exports.runDirectoryScript = runDirectoryScript; var runRunnerCommand = function (script) { var runner = (0, pm_1.detectRunner)(); if (!runner) { output_1.output.error('No package manager detected. Run "npm init" or create a lock file first.'); return; } output_1.output.verbose("Package manager: ".concat(runner)); output_1.output.verbose("Script source: runner fallback"); var command = "".concat(runner, " ").concat(script); output_1.output.verbose("Full command: ".concat(command)); (0, output_1.output)("Executing command: ".concat(command), 'green'); var childProcess = (0, child_process_1.spawn)(command, { stdio: 'inherit', shell: true }); childProcess.on('error', function (error) { output_1.output.error("Error executing ".concat(runner, " command: ").concat(error.message)); }); childProcess.on('exit', function (code) { if (code !== 0) { output_1.output.error("".concat(runner, " command exited with code ").concat(code)); } }); }; exports.runRunnerCommand = runRunnerCommand;