rush-init-project-plugin
Version:
Rush plugin for initialize project in monorepo
74 lines • 3.57 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTemplateFolder = exports.getTemplateNameList = exports.getTemplatesFolderAndValidate = exports.getTemplatesFolder = void 0;
var path = __importStar(require("path"));
var node_core_library_1 = require("@rushstack/node-core-library");
var loadRushConfiguration_1 = require("./loadRushConfiguration");
var templatesFolder2templateNameList = {};
var getTemplatesFolder = function () {
var commonFolder = (0, loadRushConfiguration_1.loadRushConfiguration)().commonFolder;
var templatesFolder = path.join(commonFolder, '_templates');
return templatesFolder;
};
exports.getTemplatesFolder = getTemplatesFolder;
var getTemplatesFolderAndValidate = function () {
var templatesFolder = (0, exports.getTemplatesFolder)();
if (!node_core_library_1.FileSystem.exists(templatesFolder)) {
node_core_library_1.FileSystem.ensureFolder(templatesFolder);
throw new Error("Templates folder created, please setup template under \"".concat(templatesFolder, "\""));
}
var templateNameList = getTemplateNameList(templatesFolder);
if (templateNameList.length === 0) {
throw new Error("Please setup template under ".concat(templatesFolder));
}
return templatesFolder;
};
exports.getTemplatesFolderAndValidate = getTemplatesFolderAndValidate;
// get template list from folder
function getTemplateNameList(templatesFolder) {
var templateNameList = templatesFolder2templateNameList[templatesFolder];
if (!templateNameList) {
var templateFolderList = node_core_library_1.FileSystem.readFolder(templatesFolder)
.filter(function (filename) {
return node_core_library_1.FileSystem.getStatistics(path.resolve(templatesFolder, filename)).isDirectory();
})
.filter(function (filename) {
return !filename.startsWith('_');
});
templateNameList = templateFolderList.map(function (templateFolder) { return ({ templateFolder: templateFolder }); });
}
// eslint-disable-next-line require-atomic-updates
templatesFolder2templateNameList[templatesFolder] = templateNameList;
return templateNameList;
}
exports.getTemplateNameList = getTemplateNameList;
function getTemplateFolder(template) {
var templatesFolder = (0, exports.getTemplatesFolder)();
var templateFolder = path.join(templatesFolder, template);
return templateFolder;
}
exports.getTemplateFolder = getTemplateFolder;
//# sourceMappingURL=templateFolder.js.map