Skip to content

Commit 3fcafac

Browse files
author
X
authored
Merge pull request #16 from alephjs/react-refresh-typescript
feat: add stable react-refresh transform
2 parents 928e1f1 + c08052d commit 3fcafac

File tree

5 files changed

+31
-467
lines changed

5 files changed

+31
-467
lines changed

tsc/compile.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import ts from 'https://esm.sh/typescript'
1+
import reactRefreshTS from 'https://esm.sh/[email protected]'
2+
import ts from 'https://esm.sh/[email protected]'
23
import transformImportPathRewrite from './transform-import-path-rewrite.ts'
34
import transformReactJsx from './transform-react-jsx.ts'
4-
import transformReactRefresh from './transform-react-refresh.ts'
55
import transformReactUseDenoHook from './transform-react-use-deno-hook.ts'
66

77
export interface CompileOptions {
@@ -25,11 +25,9 @@ const allowTargets = [
2525
export function compile(fileName: string, source: string, { mode, target: targetName, rewriteImportPath, reactRefresh, signUseDeno }: CompileOptions) {
2626
const target = allowTargets.indexOf(targetName.toLowerCase())
2727
const transformers: ts.CustomTransformers = { before: [], after: [] }
28+
if (reactRefresh) transformers.before!.push(reactRefreshTS())
29+
transformers.before!.push(createPlainTransformer(transformReactUseDenoHook, { index: 0, signUseDeno }))
2830
transformers.before!.push(createPlainTransformer(transformReactJsx, { mode, rewriteImportPath }))
29-
transformers.before!.push(createTransformer(transformReactUseDenoHook, signUseDeno))
30-
if (reactRefresh) {
31-
transformers.before!.push(createTransformer(transformReactRefresh))
32-
}
3331
transformers.after!.push(createPlainTransformer(transformImportPathRewrite, rewriteImportPath))
3432

3533
return ts.transpileModule(source, {

tsc/transform-import-path-rewrite.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import ts from 'https://esm.sh/typescript'
1+
import ts from 'https://esm.sh/typescript@4.0.5'
22

33
/**
44
* TS AST transformer to rewrite import path.

tsc/transform-react-jsx.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import ts from 'https://esm.sh/typescript'
1+
import ts from 'https://esm.sh/typescript@4.0.5'
22
import { path } from '../std.ts'
33

44
export default function transformReactJsx(sf: ts.SourceFile, node: ts.Node, options: { mode: 'development' | 'production', rewriteImportPath: (importPath: string) => string }): ts.VisitResult<ts.Node> {

tsc/transform-react-refresh.ts

Lines changed: 0 additions & 358 deletions
This file was deleted.

0 commit comments

Comments
 (0)