brighterscript 0.66.0-alpha.6 → 0.66.0-alpha.7

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 (244) hide show
  1. package/CHANGELOG.md +52 -10
  2. package/README.md +16 -0
  3. package/bsconfig.schema.json +15 -0
  4. package/dist/ActionPipeline.d.ts +10 -0
  5. package/dist/ActionPipeline.js +40 -0
  6. package/dist/ActionPipeline.js.map +1 -0
  7. package/dist/BsConfig.d.ts +15 -1
  8. package/dist/CommentFlagProcessor.d.ts +4 -3
  9. package/dist/CommentFlagProcessor.js.map +1 -1
  10. package/dist/DiagnosticMessages.d.ts +2 -0
  11. package/dist/DiagnosticMessages.js +25 -13
  12. package/dist/DiagnosticMessages.js.map +1 -1
  13. package/dist/LanguageServer.js.map +1 -1
  14. package/dist/PluginInterface.d.ts +11 -2
  15. package/dist/PluginInterface.js +69 -10
  16. package/dist/PluginInterface.js.map +1 -1
  17. package/dist/Program.d.ts +84 -37
  18. package/dist/Program.js +390 -267
  19. package/dist/Program.js.map +1 -1
  20. package/dist/ProgramBuilder.d.ts +10 -4
  21. package/dist/ProgramBuilder.js +44 -54
  22. package/dist/ProgramBuilder.js.map +1 -1
  23. package/dist/Scope.d.ts +13 -13
  24. package/dist/Scope.js +28 -26
  25. package/dist/Scope.js.map +1 -1
  26. package/dist/XmlScope.d.ts +5 -4
  27. package/dist/XmlScope.js +11 -10
  28. package/dist/XmlScope.js.map +1 -1
  29. package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +6 -1
  30. package/dist/astUtils/{AstEditor.js → Editor.js} +9 -3
  31. package/dist/astUtils/Editor.js.map +1 -0
  32. package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +10 -6
  33. package/dist/astUtils/Editor.spec.js.map +1 -0
  34. package/dist/astUtils/reflection.d.ts +9 -4
  35. package/dist/astUtils/reflection.js +23 -7
  36. package/dist/astUtils/reflection.js.map +1 -1
  37. package/dist/astUtils/reflection.spec.js +2 -2
  38. package/dist/astUtils/reflection.spec.js.map +1 -1
  39. package/dist/astUtils/visitors.d.ts +3 -3
  40. package/dist/astUtils/visitors.spec.js +7 -7
  41. package/dist/astUtils/visitors.spec.js.map +1 -1
  42. package/dist/bscPlugin/BscPlugin.d.ts +10 -2
  43. package/dist/bscPlugin/BscPlugin.js +24 -4
  44. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  45. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  46. package/dist/bscPlugin/FileWriter.js +24 -0
  47. package/dist/bscPlugin/FileWriter.js.map +1 -0
  48. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +8 -8
  49. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  50. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  51. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +5 -0
  52. package/dist/bscPlugin/completions/CompletionsProcessor.js +38 -15
  53. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  54. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +65 -3
  55. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
  56. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  57. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  58. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  59. package/dist/bscPlugin/hover/HoverProcessor.d.ts +1 -7
  60. package/dist/bscPlugin/hover/HoverProcessor.js +1 -7
  61. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  62. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
  63. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +43 -0
  64. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  65. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +22 -0
  66. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  67. package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
  68. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  69. package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
  70. package/dist/bscPlugin/serialize/BslibManager.js +40 -0
  71. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  72. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  73. package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
  74. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  75. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.d.ts → BrsFileTranspileProcessor.d.ts} +4 -2
  76. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.js → BrsFileTranspileProcessor.js} +25 -4
  77. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  78. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  79. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
  80. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  81. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +2 -2
  82. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -1
  83. package/dist/bscPlugin/validation/ScopeValidator.js +24 -15
  84. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  85. package/dist/bscPlugin/validation/ScopeValidator.spec.js +326 -0
  86. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  87. package/dist/bscPlugin/validation/XmlFileValidator.js +2 -2
  88. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  89. package/dist/cli.js +1 -0
  90. package/dist/cli.js.map +1 -1
  91. package/dist/deferred.d.ts +2 -2
  92. package/dist/deferred.js.map +1 -1
  93. package/dist/diagnosticUtils.d.ts +1 -0
  94. package/dist/diagnosticUtils.js +4 -3
  95. package/dist/diagnosticUtils.js.map +1 -1
  96. package/dist/examples/plugins/removePrint.js +1 -1
  97. package/dist/examples/plugins/removePrint.js.map +1 -1
  98. package/dist/files/AssetFile.d.ts +26 -0
  99. package/dist/files/AssetFile.js +26 -0
  100. package/dist/files/AssetFile.js.map +1 -0
  101. package/dist/files/BrsFile.Class.spec.js +40 -40
  102. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  103. package/dist/files/BrsFile.d.ts +42 -15
  104. package/dist/files/BrsFile.js +120 -78
  105. package/dist/files/BrsFile.js.map +1 -1
  106. package/dist/files/BrsFile.spec.js +266 -167
  107. package/dist/files/BrsFile.spec.js.map +1 -1
  108. package/dist/files/Factory.d.ts +25 -0
  109. package/dist/files/Factory.js +22 -0
  110. package/dist/files/Factory.js.map +1 -0
  111. package/dist/files/File.d.ts +106 -0
  112. package/dist/files/File.js +16 -0
  113. package/dist/files/File.js.map +1 -0
  114. package/dist/files/LazyFileData.d.ts +20 -0
  115. package/dist/files/LazyFileData.js +54 -0
  116. package/dist/files/LazyFileData.js.map +1 -0
  117. package/dist/files/LazyFileData.spec.d.ts +1 -0
  118. package/dist/files/LazyFileData.spec.js +27 -0
  119. package/dist/files/LazyFileData.spec.js.map +1 -0
  120. package/dist/files/XmlFile.d.ts +55 -17
  121. package/dist/files/XmlFile.js +88 -47
  122. package/dist/files/XmlFile.js.map +1 -1
  123. package/dist/files/XmlFile.spec.js +64 -57
  124. package/dist/files/XmlFile.spec.js.map +1 -1
  125. package/dist/files/tests/imports.spec.js +21 -8
  126. package/dist/files/tests/imports.spec.js.map +1 -1
  127. package/dist/files/tests/optionalChaning.spec.js +14 -14
  128. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  129. package/dist/globalCallables.js +1 -1
  130. package/dist/globalCallables.js.map +1 -1
  131. package/dist/index.d.ts +4 -1
  132. package/dist/index.js +4 -1
  133. package/dist/index.js.map +1 -1
  134. package/dist/interfaces.d.ts +312 -84
  135. package/dist/interfaces.js.map +1 -1
  136. package/dist/lexer/Lexer.js +1 -1
  137. package/dist/lexer/TokenKind.js +0 -1
  138. package/dist/lexer/TokenKind.js.map +1 -1
  139. package/dist/parser/AstNode.d.ts +2 -2
  140. package/dist/parser/AstNode.js +1 -1
  141. package/dist/parser/AstNode.js.map +1 -1
  142. package/dist/parser/BrsTranspileState.d.ts +3 -2
  143. package/dist/parser/BrsTranspileState.js +3 -2
  144. package/dist/parser/BrsTranspileState.js.map +1 -1
  145. package/dist/parser/Expression.d.ts +1 -1
  146. package/dist/parser/Expression.js +3 -9
  147. package/dist/parser/Expression.js.map +1 -1
  148. package/dist/parser/Parser.js +3 -0
  149. package/dist/parser/Parser.js.map +1 -1
  150. package/dist/parser/Parser.spec.js +15 -1
  151. package/dist/parser/Parser.spec.js.map +1 -1
  152. package/dist/parser/SGParser.d.ts +2 -2
  153. package/dist/parser/SGParser.js +3 -3
  154. package/dist/parser/SGParser.js.map +1 -1
  155. package/dist/parser/SGParser.spec.js +2 -2
  156. package/dist/parser/SGParser.spec.js.map +1 -1
  157. package/dist/parser/SGTypes.d.ts +1 -1
  158. package/dist/parser/Statement.d.ts +3 -2
  159. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +10 -10
  160. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  161. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  162. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  163. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  164. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  165. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +64 -36
  166. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  167. package/dist/parser/tests/expression/TernaryExpression.spec.js +34 -34
  168. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  169. package/dist/parser/tests/statement/ConstStatement.spec.js +16 -16
  170. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  171. package/dist/parser/tests/statement/Continue.spec.js +2 -2
  172. package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
  173. package/dist/parser/tests/statement/Enum.spec.js +26 -26
  174. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  175. package/dist/parser/tests/statement/For.spec.js +6 -6
  176. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  177. package/dist/parser/tests/statement/ForEach.spec.js +4 -4
  178. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  179. package/dist/parser/tests/statement/InterfaceStatement.spec.js +12 -12
  180. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  181. package/dist/parser/tests/statement/PrintStatement.spec.js +10 -10
  182. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  183. package/dist/preprocessor/Manifest.d.ts +1 -1
  184. package/dist/preprocessor/Manifest.js +2 -2
  185. package/dist/preprocessor/Manifest.js.map +1 -1
  186. package/dist/roku-types/data.json +81 -143
  187. package/dist/roku-types/index.d.ts +15 -11
  188. package/dist/types/ArrayType.d.ts +1 -1
  189. package/dist/types/ArrayType.js +4 -0
  190. package/dist/types/ArrayType.js.map +1 -1
  191. package/dist/types/ArrayType.spec.js +1 -1
  192. package/dist/types/ArrayType.spec.js.map +1 -1
  193. package/dist/types/AssociativeArrayType.d.ts +1 -1
  194. package/dist/types/AssociativeArrayType.js +1 -1
  195. package/dist/types/AssociativeArrayType.js.map +1 -1
  196. package/dist/types/BooleanType.js +2 -1
  197. package/dist/types/BooleanType.js.map +1 -1
  198. package/dist/types/BscType.js +2 -0
  199. package/dist/types/BscType.js.map +1 -1
  200. package/dist/types/BuiltInInterfaceAdder.d.ts +3 -0
  201. package/dist/types/BuiltInInterfaceAdder.js +32 -13
  202. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  203. package/dist/types/ComponentType.js +3 -0
  204. package/dist/types/ComponentType.js.map +1 -1
  205. package/dist/types/DoubleType.js +3 -1
  206. package/dist/types/DoubleType.js.map +1 -1
  207. package/dist/types/FloatType.js +3 -1
  208. package/dist/types/FloatType.js.map +1 -1
  209. package/dist/types/IntegerType.js +3 -1
  210. package/dist/types/IntegerType.js.map +1 -1
  211. package/dist/types/InterfaceType.d.ts +1 -1
  212. package/dist/types/InterfaceType.js +1 -8
  213. package/dist/types/InterfaceType.js.map +1 -1
  214. package/dist/types/InterfaceType.spec.js +23 -0
  215. package/dist/types/InterfaceType.spec.js.map +1 -1
  216. package/dist/types/LongIntegerType.js +3 -1
  217. package/dist/types/LongIntegerType.js.map +1 -1
  218. package/dist/types/ObjectType.d.ts +1 -1
  219. package/dist/types/StringType.js +2 -2
  220. package/dist/types/StringType.js.map +1 -1
  221. package/dist/types/TypedFunctionType.d.ts +6 -1
  222. package/dist/types/TypedFunctionType.js +45 -15
  223. package/dist/types/TypedFunctionType.js.map +1 -1
  224. package/dist/types/TypedFunctionType.spec.js +99 -0
  225. package/dist/types/TypedFunctionType.spec.js.map +1 -1
  226. package/dist/types/UnionType.js +7 -0
  227. package/dist/types/UnionType.js.map +1 -1
  228. package/dist/types/helper.spec.js +15 -0
  229. package/dist/types/helper.spec.js.map +1 -1
  230. package/dist/types/helpers.d.ts +3 -0
  231. package/dist/types/helpers.js +29 -1
  232. package/dist/types/helpers.js.map +1 -1
  233. package/dist/util.d.ts +11 -5
  234. package/dist/util.js +79 -40
  235. package/dist/util.js.map +1 -1
  236. package/dist/validators/ClassValidator.js.map +1 -1
  237. package/package.json +1 -1
  238. package/dist/astUtils/AstEditor.js.map +0 -1
  239. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  240. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
  241. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -31
  242. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  243. /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
  244. /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → serialize/BslibInjector.spec.d.ts} +0 -0
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { Range, Diagnostic, CodeAction, SemanticTokenTypes, SemanticTokenModifiers, Position, CompletionItem } from 'vscode-languageserver';
2
3
  import type { Scope } from './Scope';
3
4
  import type { BrsFile } from './files/BrsFile';
@@ -10,22 +11,24 @@ import type { ProgramBuilder } from './ProgramBuilder';
10
11
  import type { FunctionStatement } from './parser/Statement';
11
12
  import type { AstNode, Expression } from './parser/AstNode';
12
13
  import type { TranspileState } from './parser/TranspileState';
13
- import type { SourceMapGenerator, SourceNode } from 'source-map';
14
+ import type { SourceNode } from 'source-map';
14
15
  import type { BscType } from './types/BscType';
15
- import type { AstEditor } from './astUtils/AstEditor';
16
+ import type { Editor } from './astUtils/Editor';
16
17
  import type { Token } from './lexer/Token';
18
+ import type { File } from './files/File';
19
+ import type { FileFactory } from './files/Factory';
20
+ import type { LazyFileData } from './files/LazyFileData';
17
21
  import type { SymbolTypeFlag } from './SymbolTable';
18
22
  import type { CallExpression } from './parser/Expression';
19
23
  export interface BsDiagnostic extends Diagnostic {
20
- file: BscFile;
24
+ file: File;
21
25
  /**
22
26
  * A generic data container where additional details of the diagnostic can be stored. These are stripped out before being sent to a languageclient, and not printed to the console.
23
27
  */
24
28
  data?: any;
25
29
  }
26
- export declare type BscFile = BrsFile | XmlFile;
27
30
  export interface Callable {
28
- file: BscFile;
31
+ file: File;
29
32
  name: string;
30
33
  /**
31
34
  * Is the callable declared as "sub". If falsey, assumed declared as "function"
@@ -103,12 +106,12 @@ export interface FileObj {
103
106
  */
104
107
  export interface FileReference {
105
108
  /**
106
- * The pkgPath to the referenced file.
109
+ * The destPath for the referenced file.
107
110
  */
108
- pkgPath: string;
111
+ destPath: string;
109
112
  text: string;
110
113
  /**
111
- * The file that is doing the import. Note this is NOT the file the pkgPath points to.
114
+ * The file that is doing the import. Note this is NOT the file the destPath points to.
112
115
  */
113
116
  sourceFile: XmlFile | BrsFile;
114
117
  /**
@@ -119,14 +122,6 @@ export interface FileReference {
119
122
  */
120
123
  filePathRange?: Range;
121
124
  }
122
- export interface File {
123
- /**
124
- * The absolute path to the file, relative to the pkg
125
- */
126
- pkgPath: string;
127
- srcPath: string;
128
- getDiagnostics(): BsDiagnostic[];
129
- }
130
125
  export interface VariableDeclaration {
131
126
  name: string;
132
127
  getType: () => BscType;
@@ -160,7 +155,7 @@ export interface CallableContainer {
160
155
  }
161
156
  export declare type CallableContainerMap = Map<string, CallableContainer[]>;
162
157
  export interface CommentFlag {
163
- file: BscFile;
158
+ file: File;
164
159
  /**
165
160
  * The location of the ignore comment.
166
161
  */
@@ -174,18 +169,42 @@ export interface CommentFlag {
174
169
  export declare type CompilerPluginFactory = () => CompilerPlugin;
175
170
  export interface CompilerPlugin {
176
171
  name: string;
172
+ /**
173
+ * Called before a new program is created
174
+ */
177
175
  beforeProgramCreate?: PluginHandler<BeforeProgramCreateEvent>;
176
+ /**
177
+ * Called after a new program is created
178
+ */
178
179
  afterProgramCreate?: PluginHandler<AfterProgramCreateEvent>;
179
- beforePrepublish?: PluginHandler<BeforePrepublishEvent>;
180
- afterPrepublish?: PluginHandler<AfterPrepublishEvent>;
181
- beforePublish?: PluginHandler<BeforePublishEvent>;
182
- afterPublish?: PluginHandler<AfterPublishEvent>;
180
+ /**
181
+ * Called before the program gets prepared for building
182
+ */
183
+ beforePrepareProgram?: PluginHandler<BeforePrepareProgramEvent>;
184
+ /**
185
+ * Called when the program gets prepared for building
186
+ */
187
+ prepareProgram?: PluginHandler<PrepareProgramEvent>;
188
+ /**
189
+ * Called after the program gets prepared for building
190
+ */
191
+ afterPrepareProgram?: PluginHandler<AfterPrepareProgramEvent>;
192
+ /**
193
+ * Called before the entire program is validated
194
+ */
183
195
  beforeProgramValidate?: PluginHandler<BeforeProgramValidateEvent>;
196
+ /**
197
+ * Called before the entire program is validated
198
+ */
199
+ onProgramValidate?: PluginHandler<OnProgramValidateEvent>;
200
+ /**
201
+ * Called after the program has been validated
202
+ */
184
203
  afterProgramValidate?: PluginHandler<AfterProgramValidateEvent>;
185
- beforeProgramTranspile?: PluginHandler<BeforeProgramTranspileEvent>;
186
- afterProgramTranspile?: PluginHandler<AfterProgramTranspileEvent>;
204
+ /**
205
+ * Called right before the program is disposed/destroyed
206
+ */
187
207
  beforeProgramDispose?: PluginHandler<BeforeProgramDisposeEvent>;
188
- onGetCodeActions?: PluginHandler<OnGetCodeActionsEvent>;
189
208
  /**
190
209
  * Emitted before the program starts collecting completions
191
210
  */
@@ -210,15 +229,49 @@ export interface CompilerPlugin {
210
229
  * Called after the `provideHover` hook. Use this if you want to intercept or sanitize the hover data (even from other plugins) before it gets sent to the client.
211
230
  */
212
231
  afterProvideHover?: PluginHandler<AfterProvideHoverEvent>;
213
- onGetSemanticTokens?: PluginHandler<OnGetSemanticTokensEvent>;
232
+ /**
233
+ * Called after a scope was created
234
+ */
214
235
  afterScopeCreate?: PluginHandler<AfterScopeCreateEvent>;
215
236
  beforeScopeDispose?: PluginHandler<BeforeScopeDisposeEvent>;
237
+ onScopeDispose?: PluginHandler<OnScopeDisposeEvent>;
216
238
  afterScopeDispose?: PluginHandler<AfterScopeDisposeEvent>;
217
239
  beforeScopeValidate?: PluginHandler<BeforeScopeValidateEvent>;
218
240
  onScopeValidate?: PluginHandler<OnScopeValidateEvent>;
219
241
  afterScopeValidate?: PluginHandler<BeforeScopeValidateEvent>;
220
- beforeFileParse?: PluginHandler<BeforeFileParseEvent>;
221
- afterFileParse?: PluginHandler<AfterFileParseEvent>;
242
+ onGetCodeActions?: PluginHandler<OnGetCodeActionsEvent>;
243
+ onGetSemanticTokens?: PluginHandler<OnGetSemanticTokensEvent>;
244
+ /**
245
+ * Called before plugins are asked to provide files to the program. (excludes virtual files produced by `provideFile` events).
246
+ * Call the `setFileData()` method to override the file contents.
247
+ */
248
+ beforeProvideFile?: PluginHandler<BeforeProvideFileEvent>;
249
+ /**
250
+ * Give plugins the opportunity to handle processing a file. (excludes virtual files produced by `provideFile` events)
251
+ */
252
+ provideFile?: PluginHandler<ProvideFileEvent>;
253
+ /**
254
+ * Called after a file was added to the program. (excludes virtual files produced by `provideFile` events)
255
+ */
256
+ afterProvideFile?: PluginHandler<AfterProvideFileEvent>;
257
+ /**
258
+ * Called before a file is added to the program.
259
+ * Includes physical files as well as any virtual files produced by `provideFile` events
260
+ */
261
+ beforeFileAdd?: PluginHandler<BeforeFileAddEvent>;
262
+ /**
263
+ * Called after a file has been added to the program.
264
+ * Includes physical files as well as any virtual files produced by `provideFile` events
265
+ */
266
+ afterFileAdd?: PluginHandler<AfterFileAddEvent>;
267
+ /**
268
+ * Called before a file is removed from the program. This includes physical and virtual files
269
+ */
270
+ beforeFileRemove?: PluginHandler<BeforeFileRemoveEvent>;
271
+ /**
272
+ * Called after a file has been removed from the program. This includes physical and virtual files
273
+ */
274
+ afterFileRemove?: PluginHandler<AfterFileRemoveEvent>;
222
275
  /**
223
276
  * Called before each file is validated
224
277
  */
@@ -231,61 +284,111 @@ export interface CompilerPlugin {
231
284
  * Called after each file is validated
232
285
  */
233
286
  afterFileValidate?: PluginHandler<AfterFileValidateEvent>;
234
- beforeFileTranspile?: PluginHandler<BeforeFileTranspileEvent>;
235
- afterFileTranspile?: PluginHandler<AfterFileTranspileEvent>;
236
- beforeFileDispose?: PluginHandler<BeforeFileDisposeEvent>;
237
- afterFileDispose?: PluginHandler<AfterFileDisposeEvent>;
287
+ /**
288
+ * Called right before the program builds (i.e. generates the code and puts it in the stagingDir
289
+ */
290
+ beforeBuildProgram?: PluginHandler<BeforeBuildProgramEvent>;
291
+ /**
292
+ * Called right after the program builds (i.e. generates the code and puts it in the stagingDir
293
+ */
294
+ afterBuildProgram?: PluginHandler<AfterBuildProgramEvent>;
295
+ /**
296
+ * Before preparing the file for building
297
+ */
298
+ beforePrepareFile?: PluginHandler<BeforePrepareFileEvent>;
299
+ /**
300
+ * Prepare the file for building
301
+ */
302
+ prepareFile?: PluginHandler<PrepareFileEvent>;
303
+ /**
304
+ * After preparing the file for building
305
+ */
306
+ afterPrepareFile?: PluginHandler<AfterPrepareFileEvent>;
307
+ /**
308
+ * Before the program turns all file objects into their final buffers
309
+ */
310
+ beforeSerializeProgram?: PluginHandler<BeforeSerializeProgramEvent>;
311
+ /**
312
+ * Emitted right at the start of the program turning all file objects into their final buffers
313
+ */
314
+ onSerializeProgram?: PluginHandler<OnSerializeProgramEvent>;
315
+ /**
316
+ * After the program turns all file objects into their final buffers
317
+ */
318
+ afterSerializeProgram?: PluginHandler<AfterSerializeProgramEvent>;
319
+ /**
320
+ * Before turning the file into its final contents
321
+ */
322
+ beforeSerializeFile?: PluginHandler<BeforeSerializeFileEvent>;
323
+ /**
324
+ * Turn the file into its final contents (i.e. transpile a bs file, compress a jpeg, etc)
325
+ */
326
+ serializeFile?: PluginHandler<SerializeFileEvent>;
327
+ /**
328
+ * After turning the file into its final contents
329
+ */
330
+ afterSerializeFile?: PluginHandler<AfterSerializeFileEvent>;
331
+ /**
332
+ * Called before any files are written
333
+ */
334
+ beforeWriteProgram?: PluginHandler<BeforeWriteProgramEvent>;
335
+ /**
336
+ * Called after all files are written
337
+ */
338
+ afterWriteProgram?: PluginHandler<AfterWriteProgramEvent>;
339
+ /**
340
+ * Before a file is written to disk. These are raw files that contain the final output. One `File` may produce several of these
341
+ */
342
+ beforeWriteFile?: PluginHandler<BeforeWriteFileEvent>;
343
+ /**
344
+ * Called when a file should be persisted (usually writing to storage). These are raw files that contain the final output. One `File` may produce several of these.
345
+ * When a plugin has handled a file, it should be pushed to the `handledFiles` set so future plugins don't write the file multiple times
346
+ */
347
+ writeFile?: PluginHandler<WriteFileEvent>;
348
+ /**
349
+ * Before a file is written to disk. These are raw files that contain the final output. One `File` may produce several of these
350
+ */
351
+ afterWriteFile?: PluginHandler<AfterWriteFileEvent>;
238
352
  }
239
353
  export declare type PluginHandler<T, R = void> = (event: T) => R;
240
- export interface BeforeProgramCreateEvent {
241
- builder: ProgramBuilder;
242
- }
243
- export interface AfterProgramCreateEvent {
244
- builder: ProgramBuilder;
354
+ export interface OnGetCodeActionsEvent<TFile extends File = File> {
245
355
  program: Program;
356
+ file: TFile;
357
+ range: Range;
358
+ scopes: Scope[];
359
+ diagnostics: BsDiagnostic[];
360
+ codeActions: CodeAction[];
246
361
  }
247
- export interface BeforePrepublishEvent {
362
+ export interface BeforeProgramCreateEvent {
248
363
  builder: ProgramBuilder;
249
- program: Program;
250
- files: FileObj[];
251
364
  }
252
- export declare type AfterPrepublishEvent = BeforePrepublishEvent;
253
- export interface BeforePublishEvent {
365
+ export interface AfterProgramCreateEvent {
254
366
  builder: ProgramBuilder;
255
367
  program: Program;
256
- files: FileObj[];
257
368
  }
258
- export declare type AfterPublishEvent = BeforePublishEvent;
259
369
  export interface BeforeProgramValidateEvent {
260
370
  program: Program;
261
371
  }
372
+ export declare type OnProgramValidateEvent = BeforeProgramValidateEvent;
262
373
  export declare type AfterProgramValidateEvent = BeforeProgramValidateEvent;
263
- export interface BeforeProgramTranspileEvent {
264
- program: Program;
265
- entries: TranspileEntry[];
266
- editor: AstEditor;
267
- }
268
- export declare type AfterProgramTranspileEvent = BeforeProgramTranspileEvent;
269
- export interface OnGetCodeActionsEvent {
270
- program: Program;
271
- file: BscFile;
272
- range: Range;
273
- scopes: Scope[];
274
- diagnostics: BsDiagnostic[];
275
- codeActions: CodeAction[];
276
- }
277
- export interface ProvideCompletionsEvent<TFile extends BscFile = BscFile> {
374
+ export interface ProvideCompletionsEvent<TFile extends File = File> {
278
375
  program: Program;
279
376
  file: TFile;
280
377
  scopes: Scope[];
281
378
  position: Position;
282
379
  completions: CompletionItem[];
283
380
  }
284
- export declare type BeforeProvideCompletionsEvent<TFile extends BscFile = BscFile> = ProvideCompletionsEvent<TFile>;
285
- export declare type AfterProvideCompletionsEvent<TFile extends BscFile = BscFile> = ProvideCompletionsEvent<TFile>;
381
+ export declare type BeforeProvideCompletionsEvent<TFile extends File = File> = ProvideCompletionsEvent<TFile>;
382
+ export declare type AfterProvideCompletionsEvent<TFile extends File = File> = ProvideCompletionsEvent<TFile>;
383
+ export interface BeforeBuildProgramEvent {
384
+ program: Program;
385
+ files: File[];
386
+ editor: Editor;
387
+ }
388
+ export declare type AfterBuildProgramEvent = BeforeBuildProgramEvent;
286
389
  export interface ProvideHoverEvent {
287
390
  program: Program;
288
- file: BscFile;
391
+ file: File;
289
392
  position: Position;
290
393
  scopes: Scope[];
291
394
  hovers: Hover[];
@@ -315,6 +418,10 @@ export interface BeforeScopeDisposeEvent {
315
418
  program: Program;
316
419
  scope: Scope;
317
420
  }
421
+ export interface OnScopeDisposeEvent {
422
+ program: Program;
423
+ scope: Scope;
424
+ }
318
425
  export interface AfterScopeDisposeEvent {
319
426
  program: Program;
320
427
  scope: Scope;
@@ -329,11 +436,16 @@ export interface BeforeFileParseEvent {
329
436
  srcPath: string;
330
437
  source: string;
331
438
  }
439
+ export interface OnFileParseEvent {
440
+ program: Program;
441
+ srcPath: string;
442
+ source: string;
443
+ }
332
444
  export interface AfterFileParseEvent {
333
445
  program: Program;
334
- file: BscFile;
446
+ file: File;
335
447
  }
336
- export interface OnGetSemanticTokensEvent<T extends BscFile = BscFile> {
448
+ export interface OnGetSemanticTokensEvent<T extends File = File> {
337
449
  /**
338
450
  * The program this file is from
339
451
  */
@@ -352,32 +464,24 @@ export interface OnGetSemanticTokensEvent<T extends BscFile = BscFile> {
352
464
  semanticTokens: SemanticToken[];
353
465
  }
354
466
  export declare type BeforeFileValidateEvent = OnFileValidateEvent;
355
- export interface OnFileValidateEvent<T extends BscFile = BscFile> {
467
+ export interface OnFileValidateEvent<T extends File = File> {
356
468
  program: Program;
357
469
  file: T;
358
470
  }
359
471
  export declare type AfterFileValidateEvent = OnFileValidateEvent;
472
+ export interface OnFileValidateEvent<T extends File = File> {
473
+ program: Program;
474
+ file: T;
475
+ }
360
476
  export interface TranspileEntry {
361
- file: BscFile;
477
+ file: File;
362
478
  outputPath: string;
363
479
  }
364
480
  export interface OnScopeValidateEvent {
365
481
  program: Program;
366
482
  scope: Scope;
367
483
  }
368
- export declare type Editor = Pick<AstEditor, 'addToArray' | 'hasChanges' | 'removeFromArray' | 'setArrayValue' | 'setProperty' | 'overrideTranspileResult' | 'arrayPop' | 'arrayPush' | 'arrayShift' | 'arraySplice' | 'arrayUnshift' | 'removeProperty' | 'edit'>;
369
- export interface BeforeFileTranspileEvent<TFile extends BscFile = BscFile> {
370
- program: Program;
371
- file: TFile;
372
- outputPath: string;
373
- /**
374
- * An editor that can be used to transform properties or arrays. Once the `afterFileTranspile` event has fired, these changes will be reverted,
375
- * restoring the objects to their prior state. This is useful for changing code right before a file gets transpiled, but when you don't want
376
- * the changes to persist in the in-memory file.
377
- */
378
- editor: Editor;
379
- }
380
- export interface AfterFileTranspileEvent<TFile extends BscFile = BscFile> {
484
+ export interface AfterFileTranspileEvent<TFile extends File = File> {
381
485
  /**
382
486
  * The program this event was triggered for
383
487
  */
@@ -391,21 +495,145 @@ export interface AfterFileTranspileEvent<TFile extends BscFile = BscFile> {
391
495
  /**
392
496
  * The sourceMaps for the generated code (if emitting source maps is enabled)
393
497
  */
394
- map?: SourceMapGenerator;
498
+ map?: string;
395
499
  /**
396
500
  * The generated type definition file contents (if emitting type definitions are enabled)
397
501
  */
398
502
  typedef?: string;
503
+ }
504
+ export declare type BeforeProvideFileEvent<TFile extends File = File> = ProvideFileEvent<TFile>;
505
+ export interface ProvideFileEvent<TFile extends File = File> {
399
506
  /**
400
- * An editor that can be used to transform properties or arrays. Once the `afterFileTranspile` event has fired, these changes will be reverted,
401
- * restoring the objects to their prior state. This is useful for changing code right before a file gets transpiled, but when you don't want
402
- * the changes to persist in the in-memory file.
507
+ * The lower-case file extension for the srcPath. (i.e. ".brs", ".xml")
403
508
  */
509
+ srcExtension: string;
510
+ /**
511
+ * The srcPath for the file. (i.e. `/user/bob/projects/VideoApp/source/main.bs`)
512
+ */
513
+ srcPath: string;
514
+ /**
515
+ * The destPath for the file. (i.e. for `/user/bob/projects/VideoApp/source/main.bs`, destPath would be `source/main.bs`)
516
+ */
517
+ destPath: string;
518
+ /**
519
+ * A lazy-loading container for this file's data. Call `.get()` to lazy load the data, and `.set()` to override file contents
520
+ */
521
+ data: LazyFileData;
522
+ /**
523
+ * An array of files that should be added to the program as a result of this event
524
+ */
525
+ files: TFile[];
526
+ /**
527
+ * The program for this event
528
+ */
529
+ program: Program;
530
+ /**
531
+ * A factory used to create new instances of the BrighterScript built-in file types. This mitigates the issue
532
+ * of a plugin's version of a File not being the same as the LanguageServer or CLI version of BrighterScript
533
+ * (due to npm installing multiple versions of brighterscript)
534
+ */
535
+ fileFactory: FileFactory;
536
+ }
537
+ export declare type AfterProvideFileEvent<TFile extends File = File> = ProvideFileEvent<TFile>;
538
+ export interface BeforeFileAddEvent<TFile extends File = File> {
539
+ file: TFile;
540
+ program: Program;
541
+ }
542
+ export declare type AfterFileAddEvent<TFile extends File = File> = BeforeFileAddEvent<TFile>;
543
+ export interface BeforeFileRemoveEvent<TFile extends File = File> {
544
+ file: TFile;
545
+ program: Program;
546
+ }
547
+ export declare type AfterFileRemoveEvent<TFile extends File = File> = BeforeFileRemoveEvent<TFile>;
548
+ export declare type BeforePrepareProgramEvent = PrepareProgramEvent;
549
+ /**
550
+ * Event for when the program prepares itself for building
551
+ */
552
+ export interface PrepareProgramEvent {
553
+ program: Program;
554
+ editor: Editor;
555
+ }
556
+ export declare type AfterPrepareProgramEvent = PrepareProgramEvent;
557
+ export declare type BeforePrepareFileEvent<TFile extends File = File> = PrepareFileEvent<TFile>;
558
+ /**
559
+ * Prepare the file for building
560
+ */
561
+ export interface PrepareFileEvent<TFile extends File = File> {
562
+ program: Program;
563
+ file: TFile;
404
564
  editor: Editor;
405
565
  }
566
+ export declare type OnPrepareFileEvent<TFile extends File = File> = PrepareFileEvent<TFile>;
567
+ export declare type AfterPrepareFileEvent<TFile extends File = File> = PrepareFileEvent<TFile>;
568
+ /**
569
+ * A container that holds the code, map, and typedef for serialized code files.
570
+ */
571
+ export interface SerializedCodeFile {
572
+ code?: string;
573
+ map?: string;
574
+ typedef?: string;
575
+ }
576
+ export interface BeforeSerializeProgramEvent {
577
+ program: Program;
578
+ files: File[];
579
+ result: Map<File, SerializedFile[]>;
580
+ }
581
+ export declare type OnSerializeProgramEvent = BeforeSerializeProgramEvent;
582
+ export declare type AfterSerializeProgramEvent = BeforeSerializeProgramEvent;
583
+ /**
584
+ * During the `SerializeFile` events, this is how plugins will contribute file data for a specific file
585
+ */
586
+ export interface SerializedFile {
587
+ /**
588
+ * The raw data for this file (i.e. a binary buffer for a .jpeg file, or the transpiled code for a .bs file)
589
+ */
590
+ data: Buffer;
591
+ /**
592
+ * The pkgPath for this chunk of data.
593
+ */
594
+ pkgPath: string;
595
+ }
596
+ export declare type BeforeSerializeFileEvent<TFile extends File = File> = SerializeFileEvent<TFile>;
597
+ export interface SerializeFileEvent<TFile extends File = File> {
598
+ program: Program;
599
+ file: TFile;
600
+ /**
601
+ * The list of all files created across all the `SerializeFile` events.
602
+ * The key is the pkgPath of the file, and the
603
+ */
604
+ result: Map<TFile, SerializedFile[]>;
605
+ }
606
+ export declare type AfterSerializeFileEvent<TFile extends File = File> = SerializeFileEvent<TFile>;
607
+ export interface BeforeWriteProgramEvent {
608
+ program: Program;
609
+ stagingDir: string;
610
+ files: Map<File, SerializedFile[]>;
611
+ }
612
+ export declare type AfterWriteProgramEvent = BeforeWriteProgramEvent;
613
+ export declare type BeforeWriteFileEvent = WriteFileEvent;
614
+ export interface WriteFileEvent {
615
+ program: Program;
616
+ file: SerializedFile;
617
+ /**
618
+ * The full path to where the file was (or will be) written to.
619
+ */
620
+ outputPath: string;
621
+ /**
622
+ * A set of all files that have been properly written. Plugins should add any handled files to this list so future plugins don't write then again
623
+ */
624
+ processedFiles: Set<SerializedFile>;
625
+ }
626
+ export declare type AfterWriteFileEvent = BeforeWriteFileEvent;
627
+ export interface TranspileObj {
628
+ file: File;
629
+ /**
630
+ * The absolute path to where the file should be written during build. (i.e. somewhere inside the stagingDir)
631
+ */
632
+ outputPath: string;
633
+ }
406
634
  export interface BeforeFileDisposeEvent {
407
635
  program: Program;
408
- file: BscFile;
636
+ file: File;
409
637
  }
410
638
  export declare type AfterFileDisposeEvent = BeforeFileDisposeEvent;
411
639
  export interface BeforeProgramDisposeEvent {
@@ -423,7 +651,7 @@ export interface TypedefProvider {
423
651
  getTypedef(state: TranspileState): Array<SourceNode | string>;
424
652
  }
425
653
  export declare type TranspileResult = Array<(string | SourceNode)>;
426
- export declare type FileResolver = (srcPath: string) => string | undefined | Thenable<string | undefined> | void;
654
+ export declare type FileResolver = (srcPath: string) => string | Buffer | undefined | Thenable<string | Buffer | undefined> | void;
427
655
  export interface ExpressionInfo {
428
656
  expressions: Expression[];
429
657
  varExpressions: Expression[];
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAkBA,kDAAkD;AAClD,iDAA8C;AA6d9C,MAAa,cAAc;IACvB,YAAmB,IAAY,EAAS,IAAa,EAAS,KAAY,EAAS,iBAAwB,IAAA,sBAAW,EAAC,qBAAS,CAAC,GAAG,CAAC;QAAlH,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAS;QAAS,UAAK,GAAL,KAAK,CAAO;QAAS,mBAAc,GAAd,cAAc,CAAoC;IACrI,CAAC;IACD,IAAI,UAAU;;QACV,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE,CAAC;IACrC,CAAC;CACJ;AAND,wCAMC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAqBA,kDAAkD;AAClD,iDAA8C;AAsuB9C,MAAa,cAAc;IACvB,YAAmB,IAAY,EAAS,IAAa,EAAS,KAAY,EAAS,iBAAwB,IAAA,sBAAW,EAAC,qBAAS,CAAC,GAAG,CAAC;QAAlH,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAS;QAAS,UAAK,GAAL,KAAK,CAAO;QAAS,mBAAc,GAAd,cAAc,CAAoC;IACrI,CAAC;IACD,IAAI,UAAU;;QACV,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE,CAAC;IACrC,CAAC;CACJ;AAND,wCAMC"}
@@ -348,7 +348,7 @@ class Lexer {
348
348
  this.scanToken();
349
349
  }
350
350
  if (this.check('}')) {
351
- this.current++;
351
+ this.advance();
352
352
  this.addToken(TokenKind_1.TokenKind.TemplateStringExpressionEnd);
353
353
  }
354
354
  else {
@@ -572,7 +572,6 @@ exports.DeclarableTypes = [
572
572
  TokenKind.Double,
573
573
  TokenKind.String,
574
574
  TokenKind.Object,
575
- TokenKind.Interface,
576
575
  TokenKind.Dynamic,
577
576
  TokenKind.Void,
578
577
  TokenKind.Function
@@ -1 +1 @@
1
- {"version":3,"file":"TokenKind.js","sourceRoot":"","sources":["../../src/lexer/TokenKind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenKind.js","sourceRoot":"","sources":["../../src/lexer/TokenKind.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ export declare abstract class Statement extends AstNode {
73
73
  /**
74
74
  * Annotations for this statement
75
75
  */
76
- annotations: AnnotationExpression[];
76
+ annotations?: AnnotationExpression[];
77
77
  }
78
78
  /** A BrightScript expression */
79
79
  export declare abstract class Expression extends AstNode {
@@ -152,5 +152,5 @@ export declare enum AstNodeKind {
152
152
  Block = "Block",
153
153
  TypeExpression = "TypeExpression",
154
154
  TypeCastExpression = "TypeCastExpression",
155
- ArrayTypeExpression = "ArrayTypeExpression"
155
+ TypedArrayExpression = "TypedArrayExpression"
156
156
  }
@@ -200,6 +200,6 @@ var AstNodeKind;
200
200
  AstNodeKind["Block"] = "Block";
201
201
  AstNodeKind["TypeExpression"] = "TypeExpression";
202
202
  AstNodeKind["TypeCastExpression"] = "TypeCastExpression";
203
- AstNodeKind["ArrayTypeExpression"] = "ArrayTypeExpression";
203
+ AstNodeKind["TypedArrayExpression"] = "TypedArrayExpression";
204
204
  })(AstNodeKind = exports.AstNodeKind || (exports.AstNodeKind = {}));
205
205
  //# sourceMappingURL=AstNode.js.map