@@ -22,16 +22,12 @@ const parts = (isProduction, env) => {
22
22
] ;
23
23
24
24
/**
25
- * Loads CSS files.
25
+ * Load `.css` files.
26
26
*
27
27
* `MiniCssExtractPlugin.loader` for `production` builds
28
28
*
29
29
* `style-loader` for `development` builds
30
30
*
31
- * `css-loader`
32
- *
33
- * `postcss-loader`
34
- *
35
31
* @param {array } include
36
32
* @param {array } exclude
37
33
*/
@@ -49,18 +45,12 @@ const parts = (isProduction, env) => {
49
45
} ) ;
50
46
51
47
/**
52
- * Loads Sass files.
48
+ * Load `.scss` files.
53
49
*
54
50
* `MiniCssExtractPlugin.loader` for `production` builds
55
51
*
56
52
* `style-loader` for `development` builds
57
53
*
58
- * `css-loader`
59
- *
60
- * `postcss-loader`
61
- *
62
- * `sass-loader`
63
- *
64
54
* @param {array } include
65
55
* @param {array } exclude
66
56
*/
@@ -118,35 +108,12 @@ const parts = (isProduction, env) => {
118
108
} ) ;
119
109
120
110
/**
121
- * Load `.js` files.
111
+ * Load `.js` / `.ts` files.
122
112
*
123
- * @param {string } target
124
- *
125
- * set to `es2015` by default
126
- *
127
- * @param {array } include
128
- * @param {array } exclude
129
- */
130
- module . exports . loadJS = ( { target = 'es2015' , include, exclude } ) => ( {
131
- module : {
132
- rules : [
133
- {
134
- test : / \. j s $ / ,
135
- include,
136
- exclude,
137
- // eslint-disable-next-line sonarjs/no-duplicate-string
138
- loader : 'esbuild-loader' ,
139
- options : {
140
- // eslint-disable-next-line object-shorthand
141
- target : target ,
142
- } ,
143
- } ,
144
- ] ,
145
- } ,
146
- } ) ;
147
-
148
- /**
149
- * Load `.jsx` files.
113
+ * `js`
114
+ * `ts`
115
+ * `jsx`
116
+ * `tsx`
150
117
*
151
118
* @param {string } target
152
119
*
@@ -155,72 +122,15 @@ const parts = (isProduction, env) => {
155
122
* @param {array } include
156
123
* @param {array } exclude
157
124
*/
158
- module . exports . loadJSX = ( { target = 'es2015' , include, exclude } ) => ( {
159
- module : {
160
- rules : [
161
- {
162
- test : / \. j s x $ / ,
163
- include,
164
- exclude,
165
- loader : 'esbuild-loader' ,
166
- options : {
167
- loader : 'jsx' ,
168
- // eslint-disable-next-line object-shorthand
169
- target : target ,
170
- } ,
171
- } ,
172
- ] ,
173
- } ,
174
- } ) ;
175
-
176
- /**
177
- * Load `.ts` files with type checking on `development` builds.
178
- *
179
- * @param {string } target
180
- *
181
- * set to `es2015` by default
182
- *
183
- * @param {array } include
184
- * @param {array } exclude
185
- */
186
- module . exports . loadTS = ( { target = 'es2015' , include, exclude } ) => ( {
187
- module : {
188
- rules : [
189
- {
190
- test : / \. t s $ / ,
191
- include,
192
- exclude,
193
- loader : 'esbuild-loader' ,
194
- options : {
195
- loader : 'ts' ,
196
- // eslint-disable-next-line object-shorthand
197
- target : target ,
198
- } ,
199
- } ,
200
- ] ,
201
- } ,
202
- } ) ;
203
-
204
- /**
205
- * Load `.tsx` files with type checking on `development` builds.
206
- *
207
- * @param {string } target
208
- *
209
- * set to `es2015` by default
210
- *
211
- * @param {array } include
212
- * @param {array } exclude
213
- */
214
- module . exports . loadTSX = ( { target = 'es2015' , include, exclude } ) => ( {
125
+ module . exports . loadJS = ( { target = 'es2015' , include, exclude } ) => ( {
215
126
module : {
216
127
rules : [
217
128
{
218
- test : / \. t s x $ / ,
129
+ test : / \. [ j t ] s x ? $ / ,
219
130
include,
220
131
exclude,
221
132
loader : 'esbuild-loader' ,
222
133
options : {
223
- loader : 'tsx' ,
224
134
// eslint-disable-next-line object-shorthand
225
135
target : target ,
226
136
} ,
@@ -233,6 +143,7 @@ const parts = (isProduction, env) => {
233
143
* Enable TypeScript checking for development builds.
234
144
*/
235
145
module . exports . enableTypeChecking = ( ) => ( {
146
+ // eslint-disable-next-line unicorn/no-negated-condition
236
147
plugins : [ ! isProduction ? new ForkTsCheckerWebpackPlugin ( ) : false ] . filter (
237
148
Boolean
238
149
) ,
0 commit comments