Skip to content
This repository was archived by the owner on Mar 8, 2022. It is now read-only.

Commit 2283e99

Browse files
committed
Don't pull in all of core-js with core (rjsf-team#1601)
1 parent 343efe7 commit 2283e99

21 files changed

+97
-319
lines changed

babel.config.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const BABEL_ENV = process.env.BABEL_ENV;
2+
const IS_TEST = BABEL_ENV === "test"
3+
const ignore = IS_TEST ? [] : ['test/**/*.js']
4+
const targets = IS_TEST ? { node: "current" } : { browsers: "defaults" }
5+
6+
module.exports = {
7+
presets: [
8+
[
9+
"@babel/preset-env",
10+
{
11+
modules: ["cjs", "test"].includes(BABEL_ENV) ? "commonjs" : false,
12+
targets
13+
},
14+
],
15+
"@babel/preset-react"
16+
],
17+
plugins: [
18+
"@babel/plugin-proposal-class-properties",
19+
"@babel/plugin-proposal-optional-chaining"
20+
],
21+
ignore,
22+
};

docs/3.x upgrade guide.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# 3.x Upgrade Guide
2+
3+
## BREAKING
4+
5+
### Bring your own polyfills
6+
7+
core-js@2 has been removed from @rjsf/core. See more about [the rationale here](https://github.com/rjsf-team/react-jsonschema-form/pull/2211#issue-563700810).
8+
9+
If you're using a framework like [Create React App](https://create-react-app.dev/docs/supported-browsers-features#supported-browsers), [Gatsby](https://www.gatsbyjs.com/docs/how-to/custom-configuration/browser-support/), [Next.js](https://nextjs.org/docs/basic-features/supported-browsers-features), or transpiling code through something like `@babel/preset-env`, polyfills are already included there and you won't have to do anything.
10+
11+
If you were directly depending on @rjsf/core's @babel/runtime pulling in core-js@2, just `npm install core-js` and using a side effectful import at the top of your entry point (`import 'core-js'`) might be enough.
12+
13+
For a slightly more elaborate setup, [@babel/preset-env](https://babeljs.io/docs/en/babel-preset-env#how-does-it-work) is probably a good second choice.
14+
15+
From `@babel/preset-env`'s docs
16+
17+
> We leverage [`browserslist`, `compat-table`, and `electron-to-chromium`] to maintain mappings of which version of our supported target environments gained support of a JavaScript syntax or browser feature, as well as a mapping of those syntaxes and features to Babel transform plugins and core-js polyfills.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ nav:
3030
- Theme-Specific Reference:
3131
- semantic-ui: api-reference/themes/semantic-ui/uiSchema.md
3232
- "<Form /> props": api-reference/form-props.md
33+
- 3.x Migration: 3.x upgrade guide.md
3334

3435
markdown_extensions:
3536
- toc:

packages/antd/babel.config.js

Lines changed: 2 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,3 @@
1-
const BABEL_ENV = process.env.BABEL_ENV;
1+
const defaultConfig = require('../../babel.config')
22

3-
const defaultPlugins = [];
4-
5-
module.exports = {
6-
"presets": [
7-
[
8-
"@babel/preset-env",
9-
{
10-
modules: ["cjs", "test"].includes(BABEL_ENV) ? "commonjs" : false,
11-
targets:
12-
BABEL_ENV === "test" ? { node: "current" } : { browsers: "defaults" },
13-
},
14-
],
15-
"@babel/preset-react"
16-
],
17-
"plugins": [
18-
"@babel/plugin-proposal-object-rest-spread",
19-
"@babel/plugin-proposal-class-properties",
20-
[
21-
"@babel/plugin-transform-runtime",
22-
{
23-
"corejs": 2
24-
}
25-
]
26-
],
27-
"env": {
28-
cjs: {
29-
plugins: defaultPlugins,
30-
ignore: ['test/**/*.js']
31-
},
32-
umd: {
33-
plugins: defaultPlugins,
34-
ignore: ['test/**/*.js']
35-
},
36-
es: {
37-
plugins: [
38-
...defaultPlugins,
39-
['@babel/plugin-transform-runtime', { useESModules: true, corejs: 2 }]
40-
],
41-
ignore: ['test/**/*.js']
42-
},
43-
test: {
44-
plugins: defaultPlugins,
45-
ignore: []
46-
}
47-
}
48-
};
3+
module.exports = defaultConfig

packages/antd/package-lock.json

Lines changed: 0 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/antd/package.json

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,9 @@
2828
},
2929
"peerDependencies": {
3030
"@ant-design/icons": "^4.0.0",
31-
"@babel/runtime-corejs2": "^7.10.3",
3231
"@rjsf/core": "^2.0.0",
3332
"antd": "^4.0.0",
3433
"antd-dayjs-webpack-plugin": "1.0.0",
35-
"core-js": "^2.5.7",
3634
"dayjs": "^1.8.0",
3735
"lodash": "^4.17.15",
3836
"react": ">=16"
@@ -42,20 +40,16 @@
4240
"@babel/cli": "^7.4.4",
4341
"@babel/core": "^7.4.5",
4442
"@babel/plugin-proposal-class-properties": "^7.5.5",
45-
"@babel/plugin-proposal-object-rest-spread": "^7.5.5",
4643
"@babel/plugin-transform-react-jsx": "^7.3.0",
47-
"@babel/plugin-transform-runtime": "^7.5.5",
4844
"@babel/preset-env": "^7.10.3",
4945
"@babel/preset-react": "^7.0.0",
5046
"@babel/register": "^7.4.4",
51-
"@babel/runtime-corejs2": "^7.10.3",
5247
"@rjsf/core": "^2.5.1",
5348
"antd": "^4.0.0",
5449
"atob": "^2.0.3",
5550
"babel-eslint": "^10.0.1",
5651
"babel-loader": "^8.0.6",
5752
"concurrently": "^5.1.0",
58-
"core-js": "^2.5.7",
5953
"cross-env": "^2.0.1",
6054
"css-loader": "^3.2.0",
6155
"dayjs": "^1.8.0",
@@ -70,7 +64,6 @@
7064
"less-loader": "^5.0.0",
7165
"lodash": "^4.17.15",
7266
"react": "^16.8.6",
73-
"react-app-polyfill": "^1.0.4",
7467
"react-dom": "^16.8.6",
7568
"react-test-renderer": "^16.13.1",
7669
"rimraf": "^3.0.2",

packages/bootstrap-4/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@
2525
"devDependencies": {
2626
"@babel/core": "^7.0.0-0",
2727
"@babel/plugin-proposal-class-properties": "^7.5.5",
28-
"@babel/plugin-proposal-object-rest-spread": "^7.5.5",
2928
"@babel/plugin-transform-modules-commonjs": "^7.8.3",
30-
"@babel/plugin-transform-runtime": "^7.5.5",
3129
"@babel/preset-env": "^7.5.5",
3230
"@babel/preset-react": "^7.0.0",
3331
"@rjsf/core": "^2.5.1",

packages/core/babel.config.js

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,3 @@
1-
const BABEL_ENV = process.env.BABEL_ENV;
1+
const defaultConfig = require('../../babel.config')
22

3-
const defaultPlugins = [
4-
'@babel/plugin-proposal-class-properties',
5-
'@babel/plugin-proposal-object-rest-spread',
6-
'@babel/plugin-proposal-optional-chaining',
7-
// IE 11 support
8-
'@babel/plugin-transform-object-assign'
9-
];
10-
11-
module.exports = {
12-
presets: [
13-
[
14-
"@babel/preset-env",
15-
{
16-
modules: ["cjs", "test"].includes(BABEL_ENV) ? "commonjs" : false,
17-
targets:
18-
BABEL_ENV === "test" ? { node: "current" } : { browsers: "defaults" },
19-
},
20-
],
21-
"@babel/preset-react",
22-
],
23-
env: {
24-
cjs: {
25-
plugins: defaultPlugins,
26-
ignore: ['test/**/*.js']
27-
},
28-
umd: {
29-
plugins: defaultPlugins,
30-
ignore: ['test/**/*.js']
31-
},
32-
es: {
33-
plugins: [
34-
...defaultPlugins,
35-
['@babel/plugin-transform-runtime', { useESModules: true, corejs: 2 }]
36-
],
37-
ignore: ['test/**/*.js']
38-
},
39-
test: {
40-
plugins: defaultPlugins,
41-
ignore: []
42-
}
43-
},
44-
};
3+
module.exports = defaultConfig

packages/core/package-lock.json

Lines changed: 9 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/core/package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,27 +40,23 @@
4040
"react": ">=16"
4141
},
4242
"dependencies": {
43-
"@babel/runtime-corejs2": "^7.8.7",
4443
"@types/json-schema": "^7.0.4",
4544
"ajv": "^6.7.0",
46-
"core-js": "^2.5.7",
45+
"core-js-pure": "^3.6.5",
4746
"json-schema-merge-allof": "^0.6.0",
4847
"jsonpointer": "^4.0.1",
4948
"lodash": "^4.17.15",
5049
"prop-types": "^15.7.2",
51-
"react-app-polyfill": "^1.0.4",
5250
"react-is": "^16.9.0",
5351
"shortid": "^2.2.14"
5452
},
5553
"devDependencies": {
5654
"@babel/cli": "^7.4.4",
5755
"@babel/core": "^7.4.5",
5856
"@babel/plugin-proposal-class-properties": "^7.4.4",
59-
"@babel/plugin-proposal-object-rest-spread": "^7.4.4",
6057
"@babel/plugin-proposal-optional-chaining": "^7.8.3",
6158
"@babel/plugin-transform-object-assign": "^7.8.3",
6259
"@babel/plugin-transform-react-jsx": "^7.3.0",
63-
"@babel/plugin-transform-runtime": "^7.4.4",
6460
"@babel/preset-env": "^7.4.5",
6561
"@babel/preset-react": "^7.0.0",
6662
"@babel/register": "^7.4.4",

packages/core/src/components/fields/ArrayField.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import AddButton from "../AddButton";
22
import IconButton from "../IconButton";
33
import React, { Component } from "react";
4-
import includes from "core-js/library/fn/array/includes";
4+
import includes from "core-js-pure/es/array/includes";
55
import * as types from "../../types";
66

77
import {

0 commit comments

Comments
 (0)