@ms-cloudpack/api-server 0.64.4 → 0.64.6
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.
- package/lib/apis/syncUpload.d.ts.map +1 -1
- package/lib/apis/syncUpload.js +1 -2
- package/lib/apis/syncUpload.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utilities/serializeContext.d.ts +10 -1
- package/lib/utilities/serializeContext.d.ts.map +1 -1
- package/lib/utilities/serializeContext.js +21 -4
- package/lib/utilities/serializeContext.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAUnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAUnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAW9D;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,EAC7B,GAAG,EAAE,IAAI,CAAC,2BAA2B,EAAE,KAAK,GAAG,SAAS,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,CAkGrB"}
|
package/lib/apis/syncUpload.js
CHANGED
|
@@ -13,7 +13,6 @@ import { getRemoteCachePackageId } from '../utilities/getRemoteCachePackageId.js
|
|
|
13
13
|
import { createImportMap } from '@ms-cloudpack/import-map';
|
|
14
14
|
import { serializeContext } from '../utilities/serializeContext.js';
|
|
15
15
|
import { writeJson } from '@ms-cloudpack/json-utilities';
|
|
16
|
-
const cloudpackContextFileName = 'cloudpack-context.json';
|
|
17
16
|
const templateAppServerUrl = 'template://app-server-url';
|
|
18
17
|
const templateBundleServerUrl = 'template://bundle-server-url';
|
|
19
18
|
// TODO: don't hardcode this
|
|
@@ -66,7 +65,7 @@ export async function syncUpload(input, ctx) {
|
|
|
66
65
|
session.urls.bundleServer = templateBundleServerUrl;
|
|
67
66
|
}
|
|
68
67
|
session.importMap ??= await createImportMap({ targetEnvironment: 'browser' }, ctx);
|
|
69
|
-
await serializeContext(
|
|
68
|
+
await serializeContext(destinationFolder, ctx);
|
|
70
69
|
await writeJson(path.join(destinationFolder, 'package.json'), packageJson);
|
|
71
70
|
const { createAppRegistryClient } = await import('@ms-cloudpack/remote-cache');
|
|
72
71
|
const appRegistryClient = await createAppRegistryClient({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncUpload.js","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"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","sourcesContent":["import { ensurePackageBundled, type EnsurePackageBundledContext } from './ensurePackageBundled.js';\nimport { PerfMeasurementSyncUpload } from '../performance/markers.js';\nimport { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';\nimport { createRemoteCacheClientOperationOptions } from '../utilities/createRemoteCacheClientOperationOptions.js';\nimport { createUploadTask } from '../utilities/createUploadTask.js';\nimport { isStaticRoute } from '@ms-cloudpack/common-types';\nimport path from 'path';\nimport { getBundleLocation } from '../utilities/getBundleLocation.js';\nimport { cp } from 'fs/promises';\nimport objectHash from 'object-hash';\nimport type { SyncResult } from '../types/SyncResult.js';\nimport { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport { getRemoteCachePackageId } from '../utilities/getRemoteCachePackageId.js';\nimport type { LoginMethod } from '@ms-cloudpack/remote-cache';\nimport { createImportMap } from '@ms-cloudpack/import-map';\nimport { serializeContext } from '../utilities/serializeContext.js';\nimport { writeJson } from '@ms-cloudpack/json-utilities';\n\nconst cloudpackContextFileName = 'cloudpack-context.json';\nconst templateAppServerUrl = 'template://app-server-url';\nconst templateBundleServerUrl = 'template://bundle-server-url';\n\n// TODO: don't hardcode this\nconst targetEnvironment = 'browser';\n\n/**\n * Bundle the current app and its dependencies, and upload them to the remote cache.\n */\nexport async function syncUpload(\n input: { login: LoginMethod },\n ctx: Omit<EnsurePackageBundledContext, 'bus' | 'watcher'>,\n): Promise<SyncResult> {\n const { login } = input;\n const { session, telemetryClient, taskRunner, remoteCacheClient: client } = ctx;\n const { config } = session;\n const { appPath } = config;\n const { remoteCache: remoteCacheConfig } = config;\n const syncInternalPackages = config?.features?.syncInternalPackages ?? false;\n\n ensureRemoteCacheEnabled(config);\n\n if (!client) {\n throw new Error('Remote cache client is required to sync upload');\n }\n\n if (!remoteCacheConfig) {\n throw new Error('Remote cache configuration is required to sync upload');\n }\n\n // Glob pattern for the files to upload.\n const globMatches = ['**/*', '!**/*-input.json', '!**/*-output.json'];\n\n return await telemetryClient.tracer.startActiveSpan(PerfMeasurementSyncUpload, async (span) => {\n const packageJson = await ctx.packages.get(appPath);\n const { name, version, description } = packageJson;\n\n const { dependencies, result: bundleResult } = await ensurePackageBundled(\n { name, version, enqueueDependencies: true },\n ctx,\n );\n\n const bundledPackages = [bundleResult, ...(await dependencies)];\n const packagesToUpload = await Promise.all(\n bundledPackages\n .filter((p) => p.inputPath && (p.isExternal || syncInternalPackages))\n .map((p) =>\n createRemoteCacheClientOperationOptions(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- verified above that it's set\n { packagePath: p.inputPath!, targetEnvironment },\n ctx,\n ),\n ),\n );\n\n if (config.features?.enableCloudHosted) {\n const appBundleLocation = await getBundleLocation({ packagePath: appPath, targetEnvironment }, ctx);\n const appOutputPath = appBundleLocation.path;\n const destinationFolder = path.join(appOutputPath, '__cloudpack');\n const routesPath = path.join(destinationFolder, 'routes');\n for (const route of config.routes ?? []) {\n if (isStaticRoute(route)) {\n const staticPath = path.resolve(appPath, route.staticPath);\n const routeHash = objectHash(route);\n const folderPath = path.join(routesPath, routeHash);\n await cp(staticPath, path.join(folderPath, route.staticPath), { recursive: true });\n }\n }\n\n if (!session.urls.appServer) {\n // Using template URLs for the app and bundle servers, because they are not known at this point and the will be replaced with the actual URLs at runtime.\n session.urls.appServer = templateAppServerUrl;\n session.urls.bundleServer = templateBundleServerUrl;\n }\n session.importMap ??= await createImportMap({ targetEnvironment: 'browser' }, ctx);\n await serializeContext(path.join(destinationFolder, cloudpackContextFileName), ctx);\n\n await writeJson(path.join(destinationFolder, 'package.json'), packageJson);\n\n const { createAppRegistryClient } = await import('@ms-cloudpack/remote-cache');\n const appRegistryClient = await createAppRegistryClient({\n context: ctx,\n options: { cachePath: session.cachePath, loginMethod: login },\n });\n\n await appRegistryClient.registerApp({\n name,\n // Using the current date and time as the version, because most apps are not versioned.\n version: new Date().toISOString().slice(0, 16).replace('T', ' '),\n resourceId: await getRemoteCachePackageId({ packagePath: appPath, targetEnvironment }, ctx),\n storageAccount: remoteCacheConfig.storageAccount,\n container: remoteCacheConfig.container,\n tenantId: remoteCacheConfig.tenantId,\n description,\n localBundleFolderName: appBundleLocation.folderName,\n });\n }\n\n const uploads = packagesToUpload.map((pkg) =>\n taskRunner.add(createUploadTask({ client, options: { ...pkg, globMatches } })),\n );\n\n // Do not reject if there is a failure. Failed uploads will be logged in the task reporter.\n const promiseResults = await Promise.allSettled(uploads);\n\n const result = getRemoteCachePromiseResultCounts(promiseResults);\n span.setAttributes(result);\n\n return result;\n });\n}\n\n// This function doesn't have an attached procedure because it's never called via the TRPC server.\n"]}
|
|
1
|
+
{"version":3,"file":"syncUpload.js","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"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","sourcesContent":["import { ensurePackageBundled, type EnsurePackageBundledContext } from './ensurePackageBundled.js';\nimport { PerfMeasurementSyncUpload } from '../performance/markers.js';\nimport { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';\nimport { createRemoteCacheClientOperationOptions } from '../utilities/createRemoteCacheClientOperationOptions.js';\nimport { createUploadTask } from '../utilities/createUploadTask.js';\nimport { isStaticRoute } from '@ms-cloudpack/common-types';\nimport path from 'path';\nimport { getBundleLocation } from '../utilities/getBundleLocation.js';\nimport { cp } from 'fs/promises';\nimport objectHash from 'object-hash';\nimport type { SyncResult } from '../types/SyncResult.js';\nimport { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport { getRemoteCachePackageId } from '../utilities/getRemoteCachePackageId.js';\nimport type { LoginMethod } from '@ms-cloudpack/remote-cache';\nimport { createImportMap } from '@ms-cloudpack/import-map';\nimport { serializeContext } from '../utilities/serializeContext.js';\nimport { writeJson } from '@ms-cloudpack/json-utilities';\n\nconst templateAppServerUrl = 'template://app-server-url';\nconst templateBundleServerUrl = 'template://bundle-server-url';\n\n// TODO: don't hardcode this\nconst targetEnvironment = 'browser';\n\n/**\n * Bundle the current app and its dependencies, and upload them to the remote cache.\n */\nexport async function syncUpload(\n input: { login: LoginMethod },\n ctx: Omit<EnsurePackageBundledContext, 'bus' | 'watcher'>,\n): Promise<SyncResult> {\n const { login } = input;\n const { session, telemetryClient, taskRunner, remoteCacheClient: client } = ctx;\n const { config } = session;\n const { appPath } = config;\n const { remoteCache: remoteCacheConfig } = config;\n const syncInternalPackages = config?.features?.syncInternalPackages ?? false;\n\n ensureRemoteCacheEnabled(config);\n\n if (!client) {\n throw new Error('Remote cache client is required to sync upload');\n }\n\n if (!remoteCacheConfig) {\n throw new Error('Remote cache configuration is required to sync upload');\n }\n\n // Glob pattern for the files to upload.\n const globMatches = ['**/*', '!**/*-input.json', '!**/*-output.json'];\n\n return await telemetryClient.tracer.startActiveSpan(PerfMeasurementSyncUpload, async (span) => {\n const packageJson = await ctx.packages.get(appPath);\n const { name, version, description } = packageJson;\n\n const { dependencies, result: bundleResult } = await ensurePackageBundled(\n { name, version, enqueueDependencies: true },\n ctx,\n );\n\n const bundledPackages = [bundleResult, ...(await dependencies)];\n const packagesToUpload = await Promise.all(\n bundledPackages\n .filter((p) => p.inputPath && (p.isExternal || syncInternalPackages))\n .map((p) =>\n createRemoteCacheClientOperationOptions(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- verified above that it's set\n { packagePath: p.inputPath!, targetEnvironment },\n ctx,\n ),\n ),\n );\n\n if (config.features?.enableCloudHosted) {\n const appBundleLocation = await getBundleLocation({ packagePath: appPath, targetEnvironment }, ctx);\n const appOutputPath = appBundleLocation.path;\n const destinationFolder = path.join(appOutputPath, '__cloudpack');\n const routesPath = path.join(destinationFolder, 'routes');\n for (const route of config.routes ?? []) {\n if (isStaticRoute(route)) {\n const staticPath = path.resolve(appPath, route.staticPath);\n const routeHash = objectHash(route);\n const folderPath = path.join(routesPath, routeHash);\n await cp(staticPath, path.join(folderPath, route.staticPath), { recursive: true });\n }\n }\n\n if (!session.urls.appServer) {\n // Using template URLs for the app and bundle servers, because they are not known at this point and the will be replaced with the actual URLs at runtime.\n session.urls.appServer = templateAppServerUrl;\n session.urls.bundleServer = templateBundleServerUrl;\n }\n session.importMap ??= await createImportMap({ targetEnvironment: 'browser' }, ctx);\n await serializeContext(destinationFolder, ctx);\n\n await writeJson(path.join(destinationFolder, 'package.json'), packageJson);\n\n const { createAppRegistryClient } = await import('@ms-cloudpack/remote-cache');\n const appRegistryClient = await createAppRegistryClient({\n context: ctx,\n options: { cachePath: session.cachePath, loginMethod: login },\n });\n\n await appRegistryClient.registerApp({\n name,\n // Using the current date and time as the version, because most apps are not versioned.\n version: new Date().toISOString().slice(0, 16).replace('T', ' '),\n resourceId: await getRemoteCachePackageId({ packagePath: appPath, targetEnvironment }, ctx),\n storageAccount: remoteCacheConfig.storageAccount,\n container: remoteCacheConfig.container,\n tenantId: remoteCacheConfig.tenantId,\n description,\n localBundleFolderName: appBundleLocation.folderName,\n });\n }\n\n const uploads = packagesToUpload.map((pkg) =>\n taskRunner.add(createUploadTask({ client, options: { ...pkg, globMatches } })),\n );\n\n // Do not reject if there is a failure. Failed uploads will be logged in the task reporter.\n const promiseResults = await Promise.allSettled(uploads);\n\n const result = getRemoteCachePromiseResultCounts(promiseResults);\n span.setAttributes(result);\n\n return result;\n });\n}\n\n// This function doesn't have an attached procedure because it's never called via the TRPC server.\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { getActiveSessionsPath } from './utilities/getActiveSessionsPath.js';
|
|
|
16
16
|
export { getConsumedDependencies } from './utilities/getConsumedDependencies.js';
|
|
17
17
|
export { getConsumedPaths } from './utilities/getConsumedPaths.js';
|
|
18
18
|
export { waitForBusData } from './utilities/waitForBusData.js';
|
|
19
|
+
export { readSerializedContext } from './utilities/serializeContext.js';
|
|
19
20
|
export { createApiContext, createPartialApiContext, type CreateApiContextOptions } from './common/createApiContext.js';
|
|
20
21
|
export { createMockContext, createPartialMockContext } from './common/createMockContext.js';
|
|
21
22
|
export { createMockSession, createMockSessionNoFS } from './common/createMockSession.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9F,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC9G,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9F,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC9G,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { getActiveSessionsPath } from './utilities/getActiveSessionsPath.js';
|
|
|
6
6
|
export { getConsumedDependencies } from './utilities/getConsumedDependencies.js';
|
|
7
7
|
export { getConsumedPaths } from './utilities/getConsumedPaths.js';
|
|
8
8
|
export { waitForBusData } from './utilities/waitForBusData.js';
|
|
9
|
+
export { readSerializedContext } from './utilities/serializeContext.js';
|
|
9
10
|
// Utilities
|
|
10
11
|
export { createApiContext, createPartialApiContext } from './common/createApiContext.js';
|
|
11
12
|
export { createMockContext, createPartialMockContext } from './common/createMockContext.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAwB,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAwB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAwB,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAwB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAgC,MAAM,8BAA8B,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,iDAAiD;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export type { Context, PartialContext } from './types/Context.js';\nexport type { BundleInfo, BundleEntryInfo, BundleEntryConsumes } from './types/BundleInfo.js';\nexport type { TaskStats } from './types/TaskStats.js';\nexport type { Task } from './types/Task.js';\nexport type { TaskDescription } from './types/TaskDescription.js';\nexport type { TaskList } from './types/TaskList.js';\nexport type { TaskMessage } from './types/TaskMessage.js';\nexport type { EnsurePackageBundledContext, EnsurePackageBundledResult } from './apis/ensurePackageBundled.js';\nexport type { CloudAppContext } from './types/CloudAppContext.js';\nexport type { LinkPathInput, LinkPathOutput } from './types/LinkPath.js';\n\nexport { TaskRunner } from './utilities/TaskRunner.js';\nexport {\n taskListSource,\n taskStatsSource,\n errorEntrySource,\n linkConfigSource,\n linkPathsSource,\n linkDoneSource,\n linkDisconnectedSource,\n} from './data/busSources.js';\nexport { createCloudpackClient, type CloudpackClient } from './trpc/createCloudpackClient.js';\nexport { createCloudpackServer, type CloudpackServer, apiServerPort } from './trpc/createCloudpackServer.js';\nexport { getActiveSessionsPath } from './utilities/getActiveSessionsPath.js';\nexport { getConsumedDependencies } from './utilities/getConsumedDependencies.js';\nexport { getConsumedPaths } from './utilities/getConsumedPaths.js';\nexport { waitForBusData } from './utilities/waitForBusData.js';\nexport { readSerializedContext } from './utilities/serializeContext.js';\n\n// Utilities\nexport { createApiContext, createPartialApiContext, type CreateApiContextOptions } from './common/createApiContext.js';\nexport { createMockContext, createPartialMockContext } from './common/createMockContext.js';\nexport { createMockSession, createMockSessionNoFS } from './common/createMockSession.js';\n\n// API methods directly used outside this package\nexport { addPackageOverride } from './apis/addPackageOverride.js';\nexport { ensurePackageBundled } from './apis/ensurePackageBundled.js';\nexport { syncDownload } from './apis/syncDownload.js';\nexport { syncUpload } from './apis/syncUpload.js';\nexport type { SyncResult } from './types/SyncResult.js';\n"]}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import type { CloudAppContext } from '../types/CloudAppContext.js';
|
|
1
2
|
import type { PartialContext } from '../types/Context.js';
|
|
2
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Serialize the context to `cloudpack-context.json`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function serializeContext(destinationFolder: string, context: PartialContext<'packages' | 'packageHashes', 'config' | 'packageImportPaths' | 'resolveMap' | 'sessionVersion' | 'targetVersions' | 'urls' | 'importMap'>): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Read the serialized context from `cloudpack-context.json` under `folder`, but don't
|
|
9
|
+
* do any deserialization of the values.
|
|
10
|
+
*/
|
|
11
|
+
export declare function readSerializedContext(folder: string): Promise<CloudAppContext>;
|
|
3
12
|
//# sourceMappingURL=serializeContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeContext.d.ts","sourceRoot":"","sources":["../../src/utilities/serializeContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"serializeContext.d.ts","sourceRoot":"","sources":["../../src/utilities/serializeContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,cAAc,CACrB,UAAU,GAAG,eAAe,EAC5B,QAAQ,GAAG,oBAAoB,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAC5G,GACA,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CASpF"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { writeJson } from '@ms-cloudpack/json-utilities';
|
|
2
|
-
|
|
1
|
+
import { readJson, writeJson } from '@ms-cloudpack/json-utilities';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/** Context file created by sync upload and read by link, containing a `CloudAppContext`. */
|
|
4
|
+
const cloudpackContextFileName = 'cloudpack-context.json';
|
|
5
|
+
/**
|
|
6
|
+
* Serialize the context to `cloudpack-context.json`.
|
|
7
|
+
*/
|
|
8
|
+
export async function serializeContext(destinationFolder, context) {
|
|
3
9
|
const { packageHashes, session } = context;
|
|
4
10
|
const { importMap, resolveMap, config } = session;
|
|
5
11
|
const serializableContext = {
|
|
@@ -8,6 +14,17 @@ export const serializeContext = (filePath, context) => {
|
|
|
8
14
|
resolveMap,
|
|
9
15
|
config,
|
|
10
16
|
};
|
|
11
|
-
return writeJson(
|
|
12
|
-
}
|
|
17
|
+
return writeJson(path.join(destinationFolder, cloudpackContextFileName), serializableContext);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Read the serialized context from `cloudpack-context.json` under `folder`, but don't
|
|
21
|
+
* do any deserialization of the values.
|
|
22
|
+
*/
|
|
23
|
+
export async function readSerializedContext(folder) {
|
|
24
|
+
const context = await readJson(path.join(folder, cloudpackContextFileName));
|
|
25
|
+
if (!context) {
|
|
26
|
+
throw new Error(`Could not find ${cloudpackContextFileName} in ${folder}. This must be a Cloudpack bug, please report it.`);
|
|
27
|
+
}
|
|
28
|
+
return context;
|
|
29
|
+
}
|
|
13
30
|
//# sourceMappingURL=serializeContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeContext.js","sourceRoot":"","sources":["../../src/utilities/serializeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"serializeContext.js","sourceRoot":"","sources":["../../src/utilities/serializeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,4FAA4F;AAC5F,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,iBAAyB,EACzB,OAGC;IAED,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,mBAAmB,GAAoB;QAC3C,SAAS;QACT,aAAa,EAAE,aAAa,CAAC,cAAc,EAAE;QAC7C,UAAU;QACV,MAAM;KACP,CAAC;IAEF,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAChG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAc;IACxD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kBAAkB,wBAAwB,OAAO,MAAM,mDAAmD,CAC3G,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { readJson, writeJson } from '@ms-cloudpack/json-utilities';\nimport path from 'path';\nimport type { CloudAppContext } from '../types/CloudAppContext.js';\nimport type { PartialContext } from '../types/Context.js';\n\n/** Context file created by sync upload and read by link, containing a `CloudAppContext`. */\nconst cloudpackContextFileName = 'cloudpack-context.json';\n\n/**\n * Serialize the context to `cloudpack-context.json`.\n */\nexport async function serializeContext(\n destinationFolder: string,\n context: PartialContext<\n 'packages' | 'packageHashes',\n 'config' | 'packageImportPaths' | 'resolveMap' | 'sessionVersion' | 'targetVersions' | 'urls' | 'importMap'\n >,\n): Promise<void> {\n const { packageHashes, session } = context;\n const { importMap, resolveMap, config } = session;\n\n const serializableContext: CloudAppContext = {\n importMap,\n packageHashes: packageHashes.toSerializable(),\n resolveMap,\n config,\n };\n\n return writeJson(path.join(destinationFolder, cloudpackContextFileName), serializableContext);\n}\n\n/**\n * Read the serialized context from `cloudpack-context.json` under `folder`, but don't\n * do any deserialization of the values.\n */\nexport async function readSerializedContext(folder: string): Promise<CloudAppContext> {\n const context = await readJson<CloudAppContext>(path.join(folder, cloudpackContextFileName));\n if (!context) {\n throw new Error(\n `Could not find ${cloudpackContextFileName} in ${folder}. This must be a Cloudpack bug, please report it.`,\n );\n }\n\n return context;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/api-server",
|
|
3
|
-
"version": "0.64.
|
|
3
|
+
"version": "0.64.6",
|
|
4
4
|
"description": "An implementation of the API server that does interacts with a task scheduler.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,23 +25,23 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@ms-cloudpack/bundler": "^0.25.
|
|
29
|
-
"@ms-cloudpack/common-types": "^0.26.
|
|
30
|
-
"@ms-cloudpack/config": "^0.
|
|
31
|
-
"@ms-cloudpack/create-express-app": "^1.10.
|
|
28
|
+
"@ms-cloudpack/bundler": "^0.25.20",
|
|
29
|
+
"@ms-cloudpack/common-types": "^0.26.2",
|
|
30
|
+
"@ms-cloudpack/config": "^0.37.0",
|
|
31
|
+
"@ms-cloudpack/create-express-app": "^1.10.41",
|
|
32
32
|
"@ms-cloudpack/data-bus": "^0.5.0",
|
|
33
33
|
"@ms-cloudpack/environment": "^0.1.1",
|
|
34
|
-
"@ms-cloudpack/esm-stub-utilities": "^0.15.
|
|
35
|
-
"@ms-cloudpack/file-watcher": "^0.3.
|
|
36
|
-
"@ms-cloudpack/import-map": "^0.10.
|
|
34
|
+
"@ms-cloudpack/esm-stub-utilities": "^0.15.5",
|
|
35
|
+
"@ms-cloudpack/file-watcher": "^0.3.12",
|
|
36
|
+
"@ms-cloudpack/import-map": "^0.10.35",
|
|
37
37
|
"@ms-cloudpack/json-utilities": "^0.1.10",
|
|
38
|
-
"@ms-cloudpack/package-hashes": "^0.8.
|
|
39
|
-
"@ms-cloudpack/package-utilities": "^12.3.
|
|
38
|
+
"@ms-cloudpack/package-hashes": "^0.8.18",
|
|
39
|
+
"@ms-cloudpack/package-utilities": "^12.3.18",
|
|
40
40
|
"@ms-cloudpack/path-string-parsing": "^1.2.7",
|
|
41
|
-
"@ms-cloudpack/path-utilities": "^3.1.
|
|
42
|
-
"@ms-cloudpack/remote-cache": "^0.11.
|
|
41
|
+
"@ms-cloudpack/path-utilities": "^3.1.12",
|
|
42
|
+
"@ms-cloudpack/remote-cache": "^0.11.28",
|
|
43
43
|
"@ms-cloudpack/task-reporter": "^0.17.2",
|
|
44
|
-
"@ms-cloudpack/telemetry": "^0.11.
|
|
44
|
+
"@ms-cloudpack/telemetry": "^0.11.30",
|
|
45
45
|
"@trpc/client": "^11.1.1",
|
|
46
46
|
"@trpc/server": "^11.1.1",
|
|
47
47
|
"cors": "^2.8.5",
|