@ms-cloudpack/api-server 0.14.4 → 0.16.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 (197) hide show
  1. package/lib/apis/addPackageOverride.d.ts +5 -45
  2. package/lib/apis/addPackageOverride.d.ts.map +1 -1
  3. package/lib/apis/addPackageOverride.js +5 -5
  4. package/lib/apis/addPackageOverride.js.map +1 -1
  5. package/lib/apis/ensurePackageBundled.d.ts +5 -52
  6. package/lib/apis/ensurePackageBundled.d.ts.map +1 -1
  7. package/lib/apis/ensurePackageBundled.js +13 -7
  8. package/lib/apis/ensurePackageBundled.js.map +1 -1
  9. package/lib/apis/getData.d.ts +5 -41
  10. package/lib/apis/getData.d.ts.map +1 -1
  11. package/lib/apis/getData.js +4 -4
  12. package/lib/apis/getData.js.map +1 -1
  13. package/lib/apis/getSessionId.d.ts +5 -40
  14. package/lib/apis/getSessionId.d.ts.map +1 -1
  15. package/lib/apis/getSessionId.js +4 -4
  16. package/lib/apis/getSessionId.js.map +1 -1
  17. package/lib/apis/index.d.ts +1 -1
  18. package/lib/apis/index.d.ts.map +1 -1
  19. package/lib/apis/index.js.map +1 -1
  20. package/lib/apis/onDataChanged.d.ts +5 -41
  21. package/lib/apis/onDataChanged.d.ts.map +1 -1
  22. package/lib/apis/onDataChanged.js +4 -4
  23. package/lib/apis/onDataChanged.js.map +1 -1
  24. package/lib/apis/openCodeEditor.d.ts +4 -36
  25. package/lib/apis/openCodeEditor.d.ts.map +1 -1
  26. package/lib/apis/openCodeEditor.js +2 -2
  27. package/lib/apis/openCodeEditor.js.map +1 -1
  28. package/lib/apis/openConfigEditor.d.ts +4 -33
  29. package/lib/apis/openConfigEditor.d.ts.map +1 -1
  30. package/lib/apis/openConfigEditor.js +3 -1
  31. package/lib/apis/openConfigEditor.js.map +1 -1
  32. package/lib/apis/openFilePath.d.ts +4 -36
  33. package/lib/apis/openFilePath.d.ts.map +1 -1
  34. package/lib/apis/openFilePath.js +2 -2
  35. package/lib/apis/openFilePath.js.map +1 -1
  36. package/lib/apis/reportMetric.d.ts +4 -40
  37. package/lib/apis/reportMetric.d.ts.map +1 -1
  38. package/lib/apis/reportMetric.js +4 -3
  39. package/lib/apis/reportMetric.js.map +1 -1
  40. package/lib/apis/syncDownload.d.ts +4 -44
  41. package/lib/apis/syncDownload.d.ts.map +1 -1
  42. package/lib/apis/syncDownload.js +2 -2
  43. package/lib/apis/syncDownload.js.map +1 -1
  44. package/lib/apis/syncUpload.d.ts +4 -50
  45. package/lib/apis/syncUpload.d.ts.map +1 -1
  46. package/lib/apis/syncUpload.js +2 -2
  47. package/lib/apis/syncUpload.js.map +1 -1
  48. package/lib/apis/validatePackageOverride.d.ts +10 -42
  49. package/lib/apis/validatePackageOverride.d.ts.map +1 -1
  50. package/lib/apis/validatePackageOverride.js +3 -4
  51. package/lib/apis/validatePackageOverride.js.map +1 -1
  52. package/lib/apis.d.ts +2 -1
  53. package/lib/apis.d.ts.map +1 -1
  54. package/lib/apis.js +1 -0
  55. package/lib/apis.js.map +1 -1
  56. package/lib/common/createPartialApiContext.d.ts +14 -0
  57. package/lib/common/createPartialApiContext.d.ts.map +1 -0
  58. package/lib/common/createPartialApiContext.js +101 -0
  59. package/lib/common/createPartialApiContext.js.map +1 -0
  60. package/lib/common/createSession.d.ts +13 -0
  61. package/lib/common/createSession.d.ts.map +1 -0
  62. package/lib/common/createSession.js +62 -0
  63. package/lib/common/createSession.js.map +1 -0
  64. package/lib/data/busSources.d.ts +417 -89
  65. package/lib/data/busSources.d.ts.map +1 -1
  66. package/lib/index.d.ts +9 -6
  67. package/lib/index.d.ts.map +1 -1
  68. package/lib/index.js +2 -1
  69. package/lib/index.js.map +1 -1
  70. package/lib/startApiServer.d.ts +2 -2
  71. package/lib/startApiServer.d.ts.map +1 -1
  72. package/lib/startApiServer.js +2 -2
  73. package/lib/startApiServer.js.map +1 -1
  74. package/lib/trpc/common.d.ts +5 -53
  75. package/lib/trpc/common.d.ts.map +1 -1
  76. package/lib/trpc/common.js +3 -9
  77. package/lib/trpc/common.js.map +1 -1
  78. package/lib/trpc/createAppRouter.d.ts +25 -400
  79. package/lib/trpc/createAppRouter.d.ts.map +1 -1
  80. package/lib/trpc/createCloudpackServer.d.ts +5 -20
  81. package/lib/trpc/createCloudpackServer.d.ts.map +1 -1
  82. package/lib/trpc/createCloudpackServer.js.map +1 -1
  83. package/lib/trpc/createContextFactory.d.ts +6 -22
  84. package/lib/trpc/createContextFactory.d.ts.map +1 -1
  85. package/lib/trpc/createContextFactory.js +4 -4
  86. package/lib/trpc/createContextFactory.js.map +1 -1
  87. package/lib/trpc/createRouterFromApis.d.ts +1 -16
  88. package/lib/trpc/createRouterFromApis.d.ts.map +1 -1
  89. package/lib/types/ApiParams.d.ts +12 -0
  90. package/lib/types/ApiParams.d.ts.map +1 -0
  91. package/lib/types/ApiParams.js +2 -0
  92. package/lib/types/ApiParams.js.map +1 -0
  93. package/lib/types/Context.d.ts +19 -0
  94. package/lib/types/Context.d.ts.map +1 -0
  95. package/lib/types/Context.js +2 -0
  96. package/lib/types/Context.js.map +1 -0
  97. package/lib/types/CreateHtmlFunction.d.ts.map +1 -1
  98. package/lib/types/CreateHtmlFunction.js.map +1 -1
  99. package/lib/types/CreateHtmlOptions.d.ts +7 -4
  100. package/lib/types/CreateHtmlOptions.d.ts.map +1 -1
  101. package/lib/types/CreateHtmlOptions.js.map +1 -1
  102. package/lib/types/CreateHtmlResult.d.ts +8 -1
  103. package/lib/types/CreateHtmlResult.d.ts.map +1 -1
  104. package/lib/types/CreateHtmlResult.js +0 -3
  105. package/lib/types/CreateHtmlResult.js.map +1 -1
  106. package/lib/types/CreateHtmlScript.d.ts.map +1 -1
  107. package/lib/types/CreateHtmlScript.js.map +1 -1
  108. package/lib/types/Task.d.ts +2 -2
  109. package/lib/types/Task.d.ts.map +1 -1
  110. package/lib/types/Task.js.map +1 -1
  111. package/lib/types/TaskDescription.d.ts +319 -63
  112. package/lib/types/TaskDescription.d.ts.map +1 -1
  113. package/lib/types/TaskEndDescription.d.ts +316 -60
  114. package/lib/types/TaskEndDescription.d.ts.map +1 -1
  115. package/lib/types/TaskEndDescription.js +3 -3
  116. package/lib/types/TaskEndDescription.js.map +1 -1
  117. package/lib/utilities/addOverride.d.ts +2 -6
  118. package/lib/utilities/addOverride.d.ts.map +1 -1
  119. package/lib/utilities/addOverride.js +1 -1
  120. package/lib/utilities/addOverride.js.map +1 -1
  121. package/lib/utilities/bundleTask.d.ts +3 -1
  122. package/lib/utilities/bundleTask.d.ts.map +1 -1
  123. package/lib/utilities/bundleTask.js +5 -4
  124. package/lib/utilities/bundleTask.js.map +1 -1
  125. package/lib/utilities/calculateHashOfInlinedDependencies.d.ts +9 -0
  126. package/lib/utilities/calculateHashOfInlinedDependencies.d.ts.map +1 -0
  127. package/lib/utilities/calculateHashOfInlinedDependencies.js +18 -0
  128. package/lib/utilities/calculateHashOfInlinedDependencies.js.map +1 -0
  129. package/lib/utilities/createBundleRequestForPackage.d.ts +2 -1
  130. package/lib/utilities/createBundleRequestForPackage.d.ts.map +1 -1
  131. package/lib/utilities/createBundleRequestForPackage.js +3 -2
  132. package/lib/utilities/createBundleRequestForPackage.js.map +1 -1
  133. package/lib/utilities/createBundleTask.d.ts +7 -1
  134. package/lib/utilities/createBundleTask.d.ts.map +1 -1
  135. package/lib/utilities/createBundleTask.js +4 -3
  136. package/lib/utilities/createBundleTask.js.map +1 -1
  137. package/lib/utilities/findPackageOverride.d.ts +1 -1
  138. package/lib/utilities/findPackageOverride.d.ts.map +1 -1
  139. package/lib/utilities/findPackageOverride.js.map +1 -1
  140. package/lib/utilities/getBundleDetails.d.ts +2 -0
  141. package/lib/utilities/getBundleDetails.d.ts.map +1 -1
  142. package/lib/utilities/getBundleDetails.js +3 -7
  143. package/lib/utilities/getBundleDetails.js.map +1 -1
  144. package/lib/utilities/getPackageHashEntries.d.ts +69 -0
  145. package/lib/utilities/getPackageHashEntries.d.ts.map +1 -0
  146. package/lib/utilities/getPackageHashEntries.js +29 -0
  147. package/lib/utilities/getPackageHashEntries.js.map +1 -0
  148. package/lib/utilities/getPackagePath.d.ts +16 -0
  149. package/lib/utilities/getPackagePath.d.ts.map +1 -0
  150. package/lib/utilities/getPackagePath.js +19 -0
  151. package/lib/utilities/getPackagePath.js.map +1 -0
  152. package/lib/utilities/getPackagesToSync.js +1 -1
  153. package/lib/utilities/getPackagesToSync.js.map +1 -1
  154. package/lib/utilities/getSourceHash.d.ts +9 -0
  155. package/lib/utilities/getSourceHash.d.ts.map +1 -0
  156. package/lib/utilities/getSourceHash.js +21 -0
  157. package/lib/utilities/getSourceHash.js.map +1 -0
  158. package/lib/utilities/hashPackage.d.ts +6 -4
  159. package/lib/utilities/hashPackage.d.ts.map +1 -1
  160. package/lib/utilities/hashPackage.js +21 -15
  161. package/lib/utilities/hashPackage.js.map +1 -1
  162. package/lib/utilities/resolveDependenciesTask.d.ts +16 -0
  163. package/lib/utilities/resolveDependenciesTask.d.ts.map +1 -0
  164. package/lib/utilities/resolveDependenciesTask.js +65 -0
  165. package/lib/utilities/resolveDependenciesTask.js.map +1 -0
  166. package/lib/utilities/validateOverride.d.ts +2 -6
  167. package/lib/utilities/validateOverride.d.ts.map +1 -1
  168. package/lib/utilities/validateOverride.js.map +1 -1
  169. package/package.json +10 -9
  170. package/lib/types/BundleResultExtended.d.ts +0 -23
  171. package/lib/types/BundleResultExtended.d.ts.map +0 -1
  172. package/lib/types/BundleResultExtended.js +0 -2
  173. package/lib/types/BundleResultExtended.js.map +0 -1
  174. package/lib/types/DevServer.d.ts +0 -33
  175. package/lib/types/DevServer.d.ts.map +0 -1
  176. package/lib/types/DevServer.js +0 -2
  177. package/lib/types/DevServer.js.map +0 -1
  178. package/lib/types/PackageOverride.d.ts +0 -8
  179. package/lib/types/PackageOverride.d.ts.map +0 -1
  180. package/lib/types/PackageOverride.js +0 -2
  181. package/lib/types/PackageOverride.js.map +0 -1
  182. package/lib/types/Route.d.ts +0 -23
  183. package/lib/types/Route.d.ts.map +0 -1
  184. package/lib/types/Route.js +0 -2
  185. package/lib/types/Route.js.map +0 -1
  186. package/lib/types/SessionStats.d.ts +0 -8
  187. package/lib/types/SessionStats.d.ts.map +0 -1
  188. package/lib/types/SessionStats.js +0 -2
  189. package/lib/types/SessionStats.js.map +0 -1
  190. package/lib/types/TaskError.d.ts +0 -25
  191. package/lib/types/TaskError.d.ts.map +0 -1
  192. package/lib/types/TaskError.js +0 -10
  193. package/lib/types/TaskError.js.map +0 -1
  194. package/lib/types/TelemetryConfig.d.ts +0 -7
  195. package/lib/types/TelemetryConfig.d.ts.map +0 -1
  196. package/lib/types/TelemetryConfig.js +0 -2
  197. package/lib/types/TelemetryConfig.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"syncUpload.js","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\n\nimport type { Session } from '../types/Session.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport { ensurePackageBundled } from './ensurePackageBundled.js';\nimport type { DataBus } from '@ms-cloudpack/data-bus';\nimport type { TaskRunner } from '../utilities/TaskRunner.js';\nimport type { Watcher } from '@ms-cloudpack/file-watcher';\nimport { basename } from 'path';\nimport { ensureFieldsExist } from '../utilities/ensureFieldsExist.js';\nimport { performance } from 'perf_hooks';\nimport { PerfMarkerSyncStart, PerfMeasurementSyncDownload } from '../performance/markers.js';\n\nconst ZodSyncUploadInput = z.object({\n isInteractiveLogin: z.boolean(),\n});\n\ntype SyncUploadInput = z.infer<typeof ZodSyncUploadInput>;\n\ninterface SyncUploadOptions {\n input: SyncUploadInput;\n ctx: {\n bus: DataBus;\n reporter: TaskReporter;\n session: Session;\n packages: PackageDefinitionsCache;\n taskRunner: TaskRunner;\n watcher: Watcher;\n };\n}\n\nexport async function syncUpload(options: SyncUploadOptions) {\n const { ctx, input } = options;\n const { reporter, session } = ctx;\n const { appPath } = session;\n const { isInteractiveLogin } = input;\n\n const config = ensureRemoteCacheEnabled(session.config);\n\n const packageDefinition = await ctx.packages.get(appPath);\n const { name, version } = ensureFieldsExist(packageDefinition, ['name', 'version']);\n\n const [client, { dependencies, result }] = await Promise.all([\n import('@ms-cloudpack/remote-cache').then(({ createRemoteCacheClient }) => {\n return createRemoteCacheClient({\n reporter,\n connectionStringOptions: {\n container: config.container,\n storageAccount: config.storageAccount,\n permissions: { read: false, write: true, list: true },\n isInteractiveLogin,\n },\n });\n }),\n ensurePackageBundled({\n input: {\n name,\n version,\n enqueueDependencies: true,\n },\n ctx,\n }),\n ]);\n\n const bundledPackages = [result, ...(await dependencies)];\n const packages = bundledPackages\n .filter((p) => p.isExternal)\n .map((p) => ({\n folderName: basename(p.outputPath),\n friendlyName: `${p.name}@${p.version}`,\n path: p.outputPath,\n }));\n\n const uploads = packages.map((pkg) => client.uploadFolder(pkg));\n\n // Do not reject is there is a failure. Failed uploads will be logged in the task reporter.\n await Promise.allSettled(uploads);\n\n performance.measure(PerfMeasurementSyncDownload, PerfMarkerSyncStart);\n}\n\n// Attach a trpc procedure to the function.\nsyncUpload.procedure = publicProcedure.input(ZodSyncUploadInput).mutation(syncUpload);\n"]}
1
+ {"version":3,"file":"syncUpload.js","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport { ensurePackageBundled } from './ensurePackageBundled.js';\nimport { basename } from 'path';\nimport { ensureFieldsExist } from '../utilities/ensureFieldsExist.js';\nimport { performance } from 'perf_hooks';\nimport { PerfMarkerSyncStart, PerfMeasurementSyncDownload } from '../performance/markers.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst ZodSyncUploadInput = z.object({\n isInteractiveLogin: z.boolean(),\n});\n\ntype SyncUploadInput = z.infer<typeof ZodSyncUploadInput>;\n\nexport async function syncUpload(\n params: ApiParams<SyncUploadInput, 'session' | 'packages' | 'reporter' | 'bus' | 'taskRunner' | 'watcher'>,\n): Promise<void> {\n const { ctx, input } = params;\n const { reporter, session } = ctx;\n const { appPath } = session;\n const { isInteractiveLogin } = input;\n\n const config = ensureRemoteCacheEnabled(session.config);\n\n const packageDefinition = await ctx.packages.get(appPath);\n const { name, version } = ensureFieldsExist(packageDefinition, ['name', 'version']);\n\n const [client, { dependencies, result }] = await Promise.all([\n import('@ms-cloudpack/remote-cache').then(({ createRemoteCacheClient }) => {\n return createRemoteCacheClient({\n reporter,\n connectionStringOptions: {\n container: config.container,\n storageAccount: config.storageAccount,\n permissions: { read: false, write: true, list: true },\n isInteractiveLogin,\n },\n });\n }),\n ensurePackageBundled({\n input: {\n name,\n version,\n enqueueDependencies: true,\n },\n ctx,\n }),\n ]);\n\n const bundledPackages = [result, ...(await dependencies)];\n const packages = bundledPackages\n .filter((p) => p.isExternal)\n .map((p) => ({\n folderName: basename(p.outputPath),\n friendlyName: `${p.name}@${p.version}`,\n path: p.outputPath,\n }));\n\n const uploads = packages.map((pkg) => client.uploadFolder(pkg));\n\n // Do not reject is there is a failure. Failed uploads will be logged in the task reporter.\n await Promise.allSettled(uploads);\n\n performance.measure(PerfMeasurementSyncDownload, PerfMarkerSyncStart);\n}\n\n// Attach a trpc procedure to the function.\nsyncUpload.procedure = publicProcedure.input(ZodSyncUploadInput).mutation(syncUpload);\n"]}
@@ -1,6 +1,5 @@
1
- import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
2
1
  import { z } from 'zod';
3
- import type { Session } from '../types/Session.js';
2
+ import type { ApiParams } from '../types/ApiParams.js';
4
3
  declare const ZodValidatePackageOverrideInput: z.ZodObject<{
5
4
  packageName: z.ZodString;
6
5
  importPath: z.ZodString;
@@ -12,56 +11,25 @@ declare const ZodValidatePackageOverrideInput: z.ZodObject<{
12
11
  importPath: string;
13
12
  }>;
14
13
  type ValidatePackageOverrideInput = z.infer<typeof ZodValidatePackageOverrideInput>;
15
- interface ValidatePackageOverrideOptions {
16
- input: ValidatePackageOverrideInput;
17
- ctx: {
18
- session: Session;
19
- packages: PackageDefinitionsCache;
20
- };
21
- }
22
- export declare function validatePackageOverride({ input, ctx }: ValidatePackageOverrideOptions): Promise<{
14
+ declare const ZodValidatePackageOverrideOutput: z.ZodObject<{
15
+ fixable: z.ZodBoolean;
16
+ }, "strip", z.ZodTypeAny, {
17
+ fixable: boolean;
18
+ }, {
23
19
  fixable: boolean;
24
20
  }>;
21
+ type ValidatePackageOverrideOutput = z.infer<typeof ZodValidatePackageOverrideOutput>;
22
+ export declare function validatePackageOverride(params: ApiParams<ValidatePackageOverrideInput, 'session' | 'packages'>): Promise<ValidatePackageOverrideOutput>;
25
23
  export declare namespace validatePackageOverride {
26
24
  var procedure: import("@trpc/server").BuildProcedure<"query", {
27
25
  _config: import("@trpc/server").RootConfig<{
28
- ctx: {
29
- session: Session;
30
- bus: import("@ms-cloudpack/data-bus").DataBus;
31
- rootSpan: import("@opentelemetry/api").Span | undefined;
32
- reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
33
- watcher: {
34
- watch({ path, watchPaths, }: {
35
- path: string;
36
- watchPaths?: string[] | undefined;
37
- }, onPackageChanged: () => void): () => Promise<void>;
38
- unwatchAll(): Promise<void>;
39
- };
40
- packages: PackageDefinitionsCache;
41
- taskRunner: import("../index.js").TaskRunner;
42
- dispose(): Promise<void>;
43
- };
26
+ ctx: import("../index.js").Context;
44
27
  meta: object;
45
28
  errorShape: import("@trpc/server").DefaultErrorShape;
46
29
  transformer: import("@trpc/server").DefaultDataTransformer;
47
30
  }>;
48
31
  _meta: object;
49
- _ctx_out: {
50
- session: Session;
51
- bus: import("@ms-cloudpack/data-bus").DataBus;
52
- rootSpan: import("@opentelemetry/api").Span | undefined;
53
- reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
54
- watcher: {
55
- watch({ path, watchPaths, }: {
56
- path: string;
57
- watchPaths?: string[] | undefined;
58
- }, onPackageChanged: () => void): () => Promise<void>;
59
- unwatchAll(): Promise<void>;
60
- };
61
- packages: PackageDefinitionsCache;
62
- taskRunner: import("../index.js").TaskRunner;
63
- dispose(): Promise<void>;
64
- };
32
+ _ctx_out: import("../index.js").Context;
65
33
  _input_in: {
66
34
  packageName: string;
67
35
  importPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"validatePackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,QAAA,MAAM,+BAA+B;;;;;;;;;EAGnC,CAAC;AACH,KAAK,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMpF,UAAU,8BAA8B;IACtC,KAAK,EAAE,4BAA4B,CAAC;IACpC,GAAG,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,uBAAuB,CAAC;KACnC,CAAC;CACH;AAED,wBAAsB,uBAAuB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,8BAA8B;;GAM3F;yBANqB,uBAAuB"}
1
+ {"version":3,"file":"validatePackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAA,MAAM,+BAA+B;;;;;;;;;EAGnC,CAAC;AACH,KAAK,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEpF,QAAA,MAAM,gCAAgC;;;;;;EAEpC,CAAC;AACH,KAAK,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAEtF,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,CAAC,4BAA4B,EAAE,SAAS,GAAG,UAAU,CAAC,GACtE,OAAO,CAAC,6BAA6B,CAAC,CAMxC;yBARqB,uBAAuB"}
@@ -8,11 +8,10 @@ const ZodValidatePackageOverrideInput = z.object({
8
8
  const ZodValidatePackageOverrideOutput = z.object({
9
9
  fixable: z.boolean(),
10
10
  });
11
- export async function validatePackageOverride({ input, ctx }) {
12
- const { packageName, importPath } = input;
13
- const { session, packages } = ctx;
11
+ export async function validatePackageOverride(params) {
12
+ const { input, ctx } = params;
14
13
  return {
15
- fixable: await validateOverride({ packageName, importPath }, { session, packages }),
14
+ fixable: await validateOverride(input, ctx),
16
15
  };
17
16
  }
18
17
  validatePackageOverride.procedure = publicProcedure
@@ -1 +1 @@
1
- {"version":3,"file":"validatePackageOverride.js","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAkC;IAC1F,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAClC,OAAO;QACL,OAAO,EAAE,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,uBAAuB,CAAC,SAAS,GAAG,eAAe;KAChD,KAAK,CAAC,+BAA+B,CAAC;KACtC,MAAM,CAAC,gCAAgC,CAAC;KACxC,KAAK,CAAC,uBAAuB,CAAC,CAAC","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport type { Session } from '../types/Session.js';\nimport { validateOverride } from '../utilities/validateOverride.js';\n\nconst ZodValidatePackageOverrideInput = z.object({\n packageName: z.string(),\n importPath: z.string(),\n});\ntype ValidatePackageOverrideInput = z.infer<typeof ZodValidatePackageOverrideInput>;\n\nconst ZodValidatePackageOverrideOutput = z.object({\n fixable: z.boolean(),\n});\n\ninterface ValidatePackageOverrideOptions {\n input: ValidatePackageOverrideInput;\n ctx: {\n session: Session;\n packages: PackageDefinitionsCache;\n };\n}\n\nexport async function validatePackageOverride({ input, ctx }: ValidatePackageOverrideOptions) {\n const { packageName, importPath } = input;\n const { session, packages } = ctx;\n return {\n fixable: await validateOverride({ packageName, importPath }, { session, packages }),\n };\n}\n\nvalidatePackageOverride.procedure = publicProcedure\n .input(ZodValidatePackageOverrideInput)\n .output(ZodValidatePackageOverrideOutput)\n .query(validatePackageOverride);\n"]}
1
+ {"version":3,"file":"validatePackageOverride.js","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuE;IAEvE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE9B,OAAO;QACL,OAAO,EAAE,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,uBAAuB,CAAC,SAAS,GAAG,eAAe;KAChD,KAAK,CAAC,+BAA+B,CAAC;KACtC,MAAM,CAAC,gCAAgC,CAAC;KACxC,KAAK,CAAC,uBAAuB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { validateOverride } from '../utilities/validateOverride.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst ZodValidatePackageOverrideInput = z.object({\n packageName: z.string(),\n importPath: z.string(),\n});\ntype ValidatePackageOverrideInput = z.infer<typeof ZodValidatePackageOverrideInput>;\n\nconst ZodValidatePackageOverrideOutput = z.object({\n fixable: z.boolean(),\n});\ntype ValidatePackageOverrideOutput = z.infer<typeof ZodValidatePackageOverrideOutput>;\n\nexport async function validatePackageOverride(\n params: ApiParams<ValidatePackageOverrideInput, 'session' | 'packages'>,\n): Promise<ValidatePackageOverrideOutput> {\n const { input, ctx } = params;\n\n return {\n fixable: await validateOverride(input, ctx),\n };\n}\n\nvalidatePackageOverride.procedure = publicProcedure\n .input(ZodValidatePackageOverrideInput)\n .output(ZodValidatePackageOverrideOutput)\n .query(validatePackageOverride);\n"]}
package/lib/apis.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export type { EnsurePackageBundledContext, EnsurePackageBundledInput, EnsurePackageBundledOutput, EnsurePackageBundledOutputResult, } from './apis/index.js';
1
+ export type { EnsurePackageBundledInput, EnsurePackageBundledOutput, EnsurePackageBundledOutputResult, } from './apis/index.js';
2
2
  export { addPackageOverride, ensurePackageBundled, getData, getSessionId, onDataChanged, openCodeEditor, openConfigEditor, openFilePath, reportMetric, syncDownload, syncUpload, validatePackageOverride, } from './apis/index.js';
3
+ export { createPartialApiContext } from './common/createPartialApiContext.js';
3
4
  //# sourceMappingURL=apis.d.ts.map
package/lib/apis.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../src/apis.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../src/apis.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC"}
package/lib/apis.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { addPackageOverride, ensurePackageBundled, getData, getSessionId, onDataChanged, openCodeEditor, openConfigEditor, openFilePath, reportMetric, syncDownload, syncUpload, validatePackageOverride, } from './apis/index.js';
2
+ export { createPartialApiContext } from './common/createPartialApiContext.js';
2
3
  //# sourceMappingURL=apis.js.map
package/lib/apis.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apis.js","sourceRoot":"","sources":["../src/apis.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,iBAAiB,CAAC","sourcesContent":["export type {\n EnsurePackageBundledContext,\n EnsurePackageBundledInput,\n EnsurePackageBundledOutput,\n EnsurePackageBundledOutputResult,\n} from './apis/index.js';\n\nexport {\n addPackageOverride,\n ensurePackageBundled,\n getData,\n getSessionId,\n onDataChanged,\n openCodeEditor,\n openConfigEditor,\n openFilePath,\n reportMetric,\n syncDownload,\n syncUpload,\n validatePackageOverride,\n} from './apis/index.js';\n"]}
1
+ {"version":3,"file":"apis.js","sourceRoot":"","sources":["../src/apis.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC","sourcesContent":["export type {\n EnsurePackageBundledInput,\n EnsurePackageBundledOutput,\n EnsurePackageBundledOutputResult,\n} from './apis/index.js';\n\nexport {\n addPackageOverride,\n ensurePackageBundled,\n getData,\n getSessionId,\n onDataChanged,\n openCodeEditor,\n openConfigEditor,\n openFilePath,\n reportMetric,\n syncDownload,\n syncUpload,\n validatePackageOverride,\n} from './apis/index.js';\n\nexport { createPartialApiContext } from './common/createPartialApiContext.js';\n"]}
@@ -0,0 +1,14 @@
1
+ import type { CloudpackConfig } from '@ms-cloudpack/config';
2
+ import type { TaskReporter } from '@ms-cloudpack/task-reporter';
3
+ import type { TelemetryClient } from '@ms-cloudpack/telemetry';
4
+ import type { Context } from '../types/Context.js';
5
+ export interface LazyApiContextOptions {
6
+ reporter: TaskReporter;
7
+ appPath: string;
8
+ config: CloudpackConfig;
9
+ telemetryClient: TelemetryClient;
10
+ }
11
+ export declare function createPartialApiContext<TKeys extends Exclude<keyof Context, 'dispose'>, TReturn extends Pick<Context, TKeys | 'dispose' | 'reporter' | 'telemetryClient'>>(options: LazyApiContextOptions & {
12
+ items: TKeys[];
13
+ }): Promise<TReturn>;
14
+ //# sourceMappingURL=createPartialApiContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPartialApiContext.d.ts","sourceRoot":"","sources":["../../src/common/createPartialApiContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQnD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;CAClC;AAyFD,wBAAsB,uBAAuB,CAC3C,KAAK,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,SAAS,CAAC,EAC/C,OAAO,SAAS,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,iBAAiB,CAAC,EACjF,OAAO,EAAE,qBAAqB,GAAG;IAAE,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvE"}
@@ -0,0 +1,101 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _LazyApiContext_bus, _LazyApiContext_watcher, _LazyApiContext_packages, _LazyApiContext_taskRunner, _LazyApiContext_session;
13
+ class LazyApiContext {
14
+ constructor(options) {
15
+ this.options = options;
16
+ _LazyApiContext_bus.set(this, void 0);
17
+ _LazyApiContext_watcher.set(this, void 0);
18
+ _LazyApiContext_packages.set(this, void 0);
19
+ _LazyApiContext_taskRunner.set(this, void 0);
20
+ _LazyApiContext_session.set(this, void 0);
21
+ }
22
+ get telemetryClient() {
23
+ return Promise.resolve(this.options.telemetryClient);
24
+ }
25
+ get bus() {
26
+ if (!__classPrivateFieldGet(this, _LazyApiContext_bus, "f")) {
27
+ const createDataBusLazy = async () => {
28
+ const { createDataBus } = await import('@ms-cloudpack/data-bus');
29
+ return createDataBus();
30
+ };
31
+ __classPrivateFieldSet(this, _LazyApiContext_bus, createDataBusLazy(), "f");
32
+ }
33
+ return __classPrivateFieldGet(this, _LazyApiContext_bus, "f");
34
+ }
35
+ get watcher() {
36
+ if (!__classPrivateFieldGet(this, _LazyApiContext_watcher, "f")) {
37
+ const createWatcherLazy = async () => {
38
+ const { createWatcher } = await import('@ms-cloudpack/file-watcher');
39
+ return createWatcher();
40
+ };
41
+ __classPrivateFieldSet(this, _LazyApiContext_watcher, createWatcherLazy(), "f");
42
+ }
43
+ return __classPrivateFieldGet(this, _LazyApiContext_watcher, "f");
44
+ }
45
+ get reporter() {
46
+ return Promise.resolve(this.options.reporter);
47
+ }
48
+ get packages() {
49
+ if (!__classPrivateFieldGet(this, _LazyApiContext_packages, "f")) {
50
+ const createPackageDefinitionsLazy = async () => {
51
+ const { createPackageDefinitions } = await import('@ms-cloudpack/config');
52
+ return createPackageDefinitions({ config: this.options.config });
53
+ };
54
+ __classPrivateFieldSet(this, _LazyApiContext_packages, createPackageDefinitionsLazy(), "f");
55
+ }
56
+ return __classPrivateFieldGet(this, _LazyApiContext_packages, "f");
57
+ }
58
+ get taskRunner() {
59
+ if (!__classPrivateFieldGet(this, _LazyApiContext_taskRunner, "f")) {
60
+ const createTaskRunnerLazy = async () => {
61
+ const { TaskRunner } = await import('../utilities/TaskRunner.js');
62
+ return new TaskRunner();
63
+ };
64
+ __classPrivateFieldSet(this, _LazyApiContext_taskRunner, createTaskRunnerLazy(), "f");
65
+ }
66
+ return __classPrivateFieldGet(this, _LazyApiContext_taskRunner, "f");
67
+ }
68
+ get session() {
69
+ if (!__classPrivateFieldGet(this, _LazyApiContext_session, "f")) {
70
+ const createSessionLazy = async () => {
71
+ const { createSession } = await import('./createSession.js');
72
+ return createSession({ appPath: this.options.appPath, config: this.options.config }, { reporter: await this.reporter, packages: await this.packages });
73
+ };
74
+ __classPrivateFieldSet(this, _LazyApiContext_session, createSessionLazy(), "f");
75
+ }
76
+ return __classPrivateFieldGet(this, _LazyApiContext_session, "f");
77
+ }
78
+ async dispose() {
79
+ if (__classPrivateFieldGet(this, _LazyApiContext_watcher, "f")) {
80
+ const watcher = await __classPrivateFieldGet(this, _LazyApiContext_watcher, "f");
81
+ await watcher.unwatchAll();
82
+ }
83
+ }
84
+ }
85
+ _LazyApiContext_bus = new WeakMap(), _LazyApiContext_watcher = new WeakMap(), _LazyApiContext_packages = new WeakMap(), _LazyApiContext_taskRunner = new WeakMap(), _LazyApiContext_session = new WeakMap();
86
+ export async function createPartialApiContext(options) {
87
+ const { reporter, telemetryClient, items } = options;
88
+ const lazyContext = new LazyApiContext(options);
89
+ const result = {
90
+ reporter,
91
+ telemetryClient,
92
+ dispose: () => {
93
+ return lazyContext.dispose();
94
+ },
95
+ };
96
+ for (const item of items) {
97
+ result[item] = (await lazyContext[item]);
98
+ }
99
+ return result;
100
+ }
101
+ //# sourceMappingURL=createPartialApiContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPartialApiContext.js","sourceRoot":"","sources":["../../src/common/createPartialApiContext.ts"],"names":[],"mappings":";;;;;;;;;;;;AAqBA,MAAM,cAAc;IAOlB,YAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAN3D,sCAAmC;QACnC,0CAAuC;QACvC,2CAAwD;QACxD,6CAA6C;QAC7C,0CAAuC;IAEuB,CAAC;IAE/D,IAAW,eAAe;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,IAAW,GAAG;QACZ,IAAI,CAAC,uBAAA,IAAI,2BAAK,EAAE;YACd,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;gBACnC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACjE,OAAO,aAAa,EAAE,CAAC;YACzB,CAAC,CAAC;YACF,uBAAA,IAAI,uBAAQ,iBAAiB,EAAE,MAAA,CAAC;SACjC;QAED,OAAO,uBAAA,IAAI,2BAAK,CAAC;IACnB,CAAC;IAED,IAAW,OAAO;QAChB,IAAI,CAAC,uBAAA,IAAI,+BAAS,EAAE;YAClB,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;gBACnC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBACrE,OAAO,aAAa,EAAE,CAAC;YACzB,CAAC,CAAC;YACF,uBAAA,IAAI,2BAAY,iBAAiB,EAAE,MAAA,CAAC;SACrC;QAED,OAAO,uBAAA,IAAI,+BAAS,CAAC;IACvB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAW,QAAQ;QACjB,IAAI,CAAC,uBAAA,IAAI,gCAAU,EAAE;YACnB,MAAM,4BAA4B,GAAG,KAAK,IAAI,EAAE;gBAC9C,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC1E,OAAO,wBAAwB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC,CAAC;YACF,uBAAA,IAAI,4BAAa,4BAA4B,EAAE,MAAA,CAAC;SACjD;QAED,OAAO,uBAAA,IAAI,gCAAU,CAAC;IACxB,CAAC;IAED,IAAW,UAAU;QACnB,IAAI,CAAC,uBAAA,IAAI,kCAAY,EAAE;YACrB,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;gBACtC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAClE,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,CAAC,CAAC;YACF,uBAAA,IAAI,8BAAe,oBAAoB,EAAE,MAAA,CAAC;SAC3C;QACD,OAAO,uBAAA,IAAI,kCAAY,CAAC;IAC1B,CAAC;IAED,IAAW,OAAO;QAChB,IAAI,CAAC,uBAAA,IAAI,+BAAS,EAAE;YAClB,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;gBACnC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAC7D,OAAO,aAAa,CAClB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAC9D,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CACjE,CAAC;YACJ,CAAC,CAAC;YACF,uBAAA,IAAI,2BAAY,iBAAiB,EAAE,MAAA,CAAC;SACrC;QAED,OAAO,uBAAA,IAAI,+BAAS,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,uBAAA,IAAI,+BAAS,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,uBAAA,IAAI,+BAAS,CAAC;YACpC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;SAC5B;IACH,CAAC;CACF;;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAG3C,OAAmD;IACnD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,eAAe;QACf,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;KACS,CAAC;IAEb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAmB,CAAC;KAC5D;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport type { CloudpackConfig } from '@ms-cloudpack/config';\nimport type { DataBus } from '@ms-cloudpack/data-bus';\nimport type { Watcher } from '@ms-cloudpack/file-watcher';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport type { TelemetryClient } from '@ms-cloudpack/telemetry';\nimport type { Context } from '../types/Context.js';\nimport type { Session } from '../types/Session.js';\nimport type { TaskRunner } from '../utilities/TaskRunner.js';\n\ntype PromisifyProperties<T> = {\n [K in keyof T]: T[K] extends (...args: unknown[]) => unknown ? T[K] : Promise<T[K]>;\n};\n\nexport interface LazyApiContextOptions {\n reporter: TaskReporter;\n appPath: string;\n config: CloudpackConfig;\n telemetryClient: TelemetryClient;\n}\n\nclass LazyApiContext implements PromisifyProperties<Context> {\n #bus: Promise<DataBus> | undefined;\n #watcher: Promise<Watcher> | undefined;\n #packages: Promise<PackageDefinitionsCache> | undefined;\n #taskRunner: Promise<TaskRunner> | undefined;\n #session: Promise<Session> | undefined;\n\n constructor(private readonly options: LazyApiContextOptions) {}\n\n public get telemetryClient(): Promise<TelemetryClient> {\n return Promise.resolve(this.options.telemetryClient);\n }\n\n public get bus(): Promise<DataBus> {\n if (!this.#bus) {\n const createDataBusLazy = async () => {\n const { createDataBus } = await import('@ms-cloudpack/data-bus');\n return createDataBus();\n };\n this.#bus = createDataBusLazy();\n }\n\n return this.#bus;\n }\n\n public get watcher(): Promise<Watcher> {\n if (!this.#watcher) {\n const createWatcherLazy = async () => {\n const { createWatcher } = await import('@ms-cloudpack/file-watcher');\n return createWatcher();\n };\n this.#watcher = createWatcherLazy();\n }\n\n return this.#watcher;\n }\n\n public get reporter(): Promise<TaskReporter> {\n return Promise.resolve(this.options.reporter);\n }\n\n public get packages(): Promise<PackageDefinitionsCache> {\n if (!this.#packages) {\n const createPackageDefinitionsLazy = async () => {\n const { createPackageDefinitions } = await import('@ms-cloudpack/config');\n return createPackageDefinitions({ config: this.options.config });\n };\n this.#packages = createPackageDefinitionsLazy();\n }\n\n return this.#packages;\n }\n\n public get taskRunner(): Promise<TaskRunner> {\n if (!this.#taskRunner) {\n const createTaskRunnerLazy = async () => {\n const { TaskRunner } = await import('../utilities/TaskRunner.js');\n return new TaskRunner();\n };\n this.#taskRunner = createTaskRunnerLazy();\n }\n return this.#taskRunner;\n }\n\n public get session(): Promise<Session> {\n if (!this.#session) {\n const createSessionLazy = async () => {\n const { createSession } = await import('./createSession.js');\n return createSession(\n { appPath: this.options.appPath, config: this.options.config },\n { reporter: await this.reporter, packages: await this.packages },\n );\n };\n this.#session = createSessionLazy();\n }\n\n return this.#session;\n }\n\n public async dispose() {\n if (this.#watcher) {\n const watcher = await this.#watcher;\n await watcher.unwatchAll();\n }\n }\n}\n\nexport async function createPartialApiContext<\n TKeys extends Exclude<keyof Context, 'dispose'>,\n TReturn extends Pick<Context, TKeys | 'dispose' | 'reporter' | 'telemetryClient'>,\n>(options: LazyApiContextOptions & { items: TKeys[] }): Promise<TReturn> {\n const { reporter, telemetryClient, items } = options;\n const lazyContext = new LazyApiContext(options);\n\n const result = {\n reporter,\n telemetryClient,\n dispose: () => {\n return lazyContext.dispose();\n },\n } as TReturn;\n\n for (const item of items) {\n result[item] = (await lazyContext[item]) as TReturn[TKeys];\n }\n\n return result;\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
2
+ import type { CloudpackConfig } from '@ms-cloudpack/config';
3
+ import type { TaskReporter } from '@ms-cloudpack/task-reporter';
4
+ import type { Session } from '../types/Session.js';
5
+ export declare function createSession(options: {
6
+ appPath: string;
7
+ config: CloudpackConfig;
8
+ includeOverlay?: boolean;
9
+ }, context: {
10
+ reporter: TaskReporter;
11
+ packages: PackageDefinitionsCache;
12
+ }): Promise<Session>;
13
+ //# sourceMappingURL=createSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSession.d.ts","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAcnD,wBAAsB,aAAa,CACjC,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,EACD,OAAO,EAAE;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GACrE,OAAO,CAAC,OAAO,CAAC,CA0DlB"}
@@ -0,0 +1,62 @@
1
+ import { resolve } from '@ms-cloudpack/package-utilities';
2
+ import fs from 'fs';
3
+ import fsExtra from 'fs-extra';
4
+ import path from 'path';
5
+ import { fileURLToPath } from 'url';
6
+ import { v4 as uuid } from 'uuid';
7
+ import { getLocalCachePath } from '../utilities/getCachePath.js';
8
+ import { resolveDependenciesTask } from '../utilities/resolveDependenciesTask.js';
9
+ const overlayPackageName = '@ms-cloudpack/overlay';
10
+ const overlayPackagePath = (await resolve(overlayPackageName, path.dirname(fileURLToPath(import.meta.url)))) || '';
11
+ export async function createSession(options, context) {
12
+ const { appPath, config, includeOverlay } = options;
13
+ const projectName = path.basename(appPath);
14
+ const id = uuid();
15
+ const resolveMap = await resolveDependenciesTask({
16
+ appPath,
17
+ additionalPaths: includeOverlay ? [overlayPackagePath] : [],
18
+ }, context);
19
+ if (!resolveMap) {
20
+ throw new Error('Could not resolve dependencies.');
21
+ }
22
+ let importMap = undefined;
23
+ let sessionVersion = 0;
24
+ await fsExtra.ensureDir(getLocalCachePath(appPath));
25
+ const targetVersionsPath = path.join(getLocalCachePath(appPath), 'targetVersions.json');
26
+ const fileExists = await fsExtra.pathExists(targetVersionsPath);
27
+ if (!fileExists) {
28
+ await fsExtra.writeJson(targetVersionsPath, {}, { spaces: 2 });
29
+ }
30
+ const targetVersions = (await fsExtra.readJSON(targetVersionsPath));
31
+ return {
32
+ id,
33
+ appPath,
34
+ config,
35
+ projectName,
36
+ type: 'web-app',
37
+ mode: 'library',
38
+ resolveMap,
39
+ sequence: 0,
40
+ targetVersions,
41
+ getSessionVersion: () => sessionVersion,
42
+ incrementSessionVersion: (version) => {
43
+ if (version === undefined || version > sessionVersion) {
44
+ sessionVersion = version ?? sessionVersion + 1;
45
+ importMap = undefined;
46
+ }
47
+ },
48
+ incrementTargetVersion: (inputPath) => {
49
+ targetVersions[inputPath] ??= 0;
50
+ targetVersions[inputPath]++;
51
+ importMap = undefined;
52
+ // eslint-disable-next-line no-restricted-syntax -- this function can't be async
53
+ fs.writeFileSync(targetVersionsPath, JSON.stringify(targetVersions, null, 2));
54
+ },
55
+ getImportMap: () => importMap,
56
+ setImportMap: (newImportMap) => {
57
+ importMap = newImportMap;
58
+ return importMap;
59
+ },
60
+ };
61
+ }
62
+ //# sourceMappingURL=createSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport type { CloudpackConfig } from '@ms-cloudpack/config';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport type { Session } from '../types/Session.js';\n\nimport { resolve, type ImportMap } from '@ms-cloudpack/package-utilities';\nimport fs from 'fs';\nimport fsExtra from 'fs-extra';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { getLocalCachePath } from '../utilities/getCachePath.js';\nimport { resolveDependenciesTask } from '../utilities/resolveDependenciesTask.js';\n\nconst overlayPackageName = '@ms-cloudpack/overlay';\nconst overlayPackagePath = (await resolve(overlayPackageName, path.dirname(fileURLToPath(import.meta.url)))) || '';\n\nexport async function createSession(\n options: {\n appPath: string;\n config: CloudpackConfig;\n includeOverlay?: boolean;\n },\n context: { reporter: TaskReporter; packages: PackageDefinitionsCache },\n): Promise<Session> {\n const { appPath, config, includeOverlay } = options;\n\n const projectName = path.basename(appPath);\n const id = uuid();\n const resolveMap = await resolveDependenciesTask(\n {\n appPath,\n additionalPaths: includeOverlay ? [overlayPackagePath] : [],\n },\n context,\n );\n\n if (!resolveMap) {\n throw new Error('Could not resolve dependencies.');\n }\n\n let importMap: ImportMap | undefined = undefined;\n let sessionVersion = 0;\n\n await fsExtra.ensureDir(getLocalCachePath(appPath));\n const targetVersionsPath = path.join(getLocalCachePath(appPath), 'targetVersions.json');\n const fileExists = await fsExtra.pathExists(targetVersionsPath);\n if (!fileExists) {\n await fsExtra.writeJson(targetVersionsPath, {}, { spaces: 2 });\n }\n const targetVersions = (await fsExtra.readJSON(targetVersionsPath)) as Record<string, number>;\n\n return {\n id,\n appPath,\n config,\n projectName,\n type: 'web-app',\n mode: 'library',\n resolveMap,\n sequence: 0,\n targetVersions,\n getSessionVersion: () => sessionVersion,\n incrementSessionVersion: (version?: number) => {\n if (version === undefined || version > sessionVersion) {\n sessionVersion = version ?? sessionVersion + 1;\n importMap = undefined;\n }\n },\n incrementTargetVersion: (inputPath: string) => {\n targetVersions[inputPath] ??= 0;\n targetVersions[inputPath]++;\n importMap = undefined;\n // eslint-disable-next-line no-restricted-syntax -- this function can't be async\n fs.writeFileSync(targetVersionsPath, JSON.stringify(targetVersions, null, 2));\n },\n getImportMap: () => importMap,\n setImportMap: (newImportMap: ImportMap) => {\n importMap = newImportMap;\n return importMap;\n },\n };\n}\n"]}