@@ -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+
4479const sizeLimitConfig : Promise < SizeLimitConfig > = ( async ( ) =>
45- (
46- await Promise . all ( ( await getAllPackageEntryPoints ( ) ) . map ( getAllImports ) )
47- ) . flat ( ) ) ( )
80+ ( await Promise . all ( allNodeEnvs . map ( getAllImportsWithNodeEnv ) ) ) . flat ( ) ) ( )
4881
4982export default sizeLimitConfig
0 commit comments