1
1
// @ts -check
2
2
import * as fs from 'fs/promises'
3
- import { createRequire } from 'module'
4
3
import * as path from 'path'
5
4
import { pathToFileURL } from 'url'
6
5
import clearModule from 'clear-module'
@@ -21,8 +20,6 @@ import { expiringMap } from './expiring-map.js'
21
20
import { resolveFrom , resolveIn } from './resolve'
22
21
import type { ContextContainer } from './types'
23
22
24
- let localRequire = createRequire ( import . meta. url )
25
-
26
23
let sourceToPathMap = new Map < string , string | null > ( )
27
24
let sourceToEntryMap = new Map < string , string | null > ( )
28
25
let pathToContextMap = expiringMap < string | null , ContextContainer > ( 10_000 )
@@ -162,12 +159,11 @@ function createLoader<T>({
162
159
filepath : string
163
160
onError : ( id : string , error : unknown ) => T
164
161
} ) {
165
- let baseDir = path . dirname ( filepath )
166
162
let cacheKey = `${ + Date . now ( ) } `
167
163
168
- return async function loadFile ( id : string ) {
164
+ async function loadFile ( id : string , base : string ) {
169
165
try {
170
- let resolved = resolveFrom ( baseDir , id )
166
+ let resolved = resolveFrom ( base , id )
171
167
let url = pathToFileURL ( resolved )
172
168
url . searchParams . append ( 't' , cacheKey )
173
169
@@ -176,6 +172,9 @@ function createLoader<T>({
176
172
return onError ( id , err )
177
173
}
178
174
}
175
+
176
+ let baseDir = path . dirname ( filepath )
177
+ return ( id : string ) => loadFile ( id , baseDir )
179
178
}
180
179
181
180
async function loadV4 (
@@ -199,10 +198,11 @@ async function loadV4(
199
198
let css = await fs . readFile ( entryPoint , 'utf-8' )
200
199
let resolveImports = postcss ( [ postcssImport ( ) ] )
201
200
let result = await resolveImports . process ( css , { from : entryPoint } )
201
+ css = result . css
202
202
203
203
// Load the design system and set up a compatible context object that is
204
204
// usable by the rest of the plugin
205
- let design = await tw . __unstable__loadDesignSystem ( result . css , {
205
+ let design = await tw . __unstable__loadDesignSystem ( css , {
206
206
loadPlugin : createLoader ( {
207
207
filepath : entryPoint ,
208
208
onError ( id , err ) {
0 commit comments