@@ -50,68 +50,37 @@ async function loadConfig(loaderContext, config, postcssOptions) {
5050 throw new Error ( `No PostCSS config found in: ${ searchPath } ` ) ;
5151 }
5252
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-
6453 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+ ] ;
11584
11685 const loaders = {
11786 ".js" : async ( ...args ) => {
@@ -167,19 +136,18 @@ async function loadConfig(loaderContext, config, postcssOptions) {
167136 } ,
168137 } ;
169138
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 ) ;
177143
178- loaders [ ".cts" ] = tsLoader ;
179- loaders [ ".mts" ] = tsLoader ;
180- loaders [ ".ts" ] = tsLoader ;
144+ tsLoader = ( filepath ) => jiti ( filepath ) ;
181145 }
182146
147+ loaders [ ".cts" ] = tsLoader ;
148+ loaders [ ".mts" ] = tsLoader ;
149+ loaders [ ".ts" ] = tsLoader ;
150+
183151 const explorer = cosmiconfig ( moduleName , {
184152 searchPlaces,
185153 loaders,
0 commit comments