adnbn 0.5.7 → 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 (497) 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 -5
  49. package/dist/cli/bundler/utils/output.d.ts +2 -5
  50. package/dist/cli/entrypoint/file/ExpressionFile.d.ts +4 -10
  51. package/dist/cli/entrypoint/file/OptionFile.d.ts +3 -9
  52. package/dist/cli/entrypoint/file/SourceFile.d.ts +7 -11
  53. package/dist/cli/entrypoint/file/SourceFile.js +1 -0
  54. package/dist/cli/entrypoint/file/SourceFile.js.map +1 -1
  55. package/dist/cli/entrypoint/file/index.d.ts +4 -8
  56. package/dist/cli/entrypoint/file/injectors/core.d.ts +2 -4
  57. package/dist/cli/entrypoint/file/injectors/index.d.ts +2 -4
  58. package/dist/cli/entrypoint/file/parsers/AbstractParser.d.ts +6 -12
  59. package/dist/cli/entrypoint/file/parsers/AbstractParser.js +1 -0
  60. package/dist/cli/entrypoint/file/parsers/AbstractParser.js.map +1 -1
  61. package/dist/cli/entrypoint/file/parsers/ClassParser.d.ts +9 -15
  62. package/dist/cli/entrypoint/file/parsers/ClassParser.js +3 -0
  63. package/dist/cli/entrypoint/file/parsers/ClassParser.js.map +1 -1
  64. package/dist/cli/entrypoint/file/parsers/FunctionParser.d.ts +9 -17
  65. package/dist/cli/entrypoint/file/parsers/FunctionParser.js +3 -0
  66. package/dist/cli/entrypoint/file/parsers/FunctionParser.js.map +1 -1
  67. package/dist/cli/entrypoint/file/parsers/JSDocParser.d.ts +2 -5
  68. package/dist/cli/entrypoint/file/parsers/NodeFinder.d.ts +4 -10
  69. package/dist/cli/entrypoint/file/parsers/NodeFinder.js +1 -0
  70. package/dist/cli/entrypoint/file/parsers/NodeFinder.js.map +1 -1
  71. package/dist/cli/entrypoint/file/parsers/ObjectParser.d.ts +7 -15
  72. package/dist/cli/entrypoint/file/parsers/ObjectParser.js +1 -0
  73. package/dist/cli/entrypoint/file/parsers/ObjectParser.js.map +1 -1
  74. package/dist/cli/entrypoint/file/parsers/SignatureBuilder.d.ts +4 -12
  75. package/dist/cli/entrypoint/file/parsers/SignatureBuilder.js +5 -4
  76. package/dist/cli/entrypoint/file/parsers/SignatureBuilder.js.map +1 -1
  77. package/dist/cli/entrypoint/file/parsers/TypeResolver.d.ts +5 -11
  78. package/dist/cli/entrypoint/file/parsers/TypeResolver.js +2 -0
  79. package/dist/cli/entrypoint/file/parsers/TypeResolver.js.map +1 -1
  80. package/dist/cli/entrypoint/file/parsers/helpers/memberFilters.d.ts +1 -3
  81. package/dist/cli/entrypoint/file/parsers/index.d.ts +7 -14
  82. package/dist/cli/entrypoint/file/parsers/types.d.ts +4 -6
  83. package/dist/cli/entrypoint/file/resolvers/ImportResolver.d.ts +2 -6
  84. package/dist/cli/entrypoint/file/resolvers/ImportResolver.js +1 -0
  85. package/dist/cli/entrypoint/file/resolvers/ImportResolver.js.map +1 -1
  86. package/dist/cli/entrypoint/file/resolvers/TsResolver.d.ts +2 -5
  87. package/dist/cli/entrypoint/file/resolvers/index.d.ts +2 -3
  88. package/dist/cli/entrypoint/file/types.d.ts +5 -7
  89. package/dist/cli/entrypoint/finder/AbstractAssetFinder.d.ts +3 -16
  90. package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.d.ts +4 -17
  91. package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.js +22 -17
  92. package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.js.map +1 -1
  93. package/dist/cli/entrypoint/finder/AbstractFinder.d.ts +4 -15
  94. package/dist/cli/entrypoint/finder/AbstractFinder.js +7 -2
  95. package/dist/cli/entrypoint/finder/AbstractFinder.js.map +1 -1
  96. package/dist/cli/entrypoint/finder/AbstractOptionsFinder.d.ts +3 -16
  97. package/dist/cli/entrypoint/finder/AbstractPluginFinder.d.ts +3 -18
  98. package/dist/cli/entrypoint/finder/AbstractTransportFinder.d.ts +9 -26
  99. package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +9 -24
  100. package/dist/cli/entrypoint/finder/AssetPluginFinder.d.ts +8 -19
  101. package/dist/cli/entrypoint/finder/AssetPluginFinder.js +2 -0
  102. package/dist/cli/entrypoint/finder/AssetPluginFinder.js.map +1 -1
  103. package/dist/cli/entrypoint/finder/BackgroundFinder.d.ts +5 -19
  104. package/dist/cli/entrypoint/finder/CommandFinder.d.ts +7 -22
  105. package/dist/cli/entrypoint/finder/ContentFinder.d.ts +5 -19
  106. package/dist/cli/entrypoint/finder/IconFinder.d.ts +12 -25
  107. package/dist/cli/entrypoint/finder/LocaleFinder.d.ts +14 -22
  108. package/dist/cli/entrypoint/finder/LocaleFinder.js +23 -9
  109. package/dist/cli/entrypoint/finder/LocaleFinder.js.map +1 -1
  110. package/dist/cli/entrypoint/finder/OffscreenFinder.d.ts +5 -26
  111. package/dist/cli/entrypoint/finder/OffscreenViewFinder.d.ts +8 -29
  112. package/dist/cli/entrypoint/finder/OffscreenViewFinder.js +1 -0
  113. package/dist/cli/entrypoint/finder/OffscreenViewFinder.js.map +1 -1
  114. package/dist/cli/entrypoint/finder/PageFinder.d.ts +5 -22
  115. package/dist/cli/entrypoint/finder/PluginFinder.d.ts +7 -19
  116. package/dist/cli/entrypoint/finder/PluginFinder.js +2 -0
  117. package/dist/cli/entrypoint/finder/PluginFinder.js.map +1 -1
  118. package/dist/cli/entrypoint/finder/PopupFinder.d.ts +5 -22
  119. package/dist/cli/entrypoint/finder/RelayFinder.d.ts +5 -25
  120. package/dist/cli/entrypoint/finder/ServiceFinder.d.ts +5 -25
  121. package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +5 -22
  122. package/dist/cli/entrypoint/finder/index.d.ts +18 -43
  123. package/dist/cli/entrypoint/index.d.ts +4 -64
  124. package/dist/cli/entrypoint/name/InlineNameGenerator.d.ts +2 -12
  125. package/dist/cli/entrypoint/name/NameGenerator.d.ts +2 -11
  126. package/dist/cli/entrypoint/name/NameGenerator.js +1 -0
  127. package/dist/cli/entrypoint/name/NameGenerator.js.map +1 -1
  128. package/dist/cli/entrypoint/name/index.d.ts +2 -9
  129. package/dist/cli/entrypoint/parser/AbstractParser.d.ts +14 -29
  130. package/dist/cli/entrypoint/parser/AbstractParser.js +1 -0
  131. package/dist/cli/entrypoint/parser/AbstractParser.js.map +1 -1
  132. package/dist/cli/entrypoint/parser/BackgroundParser.d.ts +3 -23
  133. package/dist/cli/entrypoint/parser/CommandParser.d.ts +4 -24
  134. package/dist/cli/entrypoint/parser/CommandParser.js +20 -5
  135. package/dist/cli/entrypoint/parser/CommandParser.js.map +1 -1
  136. package/dist/cli/entrypoint/parser/ContentParser.d.ts +4 -23
  137. package/dist/cli/entrypoint/parser/OffscreenParser.d.ts +3 -28
  138. package/dist/cli/entrypoint/parser/PageParser.d.ts +3 -26
  139. package/dist/cli/entrypoint/parser/PopupParser.d.ts +3 -26
  140. package/dist/cli/entrypoint/parser/RelayParser.d.ts +4 -27
  141. package/dist/cli/entrypoint/parser/ServiceParser.d.ts +3 -27
  142. package/dist/cli/entrypoint/parser/SidebarParser.d.ts +3 -26
  143. package/dist/cli/entrypoint/parser/ViewParser.d.ts +60 -80
  144. package/dist/cli/entrypoint/parser/index.d.ts +9 -38
  145. package/dist/cli/entrypoint/utils/framework.d.ts +3 -12
  146. package/dist/cli/entrypoint/utils/index.d.ts +2 -10
  147. package/dist/cli/entrypoint/utils/resolve.d.ts +3 -5
  148. package/dist/cli/index.d.ts +1 -2
  149. package/dist/cli/plugins/asset.d.ts +2 -15
  150. package/dist/cli/plugins/background/Background.d.ts +4 -21
  151. package/dist/cli/plugins/background/BackgroundEntry.d.ts +7 -21
  152. package/dist/cli/plugins/background/BackgroundEntry.js +1 -0
  153. package/dist/cli/plugins/background/BackgroundEntry.js.map +1 -1
  154. package/dist/cli/plugins/background/BackgroundManifest.d.ts +5 -21
  155. package/dist/cli/plugins/background/Command.d.ts +6 -23
  156. package/dist/cli/plugins/background/Service.d.ts +5 -27
  157. package/dist/cli/plugins/background/ServiceDeclaration.d.ts +3 -17
  158. package/dist/cli/plugins/background/index.d.ts +2 -15
  159. package/dist/cli/plugins/bundler.d.ts +2 -15
  160. package/dist/cli/plugins/content/Content.d.ts +9 -24
  161. package/dist/cli/plugins/content/ContentDriver.d.ts +7 -22
  162. package/dist/cli/plugins/content/ContentDriver.js +1 -0
  163. package/dist/cli/plugins/content/ContentDriver.js.map +1 -1
  164. package/dist/cli/plugins/content/ContentManager.d.ts +8 -19
  165. package/dist/cli/plugins/content/ContentName.d.ts +5 -17
  166. package/dist/cli/plugins/content/ContentName.js +1 -0
  167. package/dist/cli/plugins/content/ContentName.js.map +1 -1
  168. package/dist/cli/plugins/content/Relay.d.ts +9 -30
  169. package/dist/cli/plugins/content/RelayDeclaration.d.ts +3 -17
  170. package/dist/cli/plugins/content/index.d.ts +2 -15
  171. package/dist/cli/plugins/content/types.d.ts +8 -16
  172. package/dist/cli/plugins/content/utils.d.ts +2 -11
  173. package/dist/cli/plugins/dotenv/index.d.ts +3 -16
  174. package/dist/cli/plugins/dotenv/utils.d.ts +4 -7
  175. package/dist/cli/plugins/html.d.ts +2 -15
  176. package/dist/cli/plugins/icon/Icon.d.ts +6 -22
  177. package/dist/cli/plugins/icon/declaration/IconDeclaration.d.ts +3 -16
  178. package/dist/cli/plugins/icon/declaration/index.d.ts +1 -13
  179. package/dist/cli/plugins/icon/index.d.ts +4 -21
  180. package/dist/cli/plugins/index.d.ts +22 -58
  181. package/dist/cli/plugins/index.js +32 -30
  182. package/dist/cli/plugins/index.js.map +1 -1
  183. package/dist/cli/plugins/locale/Locale.d.ts +3 -20
  184. package/dist/cli/plugins/locale/declaration/LocaleDeclaration.d.ts +4 -16
  185. package/dist/cli/plugins/locale/declaration/index.d.ts +1 -13
  186. package/dist/cli/plugins/locale/declaration/locale.d.ts +61 -11
  187. package/dist/cli/plugins/locale/index.d.ts +2 -15
  188. package/dist/cli/plugins/locale/index.js +44 -49
  189. package/dist/cli/plugins/locale/index.js.map +1 -1
  190. package/dist/cli/plugins/manifest.d.ts +2 -0
  191. package/dist/cli/plugins/manifest.js +27 -0
  192. package/dist/cli/plugins/manifest.js.map +1 -0
  193. package/dist/cli/plugins/meta/AbstractMeta.d.ts +2 -15
  194. package/dist/cli/plugins/meta/AbstractMeta.js +1 -0
  195. package/dist/cli/plugins/meta/AbstractMeta.js.map +1 -1
  196. package/dist/cli/plugins/meta/Author.d.ts +3 -16
  197. package/dist/cli/plugins/meta/Homepage.d.ts +3 -16
  198. package/dist/cli/plugins/meta/Incognito.d.ts +4 -16
  199. package/dist/cli/plugins/meta/SpecificSettings.d.ts +4 -16
  200. package/dist/cli/plugins/meta/index.d.ts +7 -20
  201. package/dist/cli/plugins/offscreen/Offscreen.d.ts +11 -35
  202. package/dist/cli/plugins/offscreen/OffscreenDeclaration.d.ts +3 -17
  203. package/dist/cli/plugins/offscreen/index.d.ts +2 -15
  204. package/dist/cli/plugins/optimization.d.ts +2 -15
  205. package/dist/cli/plugins/output.d.ts +2 -15
  206. package/dist/cli/plugins/page/Page.d.ts +8 -26
  207. package/dist/cli/plugins/page/declaration/PageDeclaration.d.ts +3 -16
  208. package/dist/cli/plugins/page/declaration/index.d.ts +1 -13
  209. package/dist/cli/plugins/page/index.d.ts +2 -15
  210. package/dist/cli/plugins/popup/Popup.d.ts +9 -27
  211. package/dist/cli/plugins/popup/declaration/PopupDeclaration.d.ts +3 -16
  212. package/dist/cli/plugins/popup/declaration/index.d.ts +1 -13
  213. package/dist/cli/plugins/popup/index.d.ts +2 -15
  214. package/dist/cli/plugins/public.d.ts +2 -15
  215. package/dist/cli/plugins/react.d.ts +2 -15
  216. package/dist/cli/plugins/sidebar/Sidebar.d.ts +9 -27
  217. package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.d.ts +3 -16
  218. package/dist/cli/plugins/sidebar/declaration/index.d.ts +1 -13
  219. package/dist/cli/plugins/sidebar/index.d.ts +2 -15
  220. package/dist/cli/plugins/style.d.ts +2 -15
  221. package/dist/cli/plugins/typescript/FileBuilder.d.ts +2 -15
  222. package/dist/cli/plugins/typescript/FileBuilder.js +1 -0
  223. package/dist/cli/plugins/typescript/FileBuilder.js.map +1 -1
  224. package/dist/cli/plugins/typescript/TypescriptConfig.d.ts +4 -17
  225. package/dist/cli/plugins/typescript/declaration/index.d.ts +2 -14
  226. package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.d.ts +4 -17
  227. package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.js +1 -0
  228. package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.js.map +1 -1
  229. package/dist/cli/plugins/typescript/declaration/transport/index.d.ts +1 -13
  230. package/dist/cli/plugins/typescript/declaration/vendor/VendorDeclaration.d.ts +3 -16
  231. package/dist/cli/plugins/typescript/declaration/vendor/index.d.ts +1 -13
  232. package/dist/cli/plugins/typescript/index.d.ts +6 -20
  233. package/dist/cli/plugins/version/AbstractVersion.d.ts +2 -15
  234. package/dist/cli/plugins/version/AbstractVersion.js +2 -1
  235. package/dist/cli/plugins/version/AbstractVersion.js.map +1 -1
  236. package/dist/cli/plugins/version/AddonVersion.d.ts +3 -16
  237. package/dist/cli/plugins/version/BrowserMinimumVersion.d.ts +3 -16
  238. package/dist/cli/plugins/version/index.d.ts +5 -18
  239. package/dist/cli/plugins/view/View.d.ts +10 -24
  240. package/dist/cli/plugins/view/View.js +2 -0
  241. package/dist/cli/plugins/view/View.js.map +1 -1
  242. package/dist/cli/plugins/view/index.d.ts +3 -22
  243. package/dist/cli/resolvers/bundler.d.ts +4 -15
  244. package/dist/cli/resolvers/config.d.ts +2 -14
  245. package/dist/cli/resolvers/config.js +45 -6
  246. package/dist/cli/resolvers/config.js.map +1 -1
  247. package/dist/cli/resolvers/path.d.ts +11 -24
  248. package/dist/cli/resolvers/plugin.d.ts +3 -16
  249. package/dist/cli/utils/fs.d.ts +3 -5
  250. package/dist/cli/utils/path.d.ts +3 -5
  251. package/dist/cli/utils/string.d.ts +2 -4
  252. package/dist/cli/virtual/background.d.ts +1 -0
  253. package/dist/cli/virtual/command.d.ts +1 -0
  254. package/dist/cli/virtual/content.d.ts +1 -0
  255. package/dist/cli/virtual/index.d.ts +9 -0
  256. package/dist/cli/virtual/index.js +2 -2
  257. package/dist/cli/virtual/offscreen.background.d.ts +1 -0
  258. package/dist/cli/virtual/offscreen.d.ts +1 -0
  259. package/dist/cli/virtual/relay.d.ts +1 -0
  260. package/dist/cli/virtual/transport.d.ts +1 -0
  261. package/dist/cli/virtual/view.d.ts +1 -0
  262. package/dist/cli/virtual/virtual.d.ts +38 -38
  263. package/dist/entry/background/Builder.d.ts +3 -12
  264. package/dist/entry/background/Builder.js +1 -0
  265. package/dist/entry/background/Builder.js.map +1 -1
  266. package/dist/entry/background/index.d.ts +3 -12
  267. package/dist/entry/background/resolvers/definition.d.ts +3 -12
  268. package/dist/entry/background/resolvers/index.d.ts +1 -8
  269. package/dist/entry/command/Builder.d.ts +4 -12
  270. package/dist/entry/command/index.d.ts +3 -12
  271. package/dist/entry/command/resolvers/definition.d.ts +4 -13
  272. package/dist/entry/command/resolvers/index.d.ts +1 -8
  273. package/dist/entry/content/adapters/react/Builder.d.ts +3 -17
  274. package/dist/entry/content/adapters/react/Node.d.ts +6 -14
  275. package/dist/entry/content/adapters/react/Node.js +2 -0
  276. package/dist/entry/content/adapters/react/Node.js.map +1 -1
  277. package/dist/entry/content/adapters/react/index.d.ts +4 -18
  278. package/dist/entry/content/adapters/react/resolvers/index.d.ts +1 -8
  279. package/dist/entry/content/adapters/react/resolvers/render.d.ts +2 -11
  280. package/dist/entry/content/adapters/vanilla/Builder.d.ts +3 -17
  281. package/dist/entry/content/adapters/vanilla/Node.d.ts +2 -11
  282. package/dist/entry/content/adapters/vanilla/Node.js +2 -0
  283. package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
  284. package/dist/entry/content/adapters/vanilla/index.d.ts +4 -18
  285. package/dist/entry/content/core/AbstractMarker.d.ts +2 -11
  286. package/dist/entry/content/core/AbstractMarker.js +1 -0
  287. package/dist/entry/content/core/AbstractMarker.js.map +1 -1
  288. package/dist/entry/content/core/AttributeMarker.d.ts +3 -12
  289. package/dist/entry/content/core/Builder.d.ts +8 -17
  290. package/dist/entry/content/core/Context.d.ts +2 -11
  291. package/dist/entry/content/core/Context.js +1 -0
  292. package/dist/entry/content/core/Context.js.map +1 -1
  293. package/dist/entry/content/core/EventEmitter.d.ts +2 -11
  294. package/dist/entry/content/core/EventNode.d.ts +2 -11
  295. package/dist/entry/content/core/EventNode.js +2 -0
  296. package/dist/entry/content/core/EventNode.js.map +1 -1
  297. package/dist/entry/content/core/ManagedContext.d.ts +3 -12
  298. package/dist/entry/content/core/MarkerNode.d.ts +2 -11
  299. package/dist/entry/content/core/MarkerNode.js +2 -0
  300. package/dist/entry/content/core/MarkerNode.js.map +1 -1
  301. package/dist/entry/content/core/MountBuilder.d.ts +3 -16
  302. package/dist/entry/content/core/MountNode.d.ts +2 -11
  303. package/dist/entry/content/core/MountNode.js +2 -0
  304. package/dist/entry/content/core/MountNode.js.map +1 -1
  305. package/dist/entry/content/core/Node.d.ts +2 -11
  306. package/dist/entry/content/core/Node.js +2 -0
  307. package/dist/entry/content/core/Node.js.map +1 -1
  308. package/dist/entry/content/core/WeakMarker.d.ts +3 -12
  309. package/dist/entry/content/core/resolvers/anchor.d.ts +2 -11
  310. package/dist/entry/content/core/resolvers/container.d.ts +2 -11
  311. package/dist/entry/content/core/resolvers/definition.d.ts +3 -12
  312. package/dist/entry/content/core/resolvers/index.d.ts +6 -13
  313. package/dist/entry/content/core/resolvers/mount.d.ts +2 -11
  314. package/dist/entry/content/core/resolvers/render.d.ts +3 -12
  315. package/dist/entry/content/core/resolvers/watch.d.ts +4 -13
  316. package/dist/entry/content/index.d.ts +1 -8
  317. package/dist/entry/core/Builder.d.ts +2 -11
  318. package/dist/entry/offscreen/Builder.d.ts +8 -25
  319. package/dist/entry/offscreen/Builder.js +8 -1
  320. package/dist/entry/offscreen/Builder.js.map +1 -1
  321. package/dist/entry/offscreen/TransportBuilder.d.ts +6 -24
  322. package/dist/entry/offscreen/index.d.ts +4 -25
  323. package/dist/entry/relay/Builder.d.ts +7 -21
  324. package/dist/entry/relay/Builder.js +1 -0
  325. package/dist/entry/relay/Builder.js.map +1 -1
  326. package/dist/entry/relay/TransportBuilder.d.ts +6 -20
  327. package/dist/entry/relay/index.d.ts +4 -21
  328. package/dist/entry/service/Builder.d.ts +6 -20
  329. package/dist/entry/service/index.d.ts +2 -14
  330. package/dist/entry/transport/AbstractBuilder.d.ts +4 -14
  331. package/dist/entry/transport/index.d.ts +1 -14
  332. package/dist/entry/transport/resolvers/definition.d.ts +7 -20
  333. package/dist/entry/transport/resolvers/index.d.ts +1 -14
  334. package/dist/entry/view/adapters/react/Builder.d.ts +4 -16
  335. package/dist/entry/view/adapters/react/index.d.ts +4 -17
  336. package/dist/entry/view/adapters/react/resolvers/render.d.ts +2 -13
  337. package/dist/entry/view/adapters/vanilla/Builder.d.ts +3 -15
  338. package/dist/entry/view/adapters/vanilla/index.d.ts +4 -16
  339. package/dist/entry/view/core/Builder.d.ts +3 -14
  340. package/dist/entry/view/core/resolvers/container.d.ts +2 -13
  341. package/dist/entry/view/core/resolvers/definition.d.ts +3 -14
  342. package/dist/entry/view/core/resolvers/render.d.ts +3 -14
  343. package/dist/entry/view/index.d.ts +1 -10
  344. package/dist/index.d.ts +1 -43
  345. package/dist/locale/adapters/react/LocaleProvider.d.ts +4 -6
  346. package/dist/locale/adapters/react/LocaleProvider.js +5 -5
  347. package/dist/locale/adapters/react/LocaleProvider.js.map +1 -1
  348. package/dist/locale/adapters/react/context.d.ts +8 -13
  349. package/dist/locale/adapters/react/context.js +2 -5
  350. package/dist/locale/adapters/react/context.js.map +1 -1
  351. package/dist/locale/adapters/react/index.d.ts +2 -6
  352. package/dist/locale/helpers.d.ts +60 -36
  353. package/dist/locale/helpers.js +14 -14
  354. package/dist/locale/helpers.js.map +1 -1
  355. package/dist/locale/index.d.ts +3 -7
  356. package/dist/locale/index.js.map +1 -1
  357. package/dist/locale/providers/AbstractLocale.d.ts +5 -8
  358. package/dist/locale/providers/AbstractLocale.js +9 -6
  359. package/dist/locale/providers/AbstractLocale.js.map +1 -1
  360. package/dist/locale/providers/CustomLocale.d.ts +5 -8
  361. package/dist/locale/providers/CustomLocale.js +3 -1
  362. package/dist/locale/providers/CustomLocale.js.map +1 -1
  363. package/dist/locale/providers/DynamicLocale.d.ts +7 -11
  364. package/dist/locale/providers/DynamicLocale.js +1 -1
  365. package/dist/locale/providers/DynamicLocale.js.map +1 -1
  366. package/dist/locale/providers/NativeLocale.d.ts +7 -10
  367. package/dist/locale/providers/NativeLocale.js.map +1 -1
  368. package/dist/locale/providers/index.d.ts +3 -6
  369. package/dist/locale/utils.d.ts +11 -14
  370. package/dist/main/app.d.ts +1 -1
  371. package/dist/main/app.js +3 -2
  372. package/dist/main/app.js.map +1 -1
  373. package/dist/main/background.d.ts +3 -12
  374. package/dist/main/browser.d.ts +1 -1
  375. package/dist/main/command.d.ts +4 -13
  376. package/dist/main/config.d.ts +3 -16
  377. package/dist/main/config.js.map +1 -1
  378. package/dist/main/content.d.ts +6 -18
  379. package/dist/main/env.d.ts +7 -15
  380. package/dist/main/icon.d.ts +6 -7
  381. package/dist/main/index.d.ts +17 -43
  382. package/dist/main/manifest.d.ts +1 -7
  383. package/dist/main/offscreen.d.ts +9 -22
  384. package/dist/main/offscreen.js +1 -1
  385. package/dist/main/offscreen.js.map +1 -1
  386. package/dist/main/page.d.ts +7 -19
  387. package/dist/main/plugin.d.ts +3 -16
  388. package/dist/main/popup.d.ts +8 -18
  389. package/dist/main/popup.js +2 -2
  390. package/dist/main/popup.js.map +1 -1
  391. package/dist/main/relay.d.ts +8 -21
  392. package/dist/main/service.d.ts +6 -15
  393. package/dist/main/sidebar.d.ts +8 -18
  394. package/dist/main/sidebar.js +2 -2
  395. package/dist/main/sidebar.js.map +1 -1
  396. package/dist/main/view.d.ts +1 -9
  397. package/dist/message/MessageManager.d.ts +2 -5
  398. package/dist/message/adapters/react/index.d.ts +1 -2
  399. package/dist/message/adapters/react/useMessageHandler.d.ts +2 -5
  400. package/dist/message/handlers/AbstractHandler.d.ts +2 -5
  401. package/dist/message/handlers/GeneralHandler.d.ts +3 -6
  402. package/dist/message/handlers/GeneralHandler.js +1 -0
  403. package/dist/message/handlers/GeneralHandler.js.map +1 -1
  404. package/dist/message/handlers/MapHandler.d.ts +3 -6
  405. package/dist/message/handlers/MapHandler.js +1 -0
  406. package/dist/message/handlers/MapHandler.js.map +1 -1
  407. package/dist/message/handlers/SingleHandler.d.ts +3 -6
  408. package/dist/message/handlers/SingleHandler.js +2 -0
  409. package/dist/message/handlers/SingleHandler.js.map +1 -1
  410. package/dist/message/handlers/index.d.ts +3 -5
  411. package/dist/message/index.d.ts +9 -13
  412. package/dist/message/providers/AbstractMessage.d.ts +2 -5
  413. package/dist/message/providers/Message.d.ts +4 -7
  414. package/dist/message/providers/index.d.ts +1 -4
  415. package/dist/offscreen/OffscreenBackground.d.ts +2 -9
  416. package/dist/offscreen/OffscreenBridge.d.ts +8 -9
  417. package/dist/offscreen/OffscreenBridge.js +55 -7
  418. package/dist/offscreen/OffscreenBridge.js.map +1 -1
  419. package/dist/offscreen/OffscreenManager.d.ts +4 -15
  420. package/dist/offscreen/OffscreenMessage.d.ts +2 -14
  421. package/dist/offscreen/index.d.ts +5 -26
  422. package/dist/offscreen/providers/Offscreen.d.ts +3 -14
  423. package/dist/offscreen/providers/ProxyOffscreen.d.ts +7 -18
  424. package/dist/offscreen/providers/ProxyOffscreen.js +44 -23
  425. package/dist/offscreen/providers/ProxyOffscreen.js.map +1 -1
  426. package/dist/offscreen/providers/RegisterOffscreen.d.ts +5 -18
  427. package/dist/offscreen/providers/RegisterOffscreen.js +1 -0
  428. package/dist/offscreen/providers/RegisterOffscreen.js.map +1 -1
  429. package/dist/offscreen/providers/index.d.ts +3 -17
  430. package/dist/offscreen/utils.d.ts +1 -3
  431. package/dist/relay/RelayManager.d.ts +6 -16
  432. package/dist/relay/RelayMessage.d.ts +2 -14
  433. package/dist/relay/RelayPermission.d.ts +4 -15
  434. package/dist/relay/index.d.ts +4 -22
  435. package/dist/relay/providers/ProxyRelay.d.ts +8 -19
  436. package/dist/relay/providers/ProxyRelay.js +2 -0
  437. package/dist/relay/providers/ProxyRelay.js.map +1 -1
  438. package/dist/relay/providers/RegisterRelay.d.ts +4 -16
  439. package/dist/relay/providers/RegisterRelay.js +2 -0
  440. package/dist/relay/providers/RegisterRelay.js.map +1 -1
  441. package/dist/relay/providers/Relay.d.ts +3 -14
  442. package/dist/relay/providers/index.d.ts +3 -18
  443. package/dist/relay/utils.d.ts +3 -5
  444. package/dist/service/ServiceManager.d.ts +4 -15
  445. package/dist/service/ServiceMessage.d.ts +2 -14
  446. package/dist/service/index.d.ts +4 -19
  447. package/dist/service/providers/ProxyService.d.ts +4 -15
  448. package/dist/service/providers/RegisterService.d.ts +3 -15
  449. package/dist/service/providers/RegisterService.js +1 -0
  450. package/dist/service/providers/RegisterService.js.map +1 -1
  451. package/dist/service/providers/Service.d.ts +3 -14
  452. package/dist/service/providers/index.d.ts +3 -15
  453. package/dist/transport/BaseTransport.d.ts +2 -13
  454. package/dist/transport/BaseTransport.js +1 -0
  455. package/dist/transport/BaseTransport.js.map +1 -1
  456. package/dist/transport/ProxyTransport.d.ts +4 -14
  457. package/dist/transport/RegisterTransport.d.ts +4 -16
  458. package/dist/transport/RegisterTransport.js +13 -20
  459. package/dist/transport/RegisterTransport.js.map +1 -1
  460. package/dist/transport/TransportManager.d.ts +2 -13
  461. package/dist/transport/TransportMessage.d.ts +3 -13
  462. package/dist/transport/index.d.ts +1 -9
  463. package/dist/types/app.d.ts +8 -6
  464. package/dist/types/app.js +7 -1
  465. package/dist/types/app.js.map +1 -1
  466. package/dist/types/background.d.ts +20 -7
  467. package/dist/types/browser.d.ts +6 -8
  468. package/dist/types/command.d.ts +27 -7
  469. package/dist/types/config.d.ts +673 -11
  470. package/dist/types/content.d.ts +195 -7
  471. package/dist/types/entrypoint.d.ts +106 -7
  472. package/dist/types/entrypoint.js.map +1 -1
  473. package/dist/types/env.d.ts +4 -6
  474. package/dist/types/framework.d.ts +1 -3
  475. package/dist/types/helpers.d.ts +6 -7
  476. package/dist/types/icon.d.ts +3 -5
  477. package/dist/types/locale.d.ts +35 -29
  478. package/dist/types/locale.js.map +1 -1
  479. package/dist/types/manifest.d.ts +163 -7
  480. package/dist/types/manifest.js.map +1 -1
  481. package/dist/types/message.d.ts +17 -19
  482. package/dist/types/message.js +1 -1
  483. package/dist/types/message.js.map +1 -1
  484. package/dist/types/offscreen.d.ts +13 -23
  485. package/dist/types/offscreen.js +2 -0
  486. package/dist/types/offscreen.js.map +1 -1
  487. package/dist/types/page.d.ts +5 -16
  488. package/dist/types/plugin.d.ts +101 -11
  489. package/dist/types/popup.d.ts +5 -16
  490. package/dist/types/relay.d.ts +13 -21
  491. package/dist/types/service.d.ts +9 -18
  492. package/dist/types/sidebar.d.ts +7 -17
  493. package/dist/types/transport.d.ts +22 -29
  494. package/dist/types/view.d.ts +18 -24
  495. package/package.json +9 -11
  496. package/dist/config-B38J9WIM.d.ts +0 -743
  497. package/dist/manifest-DKvERQ4d.d.ts +0 -503
@@ -1,6 +1,3 @@
1
- import { Compiler } from '@rspack/core';
2
-
3
- declare const build: (compiler: Compiler) => void;
4
- declare const watch: (compiler: Compiler) => void;
5
-
6
- export { build, watch };
1
+ import { Compiler } from "@rspack/core";
2
+ export declare const build: (compiler: Compiler) => void;
3
+ export declare const watch: (compiler: Compiler) => void;
@@ -1,15 +1,3 @@
1
- import { O as OptionalConfig } from '../../../config-B38J9WIM.js';
2
- import '@rspack/core';
3
- import 'html-rspack-tags-plugin';
4
- import '../../../types/app.js';
5
- import '../../../types/browser.js';
6
- import '../../../manifest-DKvERQ4d.js';
7
- import 'react';
8
- import 'utility-types';
9
- import '../../../types/helpers.js';
10
- import '../../../types/locale.js';
11
- import '../../../types/env.js';
12
-
1
+ import { OptionalConfig } from "../../../types/config.js";
13
2
  declare const _default: (config: OptionalConfig) => Promise<void>;
14
-
15
- export { _default as default };
3
+ export default _default;
@@ -1,10 +1,7 @@
1
- import { LocaleValidator, Language } from '../../../types/locale.js';
2
- import { Browser } from '../../../types/browser.js';
3
- import export_default$1 from './LocaleValidator.js';
4
-
5
- declare class export_default extends export_default$1 implements LocaleValidator {
1
+ import { Language, LocaleValidator as LocaleValidatorContract } from "../../../types/locale.js";
2
+ import { Browser } from "../../../types/browser.js";
3
+ import LocaleValidator from "./LocaleValidator.js";
4
+ export default class extends LocaleValidator implements LocaleValidatorContract {
6
5
  protected get nameLimit(): number;
7
6
  constructor(browser: Browser, language: Language);
8
7
  }
9
-
10
- export { export_default as default };
@@ -1,7 +1,6 @@
1
- import { LocaleBuilder as LocaleBuilder$1, Language, LocaleData, LocaleItems, LocaleValidator, LocaleKeys, LocaleMessages, LocaleStructure } from '../../../types/locale.js';
2
- import { Browser } from '../../../types/browser.js';
3
-
4
- declare class LocaleBuilder implements LocaleBuilder$1 {
1
+ import { Language, LocaleBuilder as LocaleBuilderContract, LocaleData, LocaleItems, LocaleKeys, LocaleMessages, LocaleStructure, LocaleValidator } from "../../../types/locale.js";
2
+ import { Browser } from "../../../types/browser.js";
3
+ export default class LocaleBuilder implements LocaleBuilderContract {
5
4
  protected readonly browser: Browser;
6
5
  protected readonly language: Language;
7
6
  protected data: LocaleData[];
@@ -19,5 +18,3 @@ declare class LocaleBuilder implements LocaleBuilder$1 {
19
18
  setValidator(validator: LocaleValidator): this;
20
19
  protected convert(data: LocaleData, prefix?: string): LocaleItems;
21
20
  }
22
-
23
- export { LocaleBuilder as default };
@@ -11,6 +11,8 @@ class LocaleBuilder {
11
11
  this.browser = browser;
12
12
  this.language = language;
13
13
  }
14
+ browser;
15
+ language;
14
16
  data = [];
15
17
  items;
16
18
  validator;
@@ -47,7 +49,7 @@ class LocaleBuilder {
47
49
  while ((match = pattern.exec(value)) !== null) {
48
50
  substitutions2.push(match[1].trim());
49
51
  }
50
- return substitutions2;
52
+ return _.uniq(substitutions2.filter(Boolean)).sort();
51
53
  };
52
54
  return this.get().entries().reduce(
53
55
  (structure, [key, value]) => ({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/builders/locale/LocaleBuilder.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {convertLocaleKey} from \"@locale/utils\";\n\nimport {LocaleError} from \"./LocaleValidator\";\n\nimport {\n Language,\n LocaleBuilder as LocaleBuilderContract,\n LocaleCustomKeyForLanguage,\n LocaleData,\n LocaleItems,\n LocaleKeys,\n LocaleMessages,\n LocaleNestedKeysSeparator,\n LocaleStructure,\n LocaleValidator,\n LocaleValuesSeparator,\n} from \"@typing/locale\";\nimport {Browser} from \"@typing/browser\";\n\nexport default class LocaleBuilder implements LocaleBuilderContract {\n protected data: LocaleData[] = [];\n protected items?: LocaleItems;\n\n protected validator?: LocaleValidator;\n\n constructor(\n protected readonly browser: Browser,\n protected readonly language: Language\n ) {}\n\n public get(): LocaleItems {\n if (this.items) {\n return this.items;\n }\n\n const items: LocaleItems = new Map();\n\n for (const data of this.data) {\n for (const [key, value] of this.convert(data).entries()) {\n items.set(key, value);\n }\n }\n\n /**\n We inject a locale marker into each `messages.json`.\n Chrome provides no API to query the effective i18n locale:\n browser UI language may differ from the translation actually used\n (Chrome silently falls back to default_locale).\n Reading this marker via chrome.i18n.getMessage() is the only reliable way\n to detect the language currently displayed in the extension UI.\n */\n items.set(LocaleCustomKeyForLanguage, this.language);\n\n return (this.items = items);\n }\n\n public keys(): LocaleKeys {\n return new Set(this.get().keys());\n }\n\n public build(): LocaleMessages {\n return this.validate()\n .get()\n .entries()\n .reduce(\n (locale, [key, value]) => ({\n ...locale,\n [convertLocaleKey(key)]: {message: value},\n }),\n {}\n );\n }\n\n public structure(): LocaleStructure {\n const substitutions = (value: string): string[] => {\n const pattern = /{{([^{}]+)}}/g;\n const substitutions: string[] = [];\n\n let match: RegExpExecArray | null;\n\n while ((match = pattern.exec(value)) !== null) {\n substitutions.push(match[1].trim());\n }\n\n return substitutions;\n };\n\n return this.get()\n .entries()\n .reduce(\n (structure, [key, value]) => ({\n ...structure,\n [key]: {\n plural: value.includes(LocaleValuesSeparator),\n substitutions: substitutions(value),\n },\n }),\n {} as LocaleStructure\n );\n }\n\n public merge(data: LocaleData): this {\n this.data.push(data);\n this.items = undefined;\n\n return this;\n }\n\n public lang(): Language {\n return this.language;\n }\n\n public isValid(): boolean {\n try {\n this.validate();\n return true;\n } catch {\n return false;\n }\n }\n\n public validate(): this {\n if (!this.validator) {\n throw new LocaleError(this.browser, this.language, \"Validator is not set\");\n }\n\n this.validator.validate(this);\n\n return this;\n }\n\n public setValidator(validator: LocaleValidator): this {\n this.validator = validator;\n\n return this;\n }\n\n protected convert(data: LocaleData, prefix?: string): LocaleItems {\n const items: LocaleItems = new Map();\n\n for (const [key, value] of Object.entries(data)) {\n const resolvedKey = prefix ? [prefix, key].join(LocaleNestedKeysSeparator) : key;\n\n if (_.isString(value) || _.isNumber(value)) {\n items.set(resolvedKey, value.toString());\n } else if (_.isArray(value)) {\n items.set(\n resolvedKey,\n _.filter(value, v => _.isString(v) || _.isNumber(v)).join(LocaleValuesSeparator)\n );\n } else if (_.isPlainObject(value)) {\n for (const [k, v] of this.convert(value, resolvedKey).entries()) {\n items.set(k, v);\n }\n }\n }\n\n return items;\n }\n}\n"],"mappings":"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","names":["substitutions"]}
1
+ {"version":3,"sources":["../../../../src/cli/builders/locale/LocaleBuilder.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {convertLocaleKey} from \"@locale/utils\";\n\nimport {LocaleError} from \"./LocaleValidator\";\n\nimport {\n Language,\n LocaleBuilder as LocaleBuilderContract,\n LocaleCustomKeyForLanguage,\n LocaleData,\n LocaleItems,\n LocaleKeys,\n LocaleMessages,\n LocaleNestedKeysSeparator,\n LocaleStructure,\n LocaleValidator,\n LocaleValuesSeparator,\n} from \"@typing/locale\";\nimport {Browser} from \"@typing/browser\";\n\nexport default class LocaleBuilder implements LocaleBuilderContract {\n protected data: LocaleData[] = [];\n protected items?: LocaleItems;\n\n protected validator?: LocaleValidator;\n\n constructor(\n protected readonly browser: Browser,\n protected readonly language: Language\n ) {}\n\n public get(): LocaleItems {\n if (this.items) {\n return this.items;\n }\n\n const items: LocaleItems = new Map();\n\n for (const data of this.data) {\n for (const [key, value] of this.convert(data).entries()) {\n items.set(key, value);\n }\n }\n\n /**\n We inject a locale marker into each `messages.json`.\n Chrome provides no API to query the effective i18n locale:\n browser UI language may differ from the translation actually used\n (Chrome silently falls back to default_locale).\n Reading this marker via chrome.i18n.getMessage() is the only reliable way\n to detect the language currently displayed in the extension UI.\n */\n items.set(LocaleCustomKeyForLanguage, this.language);\n\n return (this.items = items);\n }\n\n public keys(): LocaleKeys {\n return new Set(this.get().keys());\n }\n\n public build(): LocaleMessages {\n return this.validate()\n .get()\n .entries()\n .reduce(\n (locale, [key, value]) => ({\n ...locale,\n [convertLocaleKey(key)]: {message: value},\n }),\n {}\n );\n }\n\n public structure(): LocaleStructure {\n const substitutions = (value: string): string[] => {\n const pattern = /{{([^{}]+)}}/g;\n const substitutions: string[] = [];\n\n let match: RegExpExecArray | null;\n\n while ((match = pattern.exec(value)) !== null) {\n substitutions.push(match[1].trim());\n }\n\n return _.uniq(substitutions.filter(Boolean)).sort();\n };\n\n return this.get()\n .entries()\n .reduce(\n (structure, [key, value]) => ({\n ...structure,\n [key]: {\n plural: value.includes(LocaleValuesSeparator),\n substitutions: substitutions(value),\n },\n }),\n {} as LocaleStructure\n );\n }\n\n public merge(data: LocaleData): this {\n this.data.push(data);\n this.items = undefined;\n\n return this;\n }\n\n public lang(): Language {\n return this.language;\n }\n\n public isValid(): boolean {\n try {\n this.validate();\n return true;\n } catch {\n return false;\n }\n }\n\n public validate(): this {\n if (!this.validator) {\n throw new LocaleError(this.browser, this.language, \"Validator is not set\");\n }\n\n this.validator.validate(this);\n\n return this;\n }\n\n public setValidator(validator: LocaleValidator): this {\n this.validator = validator;\n\n return this;\n }\n\n protected convert(data: LocaleData, prefix?: string): LocaleItems {\n const items: LocaleItems = new Map();\n\n for (const [key, value] of Object.entries(data)) {\n const resolvedKey = prefix ? [prefix, key].join(LocaleNestedKeysSeparator) : key;\n\n if (_.isString(value) || _.isNumber(value)) {\n items.set(resolvedKey, value.toString());\n } else if (_.isArray(value)) {\n items.set(\n resolvedKey,\n _.filter(value, v => _.isString(v) || _.isNumber(v)).join(LocaleValuesSeparator)\n );\n } else if (_.isPlainObject(value)) {\n for (const [k, v] of this.convert(value, resolvedKey).entries()) {\n items.set(k, v);\n }\n }\n }\n\n return items;\n }\n}\n"],"mappings":"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","names":["substitutions"]}
@@ -0,0 +1,8 @@
1
+ import { Language, LocaleBuilder, LocaleBuilders, LocaleContractValidator } from "../../../types/locale.js";
2
+ export default class implements LocaleContractValidator {
3
+ protected readonly defaultLanguage: Language;
4
+ constructor(defaultLanguage: Language);
5
+ isValid(builders: LocaleBuilders): boolean;
6
+ validate(builders: LocaleBuilders): this;
7
+ getDefaultBuilder(builders: LocaleBuilders): LocaleBuilder | undefined;
8
+ }
@@ -0,0 +1,64 @@
1
+ import _ from "lodash";
2
+ class LocaleStructureValidator_default {
3
+ constructor(defaultLanguage) {
4
+ this.defaultLanguage = defaultLanguage;
5
+ }
6
+ defaultLanguage;
7
+ isValid(builders) {
8
+ try {
9
+ this.validate(builders);
10
+ return true;
11
+ } catch {
12
+ return false;
13
+ }
14
+ }
15
+ validate(builders) {
16
+ const defaultBuilder = this.getDefaultBuilder(builders);
17
+ if (!defaultBuilder) {
18
+ return this;
19
+ }
20
+ const defaultStructure = defaultBuilder.structure();
21
+ for (const [language, builder] of builders.entries()) {
22
+ if (language === this.defaultLanguage) {
23
+ continue;
24
+ }
25
+ const structure = builder.structure();
26
+ for (const [key, locale] of Object.entries(structure)) {
27
+ const expected = defaultStructure[key];
28
+ if (!expected) {
29
+ console.warn(
30
+ `Locale "${language}" contains unknown key "${key}" not found in default locale "${this.defaultLanguage}"`
31
+ );
32
+ continue;
33
+ }
34
+ if (expected.plural !== locale.plural) {
35
+ throw new Error(
36
+ `Locale "${language}" key "${key}" must be ${expected.plural ? "plural" : "non-plural"} like default locale "${this.defaultLanguage}"`
37
+ );
38
+ }
39
+ if (!_.isEqual(expected.substitutions, locale.substitutions)) {
40
+ throw new Error(
41
+ `Locale "${language}" key "${key}" substitutions [${locale.substitutions.join(", ")}] must match default locale "${this.defaultLanguage}" substitutions [${expected.substitutions.join(", ")}]`
42
+ );
43
+ }
44
+ }
45
+ }
46
+ return this;
47
+ }
48
+ getDefaultBuilder(builders) {
49
+ if (builders.size === 0) {
50
+ return void 0;
51
+ }
52
+ const builder = builders.get(this.defaultLanguage);
53
+ if (!builder) {
54
+ throw new Error(
55
+ `Default locale "${this.defaultLanguage}" not found in available translations. Available languages: ${[...builders.keys()].join(", ")}`
56
+ );
57
+ }
58
+ return builder;
59
+ }
60
+ }
61
+ export {
62
+ LocaleStructureValidator_default as default
63
+ };
64
+ //# sourceMappingURL=LocaleStructureValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/builders/locale/LocaleStructureValidator.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {Language, LocaleBuilder, LocaleBuilders, LocaleContractValidator} from \"@typing/locale\";\n\nexport default class implements LocaleContractValidator {\n constructor(protected readonly defaultLanguage: Language) {}\n\n public isValid(builders: LocaleBuilders): boolean {\n try {\n this.validate(builders);\n\n return true;\n } catch {\n return false;\n }\n }\n\n public validate(builders: LocaleBuilders): this {\n const defaultBuilder = this.getDefaultBuilder(builders);\n\n if (!defaultBuilder) {\n return this;\n }\n\n const defaultStructure = defaultBuilder.structure();\n\n for (const [language, builder] of builders.entries()) {\n if (language === this.defaultLanguage) {\n continue;\n }\n\n const structure = builder.structure();\n\n for (const [key, locale] of Object.entries(structure)) {\n const expected = defaultStructure[key];\n\n if (!expected) {\n console.warn(\n `Locale \"${language}\" contains unknown key \"${key}\" not found in default locale \"${this.defaultLanguage}\"`\n );\n continue;\n }\n\n if (expected.plural !== locale.plural) {\n throw new Error(\n `Locale \"${language}\" key \"${key}\" must be ${expected.plural ? \"plural\" : \"non-plural\"} like default locale \"${this.defaultLanguage}\"`\n );\n }\n\n if (!_.isEqual(expected.substitutions, locale.substitutions)) {\n throw new Error(\n `Locale \"${language}\" key \"${key}\" substitutions [${locale.substitutions.join(\", \")}] must match default locale \"${this.defaultLanguage}\" substitutions [${expected.substitutions.join(\", \")}]`\n );\n }\n }\n }\n\n return this;\n }\n\n public getDefaultBuilder(builders: LocaleBuilders): LocaleBuilder | undefined {\n if (builders.size === 0) {\n return undefined;\n }\n\n const builder = builders.get(this.defaultLanguage);\n\n if (!builder) {\n throw new Error(\n `Default locale \"${this.defaultLanguage}\" not found in available translations. Available languages: ${[...builders.keys()].join(\", \")}`\n );\n }\n\n return builder;\n }\n}\n"],"mappings":"AAAA,OAAO,OAAO;AAId,MAAO,iCAAiD;AAAA,EACpD,YAA+B,iBAA2B;AAA3B;AAAA,EAA4B;AAAA,EAA5B;AAAA,EAExB,QAAQ,UAAmC;AAC9C,QAAI;AACA,WAAK,SAAS,QAAQ;AAEtB,aAAO;AAAA,IACX,QAAQ;AACJ,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEO,SAAS,UAAgC;AAC5C,UAAM,iBAAiB,KAAK,kBAAkB,QAAQ;AAEtD,QAAI,CAAC,gBAAgB;AACjB,aAAO;AAAA,IACX;AAEA,UAAM,mBAAmB,eAAe,UAAU;AAElD,eAAW,CAAC,UAAU,OAAO,KAAK,SAAS,QAAQ,GAAG;AAClD,UAAI,aAAa,KAAK,iBAAiB;AACnC;AAAA,MACJ;AAEA,YAAM,YAAY,QAAQ,UAAU;AAEpC,iBAAW,CAAC,KAAK,MAAM,KAAK,OAAO,QAAQ,SAAS,GAAG;AACnD,cAAM,WAAW,iBAAiB,GAAG;AAErC,YAAI,CAAC,UAAU;AACX,kBAAQ;AAAA,YACJ,WAAW,QAAQ,2BAA2B,GAAG,kCAAkC,KAAK,eAAe;AAAA,UAC3G;AACA;AAAA,QACJ;AAEA,YAAI,SAAS,WAAW,OAAO,QAAQ;AACnC,gBAAM,IAAI;AAAA,YACN,WAAW,QAAQ,UAAU,GAAG,aAAa,SAAS,SAAS,WAAW,YAAY,yBAAyB,KAAK,eAAe;AAAA,UACvI;AAAA,QACJ;AAEA,YAAI,CAAC,EAAE,QAAQ,SAAS,eAAe,OAAO,aAAa,GAAG;AAC1D,gBAAM,IAAI;AAAA,YACN,WAAW,QAAQ,UAAU,GAAG,oBAAoB,OAAO,cAAc,KAAK,IAAI,CAAC,gCAAgC,KAAK,eAAe,oBAAoB,SAAS,cAAc,KAAK,IAAI,CAAC;AAAA,UAChM;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,UAAqD;AAC1E,QAAI,SAAS,SAAS,GAAG;AACrB,aAAO;AAAA,IACX;AAEA,UAAM,UAAU,SAAS,IAAI,KAAK,eAAe;AAEjD,QAAI,CAAC,SAAS;AACV,YAAM,IAAI;AAAA,QACN,mBAAmB,KAAK,eAAe,+DAA+D,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,MACzI;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -1,10 +1,9 @@
1
- import { LocaleValidator, Language, LocaleBuilder } from '../../../types/locale.js';
2
- import { Browser } from '../../../types/browser.js';
3
-
4
- declare class LocaleError extends Error {
1
+ import { Language, LocaleBuilder, LocaleValidator } from "../../../types/locale.js";
2
+ import { Browser } from "../../../types/browser.js";
3
+ export declare class LocaleError extends Error {
5
4
  constructor(browser: Browser, language: Language, message: string);
6
5
  }
7
- declare class export_default implements LocaleValidator {
6
+ export default class implements LocaleValidator {
8
7
  protected readonly browser: Browser;
9
8
  protected readonly language: Language;
10
9
  protected nameKey?: string;
@@ -20,5 +19,3 @@ declare class export_default implements LocaleValidator {
20
19
  setDescriptionKey(descriptionKey?: string): this;
21
20
  setShortNameKey(shortNameKey?: string): this;
22
21
  }
23
-
24
- export { LocaleError, export_default as default };
@@ -9,6 +9,8 @@ class LocaleValidator_default {
9
9
  this.browser = browser;
10
10
  this.language = language;
11
11
  }
12
+ browser;
13
+ language;
12
14
  nameKey;
13
15
  descriptionKey;
14
16
  shortNameKey;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/builders/locale/LocaleValidator.ts"],"sourcesContent":["import {Language, LocaleBuilder, LocaleValidator} from \"@typing/locale\";\nimport {Browser} from \"@typing/browser\";\n\nexport class LocaleError extends Error {\n constructor(browser: Browser, language: Language, message: string) {\n super(`Locale for ${browser}:${language} - ${message}`);\n }\n}\n\nexport default class implements LocaleValidator {\n protected nameKey?: string;\n protected descriptionKey?: string;\n protected shortNameKey?: string;\n\n protected get nameLimit(): number {\n return (\n {\n [Browser.Chrome]: 75,\n [Browser.Edge]: 75,\n [Browser.Firefox]: 50,\n }[this.browser] || 45\n );\n }\n\n protected get descriptionLimit(): number {\n return 132;\n }\n\n protected get shortNameLimit(): number {\n return 12;\n }\n\n constructor(\n protected readonly browser: Browser,\n protected readonly language: Language\n ) {}\n\n public isValid(locale: LocaleBuilder): boolean {\n try {\n this.validate(locale);\n\n return true;\n } catch {\n return false;\n }\n }\n\n public validate(locale: LocaleBuilder): this {\n const data = locale.get();\n\n const name = this.nameKey && data.get(this.nameKey);\n const shortName = this.shortNameKey && data.get(this.shortNameKey);\n const description = this.descriptionKey && data.get(this.descriptionKey);\n\n if (name && name.length > this.nameLimit) {\n throw new LocaleError(\n this.browser,\n this.language,\n `Name \"${name}\" [${this.nameKey}] exceeds ${this.nameLimit} characters`\n );\n }\n\n if (shortName && shortName.length > this.shortNameLimit) {\n throw new LocaleError(\n this.browser,\n this.language,\n `Short name \"${shortName}\" [${this.shortNameKey}] exceeds ${this.shortNameLimit} characters`\n );\n }\n\n if (description && description.length > this.descriptionLimit) {\n throw new LocaleError(\n this.browser,\n this.language,\n `Description \"${description}\" [${this.descriptionKey}] exceeds ${this.descriptionLimit} characters`\n );\n }\n\n return this;\n }\n\n public setNameKey(nameKey?: string): this {\n this.nameKey = nameKey;\n\n return this;\n }\n\n public setDescriptionKey(descriptionKey?: string): this {\n this.descriptionKey = descriptionKey;\n\n return this;\n }\n\n public setShortNameKey(shortNameKey?: string): this {\n this.shortNameKey = shortNameKey;\n\n return this;\n }\n}\n"],"mappings":"AACA,SAAQ,eAAc;AAEf,MAAM,oBAAoB,MAAM;AAAA,EACnC,YAAY,SAAkB,UAAoB,SAAiB;AAC/D,UAAM,cAAc,OAAO,IAAI,QAAQ,MAAM,OAAO,EAAE;AAAA,EAC1D;AACJ;AAEA,MAAO,wBAAyC;AAAA,EAuB5C,YACuB,SACA,UACrB;AAFqB;AACA;AAAA,EACpB;AAAA,EAzBO;AAAA,EACA;AAAA,EACA;AAAA,EAEV,IAAc,YAAoB;AAC9B,WACI;AAAA,MACI,CAAC,QAAQ,MAAM,GAAG;AAAA,MAClB,CAAC,QAAQ,IAAI,GAAG;AAAA,MAChB,CAAC,QAAQ,OAAO,GAAG;AAAA,IACvB,EAAE,KAAK,OAAO,KAAK;AAAA,EAE3B;AAAA,EAEA,IAAc,mBAA2B;AACrC,WAAO;AAAA,EACX;AAAA,EAEA,IAAc,iBAAyB;AACnC,WAAO;AAAA,EACX;AAAA,EAOO,QAAQ,QAAgC;AAC3C,QAAI;AACA,WAAK,SAAS,MAAM;AAEpB,aAAO;AAAA,IACX,QAAQ;AACJ,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEO,SAAS,QAA6B;AACzC,UAAM,OAAO,OAAO,IAAI;AAExB,UAAM,OAAO,KAAK,WAAW,KAAK,IAAI,KAAK,OAAO;AAClD,UAAM,YAAY,KAAK,gBAAgB,KAAK,IAAI,KAAK,YAAY;AACjE,UAAM,cAAc,KAAK,kBAAkB,KAAK,IAAI,KAAK,cAAc;AAEvE,QAAI,QAAQ,KAAK,SAAS,KAAK,WAAW;AACtC,YAAM,IAAI;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,SAAS,IAAI,MAAM,KAAK,OAAO,aAAa,KAAK,SAAS;AAAA,MAC9D;AAAA,IACJ;AAEA,QAAI,aAAa,UAAU,SAAS,KAAK,gBAAgB;AACrD,YAAM,IAAI;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,eAAe,SAAS,MAAM,KAAK,YAAY,aAAa,KAAK,cAAc;AAAA,MACnF;AAAA,IACJ;AAEA,QAAI,eAAe,YAAY,SAAS,KAAK,kBAAkB;AAC3D,YAAM,IAAI;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,gBAAgB,WAAW,MAAM,KAAK,cAAc,aAAa,KAAK,gBAAgB;AAAA,MAC1F;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,WAAW,SAAwB;AACtC,SAAK,UAAU;AAEf,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,gBAA+B;AACpD,SAAK,iBAAiB;AAEtB,WAAO;AAAA,EACX;AAAA,EAEO,gBAAgB,cAA6B;AAChD,SAAK,eAAe;AAEpB,WAAO;AAAA,EACX;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/builders/locale/LocaleValidator.ts"],"sourcesContent":["import {Language, LocaleBuilder, LocaleValidator} from \"@typing/locale\";\nimport {Browser} from \"@typing/browser\";\n\nexport class LocaleError extends Error {\n constructor(browser: Browser, language: Language, message: string) {\n super(`Locale for ${browser}:${language} - ${message}`);\n }\n}\n\nexport default class implements LocaleValidator {\n protected nameKey?: string;\n protected descriptionKey?: string;\n protected shortNameKey?: string;\n\n protected get nameLimit(): number {\n return (\n {\n [Browser.Chrome]: 75,\n [Browser.Edge]: 75,\n [Browser.Firefox]: 50,\n }[this.browser] || 45\n );\n }\n\n protected get descriptionLimit(): number {\n return 132;\n }\n\n protected get shortNameLimit(): number {\n return 12;\n }\n\n constructor(\n protected readonly browser: Browser,\n protected readonly language: Language\n ) {}\n\n public isValid(locale: LocaleBuilder): boolean {\n try {\n this.validate(locale);\n\n return true;\n } catch {\n return false;\n }\n }\n\n public validate(locale: LocaleBuilder): this {\n const data = locale.get();\n\n const name = this.nameKey && data.get(this.nameKey);\n const shortName = this.shortNameKey && data.get(this.shortNameKey);\n const description = this.descriptionKey && data.get(this.descriptionKey);\n\n if (name && name.length > this.nameLimit) {\n throw new LocaleError(\n this.browser,\n this.language,\n `Name \"${name}\" [${this.nameKey}] exceeds ${this.nameLimit} characters`\n );\n }\n\n if (shortName && shortName.length > this.shortNameLimit) {\n throw new LocaleError(\n this.browser,\n this.language,\n `Short name \"${shortName}\" [${this.shortNameKey}] exceeds ${this.shortNameLimit} characters`\n );\n }\n\n if (description && description.length > this.descriptionLimit) {\n throw new LocaleError(\n this.browser,\n this.language,\n `Description \"${description}\" [${this.descriptionKey}] exceeds ${this.descriptionLimit} characters`\n );\n }\n\n return this;\n }\n\n public setNameKey(nameKey?: string): this {\n this.nameKey = nameKey;\n\n return this;\n }\n\n public setDescriptionKey(descriptionKey?: string): this {\n this.descriptionKey = descriptionKey;\n\n return this;\n }\n\n public setShortNameKey(shortNameKey?: string): this {\n this.shortNameKey = shortNameKey;\n\n return this;\n }\n}\n"],"mappings":"AACA,SAAQ,eAAc;AAEf,MAAM,oBAAoB,MAAM;AAAA,EACnC,YAAY,SAAkB,UAAoB,SAAiB;AAC/D,UAAM,cAAc,OAAO,IAAI,QAAQ,MAAM,OAAO,EAAE;AAAA,EAC1D;AACJ;AAEA,MAAO,wBAAyC;AAAA,EAuB5C,YACuB,SACA,UACrB;AAFqB;AACA;AAAA,EACpB;AAAA,EAFoB;AAAA,EACA;AAAA,EAxBb;AAAA,EACA;AAAA,EACA;AAAA,EAEV,IAAc,YAAoB;AAC9B,WACI;AAAA,MACI,CAAC,QAAQ,MAAM,GAAG;AAAA,MAClB,CAAC,QAAQ,IAAI,GAAG;AAAA,MAChB,CAAC,QAAQ,OAAO,GAAG;AAAA,IACvB,EAAE,KAAK,OAAO,KAAK;AAAA,EAE3B;AAAA,EAEA,IAAc,mBAA2B;AACrC,WAAO;AAAA,EACX;AAAA,EAEA,IAAc,iBAAyB;AACnC,WAAO;AAAA,EACX;AAAA,EAOO,QAAQ,QAAgC;AAC3C,QAAI;AACA,WAAK,SAAS,MAAM;AAEpB,aAAO;AAAA,IACX,QAAQ;AACJ,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEO,SAAS,QAA6B;AACzC,UAAM,OAAO,OAAO,IAAI;AAExB,UAAM,OAAO,KAAK,WAAW,KAAK,IAAI,KAAK,OAAO;AAClD,UAAM,YAAY,KAAK,gBAAgB,KAAK,IAAI,KAAK,YAAY;AACjE,UAAM,cAAc,KAAK,kBAAkB,KAAK,IAAI,KAAK,cAAc;AAEvE,QAAI,QAAQ,KAAK,SAAS,KAAK,WAAW;AACtC,YAAM,IAAI;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,SAAS,IAAI,MAAM,KAAK,OAAO,aAAa,KAAK,SAAS;AAAA,MAC9D;AAAA,IACJ;AAEA,QAAI,aAAa,UAAU,SAAS,KAAK,gBAAgB;AACrD,YAAM,IAAI;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,eAAe,SAAS,MAAM,KAAK,YAAY,aAAa,KAAK,cAAc;AAAA,MACnF;AAAA,IACJ;AAEA,QAAI,eAAe,YAAY,SAAS,KAAK,kBAAkB;AAC3D,YAAM,IAAI;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,gBAAgB,WAAW,MAAM,KAAK,cAAc,aAAa,KAAK,gBAAgB;AAAA,MAC1F;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,WAAW,SAAwB;AACtC,SAAK,UAAU;AAEf,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,gBAA+B;AACpD,SAAK,iBAAiB;AAEtB,WAAO;AAAA,EACX;AAAA,EAEO,gBAAgB,cAA6B;AAChD,SAAK,eAAe;AAEpB,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -1,10 +1,7 @@
1
- import { LocaleValidator, Language } from '../../../types/locale.js';
2
- import { Browser } from '../../../types/browser.js';
3
- import export_default$1 from './LocaleValidator.js';
4
-
5
- declare class export_default extends export_default$1 implements LocaleValidator {
1
+ import { Language, LocaleValidator as LocaleValidatorContract } from "../../../types/locale.js";
2
+ import { Browser } from "../../../types/browser.js";
3
+ import LocaleValidator from "./LocaleValidator.js";
4
+ export default class extends LocaleValidator implements LocaleValidatorContract {
6
5
  protected get nameLimit(): number;
7
6
  constructor(browser: Browser, language: Language);
8
7
  }
9
-
10
- export { export_default as default };
@@ -1,19 +1,10 @@
1
- export { default as LocaleBuilder } from './LocaleBuilder.js';
2
- export { default as LocaleValidator } from './LocaleValidator.js';
3
- export { default as OperaLocaleValidator } from './OperaLocaleValidator.js';
4
- export { default as FirefoxLocaleValidator } from './FirefoxLocaleValidator.js';
5
- import { Language, LocaleBuilder } from '../../../types/locale.js';
6
- import { R as ReadonlyConfig } from '../../../config-B38J9WIM.js';
7
- import '../../../types/browser.js';
8
- import '@rspack/core';
9
- import 'html-rspack-tags-plugin';
10
- import '../../../types/app.js';
11
- import '../../../manifest-DKvERQ4d.js';
12
- import 'react';
13
- import 'utility-types';
14
- import '../../../types/helpers.js';
15
- import '../../../types/env.js';
16
-
17
- declare const _default: (language: Language, config: ReadonlyConfig) => LocaleBuilder;
18
-
19
- export { _default as default };
1
+ import LocaleBuilder from "./LocaleBuilder.js";
2
+ import LocaleValidator from "./LocaleValidator.js";
3
+ import OperaLocaleValidator from "./OperaLocaleValidator.js";
4
+ import FirefoxLocaleValidator from "./FirefoxLocaleValidator.js";
5
+ import LocaleStructureValidator from "./LocaleStructureValidator.js";
6
+ import { Language, LocaleBuilder as LocaleBuilderContract } from "../../../types/locale.js";
7
+ import { ReadonlyConfig } from "../../../types/config.js";
8
+ export { LocaleBuilder, LocaleValidator, OperaLocaleValidator, FirefoxLocaleValidator, LocaleStructureValidator };
9
+ declare const _default: (language: Language, config: ReadonlyConfig) => LocaleBuilderContract;
10
+ export default _default;
@@ -2,6 +2,7 @@ import LocaleBuilder from "./LocaleBuilder.js";
2
2
  import LocaleValidator from "./LocaleValidator.js";
3
3
  import OperaLocaleValidator from "./OperaLocaleValidator.js";
4
4
  import FirefoxLocaleValidator from "./FirefoxLocaleValidator.js";
5
+ import LocaleStructureValidator from "./LocaleStructureValidator.js";
5
6
  import { extractLocaleKey } from "./../../../locale/utils.js";
6
7
  import { Browser } from "./../../../types/browser.js";
7
8
  var locale_default = (language, config) => {
@@ -19,6 +20,7 @@ var locale_default = (language, config) => {
19
20
  export {
20
21
  FirefoxLocaleValidator,
21
22
  LocaleBuilder,
23
+ LocaleStructureValidator,
22
24
  LocaleValidator,
23
25
  OperaLocaleValidator,
24
26
  locale_default as default
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/builders/locale/index.ts"],"sourcesContent":["import LocaleBuilder from \"./LocaleBuilder\";\nimport LocaleValidator from \"./LocaleValidator\";\nimport OperaLocaleValidator from \"./OperaLocaleValidator\";\nimport FirefoxLocaleValidator from \"./FirefoxLocaleValidator\";\n\nimport {extractLocaleKey} from \"@locale/utils\";\n\nimport {Language, LocaleBuilder as LocaleBuilderContract} from \"@typing/locale\";\nimport {ReadonlyConfig} from \"@typing/config\";\nimport {Browser} from \"@typing/browser\";\n\nexport {LocaleBuilder, LocaleValidator, OperaLocaleValidator, FirefoxLocaleValidator};\n\nexport default (language: Language, config: ReadonlyConfig): LocaleBuilderContract => {\n const {browser, name, shortName, description, lang} = config;\n\n let Validator = LocaleValidator;\n\n if (browser === Browser.Opera && lang !== language) {\n Validator = OperaLocaleValidator;\n }\n\n if (browser === Browser.Firefox && lang !== language) {\n Validator = FirefoxLocaleValidator;\n }\n\n const validator = new Validator(browser, language)\n .setNameKey(extractLocaleKey(name))\n .setShortNameKey(extractLocaleKey(shortName))\n .setDescriptionKey(extractLocaleKey(description));\n\n return new LocaleBuilder(browser, language).setValidator(validator);\n};\n"],"mappings":"AAAA,OAAO,mBAAmB;AAC1B,OAAO,qBAAqB;AAC5B,OAAO,0BAA0B;AACjC,OAAO,4BAA4B;AAEnC,SAAQ,wBAAuB;AAI/B,SAAQ,eAAc;AAItB,IAAO,iBAAQ,CAAC,UAAoB,WAAkD;AAClF,QAAM,EAAC,SAAS,MAAM,WAAW,aAAa,KAAI,IAAI;AAEtD,MAAI,YAAY;AAEhB,MAAI,YAAY,QAAQ,SAAS,SAAS,UAAU;AAChD,gBAAY;AAAA,EAChB;AAEA,MAAI,YAAY,QAAQ,WAAW,SAAS,UAAU;AAClD,gBAAY;AAAA,EAChB;AAEA,QAAM,YAAY,IAAI,UAAU,SAAS,QAAQ,EAC5C,WAAW,iBAAiB,IAAI,CAAC,EACjC,gBAAgB,iBAAiB,SAAS,CAAC,EAC3C,kBAAkB,iBAAiB,WAAW,CAAC;AAEpD,SAAO,IAAI,cAAc,SAAS,QAAQ,EAAE,aAAa,SAAS;AACtE;","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/builders/locale/index.ts"],"sourcesContent":["import LocaleBuilder from \"./LocaleBuilder\";\nimport LocaleValidator from \"./LocaleValidator\";\nimport OperaLocaleValidator from \"./OperaLocaleValidator\";\nimport FirefoxLocaleValidator from \"./FirefoxLocaleValidator\";\nimport LocaleStructureValidator from \"./LocaleStructureValidator\";\n\nimport {extractLocaleKey} from \"@locale/utils\";\n\nimport {Language, LocaleBuilder as LocaleBuilderContract} from \"@typing/locale\";\nimport {ReadonlyConfig} from \"@typing/config\";\nimport {Browser} from \"@typing/browser\";\n\nexport {LocaleBuilder, LocaleValidator, OperaLocaleValidator, FirefoxLocaleValidator, LocaleStructureValidator};\n\nexport default (language: Language, config: ReadonlyConfig): LocaleBuilderContract => {\n const {browser, name, shortName, description, lang} = config;\n\n let Validator = LocaleValidator;\n\n if (browser === Browser.Opera && lang !== language) {\n Validator = OperaLocaleValidator;\n }\n\n if (browser === Browser.Firefox && lang !== language) {\n Validator = FirefoxLocaleValidator;\n }\n\n const validator = new Validator(browser, language)\n .setNameKey(extractLocaleKey(name))\n .setShortNameKey(extractLocaleKey(shortName))\n .setDescriptionKey(extractLocaleKey(description));\n\n return new LocaleBuilder(browser, language).setValidator(validator);\n};\n"],"mappings":"AAAA,OAAO,mBAAmB;AAC1B,OAAO,qBAAqB;AAC5B,OAAO,0BAA0B;AACjC,OAAO,4BAA4B;AACnC,OAAO,8BAA8B;AAErC,SAAQ,wBAAuB;AAI/B,SAAQ,eAAc;AAItB,IAAO,iBAAQ,CAAC,UAAoB,WAAkD;AAClF,QAAM,EAAC,SAAS,MAAM,WAAW,aAAa,KAAI,IAAI;AAEtD,MAAI,YAAY;AAEhB,MAAI,YAAY,QAAQ,SAAS,SAAS,UAAU;AAChD,gBAAY;AAAA,EAChB;AAEA,MAAI,YAAY,QAAQ,WAAW,SAAS,UAAU;AAClD,gBAAY;AAAA,EAChB;AAEA,QAAM,YAAY,IAAI,UAAU,SAAS,QAAQ,EAC5C,WAAW,iBAAiB,IAAI,CAAC,EACjC,gBAAgB,iBAAiB,SAAS,CAAC,EAC3C,kBAAkB,iBAAiB,WAAW,CAAC;AAEpD,SAAO,IAAI,cAAc,SAAS,QAAQ,EAAE,aAAa,SAAS;AACtE;","names":[]}
@@ -1,26 +1,21 @@
1
- import { ae as CoreManifest, T as ManifestBuilder, U as ManifestIncognito, a7 as ManifestIcons, af as ManifestBackground, W as ManifestPopup, X as ManifestSidebar, ag as ManifestCommands, ah as ManifestContentScripts, ai as ManifestDependencies, aj as ManifestPermissions, ak as ManifestOptionalPermissions, al as ManifestHostPermissions, am as ManifestAccessibleResources, V as ManifestVersion, an as ManifestAccessibleResource, ao as Manifest } from '../../../manifest-DKvERQ4d.js';
2
- import { Browser, BrowserSpecific } from '../../../types/browser.js';
3
- import { Language } from '../../../types/locale.js';
4
- import 'react';
5
- import 'utility-types';
6
- import '../../../types/app.js';
7
- import '../../../types/helpers.js';
8
-
1
+ import { CoreManifest, Manifest, ManifestAccessibleResource, ManifestAccessibleResources, ManifestBackground, ManifestBuilder, ManifestCommands, ManifestContentScripts, ManifestDependencies, ManifestHostPermissions, ManifestIcons, ManifestIncognito, ManifestOptionalPermissions, ManifestPermissions, ManifestPopup, ManifestSidebar, ManifestVersion, OptionalManifest } from "../../../types/manifest.js";
2
+ import { Browser, BrowserSpecific } from "../../../types/browser.js";
3
+ import { Language } from "../../../types/locale.js";
9
4
  type ManifestPermission = chrome.runtime.ManifestPermission;
10
5
  type ManifestOptionalPermission = chrome.runtime.ManifestOptionalPermission;
11
6
  type CoreManifestIcons = chrome.runtime.ManifestIcons;
12
- declare class ManifestError extends Error {
7
+ export declare class ManifestError extends Error {
13
8
  constructor(message: string);
14
9
  }
15
- declare abstract class export_default<T extends CoreManifest> implements ManifestBuilder<T> {
10
+ export default abstract class<T extends CoreManifest> implements ManifestBuilder<T> {
16
11
  protected readonly browser: Browser;
17
- protected name: string;
12
+ protected name?: string;
18
13
  protected author?: string;
19
14
  protected homepage?: string;
20
15
  protected shortName?: string;
21
16
  protected description?: string;
22
17
  protected minimumVersion?: string;
23
- protected version: string;
18
+ protected version?: string;
24
19
  protected icon?: string;
25
20
  protected incognito?: ManifestIncognito;
26
21
  protected specific?: BrowserSpecific;
@@ -37,6 +32,8 @@ declare abstract class export_default<T extends CoreManifest> implements Manifes
37
32
  protected hostPermissions: ManifestHostPermissions;
38
33
  protected optionalHostPermissions: ManifestHostPermissions;
39
34
  protected accessibleResources: ManifestAccessibleResources;
35
+ protected raws: Set<OptionalManifest>;
36
+ protected mergedRaws?: OptionalManifest;
40
37
  abstract getManifestVersion(): ManifestVersion;
41
38
  protected abstract buildAction(): Partial<T> | undefined;
42
39
  protected abstract buildPermissions(): Partial<T> | undefined;
@@ -44,6 +41,11 @@ declare abstract class export_default<T extends CoreManifest> implements Manifes
44
41
  protected abstract buildHostPermissions(): Partial<T> | undefined;
45
42
  protected abstract buildOptionalHostPermissions(): Partial<T> | undefined;
46
43
  protected abstract buildWebAccessibleResources(): Partial<T> | undefined;
44
+ protected get combinedRaws(): OptionalManifest;
45
+ protected get combinedPermissions(): ManifestPermissions;
46
+ protected get combinedOptionalPermissions(): ManifestOptionalPermissions;
47
+ protected get combinedHostPermissions(): ManifestHostPermissions;
48
+ protected get combinedOptionalHostPermissions(): ManifestHostPermissions;
47
49
  protected constructor(browser?: Browser);
48
50
  setAuthor(author?: string): this;
49
51
  setHomepage(homepage?: string): this;
@@ -78,20 +80,30 @@ declare abstract class export_default<T extends CoreManifest> implements Manifes
78
80
  appendOptionalHostPermissions(permissions: ManifestHostPermissions): this;
79
81
  addAccessibleResource(accessibleResource: ManifestAccessibleResource): this;
80
82
  appendAccessibleResources(accessibleResources: ManifestAccessibleResources): this;
81
- setManifestAccessibleResource(accessibleResources: ManifestAccessibleResources): this;
82
- private merge;
83
+ setAccessibleResource(accessibleResources: ManifestAccessibleResources): this;
84
+ raw(manifest: OptionalManifest): this;
83
85
  build(): T;
86
+ get(): T;
87
+ private merge;
88
+ protected buildName(): Partial<CoreManifest>;
89
+ protected buildShortName(): Partial<CoreManifest> | undefined;
90
+ protected buildDescription(): Partial<CoreManifest> | undefined;
91
+ protected buildVersion(): Partial<CoreManifest>;
92
+ protected buildManifestVersion(): Partial<CoreManifest>;
93
+ protected buildMinimumChromeVersion(): Partial<CoreManifest> | undefined;
94
+ protected buildAuthor(): Partial<CoreManifest> | undefined;
95
+ protected buildHomepageUrl(): Partial<CoreManifest> | undefined;
96
+ protected buildIncognito(): Partial<CoreManifest> | undefined;
97
+ protected buildLocale(): Partial<CoreManifest> | undefined;
84
98
  protected buildIcons(): Partial<CoreManifest> | undefined;
85
99
  protected buildBackground(): Partial<CoreManifest> | undefined;
86
100
  protected buildCommands(): Partial<CoreManifest> | undefined;
87
101
  protected buildContentScripts(): Partial<CoreManifest> | undefined;
88
102
  protected buildSidebar(): Partial<CoreManifest> | undefined;
89
- protected buildLocale(): Partial<CoreManifest> | undefined;
90
103
  protected buildBrowserSpecificSettings(): Partial<Manifest> | undefined;
104
+ protected buildRaw(): Partial<Manifest> | undefined;
91
105
  protected hasExecuteActionCommand(): boolean;
92
106
  protected getIconsByName(name?: string): CoreManifestIcons | undefined;
93
- get(): T;
94
107
  getWebAccessibleResources(): ManifestAccessibleResource[];
95
108
  }
96
-
97
- export { ManifestError, export_default as default };
109
+ export {};