@@ -12,7 +12,43 @@ const treeshake = {
12
12
unknownGlobalSideEffects : false ,
13
13
} satisfies RollupOptions [ "treeshake" ] ;
14
14
15
- const classic = {
15
+ const classicCJS = {
16
+ input : "src/classic.ts" ,
17
+
18
+ output : [
19
+ {
20
+ file : pkg . exports [ "." ] . require ,
21
+ format : "cjs" ,
22
+ sourcemap : false ,
23
+ } ,
24
+ ] ,
25
+
26
+ plugins : [
27
+ rollupPluginAutoExternal ( ) ,
28
+ rollupPluginTs ( {
29
+ transpileOnly : true ,
30
+ tsconfig : {
31
+ fileName : "tsconfig.build.json" ,
32
+ hook : ( resolvedConfig ) => ( {
33
+ ...resolvedConfig ,
34
+ paths : {
35
+ ...resolvedConfig . paths ,
36
+ "#eslint-plugin-functional/conditional-imports/*" : [
37
+ "src/utils/conditional-imports/cjs/*" ,
38
+ ] ,
39
+ } ,
40
+ } ) ,
41
+ } ,
42
+ } ) ,
43
+ rollupPluginDeassert ( {
44
+ include : [ "**/*.{js,ts}" ] ,
45
+ } ) ,
46
+ ] ,
47
+
48
+ treeshake,
49
+ } satisfies RollupOptions ;
50
+
51
+ const classicESM = {
16
52
input : "src/classic.ts" ,
17
53
18
54
output : [
@@ -21,8 +57,39 @@ const classic = {
21
57
format : "esm" ,
22
58
sourcemap : false ,
23
59
} ,
60
+ ] ,
61
+
62
+ plugins : [
63
+ rollupPluginAutoExternal ( ) ,
64
+ rollupPluginTs ( {
65
+ transpileOnly : true ,
66
+ tsconfig : {
67
+ fileName : "tsconfig.build.json" ,
68
+ hook : ( resolvedConfig ) => ( {
69
+ ...resolvedConfig ,
70
+ paths : {
71
+ ...resolvedConfig . paths ,
72
+ "#eslint-plugin-functional/conditional-imports/*" : [
73
+ "src/utils/conditional-imports/esm/*" ,
74
+ ] ,
75
+ } ,
76
+ } ) ,
77
+ } ,
78
+ } ) ,
79
+ rollupPluginDeassert ( {
80
+ include : [ "**/*.{js,ts}" ] ,
81
+ } ) ,
82
+ ] ,
83
+
84
+ treeshake,
85
+ } satisfies RollupOptions ;
86
+
87
+ const flatCJS = {
88
+ input : "src/flat.ts" ,
89
+
90
+ output : [
24
91
{
25
- file : pkg . exports [ "." ] . require ,
92
+ file : pkg . exports [ "./flat " ] . require ,
26
93
format : "cjs" ,
27
94
sourcemap : false ,
28
95
} ,
@@ -32,7 +99,18 @@ const classic = {
32
99
rollupPluginAutoExternal ( ) ,
33
100
rollupPluginTs ( {
34
101
transpileOnly : true ,
35
- tsconfig : "tsconfig.build.json" ,
102
+ tsconfig : {
103
+ fileName : "tsconfig.build.json" ,
104
+ hook : ( resolvedConfig ) => ( {
105
+ ...resolvedConfig ,
106
+ paths : {
107
+ ...resolvedConfig . paths ,
108
+ "#eslint-plugin-functional/conditional-imports/*" : [
109
+ "src/utils/conditional-imports/cjs/*" ,
110
+ ] ,
111
+ } ,
112
+ } ) ,
113
+ } ,
36
114
} ) ,
37
115
rollupPluginDeassert ( {
38
116
include : [ "**/*.{js,ts}" ] ,
@@ -42,7 +120,7 @@ const classic = {
42
120
treeshake,
43
121
} satisfies RollupOptions ;
44
122
45
- const flat = {
123
+ const flatESM = {
46
124
input : "src/flat.ts" ,
47
125
48
126
output : [
@@ -51,18 +129,24 @@ const flat = {
51
129
format : "esm" ,
52
130
sourcemap : false ,
53
131
} ,
54
- {
55
- file : pkg . exports [ "./flat" ] . require ,
56
- format : "cjs" ,
57
- sourcemap : false ,
58
- } ,
59
132
] ,
60
133
61
134
plugins : [
62
135
rollupPluginAutoExternal ( ) ,
63
136
rollupPluginTs ( {
64
137
transpileOnly : true ,
65
- tsconfig : "tsconfig.build.json" ,
138
+ tsconfig : {
139
+ fileName : "tsconfig.build.json" ,
140
+ hook : ( resolvedConfig ) => ( {
141
+ ...resolvedConfig ,
142
+ paths : {
143
+ ...resolvedConfig . paths ,
144
+ "#eslint-plugin-functional/conditional-imports/*" : [
145
+ "src/utils/conditional-imports/esm/*" ,
146
+ ] ,
147
+ } ,
148
+ } ) ,
149
+ } ,
66
150
} ) ,
67
151
rollupPluginDeassert ( {
68
152
include : [ "**/*.{js,ts}" ] ,
@@ -72,4 +156,4 @@ const flat = {
72
156
treeshake,
73
157
} satisfies RollupOptions ;
74
158
75
- export default [ classic , flat ] ;
159
+ export default [ classicCJS , classicESM , flatCJS , flatESM ] ;
0 commit comments