Skip to content

Commit e9af913

Browse files
committed
Drop support for custom extensions
Also, simplify the extensions logic
1 parent 9c73e13 commit e9af913

File tree

3 files changed

+6
-37
lines changed

3 files changed

+6
-37
lines changed

lib/bundle/babel.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ module.exports = function generateTranspiler({ esnext, jsx, exclude }, { browser
77
babelHelpers: "bundled"
88
};
99
let plugins = [];
10-
let extensions = [];
1110

1211
if(exclude) {
1312
settings.exclude = exclude.map(pkg => {
@@ -32,7 +31,6 @@ module.exports = function generateTranspiler({ esnext, jsx, exclude }, { browser
3231
}
3332

3433
if(jsx) {
35-
extensions.push(".jsx");
3634
let { pragma, pragmaFrag } = jsx;
3735
plugins.push(["@babel/plugin-transform-react-jsx",
3836
{ pragma, pragmaFrag }]);
@@ -45,7 +43,6 @@ module.exports = function generateTranspiler({ esnext, jsx, exclude }, { browser
4543
let babel = loadExtension("@rollup/plugin-babel",
4644
"failed to activate ESNext transpiler", "faucet-pipeline-esnext");
4745
return {
48-
plugin: babel.default(settings),
49-
extensions
46+
plugin: babel.default(settings)
5047
};
5148
};

lib/bundle/config.js

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ let NAMELESS_MODULES = new Set(["es", "amd", "cjs"]); // NB: Rollup identifiers
2121
module.exports = generateConfig;
2222

2323
// generates Rollup configuration
24-
// * `extensions` is a list of additional file extensions for loading modules
25-
// (e.g. `[".jsx"]`)
2624
// * `externals` determines which modules/packages to exclude from the bundle
2725
// (e.g. `{ jquery: "jQuery" }` - the key refers to the respective
2826
// module/package name, the value refers to a corresponding global variable)
@@ -47,19 +45,20 @@ module.exports = generateConfig;
4745
// * `sourcemaps`, if truthy, activates inline source-map generation
4846
// * `compact`, if truthy, compresses the bundle's code - see `determineCompacting`
4947
// for compression levels, determined by the respective value
50-
function generateConfig({ extensions = [], // eslint-disable-next-line indent
51-
externals, format, exports, // eslint-disable-next-line indent
48+
function generateConfig({ externals, format, exports, // eslint-disable-next-line indent
5249
esnext, jsx, typescript, // eslint-disable-next-line indent
5350
sourcemaps, compact }, { browsers }) {
5451
let cfg = { sourcemap: sourcemaps };
5552
let plugins = [];
53+
let extensions = [".js"];
5654

5755
if(esnext || jsx) {
5856
let transpiler = Object.assign({}, esnext, jsx);
5957
if(esnext) {
6058
transpiler.esnext = true;
6159
}
6260
if(jsx) {
61+
extensions.push(".jsx");
6362
// just to be safe, discard JSX-specifics on parent object
6463
delete transpiler.pragma;
6564
delete transpiler.fragment;
@@ -76,8 +75,7 @@ function generateConfig({ extensions = [], // eslint-disable-next-line indent
7675
console.error("transpiling JavaScript for", browsers.join(", "));
7776
}
7877

79-
let { plugin, extensions: ext } = generateTranspiler(transpiler, { browsers });
80-
extensions = ext.concat(extensions);
78+
let { plugin } = generateTranspiler(transpiler, { browsers });
8179
plugins.push(plugin);
8280
}
8381
if(typescript) {
@@ -88,13 +86,8 @@ function generateConfig({ extensions = [], // eslint-disable-next-line indent
8886
plugins.push(typescript === true ? ts() : ts(typescript));
8987
}
9088

91-
let resolve = {};
92-
if(extensions.length) {
93-
resolve.extensions = [".js"].concat(extensions);
94-
}
95-
9689
plugins = plugins.concat([
97-
nodeResolve(resolve),
90+
nodeResolve({ extensions }),
9891
commonjs({ include: "node_modules/**" })
9992
]);
10093
if(compact) {

test/unit/test_bundling.js

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -118,27 +118,6 @@ console.log("[\\u2026] ".concat(MYLIB)); // eslint-disable-line no-console
118118
});
119119
});
120120

121-
it("should support custom file extensions", () => {
122-
let config = [{
123-
source: "./src/index.coffee",
124-
target: "./dist/bundle.js",
125-
extensions: [".coffee"]
126-
}];
127-
let assetManager = new MockAssetManager(FIXTURES_DIR);
128-
129-
return faucetJS(config, assetManager, DEFAULT_OPTIONS)().
130-
then(_ => {
131-
assetManager.assertWrites([{
132-
filepath: path.resolve(FIXTURES_DIR, "./dist/bundle.js"),
133-
content: makeBundle(`
134-
var helper = { foo: "lorem", bar: "ipsum" };
135-
136-
console.log(\`[…] $\{helper}\`); // eslint-disable-line no-console
137-
`)
138-
}]);
139-
});
140-
});
141-
142121
it("should support customizing bundle's API", () => {
143122
let config = [{
144123
source: "./src/lib.js",

0 commit comments

Comments
 (0)