123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Dependecies.
- const fs = require('fs-extra');
- const path = require('path');
- const rmDir = require("../../NodeHelpers/rmDir");
- const colorConsole = require("../../NodeHelpers/colorConsole");
- const shelljs = require("shelljs");
- // Global Variables.
- const config = require("../../Config/config.js");
- /**
- * Prepare an es6 Dev folder npm linked for test purpose.
- */
- function prepareEs6DevPackages() {
- config.es6modules.forEach(moduleName => {
- if (moduleName === "viewer" || moduleName === "sandbox") {
- // Do not publish locally as an es6 npm linked module
- return;
- }
- const module = config[moduleName];
- colorConsole.log("Prepare " + "ES6Dev".magenta + " Package: " + moduleName.blue.bold);
- const packagePath = module.computed.packageES6Directory;
- const packageDevPath = module.computed.packageES6DevDirectory;
- colorConsole.log(" Cleanup " + packageDevPath.cyan);
- rmDir(packageDevPath);
- colorConsole.log(" Copy Package folder " + packagePath.cyan + " to " + packageDevPath.cyan);
- fs.copySync(packagePath, packageDevPath);
- const packageES6DevJSONPath = path.join(packageDevPath, "package.json");
- const packageES6DevJSON = require(packageES6DevJSONPath);
- for (let dependency in packageES6DevJSON.dependencies) {
- if (dependency.indexOf("babylon") > -1) {
- colorConsole.log(" Execute Npm Link " + dependency.yellow);
- const command = `npm link ${dependency}`;
- const result = shelljs.exec(command, {
- async: false,
- cwd: packageDevPath
- });
- if (result.code != 0) {
- throw "Failed to link the ES6 package."
- }
- }
- }
- colorConsole.log(" Execute Npm Link command");
- const command = `npm link`;
- const result = shelljs.exec(command, {
- async: false,
- cwd: packageDevPath
- });
- if (result.code != 0) {
- throw "Failed to link the ES6 package."
- }
- colorConsole.emptyLine();
- });
- }
- module.exports = prepareEs6DevPackages;
|