brighterscript 0.66.0-alpha.0 → 0.66.0-alpha.10

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 (383) hide show
  1. package/CHANGELOG.md +223 -10
  2. package/README.md +13 -3
  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/AstValidationSegmenter.d.ts +25 -0
  8. package/dist/AstValidationSegmenter.js +150 -0
  9. package/dist/AstValidationSegmenter.js.map +1 -0
  10. package/dist/BsConfig.d.ts +13 -4
  11. package/dist/BusyStatusTracker.d.ts +31 -0
  12. package/dist/BusyStatusTracker.js +83 -0
  13. package/dist/BusyStatusTracker.js.map +1 -0
  14. package/dist/Cache.js +3 -3
  15. package/dist/Cache.js.map +1 -1
  16. package/dist/CacheVerifier.d.ts +0 -1
  17. package/dist/CodeActionUtil.d.ts +2 -2
  18. package/dist/CommentFlagProcessor.d.ts +4 -3
  19. package/dist/CommentFlagProcessor.js.map +1 -1
  20. package/dist/DiagnosticCollection.js +8 -5
  21. package/dist/DiagnosticCollection.js.map +1 -1
  22. package/dist/DiagnosticMessages.d.ts +34 -4
  23. package/dist/DiagnosticMessages.js +59 -4
  24. package/dist/DiagnosticMessages.js.map +1 -1
  25. package/dist/FunctionScope.d.ts +1 -1
  26. package/dist/LanguageServer.d.ts +23 -1
  27. package/dist/LanguageServer.js +139 -57
  28. package/dist/LanguageServer.js.map +1 -1
  29. package/dist/Logger.d.ts +3 -2
  30. package/dist/Logger.js +10 -2
  31. package/dist/Logger.js.map +1 -1
  32. package/dist/PluginInterface.d.ts +11 -2
  33. package/dist/PluginInterface.js +69 -10
  34. package/dist/PluginInterface.js.map +1 -1
  35. package/dist/Program.d.ts +138 -49
  36. package/dist/Program.js +656 -340
  37. package/dist/Program.js.map +1 -1
  38. package/dist/ProgramBuilder.d.ts +10 -4
  39. package/dist/ProgramBuilder.js +83 -66
  40. package/dist/ProgramBuilder.js.map +1 -1
  41. package/dist/Scope.d.ts +52 -49
  42. package/dist/Scope.js +312 -247
  43. package/dist/Scope.js.map +1 -1
  44. package/dist/SymbolTable.d.ts +35 -14
  45. package/dist/SymbolTable.js +89 -26
  46. package/dist/SymbolTable.js.map +1 -1
  47. package/dist/Throttler.d.ts +12 -0
  48. package/dist/Throttler.js +39 -0
  49. package/dist/Throttler.js.map +1 -1
  50. package/dist/XmlScope.d.ts +7 -4
  51. package/dist/XmlScope.js +52 -12
  52. package/dist/XmlScope.js.map +1 -1
  53. package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +6 -1
  54. package/dist/astUtils/{AstEditor.js → Editor.js} +9 -3
  55. package/dist/astUtils/Editor.js.map +1 -0
  56. package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +10 -6
  57. package/dist/astUtils/Editor.spec.js.map +1 -0
  58. package/dist/astUtils/creators.d.ts +3 -1
  59. package/dist/astUtils/creators.js +14 -4
  60. package/dist/astUtils/creators.js.map +1 -1
  61. package/dist/astUtils/reflection.d.ts +37 -9
  62. package/dist/astUtils/reflection.js +83 -14
  63. package/dist/astUtils/reflection.js.map +1 -1
  64. package/dist/astUtils/reflection.spec.js +87 -5
  65. package/dist/astUtils/reflection.spec.js.map +1 -1
  66. package/dist/astUtils/visitors.d.ts +14 -3
  67. package/dist/astUtils/visitors.js +22 -2
  68. package/dist/astUtils/visitors.js.map +1 -1
  69. package/dist/astUtils/visitors.spec.js +58 -7
  70. package/dist/astUtils/visitors.spec.js.map +1 -1
  71. package/dist/bscPlugin/BscPlugin.d.ts +11 -4
  72. package/dist/bscPlugin/BscPlugin.js +26 -6
  73. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  74. package/dist/bscPlugin/CallExpressionInfo.d.ts +3 -3
  75. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  76. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  77. package/dist/bscPlugin/FileWriter.js +24 -0
  78. package/dist/bscPlugin/FileWriter.js.map +1 -0
  79. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +8 -8
  80. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  81. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +4 -4
  82. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  83. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +50 -1
  84. package/dist/bscPlugin/completions/CompletionsProcessor.js +442 -23
  85. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  86. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1737 -0
  87. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  88. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  89. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  90. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  91. package/dist/bscPlugin/hover/HoverProcessor.d.ts +7 -3
  92. package/dist/bscPlugin/hover/HoverProcessor.js +133 -103
  93. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  94. package/dist/bscPlugin/hover/HoverProcessor.spec.js +241 -29
  95. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  96. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
  97. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +43 -0
  98. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  99. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +22 -0
  100. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  101. package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
  102. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  103. package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
  104. package/dist/bscPlugin/serialize/BslibManager.js +40 -0
  105. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  106. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  107. package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
  108. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  109. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.d.ts → BrsFileTranspileProcessor.d.ts} +4 -2
  110. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.js → BrsFileTranspileProcessor.js} +29 -5
  111. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  112. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  113. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
  114. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  115. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +2 -2
  116. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -1
  117. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +0 -4
  118. package/dist/bscPlugin/validation/BrsFileValidator.js +35 -65
  119. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  120. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +1 -1
  121. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  122. package/dist/bscPlugin/validation/ProgramValidator.d.ts +3 -3
  123. package/dist/bscPlugin/validation/ProgramValidator.js +6 -6
  124. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
  125. package/dist/bscPlugin/validation/ScopeValidator.d.ts +28 -7
  126. package/dist/bscPlugin/validation/ScopeValidator.js +393 -205
  127. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  128. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
  129. package/dist/bscPlugin/validation/ScopeValidator.spec.js +2038 -0
  130. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  131. package/dist/bscPlugin/validation/XmlFileValidator.js +2 -2
  132. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  133. package/dist/cli.js +104 -13
  134. package/dist/cli.js.map +1 -1
  135. package/dist/deferred.d.ts +3 -3
  136. package/dist/deferred.js.map +1 -1
  137. package/dist/diagnosticUtils.d.ts +8 -2
  138. package/dist/diagnosticUtils.js +45 -16
  139. package/dist/diagnosticUtils.js.map +1 -1
  140. package/dist/examples/plugins/removePrint.js +1 -1
  141. package/dist/examples/plugins/removePrint.js.map +1 -1
  142. package/dist/files/AssetFile.d.ts +26 -0
  143. package/dist/files/AssetFile.js +26 -0
  144. package/dist/files/AssetFile.js.map +1 -0
  145. package/dist/files/BrsFile.Class.spec.js +383 -56
  146. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  147. package/dist/files/BrsFile.d.ts +73 -46
  148. package/dist/files/BrsFile.js +370 -534
  149. package/dist/files/BrsFile.js.map +1 -1
  150. package/dist/files/BrsFile.spec.js +1139 -682
  151. package/dist/files/BrsFile.spec.js.map +1 -1
  152. package/dist/files/Factory.d.ts +25 -0
  153. package/dist/files/Factory.js +22 -0
  154. package/dist/files/Factory.js.map +1 -0
  155. package/dist/files/File.d.ts +106 -0
  156. package/dist/files/File.js +16 -0
  157. package/dist/files/File.js.map +1 -0
  158. package/dist/files/LazyFileData.d.ts +20 -0
  159. package/dist/files/LazyFileData.js +54 -0
  160. package/dist/files/LazyFileData.js.map +1 -0
  161. package/dist/files/LazyFileData.spec.d.ts +1 -0
  162. package/dist/files/LazyFileData.spec.js +27 -0
  163. package/dist/files/LazyFileData.spec.js.map +1 -0
  164. package/dist/files/XmlFile.d.ts +56 -23
  165. package/dist/files/XmlFile.js +88 -60
  166. package/dist/files/XmlFile.js.map +1 -1
  167. package/dist/files/XmlFile.spec.js +63 -91
  168. package/dist/files/XmlFile.spec.js.map +1 -1
  169. package/dist/files/tests/imports.spec.js +21 -8
  170. package/dist/files/tests/imports.spec.js.map +1 -1
  171. package/dist/files/tests/optionalChaning.spec.js +14 -14
  172. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  173. package/dist/globalCallables.js +88 -84
  174. package/dist/globalCallables.js.map +1 -1
  175. package/dist/index.d.ts +9 -1
  176. package/dist/index.js +9 -1
  177. package/dist/index.js.map +1 -1
  178. package/dist/interfaces.d.ts +436 -81
  179. package/dist/interfaces.js +13 -2
  180. package/dist/interfaces.js.map +1 -1
  181. package/dist/lexer/Lexer.d.ts +12 -0
  182. package/dist/lexer/Lexer.js +28 -8
  183. package/dist/lexer/Lexer.js.map +1 -1
  184. package/dist/lexer/Lexer.spec.js +40 -0
  185. package/dist/lexer/Lexer.spec.js.map +1 -1
  186. package/dist/lexer/Token.d.ts +4 -0
  187. package/dist/lexer/Token.js.map +1 -1
  188. package/dist/lexer/TokenKind.d.ts +5 -0
  189. package/dist/lexer/TokenKind.js +14 -2
  190. package/dist/lexer/TokenKind.js.map +1 -1
  191. package/dist/parser/AstNode.d.ts +9 -2
  192. package/dist/parser/AstNode.js +16 -0
  193. package/dist/parser/AstNode.js.map +1 -1
  194. package/dist/parser/BrsTranspileState.d.ts +3 -2
  195. package/dist/parser/BrsTranspileState.js +3 -2
  196. package/dist/parser/BrsTranspileState.js.map +1 -1
  197. package/dist/parser/Expression.d.ts +21 -5
  198. package/dist/parser/Expression.js +128 -35
  199. package/dist/parser/Expression.js.map +1 -1
  200. package/dist/parser/Parser.Class.spec.js +103 -1
  201. package/dist/parser/Parser.Class.spec.js.map +1 -1
  202. package/dist/parser/Parser.d.ts +7 -0
  203. package/dist/parser/Parser.js +117 -21
  204. package/dist/parser/Parser.js.map +1 -1
  205. package/dist/parser/Parser.spec.js +557 -5
  206. package/dist/parser/Parser.spec.js.map +1 -1
  207. package/dist/parser/SGParser.d.ts +4 -4
  208. package/dist/parser/SGParser.js +3 -3
  209. package/dist/parser/SGParser.js.map +1 -1
  210. package/dist/parser/SGParser.spec.js +2 -2
  211. package/dist/parser/SGParser.spec.js.map +1 -1
  212. package/dist/parser/SGTypes.d.ts +2 -2
  213. package/dist/parser/Statement.d.ts +37 -12
  214. package/dist/parser/Statement.js +153 -46
  215. package/dist/parser/Statement.js.map +1 -1
  216. package/dist/parser/tests/Parser.spec.js +2 -1
  217. package/dist/parser/tests/Parser.spec.js.map +1 -1
  218. package/dist/parser/tests/controlFlow/For.spec.js +16 -8
  219. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  220. package/dist/parser/tests/controlFlow/ForEach.spec.js +12 -6
  221. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  222. package/dist/parser/tests/controlFlow/While.spec.js +8 -4
  223. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  224. package/dist/parser/tests/expression/Call.spec.js +4 -4
  225. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  226. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +29 -29
  227. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  228. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  229. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  230. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  231. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  232. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +75 -36
  233. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  234. package/dist/parser/tests/expression/TernaryExpression.spec.js +36 -36
  235. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  236. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  237. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  238. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  239. package/dist/parser/tests/statement/ConstStatement.spec.js +71 -22
  240. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  241. package/dist/parser/tests/statement/Continue.spec.js +2 -2
  242. package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
  243. package/dist/parser/tests/statement/Enum.spec.js +38 -285
  244. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  245. package/dist/parser/tests/statement/For.spec.js +6 -6
  246. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  247. package/dist/parser/tests/statement/ForEach.spec.js +4 -4
  248. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  249. package/dist/parser/tests/statement/InterfaceStatement.spec.js +26 -10
  250. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  251. package/dist/parser/tests/statement/PrintStatement.spec.js +16 -13
  252. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  253. package/dist/parser/tests/statement/ReturnStatement.spec.js +5 -3
  254. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  255. package/dist/parser/tests/statement/Set.spec.js +26 -13
  256. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  257. package/dist/preprocessor/Manifest.d.ts +1 -1
  258. package/dist/preprocessor/Manifest.js +2 -2
  259. package/dist/preprocessor/Manifest.js.map +1 -1
  260. package/dist/roku-types/data.json +243 -293
  261. package/dist/roku-types/index.d.ts +17 -38
  262. package/dist/types/ArrayType.d.ts +4 -1
  263. package/dist/types/ArrayType.js +46 -6
  264. package/dist/types/ArrayType.js.map +1 -1
  265. package/dist/types/ArrayType.spec.js +32 -3
  266. package/dist/types/ArrayType.spec.js.map +1 -1
  267. package/dist/types/AssociativeArrayType.d.ts +11 -0
  268. package/dist/types/AssociativeArrayType.js +52 -0
  269. package/dist/types/AssociativeArrayType.js.map +1 -0
  270. package/dist/types/BaseFunctionType.d.ts +9 -0
  271. package/dist/types/BaseFunctionType.js +25 -0
  272. package/dist/types/BaseFunctionType.js.map +1 -0
  273. package/dist/types/BooleanType.d.ts +2 -1
  274. package/dist/types/BooleanType.js +8 -2
  275. package/dist/types/BooleanType.js.map +1 -1
  276. package/dist/types/BscType.d.ts +10 -6
  277. package/dist/types/BscType.js +69 -16
  278. package/dist/types/BscType.js.map +1 -1
  279. package/dist/types/BscTypeKind.d.ts +3 -0
  280. package/dist/types/BscTypeKind.js +3 -0
  281. package/dist/types/BscTypeKind.js.map +1 -1
  282. package/dist/types/BuiltInInterfaceAdder.d.ts +23 -0
  283. package/dist/types/BuiltInInterfaceAdder.js +157 -0
  284. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  285. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  286. package/dist/types/BuiltInInterfaceAdder.spec.js +116 -0
  287. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  288. package/dist/types/ClassType.d.ts +10 -4
  289. package/dist/types/ClassType.js +32 -5
  290. package/dist/types/ClassType.js.map +1 -1
  291. package/dist/types/ClassType.spec.js +5 -3
  292. package/dist/types/ClassType.spec.js.map +1 -1
  293. package/dist/types/ComponentType.d.ts +26 -0
  294. package/dist/types/ComponentType.js +83 -0
  295. package/dist/types/ComponentType.js.map +1 -0
  296. package/dist/types/DoubleType.d.ts +2 -1
  297. package/dist/types/DoubleType.js +9 -2
  298. package/dist/types/DoubleType.js.map +1 -1
  299. package/dist/types/DynamicType.d.ts +2 -2
  300. package/dist/types/DynamicType.js +3 -1
  301. package/dist/types/DynamicType.js.map +1 -1
  302. package/dist/types/EnumType.d.ts +24 -6
  303. package/dist/types/EnumType.js +29 -7
  304. package/dist/types/EnumType.js.map +1 -1
  305. package/dist/types/FloatType.d.ts +2 -1
  306. package/dist/types/FloatType.js +9 -2
  307. package/dist/types/FloatType.js.map +1 -1
  308. package/dist/types/FunctionType.d.ts +8 -20
  309. package/dist/types/FunctionType.js +17 -45
  310. package/dist/types/FunctionType.js.map +1 -1
  311. package/dist/types/InheritableType.d.ts +7 -4
  312. package/dist/types/InheritableType.js +67 -3
  313. package/dist/types/InheritableType.js.map +1 -1
  314. package/dist/types/IntegerType.d.ts +2 -1
  315. package/dist/types/IntegerType.js +9 -2
  316. package/dist/types/IntegerType.js.map +1 -1
  317. package/dist/types/InterfaceType.d.ts +6 -4
  318. package/dist/types/InterfaceType.js +8 -11
  319. package/dist/types/InterfaceType.js.map +1 -1
  320. package/dist/types/InterfaceType.spec.js +30 -2
  321. package/dist/types/InterfaceType.spec.js.map +1 -1
  322. package/dist/types/InvalidType.d.ts +2 -1
  323. package/dist/types/InvalidType.js +7 -1
  324. package/dist/types/InvalidType.js.map +1 -1
  325. package/dist/types/LongIntegerType.d.ts +2 -1
  326. package/dist/types/LongIntegerType.js +9 -2
  327. package/dist/types/LongIntegerType.js.map +1 -1
  328. package/dist/types/NamespaceType.d.ts +2 -1
  329. package/dist/types/NamespaceType.js +3 -0
  330. package/dist/types/NamespaceType.js.map +1 -1
  331. package/dist/types/ObjectType.d.ts +2 -2
  332. package/dist/types/ObjectType.js +5 -10
  333. package/dist/types/ObjectType.js.map +1 -1
  334. package/dist/types/ReferenceType.d.ts +15 -3
  335. package/dist/types/ReferenceType.js +173 -24
  336. package/dist/types/ReferenceType.js.map +1 -1
  337. package/dist/types/ReferenceType.spec.js +21 -6
  338. package/dist/types/ReferenceType.spec.js.map +1 -1
  339. package/dist/types/StringType.d.ts +2 -1
  340. package/dist/types/StringType.js +9 -2
  341. package/dist/types/StringType.js.map +1 -1
  342. package/dist/types/TypedFunctionType.d.ts +33 -0
  343. package/dist/types/TypedFunctionType.js +106 -0
  344. package/dist/types/TypedFunctionType.js.map +1 -0
  345. package/dist/types/TypedFunctionType.spec.d.ts +1 -0
  346. package/dist/types/TypedFunctionType.spec.js +122 -0
  347. package/dist/types/TypedFunctionType.spec.js.map +1 -0
  348. package/dist/types/UninitializedType.d.ts +2 -1
  349. package/dist/types/UninitializedType.js +1 -1
  350. package/dist/types/UninitializedType.js.map +1 -1
  351. package/dist/types/UnionType.d.ts +4 -2
  352. package/dist/types/UnionType.js +36 -4
  353. package/dist/types/UnionType.js.map +1 -1
  354. package/dist/types/UnionType.spec.js +46 -19
  355. package/dist/types/UnionType.spec.js.map +1 -1
  356. package/dist/types/VoidType.d.ts +2 -1
  357. package/dist/types/VoidType.js +7 -2
  358. package/dist/types/VoidType.js.map +1 -1
  359. package/dist/types/helper.spec.js +15 -0
  360. package/dist/types/helper.spec.js.map +1 -1
  361. package/dist/types/helpers.d.ts +5 -0
  362. package/dist/types/helpers.js +50 -3
  363. package/dist/types/helpers.js.map +1 -1
  364. package/dist/types/index.d.ts +1 -1
  365. package/dist/types/index.js +1 -1
  366. package/dist/types/index.js.map +1 -1
  367. package/dist/util.d.ts +71 -15
  368. package/dist/util.js +578 -150
  369. package/dist/util.js.map +1 -1
  370. package/dist/validators/ClassValidator.d.ts +0 -1
  371. package/dist/validators/ClassValidator.js +0 -22
  372. package/dist/validators/ClassValidator.js.map +1 -1
  373. package/package.json +3 -2
  374. package/dist/astUtils/AstEditor.js.map +0 -1
  375. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  376. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
  377. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -31
  378. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  379. package/dist/types/FunctionType.spec.js +0 -23
  380. package/dist/types/FunctionType.spec.js.map +0 -1
  381. /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
  382. /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → completions/CompletionsProcessor.spec.d.ts} +0 -0
  383. /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/serialize/BslibInjector.spec.d.ts} +0 -0
@@ -7,7 +7,6 @@ const vscode_languageserver_1 = require("vscode-languageserver");
7
7
  const fsExtra = require("fs-extra");
8
8
  const DiagnosticMessages_1 = require("../DiagnosticMessages");
9
9
  const Program_1 = require("../Program");
10
- const BrsFile_1 = require("./BrsFile");
11
10
  const XmlFile_1 = require("./XmlFile");
12
11
  const util_1 = require("../util");
13
12
  const testHelpers_spec_1 = require("../testHelpers.spec");
@@ -24,8 +23,12 @@ describe('XmlFile', () => {
24
23
  fsExtra.emptyDirSync(testHelpers_spec_2.tempDir);
25
24
  fsExtra.ensureDirSync(testHelpers_spec_2.rootDir);
26
25
  fsExtra.ensureDirSync(testHelpers_spec_2.stagingDir);
27
- program = new Program_1.Program({ rootDir: testHelpers_spec_2.rootDir });
28
- file = new XmlFile_1.XmlFile(`${testHelpers_spec_2.rootDir}/components/MainComponent.xml`, 'components/MainComponent.xml', program);
26
+ program = new Program_1.Program({ rootDir: testHelpers_spec_2.rootDir, stagingDir: testHelpers_spec_2.stagingDir });
27
+ file = new XmlFile_1.XmlFile({
28
+ srcPath: `${testHelpers_spec_2.rootDir}/components/MainComponent.xml`,
29
+ destPath: 'components/MainComponent.xml',
30
+ program: program
31
+ });
29
32
  });
30
33
  afterEach(() => {
31
34
  sinon.restore();
@@ -36,8 +39,9 @@ describe('XmlFile', () => {
36
39
  const expected = 'OtherName';
37
40
  program.plugins.add({
38
41
  name: 'allows modifying the parsed XML model',
39
- afterFileParse: (file) => {
42
+ afterProvideFile: (event) => {
40
43
  var _a, _b, _c;
44
+ const file = event.files[0];
41
45
  if ((0, reflection_1.isXmlFile)(file) && ((_c = (_b = (_a = file.parser.ast.rootElement) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.value)) {
42
46
  file.parser.ast.rootElement.attributes[0].value = expected;
43
47
  }
@@ -51,7 +55,7 @@ describe('XmlFile', () => {
51
55
  (0, chai_config_spec_1.expect)(file.componentName.text).to.equal(expected);
52
56
  });
53
57
  it('only removes specified attribute when calling setAttribute', () => {
54
- file = new XmlFile_1.XmlFile('abs', 'rel', program);
58
+ const file = new XmlFile_1.XmlFile({ srcPath: 'abs', destPath: 'rel', program: program });
55
59
  program.plugins.add({
56
60
  name: 'allows modifying the parsed XML model',
57
61
  afterFileParse: () => {
@@ -86,7 +90,7 @@ describe('XmlFile', () => {
86
90
  <script type="text/brightscript" uri="ChildScene.bs" />
87
91
  </component>
88
92
  `);
89
- (0, chai_config_spec_1.expect)(file.scriptTagImports.map(x => x.pkgPath)[0]).to.equal((0, util_1.standardizePath) `components/ChildScene.bs`);
93
+ (0, chai_config_spec_1.expect)(file.scriptTagImports.map(x => x.destPath)[0]).to.equal((0, util_1.standardizePath) `components/ChildScene.bs`);
90
94
  });
91
95
  it('does not include commented-out script imports', () => {
92
96
  var _a, _b;
@@ -99,10 +103,10 @@ describe('XmlFile', () => {
99
103
  -->
100
104
  </component>
101
105
  `);
102
- (0, chai_config_spec_1.expect)((_b = (_a = file.scriptTagImports) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.pkgPath).to.eql((0, util_1.standardizePath) `components/ChildScene.brs`);
106
+ (0, chai_config_spec_1.expect)((_b = (_a = file.scriptTagImports) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.destPath).to.eql((0, util_1.standardizePath) `components/ChildScene.brs`);
103
107
  });
104
108
  it('finds scripts when more than one per line', () => {
105
- file = new XmlFile_1.XmlFile('abs', 'rel', program);
109
+ file = new XmlFile_1.XmlFile({ srcPath: 'abs', destPath: 'rel', program: program });
106
110
  file.parse((0, testHelpers_spec_1.trim) `
107
111
  <?xml version="1.0" encoding="utf-8" ?>
108
112
  <component name="ChildScene" extends="Scene">
@@ -124,7 +128,7 @@ describe('XmlFile', () => {
124
128
  });
125
129
  });
126
130
  it('finds component names', () => {
127
- file = new XmlFile_1.XmlFile('abs', 'rel', program);
131
+ file = new XmlFile_1.XmlFile({ srcPath: 'abs', destPath: 'rel', program: program });
128
132
  file.parse((0, testHelpers_spec_1.trim) `
129
133
  <?xml version="1.0" encoding="utf-8" ?>
130
134
  <component name="ChildScene" extends="ParentScene">
@@ -135,7 +139,7 @@ describe('XmlFile', () => {
135
139
  (0, chai_config_spec_1.expect)(file.componentName.text).to.equal('ChildScene');
136
140
  });
137
141
  it('Adds error when whitespace appears before the prolog', () => {
138
- file = new XmlFile_1.XmlFile('abs', 'rel', program);
142
+ file = new XmlFile_1.XmlFile({ srcPath: 'abs', destPath: 'rel', program: program });
139
143
  file.parse(/* not trimmed */ `
140
144
  <?xml version="1.0" encoding="utf-8" ?>
141
145
  <component name="ChildScene" extends="ParentScene">
@@ -149,7 +153,7 @@ describe('XmlFile', () => {
149
153
  (0, chai_config_spec_1.expect)(file.diagnostics[1]).to.deep.include(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlGenericParseError('Syntax error: whitespace found before the XML prolog')), { range: vscode_languageserver_1.Range.create(0, 0, 1, 16) }));
150
154
  });
151
155
  it('Adds error when an unknown tag is found in xml', () => {
152
- file = new XmlFile_1.XmlFile('abs', 'rel', program);
156
+ file = new XmlFile_1.XmlFile({ srcPath: 'abs', destPath: 'rel', program: program });
153
157
  file.parse((0, testHelpers_spec_1.trim) `
154
158
  <?xml version="1.0" encoding="utf-8" ?>
155
159
  <component name="ChildScene" extends="ParentScene">
@@ -200,7 +204,7 @@ describe('XmlFile', () => {
200
204
  });
201
205
  });
202
206
  it('finds script imports', () => {
203
- file = new XmlFile_1.XmlFile('abspath/components/cmp1.xml', 'components/cmp1.xml', program);
207
+ file = new XmlFile_1.XmlFile({ srcPath: 'abspath/components/cmp1.xml', destPath: 'components/cmp1.xml', program: program });
204
208
  file.parse((0, testHelpers_spec_1.trim) `
205
209
  <?xml version="1.0" encoding="utf-8" ?>
206
210
  <component name="Cmp1" extends="Scene">
@@ -211,12 +215,12 @@ describe('XmlFile', () => {
211
215
  (0, chai_config_spec_1.expect)(file.scriptTagImports[0]).to.deep.include({
212
216
  sourceFile: file,
213
217
  text: 'pkg:/components/cmp1.brs',
214
- pkgPath: `components${path.sep}cmp1.brs`,
218
+ destPath: `components${path.sep}cmp1.brs`,
215
219
  filePathRange: vscode_languageserver_1.Range.create(2, 42, 2, 66)
216
220
  });
217
221
  });
218
222
  it('throws an error if the file has already been parsed', () => {
219
- file = new XmlFile_1.XmlFile('abspath', 'relpath', program);
223
+ file = new XmlFile_1.XmlFile({ srcPath: 'abspath', destPath: 'relpath', program: program });
220
224
  file.parse('a comment');
221
225
  try {
222
226
  file.parse(`'a new comment`);
@@ -236,7 +240,7 @@ describe('XmlFile', () => {
236
240
  (0, chai_config_spec_1.expect)(file.scriptTagImports.length).to.equal(1);
237
241
  (0, chai_config_spec_1.expect)(file.scriptTagImports[0]).to.deep.include({
238
242
  text: 'cmp1.brs',
239
- pkgPath: `components${path.sep}cmp1.brs`
243
+ destPath: `components${path.sep}cmp1.brs`
240
244
  });
241
245
  });
242
246
  it('finds correct position for empty uri in script tag', () => {
@@ -310,41 +314,6 @@ describe('XmlFile', () => {
310
314
  (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
311
315
  });
312
316
  });
313
- describe('getCompletions', () => {
314
- it('formats completion paths with proper slashes', () => {
315
- let scriptPath = (0, util_1.standardizePath) `C:/app/components/component1/component1.brs`;
316
- program.files[scriptPath] = new BrsFile_1.BrsFile(scriptPath, (0, util_1.standardizePath) `components/component1/component1.brs`, program);
317
- let xmlFile = new XmlFile_1.XmlFile((0, util_1.standardizePath) `${testHelpers_spec_2.rootDir}/components/component1/component1.xml`, (0, util_1.standardizePath) `components/component1/component1.xml`, program);
318
- xmlFile.parser.references.scriptTagImports.push({
319
- pkgPath: (0, util_1.standardizePath) `components/component1/component1.brs`,
320
- text: 'component1.brs',
321
- filePathRange: vscode_languageserver_1.Range.create(1, 1, 1, 1)
322
- });
323
- (0, chai_config_spec_1.expect)(xmlFile.getCompletions(vscode_languageserver_1.Position.create(1, 1))[0]).to.include({
324
- label: 'component1.brs',
325
- kind: vscode_languageserver_1.CompletionItemKind.File
326
- });
327
- (0, chai_config_spec_1.expect)(xmlFile.getCompletions(vscode_languageserver_1.Position.create(1, 1))[1]).to.include({
328
- label: 'pkg:/components/component1/component1.brs',
329
- kind: vscode_languageserver_1.CompletionItemKind.File
330
- });
331
- });
332
- it('returns empty set when out of range', () => {
333
- program.setFile('components/component1.brs', ``);
334
- (0, chai_config_spec_1.expect)(file.getCompletions(vscode_languageserver_1.Position.create(99, 99))).to.be.empty;
335
- });
336
- //TODO - refine this test once cdata scripts are supported
337
- it('prevents scope completions entirely', () => {
338
- program.setFile('components/component1.brs', ``);
339
- let xmlFile = program.setFile('components/component1.xml', (0, testHelpers_spec_1.trim) `
340
- <?xml version="1.0" encoding="utf-8" ?>
341
- <component name="ParentScene" extends="GrandparentScene">
342
- <script type="text/brightscript" uri="./Component1.brs" />
343
- </component>
344
- `);
345
- (0, chai_config_spec_1.expect)(program.getCompletions(xmlFile.srcPath, vscode_languageserver_1.Position.create(1, 1))).to.be.empty;
346
- });
347
- });
348
317
  describe('getAllDependencies', () => {
349
318
  it('returns own imports', () => {
350
319
  file = program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
@@ -500,8 +469,8 @@ describe('XmlFile', () => {
500
469
  ]);
501
470
  });
502
471
  describe('transpile', () => {
503
- it('handles single quotes properly', () => {
504
- testTranspile((0, testHelpers_spec_1.trim) `
472
+ it('handles single quotes properly', async () => {
473
+ await testTranspile((0, testHelpers_spec_1.trim) `
505
474
  <?xml version="1.0" encoding="utf-8" ?>
506
475
  <component name="AnimationExample" extends="Scene">
507
476
  <children>
@@ -535,6 +504,7 @@ describe('XmlFile', () => {
535
504
  await builder.run({
536
505
  cwd: testHelpers_spec_2.rootDir,
537
506
  retainStagingDir: true,
507
+ createPackage: false,
538
508
  stagingDir: testHelpers_spec_2.stagingDir,
539
509
  logLevel: Logger_1.LogLevel.off
540
510
  });
@@ -553,9 +523,9 @@ describe('XmlFile', () => {
553
523
  it(`honors the 'needsTranspiled' flag when set in 'afterFileParse'`, () => {
554
524
  program.plugins.add({
555
525
  name: 'test',
556
- afterFileParse: (file) => {
526
+ afterProvideFile: (event) => {
557
527
  //enable transpile for every file
558
- file.needsTranspiled = true;
528
+ event.files[0].needsTranspiled = true;
559
529
  }
560
530
  });
561
531
  const file = program.setFile('components/file.xml', (0, testHelpers_spec_1.trim) `
@@ -563,10 +533,10 @@ describe('XmlFile', () => {
563
533
  <component name="Comp" extends="Group">
564
534
  </component>
565
535
  `);
566
- (0, chai_config_spec_1.expect)(file.needsTranspiled).to.be.true;
536
+ (0, chai_config_spec_1.expect)(file['needsTranspiled']).to.be.true;
567
537
  });
568
- it('includes bslib script', () => {
569
- testTranspile((0, testHelpers_spec_1.trim) `
538
+ it('includes bslib script', async () => {
539
+ await testTranspile((0, testHelpers_spec_1.trim) `
570
540
  <?xml version="1.0" encoding="utf-8" ?>
571
541
  <component name="Comp" extends="Group">
572
542
  </component>
@@ -577,8 +547,8 @@ describe('XmlFile', () => {
577
547
  </component>
578
548
  `, 'none', 'components/Comp.xml');
579
549
  });
580
- it('does not include additional bslib script if already there ', () => {
581
- testTranspile((0, testHelpers_spec_1.trim) `
550
+ it('does not include additional bslib script if already there ', async () => {
551
+ await testTranspile((0, testHelpers_spec_1.trim) `
582
552
  <?xml version="1.0" encoding="utf-8" ?>
583
553
  <component name="Comp" extends="Group">
584
554
  <script type="text/brightscript" uri="pkg:/source/bslib.brs" />
@@ -590,11 +560,11 @@ describe('XmlFile', () => {
590
560
  </component>
591
561
  `, 'none', 'components/child.xml');
592
562
  });
593
- it('does not include bslib script if already there from ropm', () => {
563
+ it('does not include bslib script if already there from ropm', async () => {
594
564
  program.setFile('source/roku_modules/bslib/bslib.brs', ``);
595
565
  program.setFile('source/lib.bs', ``);
596
566
  //include a bs file to force transpile for the xml file
597
- testTranspile((0, testHelpers_spec_1.trim) `
567
+ await testTranspile((0, testHelpers_spec_1.trim) `
598
568
  <?xml version="1.0" encoding="utf-8" ?>
599
569
  <component name="Comp" extends="Group">
600
570
  <script type="text/brightscript" uri="pkg:/source/lib.bs" />
@@ -617,7 +587,7 @@ describe('XmlFile', () => {
617
587
  `);
618
588
  program.validate();
619
589
  (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
620
- (0, chai_config_spec_1.expect)(file.needsTranspiled).to.be.false;
590
+ (0, chai_config_spec_1.expect)(file['needsTranspiled']).to.be.false;
621
591
  });
622
592
  /**
623
593
  * There was a bug that would incorrectly replace one of the script paths on the second or third transpile, so this test verifies it doesn't do that anymore
@@ -637,19 +607,19 @@ describe('XmlFile', () => {
637
607
  <script type="text/brightscript" uri="pkg:/source/bslib.brs" />
638
608
  </component>
639
609
  `;
640
- await program.transpile([], testHelpers_spec_2.stagingDir);
610
+ await program.build();
641
611
  (0, chai_config_spec_1.expect)((0, testHelpers_spec_1.trim)(fsExtra.readFileSync(`${testHelpers_spec_2.stagingDir}/components/SimpleScene.xml`).toString())).to.eql(expected);
642
612
  //clear the output folder
643
613
  fsExtra.emptyDirSync(testHelpers_spec_2.stagingDir);
644
- await program.transpile([], testHelpers_spec_2.stagingDir);
614
+ await program.build();
645
615
  (0, chai_config_spec_1.expect)((0, testHelpers_spec_1.trim)(fsExtra.readFileSync(`${testHelpers_spec_2.stagingDir}/components/SimpleScene.xml`).toString())).to.eql(expected);
646
616
  });
647
- it('injects new scripts near existing scripts', () => {
617
+ it('injects new scripts near existing scripts', async () => {
648
618
  program.setFile(`components/SimpleScene.bs`, `
649
619
  sub b()
650
620
  end sub
651
621
  `);
652
- testTranspile((0, testHelpers_spec_1.trim) `
622
+ await testTranspile((0, testHelpers_spec_1.trim) `
653
623
  <component name="SimpleScene" extends="group">
654
624
  <script type="text/brightscript" uri="SimpleScene.bs"/>
655
625
  <children>
@@ -670,13 +640,13 @@ describe('XmlFile', () => {
670
640
  </component>
671
641
  `, 'none', 'components/SimpleScene.xml');
672
642
  });
673
- it('injects new scripts at top of component when no scripts were present', () => {
643
+ it('injects new scripts at top of component when no scripts were present', async () => {
674
644
  program.setFile(`components/SimpleScene.bs`, `
675
645
  sub b()
676
646
  end sub
677
647
  `);
678
648
  program.options.autoImportComponentScript = true;
679
- testTranspile((0, testHelpers_spec_1.trim) `
649
+ await testTranspile((0, testHelpers_spec_1.trim) `
680
650
  <component name="SimpleScene" extends="group">
681
651
  <children>
682
652
  <aa id="aa">
@@ -696,12 +666,12 @@ describe('XmlFile', () => {
696
666
  </component>
697
667
  `, 'none', 'components/SimpleScene.xml');
698
668
  });
699
- it('keeps all content of the XML', () => {
669
+ it('keeps all content of the XML', async () => {
700
670
  program.setFile(`components/SimpleScene.bs`, `
701
671
  sub b()
702
672
  end sub
703
673
  `);
704
- testTranspile((0, testHelpers_spec_1.trim) `
674
+ await testTranspile((0, testHelpers_spec_1.trim) `
705
675
  <?xml version="1.0" encoding="utf-8" ?>
706
676
  <component
707
677
  name="SimpleScene" extends="Scene"
@@ -736,12 +706,12 @@ describe('XmlFile', () => {
736
706
  </component>
737
707
  `, 'none', 'components/SimpleScene.xml');
738
708
  });
739
- it('changes file extensions from bs to brs', () => {
709
+ it('changes file extensions from bs to brs', async () => {
740
710
  program.setFile(`components/SimpleScene.bs`, `
741
711
  import "pkg:/source/lib.bs"
742
712
  `);
743
713
  program.setFile('source/lib.bs', ``);
744
- testTranspile((0, testHelpers_spec_1.trim) `
714
+ await testTranspile((0, testHelpers_spec_1.trim) `
745
715
  <?xml version="1.0" encoding="utf-8" ?>
746
716
  <component name="SimpleScene" extends="Scene">
747
717
  <script type="text/brighterscript" uri="SimpleScene.bs"/>
@@ -755,9 +725,9 @@ describe('XmlFile', () => {
755
725
  </component>
756
726
  `, 'none', 'components/SimpleScene.xml');
757
727
  });
758
- it('does not fail on missing script type', () => {
728
+ it('does not fail on missing script type', async () => {
759
729
  program.setFile('components/SimpleScene.brs', '');
760
- testTranspile((0, testHelpers_spec_1.trim) `
730
+ await testTranspile((0, testHelpers_spec_1.trim) `
761
731
  <?xml version="1.0" encoding="utf-8" ?>
762
732
  <component name="SimpleScene" extends="Scene">
763
733
  <script uri="SimpleScene.brs"/>
@@ -794,7 +764,7 @@ describe('XmlFile', () => {
794
764
  <component name="SimpleScene" extends="Scene" >
795
765
  </component>
796
766
  `);
797
- (0, chai_config_spec_1.expect)(file.needsTranspiled).to.be.false;
767
+ (0, chai_config_spec_1.expect)(file['needsTranspiled']).to.be.false;
798
768
  });
799
769
  it('needsTranspiled is true if an import is brighterscript', () => {
800
770
  let file = program.setFile('components/SimpleScene.xml', (0, testHelpers_spec_1.trim) `
@@ -803,7 +773,7 @@ describe('XmlFile', () => {
803
773
  <script type="text/brightscript" uri="SimpleScene.bs"/>
804
774
  </component>
805
775
  `);
806
- (0, chai_config_spec_1.expect)(file.needsTranspiled).to.be.true;
776
+ (0, chai_config_spec_1.expect)(file['needsTranspiled']).to.be.true;
807
777
  });
808
778
  it('simple source mapping includes sourcemap reference', () => {
809
779
  program.options.sourceMap = true;
@@ -824,7 +794,7 @@ describe('XmlFile', () => {
824
794
  <component name="SimpleScene" extends="Scene">
825
795
  </component>
826
796
  `);
827
- file.needsTranspiled = true;
797
+ file['needsTranspiled'] = true;
828
798
  const code = file.transpile().code;
829
799
  (0, chai_config_spec_1.expect)(code.endsWith(`<!--//# sourceMappingURL=./SimpleScene.xml.map -->`)).to.be.true;
830
800
  });
@@ -837,7 +807,7 @@ describe('XmlFile', () => {
837
807
  });
838
808
  program.plugins.add({
839
809
  name: 'Transform plugins',
840
- afterFileParse: file => validateXml(file)
810
+ onFileValidate: event => validateXml(event.file)
841
811
  });
842
812
  file = program.setFile('components/component.xml', (0, testHelpers_spec_1.trim) `
843
813
  <?xml version="1.0" encoding="utf-8" ?>
@@ -857,14 +827,16 @@ describe('XmlFile', () => {
857
827
  it('plugin diagnostics work for xml files', () => {
858
828
  program.plugins.add({
859
829
  name: 'Xml diagnostic test',
860
- afterFileParse: (file) => {
861
- if (file.srcPath.endsWith('.xml')) {
862
- file.addDiagnostics([{
830
+ afterProvideFile: (event) => {
831
+ for (const file of event.files) {
832
+ if (file.srcPath.endsWith('.xml')) {
833
+ file.diagnostics.push({
863
834
  file: file,
864
835
  message: 'Test diagnostic',
865
836
  range: vscode_languageserver_1.Range.create(0, 0, 0, 0),
866
837
  code: 9999
867
- }]);
838
+ });
839
+ }
868
840
  }
869
841
  }
870
842
  });
@@ -941,7 +913,7 @@ describe('XmlFile', () => {
941
913
  `);
942
914
  (0, chai_config_spec_1.expect)(program.getScopesForFile(xmlFile)[0].getAllCallables().map(x => x.callable.name)).to.include('logInfo');
943
915
  });
944
- it('does not include `d.bs` script during transpile', () => {
916
+ it('does not include `d.bs` script during transpile', async () => {
945
917
  program.setFile('source/logger.d.bs', `
946
918
  sub logInfo()
947
919
  end sub
@@ -955,7 +927,7 @@ describe('XmlFile', () => {
955
927
  sub init()
956
928
  end sub
957
929
  `);
958
- testTranspile((0, testHelpers_spec_1.trim) `
930
+ await testTranspile((0, testHelpers_spec_1.trim) `
959
931
  <?xml version="1.0" encoding="utf-8" ?>
960
932
  <component name="Component1" extends="Scene">
961
933
  <script type="text/brighterscript" uri="Component1.bs" />
@@ -1049,7 +1021,7 @@ describe('XmlFile', () => {
1049
1021
  program.validate();
1050
1022
  (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
1051
1023
  });
1052
- it('ignores warning from previous line just for the specified code', () => {
1024
+ it('ignores a specific diagnostic on next line', () => {
1053
1025
  //component without a name attribute
1054
1026
  program.setFile('components/file.xml', (0, testHelpers_spec_1.trim) `
1055
1027
  <?xml version="1.0" encoding="utf-8" ?>
@@ -1062,7 +1034,7 @@ describe('XmlFile', () => {
1062
1034
  DiagnosticMessages_1.DiagnosticMessages.xmlComponentMissingExtendsAttribute()
1063
1035
  ]);
1064
1036
  });
1065
- it('ignores warning from previous line comment', () => {
1037
+ it('ignores all warnings from previous line comment', () => {
1066
1038
  //component without a name attribute
1067
1039
  program.setFile('components/file.xml', (0, testHelpers_spec_1.trim) `
1068
1040
  <?xml version="1.0" encoding="utf-8" ?>
@@ -1076,7 +1048,7 @@ describe('XmlFile', () => {
1076
1048
  //component without a name attribute
1077
1049
  program.setFile('components/file.xml', (0, testHelpers_spec_1.trim) `
1078
1050
  <?xml version="1.0" encoding="utf-8" ?>
1079
- <component> <!--bs:disable-line 1006-->
1051
+ <component name="ButtonCustom"> <!--bs:disable-line 1006-->
1080
1052
  </component>
1081
1053
  `);
1082
1054
  program.validate();
@@ -1115,17 +1087,17 @@ describe('XmlFile', () => {
1115
1087
  <component name="comp1">
1116
1088
  </component>
1117
1089
  `);
1118
- (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.pkgPath).to.equal(comp2.pkgPath);
1090
+ (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.destPath).to.equal(comp2.destPath);
1119
1091
  //add comp1. it should become the main component with this name
1120
1092
  const comp1 = program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
1121
1093
  <?xml version="1.0" encoding="utf-8" ?>
1122
1094
  <component name="comp1" extends="Group">
1123
1095
  </component>
1124
1096
  `);
1125
- (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.pkgPath).to.equal(comp1.pkgPath);
1097
+ (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.destPath).to.equal(comp1.destPath);
1126
1098
  //remove comp1, comp2 should be the primary again
1127
1099
  program.removeFile((0, util_1.standardizePath) `${testHelpers_spec_2.rootDir}/components/comp1.xml`);
1128
- (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.pkgPath).to.equal(comp2.pkgPath);
1100
+ (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.destPath).to.equal(comp2.destPath);
1129
1101
  //add comp3
1130
1102
  program.setFile('components/comp3.xml', (0, testHelpers_spec_1.trim) `
1131
1103
  <?xml version="1.0" encoding="utf-8" ?>
@@ -1133,7 +1105,7 @@ describe('XmlFile', () => {
1133
1105
  </component>
1134
1106
  `);
1135
1107
  //...the 2nd file should still be main
1136
- (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.pkgPath).to.equal(comp2.pkgPath);
1108
+ (0, chai_config_spec_1.expect)(program.getComponent('comp1').file.destPath).to.equal(comp2.destPath);
1137
1109
  });
1138
1110
  });
1139
1111
  });
@@ -1 +1 @@
1
- {"version":3,"file":"XmlFile.spec.js","sourceRoot":"","sources":["../../src/files/XmlFile.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XmlFile.spec.js","sourceRoot":"","sources":["../../src/files/XmlFile.spec.ts"],"names":[],"mappings":"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"}