UNPKG

@ma3-pro-plugins/ma3-ts-plugin-builder

Version:
100 lines 4.5 kB
"use strict"; 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; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createEntryConfig = exports.getTranspiledFileName = exports.createConfig = exports.createBaseConfig = void 0; const logger_1 = __importDefault(require("../utils/logger")); const path = __importStar(require("path")); const MA_USB_PLUGINS_PATH = `grandMA3/gma3_library/datapools/plugins/`; function createFSName(...parts) { return parts.join(" - "); } function createBaseConfig(maconfig, buildConfig) { var _a; function assertThrow(condition, msg) { if (!condition) { logger_1.default.error(msg); process.exit(); } } const maPluginsInstallPath = path.join(buildConfig.maInstallPath, "gma3_library/datapools/plugins/"); const { maPluginName, pluginVersion } = maconfig; assertThrow(pluginVersion, "macofig.json missing 'pluginVersion' property"); const versionSuffix = `v${maconfig.pluginVersion}`; const author = maconfig.author; const authorX = author.replace(" ", ""); const pluginFolderNameWithVersion = buildConfig.isDev ? `${maPluginName}` : createFSName(maPluginName, versionSuffix); const pluginFSNameWithAuthorAndVersion = createFSName(author, maPluginName, versionSuffix); const distRoot = path.join(process.cwd(), (_a = buildConfig.distPath) !== null && _a !== void 0 ? _a : "dist"); const distPath = path.join(distRoot, pluginFSNameWithAuthorAndVersion); return { author, authorX, distRoot, distPath, isDev: buildConfig.isDev, maPluginsInstallPath, pluginVersion, pluginsPath: buildConfig.isDev ? path.join(maPluginsInstallPath) : path.join(distPath, MA_USB_PLUGINS_PATH), pluginFolderPath: buildConfig.pluginFolderPath, pluginFolderNameWithVersion, pluginFSNameWithAuthorAndVersion, pluginName: maPluginName, relativePathToRoot: `./`, srcPath: "./src/", versionSuffix, }; } exports.createBaseConfig = createBaseConfig; function createConfig(baseConfig, maTargetVersion) { const { author, pluginsPath, pluginFolderNameWithVersion, pluginName, versionSuffix, isDev } = baseConfig; const maPluginPathFirstPart = isDev ? `${author} DEV` : `${author}`; const maPluginPath = path.join(maPluginPathFirstPart, pluginFolderNameWithVersion, `MA3 ${maTargetVersion}`); const fullPluginName = isDev ? `${pluginName} DEV` : `MA3 ${maTargetVersion} - ${author} - ${pluginName} - ${versionSuffix}`; return Object.assign(Object.assign({}, baseConfig), { fullPluginName, targetPluginPath: path.join(pluginsPath, maPluginPath), maTargetVersion, maPluginPath, maPluginPathFirstPart }); } exports.createConfig = createConfig; function getTranspiledFileName(fileName) { return `${path.basename(fileName, path.extname(fileName))}.lua`; } exports.getTranspiledFileName = getTranspiledFileName; function createEntryConfig(fileName, config) { const maPluginPath = config.maPluginPath; const targetFileName = getTranspiledFileName(fileName); return { targetFileName, targetBundlePath: path.join(config.pluginsPath, maPluginPath, targetFileName), }; } exports.createEntryConfig = createEntryConfig; //# sourceMappingURL=config.js.map