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.
52 lines • 7.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.prepareBannerText = void 0;
const path = require("path");
const fs_extra_1 = require("fs-extra");
const utils_1 = require("../utils");
async function prepareBannerText(buildConfig) {
if (!buildConfig.banner) {
return;
}
let bannerText = buildConfig.banner;
if (/\.txt$/i.test(bannerText)) {
const bannerFilePath = await utils_1.findUp(bannerText, buildConfig._projectRoot, buildConfig._workspaceRoot);
if (bannerFilePath) {
bannerText = await fs_extra_1.readFile(bannerFilePath, 'utf-8');
}
else {
throw new Error(`The banner text file: ${path.resolve(buildConfig._projectRoot, bannerText)} doesn't exist. Correct value in 'projects[${buildConfig._projectName}].scriptBundle.banner'.`);
}
}
if (!bannerText) {
return;
}
bannerText = addCommentToBanner(bannerText);
bannerText = bannerText.replace(/[$|[]CURRENT[_-]?YEAR[$|\]]/gim, new Date().getFullYear().toString());
bannerText = bannerText.replace(/[$|[](PROJECT|PACKAGE)[_-]?NAME[$|\]]/gim, buildConfig._packageName);
bannerText = bannerText.replace(/[$|[](PROJECT|PACKAGE)?[_-]?VERSION[$|\]]/gim, buildConfig._packageVersion);
bannerText = bannerText.replace(/0\.0\.0-PLACEHOLDER/i, buildConfig._packageVersion);
buildConfig._bannerText = bannerText;
}
exports.prepareBannerText = prepareBannerText;
function addCommentToBanner(banner) {
if (banner.trim().startsWith('/')) {
return banner;
}
const commentLines = [];
const bannerLines = banner.split('\n');
for (let i = 0; i < bannerLines.length; i++) {
if (bannerLines[i] === '' || bannerLines[i] === '\r') {
continue;
}
const bannerText = bannerLines[i].trim();
if (i === 0) {
commentLines.push('/**');
}
commentLines.push(` * ${bannerText}`);
}
commentLines.push(' */');
banner = commentLines.join('\n');
return banner;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1iYW5uZXItdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsiaGVscGVycy9wcmVwYXJlLWJhbm5lci10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUU3Qix1Q0FBb0M7QUFHcEMsb0NBQWtDO0FBRTNCLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxXQUFnQztJQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtRQUNyQixPQUFPO0tBQ1Y7SUFFRCxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBRXBDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUM1QixNQUFNLGNBQWMsR0FBRyxNQUFNLGNBQU0sQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEcsSUFBSSxjQUFjLEVBQUU7WUFDaEIsVUFBVSxHQUFHLE1BQU0sbUJBQVEsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNILE1BQU0sSUFBSSxLQUFLLENBQ1gseUJBQXlCLElBQUksQ0FBQyxPQUFPLENBQ2pDLFdBQVcsQ0FBQyxZQUFZLEVBQ3hCLFVBQVUsQ0FDYiw4Q0FBOEMsV0FBVyxDQUFDLFlBQVkseUJBQXlCLENBQ25HLENBQUM7U0FDTDtLQUNKO0lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNiLE9BQU87S0FDVjtJQUVELFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkcsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsMENBQTBDLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RHLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLDhDQUE4QyxFQUFFLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFckYsV0FBVyxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7QUFDekMsQ0FBQztBQWhDRCw4Q0FnQ0M7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQWM7SUFDdEMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBRUQsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEQsU0FBUztTQUNaO1FBRUQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sVUFBVSxFQUFFLENBQUMsQ0FBQztLQUN6QztJQUNELFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnZnMtZXh0cmEnO1xuXG5pbXBvcnQgeyBCdWlsZENvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IGZpbmRVcCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVCYW5uZXJUZXh0KGJ1aWxkQ29uZmlnOiBCdWlsZENvbmZpZ0ludGVybmFsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFidWlsZENvbmZpZy5iYW5uZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBiYW5uZXJUZXh0ID0gYnVpbGRDb25maWcuYmFubmVyO1xuXG4gICAgaWYgKC9cXC50eHQkL2kudGVzdChiYW5uZXJUZXh0KSkge1xuICAgICAgICBjb25zdCBiYW5uZXJGaWxlUGF0aCA9IGF3YWl0IGZpbmRVcChiYW5uZXJUZXh0LCBidWlsZENvbmZpZy5fcHJvamVjdFJvb3QsIGJ1aWxkQ29uZmlnLl93b3Jrc3BhY2VSb290KTtcbiAgICAgICAgaWYgKGJhbm5lckZpbGVQYXRoKSB7XG4gICAgICAgICAgICBiYW5uZXJUZXh0ID0gYXdhaXQgcmVhZEZpbGUoYmFubmVyRmlsZVBhdGgsICd1dGYtOCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUaGUgYmFubmVyIHRleHQgZmlsZTogJHtwYXRoLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkQ29uZmlnLl9wcm9qZWN0Um9vdCxcbiAgICAgICAgICAgICAgICAgICAgYmFubmVyVGV4dFxuICAgICAgICAgICAgICAgICl9IGRvZXNuJ3QgZXhpc3QuIENvcnJlY3QgdmFsdWUgaW4gJ3Byb2plY3RzWyR7YnVpbGRDb25maWcuX3Byb2plY3ROYW1lfV0uc2NyaXB0QnVuZGxlLmJhbm5lcicuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmICghYmFubmVyVGV4dCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYmFubmVyVGV4dCA9IGFkZENvbW1lbnRUb0Jhbm5lcihiYW5uZXJUZXh0KTtcbiAgICBiYW5uZXJUZXh0ID0gYmFubmVyVGV4dC5yZXBsYWNlKC9bJHxbXUNVUlJFTlRbXy1dP1lFQVJbJHxcXF1dL2dpbSwgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuICAgIGJhbm5lclRleHQgPSBiYW5uZXJUZXh0LnJlcGxhY2UoL1skfFtdKFBST0pFQ1R8UEFDS0FHRSlbXy1dP05BTUVbJHxcXF1dL2dpbSwgYnVpbGRDb25maWcuX3BhY2thZ2VOYW1lKTtcbiAgICBiYW5uZXJUZXh0ID0gYmFubmVyVGV4dC5yZXBsYWNlKC9bJHxbXShQUk9KRUNUfFBBQ0tBR0UpP1tfLV0/VkVSU0lPTlskfFxcXV0vZ2ltLCBidWlsZENvbmZpZy5fcGFja2FnZVZlcnNpb24pO1xuICAgIGJhbm5lclRleHQgPSBiYW5uZXJUZXh0LnJlcGxhY2UoLzBcXC4wXFwuMC1QTEFDRUhPTERFUi9pLCBidWlsZENvbmZpZy5fcGFja2FnZVZlcnNpb24pO1xuXG4gICAgYnVpbGRDb25maWcuX2Jhbm5lclRleHQgPSBiYW5uZXJUZXh0O1xufVxuXG5mdW5jdGlvbiBhZGRDb21tZW50VG9CYW5uZXIoYmFubmVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChiYW5uZXIudHJpbSgpLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICByZXR1cm4gYmFubmVyO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1lbnRMaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBiYW5uZXJMaW5lcyA9IGJhbm5lci5zcGxpdCgnXFxuJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBiYW5uZXJMaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYmFubmVyTGluZXNbaV0gPT09ICcnIHx8IGJhbm5lckxpbmVzW2ldID09PSAnXFxyJykge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBiYW5uZXJUZXh0ID0gYmFubmVyTGluZXNbaV0udHJpbSgpO1xuICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgY29tbWVudExpbmVzLnB1c2goJy8qKicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbW1lbnRMaW5lcy5wdXNoKGAgKiAke2Jhbm5lclRleHR9YCk7XG4gICAgfVxuICAgIGNvbW1lbnRMaW5lcy5wdXNoKCcgKi8nKTtcbiAgICBiYW5uZXIgPSBjb21tZW50TGluZXMuam9pbignXFxuJyk7XG5cbiAgICByZXR1cm4gYmFubmVyO1xufVxuIl19