ttsc 0.7.2 → 0.8.0-dev.20260505

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +5 -5
  2. package/cmd/platform/main.go +86 -76
  3. package/cmd/ttsc/api_compile.go +122 -105
  4. package/cmd/ttsc/api_transform.go +57 -49
  5. package/cmd/ttsc/build.go +116 -103
  6. package/cmd/ttsc/main.go +117 -117
  7. package/cmd/ttsc/main_test.go +191 -191
  8. package/driver/host.go +9 -9
  9. package/driver/program.go +285 -285
  10. package/driver/rewrite.go +266 -219
  11. package/lib/compiler/internal/compileProjectInMemory.js +3 -3
  12. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  13. package/lib/compiler/internal/resolveEmittedJavaScript.js +2 -1
  14. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
  15. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  16. package/lib/compiler/internal/runBuild.js +47 -49
  17. package/lib/compiler/internal/runBuild.js.map +1 -1
  18. package/lib/compiler/internal/transformProjectInMemory.js +44 -4
  19. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  20. package/lib/launcher/internal/getCompilerVersionText.js +1 -2
  21. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  22. package/lib/launcher/internal/prepareExecution.js +6 -4
  23. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  24. package/lib/launcher/internal/runTtsc.js +49 -5
  25. package/lib/launcher/internal/runTtsc.js.map +1 -1
  26. package/lib/launcher/internal/runTtsx.js +7 -2
  27. package/lib/launcher/internal/runTtsx.js.map +1 -1
  28. package/lib/plugin/internal/buildSourcePlugin.js +6 -0
  29. package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
  30. package/lib/plugin/internal/loadProjectPlugins.js +55 -2
  31. package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
  32. package/lib/structures/ITtscPlugin.d.ts +19 -3
  33. package/lib/structures/ITtscPlugin.js +4 -0
  34. package/lib/structures/ITtscPlugin.js.map +1 -1
  35. package/lib/structures/TtscPluginStage.d.ts +4 -10
  36. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +5 -0
  37. package/package.json +11 -10
  38. package/shim/ast/lint.go +172 -171
  39. package/shim/ast/shim.go +84 -83
  40. package/shim/bundled/shim.go +5 -1
  41. package/shim/checker/shim.go +79 -79
  42. package/shim/compiler/emit_hooks.go +494 -0
  43. package/shim/compiler/shim.go +16 -1
  44. package/shim/core/shim.go +13 -10
  45. package/shim/diagnosticwriter/lint.go +79 -79
  46. package/shim/diagnosticwriter/shim.go +19 -19
  47. package/shim/parser/shim.go +7 -1
  48. package/shim/scanner/shim.go +39 -1
  49. package/shim/tsoptions/shim.go +51 -1
  50. package/shim/tspath/shim.go +72 -1
  51. package/shim/vfs/cachedvfs/shim.go +1 -1
  52. package/shim/vfs/osvfs/shim.go +1 -1
  53. package/shim/vfs/shim.go +4 -1
  54. package/src/compiler/internal/compileProjectInMemory.ts +6 -3
  55. package/src/compiler/internal/resolveEmittedJavaScript.ts +2 -1
  56. package/src/compiler/internal/resolveTsgo.ts +0 -1
  57. package/src/compiler/internal/runBuild.ts +58 -86
  58. package/src/compiler/internal/transformProjectInMemory.ts +51 -6
  59. package/src/launcher/internal/getCompilerVersionText.ts +1 -2
  60. package/src/launcher/internal/prepareExecution.ts +6 -6
  61. package/src/launcher/internal/runTtsc.ts +52 -5
  62. package/src/launcher/internal/runTtsx.ts +16 -5
  63. package/src/plugin/internal/buildSourcePlugin.ts +30 -2
  64. package/src/plugin/internal/loadProjectPlugins.ts +81 -2
  65. package/src/structures/ITtscPlugin.ts +30 -3
  66. package/src/structures/TtscPluginStage.ts +4 -10
  67. package/src/structures/internal/ITtscLoadedNativePlugin.ts +5 -0
  68. package/test/compiler.test.ts +3 -3
  69. package/test/platform.test.ts +1 -3
  70. package/test/tsgo.test.ts +15 -7
  71. package/tools/gen_shims/main.go +409 -409
  72. package/utility/host.go +707 -0
@@ -1,9 +1,9 @@
1
1
  package checker
2
2
 
3
3
  import (
4
- innerast "github.com/microsoft/typescript-go/internal/ast"
5
- innerchecker "github.com/microsoft/typescript-go/internal/checker"
6
- _ "unsafe"
4
+ innerast "github.com/microsoft/typescript-go/internal/ast"
5
+ innerchecker "github.com/microsoft/typescript-go/internal/checker"
6
+ _ "unsafe"
7
7
  )
8
8
 
9
9
  type Checker = innerchecker.Checker
@@ -16,151 +16,151 @@ type ObjectFlags = innerchecker.ObjectFlags
16
16
  type ElementFlags = innerchecker.ElementFlags
17
17
 
18
18
  const (
19
- SignatureKindCall = innerchecker.SignatureKindCall
20
-
21
- TypeFlagsAny = innerchecker.TypeFlagsAny
22
- TypeFlagsUnknown = innerchecker.TypeFlagsUnknown
23
- TypeFlagsUndefined = innerchecker.TypeFlagsUndefined
24
- TypeFlagsNull = innerchecker.TypeFlagsNull
25
- TypeFlagsVoid = innerchecker.TypeFlagsVoid
26
- TypeFlagsNever = innerchecker.TypeFlagsNever
27
- TypeFlagsObject = innerchecker.TypeFlagsObject
28
- TypeFlagsTemplateLiteral = innerchecker.TypeFlagsTemplateLiteral
29
- TypeFlagsStringMapping = innerchecker.TypeFlagsStringMapping
30
- TypeFlagsUnion = innerchecker.TypeFlagsUnion
31
- TypeFlagsIntersection = innerchecker.TypeFlagsIntersection
32
- TypeFlagsLiteral = innerchecker.TypeFlagsLiteral
33
- TypeFlagsStringLiteral = innerchecker.TypeFlagsStringLiteral
34
- TypeFlagsNumberLiteral = innerchecker.TypeFlagsNumberLiteral
35
- TypeFlagsBigIntLiteral = innerchecker.TypeFlagsBigIntLiteral
36
- TypeFlagsBooleanLiteral = innerchecker.TypeFlagsBooleanLiteral
37
- TypeFlagsStringLike = innerchecker.TypeFlagsStringLike
38
- TypeFlagsNumberLike = innerchecker.TypeFlagsNumberLike
39
- TypeFlagsBigIntLike = innerchecker.TypeFlagsBigIntLike
40
- TypeFlagsBooleanLike = innerchecker.TypeFlagsBooleanLike
41
-
42
- ObjectFlagsReference = innerchecker.ObjectFlagsReference
43
- ObjectFlagsClass = innerchecker.ObjectFlagsClass
44
- ObjectFlagsInterface = innerchecker.ObjectFlagsInterface
45
- ObjectFlagsClassOrInterface = innerchecker.ObjectFlagsClassOrInterface
46
-
47
- ElementFlagsNone = innerchecker.ElementFlagsNone
48
- ElementFlagsRequired = innerchecker.ElementFlagsRequired
49
- ElementFlagsOptional = innerchecker.ElementFlagsOptional
50
- ElementFlagsRest = innerchecker.ElementFlagsRest
51
- ElementFlagsVariadic = innerchecker.ElementFlagsVariadic
19
+ SignatureKindCall = innerchecker.SignatureKindCall
20
+
21
+ TypeFlagsAny = innerchecker.TypeFlagsAny
22
+ TypeFlagsUnknown = innerchecker.TypeFlagsUnknown
23
+ TypeFlagsUndefined = innerchecker.TypeFlagsUndefined
24
+ TypeFlagsNull = innerchecker.TypeFlagsNull
25
+ TypeFlagsVoid = innerchecker.TypeFlagsVoid
26
+ TypeFlagsNever = innerchecker.TypeFlagsNever
27
+ TypeFlagsObject = innerchecker.TypeFlagsObject
28
+ TypeFlagsTemplateLiteral = innerchecker.TypeFlagsTemplateLiteral
29
+ TypeFlagsStringMapping = innerchecker.TypeFlagsStringMapping
30
+ TypeFlagsUnion = innerchecker.TypeFlagsUnion
31
+ TypeFlagsIntersection = innerchecker.TypeFlagsIntersection
32
+ TypeFlagsLiteral = innerchecker.TypeFlagsLiteral
33
+ TypeFlagsStringLiteral = innerchecker.TypeFlagsStringLiteral
34
+ TypeFlagsNumberLiteral = innerchecker.TypeFlagsNumberLiteral
35
+ TypeFlagsBigIntLiteral = innerchecker.TypeFlagsBigIntLiteral
36
+ TypeFlagsBooleanLiteral = innerchecker.TypeFlagsBooleanLiteral
37
+ TypeFlagsStringLike = innerchecker.TypeFlagsStringLike
38
+ TypeFlagsNumberLike = innerchecker.TypeFlagsNumberLike
39
+ TypeFlagsBigIntLike = innerchecker.TypeFlagsBigIntLike
40
+ TypeFlagsBooleanLike = innerchecker.TypeFlagsBooleanLike
41
+
42
+ ObjectFlagsReference = innerchecker.ObjectFlagsReference
43
+ ObjectFlagsClass = innerchecker.ObjectFlagsClass
44
+ ObjectFlagsInterface = innerchecker.ObjectFlagsInterface
45
+ ObjectFlagsClassOrInterface = innerchecker.ObjectFlagsClassOrInterface
46
+
47
+ ElementFlagsNone = innerchecker.ElementFlagsNone
48
+ ElementFlagsRequired = innerchecker.ElementFlagsRequired
49
+ ElementFlagsOptional = innerchecker.ElementFlagsOptional
50
+ ElementFlagsRest = innerchecker.ElementFlagsRest
51
+ ElementFlagsVariadic = innerchecker.ElementFlagsVariadic
52
52
  )
53
53
 
54
54
  func IsTupleType(t *innerchecker.Type) bool {
55
- return innerchecker.IsTupleType(t)
55
+ return innerchecker.IsTupleType(t)
56
56
  }
57
57
 
58
58
  func Checker_getIndexInfosOfType(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.IndexInfo {
59
- return recv.GetIndexInfosOfType(t)
59
+ return recv.GetIndexInfosOfType(t)
60
60
  }
61
61
 
62
62
  func Checker_getPropertiesOfType(recv *innerchecker.Checker, t *innerchecker.Type) []*innerast.Symbol {
63
- return recv.GetPropertiesOfType(t)
63
+ return recv.GetPropertiesOfType(t)
64
64
  }
65
65
 
66
66
  func Checker_getApparentProperties(recv *innerchecker.Checker, t *innerchecker.Type) []*innerast.Symbol {
67
- return recv.GetApparentProperties(t)
67
+ return recv.GetApparentProperties(t)
68
68
  }
69
69
 
70
70
  func Checker_getTypeArguments(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.Type {
71
- return recv.GetTypeArguments(t)
71
+ return recv.GetTypeArguments(t)
72
72
  }
73
73
 
74
74
  func Checker_getTypeOfSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerchecker.Type {
75
- return recv.GetTypeOfSymbol(symbol)
75
+ return recv.GetTypeOfSymbol(symbol)
76
76
  }
77
77
 
78
78
  func Checker_getTypeOfSymbolAtLocation(recv *innerchecker.Checker, symbol *innerast.Symbol, node *innerast.Node) *innerchecker.Type {
79
- return recv.GetTypeOfSymbolAtLocation(symbol, node)
79
+ return recv.GetTypeOfSymbolAtLocation(symbol, node)
80
80
  }
81
81
 
82
82
  func Checker_getTypeOfPropertyOfType(recv *innerchecker.Checker, t *innerchecker.Type, name string) *innerchecker.Type {
83
- return recv.GetTypeOfPropertyOfType(t, name)
83
+ return recv.GetTypeOfPropertyOfType(t, name)
84
84
  }
85
85
 
86
86
  //go:linkname checkerGetAliasSymbolForTypeNode github.com/microsoft/typescript-go/internal/checker.(*Checker).getAliasSymbolForTypeNode
87
87
  func checkerGetAliasSymbolForTypeNode(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol
88
88
 
89
89
  func Checker_getAliasSymbolForTypeNode(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol {
90
- return checkerGetAliasSymbolForTypeNode(recv, node)
90
+ return checkerGetAliasSymbolForTypeNode(recv, node)
91
91
  }
92
92
 
93
93
  //go:linkname checkerGetDeclarationOfAliasSymbol github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclarationOfAliasSymbol
94
94
  func checkerGetDeclarationOfAliasSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Node
95
95
 
96
96
  func Checker_getDeclarationOfAliasSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Node {
97
- return checkerGetDeclarationOfAliasSymbol(recv, symbol)
97
+ return checkerGetDeclarationOfAliasSymbol(recv, symbol)
98
98
  }
99
99
 
100
100
  //go:linkname checkerGetTargetOfImportSpecifier github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfImportSpecifier
101
101
  func checkerGetTargetOfImportSpecifier(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol
102
102
 
103
103
  func Checker_getTargetOfImportSpecifier(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol {
104
- if recv == nil || node == nil {
105
- return nil
106
- }
107
- return checkerGetTargetOfImportSpecifier(recv, node)
104
+ if recv == nil || node == nil {
105
+ return nil
106
+ }
107
+ return checkerGetTargetOfImportSpecifier(recv, node)
108
108
  }
109
109
 
110
110
  func Checker_getAliasedSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Symbol {
111
- if recv == nil || symbol == nil {
112
- return nil
113
- }
114
- return recv.GetAliasedSymbol(symbol)
111
+ if recv == nil || symbol == nil {
112
+ return nil
113
+ }
114
+ return recv.GetAliasedSymbol(symbol)
115
115
  }
116
116
 
117
117
  //go:linkname checkerResolveEntityName github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveEntityName
118
118
  func checkerResolveEntityName(
119
- recv *innerchecker.Checker,
120
- name *innerast.Node,
121
- meaning innerast.SymbolFlags,
122
- ignoreErrors bool,
123
- dontResolveAlias bool,
124
- location *innerast.Node,
119
+ recv *innerchecker.Checker,
120
+ name *innerast.Node,
121
+ meaning innerast.SymbolFlags,
122
+ ignoreErrors bool,
123
+ dontResolveAlias bool,
124
+ location *innerast.Node,
125
125
  ) *innerast.Symbol
126
126
 
127
127
  func Checker_resolveEntityName(
128
- recv *innerchecker.Checker,
129
- name *innerast.Node,
130
- meaning innerast.SymbolFlags,
131
- ignoreErrors bool,
132
- dontResolveAlias bool,
133
- location *innerast.Node,
128
+ recv *innerchecker.Checker,
129
+ name *innerast.Node,
130
+ meaning innerast.SymbolFlags,
131
+ ignoreErrors bool,
132
+ dontResolveAlias bool,
133
+ location *innerast.Node,
134
134
  ) *innerast.Symbol {
135
- if recv == nil || name == nil {
136
- return nil
137
- }
138
- return checkerResolveEntityName(recv, name, meaning, ignoreErrors, dontResolveAlias, location)
135
+ if recv == nil || name == nil {
136
+ return nil
137
+ }
138
+ return checkerResolveEntityName(recv, name, meaning, ignoreErrors, dontResolveAlias, location)
139
139
  }
140
140
 
141
141
  //go:linkname checkerGetTypeNameSymbol github.com/microsoft/typescript-go/internal/checker.getTypeNameSymbol
142
142
  func checkerGetTypeNameSymbol(t *innerchecker.Type) *innerast.Symbol
143
143
 
144
144
  func Type_getTypeNameSymbol(t *innerchecker.Type) *innerast.Symbol {
145
- if t == nil {
146
- return nil
147
- }
148
- return checkerGetTypeNameSymbol(t)
145
+ if t == nil {
146
+ return nil
147
+ }
148
+ return checkerGetTypeNameSymbol(t)
149
149
  }
150
150
 
151
151
  //go:linkname checkerIsArrayType github.com/microsoft/typescript-go/internal/checker.(*Checker).isArrayType
152
152
  func checkerIsArrayType(recv *innerchecker.Checker, t *innerchecker.Type) bool
153
153
 
154
154
  func Checker_isArrayType(recv *innerchecker.Checker, t *innerchecker.Type) bool {
155
- return checkerIsArrayType(recv, t)
155
+ return checkerIsArrayType(recv, t)
156
156
  }
157
157
 
158
158
  //go:linkname checkerGetBaseTypes github.com/microsoft/typescript-go/internal/checker.(*Checker).getBaseTypes
159
159
  func checkerGetBaseTypes(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.Type
160
160
 
161
161
  func Checker_getBaseTypes(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.Type {
162
- if recv == nil || t == nil {
163
- return nil
164
- }
165
- return checkerGetBaseTypes(recv, t)
162
+ if recv == nil || t == nil {
163
+ return nil
164
+ }
165
+ return checkerGetBaseTypes(recv, t)
166
166
  }