Skip to content

Commit becd2e3

Browse files
committed
Get bundle size info during 'development' and 'production' mode
1 parent e5c00d3 commit becd2e3

File tree

1 file changed

+36
-3
lines changed

1 file changed

+36
-3
lines changed

.size-limit.mts

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ const getAllImports = async (
2727
path: entryPoint,
2828
name: `import { ${namedImport} } from "${entryPoint}"`,
2929
import: `{ ${namedImport} }`,
30+
modifyWebpackConfig: (config) => {
31+
config.optimization.nodeEnv = 'development'
32+
return config
33+
},
3034
}))
3135
.concat([
3236
{
@@ -41,9 +45,38 @@ const getAllImports = async (
4145
])
4246
}
4347

48+
const setNodeEnv = (
49+
nodeEnv: 'development' | 'production',
50+
): Check['modifyWebpackConfig'] => {
51+
return (config) => {
52+
config.optimization.nodeEnv = nodeEnv
53+
return config
54+
}
55+
}
56+
57+
const getAllImportsWithNodeEnv = async (
58+
nodeEnv: 'development' | 'production',
59+
) => {
60+
const allPackageEntryPoints = await getAllPackageEntryPoints()
61+
62+
const allImportsFromAllEntryPoints = (
63+
await Promise.all(allPackageEntryPoints.map(getAllImports))
64+
).flat()
65+
66+
const allImportsWithNodeEnv = allImportsFromAllEntryPoints.map(
67+
(importsFromEntryPoint) => ({
68+
...importsFromEntryPoint,
69+
name: `${importsFromEntryPoint.name} ('${nodeEnv}' mode)`,
70+
modifyWebpackConfig: setNodeEnv(nodeEnv),
71+
}),
72+
)
73+
74+
return allImportsWithNodeEnv
75+
}
76+
77+
const allNodeEnvs = ['development', 'production'] as const
78+
4479
const sizeLimitConfig: Promise<SizeLimitConfig> = (async () =>
45-
(
46-
await Promise.all((await getAllPackageEntryPoints()).map(getAllImports))
47-
).flat())()
80+
(await Promise.all(allNodeEnvs.map(getAllImportsWithNodeEnv))).flat())()
4881

4982
export default sizeLimitConfig

0 commit comments

Comments
 (0)