Skip to content

Commit 715bf60

Browse files
committed
feat: add getResolveAgainstDir option to runTransform
1 parent e508e1f commit 715bf60

File tree

4 files changed

+24
-6
lines changed

4 files changed

+24
-6
lines changed

src/node/AstxWorker.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export default class AstxWorker {
5555
source,
5656
transform,
5757
transformFile,
58+
getResolveAgainstDir,
5859
config,
5960
signal,
6061
}: RunTransformOnFileOptions): Promise<IpcTransformResult> {
@@ -92,6 +93,7 @@ export default class AstxWorker {
9293
file,
9394
transform: transformFile ? undefined : transform,
9495
transformFile,
96+
resolveAgainstDir: getResolveAgainstDir?.(),
9597
...(source && { source }),
9698
...(config && { config }),
9799
})

src/node/AstxWorkerEntry.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,21 @@ parentPort.on('message', async (message: any) => {
1717
return
1818
}
1919
case 'runTransformOnFile': {
20-
const { seq, file, source, transform, transformFile, config } =
21-
message as RunTransformOnFileOptions & {
22-
seq: number
23-
}
20+
const {
21+
seq,
22+
file,
23+
source,
24+
transform,
25+
transformFile,
26+
resolveAgainstDir,
27+
getResolveAgainstDir = resolveAgainstDir
28+
? () => resolveAgainstDir
29+
: undefined,
30+
config,
31+
} = message as RunTransformOnFileOptions & {
32+
seq: number
33+
resolveAgainstDir?: string
34+
}
2435
let result
2536
try {
2637
const abortController = new AbortController()
@@ -31,6 +42,7 @@ parentPort.on('message', async (message: any) => {
3142
source,
3243
transform,
3344
transformFile,
45+
getResolveAgainstDir,
3446
config,
3547
signal,
3648
forWorker: true,

src/node/runTransform.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export type RunTransformOptions = {
2222
gitignore?: Gitignore | null
2323
transform?: Transform
2424
transformFile?: string
25+
getResolveAgainstDir?: () => string
2526
paths?: readonly string[]
2627
exclude?: string
2728
cwd?: string
@@ -34,6 +35,7 @@ export default async function* runTransform({
3435
gitignore,
3536
transform: _transform,
3637
transformFile,
38+
getResolveAgainstDir,
3739
paths: _paths,
3840
exclude,
3941
fs,
@@ -84,6 +86,7 @@ export default async function* runTransform({
8486
transformed = await runTransformOnFile({
8587
file,
8688
transform,
89+
getResolveAgainstDir,
8790
config,
8891
signal,
8992
fs,

src/node/runTransformOnFile.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export type RunTransformOnFileOptions = {
4949
source?: string
5050
transform?: Transform
5151
transformFile?: string
52+
getResolveAgainstDir?: () => string
5253
config?: Partial<AstxConfig>
5354
signal?: AbortSignal
5455
forWorker?: boolean
@@ -58,6 +59,8 @@ export type RunTransformOnFileOptions = {
5859
export default async function runTransformOnFile({
5960
transform: _transform,
6061
transformFile,
62+
getResolveAgainstDir = () =>
63+
transformFile ? Path.dirname(transformFile) : process.cwd(),
6164
config: configOverrides,
6265
file,
6366
source,
@@ -67,8 +70,6 @@ export default async function runTransformOnFile({
6770
}: RunTransformOnFileOptions): Promise<TransformResult> {
6871
// might try using callsites for this in the future in case a transform
6972
// script is broken up into multiple files
70-
const getResolveAgainstDir = () =>
71-
transformFile ? Path.dirname(transformFile) : process.cwd()
7273

7374
const transform: Transform = transformFile
7475
? await importTransformFile(transformFile)

0 commit comments

Comments
 (0)