rs-runner
Version:
RS is a CLI tool for quickly detecting package.json scripts, and running them.
84 lines (83 loc) • 3.71 kB
JavaScript
;
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 runPackageScript = function (script) {
var runner = (0, pm_1.detectRunner)();
if (!runner) {
output_1.output.error('No package manager detected. Please ensure you have a lock file (package-lock.json, yarn.lock, etc.)');
return;
}
var command = "".concat(runner, " run ").concat(script);
(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]) {
output_1.output.warn("Global script not found: ".concat(script));
return;
}
var command = globalScripts[script];
(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]) {
output_1.output.warn("Directory script not found: ".concat(script));
return;
}
var command = directoryScripts[script];
(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. Please ensure you have a lock file (package-lock.json, yarn.lock, etc.)');
return;
}
var command = "".concat(runner, " ").concat(script);
(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;