mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-11 18:32:20 +08:00
52 lines
2.3 KiB
JavaScript
52 lines
2.3 KiB
JavaScript
|
const fs = require('fs-extra');
|
||
|
const glob = require('glob');
|
||
|
const path = require('path');
|
||
|
const babel = require('babel-core');
|
||
|
|
||
|
fs.removeSync("n1_cloud_dist")
|
||
|
fs.copySync("packages/cloud-api", "n1_cloud_dist/cloud-api")
|
||
|
fs.copySync("packages/cloud-workers", "n1_cloud_dist/cloud-workers")
|
||
|
|
||
|
fs.copySync("packages/cloud-core", "n1_cloud_dist/cloud-core")
|
||
|
fs.copySync("packages/isomorphic-core", "n1_cloud_dist/isomorphic-core")
|
||
|
|
||
|
glob.sync("n1_cloud_dist/**/*.es6", {absolute: true}).forEach((es6Path) => {
|
||
|
if (/(node_modules|\.js$)/.test(es6Path)) return
|
||
|
const outPath = es6Path.replace(path.extname(es6Path), '.js');
|
||
|
console.log(`---> Compiling ${es6Path.slice(es6Path.indexOf("/n1_cloud_dist") + 15)}`)
|
||
|
|
||
|
const res = babel.transformFileSync(es6Path, {
|
||
|
presets: ["electron"],
|
||
|
sourceMaps: true,
|
||
|
sourceRoot: '/',
|
||
|
sourceMapTarget: path.relative("n1_cloud_dist/", outPath),
|
||
|
sourceFileName: path.relative("n1_cloud_dist/", es6Path),
|
||
|
});
|
||
|
|
||
|
fs.writeFileSync(outPath, `${res.code}\n//# sourceMappingURL=${path.basename(outPath)}.map\n`);
|
||
|
fs.writeFileSync(`${outPath}.map`, JSON.stringify(res.map));
|
||
|
fs.unlinkSync(es6Path);
|
||
|
});
|
||
|
|
||
|
// Lerna bootstrap creates symlinks. Unfortunately it creates absolute
|
||
|
// path symlinks that reference the pre-copied, uncompiled files. This
|
||
|
// does a direct copy for each of the leran bootstrap links to ensure we
|
||
|
// don't encounter symlink path problems on prod
|
||
|
//
|
||
|
// Fix cloud-core symlinks
|
||
|
fs.removeSync("n1_cloud_dist/cloud-core/node_modules/isomorphic-core")
|
||
|
fs.copySync("n1_cloud_dist/isomorphic-core", "n1_cloud_dist/cloud-core/node_modules/isomorphic-core")
|
||
|
|
||
|
// Fix cloud-api symlinks
|
||
|
fs.removeSync("n1_cloud_dist/cloud-api/node_modules/isomorphic-core")
|
||
|
fs.removeSync("n1_cloud_dist/cloud-api/node_modules/cloud-core")
|
||
|
fs.copySync("n1_cloud_dist/isomorphic-core", "n1_cloud_dist/cloud-api/node_modules/isomorphic-core")
|
||
|
fs.copySync("n1_cloud_dist/cloud-core", "n1_cloud_dist/cloud-api/node_modules/cloud-core")
|
||
|
|
||
|
// Fix cloud-workers symlinks
|
||
|
fs.removeSync("n1_cloud_dist/cloud-workers/node_modules/isomorphic-core")
|
||
|
fs.removeSync("n1_cloud_dist/cloud-workers/node_modules/cloud-core")
|
||
|
fs.copySync("n1_cloud_dist/isomorphic-core", "n1_cloud_dist/cloud-workers/node_modules/isomorphic-core")
|
||
|
fs.copySync("n1_cloud_dist/cloud-core", "n1_cloud_dist/cloud-workers/node_modules/cloud-core")
|
||
|
|