lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
26 lines • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toTsScriptTarget = void 0;
const typescript_1 = require("typescript");
const esDigitRegExp = /^es(2[0-9]{3})$/i;
function toTsScriptTarget(target) {
if (target === 'es5' || target === 'ES5') {
return typescript_1.ScriptTarget.ES5;
}
if (target === 'esnext' || target === 'ESNext') {
return typescript_1.ScriptTarget.ESNext;
}
if (target === 'latest' || target === 'Latest') {
return typescript_1.ScriptTarget.Latest;
}
const m = esDigitRegExp.exec(target);
if (m != null && m[1] != null) {
const digitPart = Number(m[1]);
if (digitPart >= 2015) {
return digitPart - 2013;
}
}
return typescript_1.ScriptTarget.ESNext;
}
exports.toTsScriptTarget = toTsScriptTarget;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tdHMtc2NyaXB0LXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsiaGVscGVycy90by10cy1zY3JpcHQtdGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEwQztBQUkxQyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUV6QyxTQUFnQixnQkFBZ0IsQ0FBQyxNQUEwQjtJQUN2RCxJQUFJLE1BQU0sS0FBSyxLQUFLLElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTtRQUN0QyxPQUFPLHlCQUFZLENBQUMsR0FBRyxDQUFDO0tBQzNCO0lBRUQsSUFBSSxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDNUMsT0FBTyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztLQUM5QjtJQUVELElBQUksTUFBTSxLQUFLLFFBQVEsSUFBSSxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzVDLE9BQU8seUJBQVksQ0FBQyxNQUFNLENBQUM7S0FDOUI7SUFFRCxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO1FBQzNCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDbkIsT0FBTyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0tBQ0o7SUFFRCxPQUFPLHlCQUFZLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUM7QUF0QkQsNENBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyaXB0VGFyZ2V0IH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IFNjcmlwdFRhcmdldFN0cmluZyB9IGZyb20gJy4uL21vZGVscyc7XG5cbmNvbnN0IGVzRGlnaXRSZWdFeHAgPSAvXmVzKDJbMC05XXszfSkkL2k7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1RzU2NyaXB0VGFyZ2V0KHRhcmdldDogU2NyaXB0VGFyZ2V0U3RyaW5nKTogU2NyaXB0VGFyZ2V0IHtcbiAgICBpZiAodGFyZ2V0ID09PSAnZXM1JyB8fCB0YXJnZXQgPT09ICdFUzUnKSB7XG4gICAgICAgIHJldHVybiBTY3JpcHRUYXJnZXQuRVM1O1xuICAgIH1cblxuICAgIGlmICh0YXJnZXQgPT09ICdlc25leHQnIHx8IHRhcmdldCA9PT0gJ0VTTmV4dCcpIHtcbiAgICAgICAgcmV0dXJuIFNjcmlwdFRhcmdldC5FU05leHQ7XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldCA9PT0gJ2xhdGVzdCcgfHwgdGFyZ2V0ID09PSAnTGF0ZXN0Jykge1xuICAgICAgICByZXR1cm4gU2NyaXB0VGFyZ2V0LkxhdGVzdDtcbiAgICB9XG5cbiAgICBjb25zdCBtID0gZXNEaWdpdFJlZ0V4cC5leGVjKHRhcmdldCk7XG4gICAgaWYgKG0gIT0gbnVsbCAmJiBtWzFdICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgZGlnaXRQYXJ0ID0gTnVtYmVyKG1bMV0pO1xuICAgICAgICBpZiAoZGlnaXRQYXJ0ID49IDIwMTUpIHtcbiAgICAgICAgICAgIHJldHVybiBkaWdpdFBhcnQgLSAyMDEzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFNjcmlwdFRhcmdldC5FU05leHQ7XG59XG4iXX0=