@@ -50,68 +50,37 @@ async function loadConfig(loaderContext, config, postcssOptions) {
50
50
throw new Error ( `No PostCSS config found in: ${ searchPath } ` ) ;
51
51
}
52
52
53
- let isTsNodeInstalled = false ;
54
-
55
- try {
56
- // eslint-disable-next-line import/no-extraneous-dependencies, global-require
57
- require ( "ts-node" ) ;
58
-
59
- isTsNodeInstalled = true ;
60
- } catch ( _ ) {
61
- // Nothing
62
- }
63
-
64
53
const moduleName = "postcss" ;
65
- const searchPlaces = isTsNodeInstalled
66
- ? [
67
- "package.json" ,
68
- `.${ moduleName } rc` ,
69
- `.${ moduleName } rc.json` ,
70
- `.${ moduleName } rc.yaml` ,
71
- `.${ moduleName } rc.yml` ,
72
- `.${ moduleName } rc.js` ,
73
- `.${ moduleName } rc.mjs` ,
74
- `.${ moduleName } rc.cjs` ,
75
- `.${ moduleName } rc.ts` ,
76
- `.${ moduleName } rc.mts` ,
77
- `.${ moduleName } rc.cts` ,
78
- `.config/${ moduleName } rc` ,
79
- `.config/${ moduleName } rc.json` ,
80
- `.config/${ moduleName } rc.yaml` ,
81
- `.config/${ moduleName } rc.yml` ,
82
- `.config/${ moduleName } rc.js` ,
83
- `.config/${ moduleName } rc.mjs` ,
84
- `.config/${ moduleName } rc.cjs` ,
85
- `.config/${ moduleName } rc.ts` ,
86
- `.config/${ moduleName } rc.mts` ,
87
- `.config/${ moduleName } rc.cts` ,
88
- `${ moduleName } .config.js` ,
89
- `${ moduleName } .config.mjs` ,
90
- `${ moduleName } .config.cjs` ,
91
- `${ moduleName } .config.ts` ,
92
- `${ moduleName } .config.mts` ,
93
- `${ moduleName } .config.cts` ,
94
- ]
95
- : [
96
- "package.json" ,
97
- `.${ moduleName } rc` ,
98
- `.${ moduleName } rc.json` ,
99
- `.${ moduleName } rc.yaml` ,
100
- `.${ moduleName } rc.yml` ,
101
- `.${ moduleName } rc.js` ,
102
- `.${ moduleName } rc.mjs` ,
103
- `.${ moduleName } rc.cjs` ,
104
- `.config/${ moduleName } rc` ,
105
- `.config/${ moduleName } rc.json` ,
106
- `.config/${ moduleName } rc.yaml` ,
107
- `.config/${ moduleName } rc.yml` ,
108
- `.config/${ moduleName } rc.js` ,
109
- `.config/${ moduleName } rc.mjs` ,
110
- `.config/${ moduleName } rc.cjs` ,
111
- `${ moduleName } .config.js` ,
112
- `${ moduleName } .config.mjs` ,
113
- `${ moduleName } .config.cjs` ,
114
- ] ;
54
+ const searchPlaces = [
55
+ // Prefer popular format
56
+ "package.json" ,
57
+ `${ moduleName } .config.js` ,
58
+ `${ moduleName } .config.mjs` ,
59
+ `${ moduleName } .config.cjs` ,
60
+ `${ moduleName } .config.ts` ,
61
+ `${ moduleName } .config.mts` ,
62
+ `${ moduleName } .config.cts` ,
63
+ `.${ moduleName } rc` ,
64
+ `.${ moduleName } rc.json` ,
65
+ `.${ moduleName } rc.js` ,
66
+ `.${ moduleName } rc.mjs` ,
67
+ `.${ moduleName } rc.cjs` ,
68
+ `.${ moduleName } rc.ts` ,
69
+ `.${ moduleName } rc.mts` ,
70
+ `.${ moduleName } rc.cts` ,
71
+ `.${ moduleName } rc.yaml` ,
72
+ `.${ moduleName } rc.yml` ,
73
+ `.config/${ moduleName } rc` ,
74
+ `.config/${ moduleName } rc.json` ,
75
+ `.config/${ moduleName } rc.yaml` ,
76
+ `.config/${ moduleName } rc.yml` ,
77
+ `.config/${ moduleName } rc.js` ,
78
+ `.config/${ moduleName } rc.mjs` ,
79
+ `.config/${ moduleName } rc.cjs` ,
80
+ `.config/${ moduleName } rc.ts` ,
81
+ `.config/${ moduleName } rc.mts` ,
82
+ `.config/${ moduleName } rc.cts` ,
83
+ ] ;
115
84
116
85
const loaders = {
117
86
".js" : async ( ...args ) => {
@@ -167,19 +136,18 @@ async function loadConfig(loaderContext, config, postcssOptions) {
167
136
} ,
168
137
} ;
169
138
170
- if ( isTsNodeInstalled ) {
171
- if ( ! tsLoader ) {
172
- // eslint-disable-next-line global-require
173
- const { TypeScriptLoader } = require ( "cosmiconfig-typescript-loader" ) ;
174
-
175
- tsLoader = TypeScriptLoader ( ) ;
176
- }
139
+ if ( ! tsLoader ) {
140
+ const opts = { interopDefault : true } ;
141
+ // eslint-disable-next-line global-require, import/no-extraneous-dependencies
142
+ const jiti = require ( "jiti" ) ( __filename , opts ) ;
177
143
178
- loaders [ ".cts" ] = tsLoader ;
179
- loaders [ ".mts" ] = tsLoader ;
180
- loaders [ ".ts" ] = tsLoader ;
144
+ tsLoader = ( filepath ) => jiti ( filepath ) ;
181
145
}
182
146
147
+ loaders [ ".cts" ] = tsLoader ;
148
+ loaders [ ".mts" ] = tsLoader ;
149
+ loaders [ ".ts" ] = tsLoader ;
150
+
183
151
const explorer = cosmiconfig ( moduleName , {
184
152
searchPlaces,
185
153
loaders,
0 commit comments