@@ -49,7 +49,6 @@ const createSuirCJSTransform = (env = 'commonjs') => [
4949 } else {
5050 throw new Error ( `File with importName ${ importName } does not exist` ) ;
5151 }
52-
5352 res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
5453 res = res . replace ( / ^ \/ / , '' ) ;
5554 return res ;
@@ -61,204 +60,105 @@ const createSuirCJSTransform = (env = 'commonjs') => [
6160 `semantic-ui-react-${ env } `
6261] ;
6362
64- const createMuiLabTransform = ( env ) => [
63+ const createMuiTransform = ( env ) => [
6564 'transform-imports' ,
6665 {
6766 '@material-ui/lab' : {
6867 transform : ( importName ) => ( env ? `@material-ui/lab/${ env } /${ importName } ` : `@material-ui/lab/${ importName } ` ) ,
6968 preventFullImport : false ,
7069 skipDefaultConversion : false
70+ } ,
71+ '@material-ui/core' : {
72+ transform : ( importName ) => env ? `@material-ui/core/${ env } /${ importName } ` : `@material-ui/core/${ importName } ` ,
73+ preventFullImport : false ,
74+ skipDefaultConversion : false
7175 }
7276 } ,
73- `MUI-LAB- ${ env || 'CJS ' } `
77+ `MUI-${ env || 'commonjs ' } `
7478] ;
7579
80+ const createPfReactTransform = ( env ) => [
81+ 'transform-imports' ,
82+ {
83+ '@patternfly/react-core' : {
84+ transform : ( importName ) => {
85+ let res ;
86+ const files = glob . sync (
87+ path . resolve ( __dirname , `../../node_modules/@patternfly/react-core/dist/${ env } /**/${ mapper [ importName ] || importName } .js` )
88+ ) ;
89+ if ( files . length > 0 ) {
90+ res = files [ 0 ] ;
91+ } else {
92+ throw new Error ( `File with importName ${ importName } does not exist` ) ;
93+ }
94+
95+ res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
96+ res = res . replace ( / ^ \/ / , '' ) ;
97+ return res ;
98+ } ,
99+ preventFullImport : false ,
100+ skipDefaultConversion : true
101+ } ,
102+ '@patternfly/react-icons' : {
103+ transform : ( importName ) =>
104+ `@patternfly/react-icons/dist/${ env } /icons/${ importName
105+ . split ( / (? = [ A - Z ] ) / )
106+ . join ( '-' )
107+ . toLowerCase ( ) } `,
108+ preventFullImport : true
109+ } ,
110+ 'patternfly-react' : {
111+ transform : ( importName ) => {
112+ let res ;
113+ const files = glob . sync ( path . resolve ( __dirname , `../../node_modules/patternfly-react/dist/${ env } /**/${ importName } .js` ) ) ;
114+ if ( files . length > 0 ) {
115+ res = files [ 0 ] ;
116+ } else {
117+ throw new Error ( `File with importName ${ importName } does not exist` ) ;
118+ }
119+
120+ res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
121+ res = res . replace ( / ^ \/ / , '' ) ;
122+ return res ;
123+ } ,
124+ preventFullImport : false ,
125+ skipDefaultConversion : false
126+ }
127+ } ,
128+ `pf-react-${ env } `
129+ ]
130+
131+ const createBluePrintTransform = ( env ) => [
132+ 'transform-imports' ,
133+ {
134+ '@blueprintjs/core' : {
135+ transform : ( importName ) =>
136+ `@blueprintjs/core/lib/${ env } /${ blueprintMapper [ importName ] ||
137+ `components/${ pascalToKebabCase ( importName ) } /${ pascaltoCamelCase ( importName ) } ` } .js`,
138+ preventFullImport : false ,
139+ skipDefaultConversion : true
140+ }
141+ } ,
142+ `BLUEPRINT-${ env } `
143+ ]
144+
76145module . exports = {
77146 extends : '../../babel.config.js' ,
78147 env : {
79148 cjs : {
80149 plugins : [
81150 createSuirCJSTransform ( 'commonjs' ) ,
82- createMuiLabTransform ( ) ,
83- [
84- 'transform-imports' ,
85- {
86- '@patternfly/react-core' : {
87- transform : ( importName ) => {
88- let res ;
89- const files = glob . sync (
90- path . resolve ( __dirname , `../../node_modules/@patternfly/react-core/dist/js/**/${ mapper [ importName ] || importName } .js` )
91- ) ;
92- if ( files . length > 0 ) {
93- res = files [ 0 ] ;
94- } else {
95- throw new Error ( `File with importName ${ importName } does not exist` ) ;
96- }
97-
98- res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
99- res = res . replace ( / ^ \/ / , '' ) ;
100- return res ;
101- } ,
102- preventFullImport : false ,
103- skipDefaultConversion : true
104- }
105- } ,
106- 'react-core-CJS'
107- ] ,
108- [
109- 'transform-imports' ,
110- {
111- '@patternfly/react-icons' : {
112- transform : ( importName ) =>
113- `@patternfly/react-icons/dist/js/icons/${ importName
114- . split ( / (? = [ A - Z ] ) / )
115- . join ( '-' )
116- . toLowerCase ( ) } `,
117- preventFullImport : true
118- }
119- } ,
120- 'react-icons-CJS'
121- ] ,
122- [
123- 'transform-imports' ,
124- {
125- 'patternfly-react' : {
126- transform : ( importName ) => {
127- let res ;
128- const files = glob . sync ( path . resolve ( __dirname , `../../node_modules/patternfly-react/dist/js/**/${ importName } .js` ) ) ;
129- if ( files . length > 0 ) {
130- res = files [ 0 ] ;
131- } else {
132- throw new Error ( `File with importName ${ importName } does not exist` ) ;
133- }
134-
135- res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
136- res = res . replace ( / ^ \/ / , '' ) ;
137- return res ;
138- } ,
139- preventFullImport : false ,
140- skipDefaultConversion : false
141- }
142- } ,
143- 'pf3-react-CJS'
144- ] ,
145- [
146- 'transform-imports' ,
147- {
148- '@material-ui/core' : {
149- transform : ( importName ) => `@material-ui/core/${ importName } ` ,
150- preventFullImport : false ,
151- skipDefaultConversion : false
152- }
153- } ,
154- 'MUI-CJS'
155- ] ,
156- [
157- 'transform-imports' ,
158- {
159- '@blueprintjs/core' : {
160- transform : ( importName ) =>
161- `@blueprintjs/core/lib/cjs/${ blueprintMapper [ importName ] ||
162- `components/${ pascalToKebabCase ( importName ) } /${ pascaltoCamelCase ( importName ) } ` } .js`,
163- preventFullImport : false ,
164- skipDefaultConversion : true
165- }
166- } ,
167- 'BLUEPRINT-CJS'
168- ]
151+ createMuiTransform ( ) ,
152+ createPfReactTransform ( 'js' ) ,
153+ createBluePrintTransform ( 'cjs' )
169154 ]
170155 } ,
171156 esm : {
172157 plugins : [
173158 createSuirCJSTransform ( 'es' ) ,
174- createMuiLabTransform ( 'esm' ) ,
175- [
176- 'transform-imports' ,
177- {
178- '@patternfly/react-core' : {
179- transform : ( importName ) => {
180- let res ;
181- const files = glob . sync (
182- path . resolve ( __dirname , `../../node_modules/@patternfly/react-core/dist/esm/**/${ mapper [ importName ] || importName } .js` )
183- ) ;
184- if ( files . length > 0 ) {
185- res = files [ 0 ] ;
186- } else {
187- throw new Error ( `File with importName ${ importName } does not exist` ) ;
188- }
189-
190- res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
191- res = res . replace ( / ^ \/ / , '' ) ;
192- return res ;
193- } ,
194- preventFullImport : false ,
195- skipDefaultConversion : true
196- }
197- } ,
198- 'react-core-ESM'
199- ] ,
200-
201- [
202- 'transform-imports' ,
203- {
204- '@patternfly/react-icons' : {
205- transform : ( importName ) =>
206- `@patternfly/react-icons/dist/esm/icons/${ importName
207- . split ( / (? = [ A - Z ] ) / )
208- . join ( '-' )
209- . toLowerCase ( ) } `,
210- preventFullImport : true
211- }
212- } ,
213- 'react-icons-ESM'
214- ] ,
215- [
216- 'transform-imports' ,
217- {
218- 'patternfly-react' : {
219- transform : ( importName ) => {
220- let res ;
221- const files = glob . sync ( path . resolve ( __dirname , `../../node_modules/patternfly-react/dist/esm/**/${ importName } .js` ) ) ;
222- if ( files . length > 0 ) {
223- res = files [ 0 ] ;
224- } else {
225- throw new Error ( `File with importName ${ importName } does not exist` ) ;
226- }
227-
228- res = res . replace ( path . resolve ( __dirname , '../../node_modules/' ) , '' ) ;
229- res = res . replace ( / ^ \/ / , '' ) ;
230- return res ;
231- } ,
232- preventFullImport : false ,
233- skipDefaultConversion : false
234- }
235- } ,
236- 'pf3-react-ESM'
237- ] ,
238- [
239- 'transform-imports' ,
240- {
241- '@material-ui/core' : {
242- transform : ( importName ) => `@material-ui/core/esm/${ importName } ` ,
243- preventFullImport : false ,
244- skipDefaultConversion : false
245- }
246- } ,
247- 'MUI-ESM'
248- ] ,
249- [
250- 'transform-imports' ,
251- {
252- '@blueprintjs/core' : {
253- transform : ( importName ) =>
254- `@blueprintjs/core/lib/esm/${ blueprintMapper [ importName ] ||
255- `components/${ pascalToKebabCase ( importName ) } /${ pascaltoCamelCase ( importName ) } ` } .js`,
256- preventFullImport : false ,
257- skipDefaultConversion : true
258- }
259- } ,
260- 'BLUEPRINT-CJS'
261- ]
159+ createMuiTransform ( 'esm' ) ,
160+ createPfReactTransform ( 'esm' ) ,
161+ createBluePrintTransform ( 'esm' )
262162 ]
263163 }
264164 }
0 commit comments