123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- // Dependecies.
- const fs = require('fs-extra');
- const path = require('path');
- const rmDir = require("../../NodeHelpers/rmDir");
- const colorConsole = require("../../NodeHelpers/colorConsole");
- // Helpers.
- const publish = require("../helpers/publish");
- const processUMDViewer = require("./processUMDViewer");
- // Global Variables.
- const config = require("../../Config/config.js");
- const modules = config.modules.concat(config.viewerModules);
- /**
- * Process UMD Packages.
- */
- function processUMDPackages(version) {
- modules.forEach(moduleName => {
- let module = config[moduleName];
- colorConsole.log("Process " + "UMD".magenta + " Package: " + moduleName.blue.bold);
- if (moduleName === "viewer") {
- processUMDViewer(module, version);
- }
- else {
- let outputDirectory = module.build.legacyPackageOutputDirectory || module.computed.distDirectory;
- if (module.build.requiredFiles) {
- module.build.requiredFiles.forEach(file => {
- let source = path.join(config.computed.rootFolder, file);
- let destination = path.join(outputDirectory, path.basename(file));
- colorConsole.log(" Copy required file: ", source.cyan, destination.cyan);
- fs.copySync(source, destination);
- });
- }
- // Package version
- const packageJSONPath = module.computed ?
- module.computed.packageJSONPath :
- outputDirectory + '/package.json';
- let packageJson = require(packageJSONPath);
- colorConsole.log(" Update package version to: " + version.green);
- packageJson.version = version;
- // Package dependencies version
- if (module.build.umd.dependencies) {
- packageJson.dependencies = module.build.umd.dependencies;
- }
- // Package dependencies version
- if (packageJson.dependencies) {
- Object.keys(packageJson.dependencies).forEach(key => {
- if (key.indexOf("babylonjs") !== -1) {
- packageJson.dependencies[key] = version;
- }
- });
- }
- // Package dev dependencies
- if (module.build.umd.devDependencies) {
- packageJson.devDependencies = module.build.umd.devDependencies;
- }
- // Typings
- if (module.build.umd.typings) {
- packageJson.typings = module.build.umd.typings;
- }
- // Main
- if (module.build.umd.index) {
- packageJson.main = module.build.umd.index;
- packageJson.module = module.build.umd.index;
- packageJson.esnext = module.build.umd.index;
- }
- // Files
- if (module.build.umd.pacakagesFiles) {
- packageJson.files = module.build.umd.pacakagesFiles;
- }
- // Write to disk output directory
- fs.writeFileSync(path.join(outputDirectory, 'package.json'), JSON.stringify(packageJson, null, 4));
- if (!module.build.legacyPackageOutputDirectory) {
- let packageUMDPath = module.computed.packageUMDDirectory;
- colorConsole.log(" Cleanup " + packageUMDPath.cyan);
- rmDir(packageUMDPath);
- if (module.build.umd.pacakagesFiles) {
- fs.ensureDirSync(packageUMDPath);
- for (let file of module.build.umd.pacakagesFiles.concat(["package.json"])) {
- let source = path.join(outputDirectory, file);
- let destination = path.join(packageUMDPath, path.basename(file));
- colorConsole.log(" Copy Package file: ", source.cyan, destination.cyan);
- fs.copyFileSync(source, destination);
- }
- }
- else {
- colorConsole.log(" Copy Package folder " + outputDirectory.cyan + " to " + packageUMDPath.cyan);
- fs.copySync(outputDirectory, packageUMDPath);
- }
- publish(version, moduleName, packageUMDPath);
- }
- else {
- publish(version, moduleName, outputDirectory);
- }
- colorConsole.emptyLine();
- }
- });
- }
- module.exports = processUMDPackages;
|