Skip to content

Commit 6d7596f

Browse files
committed
breaking(mui): apply cjs and ems import transforms.
1 parent 434ecf7 commit 6d7596f

23 files changed

+66
-92
lines changed

packages/common/babel.config.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,7 @@ module.exports = {
6060
'patternfly-react': {
6161
transform: (importName) => {
6262
let res;
63-
const files = glob.sync(
64-
path.resolve(__dirname, `../../node_modules/patternfly-react/dist/js/**/${mapper[importName] || importName}.js`)
65-
);
63+
const files = glob.sync(path.resolve(__dirname, `../../node_modules/patternfly-react/dist/js/**/${importName}.js`));
6664
if (files.length > 0) {
6765
res = files[0];
6866
} else {
@@ -78,6 +76,17 @@ module.exports = {
7876
}
7977
},
8078
'pf3-react-CJS'
79+
],
80+
[
81+
'transform-imports',
82+
{
83+
'@material-ui/core': {
84+
transform: (importName) => `@material-ui/core/${importName}`,
85+
preventFullImport: false,
86+
skipDefaultConversion: false
87+
}
88+
},
89+
'MUI-CJS'
8190
]
8291
]
8392
},
@@ -129,9 +138,7 @@ module.exports = {
129138
'patternfly-react': {
130139
transform: (importName) => {
131140
let res;
132-
const files = glob.sync(
133-
path.resolve(__dirname, `../../node_modules/patternfly-react/dist/esm/**/${mapper[importName] || importName}.js`)
134-
);
141+
const files = glob.sync(path.resolve(__dirname, `../../node_modules/patternfly-react/dist/esm/**/${importName}.js`));
135142
if (files.length > 0) {
136143
res = files[0];
137144
} else {
@@ -147,6 +154,17 @@ module.exports = {
147154
}
148155
},
149156
'pf3-react-ESM'
157+
],
158+
[
159+
'transform-imports',
160+
{
161+
'@material-ui/core': {
162+
transform: (importName) => `@material-ui/core/esm/${importName}`,
163+
preventFullImport: false,
164+
skipDefaultConversion: false
165+
}
166+
},
167+
'MUI-ESM'
150168
]
151169
]
152170
}

packages/mui-component-mapper/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
"license": "Apache-2.0",
88
"scripts": {
99
"start": "webpack-dev-server --env dev --config ./config/webpack.config.js --open --hot",
10-
"build": "rollup -c ./rollup.config.js",
10+
"build": "yarn build:cjs && yarn build:esm && yarn build:umd",
11+
"build:cjs": "BABEL_ENV=cjs rollup -c ./rollup.config.js --format=cjs --environment FORMAT:cjs",
12+
"build:esm": "BABEL_ENV=esm rollup -c ./rollup.config.js --format=esm --environment FORMAT:esm",
13+
"build:umd": "rollup -c ./rollup.config.js --format=umd --environment FORMAT:umd",
1114
"vendor": "webpack --env vendor --config ./config/webpack.config.js",
1215
"release": "semantic-release"
1316
},

packages/mui-component-mapper/rollup.config.js

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ const muiExternals = createFilter(
2020
'react-dom',
2121
'prop-types',
2222
'@data-driven-forms/react-form-renderer',
23+
'@data-driven-forms/react-form-renderer/**',
24+
'@material-ui/core',
2325
'@material-ui/core/**',
2426
'@material-ui/styles/**',
2527
'@material-ui/icons/**'
@@ -84,31 +86,19 @@ const plugins = [
8486
sourcemaps()
8587
];
8688

87-
export default [
88-
...['cjs', 'esm'].map((env) => ({
89-
input: ['./src/index.js', ...outputPaths],
90-
output: {
91-
dir: `./dist/${env}`,
92-
format: env,
93-
name: '@data-driven-forms/mui-component-mapper',
94-
exports: 'named',
95-
globals,
96-
sourcemap: true
97-
},
98-
external: muiExternals,
99-
plugins
100-
})),
101-
{
102-
input: './src/index.js',
103-
output: {
104-
file: `./dist/umd/index.js`,
105-
format: 'umd',
106-
name: '@data-driven-forms/mui-component-mapper',
107-
exports: 'named',
108-
globals,
109-
sourcemap: true
110-
},
111-
external: muiExternals,
112-
plugins
113-
}
114-
];
89+
export default {
90+
input: process.env.FORMAT === 'umd' ? './src/index.js' : ['./src/index.js', ...outputPaths],
91+
output: {
92+
...(process.env.FORMAT === 'umd'
93+
? {
94+
file: `./dist/umd/index.js`
95+
}
96+
: { dir: `./dist/${process.env.FORMAT}` }),
97+
name: '@data-driven-forms/mui-component-mapper',
98+
exports: 'named',
99+
globals,
100+
sourcemap: true
101+
},
102+
external: muiExternals,
103+
plugins
104+
};

packages/mui-component-mapper/src/common/form-field-grid.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
33

4-
import Grid from '@material-ui/core/Grid';
4+
import { Grid } from '@material-ui/core';
55
import { makeStyles } from '@material-ui/core/styles';
66

77
const useFinalFormFieldStyles = makeStyles({

packages/mui-component-mapper/src/common/multiple-choice-list.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
33

4-
import Grid from '@material-ui/core/Grid';
5-
import Checkbox from '@material-ui/core/Checkbox';
6-
import FormControlLabel from '@material-ui/core/FormControlLabel';
7-
import FormLabel from '@material-ui/core/FormLabel';
8-
import FormGroup from '@material-ui/core/FormGroup';
9-
import FormControl from '@material-ui/core/FormControl';
10-
import FormHelperText from '@material-ui/core/FormHelperText';
4+
import { Grid, Checkbox, FormControlLabel, FormLabel, FormGroup, FormControl, FormHelperText } from '@material-ui/core';
115

126
import MultipleChoiceListCommon, { wrapperProps } from '@data-driven-forms/common/src/multiple-choice-list';
137
import { validationError } from './helpers';

packages/mui-component-mapper/src/files/checkbox.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3-
import MUICheckbox from '@material-ui/core/Checkbox';
4-
import FormControlLabel from '@material-ui/core/FormControlLabel';
5-
import FormHelperText from '@material-ui/core/FormHelperText';
6-
import FormControl from '@material-ui/core/FormControl';
7-
import FormGroup from '@material-ui/core/FormGroup';
8-
import FormLabel from '@material-ui/core/FormLabel';
3+
import { Checkbox as MUICheckbox, FormControl, FormControlLabel, FormHelperText, FormGroup, FormLabel } from '@material-ui/core';
94
import { meta, input } from '@data-driven-forms/common/src/prop-types-templates';
105

116
import FormFieldGrid from '../common/form-field-grid';

packages/mui-component-mapper/src/files/form-template.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
/* eslint-disable react/prop-types */
22
import React from 'react';
3-
import Grid from '@material-ui/core/Grid';
4-
import MUIButton from '@material-ui/core/Button';
5-
import Typography from '@material-ui/core/Typography';
3+
import { Grid, Button as MUIButton, Typography } from '@material-ui/core';
64

75
import FormTemplate from '@data-driven-forms/common/src/form-template';
86

packages/mui-component-mapper/src/files/plain-text.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import Typography from '@material-ui/core/Typography';
2+
import { Typography } from '@material-ui/core';
33
import PropTypes from 'prop-types';
44

55
const PlainText = ({ label, name }) =>

packages/mui-component-mapper/src/files/radio.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3-
import MUIRadio from '@material-ui/core/Radio';
4-
import FormControlLabel from '@material-ui/core/FormControlLabel';
5-
import FormControl from '@material-ui/core/FormControl';
6-
import FormLabel from '@material-ui/core/FormLabel';
7-
import FormHelperText from '@material-ui/core/FormHelperText';
3+
import { Radio as MUIRadio, FormControlLabel, FormControl, FormLabel, FormHelperText } from '@material-ui/core';
84
import { wrapperProps } from '@data-driven-forms/common/src/multiple-choice-list';
95

106
import FormFieldGrid from '../common/form-field-grid';

packages/mui-component-mapper/src/files/select/integration-select.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,8 @@ import PropTypes from 'prop-types';
33
import clsx from 'clsx';
44
import Select from 'react-select';
55
import { emphasize, makeStyles, useTheme } from '@material-ui/core/styles';
6-
import Typography from '@material-ui/core/Typography';
7-
import NoSsr from '@material-ui/core/NoSsr';
8-
import TextField from '@material-ui/core/TextField';
9-
import Paper from '@material-ui/core/Paper';
10-
import Chip from '@material-ui/core/Chip';
11-
import MenuItem from '@material-ui/core/MenuItem';
6+
import { Typography, NoSsr, TextField, Paper, Chip, MenuItem, FormControl, FormHelperText, FormLabel } from '@material-ui/core';
127
import CancelIcon from '@material-ui/icons/Cancel';
13-
import FormControl from '@material-ui/core/FormControl';
14-
import FormHelperText from '@material-ui/core/FormHelperText';
15-
import FormLabel from '@material-ui/core/FormLabel';
168

179
const useStyles = makeStyles((theme) => ({
1810
root: {

0 commit comments

Comments
 (0)