Skip to content

Commit 342902c

Browse files
committed
Treeshake carbon components
1 parent d48545a commit 342902c

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

packages/common/babel.config.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,29 @@ const createAntTransform = (env) => [
168168
`ant-${env}`
169169
]
170170

171+
const createCarbonCJSTransform = (env) => [
172+
'transform-imports',
173+
{
174+
'carbon-components-react': {
175+
transform: (importName) => {
176+
let res;
177+
const files = glob.sync(path.resolve(__dirname, `../../node_modules/carbon-components-react/${env === 'cjs' ? 'lib' : 'es' }/**/${importName}.js`));
178+
if (files.length > 0) {
179+
res = files[0];
180+
} else {
181+
throw new Error(`File with importName ${importName} does not exist`);
182+
}
183+
res = res.replace(path.resolve(__dirname, '../../node_modules/'), '');
184+
res = res.replace(/^\//, '');
185+
return res;
186+
},
187+
preventFullImport: false,
188+
skipDefaultConversion: false
189+
}
190+
},
191+
`carbon-components-react-${env}`
192+
];
193+
171194
module.exports = {
172195
extends: '../../babel.config.js',
173196
env: {
@@ -177,7 +200,8 @@ module.exports = {
177200
createMuiTransform(),
178201
createPfReactTransform('js'),
179202
createBluePrintTransform('cjs'),
180-
createAntTransform('cjs')
203+
createAntTransform('cjs'),
204+
createCarbonCJSTransform('cjs')
181205
]
182206
},
183207
esm: {
@@ -186,7 +210,8 @@ module.exports = {
186210
createMuiTransform('esm'),
187211
createPfReactTransform('esm'),
188212
createBluePrintTransform('esm'),
189-
createAntTransform('esm')
213+
createAntTransform('esm'),
214+
createCarbonCJSTransform('esm')
190215
]
191216
}
192217
}

0 commit comments

Comments
 (0)