Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
JLHwung committed Jun 4, 2021
1 parent f428146 commit 58da240
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 119 deletions.
62 changes: 13 additions & 49 deletions Gulpfile.mjs
Expand Up @@ -5,11 +5,8 @@ import { fileURLToPath } from "url";
import plumber from "gulp-plumber";
import through from "through2";
import chalk from "chalk";
import newer from "gulp-newer";
import babel from "gulp-babel";
import fancyLog from "fancy-log";
import filter from "gulp-filter";
import revertPath from "gulp-revert-path";
import gulp from "gulp";
import { rollup } from "rollup";
import { babel as rollupBabel } from "@rollup/plugin-babel";
Expand Down Expand Up @@ -77,13 +74,6 @@ function getIndexFromPackage(name) {
}
}

function compilationLogger() {
return through.obj(function (file, enc, callback) {
fancyLog(`Compiling '${chalk.cyan(file.relative)}'...`);
callback(null, file);
});
}

function errorsLogger() {
return plumber({
errorHandler(err) {
Expand Down Expand Up @@ -224,47 +214,22 @@ function getFiles(glob, { include, exclude }) {
return stream;
}

function buildBabel(exclude) {
const base = monorepoRoot;

return getFiles(defaultSourcesGlob, {
exclude: exclude && exclude.map(p => p.src),
})
.pipe(errorsLogger())
.pipe(newer({ dest: base, map: mapSrcToLib }))
.pipe(compilationLogger())
.pipe(
babel({
caller: {
// We have wrapped packages/babel-core/src/config/files/configuration.js with feature detection
supportsDynamicImport: true,
},
})
)
.pipe(
// gulp-babel always converts the extension to .js, but we want to keep the original one
revertPath()
)
.pipe(
// Passing 'file.relative' because newer() above uses a relative
// path and this keeps it consistent.
rename(file => path.resolve(file.base, mapSrcToLib(file.relative)))
)
.pipe(gulp.dest(base));
}

function createWorker() {
function createWorker(useWorker) {
const numWorkers = require("os").cpus().length / 2 - 1;
if (numWorkers === 0 || !useWorker) {
return require("./babel-worker.cjs");
}
const worker = new JestWorker(require.resolve("./babel-worker.cjs"), {
numWorkers: require("os").cpus().length / 2 - 1,
numWorkers,
exposedMethods: ["transform"],
});
worker.getStdout().on("data", chunk => process.stdout.write(chunk));
worker.getStderr().on("data", chunk => process.stderr.write(chunk));
return worker;
}

async function buildBabel2(ignore = [], useWorker) {
const worker = useWorker ? createWorker() : require("./babel-worker.js");
async function buildBabel(useWorker, ignore = []) {
const worker = createWorker(useWorker);
const files = await new Promise((resolve, reject) => {
glob(
defaultSourcesGlob,
Expand Down Expand Up @@ -557,7 +522,7 @@ gulp.task(
gulp.series("copy-dts", () => buildRollupDts(dtsBundles))
);

gulp.task("build-babel", () => buildBabel2(/* exclude */ libBundles, true));
gulp.task("build-babel", () => buildBabel(true, /* exclude */ libBundles));

gulp.task(
"build",
Expand All @@ -576,11 +541,10 @@ gulp.task(

gulp.task("default", gulp.series("build"));

gulp.task("build-no-bundle1", () => buildBabel(undefined, true));
// First complete build on workers for complilation speed
gulp.task("build-no-bundle", () => buildBabel2(undefined, true));
// Incremental builds is main thread for faster communication
gulp.task("build-no-bundle-watch", () => buildBabel2(undefined, false));
// First build on worker processes for complilation speed
gulp.task("build-no-bundle", () => buildBabel(true));
// Incremental builds take place in main process
gulp.task("build-no-bundle-watch", () => buildBabel(false));

gulp.task(
"build-dev",
Expand Down
3 changes: 0 additions & 3 deletions package.json
Expand Up @@ -53,11 +53,8 @@
"flow-bin": "^0.123.0",
"glob": "^7.1.7",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
"gulp-filter": "^5.1.0",
"gulp-newer": "^1.0.0",
"gulp-plumber": "^1.2.1",
"gulp-revert-path": "^2.0.0",
"husky": "^3.0.0",
"jest": "^27.0.0",
"jest-worker": "^27.0.2",
Expand Down
69 changes: 2 additions & 67 deletions yarn.lock
Expand Up @@ -5746,11 +5746,8 @@ __metadata:
flow-bin: ^0.123.0
glob: ^7.1.7
gulp: ^4.0.2
gulp-babel: ^8.0.0
gulp-filter: ^5.1.0
gulp-newer: ^1.0.0
gulp-plumber: ^1.2.1
gulp-revert-path: ^2.0.0
husky: ^3.0.0
jest: ^27.0.0
jest-worker: ^27.0.2
Expand Down Expand Up @@ -8818,7 +8815,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7":
"glob@npm:^7.0.0, glob@npm:^7.1.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7":
version: 7.1.7
resolution: "glob@npm:7.1.7"
dependencies:
Expand Down Expand Up @@ -8946,20 +8943,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"gulp-babel@npm:^8.0.0":
version: 8.0.0
resolution: "gulp-babel@npm:8.0.0"
dependencies:
plugin-error: ^1.0.1
replace-ext: ^1.0.0
through2: ^2.0.0
vinyl-sourcemaps-apply: ^0.2.0
peerDependencies:
"@babel/core": ^7.0.0
checksum: d4589095f5de3f9b823e119186966550a713d4aa5868e4efd094c84054e0864f336d5140fb9418d0b17d27c18224fc982be70e8ae53ad60c9c64915b080e817f
languageName: node
linkType: hard

"gulp-cli@npm:^2.2.0":
version: 2.3.0
resolution: "gulp-cli@npm:2.3.0"
Expand Down Expand Up @@ -8999,17 +8982,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"gulp-newer@npm:^1.0.0":
version: 1.4.0
resolution: "gulp-newer@npm:1.4.0"
dependencies:
glob: ^7.0.3
kew: ^0.7.0
plugin-error: ^0.1.2
checksum: 4bdcc14ef83a8cf27e4e8eadde76c607f1af0096e446c77ad9ea72518a326f31aa623c79c3b3f26138bc91012f9c3f58a9167d907fdcfbed9b0a19e721d432d2
languageName: node
linkType: hard

"gulp-plumber@npm:^1.2.1":
version: 1.2.1
resolution: "gulp-plumber@npm:1.2.1"
Expand All @@ -9022,15 +8994,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"gulp-revert-path@npm:^2.0.0":
version: 2.0.0
resolution: "gulp-revert-path@npm:2.0.0"
dependencies:
through2: ^2.0.0
checksum: c2b01db2942c084f8cb11cecff22663a3ab894cdf43daed601bdaa9c713797e11739415b46f18342171fb0c65c1fe57d18dd40f93da403002e99f453b5661d77
languageName: node
linkType: hard

"gulp@npm:^4.0.2":
version: 4.0.2
resolution: "gulp@npm:4.0.2"
Expand Down Expand Up @@ -10784,13 +10747,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"kew@npm:^0.7.0":
version: 0.7.0
resolution: "kew@npm:0.7.0"
checksum: be928d4248c934f38edda580144533bc93751f6b81d34e01cb1ff4196e63faf8957f5d54e7ef5c6529cbfdcc8f63a1acd53511e20955744b27c7eae965445775
languageName: node
linkType: hard

"kind-of@npm:^1.1.0":
version: 1.1.0
resolution: "kind-of@npm:1.1.0"
Expand Down Expand Up @@ -12600,18 +12556,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"plugin-error@npm:^1.0.1":
version: 1.0.1
resolution: "plugin-error@npm:1.0.1"
dependencies:
ansi-colors: ^1.0.1
arr-diff: ^4.0.0
arr-union: ^3.1.0
extend-shallow: ^3.0.2
checksum: d2e48e6b1884eb02dccb295213607a6a3da60156f5dc1b77a342577a4eb80195fb1194026dc3dd571591e678644947e56e944b21cf70568c49f18a2e375fd1df
languageName: node
linkType: hard

"posix-character-classes@npm:^0.1.0":
version: 0.1.1
resolution: "posix-character-classes@npm:0.1.1"
Expand Down Expand Up @@ -13857,7 +13801,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"source-map@npm:^0.5.0, source-map@npm:^0.5.1, source-map@npm:^0.5.3, source-map@npm:^0.5.6, source-map@npm:~0.5.1, source-map@npm:~0.5.3":
"source-map@npm:^0.5.0, source-map@npm:^0.5.3, source-map@npm:^0.5.6, source-map@npm:~0.5.1, source-map@npm:~0.5.3":
version: 0.5.7
resolution: "source-map@npm:0.5.7"
checksum: 737face96577a2184a42f141607fcc2c9db5620cb8517ae8ab3924476defa138fc26b0bab31e98cbd6f19211ecbf78400b59f801ff7a0f87aa9faa79f7433e10
Expand Down Expand Up @@ -15207,15 +15151,6 @@ typescript@~4.2.3:
languageName: node
linkType: hard

"vinyl-sourcemaps-apply@npm:^0.2.0":
version: 0.2.1
resolution: "vinyl-sourcemaps-apply@npm:0.2.1"
dependencies:
source-map: ^0.5.1
checksum: c1d826acf474831a58609e0d19f0f7e907cd6f2a347a67c2879aa44e149491f0b47449bfe906e9da54f026806196b3ac92f8ae4dfe3d3a44353baab1885a03b4
languageName: node
linkType: hard

"vinyl@npm:^2.0.0":
version: 2.2.1
resolution: "vinyl@npm:2.2.1"
Expand Down

0 comments on commit 58da240

Please sign in to comment.