adnbn 0.5.6 → 0.6.0

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 (505) hide show
  1. package/dist/cli/builders/app/command.d.ts +3 -6
  2. package/dist/cli/builders/app/index.d.ts +2 -14
  3. package/dist/cli/builders/locale/FirefoxLocaleValidator.d.ts +4 -7
  4. package/dist/cli/builders/locale/LocaleBuilder.d.ts +3 -6
  5. package/dist/cli/builders/locale/LocaleBuilder.js +3 -1
  6. package/dist/cli/builders/locale/LocaleBuilder.js.map +1 -1
  7. package/dist/cli/builders/locale/LocaleStructureValidator.d.ts +8 -0
  8. package/dist/cli/builders/locale/LocaleStructureValidator.js +64 -0
  9. package/dist/cli/builders/locale/LocaleStructureValidator.js.map +1 -0
  10. package/dist/cli/builders/locale/LocaleValidator.d.ts +4 -7
  11. package/dist/cli/builders/locale/LocaleValidator.js +2 -0
  12. package/dist/cli/builders/locale/LocaleValidator.js.map +1 -1
  13. package/dist/cli/builders/locale/OperaLocaleValidator.d.ts +4 -7
  14. package/dist/cli/builders/locale/index.d.ts +10 -19
  15. package/dist/cli/builders/locale/index.js +2 -0
  16. package/dist/cli/builders/locale/index.js.map +1 -1
  17. package/dist/cli/builders/manifest/ManifestBase.d.ts +30 -18
  18. package/dist/cli/builders/manifest/ManifestBase.js +212 -70
  19. package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
  20. package/dist/cli/builders/manifest/ManifestV2.d.ts +5 -12
  21. package/dist/cli/builders/manifest/ManifestV2.js +8 -7
  22. package/dist/cli/builders/manifest/ManifestV2.js.map +1 -1
  23. package/dist/cli/builders/manifest/ManifestV3.d.ts +5 -12
  24. package/dist/cli/builders/manifest/ManifestV3.js +9 -6
  25. package/dist/cli/builders/manifest/ManifestV3.js.map +1 -1
  26. package/dist/cli/builders/manifest/index.d.ts +3 -14
  27. package/dist/cli/builders/manifest/utils.d.ts +10 -15
  28. package/dist/cli/builders/manifest/utils.js +14 -2
  29. package/dist/cli/builders/manifest/utils.js.map +1 -1
  30. package/dist/cli/bundler/index.d.ts +2 -16
  31. package/dist/cli/bundler/plugins/EntrypointPlugin.d.ts +10 -19
  32. package/dist/cli/bundler/plugins/EntrypointPlugin.js +1 -0
  33. package/dist/cli/bundler/plugins/EntrypointPlugin.js.map +1 -1
  34. package/dist/cli/bundler/plugins/GenerateJsonPlugin.d.ts +5 -7
  35. package/dist/cli/bundler/plugins/GenerateJsonPlugin.js +1 -0
  36. package/dist/cli/bundler/plugins/GenerateJsonPlugin.js.map +1 -1
  37. package/dist/cli/bundler/plugins/ManifestPlugin.d.ts +3 -11
  38. package/dist/cli/bundler/plugins/ManifestPlugin.js +1 -0
  39. package/dist/cli/bundler/plugins/ManifestPlugin.js.map +1 -1
  40. package/dist/cli/bundler/plugins/ReplacePlugin.d.ts +3 -5
  41. package/dist/cli/bundler/plugins/ReplacePlugin.js +1 -0
  42. package/dist/cli/bundler/plugins/ReplacePlugin.js.map +1 -1
  43. package/dist/cli/bundler/plugins/WatchPlugin.d.ts +3 -6
  44. package/dist/cli/bundler/plugins/WatchPlugin.js +1 -0
  45. package/dist/cli/bundler/plugins/WatchPlugin.js.map +1 -1
  46. package/dist/cli/bundler/plugins/index.d.ts +5 -14
  47. package/dist/cli/bundler/utils/index.d.ts +2 -3
  48. package/dist/cli/bundler/utils/optimization.d.ts +2 -6
  49. package/dist/cli/bundler/utils/optimization.js +10 -98
  50. package/dist/cli/bundler/utils/optimization.js.map +1 -1
  51. package/dist/cli/bundler/utils/output.d.ts +2 -5
  52. package/dist/cli/entrypoint/file/ExpressionFile.d.ts +4 -10
  53. package/dist/cli/entrypoint/file/OptionFile.d.ts +3 -9
  54. package/dist/cli/entrypoint/file/SourceFile.d.ts +7 -11
  55. package/dist/cli/entrypoint/file/SourceFile.js +1 -0
  56. package/dist/cli/entrypoint/file/SourceFile.js.map +1 -1
  57. package/dist/cli/entrypoint/file/index.d.ts +4 -8
  58. package/dist/cli/entrypoint/file/injectors/core.d.ts +2 -4
  59. package/dist/cli/entrypoint/file/injectors/index.d.ts +2 -4
  60. package/dist/cli/entrypoint/file/parsers/AbstractParser.d.ts +6 -12
  61. package/dist/cli/entrypoint/file/parsers/AbstractParser.js +1 -0
  62. package/dist/cli/entrypoint/file/parsers/AbstractParser.js.map +1 -1
  63. package/dist/cli/entrypoint/file/parsers/ClassParser.d.ts +9 -15
  64. package/dist/cli/entrypoint/file/parsers/ClassParser.js +3 -0
  65. package/dist/cli/entrypoint/file/parsers/ClassParser.js.map +1 -1
  66. package/dist/cli/entrypoint/file/parsers/FunctionParser.d.ts +9 -17
  67. package/dist/cli/entrypoint/file/parsers/FunctionParser.js +3 -0
  68. package/dist/cli/entrypoint/file/parsers/FunctionParser.js.map +1 -1
  69. package/dist/cli/entrypoint/file/parsers/JSDocParser.d.ts +2 -5
  70. package/dist/cli/entrypoint/file/parsers/NodeFinder.d.ts +4 -10
  71. package/dist/cli/entrypoint/file/parsers/NodeFinder.js +1 -0
  72. package/dist/cli/entrypoint/file/parsers/NodeFinder.js.map +1 -1
  73. package/dist/cli/entrypoint/file/parsers/ObjectParser.d.ts +7 -15
  74. package/dist/cli/entrypoint/file/parsers/ObjectParser.js +1 -0
  75. package/dist/cli/entrypoint/file/parsers/ObjectParser.js.map +1 -1
  76. package/dist/cli/entrypoint/file/parsers/SignatureBuilder.d.ts +4 -12
  77. package/dist/cli/entrypoint/file/parsers/SignatureBuilder.js +5 -4
  78. package/dist/cli/entrypoint/file/parsers/SignatureBuilder.js.map +1 -1
  79. package/dist/cli/entrypoint/file/parsers/TypeResolver.d.ts +5 -11
  80. package/dist/cli/entrypoint/file/parsers/TypeResolver.js +2 -0
  81. package/dist/cli/entrypoint/file/parsers/TypeResolver.js.map +1 -1
  82. package/dist/cli/entrypoint/file/parsers/helpers/memberFilters.d.ts +1 -3
  83. package/dist/cli/entrypoint/file/parsers/index.d.ts +7 -14
  84. package/dist/cli/entrypoint/file/parsers/types.d.ts +4 -6
  85. package/dist/cli/entrypoint/file/resolvers/ImportResolver.d.ts +2 -6
  86. package/dist/cli/entrypoint/file/resolvers/ImportResolver.js +1 -0
  87. package/dist/cli/entrypoint/file/resolvers/ImportResolver.js.map +1 -1
  88. package/dist/cli/entrypoint/file/resolvers/TsResolver.d.ts +2 -5
  89. package/dist/cli/entrypoint/file/resolvers/index.d.ts +2 -3
  90. package/dist/cli/entrypoint/file/types.d.ts +5 -7
  91. package/dist/cli/entrypoint/finder/AbstractAssetFinder.d.ts +3 -16
  92. package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.d.ts +4 -17
  93. package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.js +22 -17
  94. package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.js.map +1 -1
  95. package/dist/cli/entrypoint/finder/AbstractFinder.d.ts +4 -15
  96. package/dist/cli/entrypoint/finder/AbstractFinder.js +7 -2
  97. package/dist/cli/entrypoint/finder/AbstractFinder.js.map +1 -1
  98. package/dist/cli/entrypoint/finder/AbstractOptionsFinder.d.ts +3 -16
  99. package/dist/cli/entrypoint/finder/AbstractPluginFinder.d.ts +3 -18
  100. package/dist/cli/entrypoint/finder/AbstractTransportFinder.d.ts +9 -26
  101. package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +9 -24
  102. package/dist/cli/entrypoint/finder/AssetPluginFinder.d.ts +8 -19
  103. package/dist/cli/entrypoint/finder/AssetPluginFinder.js +2 -0
  104. package/dist/cli/entrypoint/finder/AssetPluginFinder.js.map +1 -1
  105. package/dist/cli/entrypoint/finder/BackgroundFinder.d.ts +5 -19
  106. package/dist/cli/entrypoint/finder/CommandFinder.d.ts +7 -22
  107. package/dist/cli/entrypoint/finder/ContentFinder.d.ts +5 -19
  108. package/dist/cli/entrypoint/finder/IconFinder.d.ts +12 -25
  109. package/dist/cli/entrypoint/finder/LocaleFinder.d.ts +14 -22
  110. package/dist/cli/entrypoint/finder/LocaleFinder.js +23 -9
  111. package/dist/cli/entrypoint/finder/LocaleFinder.js.map +1 -1
  112. package/dist/cli/entrypoint/finder/OffscreenFinder.d.ts +5 -26
  113. package/dist/cli/entrypoint/finder/OffscreenViewFinder.d.ts +8 -29
  114. package/dist/cli/entrypoint/finder/OffscreenViewFinder.js +1 -0
  115. package/dist/cli/entrypoint/finder/OffscreenViewFinder.js.map +1 -1
  116. package/dist/cli/entrypoint/finder/PageFinder.d.ts +5 -22
  117. package/dist/cli/entrypoint/finder/PluginFinder.d.ts +7 -19
  118. package/dist/cli/entrypoint/finder/PluginFinder.js +2 -0
  119. package/dist/cli/entrypoint/finder/PluginFinder.js.map +1 -1
  120. package/dist/cli/entrypoint/finder/PopupFinder.d.ts +5 -22
  121. package/dist/cli/entrypoint/finder/RelayFinder.d.ts +5 -25
  122. package/dist/cli/entrypoint/finder/ServiceFinder.d.ts +5 -25
  123. package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +5 -22
  124. package/dist/cli/entrypoint/finder/index.d.ts +18 -43
  125. package/dist/cli/entrypoint/index.d.ts +4 -64
  126. package/dist/cli/entrypoint/name/InlineNameGenerator.d.ts +2 -12
  127. package/dist/cli/entrypoint/name/NameGenerator.d.ts +2 -11
  128. package/dist/cli/entrypoint/name/NameGenerator.js +1 -0
  129. package/dist/cli/entrypoint/name/NameGenerator.js.map +1 -1
  130. package/dist/cli/entrypoint/name/index.d.ts +2 -9
  131. package/dist/cli/entrypoint/parser/AbstractParser.d.ts +14 -29
  132. package/dist/cli/entrypoint/parser/AbstractParser.js +1 -0
  133. package/dist/cli/entrypoint/parser/AbstractParser.js.map +1 -1
  134. package/dist/cli/entrypoint/parser/BackgroundParser.d.ts +3 -23
  135. package/dist/cli/entrypoint/parser/CommandParser.d.ts +4 -24
  136. package/dist/cli/entrypoint/parser/CommandParser.js +20 -5
  137. package/dist/cli/entrypoint/parser/CommandParser.js.map +1 -1
  138. package/dist/cli/entrypoint/parser/ContentParser.d.ts +4 -23
  139. package/dist/cli/entrypoint/parser/OffscreenParser.d.ts +3 -28
  140. package/dist/cli/entrypoint/parser/PageParser.d.ts +3 -26
  141. package/dist/cli/entrypoint/parser/PopupParser.d.ts +3 -26
  142. package/dist/cli/entrypoint/parser/RelayParser.d.ts +4 -27
  143. package/dist/cli/entrypoint/parser/ServiceParser.d.ts +3 -27
  144. package/dist/cli/entrypoint/parser/SidebarParser.d.ts +3 -26
  145. package/dist/cli/entrypoint/parser/ViewParser.d.ts +60 -80
  146. package/dist/cli/entrypoint/parser/index.d.ts +9 -38
  147. package/dist/cli/entrypoint/utils/framework.d.ts +3 -12
  148. package/dist/cli/entrypoint/utils/index.d.ts +2 -10
  149. package/dist/cli/entrypoint/utils/resolve.d.ts +3 -5
  150. package/dist/cli/index.d.ts +1 -2
  151. package/dist/cli/plugins/asset.d.ts +2 -15
  152. package/dist/cli/plugins/background/Background.d.ts +4 -21
  153. package/dist/cli/plugins/background/BackgroundEntry.d.ts +7 -21
  154. package/dist/cli/plugins/background/BackgroundEntry.js +1 -0
  155. package/dist/cli/plugins/background/BackgroundEntry.js.map +1 -1
  156. package/dist/cli/plugins/background/BackgroundManifest.d.ts +5 -21
  157. package/dist/cli/plugins/background/Command.d.ts +6 -23
  158. package/dist/cli/plugins/background/Service.d.ts +5 -27
  159. package/dist/cli/plugins/background/ServiceDeclaration.d.ts +3 -17
  160. package/dist/cli/plugins/background/index.d.ts +2 -15
  161. package/dist/cli/plugins/bundler.d.ts +2 -15
  162. package/dist/cli/plugins/content/Content.d.ts +9 -24
  163. package/dist/cli/plugins/content/ContentDriver.d.ts +7 -22
  164. package/dist/cli/plugins/content/ContentDriver.js +1 -0
  165. package/dist/cli/plugins/content/ContentDriver.js.map +1 -1
  166. package/dist/cli/plugins/content/ContentManager.d.ts +8 -19
  167. package/dist/cli/plugins/content/ContentName.d.ts +5 -17
  168. package/dist/cli/plugins/content/ContentName.js +1 -0
  169. package/dist/cli/plugins/content/ContentName.js.map +1 -1
  170. package/dist/cli/plugins/content/Relay.d.ts +9 -30
  171. package/dist/cli/plugins/content/RelayDeclaration.d.ts +3 -17
  172. package/dist/cli/plugins/content/index.d.ts +2 -15
  173. package/dist/cli/plugins/content/index.js +14 -3
  174. package/dist/cli/plugins/content/index.js.map +1 -1
  175. package/dist/cli/plugins/content/types.d.ts +8 -16
  176. package/dist/cli/plugins/content/utils.d.ts +2 -11
  177. package/dist/cli/plugins/dotenv/index.d.ts +3 -16
  178. package/dist/cli/plugins/dotenv/utils.d.ts +4 -7
  179. package/dist/cli/plugins/html.d.ts +2 -15
  180. package/dist/cli/plugins/icon/Icon.d.ts +6 -22
  181. package/dist/cli/plugins/icon/declaration/IconDeclaration.d.ts +3 -16
  182. package/dist/cli/plugins/icon/declaration/index.d.ts +1 -13
  183. package/dist/cli/plugins/icon/index.d.ts +4 -21
  184. package/dist/cli/plugins/index.d.ts +22 -58
  185. package/dist/cli/plugins/index.js +32 -30
  186. package/dist/cli/plugins/index.js.map +1 -1
  187. package/dist/cli/plugins/locale/Locale.d.ts +3 -20
  188. package/dist/cli/plugins/locale/declaration/LocaleDeclaration.d.ts +4 -16
  189. package/dist/cli/plugins/locale/declaration/index.d.ts +1 -13
  190. package/dist/cli/plugins/locale/declaration/locale.d.ts +61 -11
  191. package/dist/cli/plugins/locale/index.d.ts +2 -15
  192. package/dist/cli/plugins/locale/index.js +44 -49
  193. package/dist/cli/plugins/locale/index.js.map +1 -1
  194. package/dist/cli/plugins/manifest.d.ts +2 -0
  195. package/dist/cli/plugins/manifest.js +27 -0
  196. package/dist/cli/plugins/manifest.js.map +1 -0
  197. package/dist/cli/plugins/meta/AbstractMeta.d.ts +2 -15
  198. package/dist/cli/plugins/meta/AbstractMeta.js +1 -0
  199. package/dist/cli/plugins/meta/AbstractMeta.js.map +1 -1
  200. package/dist/cli/plugins/meta/Author.d.ts +3 -16
  201. package/dist/cli/plugins/meta/Homepage.d.ts +3 -16
  202. package/dist/cli/plugins/meta/Incognito.d.ts +4 -16
  203. package/dist/cli/plugins/meta/SpecificSettings.d.ts +4 -16
  204. package/dist/cli/plugins/meta/index.d.ts +7 -20
  205. package/dist/cli/plugins/offscreen/Offscreen.d.ts +11 -35
  206. package/dist/cli/plugins/offscreen/OffscreenDeclaration.d.ts +3 -17
  207. package/dist/cli/plugins/offscreen/index.d.ts +2 -15
  208. package/dist/cli/plugins/optimization.d.ts +2 -15
  209. package/dist/cli/plugins/optimization.js +42 -13
  210. package/dist/cli/plugins/optimization.js.map +1 -1
  211. package/dist/cli/plugins/output.d.ts +2 -15
  212. package/dist/cli/plugins/page/Page.d.ts +8 -26
  213. package/dist/cli/plugins/page/declaration/PageDeclaration.d.ts +3 -16
  214. package/dist/cli/plugins/page/declaration/index.d.ts +1 -13
  215. package/dist/cli/plugins/page/index.d.ts +2 -15
  216. package/dist/cli/plugins/popup/Popup.d.ts +9 -27
  217. package/dist/cli/plugins/popup/declaration/PopupDeclaration.d.ts +3 -16
  218. package/dist/cli/plugins/popup/declaration/index.d.ts +1 -13
  219. package/dist/cli/plugins/popup/index.d.ts +2 -15
  220. package/dist/cli/plugins/public.d.ts +2 -15
  221. package/dist/cli/plugins/react.d.ts +2 -15
  222. package/dist/cli/plugins/sidebar/Sidebar.d.ts +9 -27
  223. package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.d.ts +3 -16
  224. package/dist/cli/plugins/sidebar/declaration/index.d.ts +1 -13
  225. package/dist/cli/plugins/sidebar/index.d.ts +2 -15
  226. package/dist/cli/plugins/style.d.ts +2 -15
  227. package/dist/cli/plugins/typescript/FileBuilder.d.ts +2 -15
  228. package/dist/cli/plugins/typescript/FileBuilder.js +1 -0
  229. package/dist/cli/plugins/typescript/FileBuilder.js.map +1 -1
  230. package/dist/cli/plugins/typescript/TypescriptConfig.d.ts +4 -17
  231. package/dist/cli/plugins/typescript/declaration/index.d.ts +2 -14
  232. package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.d.ts +4 -17
  233. package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.js +1 -0
  234. package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.js.map +1 -1
  235. package/dist/cli/plugins/typescript/declaration/transport/index.d.ts +1 -13
  236. package/dist/cli/plugins/typescript/declaration/vendor/VendorDeclaration.d.ts +3 -16
  237. package/dist/cli/plugins/typescript/declaration/vendor/index.d.ts +1 -13
  238. package/dist/cli/plugins/typescript/index.d.ts +6 -20
  239. package/dist/cli/plugins/version/AbstractVersion.d.ts +2 -15
  240. package/dist/cli/plugins/version/AbstractVersion.js +2 -1
  241. package/dist/cli/plugins/version/AbstractVersion.js.map +1 -1
  242. package/dist/cli/plugins/version/AddonVersion.d.ts +3 -16
  243. package/dist/cli/plugins/version/BrowserMinimumVersion.d.ts +3 -16
  244. package/dist/cli/plugins/version/index.d.ts +5 -18
  245. package/dist/cli/plugins/view/View.d.ts +10 -24
  246. package/dist/cli/plugins/view/View.js +2 -0
  247. package/dist/cli/plugins/view/View.js.map +1 -1
  248. package/dist/cli/plugins/view/index.d.ts +3 -22
  249. package/dist/cli/plugins/view/index.js +26 -12
  250. package/dist/cli/plugins/view/index.js.map +1 -1
  251. package/dist/cli/resolvers/bundler.d.ts +4 -15
  252. package/dist/cli/resolvers/config.d.ts +2 -14
  253. package/dist/cli/resolvers/config.js +46 -11
  254. package/dist/cli/resolvers/config.js.map +1 -1
  255. package/dist/cli/resolvers/path.d.ts +11 -24
  256. package/dist/cli/resolvers/plugin.d.ts +3 -16
  257. package/dist/cli/utils/fs.d.ts +3 -5
  258. package/dist/cli/utils/path.d.ts +3 -5
  259. package/dist/cli/utils/string.d.ts +2 -4
  260. package/dist/cli/virtual/background.d.ts +1 -0
  261. package/dist/cli/virtual/command.d.ts +1 -0
  262. package/dist/cli/virtual/content.d.ts +1 -0
  263. package/dist/cli/virtual/index.d.ts +9 -0
  264. package/dist/cli/virtual/index.js +2 -2
  265. package/dist/cli/virtual/offscreen.background.d.ts +1 -0
  266. package/dist/cli/virtual/offscreen.d.ts +1 -0
  267. package/dist/cli/virtual/relay.d.ts +1 -0
  268. package/dist/cli/virtual/transport.d.ts +1 -0
  269. package/dist/cli/virtual/view.d.ts +1 -0
  270. package/dist/cli/virtual/virtual.d.ts +38 -38
  271. package/dist/entry/background/Builder.d.ts +3 -12
  272. package/dist/entry/background/Builder.js +1 -0
  273. package/dist/entry/background/Builder.js.map +1 -1
  274. package/dist/entry/background/index.d.ts +3 -12
  275. package/dist/entry/background/resolvers/definition.d.ts +3 -12
  276. package/dist/entry/background/resolvers/index.d.ts +1 -8
  277. package/dist/entry/command/Builder.d.ts +4 -12
  278. package/dist/entry/command/index.d.ts +3 -12
  279. package/dist/entry/command/resolvers/definition.d.ts +4 -13
  280. package/dist/entry/command/resolvers/index.d.ts +1 -8
  281. package/dist/entry/content/adapters/react/Builder.d.ts +3 -17
  282. package/dist/entry/content/adapters/react/Node.d.ts +6 -14
  283. package/dist/entry/content/adapters/react/Node.js +2 -0
  284. package/dist/entry/content/adapters/react/Node.js.map +1 -1
  285. package/dist/entry/content/adapters/react/index.d.ts +4 -18
  286. package/dist/entry/content/adapters/react/resolvers/index.d.ts +1 -8
  287. package/dist/entry/content/adapters/react/resolvers/render.d.ts +2 -11
  288. package/dist/entry/content/adapters/vanilla/Builder.d.ts +3 -17
  289. package/dist/entry/content/adapters/vanilla/Node.d.ts +2 -11
  290. package/dist/entry/content/adapters/vanilla/Node.js +2 -0
  291. package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
  292. package/dist/entry/content/adapters/vanilla/index.d.ts +4 -18
  293. package/dist/entry/content/core/AbstractMarker.d.ts +2 -11
  294. package/dist/entry/content/core/AbstractMarker.js +1 -0
  295. package/dist/entry/content/core/AbstractMarker.js.map +1 -1
  296. package/dist/entry/content/core/AttributeMarker.d.ts +3 -12
  297. package/dist/entry/content/core/Builder.d.ts +8 -17
  298. package/dist/entry/content/core/Context.d.ts +2 -11
  299. package/dist/entry/content/core/Context.js +1 -0
  300. package/dist/entry/content/core/Context.js.map +1 -1
  301. package/dist/entry/content/core/EventEmitter.d.ts +2 -11
  302. package/dist/entry/content/core/EventNode.d.ts +2 -11
  303. package/dist/entry/content/core/EventNode.js +2 -0
  304. package/dist/entry/content/core/EventNode.js.map +1 -1
  305. package/dist/entry/content/core/ManagedContext.d.ts +3 -12
  306. package/dist/entry/content/core/MarkerNode.d.ts +2 -11
  307. package/dist/entry/content/core/MarkerNode.js +2 -0
  308. package/dist/entry/content/core/MarkerNode.js.map +1 -1
  309. package/dist/entry/content/core/MountBuilder.d.ts +3 -16
  310. package/dist/entry/content/core/MountNode.d.ts +2 -11
  311. package/dist/entry/content/core/MountNode.js +2 -0
  312. package/dist/entry/content/core/MountNode.js.map +1 -1
  313. package/dist/entry/content/core/Node.d.ts +2 -11
  314. package/dist/entry/content/core/Node.js +2 -0
  315. package/dist/entry/content/core/Node.js.map +1 -1
  316. package/dist/entry/content/core/WeakMarker.d.ts +3 -12
  317. package/dist/entry/content/core/resolvers/anchor.d.ts +2 -11
  318. package/dist/entry/content/core/resolvers/container.d.ts +2 -11
  319. package/dist/entry/content/core/resolvers/definition.d.ts +3 -12
  320. package/dist/entry/content/core/resolvers/index.d.ts +6 -13
  321. package/dist/entry/content/core/resolvers/mount.d.ts +2 -11
  322. package/dist/entry/content/core/resolvers/render.d.ts +3 -12
  323. package/dist/entry/content/core/resolvers/watch.d.ts +4 -13
  324. package/dist/entry/content/index.d.ts +1 -8
  325. package/dist/entry/core/Builder.d.ts +2 -11
  326. package/dist/entry/offscreen/Builder.d.ts +8 -25
  327. package/dist/entry/offscreen/Builder.js +8 -1
  328. package/dist/entry/offscreen/Builder.js.map +1 -1
  329. package/dist/entry/offscreen/TransportBuilder.d.ts +6 -24
  330. package/dist/entry/offscreen/index.d.ts +4 -25
  331. package/dist/entry/relay/Builder.d.ts +7 -21
  332. package/dist/entry/relay/Builder.js +1 -0
  333. package/dist/entry/relay/Builder.js.map +1 -1
  334. package/dist/entry/relay/TransportBuilder.d.ts +6 -20
  335. package/dist/entry/relay/index.d.ts +4 -21
  336. package/dist/entry/service/Builder.d.ts +6 -20
  337. package/dist/entry/service/index.d.ts +2 -14
  338. package/dist/entry/transport/AbstractBuilder.d.ts +4 -14
  339. package/dist/entry/transport/index.d.ts +1 -14
  340. package/dist/entry/transport/resolvers/definition.d.ts +7 -20
  341. package/dist/entry/transport/resolvers/index.d.ts +1 -14
  342. package/dist/entry/view/adapters/react/Builder.d.ts +4 -16
  343. package/dist/entry/view/adapters/react/index.d.ts +4 -17
  344. package/dist/entry/view/adapters/react/resolvers/render.d.ts +2 -13
  345. package/dist/entry/view/adapters/vanilla/Builder.d.ts +3 -15
  346. package/dist/entry/view/adapters/vanilla/index.d.ts +4 -16
  347. package/dist/entry/view/core/Builder.d.ts +3 -14
  348. package/dist/entry/view/core/resolvers/container.d.ts +2 -13
  349. package/dist/entry/view/core/resolvers/definition.d.ts +3 -14
  350. package/dist/entry/view/core/resolvers/render.d.ts +3 -14
  351. package/dist/entry/view/index.d.ts +1 -10
  352. package/dist/index.d.ts +1 -43
  353. package/dist/locale/adapters/react/LocaleProvider.d.ts +4 -6
  354. package/dist/locale/adapters/react/LocaleProvider.js +5 -5
  355. package/dist/locale/adapters/react/LocaleProvider.js.map +1 -1
  356. package/dist/locale/adapters/react/context.d.ts +8 -13
  357. package/dist/locale/adapters/react/context.js +2 -5
  358. package/dist/locale/adapters/react/context.js.map +1 -1
  359. package/dist/locale/adapters/react/index.d.ts +2 -6
  360. package/dist/locale/helpers.d.ts +60 -36
  361. package/dist/locale/helpers.js +14 -14
  362. package/dist/locale/helpers.js.map +1 -1
  363. package/dist/locale/index.d.ts +3 -7
  364. package/dist/locale/index.js.map +1 -1
  365. package/dist/locale/providers/AbstractLocale.d.ts +5 -8
  366. package/dist/locale/providers/AbstractLocale.js +9 -6
  367. package/dist/locale/providers/AbstractLocale.js.map +1 -1
  368. package/dist/locale/providers/CustomLocale.d.ts +5 -8
  369. package/dist/locale/providers/CustomLocale.js +3 -1
  370. package/dist/locale/providers/CustomLocale.js.map +1 -1
  371. package/dist/locale/providers/DynamicLocale.d.ts +7 -11
  372. package/dist/locale/providers/DynamicLocale.js +1 -1
  373. package/dist/locale/providers/DynamicLocale.js.map +1 -1
  374. package/dist/locale/providers/NativeLocale.d.ts +7 -10
  375. package/dist/locale/providers/NativeLocale.js.map +1 -1
  376. package/dist/locale/providers/index.d.ts +3 -6
  377. package/dist/locale/utils.d.ts +11 -14
  378. package/dist/main/app.d.ts +1 -1
  379. package/dist/main/app.js +3 -2
  380. package/dist/main/app.js.map +1 -1
  381. package/dist/main/background.d.ts +3 -12
  382. package/dist/main/browser.d.ts +1 -1
  383. package/dist/main/command.d.ts +4 -13
  384. package/dist/main/config.d.ts +3 -16
  385. package/dist/main/config.js.map +1 -1
  386. package/dist/main/content.d.ts +6 -18
  387. package/dist/main/env.d.ts +7 -15
  388. package/dist/main/icon.d.ts +6 -7
  389. package/dist/main/index.d.ts +17 -43
  390. package/dist/main/manifest.d.ts +1 -7
  391. package/dist/main/offscreen.d.ts +9 -22
  392. package/dist/main/offscreen.js +1 -1
  393. package/dist/main/offscreen.js.map +1 -1
  394. package/dist/main/page.d.ts +7 -19
  395. package/dist/main/plugin.d.ts +3 -16
  396. package/dist/main/popup.d.ts +8 -18
  397. package/dist/main/popup.js +2 -2
  398. package/dist/main/popup.js.map +1 -1
  399. package/dist/main/relay.d.ts +8 -21
  400. package/dist/main/service.d.ts +6 -15
  401. package/dist/main/sidebar.d.ts +8 -18
  402. package/dist/main/sidebar.js +2 -2
  403. package/dist/main/sidebar.js.map +1 -1
  404. package/dist/main/view.d.ts +1 -9
  405. package/dist/message/MessageManager.d.ts +2 -5
  406. package/dist/message/adapters/react/index.d.ts +1 -2
  407. package/dist/message/adapters/react/useMessageHandler.d.ts +2 -5
  408. package/dist/message/handlers/AbstractHandler.d.ts +2 -5
  409. package/dist/message/handlers/GeneralHandler.d.ts +3 -6
  410. package/dist/message/handlers/GeneralHandler.js +1 -0
  411. package/dist/message/handlers/GeneralHandler.js.map +1 -1
  412. package/dist/message/handlers/MapHandler.d.ts +3 -6
  413. package/dist/message/handlers/MapHandler.js +1 -0
  414. package/dist/message/handlers/MapHandler.js.map +1 -1
  415. package/dist/message/handlers/SingleHandler.d.ts +3 -6
  416. package/dist/message/handlers/SingleHandler.js +2 -0
  417. package/dist/message/handlers/SingleHandler.js.map +1 -1
  418. package/dist/message/handlers/index.d.ts +3 -5
  419. package/dist/message/index.d.ts +9 -13
  420. package/dist/message/providers/AbstractMessage.d.ts +2 -5
  421. package/dist/message/providers/Message.d.ts +4 -7
  422. package/dist/message/providers/index.d.ts +1 -4
  423. package/dist/offscreen/OffscreenBackground.d.ts +2 -9
  424. package/dist/offscreen/OffscreenBridge.d.ts +8 -9
  425. package/dist/offscreen/OffscreenBridge.js +55 -7
  426. package/dist/offscreen/OffscreenBridge.js.map +1 -1
  427. package/dist/offscreen/OffscreenManager.d.ts +4 -15
  428. package/dist/offscreen/OffscreenMessage.d.ts +2 -14
  429. package/dist/offscreen/index.d.ts +5 -26
  430. package/dist/offscreen/providers/Offscreen.d.ts +3 -14
  431. package/dist/offscreen/providers/ProxyOffscreen.d.ts +7 -18
  432. package/dist/offscreen/providers/ProxyOffscreen.js +44 -23
  433. package/dist/offscreen/providers/ProxyOffscreen.js.map +1 -1
  434. package/dist/offscreen/providers/RegisterOffscreen.d.ts +5 -18
  435. package/dist/offscreen/providers/RegisterOffscreen.js +1 -0
  436. package/dist/offscreen/providers/RegisterOffscreen.js.map +1 -1
  437. package/dist/offscreen/providers/index.d.ts +3 -17
  438. package/dist/offscreen/utils.d.ts +1 -3
  439. package/dist/relay/RelayManager.d.ts +6 -16
  440. package/dist/relay/RelayMessage.d.ts +2 -14
  441. package/dist/relay/RelayPermission.d.ts +4 -15
  442. package/dist/relay/index.d.ts +4 -22
  443. package/dist/relay/providers/ProxyRelay.d.ts +8 -19
  444. package/dist/relay/providers/ProxyRelay.js +2 -0
  445. package/dist/relay/providers/ProxyRelay.js.map +1 -1
  446. package/dist/relay/providers/RegisterRelay.d.ts +4 -16
  447. package/dist/relay/providers/RegisterRelay.js +2 -0
  448. package/dist/relay/providers/RegisterRelay.js.map +1 -1
  449. package/dist/relay/providers/Relay.d.ts +3 -14
  450. package/dist/relay/providers/index.d.ts +3 -18
  451. package/dist/relay/utils.d.ts +3 -5
  452. package/dist/service/ServiceManager.d.ts +4 -15
  453. package/dist/service/ServiceMessage.d.ts +2 -14
  454. package/dist/service/index.d.ts +4 -19
  455. package/dist/service/providers/ProxyService.d.ts +4 -15
  456. package/dist/service/providers/RegisterService.d.ts +3 -15
  457. package/dist/service/providers/RegisterService.js +1 -0
  458. package/dist/service/providers/RegisterService.js.map +1 -1
  459. package/dist/service/providers/Service.d.ts +3 -14
  460. package/dist/service/providers/index.d.ts +3 -15
  461. package/dist/transport/BaseTransport.d.ts +2 -13
  462. package/dist/transport/BaseTransport.js +1 -0
  463. package/dist/transport/BaseTransport.js.map +1 -1
  464. package/dist/transport/ProxyTransport.d.ts +4 -14
  465. package/dist/transport/RegisterTransport.d.ts +4 -16
  466. package/dist/transport/RegisterTransport.js +13 -20
  467. package/dist/transport/RegisterTransport.js.map +1 -1
  468. package/dist/transport/TransportManager.d.ts +2 -13
  469. package/dist/transport/TransportMessage.d.ts +3 -13
  470. package/dist/transport/index.d.ts +1 -9
  471. package/dist/types/app.d.ts +8 -6
  472. package/dist/types/app.js +7 -1
  473. package/dist/types/app.js.map +1 -1
  474. package/dist/types/background.d.ts +20 -7
  475. package/dist/types/browser.d.ts +6 -8
  476. package/dist/types/command.d.ts +27 -7
  477. package/dist/types/config.d.ts +673 -11
  478. package/dist/types/content.d.ts +195 -7
  479. package/dist/types/entrypoint.d.ts +106 -7
  480. package/dist/types/entrypoint.js.map +1 -1
  481. package/dist/types/env.d.ts +4 -6
  482. package/dist/types/framework.d.ts +1 -3
  483. package/dist/types/helpers.d.ts +6 -7
  484. package/dist/types/icon.d.ts +3 -5
  485. package/dist/types/locale.d.ts +35 -29
  486. package/dist/types/locale.js.map +1 -1
  487. package/dist/types/manifest.d.ts +163 -7
  488. package/dist/types/manifest.js.map +1 -1
  489. package/dist/types/message.d.ts +17 -19
  490. package/dist/types/message.js +1 -1
  491. package/dist/types/message.js.map +1 -1
  492. package/dist/types/offscreen.d.ts +13 -23
  493. package/dist/types/offscreen.js +2 -0
  494. package/dist/types/offscreen.js.map +1 -1
  495. package/dist/types/page.d.ts +5 -16
  496. package/dist/types/plugin.d.ts +101 -11
  497. package/dist/types/popup.d.ts +5 -16
  498. package/dist/types/relay.d.ts +13 -21
  499. package/dist/types/service.d.ts +9 -18
  500. package/dist/types/sidebar.d.ts +7 -17
  501. package/dist/types/transport.d.ts +22 -29
  502. package/dist/types/view.d.ts +18 -24
  503. package/package.json +14 -16
  504. package/dist/config-BaSTGrd0.d.ts +0 -726
  505. package/dist/manifest-DKvERQ4d.d.ts +0 -503
@@ -1,14 +1,5 @@
1
- export { default as EntrypointPlugin, EntrypointPluginEntryModules, EntrypointPluginModule, EntrypointPluginModules, EntrypointPluginTemplate, EntrypointPluginUpdate } from './EntrypointPlugin.js';
2
- export { default as GenerateJsonPlugin, GenerateJsonPluginData, GenerateJsonPluginUpdate } from './GenerateJsonPlugin.js';
3
- export { default as ManifestPlugin } from './ManifestPlugin.js';
4
- export { default as ReplacePlugin } from './ReplacePlugin.js';
5
- export { default as WatchPlugin } from './WatchPlugin.js';
6
- import '@rspack/core';
7
- import 'rspack-plugin-virtual-module';
8
- import '../../../manifest-DKvERQ4d.js';
9
- import 'react';
10
- import 'utility-types';
11
- import '../../../types/app.js';
12
- import '../../../types/browser.js';
13
- import '../../../types/helpers.js';
14
- import '../../../types/locale.js';
1
+ export { default as EntrypointPlugin, type EntrypointPluginModules, type EntrypointPluginModule, type EntrypointPluginEntryModules, type EntrypointPluginTemplate, type EntrypointPluginUpdate, } from "./EntrypointPlugin.js";
2
+ export { default as GenerateJsonPlugin, type GenerateJsonPluginData, type GenerateJsonPluginUpdate, } from "./GenerateJsonPlugin.js";
3
+ export { default as ManifestPlugin } from "./ManifestPlugin.js";
4
+ export { default as ReplacePlugin } from "./ReplacePlugin.js";
5
+ export { default as WatchPlugin } from "./WatchPlugin.js";
@@ -1,3 +1,2 @@
1
- export { isEntryModuleOrIssuer, onlyViaTopLevelEntry } from './optimization.js';
2
- export { appFilenameResolver } from './output.js';
3
- import '@rspack/core';
1
+ export * from "./optimization.js";
2
+ export * from "./output.js";
@@ -1,6 +1,2 @@
1
- import { OptimizationSplitChunksCacheGroupTestFn } from '@rspack/core';
2
-
3
- declare const onlyViaTopLevelEntry: (entry: string | string[]) => OptimizationSplitChunksCacheGroupTestFn;
4
- declare const isEntryModuleOrIssuer: (entry: string | string[]) => OptimizationSplitChunksCacheGroupTestFn;
5
-
6
- export { isEntryModuleOrIssuer, onlyViaTopLevelEntry };
1
+ import { type OptimizationSplitChunksCacheGroupTestFn } from "@rspack/core";
2
+ export declare const onlyViaTopLevelEntry: (entryTypes: string | string[]) => OptimizationSplitChunksCacheGroupTestFn;
@@ -1,108 +1,20 @@
1
- import path from "path";
2
- import { PackageName } from "./../../../types/app.js";
3
- const getEntryDirs = (entry) => {
4
- const entries = Array.isArray(entry) ? entry : [entry];
5
- if (entries.length === 0) {
6
- return [];
7
- }
8
- return entries.flatMap((v) => [
9
- path.join("node_modules", PackageName, "dist", "entry", v),
10
- path.join("addonbone", "dist", "entry", v),
11
- // TODO: Only for test. Remove this
12
- path.join("addon-bone", "dist", "entry", v)
13
- // TODO: Only for test. Remove this
14
- ]);
15
- };
16
- const onlyViaTopLevelEntry = (entry) => {
17
- const entryDirs = getEntryDirs(entry);
18
- if (entryDirs.length === 0) {
19
- return () => false;
20
- }
21
- const isTargetRes = (res) => !!res && entryDirs.some((dir) => res.includes(dir));
22
- const memoTopLevelTarget = /* @__PURE__ */ new WeakMap();
23
- const memoPathOk = /* @__PURE__ */ new WeakMap();
24
- const isTopLevelTarget = (m, mg) => {
25
- if (!m) {
26
- return false;
27
- }
28
- const cached = memoTopLevelTarget.get(m);
29
- if (cached !== void 0) {
30
- return cached;
31
- }
32
- const ok = isTargetRes(m.resource) && (() => {
33
- const issuer = mg.getIssuer(m);
34
- return !!issuer && !mg.getIssuer(issuer);
35
- })();
36
- memoTopLevelTarget.set(m, ok);
37
- return ok;
38
- };
39
- const pathHasTopLevelTarget = (start, mg) => {
40
- if (!start) {
41
- return false;
42
- }
43
- const cached = memoPathOk.get(start);
44
- if (cached !== void 0) {
45
- return cached;
46
- }
47
- let cur = start;
48
- let steps = 0;
49
- const MAX_STEPS = 1024;
50
- while (cur && steps++ < MAX_STEPS) {
51
- if (isTopLevelTarget(cur, mg)) {
52
- memoPathOk.set(start, true);
53
- return true;
54
- }
55
- cur = mg.getIssuer(cur);
56
- }
57
- memoPathOk.set(start, false);
58
- return false;
59
- };
60
- return (module, { moduleGraph }) => {
61
- const nm = module;
62
- const res = nm.resource;
63
- if (!res) {
64
- return false;
65
- }
66
- if (isTargetRes(res)) return true;
67
- const conns = moduleGraph.getIncomingConnections(nm);
68
- if (!conns || conns.length === 0) {
1
+ const onlyViaTopLevelEntry = (entryTypes) => {
2
+ const types = Array.isArray(entryTypes) ? entryTypes : [entryTypes];
3
+ return (module, { chunkGraph }) => {
4
+ const chunks = chunkGraph.getModuleChunks(module);
5
+ if (chunks.length === 0) {
69
6
  return false;
70
7
  }
71
- for (let i = 0; i < conns.length; i++) {
72
- const origin = conns[i].originModule;
73
- if (!pathHasTopLevelTarget(origin, moduleGraph)) {
8
+ return chunks.every((chunk) => {
9
+ const name = chunk.name;
10
+ if (!name) {
74
11
  return false;
75
12
  }
76
- }
77
- return true;
78
- };
79
- };
80
- const isEntryModuleOrIssuer = (entry) => {
81
- const entryDirs = getEntryDirs(entry);
82
- if (entryDirs.length === 0) {
83
- return () => false;
84
- }
85
- return (module, { moduleGraph }) => {
86
- const nm = module;
87
- const resource = nm.resource || "";
88
- if (entryDirs.some((dir) => resource.includes(dir))) {
89
- return true;
90
- }
91
- for (const connection of moduleGraph.getIncomingConnections(nm)) {
92
- const origin = connection.originModule;
93
- if (!(origin == null ? void 0 : origin.resource)) {
94
- continue;
95
- }
96
- const originRes = origin.resource;
97
- if (entryDirs.some((dir) => originRes.includes(dir))) {
98
- return true;
99
- }
100
- }
101
- return false;
13
+ return types.some((type) => name === type || name.endsWith(`.${type}`));
14
+ });
102
15
  };
103
16
  };
104
17
  export {
105
- isEntryModuleOrIssuer,
106
18
  onlyViaTopLevelEntry
107
19
  };
108
20
  //# sourceMappingURL=optimization.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/bundler/utils/optimization.ts"],"sourcesContent":["import path from \"path\";\nimport {NormalModule, type OptimizationSplitChunksCacheGroupTestFn} from \"@rspack/core\";\n\nimport {PackageName} from \"@typing/app\";\n\nconst getEntryDirs = (entry: string | string[]): string[] => {\n const entries = Array.isArray(entry) ? entry : [entry];\n\n if (entries.length === 0) {\n return [];\n }\n\n return entries.flatMap(v => [\n path.join(\"node_modules\", PackageName, \"dist\", \"entry\", v),\n path.join(\"addonbone\", \"dist\", \"entry\", v), // TODO: Only for test. Remove this\n path.join(\"addon-bone\", \"dist\", \"entry\", v), // TODO: Only for test. Remove this\n ]);\n};\n\nexport const onlyViaTopLevelEntry = (entry: string | string[]): OptimizationSplitChunksCacheGroupTestFn => {\n const entryDirs = getEntryDirs(entry);\n\n if (entryDirs.length === 0) {\n return () => false;\n }\n\n const isTargetRes = (res?: string) => !!res && entryDirs.some(dir => res!.includes(dir));\n\n const memoTopLevelTarget = new WeakMap<object, boolean>();\n const memoPathOk = new WeakMap<object, boolean>();\n\n const isTopLevelTarget = (m: NormalModule | undefined, mg: any): boolean => {\n if (!m) {\n return false;\n }\n\n const cached = memoTopLevelTarget.get(m);\n\n if (cached !== undefined) {\n return cached;\n }\n\n const ok =\n isTargetRes(m.resource) &&\n (() => {\n const issuer = mg.getIssuer(m) as NormalModule | undefined;\n return !!issuer && !mg.getIssuer(issuer);\n })();\n\n memoTopLevelTarget.set(m, ok);\n\n return ok;\n };\n\n const pathHasTopLevelTarget = (start: NormalModule | undefined, mg: any): boolean => {\n if (!start) {\n return false;\n }\n\n const cached = memoPathOk.get(start);\n\n if (cached !== undefined) {\n return cached;\n }\n\n let cur: NormalModule | undefined = start;\n let steps = 0;\n\n const MAX_STEPS = 1024;\n\n while (cur && steps++ < MAX_STEPS) {\n if (isTopLevelTarget(cur, mg)) {\n memoPathOk.set(start, true);\n return true;\n }\n\n cur = mg.getIssuer(cur) as NormalModule | undefined;\n }\n\n memoPathOk.set(start, false);\n\n return false;\n };\n\n return (module, {moduleGraph}) => {\n const nm = module as NormalModule;\n const res = nm.resource;\n\n if (!res) {\n return false;\n }\n\n if (isTargetRes(res)) return true;\n\n const conns = moduleGraph.getIncomingConnections(nm);\n\n if (!conns || conns.length === 0) {\n return false;\n }\n\n for (let i = 0; i < conns.length; i++) {\n const origin = conns[i].originModule as NormalModule | undefined;\n\n if (!pathHasTopLevelTarget(origin, moduleGraph)) {\n return false;\n }\n }\n\n return true;\n };\n};\n\nexport const isEntryModuleOrIssuer = (entry: string | string[]): OptimizationSplitChunksCacheGroupTestFn => {\n const entryDirs = getEntryDirs(entry);\n\n if (entryDirs.length === 0) {\n return () => false;\n }\n\n return (module, {moduleGraph}) => {\n const nm = module as NormalModule;\n const resource = nm.resource || \"\";\n\n if (entryDirs.some(dir => resource.includes(dir))) {\n return true;\n }\n\n for (const connection of moduleGraph.getIncomingConnections(nm)) {\n const origin = connection.originModule as NormalModule | undefined;\n\n if (!origin?.resource) {\n continue;\n }\n\n const originRes = origin.resource;\n\n if (entryDirs.some(dir => originRes.includes(dir))) {\n return true;\n }\n }\n\n return false;\n };\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/bundler/utils/optimization.ts"],"sourcesContent":["import {type OptimizationSplitChunksCacheGroupTestFn} from \"@rspack/core\";\n\nexport const onlyViaTopLevelEntry = (entryTypes: string | string[]): OptimizationSplitChunksCacheGroupTestFn => {\n const types = Array.isArray(entryTypes) ? entryTypes : [entryTypes];\n\n return (module, {chunkGraph}) => {\n const chunks = chunkGraph.getModuleChunks(module);\n\n if (chunks.length === 0) {\n return false;\n }\n\n return chunks.every(chunk => {\n const name = chunk.name;\n\n if (!name) {\n return false;\n }\n\n return types.some(type => name === type || name.endsWith(`.${type}`));\n });\n };\n};\n"],"mappings":"AAEO,MAAM,uBAAuB,CAAC,eAA2E;AAC5G,QAAM,QAAQ,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU;AAElE,SAAO,CAAC,QAAQ,EAAC,WAAU,MAAM;AAC7B,UAAM,SAAS,WAAW,gBAAgB,MAAM;AAEhD,QAAI,OAAO,WAAW,GAAG;AACrB,aAAO;AAAA,IACX;AAEA,WAAO,OAAO,MAAM,WAAS;AACzB,YAAM,OAAO,MAAM;AAEnB,UAAI,CAAC,MAAM;AACP,eAAO;AAAA,MACX;AAEA,aAAO,MAAM,KAAK,UAAQ,SAAS,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;AAAA,IACxE,CAAC;AAAA,EACL;AACJ;","names":[]}
@@ -1,5 +1,2 @@
1
- import { Filename } from '@rspack/core';
2
-
3
- declare const appFilenameResolver: (app: string, filename: Filename, dirname?: string) => Extract<Filename, Filename>;
4
-
5
- export { appFilenameResolver };
1
+ import { Filename } from "@rspack/core";
2
+ export declare const appFilenameResolver: (app: string, filename: Filename, dirname?: string) => Extract<Filename, Filename>;
@@ -1,15 +1,11 @@
1
- import ts from 'typescript';
2
- import EntryFile from './SourceFile.js';
3
- import { MemberSignature } from './parsers/types.js';
4
- import './resolvers/ImportResolver.js';
5
- import './resolvers/TsResolver.js';
6
- import './types.js';
7
-
1
+ import ts from "typescript";
2
+ import SourceFile from "./SourceFile.js";
3
+ import { MemberSignature } from "./parsers/types.js";
8
4
  /**
9
5
  * Parses a TypeScript expression (object literal, function, or class)
10
6
  * and builds a full interface of its public members (methods and properties).
11
7
  */
12
- declare class ExpressionFile extends EntryFile {
8
+ export default class ExpressionFile extends SourceFile {
13
9
  protected property?: string;
14
10
  /**
15
11
  * Names of wrapper functions whose first argument should be unwrapped for parsing.
@@ -51,5 +47,3 @@ declare class ExpressionFile extends EntryFile {
51
47
  */
52
48
  private getTypeFromMethodReturn;
53
49
  }
54
-
55
- export { ExpressionFile as default };
@@ -1,10 +1,6 @@
1
- import ts from 'typescript';
2
- import EntryFile from './SourceFile.js';
3
- import './resolvers/ImportResolver.js';
4
- import './resolvers/TsResolver.js';
5
- import './types.js';
6
-
7
- declare class export_default<T extends Record<string, any>> extends EntryFile {
1
+ import ts from "typescript";
2
+ import SourceFile from "./SourceFile.js";
3
+ export default class<T extends Record<string, any>> extends SourceFile {
8
4
  protected definitions: Set<string>;
9
5
  protected definition: string | null | undefined;
10
6
  protected properties: Set<string>;
@@ -16,5 +12,3 @@ declare class export_default<T extends Record<string, any>> extends EntryFile {
16
12
  protected getOptionsFromDefinition(): T;
17
13
  protected getExpressionForOptions(expr: ts.Expression): ts.Expression | undefined;
18
14
  }
19
-
20
- export { export_default as default };
@@ -1,15 +1,13 @@
1
- import ts from 'typescript';
2
- import export_default from './resolvers/ImportResolver.js';
3
- import { ImportMap, EnumMap, VariableMap } from './types.js';
4
- import './resolvers/TsResolver.js';
5
-
6
- declare class EntryFile {
1
+ import ts from "typescript";
2
+ import { ImportResolver } from "./resolvers/index.js";
3
+ import { EnumMap, ImportMap, VariableMap } from "./types.js";
4
+ export default class EntryFile {
7
5
  protected readonly file: string;
8
6
  private sourceFile?;
9
7
  private variables?;
10
8
  private imports?;
11
9
  private enums?;
12
- protected importResolver?: export_default;
10
+ protected importResolver?: ImportResolver;
13
11
  static make<T extends EntryFile>(this: new (file: string) => T, file: string): T;
14
12
  constructor(file: string);
15
13
  getSourceFile(): ts.SourceFile;
@@ -19,8 +17,6 @@ declare class EntryFile {
19
17
  protected resolveValue(from: string, target: string, name: string): any;
20
18
  protected findPropertyAccessValue(property: ts.Node): any;
21
19
  parseNode(node?: ts.Node): any;
22
- protected getInputResolver(): export_default;
23
- setImportResolver(resolver: export_default): export_default;
20
+ protected getInputResolver(): ImportResolver;
21
+ setImportResolver(resolver: ImportResolver): ImportResolver;
24
22
  }
25
-
26
- export { EntryFile as default };
@@ -7,6 +7,7 @@ class EntryFile {
7
7
  constructor(file) {
8
8
  this.file = file;
9
9
  }
10
+ file;
10
11
  sourceFile;
11
12
  variables;
12
13
  imports;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/entrypoint/file/SourceFile.ts"],"sourcesContent":["import ts from \"typescript\";\nimport fs from \"fs\";\nimport path from \"path\";\n\nimport {ImportResolver} from \"./resolvers\";\n\nimport injectors from \"./injectors\";\n\nimport {EnumMap, ImportMap, Variable, VariableMap} from \"./types\";\n\nexport default class EntryFile {\n private sourceFile?: ts.SourceFile;\n\n private variables?: VariableMap;\n\n private imports?: ImportMap;\n\n private enums?: EnumMap;\n\n protected importResolver?: ImportResolver;\n\n static make<T extends EntryFile>(this: new (file: string) => T, file: string): T {\n return new this(file);\n }\n\n constructor(protected readonly file: string) {}\n\n public getSourceFile(): ts.SourceFile {\n if (this.sourceFile) {\n return this.sourceFile;\n }\n\n const sourceCode = fs.readFileSync(this.file, \"utf8\");\n\n return (this.sourceFile = ts.createSourceFile(this.file, sourceCode, ts.ScriptTarget.ESNext, true));\n }\n\n public getImports(): ImportMap {\n if (this.imports) {\n return this.imports;\n }\n\n this.imports = new Map();\n\n const parse = (node: ts.Node) => {\n if (ts.isImportDeclaration(node) && node.moduleSpecifier) {\n const importPath = (node.moduleSpecifier as ts.StringLiteral).text;\n if (node.importClause) {\n // default import: import X from '...'\n if (node.importClause.name) {\n this.imports?.set(node.importClause.name.text, this.getInputResolver().get(importPath));\n }\n // named imports: import { A, B } from '...'\n if (node.importClause.namedBindings && ts.isNamedImports(node.importClause.namedBindings)) {\n node.importClause.namedBindings.elements.forEach(el => {\n this.imports?.set(el.name.text, this.getInputResolver().get(importPath));\n });\n }\n }\n }\n // import equals: import X = Y.Z\n else if (ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference)) {\n if (node.moduleReference.expression && ts.isStringLiteral(node.moduleReference.expression)) {\n const importPath = node.moduleReference.expression.text;\n this.imports?.set(node.name.text, this.getInputResolver().get(importPath));\n }\n }\n // import equals with qualified name: import X = Y.Z\n else if (ts.isImportEqualsDeclaration(node)) {\n // For qualified names like chrome.tabs.Tab, we don't need to resolve a path\n // Just store the full qualified name as the \"import path\"\n const qualifiedName = node.moduleReference.getText();\n this.imports?.set(node.name.text, qualifiedName);\n }\n\n ts.forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.imports;\n }\n\n public getEnums(): EnumMap {\n if (this.enums) {\n return this.enums;\n }\n\n this.enums = new Map();\n\n const parse = (node: ts.Node) => {\n if (ts.isEnumDeclaration(node)) {\n const enumName = node.name.text;\n const enumProperties: Map<string, string | number> = new Map();\n\n node.members.forEach(member => {\n const key = member.name.getText();\n const value = member.initializer ? member.initializer.getText().replace(/['\"]/g, \"\") : key;\n\n enumProperties.set(key, value);\n });\n\n this.enums?.set(enumName, enumProperties);\n }\n\n ts.forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.enums;\n }\n\n public getVariables(): VariableMap {\n if (this.variables) {\n return this.variables;\n }\n\n this.variables = new Map();\n\n const parse = (node: ts.Node) => {\n if (ts.isVariableStatement(node)) {\n const isExported = node.modifiers?.some(modifier => modifier.kind === ts.SyntaxKind.ExportKeyword);\n\n node.declarationList.declarations.forEach(declaration => {\n if (ts.isIdentifier(declaration.name) && declaration.initializer) {\n const name = declaration.name.text;\n const value = this.parseNode(declaration.initializer);\n\n this.variables?.set(name, {\n name,\n value,\n exported: isExported || false,\n });\n }\n });\n }\n\n if (ts.isExportDeclaration(node) && node.exportClause && ts.isNamedExports(node.exportClause)) {\n node.exportClause.elements.forEach(el => {\n const name = el.name.text;\n\n if (this.variables?.has(name)) {\n const variable = this.variables?.get(name) as Variable;\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true,\n });\n }\n });\n }\n\n if (ts.isExportAssignment(node)) {\n const expr = node.expression;\n if (ts.isIdentifier(expr) && this.variables?.has(expr.text)) {\n const variable = this.variables?.get(expr.text) as Variable;\n const name = \"default\";\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true,\n });\n }\n }\n\n ts.forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.variables;\n }\n\n protected resolveValue(from: string, target: string, name: string): any {\n return injectors([])(from, target, name);\n }\n\n protected findPropertyAccessValue(property: ts.Node): any {\n if (ts.isPropertyAccessExpression(property)) {\n const objectName = property.expression.getText();\n const propertyName = property.name.getText();\n\n const varItem = this.getVariables().get(objectName);\n\n if (varItem) {\n return varItem.value;\n }\n\n const enumItem = this.getEnums().get(objectName);\n\n if (enumItem) {\n return enumItem.get(propertyName);\n }\n\n const importItem = this.getImports().get(objectName);\n\n if (importItem) {\n const resolverItem = this.resolveValue(importItem, objectName, propertyName);\n\n if (resolverItem) {\n return resolverItem;\n }\n\n return EntryFile.make(importItem).findPropertyAccessValue(property);\n }\n\n return `${objectName}.${propertyName}`;\n }\n\n return undefined;\n }\n\n public parseNode(node?: ts.Node): any {\n if (!node) {\n return undefined;\n }\n\n switch (node.kind) {\n case ts.SyntaxKind.StringLiteral:\n return (node as ts.StringLiteral).text;\n case ts.SyntaxKind.TrueKeyword:\n return true;\n case ts.SyntaxKind.FalseKeyword:\n return false;\n case ts.SyntaxKind.NullKeyword:\n return null;\n case ts.SyntaxKind.NumericLiteral:\n return parseFloat((node as ts.NumericLiteral).text);\n case ts.SyntaxKind.Identifier: {\n const id = node as ts.Identifier;\n const name = id.text;\n // local variable\n const local = this.variables?.get(name);\n if (local && local.value !== undefined) {\n return local.value;\n }\n // imported constant: try to resolve its value from source file\n const importPath = this.getImports().get(name);\n if (importPath) {\n // load imported file and check its variables\n const parser = EntryFile.make(importPath);\n const imported = parser.getVariables().get(name);\n if (imported && imported.value !== undefined) {\n return imported.value;\n }\n }\n return name;\n }\n case ts.SyntaxKind.ArrayLiteralExpression:\n return (node as ts.ArrayLiteralExpression).elements.map(element => this.parseNode(element));\n case ts.SyntaxKind.ObjectLiteralExpression:\n return (node as ts.ObjectLiteralExpression).properties\n .filter(\n (property): property is ts.PropertyAssignment | ts.ShorthandPropertyAssignment =>\n ts.isPropertyAssignment(property) || ts.isShorthandPropertyAssignment(property)\n )\n .reduce(\n (acc, property) => {\n if (ts.isComputedPropertyName(property.name)) {\n return acc;\n }\n\n const key = (property.name as ts.Identifier | ts.StringLiteral).text;\n\n // Determine the initializer node: for shorthand, use the identifier itself\n const initNode = ts.isShorthandPropertyAssignment(property)\n ? (property.name as ts.Identifier)\n : (property.initializer as ts.Expression | undefined);\n\n let value = this.parseNode(initNode);\n\n // If value is still just an identifier name, resolve from collected variables\n if (typeof value === \"string\" && this.variables?.has(value)) {\n value = this.variables?.get(value)?.value;\n }\n\n acc[key] = value;\n\n return acc;\n },\n {} as Record<string, any>\n );\n case ts.SyntaxKind.PropertyAccessExpression: {\n return this.findPropertyAccessValue(node);\n }\n default:\n return undefined;\n }\n }\n\n protected getInputResolver(): ImportResolver {\n if (this.importResolver) {\n return this.importResolver;\n }\n\n return this.setImportResolver(new ImportResolver());\n }\n\n public setImportResolver(resolver: ImportResolver): ImportResolver {\n return (this.importResolver = resolver.setBaseDir(path.dirname(this.file)));\n }\n}\n"],"mappings":"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","names":["_a","_b","_c"]}
1
+ {"version":3,"sources":["../../../../src/cli/entrypoint/file/SourceFile.ts"],"sourcesContent":["import ts from \"typescript\";\nimport fs from \"fs\";\nimport path from \"path\";\n\nimport {ImportResolver} from \"./resolvers\";\n\nimport injectors from \"./injectors\";\n\nimport {EnumMap, ImportMap, Variable, VariableMap} from \"./types\";\n\nexport default class EntryFile {\n private sourceFile?: ts.SourceFile;\n\n private variables?: VariableMap;\n\n private imports?: ImportMap;\n\n private enums?: EnumMap;\n\n protected importResolver?: ImportResolver;\n\n static make<T extends EntryFile>(this: new (file: string) => T, file: string): T {\n return new this(file);\n }\n\n constructor(protected readonly file: string) {}\n\n public getSourceFile(): ts.SourceFile {\n if (this.sourceFile) {\n return this.sourceFile;\n }\n\n const sourceCode = fs.readFileSync(this.file, \"utf8\");\n\n return (this.sourceFile = ts.createSourceFile(this.file, sourceCode, ts.ScriptTarget.ESNext, true));\n }\n\n public getImports(): ImportMap {\n if (this.imports) {\n return this.imports;\n }\n\n this.imports = new Map();\n\n const parse = (node: ts.Node) => {\n if (ts.isImportDeclaration(node) && node.moduleSpecifier) {\n const importPath = (node.moduleSpecifier as ts.StringLiteral).text;\n if (node.importClause) {\n // default import: import X from '...'\n if (node.importClause.name) {\n this.imports?.set(node.importClause.name.text, this.getInputResolver().get(importPath));\n }\n // named imports: import { A, B } from '...'\n if (node.importClause.namedBindings && ts.isNamedImports(node.importClause.namedBindings)) {\n node.importClause.namedBindings.elements.forEach(el => {\n this.imports?.set(el.name.text, this.getInputResolver().get(importPath));\n });\n }\n }\n }\n // import equals: import X = Y.Z\n else if (ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference)) {\n if (node.moduleReference.expression && ts.isStringLiteral(node.moduleReference.expression)) {\n const importPath = node.moduleReference.expression.text;\n this.imports?.set(node.name.text, this.getInputResolver().get(importPath));\n }\n }\n // import equals with qualified name: import X = Y.Z\n else if (ts.isImportEqualsDeclaration(node)) {\n // For qualified names like chrome.tabs.Tab, we don't need to resolve a path\n // Just store the full qualified name as the \"import path\"\n const qualifiedName = node.moduleReference.getText();\n this.imports?.set(node.name.text, qualifiedName);\n }\n\n ts.forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.imports;\n }\n\n public getEnums(): EnumMap {\n if (this.enums) {\n return this.enums;\n }\n\n this.enums = new Map();\n\n const parse = (node: ts.Node) => {\n if (ts.isEnumDeclaration(node)) {\n const enumName = node.name.text;\n const enumProperties: Map<string, string | number> = new Map();\n\n node.members.forEach(member => {\n const key = member.name.getText();\n const value = member.initializer ? member.initializer.getText().replace(/['\"]/g, \"\") : key;\n\n enumProperties.set(key, value);\n });\n\n this.enums?.set(enumName, enumProperties);\n }\n\n ts.forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.enums;\n }\n\n public getVariables(): VariableMap {\n if (this.variables) {\n return this.variables;\n }\n\n this.variables = new Map();\n\n const parse = (node: ts.Node) => {\n if (ts.isVariableStatement(node)) {\n const isExported = node.modifiers?.some(modifier => modifier.kind === ts.SyntaxKind.ExportKeyword);\n\n node.declarationList.declarations.forEach(declaration => {\n if (ts.isIdentifier(declaration.name) && declaration.initializer) {\n const name = declaration.name.text;\n const value = this.parseNode(declaration.initializer);\n\n this.variables?.set(name, {\n name,\n value,\n exported: isExported || false,\n });\n }\n });\n }\n\n if (ts.isExportDeclaration(node) && node.exportClause && ts.isNamedExports(node.exportClause)) {\n node.exportClause.elements.forEach(el => {\n const name = el.name.text;\n\n if (this.variables?.has(name)) {\n const variable = this.variables?.get(name) as Variable;\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true,\n });\n }\n });\n }\n\n if (ts.isExportAssignment(node)) {\n const expr = node.expression;\n if (ts.isIdentifier(expr) && this.variables?.has(expr.text)) {\n const variable = this.variables?.get(expr.text) as Variable;\n const name = \"default\";\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true,\n });\n }\n }\n\n ts.forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.variables;\n }\n\n protected resolveValue(from: string, target: string, name: string): any {\n return injectors([])(from, target, name);\n }\n\n protected findPropertyAccessValue(property: ts.Node): any {\n if (ts.isPropertyAccessExpression(property)) {\n const objectName = property.expression.getText();\n const propertyName = property.name.getText();\n\n const varItem = this.getVariables().get(objectName);\n\n if (varItem) {\n return varItem.value;\n }\n\n const enumItem = this.getEnums().get(objectName);\n\n if (enumItem) {\n return enumItem.get(propertyName);\n }\n\n const importItem = this.getImports().get(objectName);\n\n if (importItem) {\n const resolverItem = this.resolveValue(importItem, objectName, propertyName);\n\n if (resolverItem) {\n return resolverItem;\n }\n\n return EntryFile.make(importItem).findPropertyAccessValue(property);\n }\n\n return `${objectName}.${propertyName}`;\n }\n\n return undefined;\n }\n\n public parseNode(node?: ts.Node): any {\n if (!node) {\n return undefined;\n }\n\n switch (node.kind) {\n case ts.SyntaxKind.StringLiteral:\n return (node as ts.StringLiteral).text;\n case ts.SyntaxKind.TrueKeyword:\n return true;\n case ts.SyntaxKind.FalseKeyword:\n return false;\n case ts.SyntaxKind.NullKeyword:\n return null;\n case ts.SyntaxKind.NumericLiteral:\n return parseFloat((node as ts.NumericLiteral).text);\n case ts.SyntaxKind.Identifier: {\n const id = node as ts.Identifier;\n const name = id.text;\n // local variable\n const local = this.variables?.get(name);\n if (local && local.value !== undefined) {\n return local.value;\n }\n // imported constant: try to resolve its value from source file\n const importPath = this.getImports().get(name);\n if (importPath) {\n // load imported file and check its variables\n const parser = EntryFile.make(importPath);\n const imported = parser.getVariables().get(name);\n if (imported && imported.value !== undefined) {\n return imported.value;\n }\n }\n return name;\n }\n case ts.SyntaxKind.ArrayLiteralExpression:\n return (node as ts.ArrayLiteralExpression).elements.map(element => this.parseNode(element));\n case ts.SyntaxKind.ObjectLiteralExpression:\n return (node as ts.ObjectLiteralExpression).properties\n .filter(\n (property): property is ts.PropertyAssignment | ts.ShorthandPropertyAssignment =>\n ts.isPropertyAssignment(property) || ts.isShorthandPropertyAssignment(property)\n )\n .reduce(\n (acc, property) => {\n if (ts.isComputedPropertyName(property.name)) {\n return acc;\n }\n\n const key = (property.name as ts.Identifier | ts.StringLiteral).text;\n\n // Determine the initializer node: for shorthand, use the identifier itself\n const initNode = ts.isShorthandPropertyAssignment(property)\n ? (property.name as ts.Identifier)\n : (property.initializer as ts.Expression | undefined);\n\n let value = this.parseNode(initNode);\n\n // If value is still just an identifier name, resolve from collected variables\n if (typeof value === \"string\" && this.variables?.has(value)) {\n value = this.variables?.get(value)?.value;\n }\n\n acc[key] = value;\n\n return acc;\n },\n {} as Record<string, any>\n );\n case ts.SyntaxKind.PropertyAccessExpression: {\n return this.findPropertyAccessValue(node);\n }\n default:\n return undefined;\n }\n }\n\n protected getInputResolver(): ImportResolver {\n if (this.importResolver) {\n return this.importResolver;\n }\n\n return this.setImportResolver(new ImportResolver());\n }\n\n public setImportResolver(resolver: ImportResolver): ImportResolver {\n return (this.importResolver = resolver.setBaseDir(path.dirname(this.file)));\n }\n}\n"],"mappings":"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","names":["_a","_b","_c"]}
@@ -1,8 +1,4 @@
1
- export { default as OptionFile } from './OptionFile.js';
2
- export { default as SourceFile } from './SourceFile.js';
3
- export { default as ExpressionFile } from './ExpressionFile.js';
4
- export { default as TsResolver } from './resolvers/TsResolver.js';
5
- export { default as ImportResolver } from './resolvers/ImportResolver.js';
6
- import 'typescript';
7
- import './types.js';
8
- import './parsers/types.js';
1
+ export { default as OptionFile } from "./OptionFile.js";
2
+ export { default as SourceFile } from "./SourceFile.js";
3
+ export { default as ExpressionFile } from "./ExpressionFile.js";
4
+ export * from "./resolvers/index.js";
@@ -1,5 +1,3 @@
1
- import { Injector } from '../types.js';
2
-
1
+ import { Injector } from "../types.js";
3
2
  declare const _default: () => Injector[];
4
-
5
- export { _default as default };
3
+ export default _default;
@@ -1,5 +1,3 @@
1
- import { Injector } from '../types.js';
2
-
1
+ import { Injector } from "../types.js";
3
2
  declare const _default: (resolvers: Injector[]) => (from: string, target: string, name: string) => any;
4
-
5
- export { _default as default };
3
+ export default _default;
@@ -1,21 +1,17 @@
1
- import ts from 'typescript';
2
- import EntryFile from '../SourceFile.js';
3
- import { MemberSignature } from './types.js';
4
- import '../resolvers/ImportResolver.js';
5
- import '../resolvers/TsResolver.js';
6
- import '../types.js';
7
-
1
+ import ts from "typescript";
2
+ import SourceFile from "../SourceFile.js";
3
+ import { MemberSignature } from "./types.js";
8
4
  /**
9
5
  * Abstract base class for all expression parsers.
10
6
  */
11
- declare abstract class AbstractParser {
12
- protected readonly sourceFile: EntryFile;
7
+ export default abstract class AbstractParser {
8
+ protected readonly sourceFile: SourceFile;
13
9
  /**
14
10
  * Constructor for the parser.
15
11
  *
16
12
  * @param sourceFile The source file to parse
17
13
  */
18
- protected constructor(sourceFile: EntryFile);
14
+ protected constructor(sourceFile: SourceFile);
19
15
  /**
20
16
  * Parse a node and return a record of member signatures.
21
17
  *
@@ -38,5 +34,3 @@ declare abstract class AbstractParser {
38
34
  */
39
35
  unwrapExpression(expr: ts.Expression): ts.Expression;
40
36
  }
41
-
42
- export { AbstractParser as default };
@@ -8,6 +8,7 @@ class AbstractParser {
8
8
  constructor(sourceFile) {
9
9
  this.sourceFile = sourceFile;
10
10
  }
11
+ sourceFile;
11
12
  /**
12
13
  * Extracts a textual property name.
13
14
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cli/entrypoint/file/parsers/AbstractParser.ts"],"sourcesContent":["import ts from \"typescript\";\nimport SourceFile from \"../SourceFile\";\nimport {MemberSignature} from \"./types\";\n\n/**\n * Abstract base class for all expression parsers.\n */\nexport default abstract class AbstractParser {\n /**\n * Constructor for the parser.\n *\n * @param sourceFile The source file to parse\n */\n protected constructor(protected readonly sourceFile: SourceFile) {}\n\n /**\n * Parse a node and return a record of member signatures.\n *\n * @param node The node to parse\n * @returns A record of member signatures or undefined if the node cannot be parsed\n */\n abstract parse(node: ts.Node): Record<string, MemberSignature> | undefined;\n\n /**\n * Extracts a textual property name.\n *\n * @param name The property name node\n * @returns The extracted name as a string\n */\n public getName(name: ts.PropertyName | ts.BindingName | ts.Node): string {\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n\n return name.getText();\n }\n\n /**\n * Unwraps an expression by removing type assertions, parentheses, etc.\n *\n * @param expr The expression to unwrap\n * @returns The unwrapped expression\n */\n public unwrapExpression(expr: ts.Expression): ts.Expression {\n // remove `as` and `satisfies` assertions, parentheses\n if (ts.isAsExpression(expr) || ts.isSatisfiesExpression(expr) || ts.isParenthesizedExpression(expr)) {\n return this.unwrapExpression(expr.expression as ts.Expression);\n }\n\n return expr;\n }\n}\n"],"mappings":"AAAA,OAAO,QAAQ;AAOf,MAAO,eAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,YAA+B,YAAwB;AAAxB;AAAA,EAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB3D,QAAQ,MAA0D;AACrE,QAAI,GAAG,aAAa,IAAI,KAAK,GAAG,gBAAgB,IAAI,KAAK,GAAG,iBAAiB,IAAI,GAAG;AAChF,aAAO,KAAK;AAAA,IAChB;AAEA,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,iBAAiB,MAAoC;AAExD,QAAI,GAAG,eAAe,IAAI,KAAK,GAAG,sBAAsB,IAAI,KAAK,GAAG,0BAA0B,IAAI,GAAG;AACjG,aAAO,KAAK,iBAAiB,KAAK,UAA2B;AAAA,IACjE;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/cli/entrypoint/file/parsers/AbstractParser.ts"],"sourcesContent":["import ts from \"typescript\";\nimport SourceFile from \"../SourceFile\";\nimport {MemberSignature} from \"./types\";\n\n/**\n * Abstract base class for all expression parsers.\n */\nexport default abstract class AbstractParser {\n /**\n * Constructor for the parser.\n *\n * @param sourceFile The source file to parse\n */\n protected constructor(protected readonly sourceFile: SourceFile) {}\n\n /**\n * Parse a node and return a record of member signatures.\n *\n * @param node The node to parse\n * @returns A record of member signatures or undefined if the node cannot be parsed\n */\n abstract parse(node: ts.Node): Record<string, MemberSignature> | undefined;\n\n /**\n * Extracts a textual property name.\n *\n * @param name The property name node\n * @returns The extracted name as a string\n */\n public getName(name: ts.PropertyName | ts.BindingName | ts.Node): string {\n if (ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)) {\n return name.text;\n }\n\n return name.getText();\n }\n\n /**\n * Unwraps an expression by removing type assertions, parentheses, etc.\n *\n * @param expr The expression to unwrap\n * @returns The unwrapped expression\n */\n public unwrapExpression(expr: ts.Expression): ts.Expression {\n // remove `as` and `satisfies` assertions, parentheses\n if (ts.isAsExpression(expr) || ts.isSatisfiesExpression(expr) || ts.isParenthesizedExpression(expr)) {\n return this.unwrapExpression(expr.expression as ts.Expression);\n }\n\n return expr;\n }\n}\n"],"mappings":"AAAA,OAAO,QAAQ;AAOf,MAAO,eAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,YAA+B,YAAwB;AAAxB;AAAA,EAAyB;AAAA,EAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBlC,QAAQ,MAA0D;AACrE,QAAI,GAAG,aAAa,IAAI,KAAK,GAAG,gBAAgB,IAAI,KAAK,GAAG,iBAAiB,IAAI,GAAG;AAChF,aAAO,KAAK;AAAA,IAChB;AAEA,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,iBAAiB,MAAoC;AAExD,QAAI,GAAG,eAAe,IAAI,KAAK,GAAG,sBAAsB,IAAI,KAAK,GAAG,0BAA0B,IAAI,GAAG;AACjG,aAAO,KAAK,iBAAiB,KAAK,UAA2B;AAAA,IACjE;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -1,18 +1,14 @@
1
- import ts from 'typescript';
2
- import EntryFile from '../SourceFile.js';
3
- import AbstractParser from './AbstractParser.js';
4
- import TypeResolver from './TypeResolver.js';
5
- import SignatureBuilder from './SignatureBuilder.js';
6
- import NodeFinder from './NodeFinder.js';
7
- import { MemberSignature } from './types.js';
8
- import '../resolvers/ImportResolver.js';
9
- import '../resolvers/TsResolver.js';
10
- import '../types.js';
11
-
1
+ import ts from "typescript";
2
+ import SourceFile from "../SourceFile.js";
3
+ import AbstractParser from "./AbstractParser.js";
4
+ import TypeResolver from "./TypeResolver.js";
5
+ import SignatureBuilder from "./SignatureBuilder.js";
6
+ import NodeFinder from "./NodeFinder.js";
7
+ import { MemberSignature } from "./types.js";
12
8
  /**
13
9
  * Parses class expressions and declarations.
14
10
  */
15
- declare class ClassParser extends AbstractParser {
11
+ export default class ClassParser extends AbstractParser {
16
12
  private readonly typeResolver;
17
13
  private readonly signatureBuilder;
18
14
  private readonly nodeFinder;
@@ -25,7 +21,7 @@ declare class ClassParser extends AbstractParser {
25
21
  * @param nodeFinder The node finder to use for finding nodes
26
22
  */
27
23
  private readonly jsDocParser;
28
- constructor(sourceFile: EntryFile, typeResolver: TypeResolver, signatureBuilder: SignatureBuilder, nodeFinder: NodeFinder);
24
+ constructor(sourceFile: SourceFile, typeResolver: TypeResolver, signatureBuilder: SignatureBuilder, nodeFinder: NodeFinder);
29
25
  /**
30
26
  * Parses a class expression or declaration: collects public members,
31
27
  * including inherited members from base classes.
@@ -42,5 +38,3 @@ declare class ClassParser extends AbstractParser {
42
38
  */
43
39
  parseFileClass(name: string): Record<string, MemberSignature>;
44
40
  }
45
-
46
- export { ClassParser as default };
@@ -13,6 +13,9 @@ class ClassParser extends AbstractParser {
13
13
  this.nodeFinder = nodeFinder;
14
14
  this.jsDocParser = new JSDocParser();
15
15
  }
16
+ typeResolver;
17
+ signatureBuilder;
18
+ nodeFinder;
16
19
  /**
17
20
  * Constructor for the ClassParser.
18
21
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cli/entrypoint/file/parsers/ClassParser.ts"],"sourcesContent":["import ts from \"typescript\";\n\nimport SourceFile from \"../SourceFile\";\nimport AbstractParser from \"./AbstractParser\";\nimport TypeResolver from \"./TypeResolver\";\nimport SignatureBuilder from \"./SignatureBuilder\";\nimport NodeFinder from \"./NodeFinder\";\nimport JSDocParser from \"./JSDocParser\";\n\nimport {shouldIncludeMember} from \"./helpers/memberFilters\";\n\nimport {MemberSignature} from \"./types\";\n\n/**\n * Parses class expressions and declarations.\n */\nexport default class ClassParser extends AbstractParser {\n /**\n * Constructor for the ClassParser.\n *\n * @param sourceFile The source file to parse\n * @param typeResolver The type resolver to use for resolving types\n * @param signatureBuilder The signature builder to use for building signatures\n * @param nodeFinder The node finder to use for finding nodes\n */\n private readonly jsDocParser: JSDocParser;\n\n constructor(\n sourceFile: SourceFile,\n private readonly typeResolver: TypeResolver,\n private readonly signatureBuilder: SignatureBuilder,\n private readonly nodeFinder: NodeFinder\n ) {\n super(sourceFile);\n\n this.jsDocParser = new JSDocParser();\n }\n\n /**\n * Parses a class expression or declaration: collects public members,\n * including inherited members from base classes.\n *\n * @param node The class expression or declaration to parse\n * @returns A record of member signatures\n */\n public parse(node: ts.ClassExpression | ts.ClassDeclaration): Record<string, MemberSignature> {\n let members: Record<string, MemberSignature> = {};\n // inherit from base class(es)\n\n if (node.heritageClauses) {\n for (const clause of node.heritageClauses) {\n if (clause.token === ts.SyntaxKind.ExtendsKeyword) {\n for (const typeNode of clause.types) {\n const expr = typeNode.expression;\n\n if (ts.isIdentifier(expr)) {\n Object.assign(members, this.parseFileClass(expr.text));\n }\n }\n }\n }\n }\n\n // own members\n for (const member of node.members) {\n // Parameter properties in constructor: include only when extracting a specific property\n if (ts.isConstructorDeclaration(member)) {\n // include public parameter properties: e.g. constructor(public foo: string)\n for (const param of member.parameters) {\n const mods = ts.getCombinedModifierFlags(param);\n\n if (mods & ts.ModifierFlags.Public) {\n const name = ts.isIdentifier(param.name) ? param.name.text : param.name.getText();\n\n // Skip constructor parameters that start with underscore\n if (!shouldIncludeMember(name)) {\n continue;\n }\n\n const type = param.type ? param.type.getText() : \"any\";\n members[name] = {kind: \"property\", type};\n }\n }\n\n continue;\n }\n\n // only public instance members (skip private, protected, or static members)\n const flags = ts.getCombinedModifierFlags(member);\n\n if (flags & (ts.ModifierFlags.Private | ts.ModifierFlags.Protected | ts.ModifierFlags.Static)) {\n continue;\n }\n\n // determine member name\n const name =\n member.name && ts.isIdentifier(member.name)\n ? member.name.text\n : member.name\n ? member.name.getText()\n : \"\";\n\n if (!name) continue;\n\n // Skip members that start with underscore\n if (!shouldIncludeMember(name)) {\n continue;\n }\n\n if (ts.isMethodDeclaration(member) || ts.isGetAccessorDeclaration(member)) {\n members[name] = this.signatureBuilder.getMethodSignature(member as ts.MethodDeclaration);\n } else if (ts.isPropertyDeclaration(member)) {\n // Check for JSDoc @type annotation\n const jsDocType = this.jsDocParser.getJSDocType(member);\n const tsType = member.type ? this.typeResolver.resolveTypeNode(member.type) : \"any\";\n const type = jsDocType || tsType;\n const optional = member.questionToken !== undefined;\n members[name] = {kind: \"property\", type, optional};\n }\n }\n\n return members;\n }\n\n /**\n * Finds and parses a class by name in current or imported files.\n *\n * @param name The name of the class to find\n * @returns A record of member signatures\n */\n public parseFileClass(name: string): Record<string, MemberSignature> {\n // current file\n const decl = this.nodeFinder.findClassDeclaration(name);\n\n if (decl) {\n return this.parse(decl);\n }\n\n // imported file\n const importPath = this.sourceFile.getImports().get(name);\n\n if (importPath) {\n const parser = (this.sourceFile.constructor as typeof SourceFile).make(importPath);\n const sf = parser.getSourceFile();\n\n // Try named class export\n let found: ts.ClassDeclaration | undefined;\n const find = (node: ts.Node) => {\n if (ts.isClassDeclaration(node) && node.name?.text === name) {\n found = node;\n } else {\n ts.forEachChild(node, find);\n }\n };\n\n ts.forEachChild(sf, find);\n\n if (found) {\n // Create a new ClassParser for the imported file\n const typeResolver = new TypeResolver(parser);\n const nodeFinder = new NodeFinder(parser);\n const signatureBuilder = new SignatureBuilder(typeResolver);\n const classParser = new ClassParser(parser, typeResolver, signatureBuilder, nodeFinder);\n return classParser.parse(found);\n }\n\n // Try default exported anonymous class\n let defaultClass: ts.ClassDeclaration | undefined;\n\n const findDefault = (node: ts.Node) => {\n if (\n ts.isClassDeclaration(node) &&\n node.modifiers &&\n node.modifiers.some(m => m.kind === ts.SyntaxKind.DefaultKeyword)\n ) {\n defaultClass = node;\n } else {\n ts.forEachChild(node, findDefault);\n }\n };\n\n ts.forEachChild(sf, findDefault);\n\n if (defaultClass) {\n // Create a new ClassParser for the imported file\n const typeResolver = new TypeResolver(parser);\n const nodeFinder = new NodeFinder(parser);\n const signatureBuilder = new SignatureBuilder(typeResolver);\n const classParser = new ClassParser(parser, typeResolver, signatureBuilder, nodeFinder);\n return classParser.parse(defaultClass);\n }\n }\n\n return {};\n }\n}\n"],"mappings":"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","names":["name"]}
1
+ {"version":3,"sources":["../../../../../src/cli/entrypoint/file/parsers/ClassParser.ts"],"sourcesContent":["import ts from \"typescript\";\n\nimport SourceFile from \"../SourceFile\";\nimport AbstractParser from \"./AbstractParser\";\nimport TypeResolver from \"./TypeResolver\";\nimport SignatureBuilder from \"./SignatureBuilder\";\nimport NodeFinder from \"./NodeFinder\";\nimport JSDocParser from \"./JSDocParser\";\n\nimport {shouldIncludeMember} from \"./helpers/memberFilters\";\n\nimport {MemberSignature} from \"./types\";\n\n/**\n * Parses class expressions and declarations.\n */\nexport default class ClassParser extends AbstractParser {\n /**\n * Constructor for the ClassParser.\n *\n * @param sourceFile The source file to parse\n * @param typeResolver The type resolver to use for resolving types\n * @param signatureBuilder The signature builder to use for building signatures\n * @param nodeFinder The node finder to use for finding nodes\n */\n private readonly jsDocParser: JSDocParser;\n\n constructor(\n sourceFile: SourceFile,\n private readonly typeResolver: TypeResolver,\n private readonly signatureBuilder: SignatureBuilder,\n private readonly nodeFinder: NodeFinder\n ) {\n super(sourceFile);\n\n this.jsDocParser = new JSDocParser();\n }\n\n /**\n * Parses a class expression or declaration: collects public members,\n * including inherited members from base classes.\n *\n * @param node The class expression or declaration to parse\n * @returns A record of member signatures\n */\n public parse(node: ts.ClassExpression | ts.ClassDeclaration): Record<string, MemberSignature> {\n let members: Record<string, MemberSignature> = {};\n // inherit from base class(es)\n\n if (node.heritageClauses) {\n for (const clause of node.heritageClauses) {\n if (clause.token === ts.SyntaxKind.ExtendsKeyword) {\n for (const typeNode of clause.types) {\n const expr = typeNode.expression;\n\n if (ts.isIdentifier(expr)) {\n Object.assign(members, this.parseFileClass(expr.text));\n }\n }\n }\n }\n }\n\n // own members\n for (const member of node.members) {\n // Parameter properties in constructor: include only when extracting a specific property\n if (ts.isConstructorDeclaration(member)) {\n // include public parameter properties: e.g. constructor(public foo: string)\n for (const param of member.parameters) {\n const mods = ts.getCombinedModifierFlags(param);\n\n if (mods & ts.ModifierFlags.Public) {\n const name = ts.isIdentifier(param.name) ? param.name.text : param.name.getText();\n\n // Skip constructor parameters that start with underscore\n if (!shouldIncludeMember(name)) {\n continue;\n }\n\n const type = param.type ? param.type.getText() : \"any\";\n members[name] = {kind: \"property\", type};\n }\n }\n\n continue;\n }\n\n // only public instance members (skip private, protected, or static members)\n const flags = ts.getCombinedModifierFlags(member);\n\n if (flags & (ts.ModifierFlags.Private | ts.ModifierFlags.Protected | ts.ModifierFlags.Static)) {\n continue;\n }\n\n // determine member name\n const name =\n member.name && ts.isIdentifier(member.name)\n ? member.name.text\n : member.name\n ? member.name.getText()\n : \"\";\n\n if (!name) continue;\n\n // Skip members that start with underscore\n if (!shouldIncludeMember(name)) {\n continue;\n }\n\n if (ts.isMethodDeclaration(member) || ts.isGetAccessorDeclaration(member)) {\n members[name] = this.signatureBuilder.getMethodSignature(member as ts.MethodDeclaration);\n } else if (ts.isPropertyDeclaration(member)) {\n // Check for JSDoc @type annotation\n const jsDocType = this.jsDocParser.getJSDocType(member);\n const tsType = member.type ? this.typeResolver.resolveTypeNode(member.type) : \"any\";\n const type = jsDocType || tsType;\n const optional = member.questionToken !== undefined;\n members[name] = {kind: \"property\", type, optional};\n }\n }\n\n return members;\n }\n\n /**\n * Finds and parses a class by name in current or imported files.\n *\n * @param name The name of the class to find\n * @returns A record of member signatures\n */\n public parseFileClass(name: string): Record<string, MemberSignature> {\n // current file\n const decl = this.nodeFinder.findClassDeclaration(name);\n\n if (decl) {\n return this.parse(decl);\n }\n\n // imported file\n const importPath = this.sourceFile.getImports().get(name);\n\n if (importPath) {\n const parser = (this.sourceFile.constructor as typeof SourceFile).make(importPath);\n const sf = parser.getSourceFile();\n\n // Try named class export\n let found: ts.ClassDeclaration | undefined;\n const find = (node: ts.Node) => {\n if (ts.isClassDeclaration(node) && node.name?.text === name) {\n found = node;\n } else {\n ts.forEachChild(node, find);\n }\n };\n\n ts.forEachChild(sf, find);\n\n if (found) {\n // Create a new ClassParser for the imported file\n const typeResolver = new TypeResolver(parser);\n const nodeFinder = new NodeFinder(parser);\n const signatureBuilder = new SignatureBuilder(typeResolver);\n const classParser = new ClassParser(parser, typeResolver, signatureBuilder, nodeFinder);\n return classParser.parse(found);\n }\n\n // Try default exported anonymous class\n let defaultClass: ts.ClassDeclaration | undefined;\n\n const findDefault = (node: ts.Node) => {\n if (\n ts.isClassDeclaration(node) &&\n node.modifiers &&\n node.modifiers.some(m => m.kind === ts.SyntaxKind.DefaultKeyword)\n ) {\n defaultClass = node;\n } else {\n ts.forEachChild(node, findDefault);\n }\n };\n\n ts.forEachChild(sf, findDefault);\n\n if (defaultClass) {\n // Create a new ClassParser for the imported file\n const typeResolver = new TypeResolver(parser);\n const nodeFinder = new NodeFinder(parser);\n const signatureBuilder = new SignatureBuilder(typeResolver);\n const classParser = new ClassParser(parser, typeResolver, signatureBuilder, nodeFinder);\n return classParser.parse(defaultClass);\n }\n }\n\n return {};\n }\n}\n"],"mappings":"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","names":["name"]}
@@ -1,20 +1,14 @@
1
- import ts from 'typescript';
2
- import EntryFile from '../SourceFile.js';
3
- import AbstractParser from './AbstractParser.js';
4
- import NodeFinder from './NodeFinder.js';
5
- import ClassParser from './ClassParser.js';
6
- import ObjectParser from './ObjectParser.js';
7
- import { MemberSignature } from './types.js';
8
- import '../resolvers/ImportResolver.js';
9
- import '../resolvers/TsResolver.js';
10
- import '../types.js';
11
- import './TypeResolver.js';
12
- import './SignatureBuilder.js';
13
-
1
+ import ts from "typescript";
2
+ import SourceFile from "../SourceFile.js";
3
+ import AbstractParser from "./AbstractParser.js";
4
+ import NodeFinder from "./NodeFinder.js";
5
+ import ClassParser from "./ClassParser.js";
6
+ import ObjectParser from "./ObjectParser.js";
7
+ import { MemberSignature } from "./types.js";
14
8
  /**
15
9
  * Parses function expressions and arrow functions.
16
10
  */
17
- declare class FunctionParser extends AbstractParser {
11
+ export default class FunctionParser extends AbstractParser {
18
12
  private readonly nodeFinder;
19
13
  private readonly objectParser;
20
14
  private readonly classParser;
@@ -26,7 +20,7 @@ declare class FunctionParser extends AbstractParser {
26
20
  * @param objectParser The object parser to use for parsing object literals
27
21
  * @param classParser The class parser to use for parsing classes
28
22
  */
29
- constructor(sourceFile: EntryFile, nodeFinder: NodeFinder, objectParser: ObjectParser, classParser: ClassParser);
23
+ constructor(sourceFile: SourceFile, nodeFinder: NodeFinder, objectParser: ObjectParser, classParser: ClassParser);
30
24
  /**
31
25
  * Parses a function or arrow function: finds its return expression,
32
26
  * then parses that if it's an object literal or a class instantiation.
@@ -36,5 +30,3 @@ declare class FunctionParser extends AbstractParser {
36
30
  */
37
31
  parse(fn: ts.FunctionExpression | ts.ArrowFunction): Record<string, MemberSignature> | undefined;
38
32
  }
39
-
40
- export { FunctionParser as default };
@@ -15,6 +15,9 @@ class FunctionParser extends AbstractParser {
15
15
  this.objectParser = objectParser;
16
16
  this.classParser = classParser;
17
17
  }
18
+ nodeFinder;
19
+ objectParser;
20
+ classParser;
18
21
  /**
19
22
  * Parses a function or arrow function: finds its return expression,
20
23
  * then parses that if it's an object literal or a class instantiation.