@ms-cloudpack/api-server 0.13.4 → 0.14.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 (44) hide show
  1. package/lib/apis/ensurePackageBundled.d.ts +580 -196
  2. package/lib/apis/ensurePackageBundled.d.ts.map +1 -1
  3. package/lib/apis/ensurePackageBundled.js +3 -19
  4. package/lib/apis/ensurePackageBundled.js.map +1 -1
  5. package/lib/apis/index.d.ts +3 -2
  6. package/lib/apis/index.d.ts.map +1 -1
  7. package/lib/apis/index.js +2 -2
  8. package/lib/apis/index.js.map +1 -1
  9. package/lib/apis/syncDownload.d.ts +19 -4
  10. package/lib/apis/syncDownload.d.ts.map +1 -1
  11. package/lib/apis/syncDownload.js +28 -5
  12. package/lib/apis/syncDownload.js.map +1 -1
  13. package/lib/apis/syncUpload.d.ts +18 -4
  14. package/lib/apis/syncUpload.d.ts.map +1 -1
  15. package/lib/apis/syncUpload.js +38 -16
  16. package/lib/apis/syncUpload.js.map +1 -1
  17. package/lib/apis.d.ts +3 -0
  18. package/lib/apis.d.ts.map +1 -0
  19. package/lib/apis.js +2 -0
  20. package/lib/apis.js.map +1 -0
  21. package/lib/performance/markers.d.ts +13 -0
  22. package/lib/performance/markers.d.ts.map +1 -0
  23. package/lib/performance/markers.js +15 -0
  24. package/lib/performance/markers.js.map +1 -0
  25. package/lib/trpc/createAppRouter.d.ts +356 -300
  26. package/lib/trpc/createAppRouter.d.ts.map +1 -1
  27. package/lib/trpc/createCloudpackServer.d.ts +74 -46
  28. package/lib/trpc/createCloudpackServer.d.ts.map +1 -1
  29. package/lib/types/TaskMessage.d.ts +17 -17
  30. package/lib/types/TaskMessage.d.ts.map +1 -1
  31. package/lib/types/TaskMessage.js +1 -4
  32. package/lib/types/TaskMessage.js.map +1 -1
  33. package/lib/types/TaskMessageLocation.d.ts +2 -2
  34. package/lib/types/TaskResponse.d.ts +50 -50
  35. package/lib/types/TaskResult.d.ts +38 -38
  36. package/lib/utilities/ensureFieldsExist.d.ts +1 -1
  37. package/lib/utilities/ensureFieldsExist.d.ts.map +1 -1
  38. package/lib/utilities/ensureFieldsExist.js +1 -1
  39. package/lib/utilities/ensureFieldsExist.js.map +1 -1
  40. package/lib/utilities/getPackagesToSync.d.ts +12 -0
  41. package/lib/utilities/getPackagesToSync.d.ts.map +1 -0
  42. package/lib/utilities/getPackagesToSync.js +20 -0
  43. package/lib/utilities/getPackagesToSync.js.map +1 -0
  44. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"ensurePackageBundled.d.ts","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensurePackageBundled.d.ts","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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"}
@@ -3,23 +3,7 @@ import { publicProcedure, z } from '../trpc/common.js';
3
3
  import { notifyReload } from '../utilities/notifyReload.js';
4
4
  import { createBundleTask } from '../utilities/createBundleTask.js';
5
5
  import { createBundleRequestForPackage } from '../utilities/createBundleRequestForPackage.js';
6
- const ZodLocation = z.object({
7
- file: z.string(),
8
- line: z.number(),
9
- column: z.number(),
10
- });
11
- const ZodBundleMessage = z.object({
12
- pluginName: z.string().optional(),
13
- type: z.string().optional(),
14
- text: z.string(),
15
- location: ZodLocation.optional(),
16
- notes: z
17
- .array(z.object({
18
- text: z.string().optional(),
19
- location: ZodLocation.optional(),
20
- }))
21
- .optional(),
22
- });
6
+ import { ZodTaskMessage } from '../types/TaskMessage.js';
23
7
  const ZodEnsurePackageBundledInput = z.object({
24
8
  name: z.string(),
25
9
  version: z.string(),
@@ -47,8 +31,8 @@ const ZodEnsurePackageBundledOutputResult = z.object({
47
31
  exports: z.array(z.string()).optional(),
48
32
  }))
49
33
  .optional(),
50
- errors: z.array(ZodBundleMessage).optional(),
51
- warnings: z.array(ZodBundleMessage).optional(),
34
+ errors: z.array(ZodTaskMessage).optional(),
35
+ warnings: z.array(ZodTaskMessage).optional(),
52
36
  rawInput: z.record(z.unknown()).optional(),
53
37
  rawOutput: z.record(z.unknown()).optional(),
54
38
  isExternal: z.boolean(),
@@ -1 +1 @@
1
- {"version":3,"file":"ensurePackageBundled.js","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataBus } from '@ms-cloudpack/data-bus';\nimport { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { publicProcedure, z } from '../trpc/common.js';\nimport type { Session } from '../types/Session.js';\nimport type { TaskRunner } from '../utilities/TaskRunner.js';\nimport type { Watcher } from '@ms-cloudpack/file-watcher';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { createBundleTask } from '../utilities/createBundleTask.js';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport { createBundleRequestForPackage } from '../utilities/createBundleRequestForPackage.js';\n\nconst ZodLocation = z.object({\n file: z.string(),\n line: z.number(),\n column: z.number(),\n});\n\nconst ZodBundleMessage = z.object({\n pluginName: z.string().optional(),\n type: z.string().optional(),\n text: z.string(),\n location: ZodLocation.optional(),\n notes: z\n .array(\n z.object({\n text: z.string().optional(),\n location: ZodLocation.optional(),\n }),\n )\n .optional(),\n});\n\nconst ZodEnsurePackageBundledInput = z.object({\n name: z.string(),\n version: z.string(),\n outputPath: z.string().optional(),\n bundlerType: z.string().optional(),\n disableSourceMaps: z.boolean().optional(),\n enqueueDependencies: z.boolean().optional(),\n shouldRerun: z.boolean().optional(),\n shouldWatch: z.boolean().optional(),\n shouldForce: z.boolean().optional(),\n});\n\ntype ZodEnsurePackageBundledInput = z.infer<typeof ZodEnsurePackageBundledInput>;\n\nconst ZodEnsurePackageBundledOutputResult = z.object({\n name: z.string(),\n version: z.string(),\n bundlerName: z.string().optional(),\n inputPath: z.string().optional(),\n outputPath: z.string(),\n entries: z.record(z.string()).optional(),\n dependencies: z.array(z.string()).optional(),\n hash: z.string().optional(),\n outputFiles: z\n .array(\n z.object({\n outputPath: z.string(),\n entryPoint: z.string().optional(),\n exports: z.array(z.string()).optional(),\n }),\n )\n .optional(),\n errors: z.array(ZodBundleMessage).optional(),\n warnings: z.array(ZodBundleMessage).optional(),\n rawInput: z.record(z.unknown()).optional(),\n rawOutput: z.record(z.unknown()).optional(),\n isExternal: z.boolean(),\n});\n\nexport type ZodEnsurePackageBundledOutputResult = z.infer<typeof ZodEnsurePackageBundledOutputResult>;\n\nconst ZodEnsurePackageBundledOutput = z.object({\n result: ZodEnsurePackageBundledOutputResult,\n dependencies: z.promise(ZodEnsurePackageBundledOutputResult.array()),\n});\n\ntype ZodEnsurePackageBundledOutput = z.infer<typeof ZodEnsurePackageBundledOutput>;\n\ntype EnsurePackageBundledContext = {\n bus: DataBus;\n taskRunner: TaskRunner;\n session: Session;\n watcher: Watcher;\n packages: PackageDefinitionsCache;\n reporter: TaskReporter;\n};\n\n/**\n * Checks if the package is bundled or needs bundling, and returns the result. For internal packages,\n * we also notify the watcher to monitor for code changes.\n */\nexport async function ensurePackageBundled({\n input,\n ctx,\n}: {\n input: ZodEnsurePackageBundledInput;\n ctx: EnsurePackageBundledContext;\n}): Promise<ZodEnsurePackageBundledOutput> {\n const promises: Promise<ZodEnsurePackageBundledOutputResult>[] = [];\n\n const result = await ensurePackageBundledInternal({\n input,\n ctx,\n visited: new Set(),\n promises,\n });\n\n return {\n result,\n dependencies: Promise.all(promises),\n };\n}\n\nasync function ensurePackageBundledInternal({\n input,\n ctx,\n visited,\n promises,\n}: {\n input: ZodEnsurePackageBundledInput;\n ctx: EnsurePackageBundledContext;\n visited: Set<`${string}@${string}`>;\n promises: Promise<ZodEnsurePackageBundledOutputResult>[];\n}): Promise<ZodEnsurePackageBundledOutputResult> {\n const { name, version, shouldWatch, bundlerType, disableSourceMaps, outputPath, shouldRerun, shouldForce } = input;\n const { taskRunner, session, watcher, packages, reporter } = ctx;\n const { resolveMap, config } = session;\n const { features } = config;\n const enqueueDependencies = input.enqueueDependencies ?? features?.enqueueDependencies;\n\n visited.add(`${name}@${version}`);\n\n // First, we find the resolve map entry. This helps us resolve the physical location of the package\n // according to the resolveMap used in the session. (This can change based on linking.)\n const packageEntry = findResolveMapEntry({ packageName: name, version, resolveMap });\n\n if (!packageEntry) {\n throw new Error(`Could not find package ${name} in the resolve map.`);\n }\n\n const bundleRequest = await createBundleRequestForPackage(\n {\n packageEntry,\n bundlerType,\n disableSourceMaps,\n outputPath,\n enableFindImports: enqueueDependencies,\n },\n { config, packages },\n );\n\n const task = createBundleTask(bundleRequest, { force: shouldForce }, reporter);\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n const { isExternal } = bundleRequest;\n\n // For internal packages, make sure we're watching the source to re-trigger bundling.\n if (shouldWatch && !isExternal) {\n const onPackageChange = async () => {\n const watchedResult = await taskRunner.add<BundleRequest>(task, { rerun: true });\n\n // If the result was successful, notify potential clients for reload.\n if (!watchedResult.result?.errors?.length) {\n notifyReload(ctx);\n }\n };\n watcher.watch(packageEntry, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result?.dependencies) {\n for (const dependencyName of result.dependencies) {\n // If we've already visited this package, skip it.\n if (visited.has(`${dependencyName}@${packageEntry.dependencies[dependencyName]}`)) {\n continue;\n }\n\n promises.push(\n ensurePackageBundledInternal({\n input: {\n name: dependencyName,\n version: packageEntry.dependencies[dependencyName],\n shouldWatch,\n enqueueDependencies,\n },\n ctx,\n visited,\n promises,\n }),\n );\n }\n }\n\n return {\n version,\n name,\n isExternal,\n outputPath: result.outputPath ?? bundleRequest.outputPath,\n ...result,\n };\n}\n\n// Attach a trpc procedure to the function.\nensurePackageBundled.procedure = publicProcedure\n .input(ZodEnsurePackageBundledInput)\n .output(ZodEnsurePackageBundledOutput)\n .mutation(ensurePackageBundled);\n"]}
1
+ {"version":3,"file":"ensurePackageBundled.js","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataBus } from '@ms-cloudpack/data-bus';\nimport { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { publicProcedure, z } from '../trpc/common.js';\nimport type { Session } from '../types/Session.js';\nimport type { TaskRunner } from '../utilities/TaskRunner.js';\nimport type { Watcher } from '@ms-cloudpack/file-watcher';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { createBundleTask } from '../utilities/createBundleTask.js';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport { createBundleRequestForPackage } from '../utilities/createBundleRequestForPackage.js';\nimport { ZodTaskMessage } from '../types/TaskMessage.js';\n\nconst ZodEnsurePackageBundledInput = z.object({\n name: z.string(),\n version: z.string(),\n outputPath: z.string().optional(),\n bundlerType: z.string().optional(),\n disableSourceMaps: z.boolean().optional(),\n enqueueDependencies: z.boolean().optional(),\n shouldRerun: z.boolean().optional(),\n shouldWatch: z.boolean().optional(),\n shouldForce: z.boolean().optional(),\n});\n\nexport type EnsurePackageBundledInput = z.infer<typeof ZodEnsurePackageBundledInput>;\n\nconst ZodEnsurePackageBundledOutputResult = z.object({\n name: z.string(),\n version: z.string(),\n bundlerName: z.string().optional(),\n inputPath: z.string().optional(),\n outputPath: z.string(),\n entries: z.record(z.string()).optional(),\n dependencies: z.array(z.string()).optional(),\n hash: z.string().optional(),\n outputFiles: z\n .array(\n z.object({\n outputPath: z.string(),\n entryPoint: z.string().optional(),\n exports: z.array(z.string()).optional(),\n }),\n )\n .optional(),\n errors: z.array(ZodTaskMessage).optional(),\n warnings: z.array(ZodTaskMessage).optional(),\n rawInput: z.record(z.unknown()).optional(),\n rawOutput: z.record(z.unknown()).optional(),\n isExternal: z.boolean(),\n});\n\nexport type EnsurePackageBundledOutputResult = z.infer<typeof ZodEnsurePackageBundledOutputResult>;\n\nconst ZodEnsurePackageBundledOutput = z.object({\n result: ZodEnsurePackageBundledOutputResult,\n dependencies: z.promise(ZodEnsurePackageBundledOutputResult.array()),\n});\n\nexport type EnsurePackageBundledOutput = z.infer<typeof ZodEnsurePackageBundledOutput>;\n\nexport type EnsurePackageBundledContext = {\n bus: DataBus;\n taskRunner: TaskRunner;\n session: Session;\n watcher: Watcher;\n packages: PackageDefinitionsCache;\n reporter: TaskReporter;\n};\n\n/**\n * Checks if the package is bundled or needs bundling, and returns the result. For internal packages,\n * we also notify the watcher to monitor for code changes.\n */\nexport async function ensurePackageBundled({\n input,\n ctx,\n}: {\n input: EnsurePackageBundledInput;\n ctx: EnsurePackageBundledContext;\n}): Promise<EnsurePackageBundledOutput> {\n const promises: Promise<EnsurePackageBundledOutputResult>[] = [];\n\n const result = await ensurePackageBundledInternal({\n input,\n ctx,\n visited: new Set(),\n promises,\n });\n\n return {\n result,\n dependencies: Promise.all(promises),\n };\n}\n\nasync function ensurePackageBundledInternal({\n input,\n ctx,\n visited,\n promises,\n}: {\n input: EnsurePackageBundledInput;\n ctx: EnsurePackageBundledContext;\n visited: Set<`${string}@${string}`>;\n promises: Promise<EnsurePackageBundledOutputResult>[];\n}): Promise<EnsurePackageBundledOutputResult> {\n const { name, version, shouldWatch, bundlerType, disableSourceMaps, outputPath, shouldRerun, shouldForce } = input;\n const { taskRunner, session, watcher, packages, reporter } = ctx;\n const { resolveMap, config } = session;\n const { features } = config;\n const enqueueDependencies = input.enqueueDependencies ?? features?.enqueueDependencies;\n\n visited.add(`${name}@${version}`);\n\n // First, we find the resolve map entry. This helps us resolve the physical location of the package\n // according to the resolveMap used in the session. (This can change based on linking.)\n const packageEntry = findResolveMapEntry({ packageName: name, version, resolveMap });\n\n if (!packageEntry) {\n throw new Error(`Could not find package ${name} in the resolve map.`);\n }\n\n const bundleRequest = await createBundleRequestForPackage(\n {\n packageEntry,\n bundlerType,\n disableSourceMaps,\n outputPath,\n enableFindImports: enqueueDependencies,\n },\n { config, packages },\n );\n\n const task = createBundleTask(bundleRequest, { force: shouldForce }, reporter);\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n const { isExternal } = bundleRequest;\n\n // For internal packages, make sure we're watching the source to re-trigger bundling.\n if (shouldWatch && !isExternal) {\n const onPackageChange = async () => {\n const watchedResult = await taskRunner.add<BundleRequest>(task, { rerun: true });\n\n // If the result was successful, notify potential clients for reload.\n if (!watchedResult.result?.errors?.length) {\n notifyReload(ctx);\n }\n };\n watcher.watch(packageEntry, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result?.dependencies) {\n for (const dependencyName of result.dependencies) {\n // If we've already visited this package, skip it.\n if (visited.has(`${dependencyName}@${packageEntry.dependencies[dependencyName]}`)) {\n continue;\n }\n\n promises.push(\n ensurePackageBundledInternal({\n input: {\n name: dependencyName,\n version: packageEntry.dependencies[dependencyName],\n shouldWatch,\n enqueueDependencies,\n },\n ctx,\n visited,\n promises,\n }),\n );\n }\n }\n\n return {\n version,\n name,\n isExternal,\n outputPath: result.outputPath ?? bundleRequest.outputPath,\n ...result,\n };\n}\n\n// Attach a trpc procedure to the function.\nensurePackageBundled.procedure = publicProcedure\n .input(ZodEnsurePackageBundledInput)\n .output(ZodEnsurePackageBundledOutput)\n .mutation(ensurePackageBundled);\n"]}
@@ -1,4 +1,6 @@
1
+ export type { EnsurePackageBundledContext, EnsurePackageBundledInput, EnsurePackageBundledOutput, EnsurePackageBundledOutputResult, } from './ensurePackageBundled.js';
1
2
  export { addPackageOverride } from './addPackageOverride.js';
3
+ export { ensurePackageBundled } from './ensurePackageBundled.js';
2
4
  export { getData } from './getData.js';
3
5
  export { getSessionId } from './getSessionId.js';
4
6
  export { onDataChanged } from './onDataChanged.js';
@@ -6,8 +8,7 @@ export { openCodeEditor } from './openCodeEditor.js';
6
8
  export { openConfigEditor } from './openConfigEditor.js';
7
9
  export { openFilePath } from './openFilePath.js';
8
10
  export { reportMetric } from './reportMetric.js';
9
- export { validatePackageOverride } from './validatePackageOverride.js';
10
11
  export { syncDownload } from './syncDownload.js';
11
12
  export { syncUpload } from './syncUpload.js';
12
- export { ensurePackageBundled } from './ensurePackageBundled.js';
13
+ export { validatePackageOverride } from './validatePackageOverride.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
package/lib/apis/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { addPackageOverride } from './addPackageOverride.js';
2
+ export { ensurePackageBundled } from './ensurePackageBundled.js';
2
3
  export { getData } from './getData.js';
3
4
  export { getSessionId } from './getSessionId.js';
4
5
  export { onDataChanged } from './onDataChanged.js';
@@ -6,8 +7,7 @@ export { openCodeEditor } from './openCodeEditor.js';
6
7
  export { openConfigEditor } from './openConfigEditor.js';
7
8
  export { openFilePath } from './openFilePath.js';
8
9
  export { reportMetric } from './reportMetric.js';
9
- export { validatePackageOverride } from './validatePackageOverride.js';
10
10
  export { syncDownload } from './syncDownload.js';
11
11
  export { syncUpload } from './syncUpload.js';
12
- export { ensurePackageBundled } from './ensurePackageBundled.js';
12
+ export { validatePackageOverride } from './validatePackageOverride.js';
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC","sourcesContent":["export { addPackageOverride } from './addPackageOverride.js';\nexport { getData } from './getData.js';\nexport { getSessionId } from './getSessionId.js';\nexport { onDataChanged } from './onDataChanged.js';\nexport { openCodeEditor } from './openCodeEditor.js';\nexport { openConfigEditor } from './openConfigEditor.js';\nexport { openFilePath } from './openFilePath.js';\nexport { reportMetric } from './reportMetric.js';\nexport { validatePackageOverride } from './validatePackageOverride.js';\nexport { syncDownload } from './syncDownload.js';\nexport { syncUpload } from './syncUpload.js';\nexport { ensurePackageBundled } from './ensurePackageBundled.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apis/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["export type {\n EnsurePackageBundledContext,\n EnsurePackageBundledInput,\n EnsurePackageBundledOutput,\n EnsurePackageBundledOutputResult,\n} from './ensurePackageBundled.js';\n\nexport { addPackageOverride } from './addPackageOverride.js';\nexport { ensurePackageBundled } from './ensurePackageBundled.js';\nexport { getData } from './getData.js';\nexport { getSessionId } from './getSessionId.js';\nexport { onDataChanged } from './onDataChanged.js';\nexport { openCodeEditor } from './openCodeEditor.js';\nexport { openConfigEditor } from './openConfigEditor.js';\nexport { openFilePath } from './openFilePath.js';\nexport { reportMetric } from './reportMetric.js';\nexport { syncDownload } from './syncDownload.js';\nexport { syncUpload } from './syncUpload.js';\nexport { validatePackageOverride } from './validatePackageOverride.js';\n"]}
@@ -1,7 +1,17 @@
1
+ import { z } from 'zod';
1
2
  import type { Session } from '../types/Session.js';
2
3
  import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
3
4
  import type { TaskReporter } from '@ms-cloudpack/task-reporter';
4
- export declare function syncDownload({ ctx: { reporter, session, packages }, }: {
5
+ declare const ZodSyncDownloadInput: z.ZodObject<{
6
+ isInteractiveLogin: z.ZodBoolean;
7
+ }, "strip", z.ZodTypeAny, {
8
+ isInteractiveLogin: boolean;
9
+ }, {
10
+ isInteractiveLogin: boolean;
11
+ }>;
12
+ type SyncDownloadInput = z.infer<typeof ZodSyncDownloadInput>;
13
+ export declare function syncDownload(options: {
14
+ input: SyncDownloadInput;
5
15
  ctx: {
6
16
  reporter: TaskReporter;
7
17
  session: Session;
@@ -31,6 +41,7 @@ export declare namespace syncDownload {
31
41
  errorShape: import("@trpc/server").DefaultErrorShape;
32
42
  transformer: import("@trpc/server").DefaultDataTransformer;
33
43
  }>;
44
+ _meta: object;
34
45
  _ctx_out: {
35
46
  session: Session;
36
47
  bus: import("@ms-cloudpack/data-bus").DataBus;
@@ -47,11 +58,15 @@ export declare namespace syncDownload {
47
58
  taskRunner: import("../index.js").TaskRunner;
48
59
  dispose(): Promise<void>;
49
60
  };
50
- _input_in: typeof import("@trpc/server").unsetMarker;
51
- _input_out: typeof import("@trpc/server").unsetMarker;
61
+ _input_in: {
62
+ isInteractiveLogin: boolean;
63
+ };
64
+ _input_out: {
65
+ isInteractiveLogin: boolean;
66
+ };
52
67
  _output_in: typeof import("@trpc/server").unsetMarker;
53
68
  _output_out: typeof import("@trpc/server").unsetMarker;
54
- _meta: object;
55
69
  }, void>;
56
70
  }
71
+ export {};
57
72
  //# sourceMappingURL=syncDownload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncDownload.d.ts","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,wBAAsB,YAAY,CAAC,EACjC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GACrC,EAAE;IACD,GAAG,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,uBAAuB,CAAA;KAAE,CAAC;CACtF,iBAOA;yBAXqB,YAAY"}
1
+ {"version":3,"file":"syncDownload.d.ts","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAMhE,QAAA,MAAM,oBAAoB;;;;;;EAExB,CAAC;AAEH,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE9D,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,iBAAiB,CAAC;IACzB,GAAG,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,uBAAuB,CAAA;KAAE,CAAC;CACtF,iBA8BA;yBAjCqB,YAAY"}
@@ -1,12 +1,35 @@
1
+ import { z } from 'zod';
1
2
  import { publicProcedure } from '../trpc/common.js';
2
- import { getBundleDetails } from '../utilities/getBundleDetails.js';
3
3
  import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';
4
- export async function syncDownload({ ctx: { reporter, session, packages }, }) {
4
+ import { getPackagesToSync } from '../utilities/getPackagesToSync.js';
5
+ import { performance } from 'perf_hooks';
6
+ import { PerfMarkerSyncStart, PerfMeasurementSyncUpload } from '../performance/markers.js';
7
+ const ZodSyncDownloadInput = z.object({
8
+ isInteractiveLogin: z.boolean(),
9
+ });
10
+ export async function syncDownload(options) {
11
+ const { input, ctx } = options;
12
+ const { isInteractiveLogin } = input;
13
+ const { reporter, session, packages } = ctx;
5
14
  const { resolveMap } = session;
15
+ performance.mark(PerfMarkerSyncStart);
6
16
  const config = ensureRemoteCacheEnabled(session.config);
7
- const { syncToLocal } = await import('@ms-cloudpack/remote-cache');
8
- await syncToLocal({ resolveMap, config, getBundleDetails, packages, reporter });
17
+ const [client, packagesToSync] = await Promise.all([
18
+ import('@ms-cloudpack/remote-cache').then(({ createRemoteCacheClient }) => createRemoteCacheClient({
19
+ reporter,
20
+ connectionStringOptions: {
21
+ container: config.container,
22
+ storageAccount: config.storageAccount,
23
+ permissions: { read: true, write: false },
24
+ isInteractiveLogin,
25
+ },
26
+ })),
27
+ getPackagesToSync({ packages, resolveMap }),
28
+ ]);
29
+ const downloads = packagesToSync.map((pkg) => client.downloadFolder(pkg));
30
+ await Promise.all(downloads);
31
+ performance.measure(PerfMeasurementSyncUpload, PerfMarkerSyncStart);
9
32
  }
10
33
  // Attach a trpc procedure to the function.
11
- syncDownload.procedure = publicProcedure.mutation(syncDownload);
34
+ syncDownload.procedure = publicProcedure.input(ZodSyncDownloadInput).mutation(syncDownload);
12
35
  //# sourceMappingURL=syncDownload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncDownload.js","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAKpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAGrC;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAEnE,MAAM,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { getBundleDetails } from '../utilities/getBundleDetails.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';\n\nexport async function syncDownload({\n ctx: { reporter, session, packages },\n}: {\n ctx: { reporter: TaskReporter; session: Session; packages: PackageDefinitionsCache };\n}) {\n const { resolveMap } = session;\n const config = ensureRemoteCacheEnabled(session.config);\n\n const { syncToLocal } = await import('@ms-cloudpack/remote-cache');\n\n await syncToLocal({ resolveMap, config, getBundleDetails, packages, reporter });\n}\n\n// Attach a trpc procedure to the function.\nsyncDownload.procedure = publicProcedure.mutation(syncDownload);\n"]}
1
+ {"version":3,"file":"syncDownload.js","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3F,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;CAChC,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAGlC;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE,CACxE,uBAAuB,CAAC;YACtB,QAAQ;YACR,uBAAuB,EAAE;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;gBACzC,kBAAkB;aACnB;SACF,CAAC,CACH;QACD,iBAAiB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1E,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7B,WAAW,CAAC,OAAO,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;AACtE,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\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 { getPackagesToSync } from '../utilities/getPackagesToSync.js';\nimport { performance } from 'perf_hooks';\nimport { PerfMarkerSyncStart, PerfMeasurementSyncUpload } from '../performance/markers.js';\n\nconst ZodSyncDownloadInput = z.object({\n isInteractiveLogin: z.boolean(),\n});\n\ntype SyncDownloadInput = z.infer<typeof ZodSyncDownloadInput>;\n\nexport async function syncDownload(options: {\n input: SyncDownloadInput;\n ctx: { reporter: TaskReporter; session: Session; packages: PackageDefinitionsCache };\n}) {\n const { input, ctx } = options;\n const { isInteractiveLogin } = input;\n const { reporter, session, packages } = ctx;\n const { resolveMap } = session;\n\n performance.mark(PerfMarkerSyncStart);\n\n const config = ensureRemoteCacheEnabled(session.config);\n\n const [client, packagesToSync] = await Promise.all([\n import('@ms-cloudpack/remote-cache').then(({ createRemoteCacheClient }) =>\n createRemoteCacheClient({\n reporter,\n connectionStringOptions: {\n container: config.container,\n storageAccount: config.storageAccount,\n permissions: { read: true, write: false },\n isInteractiveLogin,\n },\n }),\n ),\n getPackagesToSync({ packages, resolveMap }),\n ]);\n\n const downloads = packagesToSync.map((pkg) => client.downloadFolder(pkg));\n\n await Promise.all(downloads);\n\n performance.measure(PerfMeasurementSyncUpload, PerfMarkerSyncStart);\n}\n\n// Attach a trpc procedure to the function.\nsyncDownload.procedure = publicProcedure.input(ZodSyncDownloadInput).mutation(syncDownload);\n"]}
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  import type { Session } from '../types/Session.js';
2
3
  import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
3
4
  import type { TaskReporter } from '@ms-cloudpack/task-reporter';
@@ -12,7 +13,16 @@ interface SyncContext {
12
13
  taskRunner: TaskRunner;
13
14
  watcher: Watcher;
14
15
  }
15
- export declare function syncUpload({ ctx }: {
16
+ declare const ZodSyncUploadInput: z.ZodObject<{
17
+ isInteractiveLogin: z.ZodBoolean;
18
+ }, "strip", z.ZodTypeAny, {
19
+ isInteractiveLogin: boolean;
20
+ }, {
21
+ isInteractiveLogin: boolean;
22
+ }>;
23
+ type SyncUploadInput = z.infer<typeof ZodSyncUploadInput>;
24
+ export declare function syncUpload(options: {
25
+ input: SyncUploadInput;
16
26
  ctx: SyncContext;
17
27
  }): Promise<void>;
18
28
  export declare namespace syncUpload {
@@ -38,6 +48,7 @@ export declare namespace syncUpload {
38
48
  errorShape: import("@trpc/server").DefaultErrorShape;
39
49
  transformer: import("@trpc/server").DefaultDataTransformer;
40
50
  }>;
51
+ _meta: object;
41
52
  _ctx_out: {
42
53
  session: Session;
43
54
  bus: DataBus;
@@ -54,11 +65,14 @@ export declare namespace syncUpload {
54
65
  taskRunner: TaskRunner;
55
66
  dispose(): Promise<void>;
56
67
  };
57
- _input_in: typeof import("@trpc/server").unsetMarker;
58
- _input_out: typeof import("@trpc/server").unsetMarker;
68
+ _input_in: {
69
+ isInteractiveLogin: boolean;
70
+ };
71
+ _input_out: {
72
+ isInteractiveLogin: boolean;
73
+ };
59
74
  _output_in: typeof import("@trpc/server").unsetMarker;
60
75
  _output_out: typeof import("@trpc/server").unsetMarker;
61
- _meta: object;
62
76
  }, void>;
63
77
  }
64
78
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAK1D,UAAU,WAAW;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAUD,wBAAsB,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,WAAW,CAAA;CAAE,iBA6B7D;yBA7BqB,UAAU"}
1
+ {"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAM1D,UAAU,WAAW;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAUD,QAAA,MAAM,kBAAkB;;;;;;EAEtB,CAAC;AAEH,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE1D,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,iBAiDrF;yBAjDqB,UAAU"}
@@ -1,9 +1,11 @@
1
+ import { z } from 'zod';
1
2
  import { publicProcedure } from '../trpc/common.js';
2
3
  import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';
3
4
  import { ensurePackageBundled } from './ensurePackageBundled.js';
4
5
  import { delimiter } from 'path';
5
- import { syncToRemote } from '@ms-cloudpack/remote-cache';
6
6
  import { ensureFieldsExist } from '../utilities/ensureFieldsExist.js';
7
+ import { performance } from 'perf_hooks';
8
+ import { PerfMarkerSyncStart, PerfMeasurementSyncDownload } from '../performance/markers.js';
7
9
  function getFolderName(path) {
8
10
  const folderName = path.split(delimiter).pop();
9
11
  if (!folderName) {
@@ -11,31 +13,51 @@ function getFolderName(path) {
11
13
  }
12
14
  return folderName;
13
15
  }
14
- export async function syncUpload({ ctx }) {
16
+ const ZodSyncUploadInput = z.object({
17
+ isInteractiveLogin: z.boolean(),
18
+ });
19
+ export async function syncUpload(options) {
20
+ const { input, ctx } = options;
15
21
  const { session, reporter } = ctx;
16
22
  const { appPath } = session;
23
+ const { isInteractiveLogin } = input;
24
+ performance.mark(PerfMarkerSyncStart);
17
25
  const config = ensureRemoteCacheEnabled(session.config);
18
26
  const packageDefinition = await ctx.packages.get(appPath);
19
- const { name, version } = ensureFieldsExist(packageDefinition, 'name', 'version');
20
- const { dependencies, result } = await ensurePackageBundled({
21
- input: {
22
- name,
23
- version,
24
- enqueueDependencies: true,
25
- },
26
- ctx,
27
- });
27
+ const { name, version } = ensureFieldsExist(packageDefinition, ['name', 'version']);
28
+ const [client, { dependencies, result }] = await Promise.all([
29
+ import('@ms-cloudpack/remote-cache').then(({ createRemoteCacheClient }) => {
30
+ return createRemoteCacheClient({
31
+ reporter,
32
+ connectionStringOptions: {
33
+ container: config.container,
34
+ storageAccount: config.storageAccount,
35
+ permissions: { read: false, write: true },
36
+ isInteractiveLogin,
37
+ },
38
+ });
39
+ }),
40
+ ensurePackageBundled({
41
+ input: {
42
+ name,
43
+ version,
44
+ enqueueDependencies: true,
45
+ },
46
+ ctx,
47
+ }),
48
+ ]);
28
49
  const bundledPackages = [result, ...(await dependencies)];
29
50
  const packages = bundledPackages
30
51
  .filter((p) => p.isExternal)
31
52
  .map((p) => ({
32
- path: p.outputPath,
33
53
  folderName: getFolderName(p.outputPath),
34
- packageName: p.name,
35
- version: p.version,
54
+ friendlyName: `${p.name}@${p.version}`,
55
+ path: p.outputPath,
36
56
  }));
37
- await syncToRemote({ config, packages, reporter });
57
+ const downloads = packages.map((pkg) => client.uploadFolder(pkg));
58
+ await Promise.all(downloads);
59
+ performance.measure(PerfMeasurementSyncDownload, PerfMarkerSyncStart);
38
60
  }
39
61
  // Attach a trpc procedure to the function.
40
- syncUpload.procedure = publicProcedure.mutation(syncUpload);
62
+ syncUpload.procedure = publicProcedure.input(ZodSyncUploadInput).mutation(syncUpload);
41
63
  //# sourceMappingURL=syncUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncUpload.js","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAWtE,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;KACjE;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,GAAG,EAAwB;IAC5D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAElF,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC;QAC1D,KAAK,EAAE;YACL,IAAI;YACJ,OAAO;YACP,mBAAmB,EAAE,IAAI;SAC1B;QACD,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,eAAe;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,UAAU;QAClB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;QACvC,WAAW,EAAE,CAAC,CAAC,IAAI;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;IAEN,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,2CAA2C;AAC3C,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { 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 { delimiter } from 'path';\nimport { syncToRemote } from '@ms-cloudpack/remote-cache';\nimport { ensureFieldsExist } from '../utilities/ensureFieldsExist.js';\n\ninterface SyncContext {\n bus: DataBus;\n reporter: TaskReporter;\n session: Session;\n packages: PackageDefinitionsCache;\n taskRunner: TaskRunner;\n watcher: Watcher;\n}\n\nfunction getFolderName(path: string) {\n const folderName = path.split(delimiter).pop();\n if (!folderName) {\n throw new Error(`Could not get folder name from path: ${path}`);\n }\n return folderName;\n}\n\nexport async function syncUpload({ ctx }: { ctx: SyncContext }) {\n const { session, reporter } = ctx;\n const { appPath } = session;\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 { dependencies, result } = await ensurePackageBundled({\n input: {\n name,\n version,\n enqueueDependencies: true,\n },\n ctx,\n });\n\n const bundledPackages = [result, ...(await dependencies)];\n const packages = bundledPackages\n .filter((p) => p.isExternal)\n .map((p) => ({\n path: p.outputPath,\n folderName: getFolderName(p.outputPath),\n packageName: p.name,\n version: p.version,\n }));\n\n await syncToRemote({ config, packages, reporter });\n}\n\n// Attach a trpc procedure to the function.\nsyncUpload.procedure = publicProcedure.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';\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 { delimiter } from 'path';\nimport { ensureFieldsExist } from '../utilities/ensureFieldsExist.js';\nimport { performance } from 'perf_hooks';\nimport { PerfMarkerSyncStart, PerfMeasurementSyncDownload } from '../performance/markers.js';\n\ninterface SyncContext {\n bus: DataBus;\n reporter: TaskReporter;\n session: Session;\n packages: PackageDefinitionsCache;\n taskRunner: TaskRunner;\n watcher: Watcher;\n}\n\nfunction getFolderName(path: string) {\n const folderName = path.split(delimiter).pop();\n if (!folderName) {\n throw new Error(`Could not get folder name from path: ${path}`);\n }\n return folderName;\n}\n\nconst ZodSyncUploadInput = z.object({\n isInteractiveLogin: z.boolean(),\n});\n\ntype SyncUploadInput = z.infer<typeof ZodSyncUploadInput>;\n\nexport async function syncUpload(options: { input: SyncUploadInput; ctx: SyncContext }) {\n const { input, ctx } = options;\n const { session, reporter } = ctx;\n const { appPath } = session;\n const { isInteractiveLogin } = input;\n\n performance.mark(PerfMarkerSyncStart);\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 },\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: getFolderName(p.outputPath),\n friendlyName: `${p.name}@${p.version}`,\n path: p.outputPath,\n }));\n\n const downloads = packages.map((pkg) => client.uploadFolder(pkg));\n\n await Promise.all(downloads);\n\n performance.measure(PerfMeasurementSyncDownload, PerfMarkerSyncStart);\n}\n\n// Attach a trpc procedure to the function.\nsyncUpload.procedure = publicProcedure.input(ZodSyncUploadInput).mutation(syncUpload);\n"]}
package/lib/apis.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export type { EnsurePackageBundledContext, EnsurePackageBundledInput, EnsurePackageBundledOutput, EnsurePackageBundledOutputResult, } from './apis/index.js';
2
+ export { addPackageOverride, ensurePackageBundled, getData, getSessionId, onDataChanged, openCodeEditor, openConfigEditor, openFilePath, reportMetric, syncDownload, syncUpload, validatePackageOverride, } from './apis/index.js';
3
+ //# sourceMappingURL=apis.d.ts.map
@@ -0,0 +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"}
package/lib/apis.js ADDED
@@ -0,0 +1,2 @@
1
+ export { addPackageOverride, ensurePackageBundled, getData, getSessionId, onDataChanged, openCodeEditor, openConfigEditor, openFilePath, reportMetric, syncDownload, syncUpload, validatePackageOverride, } from './apis/index.js';
2
+ //# sourceMappingURL=apis.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Marks the start of the sync download/upload operations.
3
+ */
4
+ export declare const PerfMarkerSyncStart = "SYNC_START";
5
+ /**
6
+ * Measures the time it takes to complete the download sync operation.
7
+ */
8
+ export declare const PerfMeasurementSyncDownload = "SYNC_DOWNLOAD";
9
+ /**
10
+ * Measures the time it takes to complete the upload sync operation.
11
+ */
12
+ export declare const PerfMeasurementSyncUpload = "SYNC_UPLOAD";
13
+ //# sourceMappingURL=markers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/performance/markers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAIhD;;GAEG;AACH,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,yBAAyB,gBAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ // Markers
2
+ /**
3
+ * Marks the start of the sync download/upload operations.
4
+ */
5
+ export const PerfMarkerSyncStart = 'SYNC_START';
6
+ // Measurements
7
+ /**
8
+ * Measures the time it takes to complete the download sync operation.
9
+ */
10
+ export const PerfMeasurementSyncDownload = 'SYNC_DOWNLOAD';
11
+ /**
12
+ * Measures the time it takes to complete the upload sync operation.
13
+ */
14
+ export const PerfMeasurementSyncUpload = 'SYNC_UPLOAD';
15
+ //# sourceMappingURL=markers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/performance/markers.ts"],"names":[],"mappings":"AAAA,UAAU;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEhD,eAAe;AAEf;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC","sourcesContent":["// Markers\n\n/**\n * Marks the start of the sync download/upload operations.\n */\nexport const PerfMarkerSyncStart = 'SYNC_START';\n\n// Measurements\n\n/**\n * Measures the time it takes to complete the download sync operation.\n */\nexport const PerfMeasurementSyncDownload = 'SYNC_DOWNLOAD';\n\n/**\n * Measures the time it takes to complete the upload sync operation.\n */\nexport const PerfMeasurementSyncUpload = 'SYNC_UPLOAD';\n"]}