@equinor/fusion-framework-cli 10.7.4-next-c88655f3c93bff52499b1301c9a009301f818f5a → 11.0.0-next.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 (513) hide show
  1. package/CHANGELOG.md +46 -2
  2. package/README.md +144 -17
  3. package/bin/cli.mjs +4 -1
  4. package/dist/esm/bin/app-build.js +34 -0
  5. package/dist/esm/bin/app-build.js.map +1 -0
  6. package/dist/esm/bin/app-check.js +63 -0
  7. package/dist/esm/bin/app-check.js.map +1 -0
  8. package/dist/esm/bin/app-config-publish.js +89 -0
  9. package/dist/esm/bin/app-config-publish.js.map +1 -0
  10. package/dist/esm/bin/app-config.js +48 -0
  11. package/dist/esm/bin/app-config.js.map +1 -0
  12. package/dist/esm/bin/app-dev.js +92 -0
  13. package/dist/esm/bin/app-dev.js.map +1 -0
  14. package/dist/esm/bin/app-manifest.js +38 -0
  15. package/dist/esm/bin/app-manifest.js.map +1 -0
  16. package/dist/esm/bin/app-pack.js +51 -0
  17. package/dist/esm/bin/app-pack.js.map +1 -0
  18. package/dist/esm/bin/app-tag.js +89 -0
  19. package/dist/esm/bin/app-tag.js.map +1 -0
  20. package/dist/esm/bin/app-upload.js +109 -0
  21. package/dist/esm/bin/app-upload.js.map +1 -0
  22. package/dist/esm/bin/helpers/load-bundle-metadata.js +32 -0
  23. package/dist/esm/bin/helpers/load-bundle-metadata.js.map +1 -0
  24. package/dist/esm/bin/helpers/load-vite-config.js +55 -0
  25. package/dist/esm/bin/helpers/load-vite-config.js.map +1 -0
  26. package/dist/esm/bin/helpers/resolve-app-config.js +46 -0
  27. package/dist/esm/bin/helpers/resolve-app-config.js.map +1 -0
  28. package/dist/esm/bin/helpers/resolve-app-manifest.js +55 -0
  29. package/dist/esm/bin/helpers/resolve-app-manifest.js.map +1 -0
  30. package/dist/esm/bin/helpers/resolve-portal-manifest.js +55 -0
  31. package/dist/esm/bin/helpers/resolve-portal-manifest.js.map +1 -0
  32. package/dist/esm/bin/helpers/resolve-project-package.js +32 -0
  33. package/dist/esm/bin/helpers/resolve-project-package.js.map +1 -0
  34. package/dist/esm/bin/index.js +10 -0
  35. package/dist/esm/bin/index.js.map +1 -0
  36. package/dist/esm/bin/pack.js +70 -0
  37. package/dist/esm/bin/pack.js.map +1 -0
  38. package/dist/esm/bin/portal-build.js +40 -0
  39. package/dist/esm/bin/portal-build.js.map +1 -0
  40. package/dist/esm/bin/portal-dev.js +69 -0
  41. package/dist/esm/bin/portal-dev.js.map +1 -0
  42. package/dist/esm/bin/portal-manifest.js +38 -0
  43. package/dist/esm/bin/portal-manifest.js.map +1 -0
  44. package/dist/esm/bin/portal-pack.js +60 -0
  45. package/dist/esm/bin/portal-pack.js.map +1 -0
  46. package/dist/esm/bin/portal-tag.js +96 -0
  47. package/dist/esm/bin/portal-tag.js.map +1 -0
  48. package/dist/esm/bin/portal-upload.js +99 -0
  49. package/dist/esm/bin/portal-upload.js.map +1 -0
  50. package/dist/esm/bin/utils/ConsoleLogger.js +112 -0
  51. package/dist/esm/bin/utils/ConsoleLogger.js.map +1 -0
  52. package/dist/esm/bin/utils/create-dev-server.js +167 -0
  53. package/dist/esm/bin/utils/create-dev-server.js.map +1 -0
  54. package/dist/esm/bin/utils/format.js +47 -0
  55. package/dist/esm/bin/utils/format.js.map +1 -0
  56. package/dist/esm/bin/utils/index.js +5 -0
  57. package/dist/esm/bin/utils/index.js.map +1 -0
  58. package/dist/esm/bin/utils/spinner.js +142 -0
  59. package/dist/esm/bin/utils/spinner.js.map +1 -0
  60. package/dist/esm/cli/commands/app/alias.js +42 -0
  61. package/dist/esm/cli/commands/app/alias.js.map +1 -0
  62. package/dist/esm/cli/commands/app/build.js +46 -0
  63. package/dist/esm/cli/commands/app/build.js.map +1 -0
  64. package/dist/esm/cli/commands/app/check.js +47 -0
  65. package/dist/esm/cli/commands/app/check.js.map +1 -0
  66. package/dist/esm/cli/commands/app/config.js +91 -0
  67. package/dist/esm/cli/commands/app/config.js.map +1 -0
  68. package/dist/esm/cli/commands/app/dev.js +61 -0
  69. package/dist/esm/cli/commands/app/dev.js.map +1 -0
  70. package/dist/esm/cli/commands/app/index.js +25 -0
  71. package/dist/esm/cli/commands/app/index.js.map +1 -0
  72. package/dist/esm/cli/commands/app/manifest.js +73 -0
  73. package/dist/esm/cli/commands/app/manifest.js.map +1 -0
  74. package/dist/esm/cli/commands/app/pack.js +64 -0
  75. package/dist/esm/cli/commands/app/pack.js.map +1 -0
  76. package/dist/esm/cli/commands/app/publish.js +119 -0
  77. package/dist/esm/cli/commands/app/publish.js.map +1 -0
  78. package/dist/esm/cli/commands/app/tag.js +101 -0
  79. package/dist/esm/cli/commands/app/tag.js.map +1 -0
  80. package/dist/esm/cli/commands/app/upload.js +80 -0
  81. package/dist/esm/cli/commands/app/upload.js.map +1 -0
  82. package/dist/esm/cli/commands/auth/index.js +10 -0
  83. package/dist/esm/cli/commands/auth/index.js.map +1 -0
  84. package/dist/esm/cli/commands/auth/login.js +68 -0
  85. package/dist/esm/cli/commands/auth/login.js.map +1 -0
  86. package/dist/esm/cli/commands/auth/logout.js +55 -0
  87. package/dist/esm/cli/commands/auth/logout.js.map +1 -0
  88. package/dist/esm/cli/commands/auth/token.js +74 -0
  89. package/dist/esm/cli/commands/auth/token.js.map +1 -0
  90. package/dist/esm/cli/commands/disco/index.js +6 -0
  91. package/dist/esm/cli/commands/disco/index.js.map +1 -0
  92. package/dist/esm/cli/commands/disco/resolve.js +61 -0
  93. package/dist/esm/cli/commands/disco/resolve.js.map +1 -0
  94. package/dist/esm/cli/commands/index.js +11 -0
  95. package/dist/esm/cli/commands/index.js.map +1 -0
  96. package/dist/esm/cli/commands/portal/build.js +22 -0
  97. package/dist/esm/cli/commands/portal/build.js.map +1 -0
  98. package/dist/esm/cli/commands/portal/dev.js +24 -0
  99. package/dist/esm/cli/commands/portal/dev.js.map +1 -0
  100. package/dist/esm/cli/commands/portal/index.js +21 -0
  101. package/dist/esm/cli/commands/portal/index.js.map +1 -0
  102. package/dist/esm/cli/commands/portal/manifest.js +45 -0
  103. package/dist/esm/cli/commands/portal/manifest.js.map +1 -0
  104. package/dist/esm/cli/commands/portal/pack.js +35 -0
  105. package/dist/esm/cli/commands/portal/pack.js.map +1 -0
  106. package/dist/esm/cli/commands/portal/publish.js +73 -0
  107. package/dist/esm/cli/commands/portal/publish.js.map +1 -0
  108. package/dist/esm/cli/commands/portal/schema.js +68 -0
  109. package/dist/esm/cli/commands/portal/schema.js.map +1 -0
  110. package/dist/esm/cli/commands/portal/tag.js +69 -0
  111. package/dist/esm/cli/commands/portal/tag.js.map +1 -0
  112. package/dist/esm/cli/commands/portal/upload.js +40 -0
  113. package/dist/esm/cli/commands/portal/upload.js.map +1 -0
  114. package/dist/esm/cli/main.js +52 -0
  115. package/dist/esm/cli/main.js.map +1 -0
  116. package/dist/esm/cli/options/auth.js +96 -0
  117. package/dist/esm/cli/options/auth.js.map +1 -0
  118. package/dist/esm/cli/options/env.js +30 -0
  119. package/dist/esm/cli/options/env.js.map +1 -0
  120. package/dist/esm/lib/app/app-config.js +12 -0
  121. package/dist/esm/lib/app/app-config.js.map +1 -0
  122. package/dist/esm/lib/app/app-manifest.js +15 -0
  123. package/dist/esm/lib/app/app-manifest.js.map +1 -0
  124. package/dist/{lib → esm/lib/app}/app-package.js +30 -10
  125. package/dist/esm/lib/app/app-package.js.map +1 -0
  126. package/dist/esm/lib/app/create-app-manifest.js +72 -0
  127. package/dist/esm/lib/app/create-app-manifest.js.map +1 -0
  128. package/dist/esm/lib/app/index.js +9 -0
  129. package/dist/esm/lib/app/index.js.map +1 -0
  130. package/dist/esm/lib/app/load-app-config.js +47 -0
  131. package/dist/esm/lib/app/load-app-config.js.map +1 -0
  132. package/dist/esm/lib/app/load-app-manifest.js +61 -0
  133. package/dist/esm/lib/app/load-app-manifest.js.map +1 -0
  134. package/dist/esm/lib/app/merge-app-config.js +21 -0
  135. package/dist/esm/lib/app/merge-app-config.js.map +1 -0
  136. package/dist/esm/lib/app/merge-app-manifest.js +31 -0
  137. package/dist/esm/lib/app/merge-app-manifest.js.map +1 -0
  138. package/dist/esm/lib/app/schemas.js +28 -0
  139. package/dist/esm/lib/app/schemas.js.map +1 -0
  140. package/dist/esm/lib/dev-server.js +3 -0
  141. package/dist/esm/lib/dev-server.js.map +1 -0
  142. package/dist/esm/lib/framework.node.js +104 -0
  143. package/dist/esm/lib/framework.node.js.map +1 -0
  144. package/dist/esm/lib/index.js +5 -0
  145. package/dist/esm/lib/index.js.map +1 -0
  146. package/dist/esm/lib/legacy.js +38 -0
  147. package/dist/esm/lib/legacy.js.map +1 -0
  148. package/dist/esm/lib/load-dev-server-config.js +43 -0
  149. package/dist/esm/lib/load-dev-server-config.js.map +1 -0
  150. package/dist/esm/lib/merge-dev-server-config.js +37 -0
  151. package/dist/esm/lib/merge-dev-server-config.js.map +1 -0
  152. package/dist/esm/lib/portal/create-portal-manifest.js +93 -0
  153. package/dist/esm/lib/portal/create-portal-manifest.js.map +1 -0
  154. package/dist/esm/lib/portal/index.js +3 -0
  155. package/dist/esm/lib/portal/index.js.map +1 -0
  156. package/dist/esm/lib/portal/load-portal-manifest.js +54 -0
  157. package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -0
  158. package/dist/esm/lib/portal/load-portal-schema.js +49 -0
  159. package/dist/esm/lib/portal/load-portal-schema.js.map +1 -0
  160. package/dist/esm/lib/portal/portal-manifest.js +21 -0
  161. package/dist/esm/lib/portal/portal-manifest.js.map +1 -0
  162. package/dist/esm/lib/portal/portal-manifest.schema.js +134 -0
  163. package/dist/esm/lib/portal/portal-manifest.schema.js.map +1 -0
  164. package/dist/esm/lib/static.js +20 -0
  165. package/dist/esm/lib/static.js.map +1 -0
  166. package/dist/{lib/utils → esm/lib}/types.js.map +1 -1
  167. package/dist/esm/lib/utils/assert.js +87 -0
  168. package/dist/esm/lib/utils/assert.js.map +1 -0
  169. package/dist/esm/lib/utils/expect.js.map +1 -0
  170. package/dist/{lib/plugins/app-assets/extension-filter-pattern.js → esm/lib/utils/extension-filter.js} +1 -1
  171. package/dist/esm/lib/utils/extension-filter.js.map +1 -0
  172. package/dist/esm/lib/utils/file-exists.js.map +1 -0
  173. package/dist/esm/lib/utils/index.js +6 -0
  174. package/dist/esm/lib/utils/index.js.map +1 -0
  175. package/dist/{lib → esm/lib}/utils/parse-json-request.js +3 -1
  176. package/dist/esm/lib/utils/parse-json-request.js.map +1 -0
  177. package/dist/esm/lib/utils/resolve-annotations.js +28 -0
  178. package/dist/esm/lib/utils/resolve-annotations.js.map +1 -0
  179. package/dist/esm/lib/utils/resolve-devops-annotations.js +59 -0
  180. package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -0
  181. package/dist/esm/lib/utils/resolve-git-commit-sha.js +23 -0
  182. package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -0
  183. package/dist/esm/lib/utils/resolve-git-remote-url.js +24 -0
  184. package/dist/esm/lib/utils/resolve-git-remote-url.js.map +1 -0
  185. package/dist/esm/lib/utils/resolve-github-annotations.js +127 -0
  186. package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -0
  187. package/dist/esm/lib/utils/resolve-package-repo.js +14 -0
  188. package/dist/esm/lib/utils/resolve-package-repo.js.map +1 -0
  189. package/dist/esm/lib/utils/resolve-package.js +18 -0
  190. package/dist/esm/lib/utils/resolve-package.js.map +1 -0
  191. package/dist/esm/lib/utils/resolve-source-entry-point.js +39 -0
  192. package/dist/esm/lib/utils/resolve-source-entry-point.js.map +1 -0
  193. package/dist/esm/lib/utils/types.js.map +1 -0
  194. package/dist/esm/lib/utils/write-file.js +25 -0
  195. package/dist/esm/lib/utils/write-file.js.map +1 -0
  196. package/dist/esm/version.js +3 -0
  197. package/dist/esm/version.js.map +1 -0
  198. package/dist/tsconfig.tsbuildinfo +1 -0
  199. package/dist/types/bin/app-build.d.ts +52 -0
  200. package/dist/types/bin/app-check.d.ts +31 -0
  201. package/dist/types/bin/app-config-publish.d.ts +23 -0
  202. package/dist/types/bin/app-config.d.ts +52 -0
  203. package/dist/types/bin/app-dev.d.ts +45 -0
  204. package/dist/types/bin/app-manifest.d.ts +42 -0
  205. package/dist/types/bin/app-pack.d.ts +38 -0
  206. package/dist/types/bin/app-tag.d.ts +51 -0
  207. package/dist/types/bin/app-upload.d.ts +40 -0
  208. package/dist/types/bin/helpers/load-bundle-metadata.d.ts +15 -0
  209. package/dist/types/bin/helpers/load-vite-config.d.ts +12 -0
  210. package/dist/types/bin/helpers/resolve-app-config.d.ts +18 -0
  211. package/dist/types/bin/helpers/resolve-app-manifest.d.ts +17 -0
  212. package/dist/types/bin/helpers/resolve-portal-manifest.d.ts +27 -0
  213. package/dist/types/bin/helpers/resolve-project-package.d.ts +13 -0
  214. package/dist/types/bin/index.d.ts +9 -0
  215. package/dist/types/bin/pack.d.ts +36 -0
  216. package/dist/types/bin/portal-build.d.ts +54 -0
  217. package/dist/types/bin/portal-dev.d.ts +37 -0
  218. package/dist/types/bin/portal-manifest.d.ts +60 -0
  219. package/dist/types/bin/portal-pack.d.ts +54 -0
  220. package/dist/types/bin/portal-tag.d.ts +51 -0
  221. package/dist/types/bin/portal-upload.d.ts +37 -0
  222. package/dist/types/bin/utils/ConsoleLogger.d.ts +84 -0
  223. package/dist/types/bin/utils/create-dev-server.d.ts +49 -0
  224. package/dist/types/bin/utils/format.d.ts +27 -0
  225. package/dist/types/bin/utils/index.d.ts +3 -13
  226. package/dist/types/bin/utils/spinner.d.ts +75 -0
  227. package/dist/types/cli/commands/app/alias.d.ts +6 -0
  228. package/dist/types/cli/commands/app/build.d.ts +27 -0
  229. package/dist/types/cli/commands/app/check.d.ts +26 -0
  230. package/dist/types/cli/commands/app/config.d.ts +34 -0
  231. package/dist/types/cli/commands/app/dev.d.ts +29 -0
  232. package/dist/types/cli/commands/app/index.d.ts +3 -0
  233. package/dist/types/cli/commands/app/manifest.d.ts +30 -0
  234. package/dist/types/cli/commands/app/pack.d.ts +31 -0
  235. package/dist/types/cli/commands/app/publish.d.ts +31 -0
  236. package/dist/types/cli/commands/app/tag.d.ts +33 -0
  237. package/dist/types/cli/commands/app/upload.d.ts +29 -0
  238. package/dist/types/cli/commands/auth/index.d.ts +3 -0
  239. package/dist/types/cli/commands/auth/login.d.ts +2 -0
  240. package/dist/types/cli/commands/auth/logout.d.ts +12 -0
  241. package/dist/types/cli/commands/auth/token.d.ts +13 -0
  242. package/dist/types/cli/commands/disco/index.d.ts +2 -0
  243. package/dist/types/cli/commands/disco/resolve.d.ts +25 -0
  244. package/dist/types/cli/commands/portal/build.d.ts +2 -0
  245. package/dist/types/cli/commands/portal/dev.d.ts +2 -0
  246. package/dist/types/cli/commands/portal/index.d.ts +2 -0
  247. package/dist/types/cli/commands/portal/manifest.d.ts +2 -0
  248. package/dist/types/cli/commands/portal/pack.d.ts +2 -0
  249. package/dist/types/cli/commands/portal/publish.d.ts +2 -0
  250. package/dist/types/cli/commands/portal/schema.d.ts +2 -0
  251. package/dist/types/cli/commands/portal/tag.d.ts +2 -0
  252. package/dist/types/cli/commands/portal/upload.d.ts +2 -0
  253. package/dist/types/cli/main.d.ts +21 -0
  254. package/dist/types/cli/options/auth.d.ts +37 -0
  255. package/dist/types/cli/options/env.d.ts +19 -0
  256. package/dist/types/lib/app/app-config.d.ts +31 -0
  257. package/dist/types/lib/app/app-manifest.d.ts +39 -0
  258. package/dist/types/lib/{app-package.d.ts → app/app-package.d.ts} +27 -10
  259. package/dist/types/lib/app/create-app-manifest.d.ts +17 -0
  260. package/dist/types/lib/app/index.d.ts +8 -0
  261. package/dist/types/lib/app/load-app-config.d.ts +54 -0
  262. package/dist/types/lib/app/load-app-manifest.d.ts +57 -0
  263. package/dist/types/lib/app/merge-app-config.d.ts +13 -0
  264. package/dist/types/lib/app/merge-app-manifest.d.ts +25 -0
  265. package/dist/types/{schemas.d.ts → lib/app/schemas.d.ts} +10 -1
  266. package/dist/types/lib/dev-server.d.ts +2 -0
  267. package/dist/types/lib/framework.node.d.ts +77 -0
  268. package/dist/types/lib/index.d.ts +4 -3
  269. package/dist/types/lib/legacy.d.ts +24 -0
  270. package/dist/types/lib/load-dev-server-config.d.ts +40 -0
  271. package/dist/types/lib/merge-dev-server-config.d.ts +16 -0
  272. package/dist/types/lib/portal/create-portal-manifest.d.ts +22 -0
  273. package/dist/types/lib/portal/index.d.ts +2 -0
  274. package/dist/types/lib/portal/load-portal-manifest.d.ts +65 -0
  275. package/dist/types/lib/portal/load-portal-schema.d.ts +43 -0
  276. package/dist/types/lib/portal/portal-manifest.d.ts +16 -0
  277. package/dist/types/lib/portal/portal-manifest.schema.d.ts +154 -0
  278. package/dist/types/lib/static.d.ts +10 -0
  279. package/dist/types/lib/types.d.ts +34 -0
  280. package/dist/types/lib/utils/assert.d.ts +48 -0
  281. package/dist/types/lib/utils/index.d.ts +5 -0
  282. package/dist/types/lib/utils/resolve-annotations.d.ts +11 -0
  283. package/dist/types/lib/utils/resolve-devops-annotations.d.ts +30 -0
  284. package/dist/types/lib/utils/resolve-git-commit-sha.d.ts +13 -0
  285. package/dist/types/lib/utils/resolve-git-remote-url.d.ts +13 -0
  286. package/dist/types/lib/utils/resolve-github-annotations.d.ts +65 -0
  287. package/dist/types/lib/utils/resolve-package-repo.d.ts +9 -0
  288. package/dist/types/lib/utils/resolve-package.d.ts +15 -0
  289. package/dist/types/lib/utils/resolve-source-entry-point.d.ts +17 -0
  290. package/dist/types/lib/utils/types.d.ts +1 -1
  291. package/dist/types/lib/utils/write-file.d.ts +14 -0
  292. package/dist/types/version.d.ts +1 -1
  293. package/package.json +48 -69
  294. package/dist/bin/build-application.js +0 -55
  295. package/dist/bin/build-application.js.map +0 -1
  296. package/dist/bin/bundle-application.js +0 -41
  297. package/dist/bin/bundle-application.js.map +0 -1
  298. package/dist/bin/create-dev-serve.js +0 -127
  299. package/dist/bin/create-dev-serve.js.map +0 -1
  300. package/dist/bin/create-export-config.js +0 -40
  301. package/dist/bin/create-export-config.js.map +0 -1
  302. package/dist/bin/create-export-manifest.js +0 -67
  303. package/dist/bin/create-export-manifest.js.map +0 -1
  304. package/dist/bin/dev-portal/AppLoader.js +0 -80
  305. package/dist/bin/dev-portal/AppLoader.js.map +0 -1
  306. package/dist/bin/dev-portal/BookMarkSideSheet.js +0 -13
  307. package/dist/bin/dev-portal/BookMarkSideSheet.js.map +0 -1
  308. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +0 -40
  309. package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +0 -1
  310. package/dist/bin/dev-portal/ContextSelector/index.js +0 -2
  311. package/dist/bin/dev-portal/ContextSelector/index.js.map +0 -1
  312. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +0 -171
  313. package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +0 -1
  314. package/dist/bin/dev-portal/EquinorLoader.js +0 -14
  315. package/dist/bin/dev-portal/EquinorLoader.js.map +0 -1
  316. package/dist/bin/dev-portal/ErrorViewer.js +0 -7
  317. package/dist/bin/dev-portal/ErrorViewer.js.map +0 -1
  318. package/dist/bin/dev-portal/FusionLogo.js +0 -4
  319. package/dist/bin/dev-portal/FusionLogo.js.map +0 -1
  320. package/dist/bin/dev-portal/Header.Actions.js +0 -12
  321. package/dist/bin/dev-portal/Header.Actions.js.map +0 -1
  322. package/dist/bin/dev-portal/Header.js +0 -41
  323. package/dist/bin/dev-portal/Header.js.map +0 -1
  324. package/dist/bin/dev-portal/PersonSideSheet/index.js +0 -32
  325. package/dist/bin/dev-portal/PersonSideSheet/index.js.map +0 -1
  326. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +0 -16
  327. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +0 -1
  328. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +0 -15
  329. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +0 -1
  330. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +0 -13
  331. package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +0 -1
  332. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +0 -19
  333. package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +0 -1
  334. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js +0 -30
  335. package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js.map +0 -1
  336. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js +0 -3
  337. package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js.map +0 -1
  338. package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js.map +0 -1
  339. package/dist/bin/dev-portal/Router.js +0 -59
  340. package/dist/bin/dev-portal/Router.js.map +0 -1
  341. package/dist/bin/dev-portal/config.js +0 -79
  342. package/dist/bin/dev-portal/config.js.map +0 -1
  343. package/dist/bin/dev-portal/main.js +0 -13
  344. package/dist/bin/dev-portal/main.js.map +0 -1
  345. package/dist/bin/dev-portal/resources/fallback-photo.svg.js +0 -3
  346. package/dist/bin/dev-portal/resources/fallback-photo.svg.js.map +0 -1
  347. package/dist/bin/dev-portal/useAppContextNavigation.js +0 -87
  348. package/dist/bin/dev-portal/useAppContextNavigation.js.map +0 -1
  349. package/dist/bin/main.app.js +0 -172
  350. package/dist/bin/main.app.js.map +0 -1
  351. package/dist/bin/main.js +0 -20
  352. package/dist/bin/main.js.map +0 -1
  353. package/dist/bin/public/assets/index-zNJWGyEE.js +0 -3686
  354. package/dist/bin/public/index.html +0 -37
  355. package/dist/bin/publish-application.js +0 -96
  356. package/dist/bin/publish-application.js.map +0 -1
  357. package/dist/bin/tag-application.js +0 -73
  358. package/dist/bin/tag-application.js.map +0 -1
  359. package/dist/bin/upload-application.js +0 -63
  360. package/dist/bin/upload-application.js.map +0 -1
  361. package/dist/bin/upload-export-config.js +0 -78
  362. package/dist/bin/upload-export-config.js.map +0 -1
  363. package/dist/bin/utils/execute-command.js +0 -14
  364. package/dist/bin/utils/execute-command.js.map +0 -1
  365. package/dist/bin/utils/format.js +0 -16
  366. package/dist/bin/utils/format.js.map +0 -1
  367. package/dist/bin/utils/getEndpointUrl.js +0 -40
  368. package/dist/bin/utils/getEndpointUrl.js.map +0 -1
  369. package/dist/bin/utils/index.js +0 -14
  370. package/dist/bin/utils/index.js.map +0 -1
  371. package/dist/bin/utils/isAppRegistered.js +0 -26
  372. package/dist/bin/utils/isAppRegistered.js.map +0 -1
  373. package/dist/bin/utils/load-app-config.js +0 -26
  374. package/dist/bin/utils/load-app-config.js.map +0 -1
  375. package/dist/bin/utils/load-manifest.js +0 -31
  376. package/dist/bin/utils/load-manifest.js.map +0 -1
  377. package/dist/bin/utils/load-package.js +0 -18
  378. package/dist/bin/utils/load-package.js.map +0 -1
  379. package/dist/bin/utils/load-vite-config.js +0 -45
  380. package/dist/bin/utils/load-vite-config.js.map +0 -1
  381. package/dist/bin/utils/proxy-request-logger.js +0 -33
  382. package/dist/bin/utils/proxy-request-logger.js.map +0 -1
  383. package/dist/bin/utils/publishAppConfig.js +0 -29
  384. package/dist/bin/utils/publishAppConfig.js.map +0 -1
  385. package/dist/bin/utils/requireToken.js +0 -9
  386. package/dist/bin/utils/requireToken.js.map +0 -1
  387. package/dist/bin/utils/spinner.js +0 -65
  388. package/dist/bin/utils/spinner.js.map +0 -1
  389. package/dist/bin/utils/tagAppBundle.js +0 -26
  390. package/dist/bin/utils/tagAppBundle.js.map +0 -1
  391. package/dist/bin/utils/uploadAppBundle.js +0 -45
  392. package/dist/bin/utils/uploadAppBundle.js.map +0 -1
  393. package/dist/lib/app-config.js +0 -32
  394. package/dist/lib/app-config.js.map +0 -1
  395. package/dist/lib/app-manifest.js +0 -142
  396. package/dist/lib/app-manifest.js.map +0 -1
  397. package/dist/lib/app-package.js.map +0 -1
  398. package/dist/lib/index.js +0 -4
  399. package/dist/lib/index.js.map +0 -1
  400. package/dist/lib/plugins/app-assets/app-asset-plugin.js +0 -96
  401. package/dist/lib/plugins/app-assets/app-asset-plugin.js.map +0 -1
  402. package/dist/lib/plugins/app-assets/emit-asset.js +0 -46
  403. package/dist/lib/plugins/app-assets/emit-asset.js.map +0 -1
  404. package/dist/lib/plugins/app-assets/extension-filter-pattern.js.map +0 -1
  405. package/dist/lib/plugins/app-assets/index.js +0 -4
  406. package/dist/lib/plugins/app-assets/index.js.map +0 -1
  407. package/dist/lib/plugins/app-assets/read-asset-content.js +0 -34
  408. package/dist/lib/plugins/app-assets/read-asset-content.js.map +0 -1
  409. package/dist/lib/plugins/app-assets/resolve-asset-id.js +0 -54
  410. package/dist/lib/plugins/app-assets/resolve-asset-id.js.map +0 -1
  411. package/dist/lib/plugins/app-assets/static.js +0 -15
  412. package/dist/lib/plugins/app-assets/static.js.map +0 -1
  413. package/dist/lib/plugins/app-proxy/app-proxy-plugin.js +0 -125
  414. package/dist/lib/plugins/app-proxy/app-proxy-plugin.js.map +0 -1
  415. package/dist/lib/plugins/app-proxy/index.js +0 -2
  416. package/dist/lib/plugins/app-proxy/index.js.map +0 -1
  417. package/dist/lib/plugins/app-settings/index.js +0 -36
  418. package/dist/lib/plugins/app-settings/index.js.map +0 -1
  419. package/dist/lib/plugins/external-public/external-public-plugin.js +0 -101
  420. package/dist/lib/plugins/external-public/external-public-plugin.js.map +0 -1
  421. package/dist/lib/plugins/external-public/index.js +0 -2
  422. package/dist/lib/plugins/external-public/index.js.map +0 -1
  423. package/dist/lib/plugins/help-proxy/help-proxy-plugin.js +0 -78
  424. package/dist/lib/plugins/help-proxy/help-proxy-plugin.js.map +0 -1
  425. package/dist/lib/plugins/help-proxy/index.js +0 -2
  426. package/dist/lib/plugins/help-proxy/index.js.map +0 -1
  427. package/dist/lib/utils/assert.js +0 -28
  428. package/dist/lib/utils/assert.js.map +0 -1
  429. package/dist/lib/utils/config.js +0 -67
  430. package/dist/lib/utils/config.js.map +0 -1
  431. package/dist/lib/utils/expect.js.map +0 -1
  432. package/dist/lib/utils/file-exists.js.map +0 -1
  433. package/dist/lib/utils/parse-json-request.js.map +0 -1
  434. package/dist/lib/utils/ts-transpile.js +0 -45
  435. package/dist/lib/utils/ts-transpile.js.map +0 -1
  436. package/dist/lib/vite-config.js +0 -76
  437. package/dist/lib/vite-config.js.map +0 -1
  438. package/dist/lib/vite-logger.js +0 -21
  439. package/dist/lib/vite-logger.js.map +0 -1
  440. package/dist/schemas.js +0 -14
  441. package/dist/schemas.js.map +0 -1
  442. package/dist/types/bin/build-application.d.ts +0 -13
  443. package/dist/types/bin/bundle-application.d.ts +0 -4
  444. package/dist/types/bin/create-dev-serve.d.ts +0 -12
  445. package/dist/types/bin/create-export-config.d.ts +0 -13
  446. package/dist/types/bin/create-export-manifest.d.ts +0 -16
  447. package/dist/types/bin/dev-portal/AppLoader.d.ts +0 -11
  448. package/dist/types/bin/dev-portal/BookMarkSideSheet.d.ts +0 -6
  449. package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +0 -8
  450. package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +0 -1
  451. package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +0 -15
  452. package/dist/types/bin/dev-portal/EquinorLoader.d.ts +0 -5
  453. package/dist/types/bin/dev-portal/ErrorViewer.d.ts +0 -4
  454. package/dist/types/bin/dev-portal/FusionLogo.d.ts +0 -6
  455. package/dist/types/bin/dev-portal/Header.Actions.d.ts +0 -7
  456. package/dist/types/bin/dev-portal/Header.d.ts +0 -2
  457. package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +0 -11
  458. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +0 -6
  459. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +0 -5
  460. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +0 -5
  461. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +0 -5
  462. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +0 -6
  463. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/index.d.ts +0 -2
  464. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/types.d.ts +0 -5
  465. package/dist/types/bin/dev-portal/Router.d.ts +0 -1
  466. package/dist/types/bin/dev-portal/config.d.ts +0 -3
  467. package/dist/types/bin/dev-portal/main.d.ts +0 -1
  468. package/dist/types/bin/dev-portal/resources/fallback-photo.svg.d.ts +0 -2
  469. package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +0 -5
  470. package/dist/types/bin/main.d.ts +0 -1
  471. package/dist/types/bin/publish-application.d.ts +0 -6
  472. package/dist/types/bin/tag-application.d.ts +0 -12
  473. package/dist/types/bin/upload-application.d.ts +0 -6
  474. package/dist/types/bin/upload-export-config.d.ts +0 -10
  475. package/dist/types/bin/utils/execute-command.d.ts +0 -8
  476. package/dist/types/bin/utils/getEndpointUrl.d.ts +0 -10
  477. package/dist/types/bin/utils/isAppRegistered.d.ts +0 -5
  478. package/dist/types/bin/utils/load-app-config.d.ts +0 -10
  479. package/dist/types/bin/utils/load-manifest.d.ts +0 -10
  480. package/dist/types/bin/utils/load-package.d.ts +0 -5
  481. package/dist/types/bin/utils/load-vite-config.d.ts +0 -10
  482. package/dist/types/bin/utils/proxy-request-logger.d.ts +0 -15
  483. package/dist/types/bin/utils/publishAppConfig.d.ts +0 -9
  484. package/dist/types/bin/utils/requireToken.d.ts +0 -4
  485. package/dist/types/bin/utils/tagAppBundle.d.ts +0 -7
  486. package/dist/types/bin/utils/uploadAppBundle.d.ts +0 -7
  487. package/dist/types/lib/app-config.d.ts +0 -27
  488. package/dist/types/lib/app-manifest.d.ts +0 -52
  489. package/dist/types/lib/plugins/app-assets/app-asset-plugin.d.ts +0 -36
  490. package/dist/types/lib/plugins/app-assets/emit-asset.d.ts +0 -18
  491. package/dist/types/lib/plugins/app-assets/index.d.ts +0 -3
  492. package/dist/types/lib/plugins/app-assets/read-asset-content.d.ts +0 -14
  493. package/dist/types/lib/plugins/app-assets/resolve-asset-id.d.ts +0 -16
  494. package/dist/types/lib/plugins/app-assets/static.d.ts +0 -5
  495. package/dist/types/lib/plugins/app-proxy/app-proxy-plugin.d.ts +0 -89
  496. package/dist/types/lib/plugins/app-proxy/index.d.ts +0 -1
  497. package/dist/types/lib/plugins/app-settings/index.d.ts +0 -32
  498. package/dist/types/lib/plugins/external-public/external-public-plugin.d.ts +0 -30
  499. package/dist/types/lib/plugins/external-public/index.d.ts +0 -1
  500. package/dist/types/lib/plugins/help-proxy/help-proxy-plugin.d.ts +0 -42
  501. package/dist/types/lib/plugins/help-proxy/index.d.ts +0 -1
  502. package/dist/types/lib/utils/config.d.ts +0 -32
  503. package/dist/types/lib/utils/ts-transpile.d.ts +0 -2
  504. package/dist/types/lib/vite-config.d.ts +0 -17
  505. package/dist/types/lib/vite-logger.d.ts +0 -2
  506. package/dist/version.js +0 -3
  507. package/dist/version.js.map +0 -1
  508. /package/dist/{bin/dev-portal/PersonSideSheet/sheets → esm/lib}/types.js +0 -0
  509. /package/dist/{lib → esm/lib}/utils/expect.js +0 -0
  510. /package/dist/{lib → esm/lib}/utils/file-exists.js +0 -0
  511. /package/dist/{lib → esm/lib}/utils/types.js +0 -0
  512. /package/dist/types/{bin/main.app.d.ts → cli/commands/index.d.ts} +0 -0
  513. /package/dist/types/lib/{plugins/app-assets/extension-filter-pattern.d.ts → utils/extension-filter.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-asset.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-assets/emit-asset.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAI/D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAsB,EACtB,EAAU,EACV,UAII,EAAE,EACS,EAAE;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,IAAI,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAEjF,gDAAgD;IAChD,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExD,sDAAsD;IACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IAEvC,2BAA2B;IAC3B,MAAM,GAAG,GAAG,eAAe,CACzB;QACE,YAAY,EAAE,gBAAgB;QAC9B,aAAa;KACG,EAClB,IAAI,EACJ,EAAE,OAAO,EAAE,CACZ,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE5F,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC;QACf,QAAQ;QACR,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,MAAM;KACP,CAAC,CAAC;IAEH,wEAAwE;IACxE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension-filter-pattern.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-assets/extension-filter-pattern.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAc,EAAE,EAAE,CAC7D,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEpE,eAAe,4BAA4B,CAAC"}
@@ -1,4 +0,0 @@
1
- export { default, AppAssetExportPlugin } from './app-asset-plugin.js';
2
- export { createExtensionFilterPattern } from './extension-filter-pattern.js';
3
- export { ASSET_EXTENSIONS as StandardIncludeAssetExtensions } from './static.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,gBAAgB,IAAI,8BAA8B,EAAE,MAAM,aAAa,CAAC"}
@@ -1,34 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- /**
3
- * Cache for the content of assets.
4
- */
5
- const assetsContentMap = new Map();
6
- /**
7
- * Reads the content of an asset synchronously.
8
- *
9
- * @param id - The identifier of the asset, which can include a query string.
10
- * @returns The content of the asset as a Buffer if it exists, otherwise null.
11
- *
12
- * @remarks
13
- * - If the asset content is already cached, it returns the cached content.
14
- * - The function extracts the filename from the identifier by removing any query string.
15
- * - If the file exists, it reads the content, caches it, and then returns it.
16
- * - If the file does not exist, it logs a warning and returns null.
17
- */
18
- export const readAssetContentSync = (id) => {
19
- // check if the asset is already loaded
20
- if (assetsContentMap.has(id)) {
21
- return assetsContentMap.get(id);
22
- }
23
- // extract the filename without query
24
- const [pureId] = id.split('?');
25
- // if the file exists, read, cache and return content
26
- if (existsSync(pureId)) {
27
- const content = readFileSync(pureId);
28
- assetsContentMap.set(id, content);
29
- return content;
30
- }
31
- return null;
32
- };
33
- export default readAssetContentSync;
34
- //# sourceMappingURL=read-asset-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-asset-content.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-assets/read-asset-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD;;GAEG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAU,EAAiB,EAAE;IAChE,uCAAuC;IACvC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;IACnC,CAAC;IAED,qCAAqC;IACrC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,qDAAqD;IACrD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,54 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { PLUGIN_NAME } from './static.js';
4
- /**
5
- * Try to resolve the assets directly based on the ID and importer.
6
- */
7
- const localResolve = (id, importer) => {
8
- if (path.isAbsolute(id)) {
9
- return { id, external: 'absolute', resolvedBy: PLUGIN_NAME };
10
- }
11
- if (id.startsWith('.')) {
12
- return {
13
- id: path.resolve(path.dirname(importer), id),
14
- external: 'relative',
15
- resolvedBy: PLUGIN_NAME,
16
- };
17
- }
18
- return null;
19
- };
20
- /**
21
- * Resolves the asset ID based on the provided context, ID, importer, and options.
22
- *
23
- * @param context - The plugin context used for resolving the ID.
24
- * @param id - The asset ID to resolve.
25
- * @param importer - The path of the module that is importing the asset.
26
- * @param options - Optional resolution options.
27
- * @returns A promise that resolves to a `PartialResolvedId` object or `null`.
28
- *
29
- * The function handles three cases:
30
- * 1. If the ID is an absolute path, it returns an object with the ID, marked as external and resolved by the plugin.
31
- * 2. If the ID is a relative path, it resolves the path relative to the importer and returns an object with the resolved ID, marked as external and resolved by the plugin.
32
- * 3. For all other cases, it delegates the resolution to the context's resolve method.
33
- */
34
- export const resolveAssetId = async (context, id, importer, options) => {
35
- const resolve = localResolve(id, importer);
36
- /**
37
- * Check if the asset can be resolved locally.
38
- * If the asset is found, return the resolved asset.
39
- *
40
- * @remarks
41
- * The Id alone might not be enough to resolve the asset.
42
- * Rollup only gives the ID as the import from the source.
43
- *
44
- * For example, if the import is `import svgData from './assets/image.svg';`,
45
- * the actual file is `./assets/image.svg.js`.
46
- *
47
- * In this we try to as the context to resolve the ID.
48
- */
49
- if (resolve && fs.existsSync(resolve.id)) {
50
- return resolve;
51
- }
52
- return await context.resolve(id, importer, options);
53
- };
54
- //# sourceMappingURL=resolve-asset-id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-asset-id.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-assets/resolve-asset-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,QAAgB,EAA4B,EAAE;IAC9E,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC5C,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAAsB,EACtB,EAAU,EACV,QAAgB,EAChB,OAAiD,EACd,EAAE;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3C;;;;;;;;;;;;OAYG;IACH,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC"}
@@ -1,15 +0,0 @@
1
- export const PLUGIN_NAME = 'vite:fusion:app-assets';
2
- /**
3
- * General asset extensions.
4
- */
5
- export const ASSET_EXTENSIONS = [
6
- // Images
7
- ...['png', 'jpg', 'jpeg', 'gif', 'svg', 'ico', 'webp'],
8
- // Videos and audio
9
- ...['mp4', 'webm', 'mp3'],
10
- // Fonts
11
- ...['woff2', 'woff', 'eot', 'ttf', 'otf'],
12
- // Documents
13
- ...['pdf', 'md', 'txt'],
14
- ];
15
- //# sourceMappingURL=static.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-assets/static.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IACtD,mBAAmB;IACnB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IACzB,QAAQ;IACR,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACzC,YAAY;IACZ,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;CACxB,CAAC"}
@@ -1,125 +0,0 @@
1
- /**
2
- * Preserve token for executing proxy assets
3
- *
4
- * @remarks
5
- * This assumes the client will execute a api call using bearer token before
6
- * acquiring a asset. By default the Framework will execute a rest call to load
7
- * application manifest for resolving build assets to import.
8
- *
9
- * @remarks
10
- * This is a quick and dirty method to authorize requests without bearer token
11
- * like browser `import`.
12
- * The correct way would be to have a auth controller within the dev-server,
13
- * but since the token is only exposed to the plugin and the cli is a tool for local
14
- * development, this should be sufficient.
15
- */
16
- let __APP_API_TOKEN__ = '';
17
- /**
18
- * The `appProxyPlugin` function creates a Vite plugin that configures a proxy for API and bundle requests
19
- * to the Fusion apps backend. It also serves the app manifest, config, and local bundles if an app is provided.
20
- *
21
- * @param {AppProxyPluginOptions} options - The options for configuring the app proxy plugin.
22
- *
23
- * @returns {Plugin} - The configured Vite plugin.
24
- *
25
- * @example
26
- * ```typescript
27
- * const plugin = appProxyPlugin({
28
- * proxy: {
29
- * path: '/app-proxy',
30
- * target: 'https://apps.ci.api.fusion-dev.net',
31
- * onProxyReq: (proxyReq, req, res) => {
32
- * proxyReq.on('response', (res) => { console.log(res.statusCode) });
33
- * },
34
- * },
35
- * app: {
36
- * key: 'my-app',
37
- * version: '1.0.0',
38
- * generateConfig: async () => ({}),
39
- * generateManifest: async () => ({}),
40
- * },
41
- * });
42
- *
43
- * // api calls
44
- * fetch('/app-proxy/apps/my-app/builds/1.0.0/config'); // will generate app config by provided function
45
- * fetch('/app-proxy/apps/my-app/builds/0.0.9/config'); // will proxy to the target, since version does not match
46
- * fetch('/app-proxy/apps/other-app/builds/1.0.0/config'); // will proxy to the target, since app key does not match
47
- *
48
- * // asset calls
49
- * fetch('/app-proxy/bundles/my-app/builds/1.0.0/index.js'); // will generate bundle by provided function
50
- * fetch('/app-proxy/bundles/my-app/builds/0.0.9/index.js'); // will proxy to the target, since version does not match
51
- * ```
52
- *
53
- */
54
- export const appProxyPlugin = (options) => {
55
- const { proxy: { onProxyReq = () => void 0, path: proxyPath, target }, } = options;
56
- return {
57
- name: 'fusion:app-proxy',
58
- apply: 'serve',
59
- config(config) {
60
- config.server ??= {};
61
- config.server.proxy ??= {};
62
- config.server.proxy[proxyPath] = {
63
- target,
64
- changeOrigin: true,
65
- secure: false,
66
- rewrite: (path) => path.replace(proxyPath, ''),
67
- configure: (proxy) => {
68
- proxy.on('proxyReq', (proxyReq) => {
69
- const token = proxyReq.getHeader('authorization');
70
- if (typeof token === 'string') {
71
- // preserve token for executing proxy assets
72
- __APP_API_TOKEN__ = token;
73
- }
74
- else if (__APP_API_TOKEN__) {
75
- // apply token to proxy request
76
- proxyReq.setHeader('authorization', __APP_API_TOKEN__);
77
- }
78
- });
79
- proxy.on('proxyReq', onProxyReq);
80
- },
81
- };
82
- },
83
- configureServer(server) {
84
- const { app } = options;
85
- // disable local assets if no app configuration provided
86
- if (!app)
87
- return;
88
- // serve app config if request matches the current app and version
89
- const configPath = [
90
- proxyPath,
91
- app.configPath ?? `apps/${app.key}/builds/${app.version}/config`,
92
- ].join('/');
93
- server.middlewares.use(configPath, async (_req, res) => {
94
- res.setHeader('content-type', 'application/json');
95
- res.end(JSON.stringify(await app.generateConfig()));
96
- });
97
- // serve app manifest if request matches the current app
98
- const manifestPath = [proxyPath, app.manifestPath ?? `apps/${app.key}`].join('/');
99
- server.middlewares.use(async (req, res, next) => {
100
- // We only want to match the exact path
101
- const [requestPath] = (req.url ?? '').split('?');
102
- if (requestPath === manifestPath) {
103
- res.setHeader('content-type', 'application/json');
104
- res.end(JSON.stringify(await app.generateManifest()));
105
- return;
106
- }
107
- next();
108
- });
109
- // serve local bundles if request matches the current app and version
110
- const bundlePath = [
111
- proxyPath,
112
- app.bundlePath ?? `bundles/apps/${app.key}/${app.version}`,
113
- ].join('/');
114
- server.middlewares.use(async (req, _res, next) => {
115
- if (req.url?.match(bundlePath)) {
116
- // remove proxy path from url
117
- req.url = req.url.replace(bundlePath, '');
118
- }
119
- next();
120
- });
121
- },
122
- };
123
- };
124
- export default appProxyPlugin;
125
- //# sourceMappingURL=app-proxy-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-proxy-plugin.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-proxy/app-proxy-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { default, appProxyPlugin } from './app-proxy-plugin.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-proxy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAA8B,MAAM,uBAAuB,CAAC"}
@@ -1,36 +0,0 @@
1
- import parseJsonFromRequest from '../../utils/parse-json-request.js';
2
- /**
3
- * This plugin provides a simple way to manage application settings in a local development environment.
4
- *
5
- * This plugin will cache the settings in memory and respond to `PUT` requests to update the settings.
6
- * Restarting the development server will reset the settings to the default values.
7
- *
8
- * @param options - The options for configuring the app settings plugin.
9
- * @returns A Vite Plugin object that can be used to configure a server.
10
- *
11
- * The plugin provides the following functionality:
12
- * - Matches requests based on a specified path pattern.
13
- * - Handles `PUT` requests to update application settings.
14
- * - Responds with the current application settings in JSON format.
15
- */
16
- export function appSettingsPlugin(options) {
17
- let appSettings = options.defaultSettings ?? {};
18
- const pathMatch = new RegExp(options.match ?? '/persons/me/apps/.*/settings');
19
- return {
20
- name: 'app-settings',
21
- configureServer(server) {
22
- server.middlewares.use(async (req, res, next) => {
23
- if (!req.url?.match(pathMatch)) {
24
- return next();
25
- }
26
- if (req.method === 'PUT') {
27
- appSettings = await parseJsonFromRequest(req);
28
- }
29
- res.setHeader('content-type', 'application/json');
30
- res.end(JSON.stringify(appSettings));
31
- });
32
- },
33
- };
34
- }
35
- export default appSettingsPlugin;
36
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/app-settings/index.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,mCAAmC,CAAC;AAmBrE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,IAAI,WAAW,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,8BAA8B,CAAC,CAAC;IAC9E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,eAAe,CAAC,MAAM;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBACzB,WAAW,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
@@ -1,101 +0,0 @@
1
- import { join } from 'node:path';
2
- import { readFileSync, existsSync } from 'node:fs';
3
- import mime from 'mime';
4
- import { createFilter } from 'vite';
5
- /**
6
- * Creates a plugin that serves an external public directory.
7
- *
8
- * This plugin is useful when you want to serve a static site from a different directory than the one where the Vite server is running.
9
- * Vite`s built in `mode: 'spa'` will only look for the `index.html` file in the configured `root` directory,
10
- * so this plugin is necessary to serve the `index.html` file from a different directory.
11
- *
12
- * @param path - The path to the external public directory.
13
- * @param options - Optional filter patterns to include or exclude specific assets.
14
- * @param options.include - A filter pattern to include specific assets.
15
- * @param options.exclude - A filter pattern to exclude specific assets.
16
- * @returns A Vite plugin object.
17
- *
18
- * The plugin:
19
- * - Sets the `path` configuration to the provided path.
20
- * - Adds a middleware to the server that serves static assets from the specified path.
21
- * - Adds a middleware to the server that serves the `index.html` file from the specified path.
22
- *
23
- * The middleware:
24
- * - Checks if the request is for a static asset and serves it from the specified path.
25
- * - Reads the `index.html` file from the specified path.
26
- * - Transforms the HTML using the server's `transformIndexHtml` method.
27
- * - Responds with the transformed HTML, setting appropriate headers.
28
- */
29
- export const externalPublicPlugin = (path, options) => {
30
- let viteConfig;
31
- const assetFilter = createFilter(options?.include, options?.exclude);
32
- return {
33
- name: 'fusion:external-public',
34
- apply: 'serve',
35
- configResolved(config) {
36
- viteConfig = config;
37
- },
38
- configureServer(server) {
39
- // serve the static assets from the provided path
40
- server.middlewares.use(async (req, res, next) => {
41
- const [urlPath] = req.url.split('?');
42
- const assetPath = join(path, urlPath);
43
- if (!assetFilter(assetPath) ||
44
- // skip if the request is for index.html
45
- req.url?.match('index.html') ||
46
- // skip if request is for a source file
47
- existsSync(join(viteConfig.root, urlPath)) ||
48
- // skip if asset is in publicDir
49
- existsSync(join(viteConfig.publicDir, urlPath)) ||
50
- // skip if asset does not exist
51
- !existsSync(assetPath)) {
52
- return next();
53
- }
54
- try {
55
- const content = readFileSync(assetPath);
56
- const contentType = mime.getType(assetPath) || 'application/octet-stream';
57
- res.writeHead(200, {
58
- 'content-type': contentType,
59
- 'content-length': Buffer.byteLength(content),
60
- 'cache-control': 'no-cache',
61
- ...server.config.server.headers,
62
- });
63
- res.end(content);
64
- }
65
- catch (e) {
66
- next(e);
67
- }
68
- });
69
- // intercept requests to serve the index.html file
70
- server.middlewares.use(async (req, res, next) => {
71
- if (
72
- // Only accept GET or HEAD
73
- (req.method !== 'GET' && req.method !== 'HEAD') ||
74
- // Only accept text/html
75
- !req.headers.accept?.includes('text/html')) {
76
- return next();
77
- }
78
- try {
79
- // load the raw html from provided path
80
- const htmlRaw = readFileSync(join(path, 'index.html'), 'utf-8');
81
- // transform the html, this is where vite plugin hooks are applied
82
- const html = await server.transformIndexHtml(req.url, htmlRaw, req.originalUrl);
83
- // apply content headers and configured additional headers
84
- res.writeHead(200, {
85
- 'content-type': 'text/html',
86
- 'content-length': Buffer.byteLength(html),
87
- 'cache-control': 'no-cache',
88
- ...server.config.server.headers,
89
- });
90
- // send the transformed html and end the response
91
- res.end(html);
92
- }
93
- catch (e) {
94
- next(e);
95
- }
96
- });
97
- },
98
- };
99
- };
100
- export default externalPublicPlugin;
101
- //# sourceMappingURL=external-public-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-public-plugin.js","sourceRoot":"","sources":["../../../../src/lib/plugins/external-public/external-public-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { default, externalPublicPlugin } from './external-public-plugin.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/external-public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Preserce token for executing proxy assets
3
- *
4
- * @remarks
5
- * This assumes the client will execute a api call using bearer token before
6
- * acquiring a asset. By default the Framework will execute a rest call to load
7
- * application manufest for resolving build assets to import
8
- *
9
- * @remarks
10
- * This is a quick and dirty method to authorize requests without bearer token
11
- * like browser `import`.
12
- * The correct way would be to have a auth controller within the dev-server,
13
- * but since the token is only exposed to the plugin and the cli is a tool for
14
- * local development, this should be sufficient.
15
- */
16
- let __HELP_API_TOKEN__ = '';
17
- /**
18
- * The `helpProxyPlugin` function creates a Vite plugin that configures a proxy
19
- * for assets API requests to the Fusion Help Service.
20
- *
21
- * @param {HelpProxyPluginOptions} options - The options for configuring the help proxy plugin.
22
- *
23
- * @returns {Plugin} - The configured Vite plugin.
24
- *
25
- * @example
26
- * ```typescript
27
- * const plugin = helpProxyPlugin({
28
- * proxy: {
29
- * path: '/help-proxy',
30
- * target: 'https://help.ci.api.fusion-dev.net',
31
- * onProxyReq: (proxyReq, req, res) => {
32
- * proxyReq.on('response', (res) => { console.log(res.statusCode) });
33
- * },
34
- * },
35
- * });
36
- *
37
- * // Fetch a resource through the proxy
38
- * fetch('/help-proxy/assets/resources/images/image.jpg');
39
- * ```
40
- */
41
- export const helpProxyPlugin = (options) => {
42
- const { proxy: { onProxyReq = () => void 0, path: proxyPath, target }, } = options;
43
- return {
44
- name: 'fusion:help-proxy',
45
- apply: 'serve',
46
- config(config) {
47
- config.server ??= {};
48
- config.server.proxy ??= {};
49
- config.server.proxy[proxyPath] = {
50
- target,
51
- changeOrigin: true,
52
- secure: false,
53
- rewrite: (path) => path.replace(proxyPath, ''),
54
- configure: (proxy) => {
55
- proxy.on('proxyReq', (proxyReq) => {
56
- if (__HELP_API_TOKEN__) {
57
- // apply token to proxy request
58
- proxyReq.setHeader('authorization', __HELP_API_TOKEN__);
59
- }
60
- });
61
- proxy.on('proxyReq', onProxyReq);
62
- },
63
- };
64
- },
65
- configureServer(server) {
66
- server.middlewares.use(proxyPath, async (req, res, next) => {
67
- if (req.headers.authorization) {
68
- __HELP_API_TOKEN__ = req.headers.authorization || '';
69
- res.end();
70
- return;
71
- }
72
- next();
73
- });
74
- },
75
- };
76
- };
77
- export default helpProxyPlugin;
78
- //# sourceMappingURL=help-proxy-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help-proxy-plugin.js","sourceRoot":"","sources":["../../../../src/lib/plugins/help-proxy/help-proxy-plugin.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAiB5B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA+B,EAAU,EAAE;IACzE,MAAM,EACJ,KAAK,EAAE,EAAE,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAC9D,GAAG,OAAO,CAAC;IAEZ,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,OAAO;QACd,MAAM,CAAC,MAAM;YACX,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG;gBAC/B,MAAM;gBACN,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;wBAChC,IAAI,kBAAkB,EAAE,CAAC;4BACvB,+BAA+B;4BAC/B,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACnC,CAAC;aACF,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,MAAM;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACzD,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC9B,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;oBACrD,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default, helpProxyPlugin } from './help-proxy-plugin.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/help-proxy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA+B,MAAM,wBAAwB,CAAC"}
@@ -1,28 +0,0 @@
1
- import assert, { AssertionError } from 'node:assert';
2
- export { assert, AssertionError };
3
- export function assertNumber(value, message) {
4
- assert(!Number.isNaN(value), new AssertionError({
5
- message,
6
- actual: value,
7
- expected: '<number>',
8
- }));
9
- }
10
- export function assertObject(value, message) {
11
- assert(typeof value === 'object', message);
12
- }
13
- function assertObjectEntryValue(value, prop, message) {
14
- assert(!!value, message ?? `missing value of property ${prop}`);
15
- }
16
- export function assertObjectEntries(
17
- // extends Record<string, unknown> = unknown>(
18
- value, options) {
19
- const preMessage = options?.preMessage ?? '';
20
- assert(typeof value === 'object', `${preMessage} to be an <object>`);
21
- const assertion = options?.assertion ?? assertObjectEntryValue;
22
- const props = options?.props ?? Object.keys(value);
23
- for (const prop of props) {
24
- assert(prop in value, `${preMessage} to have property [${String(prop)}]`);
25
- assertion(value[prop], prop, `${preMessage} property [${String(prop)}] to have value`);
26
- }
27
- }
28
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/lib/utils/assert.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAElC,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,OAAgB;IAC3D,MAAM,CACJ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EACpB,IAAI,cAAc,CAAC;QACjB,OAAO;QACP,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,UAAU;KACrB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,OAAwB;IAClE,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,sBAAsB,CAAI,KAAc,EAAE,IAAO,EAAE,OAAgB;IAC1E,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,6BAA6B,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,mBAAmB;AACjC,8CAA8C;AAC9C,KAAQ,EACR,OAIC;IAED,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,GAAG,UAAU,oBAAoB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAqC,OAAO,EAAE,SAAS,IAAI,sBAAsB,CAAC;IACjG,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,GAAG,UAAU,sBAAsB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,SAAS,CACP,KAAK,CAAC,IAAe,CAAC,EACtB,IAAoB,EACpB,GAAG,UAAU,cAAc,MAAM,CAAC,IAAI,CAAC,iBAAiB,CACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,67 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- import { extname } from 'node:path';
3
- import { findUpMultiple } from 'find-up';
4
- import { assert } from 'node:console';
5
- import { AssertionError } from 'node:assert';
6
- import { pathToFileURL } from 'node:url';
7
- import { transpile } from './ts-transpile.js';
8
- import { fileExists } from './file-exists.js';
9
- export const supportedExt = ['.ts', '.mjs', '.js', '.json'];
10
- /**
11
- * @param filename name if config file without extension
12
- */
13
- export const findConfigs = async (filename, options) => {
14
- const { extensions, ...findOptions } = options ?? {};
15
- extensions && assertConfigFileType(extensions);
16
- return findUpMultiple((extensions ?? supportedExt).map((ext) => [filename, ext].join('')), {
17
- ...findOptions,
18
- type: 'file',
19
- });
20
- };
21
- export const resolveConfig = async (filename, options) => {
22
- const [file] = await findConfigs(filename, options?.find);
23
- if (file) {
24
- return {
25
- path: file,
26
- config: await loadConfig(file),
27
- };
28
- }
29
- };
30
- function assertConfigFileType(value, message) {
31
- const values = typeof value === 'string' ? [value] : value;
32
- for (const ext of values) {
33
- assert(supportedExt.includes(ext), new AssertionError({
34
- message: message ?? 'unsupported file type',
35
- actual: value,
36
- expected: supportedExt.join('|'),
37
- }));
38
- }
39
- }
40
- const configExtname = (file) => {
41
- const ext = extname(file);
42
- assertConfigFileType(ext);
43
- return ext;
44
- };
45
- export const loadConfig = async (file) => {
46
- assert(await fileExists(file, { assert: true }), `failed to access file ${file}`);
47
- switch (configExtname(file)) {
48
- case '.ts': {
49
- return loadConfig(await transpile(file));
50
- }
51
- case '.mjs':
52
- case '.js': {
53
- const result = (await import(String(pathToFileURL(file)))).default;
54
- return typeof result === 'function' ? result : () => result;
55
- }
56
- case '.json': {
57
- return async () => JSON.parse(await readFile(file, 'utf-8'));
58
- }
59
- default:
60
- throw Error('unsupported file type');
61
- }
62
- };
63
- export function initiateConfig(config, ...args) {
64
- return Promise.resolve(config(...args));
65
- }
66
- export default loadConfig;
67
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/utils/config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"expect.js","sourceRoot":"","sources":["../../../src/lib/utils/expect.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAAQ,EAAE,EAAE;IACpC,OAAO;QACL,IAAI,EAAE,CAAC,QAAW,EAAE,OAAe,EAAoB,EAAE;YACvD,MAAM,CACJ,KAAK,KAAK,QAAQ,EAClB,KAAK,CAAC,OAAO,EAAE;gBACb,KAAK,EAAE;oBACL,QAAQ;oBACR,MAAM,EAAE,KAAK;oBACb,KAAK;iBACN;aACF,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,cAAc,EAAE,CAAC,QAAsB,EAAE,OAAe,EAAoB,EAAE;YAC5E,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC;YAC5B,MAAM,CACJ,MAAM,KAAK,QAAQ,EACnB,KAAK,CAAC,OAAO,EAAE;gBACb,KAAK,EAAE;oBACL,QAAQ;oBACR,MAAM;oBACN,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;iBACjD;aACF,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}