From f0907a049d4d5721b9a570fced5228233f7587ae Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Wed, 13 Jun 2018 12:49:35 -0300 Subject: [PATCH] chore(rollup): Refactor native shims plugin --- scripts/build/rollup-plugins/native-shims.js | 30 +++++++++++--------- scripts/build/shims/assert.js | 6 ++-- scripts/build/shims/os.js | 4 ++- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/scripts/build/rollup-plugins/native-shims.js b/scripts/build/rollup-plugins/native-shims.js index e743cc90..1c817d8f 100644 --- a/scripts/build/rollup-plugins/native-shims.js +++ b/scripts/build/rollup-plugins/native-shims.js @@ -3,28 +3,32 @@ const builtins = require("builtin-modules"); const fs = require("fs"); const path = require("path"); -const tempy = require("tempy"); + +const EMPTY = "export default {};"; +const PREFIX = "\0shim:"; module.exports = function(dir) { return { - resolveId(importee, importer) { - if (!importee || !importer || /\0/.test(importee)) { + resolveId(importee) { + if (importee.startsWith(PREFIX)) { + return importee; + } + + if (/\0/.test(importee) || !builtins.includes(importee)) { return null; } - if (!~builtins.indexOf(importee)) { - return null; + const shim = path.resolve(dir, importee + ".js"); + if (fs.existsSync(shim)) { + return shim; } + return PREFIX + importee; + }, - const newPath = path.resolve(dir, `${importee}.js`); - if (fs.existsSync(newPath)) { - return newPath; + load(id) { + if (id.startsWith(PREFIX)) { + return EMPTY; } - - // This helps debugging when a stub in the module is needed - const fallback = tempy.file({ name: `${importee}.js` }); - fs.writeFileSync(fallback, "module.exports = {};"); - return fallback; } }; }; diff --git a/scripts/build/shims/assert.js b/scripts/build/shims/assert.js index 9e553f1c..f035fe34 100644 --- a/scripts/build/shims/assert.js +++ b/scripts/build/shims/assert.js @@ -1,2 +1,4 @@ -export function ok() {} -export function strictEqual() {} +export default { + ok() {}, + strictEqual() {} +}; diff --git a/scripts/build/shims/os.js b/scripts/build/shims/os.js index e4a6d208..f2a73b10 100644 --- a/scripts/build/shims/os.js +++ b/scripts/build/shims/os.js @@ -1 +1,3 @@ -export const EOL = "\n"; +export default { + EOL: "\n" +};