zip-build
Version:
Node package to zip your build directory and name it according to your package.json name and version.
31 lines • 1.47 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var os_1 = __importDefault(require("os"));
var getTimestampString_1 = __importDefault(require("./getTimestampString"));
var CWD = process.cwd();
var PACKAGE = require("".concat(CWD, "/package.json"));
function generateFilename(template, extension, osPlatform) {
if (osPlatform === void 0) { osPlatform = os_1.default.platform(); }
var filename = template || '%NAME%_%VERSION%_%TIMESTAMP%.%EXT%';
for (var key in PACKAGE) {
if (PACKAGE.hasOwnProperty(key)) {
var keyPlaceholder = "%".concat(key.toUpperCase(), "%"); // name --> %NAME%
var parsedVal = PACKAGE[key]
.toString() // convert non-strings to strings
.replace(/[^a-z0-9\s\._-]/gi, '') // remove illegal filename chars
.replace(/[\s]/g, '_'); // convert spaces to underscores
filename = filename.replace(keyPlaceholder, parsedVal);
}
}
if (filename.includes('%TIMESTAMP%')) {
var timestamp = (0, getTimestampString_1.default)(osPlatform);
filename = filename.replace('%TIMESTAMP%', timestamp);
}
filename = filename.replace('%EXT%', extension);
return filename;
}
exports.default = generateFilename;
//# sourceMappingURL=generateFilename.js.map