Skip to content

Commit c2d6571

Browse files
authored
Fix dynamic downloading of babel dependencies (codesandbox#2018)
1 parent 14dafb8 commit c2d6571

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

packages/app/src/sandbox/compile.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { dispatch, reattach, clearErrorTransformers } from 'codesandbox-api';
2+
import { flatten } from 'lodash';
23
import { absolute } from '@codesandbox/common/lib/utils/path';
34
import _debug from '@codesandbox/common/lib/utils/debug';
45
import parseConfigurations from '@codesandbox/common/lib/templates/configuration/parse';
@@ -195,7 +196,6 @@ const PREINSTALLED_DEPENDENCIES = [
195196
'babel-plugin-detective',
196197
'babel-plugin-transform-prevent-infinite-loops',
197198
'babel-plugin-transform-vue-jsx',
198-
'babel-plugin-jsx-pragmatic',
199199
'flow-bin',
200200
...BABEL_DEPENDENCIES,
201201
];
@@ -213,7 +213,7 @@ function getDependencies(parsedPackage, templateDefinition, configurations) {
213213

214214
// Add all babel plugins/presets to whitelisted dependencies
215215
if (configurations && configurations.babel && configurations.babel.parsed) {
216-
(configurations.babel.parsed.presets || [])
216+
flatten(configurations.babel.parsed.presets || [])
217217
.filter(p => typeof p === 'string')
218218
.forEach(p => {
219219
const [first, ...parts] = p.split('/');
@@ -225,7 +225,7 @@ function getDependencies(parsedPackage, templateDefinition, configurations) {
225225
foundWhitelistedDevDependencies.push(prefixedName);
226226
});
227227

228-
(configurations.babel.parsed.plugins || [])
228+
flatten(configurations.babel.parsed.plugins || [])
229229
.filter(p => typeof p === 'string')
230230
.forEach(p => {
231231
const [first, ...parts] = p.split('/');

packages/app/src/sandbox/eval/transpilers/babel/worker/evaluate.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ export default function evaluate(
6464
availablePlugins[requirePath.replace('babel-plugin-', '')] ||
6565
availablePlugins[requirePath.replace('@babel/plugin-', '')];
6666
if (plugin && requirePath !== 'react') {
67-
return plugin;
67+
return plugin.__esModule ? plugin.default : plugin;
6868
}
6969

7070
const preset =
7171
availablePresets[requirePath] ||
7272
availablePresets[requirePath.replace('babel-preset-', '')] ||
7373
availablePresets[requirePath.replace('@babel/preset-', '')];
7474
if (preset && requirePath !== 'react') {
75-
return preset;
75+
return preset.__esModule ? preset.default : preset;
7676
}
7777

7878
const dirName = dirname(path);

0 commit comments

Comments
 (0)