@ventum-digital/iiq-plugin-project-generator
Version:
A npm tool to set-up the project structure for developing an IIQ Plugin.
37 lines (28 loc) • 1.01 kB
JavaScript
const path = require("path");
const fs = require("node:fs");
const globalDirectory = require("./borrowed/global-directory").default;
const _ = {
BASE_TEMPLATE_NAME: "base",
getTemplateResourceBasePath(templateName) {
if (process.env.IS_DEV) {
return path.join(__dirname, `../templates/${templateName}`);
} else {
return path.join(globalDirectory.npm.packages, `@ventum-digital/iiq-plugin-project-generator/templates/${templateName}`);
}
},
getAvailableSubTemplates: (baseName) => {
let extensionsPath = path.join(_.getTemplateResourceBasePath(baseName), "extensions");
let subTemplates = [_.BASE_TEMPLATE_NAME];
if (fs.existsSync(extensionsPath)) {
let directory = fs.readdirSync(extensionsPath);
for (item of directory) {
let itemPath = path.join(extensionsPath, item);
if (fs.statSync(itemPath).isDirectory()) {
subTemplates.push(item);
}
}
}
return subTemplates;
}
};
module.exports = _