UNPKG

@decaf-ts/fabric-weaver

Version:
31 lines 3.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const logging_1 = require("@decaf-ts/logging"); const commander_1 = require("commander"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const process_1 = require("process"); const program = new commander_1.Command(); program .command("add-node-shebang") .description("Adds a shebang to the provided script") .option("--file <string>", "Path to the script file") .action(async (options) => { const log = logging_1.Logging.for("She-Bang"); const filePath = path_1.default.join((0, process_1.cwd)(), options.file); let content = fs_1.default.readFileSync(filePath, "utf8"); const shebang = "#!/usr/bin/env node"; if (!content.startsWith(shebang)) { content = `${shebang}\n${content}`; fs_1.default.writeFileSync(filePath, content, "utf8"); log.info(`Shebang added to ${filePath}`); } else { log.error(`Shebang already present in ${filePath}`); } }); program.parse(process.argv); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlLWJhbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL3NoZS1iYW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0NBQTRDO0FBQzVDLHlDQUFvQztBQUNwQyw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLHFDQUE4QjtBQUU5QixNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFPLEVBQUUsQ0FBQztBQUU5QixPQUFPO0tBQ0osT0FBTyxDQUFDLGtCQUFrQixDQUFDO0tBQzNCLFdBQVcsQ0FBQyx1Q0FBdUMsQ0FBQztLQUNwRCxNQUFNLENBQUMsaUJBQWlCLEVBQUUseUJBQXlCLENBQUM7S0FDcEQsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUN4QixNQUFNLEdBQUcsR0FBRyxpQkFBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxNQUFNLFFBQVEsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsYUFBRyxHQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELElBQUksT0FBTyxHQUFHLFlBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWhELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDO0lBRXRDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxHQUFHLEdBQUcsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ25DLFlBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7U0FBTSxDQUFDO1FBQ04sR0FBRyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFTCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSBcInByb2Nlc3NcIjtcblxuY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbnByb2dyYW1cbiAgLmNvbW1hbmQoXCJhZGQtbm9kZS1zaGViYW5nXCIpXG4gIC5kZXNjcmlwdGlvbihcIkFkZHMgYSBzaGViYW5nIHRvIHRoZSBwcm92aWRlZCBzY3JpcHRcIilcbiAgLm9wdGlvbihcIi0tZmlsZSA8c3RyaW5nPlwiLCBcIlBhdGggdG8gdGhlIHNjcmlwdCBmaWxlXCIpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBsb2cgPSBMb2dnaW5nLmZvcihcIlNoZS1CYW5nXCIpO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKGN3ZCgpLCBvcHRpb25zLmZpbGUpO1xuICAgIGxldCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0ZjhcIik7XG5cbiAgICBjb25zdCBzaGViYW5nID0gXCIjIS91c3IvYmluL2VudiBub2RlXCI7XG5cbiAgICBpZiAoIWNvbnRlbnQuc3RhcnRzV2l0aChzaGViYW5nKSkge1xuICAgICAgY29udGVudCA9IGAke3NoZWJhbmd9XFxuJHtjb250ZW50fWA7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBjb250ZW50LCBcInV0ZjhcIik7XG4gICAgICBsb2cuaW5mbyhgU2hlYmFuZyBhZGRlZCB0byAke2ZpbGVQYXRofWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZXJyb3IoYFNoZWJhbmcgYWxyZWFkeSBwcmVzZW50IGluICR7ZmlsZVBhdGh9YCk7XG4gICAgfVxuICB9KTtcblxucHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xuIl19