cables_dev/cables_electron/src/export/export_patch_standalone.js
- import sanitizeFileName from "sanitize-filename";
- import fs from "fs";
- import path from "path";
- import cables from "../cables.js";
- import libsUtil from "../utils/libs_util.js";
- import StandaloneZipExport from "./export_zip_standalone.js";
-
- export default class StandaloneExport extends StandaloneZipExport
- {
- constructor(provider)
- {
- super(provider, {});
-
- this.options.combineJS = false;
- this.options.addOpCode = true;
- this.options.removeIndexHtml = true;
- this.options.rewriteAssetPorts = true;
- this.options.flattenAssetNames = false;
- this.options.handleAssets = "auto";
- this.options.assetsInSubdirs = true;
-
- this.finalAssetPath = "assets/";
- this.finalJsPath = "/";
- }
-
- static getName()
- {
- return "patch";
- }
-
- _replaceInString(replacements, theString)
- {
- return theString;
- }
-
- _addProjectJsCode(proj, opsCode, libs, coreLibs, replacedOpIds, jsCode, options)
- {
- const libScripts = [];
- for (let l = 0; l < libs.length; l++)
- {
- const lib = libs[l];
-
- if (libsUtil.isAssetLib(lib))
- {
- let libPath = path.join(cables.getLibsPath(), "/", lib);
- let libSrc = path.join(this.finalJsPath, lib);
- libPath = path.join(cables.getPublicPath(), lib);
- libScripts.push({ "name": lib, "file": libPath, "src": libSrc });
- }
- }
-
- for (let f = 0; f < libScripts.length; f++)
- {
- this.append(fs.readFileSync(libScripts[f].file, "utf8"), { "name": libScripts[f].src });
- }
- }
-
- _addProjectHtmlCode(proj, options, libs, coreLibs, template = "/patchview/patchview_export.html")
- {
- const projectName = sanitizeFileName(proj.name).replace(/ /g, "_");
- const projectNameVer = projectName + proj.exports;
- this.append(JSON.stringify(proj), { "name": projectNameVer + ".cables" });
- }
-
- _getOpExportSubdir(opName)
- {
- return path.join("ops", this._opsUtil.getOpTargetDir(opName, true));
- }
-
- static getExportOptions(user, teams, project, exportQuota)
- {
- return {
- "type": this.getName(),
- "allowed": true,
- "possible": true,
- "fields": {}
- };
- }
- }