From f19d559ff351a3bdf939e72c691962359e1f7297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Tue, 30 Jan 2018 23:13:40 +0100 Subject: [PATCH] Compile Babylon with Gulp (#7240) --- .babelrc.js | 15 +++- .babelrc.rollup.js | 16 ++++ Gulpfile.js | 118 +++++++++++++++++++++--------- Makefile | 10 --- package.json | 9 ++- packages/babylon/package.json | 5 -- packages/babylon/rollup.config.js | 34 --------- scripts/gulp-tasks.js | 28 ++----- yarn.lock | 108 ++++++++++++++++++++++----- 9 files changed, 215 insertions(+), 128 deletions(-) create mode 100644 .babelrc.rollup.js delete mode 100644 packages/babylon/rollup.config.js diff --git a/.babelrc.js b/.babelrc.js index 632c5e6906..436e94f974 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -1,6 +1,6 @@ "use strict"; -// Blame Logan for this. +// Thanks Logan for this. // This works around https://github.com/istanbuljs/istanbuljs/issues/92 until // we have a version of Istanbul that actually works with 7.x. function istanbulHacks() { @@ -38,14 +38,23 @@ const config = { comments: false, presets: [ ["@babel/env", envOpts], - "@babel/flow" ], plugins: [ + // TODO: Use @babel/preset-flow when + // https://github.com/babel/babel/issues/7233 is fixed + "@babel/plugin-transform-flow-strip-types", ["@babel/proposal-class-properties", { loose: true }], "@babel/proposal-export-namespace-from", "@babel/proposal-numeric-separator", ["@babel/proposal-object-rest-spread", { useBuiltIns: true }], - ] + ], + overrides: [{ + test: "packages/babylon", + plugins: [ + "babel-plugin-transform-charcodes", + ["@babel/transform-for-of", { assumeArray: true }], + ], + }], }; if (process.env.BABEL_ENV === "cov") { diff --git a/.babelrc.rollup.js b/.babelrc.rollup.js new file mode 100644 index 0000000000..e8897bf436 --- /dev/null +++ b/.babelrc.rollup.js @@ -0,0 +1,16 @@ +"use strict"; + +const cloneDeep = require("lodash/cloneDeep"); +const babelrc = require("./.babelrc.js"); + +const config = cloneDeep(babelrc); + +const presetEnv = config.presets.find(preset => preset[0] === "@babel/env"); + +if (!presetEnv) { + throw new Error("Error while extracting @preset/env from .babelrc.js"); +} + +presetEnv[1].modules = false; + +module.exports = config; diff --git a/Gulpfile.js b/Gulpfile.js index dcdf818e3c..5fd5071fa7 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -12,6 +12,11 @@ const gulp = require("gulp"); const path = require("path"); const webpack = require("webpack"); const merge = require("merge-stream"); +const rollup = require("rollup-stream"); +const source = require("vinyl-source-stream"); +const buffer = require("vinyl-buffer"); +const rollupBabel = require("rollup-plugin-babel"); +const rollupNodeResolve = require("rollup-plugin-node-resolve"); const registerStandalonePackageTask = require("./scripts/gulp-tasks") .registerStandalonePackageTask; @@ -27,53 +32,100 @@ function getGlobFromSource(source) { return `./${source}/*/src/**/*.js`; } -gulp.task("default", ["build"]); +function getIndexFromPackage(name) { + return `${name}/src/index.js`; +} -gulp.task("build", function() { +function compilationLogger(rollup) { + return through.obj(function(file, enc, callback) { + gutil.log( + `Compiling '${chalk.cyan(file.relative)}'${ + rollup ? " with rollup " : "" + }...` + ); + callback(null, file); + }); +} + +function errorsLogger() { + return plumber({ + errorHandler(err) { + gutil.log(err.stack); + }, + }); +} + +function rename(fn) { + return through.obj(function(file, enc, callback) { + file.path = fn(file); + callback(null, file); + }); +} + +function buildBabel(exclude) { return merge( sources.map(source => { const base = path.join(__dirname, source); - const f = filter(["**", "!**/packages/babylon/**"]); - return gulp - .src(getGlobFromSource(source), { base: base }) - .pipe(f) - .pipe( - plumber({ - errorHandler: function(err) { - gutil.log(err.stack); - }, - }) - ) - .pipe( - newer({ - dest: base, - map: swapSrcWithLib, - }) - ) - .pipe( - through.obj(function(file, enc, callback) { - gutil.log("Compiling", "'" + chalk.cyan(file.relative) + "'..."); - callback(null, file); - }) - ) + let stream = gulp.src(getGlobFromSource(source), { base: base }); + + if (exclude) { + const filters = exclude.map(p => `!**/${p}/**`); + filters.unshift("**"); + stream = stream.pipe(filter(filters)); + } + + return stream + .pipe(errorsLogger()) + .pipe(newer({ dest: base, map: swapSrcWithLib })) + .pipe(compilationLogger()) .pipe(babel()) .pipe( - through.obj(function(file, enc, callback) { - // Passing 'file.relative' because newer() above uses a relative - // path and this keeps it consistent. - file.path = path.resolve(file.base, swapSrcWithLib(file.relative)); - callback(null, file); - }) + // Passing 'file.relative' because newer() above uses a relative + // path and this keeps it consistent. + rename(file => path.resolve(file.base, swapSrcWithLib(file.relative))) ) .pipe(gulp.dest(base)); }) ); +} + +function buildRollup(packages) { + return merge( + packages.map(pkg => { + return rollup({ + input: getIndexFromPackage(pkg), + format: "cjs", + plugins: [ + rollupBabel({ + babelrc: false, + extends: "./.babelrc.rollup.js", + }), + rollupNodeResolve(), + ], + }) + .pipe(source("index.js")) + .pipe(buffer()) + .pipe(errorsLogger()) + .pipe(compilationLogger(/* rollup */ true)) + .pipe(gulp.dest(path.join(pkg, "lib"))); + }) + ); +} + +gulp.task("default", ["build"]); + +gulp.task("build", function() { + const bundles = ["packages/babylon"]; + + return merge([buildBabel(/* exclude */ bundles), buildRollup(bundles)]); }); -gulp.task("watch", ["build"], function() { +gulp.task("build-no-bundle", () => buildBabel()); + +gulp.task("watch", ["build-no-bundle"], function() { watch(sources.map(getGlobFromSource), { debounceDelay: 200 }, function() { - gulp.start("build"); + gulp.start("build-no-bundle"); }); }); diff --git a/Makefile b/Makefile index e0da0400c2..123c16e1a4 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,6 @@ SOURCES = packages codemods build: clean make clean-lib - # Build babylon before building all other projects - make build-babylon ./node_modules/.bin/gulp build node ./packages/babel-types/scripts/generateTypeHelpers.js # call build again as the generated files might need to be compiled again. @@ -29,10 +27,6 @@ ifneq ("$(BABEL_ENV)", "cov") make build-preset-env-standalone endif -build-babylon: - cd packages/babylon; \ - ./node_modules/.bin/rollup -c - build-standalone: ./node_modules/.bin/gulp build-babel-standalone @@ -49,10 +43,6 @@ watch: clean make clean-lib BABEL_ENV=development ./node_modules/.bin/gulp watch -watch-babylon: - cd packages/babylon; \ - ./node_modules/.bin/rollup -c -w - flow: ./node_modules/.bin/flow check --strip-root diff --git a/package.json b/package.json index c4d20f7feb..2954cbcacd 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,13 @@ "babel-eslint": "^8.0.1", "babel-loader": "8.0.0-beta.0", "babel-plugin-istanbul": "^4.1.4", + "babel-plugin-transform-charcodes": "0.0.10", "babylon": "7.0.0-beta.38", "browserify": "^13.1.1", "bundle-collapser": "^1.2.1", "chai": "^4.1.0", "chalk": "^2.0.0", + "charcodes": "0.0.10", "derequire": "^2.0.2", "eslint": "^4.5.0", "eslint-config-babel": "^7.0.2", @@ -34,7 +36,7 @@ "graceful-fs": "^4.1.11", "gulp": "^3.9.0", "gulp-babel": "^8.0.0-beta.0", - "gulp-filter": "^5.0.1", + "gulp-filter": "^5.1.0", "gulp-newer": "^1.0.0", "gulp-plumber": "^1.0.1", "gulp-rename": "^1.2.2", @@ -53,10 +55,15 @@ "prettier": "1.10.2", "pump": "^1.0.2", "rimraf": "^2.4.3", + "rollup-plugin-babel": "^4.0.0-beta.0", + "rollup-plugin-node-resolve": "^3.0.2", + "rollup-stream": "^1.24.1", "semver": "^5.0.0", "through2": "^2.0.0", "uglify-js": "^2.4.16", "util.promisify": "^1.0.0", + "vinyl-buffer": "^1.0.1", + "vinyl-source-stream": "^2.0.0", "webpack": "^3.4.1", "webpack-dependency-suite": "^2.4.4", "webpack-stream": "^4.0.0" diff --git a/packages/babylon/package.json b/packages/babylon/package.json index c99e270d92..c3ba740edd 100644 --- a/packages/babylon/package.json +++ b/packages/babylon/package.json @@ -24,12 +24,7 @@ }, "devDependencies": { "@babel/helper-fixtures": "7.0.0-beta.39", - "babel-plugin-transform-charcodes": "0.0.10", "charcodes": "0.0.10", - "rollup": "^0.50.0", - "rollup-plugin-babel": "^4.0.0-beta.0", - "rollup-plugin-node-resolve": "^3.0.0", - "rollup-watch": "^4.0.0", "unicode-10.0.0": "^0.7.4" }, "bin": { diff --git a/packages/babylon/rollup.config.js b/packages/babylon/rollup.config.js deleted file mode 100644 index 2c8f7d757c..0000000000 --- a/packages/babylon/rollup.config.js +++ /dev/null @@ -1,34 +0,0 @@ -import babel from "rollup-plugin-babel"; -import nodeResolve from "rollup-plugin-node-resolve"; - -export default { - input: "src/index.js", - output: { - file: "lib/index.js", - format: "cjs", - }, - plugins: [ - babel({ - externalHelpersWhitelist: ["inheritsLoose"], - babelrc: false, - presets: [ - [ - "@babel/env", - { - loose: true, - modules: false, - targets: { - node: "4.2", - }, - }, - ], - "@babel/flow", - ], - plugins: [ - "transform-charcodes", - ["@babel/transform-for-of", { assumeArray: true }], - ], - }), - nodeResolve(), - ], -}; diff --git a/scripts/gulp-tasks.js b/scripts/gulp-tasks.js index 2e4891efb4..47ca243033 100644 --- a/scripts/gulp-tasks.js +++ b/scripts/gulp-tasks.js @@ -37,7 +37,6 @@ function webpackBuild(opts) { rules: [ { test: /\.js$/, - include: /node_modules/, loader: "babel-loader", options: { // Some of the node_modules may have their own "babel" section in @@ -53,32 +52,15 @@ function webpackBuild(opts) { }, ], ], - }, - }, - { - test: /\.js$/, - exclude: /node_modules/, - loader: "babel-loader", - options: { - // Some of the node_modules may have their own "babel" section in - // their project.json (or a ".babelrc" file). We need to ignore - // those as we're using our own Babel options. - babelrc: false, - presets: [ - [ - "@babel/env", - { - loose: true, - exclude: ["transform-typeof-symbol"], - }, - ], - ["@babel/stage-0", { loose: true }], + overrides: [ + { + exclude: /node_modules/, + presets: [["@babel/stage-0", { loose: true }]], + }, ], }, }, ], - // babylon is already bundled and does not require parsing - noParse: [/babylon\/lib/], }, node: { // Mock Node.js modules that Babel require()s but that we don't diff --git a/yarn.lock b/yarn.lock index ecbaf66728..d48e8474cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -670,7 +670,7 @@ invariant "^2.2.0" lodash "^4.2.0" -"@babel/traverse@7.0.0-beta.38": +"@babel/traverse@7.0.0-beta.38", "@babel/traverse@^7.0.0-beta.31": version "7.0.0-beta.38" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.38.tgz#56462b91753dd5c6faf36e56a77c64077ddb85b8" dependencies: @@ -734,8 +734,8 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.35.tgz#8999974b34028686a8d61a719e61c138d3755107" "@types/lodash@^4.14.67": - version "4.14.93" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.93.tgz#a6d2a1e1601a3c29196f38ef1990b68a9afa1e1c" + version "4.14.92" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.92.tgz#6e3cb0b71a1e12180a47a42a744e856c3ae99a57" "@types/node@*": version "9.3.0" @@ -1143,6 +1143,13 @@ babel-plugin-istanbul@^4.1.4: istanbul-lib-instrument "^1.7.5" test-exclude "^4.1.1" +babel-plugin-transform-charcodes@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-charcodes/-/babel-plugin-transform-charcodes-0.0.10.tgz#cdb76363e1e91ac105f3f94b168f41cf27983e80" + dependencies: + "@babel/traverse" "^7.0.0-beta.31" + babylon "^7.0.0-beta.31" + babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -1187,7 +1194,7 @@ babylon@7.0.0-beta.36: version "7.0.0-beta.36" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.36.tgz#3a3683ba6a9a1e02b0aa507c8e63435e39305b9e" -babylon@7.0.0-beta.38: +babylon@7.0.0-beta.38, babylon@^7.0.0-beta.31: version "7.0.0-beta.38" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.38.tgz#9b3a33e571a47464a2d20cb9dd5a570f00e3f996" @@ -1233,6 +1240,12 @@ binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" +bl@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + dependencies: + readable-stream "^2.0.5" + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -1457,7 +1470,7 @@ buffer@^4.1.0, buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^1.0.0: +builtin-modules@^1.0.0, builtin-modules@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1590,6 +1603,10 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +charcodes@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/charcodes/-/charcodes-0.0.10.tgz#98d67a7a1e17ce154d1faafd01e72e9a6cff54f5" + chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -2344,7 +2361,7 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@^2.1.0: +doctrine@^2.0.2: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" dependencies: @@ -2603,8 +2620,8 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" eslint@^4.5.0: - version "4.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.16.0.tgz#934ada9e98715e1d7bbfd6f6f0519ed2fab35cc1" + version "4.15.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.15.0.tgz#89ab38c12713eec3d13afac14e4a89e75ef08145" dependencies: ajv "^5.3.0" babel-code-frame "^6.22.0" @@ -2612,7 +2629,7 @@ eslint@^4.5.0: concat-stream "^1.6.0" cross-spawn "^5.1.0" debug "^3.1.0" - doctrine "^2.1.0" + doctrine "^2.0.2" eslint-scope "^3.7.1" eslint-visitor-keys "^1.0.0" espree "^3.5.2" @@ -2676,6 +2693,10 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -3349,7 +3370,7 @@ gulp-babel@^8.0.0-beta.0: through2 "^2.0.0" vinyl-sourcemaps-apply "^0.2.0" -gulp-filter@^5.0.1: +gulp-filter@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73" dependencies: @@ -3909,6 +3930,10 @@ is-glob@^4.0.0: dependencies: is-extglob "^2.1.1" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" @@ -3992,8 +4017,8 @@ is-relative@^1.0.0: is-unc-path "^1.0.0" is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4" is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" @@ -5701,7 +5726,7 @@ read-pkg@^2.0.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3: +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -5946,6 +5971,37 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" +rollup-plugin-babel@^4.0.0-beta.0: + version "4.0.0-beta.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.0.0-beta.0.tgz#2fccbc30bf620bfac0cf870324248e30ba824ded" + dependencies: + rollup-pluginutils "^1.5.0" + +rollup-plugin-node-resolve@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.2.tgz#38babc12fd404cc2ba1ff68648fe43fa3ffee6b0" + dependencies: + builtin-modules "^1.1.0" + is-module "^1.0.0" + resolve "^1.1.6" + +rollup-pluginutils@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" + +rollup-stream@^1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/rollup-stream/-/rollup-stream-1.24.1.tgz#9bc002afba51c517e6daa3e17f9559580a460f89" + dependencies: + rollup "^0.49.2" + +rollup@^0.49.2: + version "0.49.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.49.3.tgz#4cce32643dd8cf2154c69ff0e43470067db0adbf" + run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -6631,16 +6687,16 @@ type-check@~0.3.2: prelude-ls "~1.1.2" type-detect@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.7.tgz#862bd2cf6058ad92799ff5a5b8cf7b6cec726198" + version "4.0.6" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.6.tgz#88cbce3d13bc675a63f840b3225c180f870786d7" typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" uglify-js@3.3.x, uglify-js@^3.0.5: - version "3.3.8" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.8.tgz#51e9a5db73afb53ac98603d08224edcd0be45fd8" + version "3.3.7" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.7.tgz#28463e7c7451f89061d2b235e30925bf5625e14d" dependencies: commander "~2.13.0" source-map "~0.6.1" @@ -6794,6 +6850,13 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vinyl-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vinyl-buffer/-/vinyl-buffer-1.0.1.tgz#96c1a3479b8c5392542c612029013b5b27f88bbf" + dependencies: + bl "^1.2.1" + through2 "^2.0.3" + vinyl-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" @@ -6818,6 +6881,13 @@ vinyl-fs@^0.3.0: through2 "^0.6.1" vinyl "^0.4.0" +vinyl-source-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-2.0.0.tgz#f38a5afb9dd1e93b65d550469ac6182ac4f54b8e" + dependencies: + through2 "^2.0.3" + vinyl "^2.1.0" + vinyl-sourcemaps-apply@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" @@ -7070,8 +7140,8 @@ yargs-parser@^8.0.0, yargs-parser@^8.1.0: camelcase "^4.1.0" yargs@^10.0.3: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" + version "10.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.1.tgz#5fe1ea306985a099b33492001fa19a1e61efe285" dependencies: cliui "^4.0.0" decamelize "^1.1.1"