123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- // 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 getFiles = require("../helpers/getFiles");
- // Global Variables.
- const config = require("../../Config/config.js");
- const modules = config.modules.concat(config.viewerModules);
- /**
- * Process ES6 Packages.
- */
- function processEs6Packages(version) {
- config.modules.forEach(moduleName => {
- let module = config[moduleName];
- let es6Config = module.build.es6;
- colorConsole.log("Process " + "ES6".magenta + " Package: " + moduleName.blue.bold);
- let distPath = module.computed.distES6Directory;
- let packagePath = module.computed.packageES6Directory;
- let umdPackageJson = require(module.computed.packageJSONPath);
- colorConsole.log(" Cleanup " + packagePath.cyan);
- rmDir(packagePath);
- colorConsole.log(" Copy Dist folder " + distPath.cyan + " to " + packagePath.cyan);
- fs.copySync(distPath, packagePath);
- if (es6Config.requiredFiles) {
- es6Config.requiredFiles.forEach(file => {
- let source = path.join(config.computed.rootFolder, file);
- let destination = path.join(packagePath, path.basename(file));
- colorConsole.log(" Copy es6 required file: ", source.cyan, destination.cyan);
- fs.copySync(source, destination);
- });
- }
- if (es6Config.readme) {
- let source = path.join(config.computed.rootFolder, es6Config.readme);
- let destination = path.join(packagePath, "readme.md");
- colorConsole.log(" Copy es6 readme file: ", source.cyan, destination.cyan);
- fs.copySync(source, destination);
- }
- umdPackageJson.name = es6Config.packageName;
- umdPackageJson.version = version;
- umdPackageJson.main = es6Config.index || "index.js";
- umdPackageJson.module = es6Config.index || "index.js";
- umdPackageJson.esnext = es6Config.index || "index.js";
- umdPackageJson.typings = es6Config.typings || "index.d.ts";
- if (es6Config.packagesFiles) {
- umdPackageJson.files = es6Config.packagesFiles;
- }
- else {
- let files = getFiles(packagePath)
- .map(f => f.replace(packagePath + "/", ""))
- .filter(f => f.indexOf("assets/") === -1);
- umdPackageJson.files = files;
- }
- ["dependencies", "peerDependencies", "devDependencies"].forEach(key => {
- if (umdPackageJson[key]) {
- let dependencies = umdPackageJson[key];
- umdPackageJson[key] = {};
- Object.keys(dependencies).forEach(packageName => {
- if (packageName.indexOf("babylonjs") !== -1) {
- colorConsole.log(" Checking Internal Dependency: " + packageName.cyan);
- let dependencyName = packageName;
- for (var moduleName of modules) {
- if (config[moduleName] && config[moduleName].build.umd && config[moduleName].build.umd.packageName === packageName) {
- if (config[moduleName].build.es6) {
- dependencyName = config[moduleName].build.es6.packageName;
- colorConsole.log(" Replace Dependency: " + packageName.cyan + " by " + dependencyName.cyan);
- break;
- }
- }
- }
- umdPackageJson[key][dependencyName] = version;
- } else if (!module.isCore) {
- umdPackageJson[key][packageName] = dependencies[packageName];
- }
- });
- }
- });
- // Inject tslib as a dependency
- var mainPackageJSONPath = path.join(config.computed.rootFolder, "package.json");
- var mainPackageJSON = fs.readJSONSync(mainPackageJSONPath);
- var tslibSemver = mainPackageJSON["devDependencies"]["tslib"];
- colorConsole.log(" Adding tslib version: ", tslibSemver.yellow);
- umdPackageJson["dependencies"]["tslib"] = tslibSemver;
- let packageJSONPath = path.join(packagePath, "package.json");
- fs.writeFileSync(packageJSONPath, JSON.stringify(umdPackageJson, null, 4));
- publish(version, es6Config.packageName, packagePath, true);
- colorConsole.emptyLine();
- });
- }
- module.exports = processEs6Packages;
|