Skip to content

Commit 784af91

Browse files
authored
Remove babel-polyfill from sandbox (codesandbox#170)
* Remove babel-polyfill from sandbox * Fix lint errors * Remove unrelated changes
1 parent 6fce2a9 commit 784af91

File tree

6 files changed

+32
-4
lines changed

6 files changed

+32
-4
lines changed

config/webpack.common.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ module.exports = {
3030
entry: {
3131
app: [require.resolve('./polyfills'), path.join(paths.appSrc, 'index.js')],
3232
sandbox: [
33-
require.resolve('babel-polyfill'),
3433
require.resolve('./polyfills'),
3534
path.join(paths.sandboxSrc, 'index.js'),
3635
],

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"babel-plugin-transform-runtime": "^6.23.0",
2020
"babel-preset-latest": "^6.24.1",
2121
"babel-preset-react": "^6.24.1",
22-
"babel-runtime": "^6.20.0",
22+
"babel-runtime": "^6.26.0",
2323
"babili-webpack-plugin": "^0.1.1",
2424
"buffer-loader": "^0.0.1",
2525
"case-sensitive-paths-webpack-plugin": "^2.0.0",

src/sandbox/eval/loaders/dependency-resolver.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@ export default function getDependency(
1111
dependencyPath: string,
1212
externals: { [key: string]: string }
1313
) {
14+
// This polyfill is included by default in the sandbox, no external dependency needed.
15+
// This is also included in CRA by default, so we keep compatability with
16+
// CRA.
17+
if (dependencyPath === 'babel-runtime/regenerator') {
18+
return require('babel-runtime/regenerator'); // eslint-disable-line global-require
19+
}
20+
1421
const dependencyModule =
1522
externals[dependencyPath] || externals[`${dependencyPath}.js`];
1623
if (dependencyModule) {

src/sandbox/eval/presets/create-react-app/index.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ import babelTranspiler from '../../transpilers/babel';
55
import jsonTranspiler from '../../transpilers/json';
66
import rawTranspiler from '../../transpilers/raw';
77

8-
const preset = new Preset('create-react-app');
8+
const preset = new Preset('create-react-app', [
9+
'web.js',
10+
'js',
11+
'json',
12+
'web.jsx',
13+
'jsx',
14+
]);
915

1016
preset.registerTranspiler(module => /\.css$/.test(module.title), [
1117
{ transpiler: stylesTranspiler },

src/sandbox/eval/transpilers/babel/babel-parser.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@ const DEFAULT_BABEL_CONFIG = {
1010
'transform-object-rest-spread',
1111
'transform-decorators-legacy',
1212
'transform-class-properties',
13+
// Polyfills the runtime needed for async/await and generators
14+
[
15+
'transform-runtime',
16+
{
17+
helpers: false,
18+
polyfill: false,
19+
regenerator: true,
20+
},
21+
],
22+
[
23+
'transform-regenerator',
24+
{
25+
// Async functions are converted to generators by babel-preset-env
26+
async: false,
27+
},
28+
],
1329
],
1430
};
1531

yarn.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1551,7 +1551,7 @@ [email protected]:
15511551
core-js "^2.4.0"
15521552
regenerator-runtime "^0.10.0"
15531553

1554-
[email protected], babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0:
1554+
[email protected], babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0:
15551555
version "6.25.0"
15561556
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.25.0.tgz#33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c"
15571557
dependencies:

0 commit comments

Comments
 (0)