@ms-cloudpack/api-server 0.49.1 → 0.50.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.
- package/lib/apis/ensurePackageBundled.js +1 -1
- package/lib/apis/ensurePackageBundled.js.map +1 -1
- package/lib/apis/restartAllTasks.d.ts.map +1 -1
- package/lib/apis/restartAllTasks.js +1 -2
- package/lib/apis/restartAllTasks.js.map +1 -1
- package/lib/apis/syncDownload.d.ts.map +1 -1
- package/lib/apis/syncDownload.js +2 -9
- package/lib/apis/syncDownload.js.map +1 -1
- package/lib/apis/syncUpload.d.ts.map +1 -1
- package/lib/apis/syncUpload.js +1 -3
- package/lib/apis/syncUpload.js.map +1 -1
- package/lib/common/createSession.d.ts +5 -0
- package/lib/common/createSession.d.ts.map +1 -1
- package/lib/common/createSession.js +11 -2
- package/lib/common/createSession.js.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +1 -1
- package/lib/utilities/bundleTask.d.ts +1 -1
- package/lib/utilities/bundleTask.d.ts.map +1 -1
- package/lib/utilities/bundleTask.js +2 -3
- package/lib/utilities/bundleTask.js.map +1 -1
- package/lib/utilities/createRemoteCacheClient.d.ts.map +1 -1
- package/lib/utilities/createRemoteCacheClient.js +1 -2
- package/lib/utilities/createRemoteCacheClient.js.map +1 -1
- package/lib/utilities/createRemoteCacheClientOperationOptions.d.ts +2 -6
- package/lib/utilities/createRemoteCacheClientOperationOptions.d.ts.map +1 -1
- package/lib/utilities/createRemoteCacheClientOperationOptions.js.map +1 -1
- package/lib/utilities/getActiveSessionsPath.d.ts +1 -1
- package/lib/utilities/getActiveSessionsPath.d.ts.map +1 -1
- package/lib/utilities/getActiveSessionsPath.js +2 -3
- package/lib/utilities/getActiveSessionsPath.js.map +1 -1
- package/lib/utilities/getBundleLocation.d.ts +2 -2
- package/lib/utilities/getBundleLocation.d.ts.map +1 -1
- package/lib/utilities/getBundleLocation.js +3 -9
- package/lib/utilities/getBundleLocation.js.map +1 -1
- package/lib/utilities/getPackagesToSync.d.ts +2 -9
- package/lib/utilities/getPackagesToSync.d.ts.map +1 -1
- package/lib/utilities/getPackagesToSync.js +9 -7
- package/lib/utilities/getPackagesToSync.js.map +1 -1
- package/package.json +9 -9
- package/lib/utilities/ensureFieldsExist.d.ts +0 -8
- package/lib/utilities/ensureFieldsExist.d.ts.map +0 -1
- package/lib/utilities/ensureFieldsExist.js +0 -18
- package/lib/utilities/ensureFieldsExist.js.map +0 -1
- package/lib/utilities/getCachePath.d.ts +0 -9
- package/lib/utilities/getCachePath.d.ts.map +0 -1
- package/lib/utilities/getCachePath.js +0 -15
- package/lib/utilities/getCachePath.js.map +0 -1
- package/lib/utilities/getSessionPath.d.ts +0 -6
- package/lib/utilities/getSessionPath.d.ts.map +0 -1
- package/lib/utilities/getSessionPath.js +0 -9
- package/lib/utilities/getSessionPath.js.map +0 -1
|
@@ -150,7 +150,7 @@ async function ensurePackageBundledInternal(params) {
|
|
|
150
150
|
}
|
|
151
151
|
const { isExternal } = bundleRequest;
|
|
152
152
|
const definition = await ctx.packages.get(packageEntry.path);
|
|
153
|
-
const { inputPaths } = definition
|
|
153
|
+
const { inputPaths } = definition.cloudpack || {};
|
|
154
154
|
const watchOptions = {
|
|
155
155
|
path: packageEntry.path,
|
|
156
156
|
watchPaths: inputPaths,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensurePackageBundled.js","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { createBundleTask } from '../utilities/createBundleTask.js';\nimport { createBundleRequestForPackage } from '../utilities/createBundleRequestForPackage.js';\nimport { ZodTaskMessage } from '../types/TaskMessage.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nimport type { WatchOptions } from '@ms-cloudpack/file-watcher';\nimport { getConsumedDependencies } from '../utilities/getConsumedDependencies.js';\n\n/**\n * Input for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledInput\n extends Pick<BundleRequest, 'outputPath' | 'version' | 'bundler' | 'disableSourceMaps' | 'shouldGetBundleInfo'> {\n /** Package name */\n name: string;\n /** Whether to also ensure dependencies are bundled */\n enqueueDependencies?: boolean;\n /** Whether to re-run the bundle task */\n shouldRerun?: boolean;\n /** Whether to watch for changes (internal packages only) */\n shouldWatch?: boolean;\n /** Whether to force re-bundling */\n shouldForce?: boolean;\n /** Whether to disable caching. */\n disableCache?: boolean;\n /** Whether to support incremental rebuilds. Defaults to true for internal libraries. */\n isIncremental?: boolean;\n /**\n * Whether to use a hash as the bundle id instead of the path.\n * Reduces performance when used with shouldForce as it hashes twice,\n * but eliminates task cache artifacts when handling many apps.\n */\n useHashAsId?: boolean;\n /** Priority for bundling. Greater priority will be scheduled first (defaults to 0). */\n priority?: number;\n}\n\nconst ZodEnsurePackageBundledInput = matchingZodObject<EnsurePackageBundledInput>({\n name: z.string(),\n version: z.string(),\n outputPath: z.string().optional(),\n bundler: z.string().optional(),\n disableSourceMaps: z.boolean().optional(),\n enqueueDependencies: z.boolean().optional(),\n shouldGetBundleInfo: z.boolean().optional(),\n shouldRerun: z.boolean().optional(),\n shouldWatch: z.boolean().optional(),\n shouldForce: z.boolean().optional(),\n disableCache: z.boolean().optional(),\n isIncremental: z.boolean().optional(),\n useHashAsId: z.boolean().optional(),\n priority: z.number().optional(),\n});\n\n/**\n * Result of ensuring a single package is bundled.\n */\nexport interface EnsurePackageBundledResult\n extends Omit<NonNullable<BundleRequest['result']>, 'rebuild' | 'dispose' | 'bundlerName'> {\n /** Package name */\n name: string;\n /** Package version */\n version: string;\n /** Package dependency names (prod and peer) */\n dependencies?: string[];\n /** Whether the package is external (not defined in this repo) */\n isExternal: boolean;\n}\n\nconst ZodEnsurePackageBundledResult = matchingZodObject<EnsurePackageBundledResult>({\n name: z.string(),\n version: z.string(),\n bundler: z.string().optional(),\n inputPath: z.string(),\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 isExternal: z.boolean(),\n info: z\n .record(\n z.object({\n bundlePath: z.string(),\n produces: z.array(z.string()),\n consumes: z.array(\n z.object({\n packageName: z.string(),\n importPath: z.string(),\n names: z.array(z.string()),\n }),\n ),\n }),\n )\n .optional(),\n});\n\n/**\n * Complete output for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledOutput {\n /** Result of bundling this package */\n result: EnsurePackageBundledResult;\n /** Results of bundling dependencies */\n dependencies: Promise<EnsurePackageBundledResult[]>;\n}\n\nconst ZodEnsurePackageBundledOutput = matchingZodObject<EnsurePackageBundledOutput>({\n result: ZodEnsurePackageBundledResult,\n dependencies: z.promise(ZodEnsurePackageBundledResult.array()),\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 params: ApiParams<\n EnsurePackageBundledInput,\n | 'bus'\n | 'taskRunner'\n | 'session'\n | 'watcher'\n | 'packages'\n | 'reporter'\n | 'telemetryClient'\n | 'packageImportPaths'\n | 'packageHashes'\n >,\n): Promise<EnsurePackageBundledOutput> {\n const { input, ctx } = params;\n const results: EnsurePackageBundledResult[] = [];\n const visited = new Set<`${string}@${string}`>();\n const bundleResult = await ensurePackageBundledInternal({ input, ctx, visited });\n const { result } = bundleResult;\n const mainDependencies = bundleResult.dependencyInputs;\n\n let pending = 0;\n const dependencies = new Promise<EnsurePackageBundledResult[]>((resolve) => {\n const enqueue = (dependencyInputs: EnsurePackageBundledInput[]) => {\n for (const dependencyInput of dependencyInputs) {\n pending++;\n void ensurePackageBundledInternal({\n input: dependencyInput,\n ctx,\n visited,\n }).then((dependencyBundleResult) => {\n pending--;\n results.push(dependencyBundleResult.result);\n enqueue(dependencyBundleResult.dependencyInputs);\n if (!pending) {\n resolve(results);\n }\n });\n }\n };\n\n enqueue(mainDependencies);\n });\n\n return {\n result,\n dependencies,\n };\n}\n\nasync function ensurePackageBundledInternal(\n params: Parameters<typeof ensurePackageBundled>[0] & {\n visited: Set<`${string}@${string}`>;\n },\n): Promise<{ result: EnsurePackageBundledResult; dependencyInputs: EnsurePackageBundledInput[] }> {\n const { input, ctx, visited } = params;\n const {\n name,\n version,\n shouldWatch,\n bundler,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo,\n shouldRerun,\n shouldForce,\n disableCache,\n isIncremental,\n useHashAsId,\n priority,\n } = input;\n const { taskRunner, session, watcher, packageHashes } = ctx;\n const { resolveMap, config } = session;\n const { features } = config;\n const enqueueDependencies = input.enqueueDependencies ?? features?.enqueueDependencies;\n const dependencyInputs: EnsurePackageBundledInput[] = [];\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 let hash: string | undefined = undefined;\n let sourceHash: string | undefined = undefined;\n\n if (useHashAsId) {\n // If we are using the hash as the task id, we need to calculate it once and pass it to the task\n // to prevent a race condition in which we get a different hash than the one used in the task id.\n hash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n\n if (!packageEntry.isExternal) {\n // We only need the source hash for internal packages for cache validation.\n sourceHash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: true,\n shouldRecalculate: true,\n });\n }\n }\n\n const bundleRequest = createBundleRequestForPackage(\n {\n // Use the hash as the id if useHashAsId is enabled.\n id: hash ?? packageEntry.path,\n packageEntry,\n bundler,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,\n disableCache,\n isIncremental,\n },\n { config },\n );\n\n // Make priority negative to have retry count set to positive values.\n const retryCount = priority ? -1 * priority : undefined;\n\n const task = createBundleTask({ bundleRequest, force: shouldForce, hash, sourceHash, retryCount }, ctx);\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun, priority });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n const { isExternal } = bundleRequest;\n const definition = await ctx.packages.get(packageEntry.path);\n const { inputPaths } = definition?.cloudpack || {};\n const watchOptions: WatchOptions = {\n path: packageEntry.path,\n watchPaths: inputPaths,\n };\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 === 0) {\n notifyReload({ reason: 'on-package-change' }, ctx);\n }\n };\n watcher.watch(watchOptions, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result?.info) {\n for (const dependencyName of getConsumedDependencies(result.info)) {\n const dependencyVersion = packageEntry.dependencies[dependencyName];\n\n // If we've already visited this package from another package, skip it.\n if (visited.has(`${dependencyName}@${dependencyVersion}`)) {\n continue;\n }\n\n dependencyInputs.push({\n name: dependencyName,\n version: dependencyVersion,\n shouldWatch,\n enqueueDependencies,\n });\n }\n }\n\n return {\n result: {\n version,\n name,\n isExternal,\n ...result,\n },\n dependencyInputs,\n };\n}\n\n// Attach a trpc procedure to the function.\nensurePackageBundled.procedure = publicProcedure\n .input(ZodEnsurePackageBundledInput)\n .output(ZodEnsurePackageBundledOutput)\n .mutation(ensurePackageBundled);\n\nexport type EnsurePackageBundledContext = Parameters<typeof ensurePackageBundled>[0]['ctx'];\n"]}
|
|
1
|
+
{"version":3,"file":"ensurePackageBundled.js","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { createBundleTask } from '../utilities/createBundleTask.js';\nimport { createBundleRequestForPackage } from '../utilities/createBundleRequestForPackage.js';\nimport { ZodTaskMessage } from '../types/TaskMessage.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { matchingZodObject } from '../utilities/matchingZodObject.js';\nimport type { WatchOptions } from '@ms-cloudpack/file-watcher';\nimport { getConsumedDependencies } from '../utilities/getConsumedDependencies.js';\n\n/**\n * Input for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledInput\n extends Pick<BundleRequest, 'outputPath' | 'version' | 'bundler' | 'disableSourceMaps' | 'shouldGetBundleInfo'> {\n /** Package name */\n name: string;\n /** Whether to also ensure dependencies are bundled */\n enqueueDependencies?: boolean;\n /** Whether to re-run the bundle task */\n shouldRerun?: boolean;\n /** Whether to watch for changes (internal packages only) */\n shouldWatch?: boolean;\n /** Whether to force re-bundling */\n shouldForce?: boolean;\n /** Whether to disable caching. */\n disableCache?: boolean;\n /** Whether to support incremental rebuilds. Defaults to true for internal libraries. */\n isIncremental?: boolean;\n /**\n * Whether to use a hash as the bundle id instead of the path.\n * Reduces performance when used with shouldForce as it hashes twice,\n * but eliminates task cache artifacts when handling many apps.\n */\n useHashAsId?: boolean;\n /** Priority for bundling. Greater priority will be scheduled first (defaults to 0). */\n priority?: number;\n}\n\nconst ZodEnsurePackageBundledInput = matchingZodObject<EnsurePackageBundledInput>({\n name: z.string(),\n version: z.string(),\n outputPath: z.string().optional(),\n bundler: z.string().optional(),\n disableSourceMaps: z.boolean().optional(),\n enqueueDependencies: z.boolean().optional(),\n shouldGetBundleInfo: z.boolean().optional(),\n shouldRerun: z.boolean().optional(),\n shouldWatch: z.boolean().optional(),\n shouldForce: z.boolean().optional(),\n disableCache: z.boolean().optional(),\n isIncremental: z.boolean().optional(),\n useHashAsId: z.boolean().optional(),\n priority: z.number().optional(),\n});\n\n/**\n * Result of ensuring a single package is bundled.\n */\nexport interface EnsurePackageBundledResult\n extends Omit<NonNullable<BundleRequest['result']>, 'rebuild' | 'dispose' | 'bundlerName'> {\n /** Package name */\n name: string;\n /** Package version */\n version: string;\n /** Package dependency names (prod and peer) */\n dependencies?: string[];\n /** Whether the package is external (not defined in this repo) */\n isExternal: boolean;\n}\n\nconst ZodEnsurePackageBundledResult = matchingZodObject<EnsurePackageBundledResult>({\n name: z.string(),\n version: z.string(),\n bundler: z.string().optional(),\n inputPath: z.string(),\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 isExternal: z.boolean(),\n info: z\n .record(\n z.object({\n bundlePath: z.string(),\n produces: z.array(z.string()),\n consumes: z.array(\n z.object({\n packageName: z.string(),\n importPath: z.string(),\n names: z.array(z.string()),\n }),\n ),\n }),\n )\n .optional(),\n});\n\n/**\n * Complete output for `ensurePackageBundled`.\n */\nexport interface EnsurePackageBundledOutput {\n /** Result of bundling this package */\n result: EnsurePackageBundledResult;\n /** Results of bundling dependencies */\n dependencies: Promise<EnsurePackageBundledResult[]>;\n}\n\nconst ZodEnsurePackageBundledOutput = matchingZodObject<EnsurePackageBundledOutput>({\n result: ZodEnsurePackageBundledResult,\n dependencies: z.promise(ZodEnsurePackageBundledResult.array()),\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 params: ApiParams<\n EnsurePackageBundledInput,\n | 'bus'\n | 'taskRunner'\n | 'session'\n | 'watcher'\n | 'packages'\n | 'reporter'\n | 'telemetryClient'\n | 'packageImportPaths'\n | 'packageHashes'\n >,\n): Promise<EnsurePackageBundledOutput> {\n const { input, ctx } = params;\n const results: EnsurePackageBundledResult[] = [];\n const visited = new Set<`${string}@${string}`>();\n const bundleResult = await ensurePackageBundledInternal({ input, ctx, visited });\n const { result } = bundleResult;\n const mainDependencies = bundleResult.dependencyInputs;\n\n let pending = 0;\n const dependencies = new Promise<EnsurePackageBundledResult[]>((resolve) => {\n const enqueue = (dependencyInputs: EnsurePackageBundledInput[]) => {\n for (const dependencyInput of dependencyInputs) {\n pending++;\n void ensurePackageBundledInternal({\n input: dependencyInput,\n ctx,\n visited,\n }).then((dependencyBundleResult) => {\n pending--;\n results.push(dependencyBundleResult.result);\n enqueue(dependencyBundleResult.dependencyInputs);\n if (!pending) {\n resolve(results);\n }\n });\n }\n };\n\n enqueue(mainDependencies);\n });\n\n return {\n result,\n dependencies,\n };\n}\n\nasync function ensurePackageBundledInternal(\n params: Parameters<typeof ensurePackageBundled>[0] & {\n visited: Set<`${string}@${string}`>;\n },\n): Promise<{ result: EnsurePackageBundledResult; dependencyInputs: EnsurePackageBundledInput[] }> {\n const { input, ctx, visited } = params;\n const {\n name,\n version,\n shouldWatch,\n bundler,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo,\n shouldRerun,\n shouldForce,\n disableCache,\n isIncremental,\n useHashAsId,\n priority,\n } = input;\n const { taskRunner, session, watcher, packageHashes } = ctx;\n const { resolveMap, config } = session;\n const { features } = config;\n const enqueueDependencies = input.enqueueDependencies ?? features?.enqueueDependencies;\n const dependencyInputs: EnsurePackageBundledInput[] = [];\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 let hash: string | undefined = undefined;\n let sourceHash: string | undefined = undefined;\n\n if (useHashAsId) {\n // If we are using the hash as the task id, we need to calculate it once and pass it to the task\n // to prevent a race condition in which we get a different hash than the one used in the task id.\n hash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n\n if (!packageEntry.isExternal) {\n // We only need the source hash for internal packages for cache validation.\n sourceHash = await packageHashes.get({\n packagePath: packageEntry.path,\n isSourceHashingEnabled: true,\n shouldRecalculate: true,\n });\n }\n }\n\n const bundleRequest = createBundleRequestForPackage(\n {\n // Use the hash as the id if useHashAsId is enabled.\n id: hash ?? packageEntry.path,\n packageEntry,\n bundler,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,\n disableCache,\n isIncremental,\n },\n { config },\n );\n\n // Make priority negative to have retry count set to positive values.\n const retryCount = priority ? -1 * priority : undefined;\n\n const task = createBundleTask({ bundleRequest, force: shouldForce, hash, sourceHash, retryCount }, ctx);\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun, priority });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n const { isExternal } = bundleRequest;\n const definition = await ctx.packages.get(packageEntry.path);\n const { inputPaths } = definition.cloudpack || {};\n const watchOptions: WatchOptions = {\n path: packageEntry.path,\n watchPaths: inputPaths,\n };\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 === 0) {\n notifyReload({ reason: 'on-package-change' }, ctx);\n }\n };\n watcher.watch(watchOptions, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result?.info) {\n for (const dependencyName of getConsumedDependencies(result.info)) {\n const dependencyVersion = packageEntry.dependencies[dependencyName];\n\n // If we've already visited this package from another package, skip it.\n if (visited.has(`${dependencyName}@${dependencyVersion}`)) {\n continue;\n }\n\n dependencyInputs.push({\n name: dependencyName,\n version: dependencyVersion,\n shouldWatch,\n enqueueDependencies,\n });\n }\n }\n\n return {\n result: {\n version,\n name,\n isExternal,\n ...result,\n },\n dependencyInputs,\n };\n}\n\n// Attach a trpc procedure to the function.\nensurePackageBundled.procedure = publicProcedure\n .input(ZodEnsurePackageBundledInput)\n .output(ZodEnsurePackageBundledOutput)\n .mutation(ensurePackageBundled);\n\nexport type EnsurePackageBundledContext = Parameters<typeof ensurePackageBundled>[0]['ctx'];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restartAllTasks.d.ts","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"restartAllTasks.d.ts","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,iBAAiB,CAAC,iBAiBlH;yBAjBqB,eAAe;;;;;;;;;iCAoBuoF,cAAmB;kCAAqD,cAAmB;kCAAqD,cAAmB;mCAAsD,cAAmB"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { emptyDir } from 'fs-extra/esm';
|
|
2
2
|
import { publicProcedure } from '../trpc/common.js';
|
|
3
|
-
import { getCachePath } from '../utilities/getCachePath.js';
|
|
4
3
|
import { notifyReload } from '../utilities/notifyReload.js';
|
|
5
4
|
export async function restartAllTasks(params) {
|
|
6
5
|
const { ctx } = params;
|
|
7
6
|
const { session, bus, taskRunner, telemetryClient } = ctx;
|
|
8
7
|
console.debug('ApiServer: Restarting all tasks');
|
|
9
8
|
// Clear entire local cache.
|
|
10
|
-
await emptyDir(
|
|
9
|
+
await emptyDir(session.cachePath);
|
|
11
10
|
// All tasks can be removed as notifyReload()
|
|
12
11
|
// will cause the client to add the tasks again.
|
|
13
12
|
taskRunner.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restartAllTasks.js","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"restartAllTasks.js","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAA6E;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAE1D,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEjD,4BAA4B;IAC5B,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAElC,6CAA6C;IAC7C,gDAAgD;IAChD,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAElC,YAAY,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC","sourcesContent":["import { emptyDir } from 'fs-extra/esm';\nimport { publicProcedure } from '../trpc/common.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nexport async function restartAllTasks(params: ApiParams<void, 'session' | 'bus' | 'taskRunner' | 'telemetryClient'>) {\n const { ctx } = params;\n const { session, bus, taskRunner, telemetryClient } = ctx;\n\n console.debug('ApiServer: Restarting all tasks');\n\n // Clear entire local cache.\n await emptyDir(session.cachePath);\n\n // All tasks can be removed as notifyReload()\n // will cause the client to add the tasks again.\n taskRunner.clear();\n\n // Update session version.\n session.incrementSessionVersion();\n\n notifyReload({ reason: 'restart-all-tasks' }, { bus, session, telemetryClient });\n}\n\nrestartAllTasks.procedure = publicProcedure.mutation(restartAllTasks);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncDownload.d.ts","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,QAAA,MAAM,oBAAoB;;;;;;EAExB,CAAC;AAEH,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE9D,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,eAAe,CAAC,GAC9G,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"syncDownload.d.ts","sourceRoot":"","sources":["../../src/apis/syncDownload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,QAAA,MAAM,oBAAoB;;;;;;EAExB,CAAC;AAEH,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE9D,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,eAAe,CAAC,GAC9G,OAAO,CAAC,IAAI,CAAC,CAuBf;yBAzBqB,YAAY"}
|
package/lib/apis/syncDownload.js
CHANGED
|
@@ -11,9 +11,7 @@ const ZodSyncDownloadInput = z.object({
|
|
|
11
11
|
export async function syncDownload(params) {
|
|
12
12
|
const { input, ctx } = params;
|
|
13
13
|
const { loginMethod } = input;
|
|
14
|
-
const {
|
|
15
|
-
const { resolveMap, config } = session;
|
|
16
|
-
const syncInternalPackages = config?.features?.syncInternalPackages ?? false;
|
|
14
|
+
const { telemetryClient } = ctx;
|
|
17
15
|
await telemetryClient.performance.track(PerfMeasurementSyncDownload, async (tracker) => {
|
|
18
16
|
const [client, packagesToSync] = await Promise.all([
|
|
19
17
|
createRemoteCacheClient({
|
|
@@ -22,12 +20,7 @@ export async function syncDownload(params) {
|
|
|
22
20
|
},
|
|
23
21
|
ctx,
|
|
24
22
|
}),
|
|
25
|
-
getPackagesToSync(
|
|
26
|
-
packages,
|
|
27
|
-
resolveMap,
|
|
28
|
-
packageHashes,
|
|
29
|
-
syncInternalPackages,
|
|
30
|
-
}),
|
|
23
|
+
getPackagesToSync(ctx),
|
|
31
24
|
]);
|
|
32
25
|
const downloads = packagesToSync.map((pkg) => client.downloadFolder(pkg));
|
|
33
26
|
// Do not reject if there is a failure. Failed downloads will be logged in the task reporter.
|
|
@@ -1 +1 @@
|
|
|
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;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA+G;IAE/G,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,
|
|
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;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA+G;IAE/G,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IAEhC,MAAM,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACrF,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,uBAAuB,CAAC;gBACtB,KAAK,EAAE;oBACL,WAAW;iBACZ;gBACD,GAAG;aACJ,CAAC;YACF,iBAAiB,CAAC,GAAG,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1E,6FAA6F;QAC7F,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE3D,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,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 { getPackagesToSync } from '../utilities/getPackagesToSync.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { PerfMeasurementSyncDownload } from '../performance/markers.js';\nimport { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';\nimport { createRemoteCacheClient } from '../utilities/createRemoteCacheClient.js';\nimport { ZodLoginMethod } from '../types/ZodLoginMethod.js';\n\nconst ZodSyncDownloadInput = z.object({\n loginMethod: ZodLoginMethod,\n});\n\ntype SyncDownloadInput = z.infer<typeof ZodSyncDownloadInput>;\n\nexport async function syncDownload(\n params: ApiParams<SyncDownloadInput, 'session' | 'packages' | 'reporter' | 'telemetryClient' | 'packageHashes'>,\n): Promise<void> {\n const { input, ctx } = params;\n const { loginMethod } = input;\n const { telemetryClient } = ctx;\n\n await telemetryClient.performance.track(PerfMeasurementSyncDownload, async (tracker) => {\n const [client, packagesToSync] = await Promise.all([\n createRemoteCacheClient({\n input: {\n loginMethod,\n },\n ctx,\n }),\n getPackagesToSync(ctx),\n ]);\n\n const downloads = packagesToSync.map((pkg) => client.downloadFolder(pkg));\n\n // Do not reject if there is a failure. Failed downloads will be logged in the task reporter.\n const promiseResults = await Promise.allSettled(downloads);\n\n tracker.setProperties(getRemoteCachePromiseResultCounts(promiseResults));\n });\n}\n\n// Attach a trpc procedure to the function.\nsyncDownload.procedure = publicProcedure.input(ZodSyncDownloadInput).mutation(syncDownload);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,QAAA,MAAM,kBAAkB;;;;;;EAEtB,CAAC;AAEH,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE1D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,CACf,eAAe,EACb,SAAS,GACT,UAAU,GACV,UAAU,GACV,KAAK,GACL,YAAY,GACZ,SAAS,GACT,iBAAiB,GACjB,oBAAoB,GACpB,eAAe,CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAkDf;yBA/DqB,UAAU"}
|
package/lib/apis/syncUpload.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { publicProcedure } from '../trpc/common.js';
|
|
3
3
|
import { ensurePackageBundled } from './ensurePackageBundled.js';
|
|
4
|
-
import { ensureFieldsExist } from '../utilities/ensureFieldsExist.js';
|
|
5
4
|
import { PerfMeasurementSyncUpload } from '../performance/markers.js';
|
|
6
5
|
import { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';
|
|
7
6
|
import { createRemoteCacheClient } from '../utilities/createRemoteCacheClient.js';
|
|
@@ -20,8 +19,7 @@ export async function syncUpload(params) {
|
|
|
20
19
|
// Glob pattern for the files to upload.
|
|
21
20
|
const globMatches = ['**/*', '!**/*-input.json', '!**/*-output.json'];
|
|
22
21
|
await telemetryClient.performance.track(PerfMeasurementSyncUpload, async (tracker) => {
|
|
23
|
-
const
|
|
24
|
-
const { name, version } = ensureFieldsExist(packageDefinition, ['name', 'version']);
|
|
22
|
+
const { name, version } = await ctx.packages.get(appPath);
|
|
25
23
|
const [client, { dependencies, result }] = await Promise.all([
|
|
26
24
|
createRemoteCacheClient({
|
|
27
25
|
input: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncUpload.js","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,
|
|
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 { ensurePackageBundled } from './ensurePackageBundled.js';\nimport { PerfMeasurementSyncUpload } from '../performance/markers.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { getRemoteCachePromiseResultCounts } from '../utilities/getRemoteCachePromiseResultCounts.js';\nimport { createRemoteCacheClient } from '../utilities/createRemoteCacheClient.js';\nimport { ZodLoginMethod } from '../types/ZodLoginMethod.js';\nimport { createRemoteCacheClientOperationOptions } from '../utilities/createRemoteCacheClientOperationOptions.js';\n\nconst ZodSyncUploadInput = z.object({\n loginMethod: ZodLoginMethod,\n});\n\ntype SyncUploadInput = z.infer<typeof ZodSyncUploadInput>;\n\nexport async function syncUpload(\n params: ApiParams<\n SyncUploadInput,\n | 'session'\n | 'packages'\n | 'reporter'\n | 'bus'\n | 'taskRunner'\n | 'watcher'\n | 'telemetryClient'\n | 'packageImportPaths'\n | 'packageHashes'\n >,\n): Promise<void> {\n const { ctx, input } = params;\n const { session, telemetryClient } = ctx;\n const { config } = session;\n const { appPath } = config;\n const { loginMethod } = input;\n const syncInternalPackages = config?.features?.syncInternalPackages ?? false;\n\n // Glob pattern for the files to upload.\n const globMatches = ['**/*', '!**/*-input.json', '!**/*-output.json'];\n\n await telemetryClient.performance.track(PerfMeasurementSyncUpload, async (tracker) => {\n const { name, version } = await ctx.packages.get(appPath);\n\n const [client, { dependencies, result }] = await Promise.all([\n createRemoteCacheClient({\n input: {\n loginMethod,\n },\n ctx,\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 packagesToUpload = await Promise.all(\n bundledPackages\n .filter((p) => p.isExternal || syncInternalPackages)\n .map((p) =>\n createRemoteCacheClientOperationOptions(\n { packagePath: p.inputPath, packageName: p.name, packageVersion: p.version },\n ctx,\n ),\n ),\n );\n\n const uploads = packagesToUpload.map((pkg) => client.uploadFolder({ ...pkg, globMatches }));\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 tracker.setProperties(getRemoteCachePromiseResultCounts(promiseResults));\n });\n}\n\n// Attach a trpc procedure to the function.\nsyncUpload.procedure = publicProcedure.input(ZodSyncUploadInput).mutation(syncUpload);\n"]}
|
|
@@ -4,4 +4,9 @@ export declare function createSession(options: {
|
|
|
4
4
|
overlayPath?: string;
|
|
5
5
|
config: CloudpackConfig;
|
|
6
6
|
}, context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>): Promise<Session>;
|
|
7
|
+
/**
|
|
8
|
+
* Get `sessionVersions.json` path. Exported for the test.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare function _getSessionVersionsPath(appPath: string): string;
|
|
7
12
|
//# sourceMappingURL=createSession.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSession.d.ts","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAc,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"createSession.d.ts","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAc,MAAM,4BAA4B,CAAC;AAOvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQnD,wBAAsB,aAAa,CACjC,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;CACzB,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAClE,OAAO,CAAC,OAAO,CAAC,CAsGlB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,UAEtD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { getCachePath, getLocalCachePath } from '@ms-cloudpack/config';
|
|
1
2
|
import { readJson, writeJson, writeJsonSync } from '@ms-cloudpack/json-utilities';
|
|
2
3
|
import fs from 'fs';
|
|
3
4
|
import path from 'path';
|
|
4
5
|
import { v4 as uuid } from 'uuid';
|
|
5
|
-
import { getLocalCachePath } from '../utilities/getCachePath.js';
|
|
6
6
|
import { resolveDependenciesTask } from '../utilities/resolveDependenciesTask.js';
|
|
7
7
|
export async function createSession(options, context) {
|
|
8
8
|
const { appPath } = options.config;
|
|
@@ -14,12 +14,13 @@ export async function createSession(options, context) {
|
|
|
14
14
|
additionalPaths: overlayPath ? [overlayPath] : [],
|
|
15
15
|
}, context);
|
|
16
16
|
let importMap = undefined;
|
|
17
|
-
const versionsPath =
|
|
17
|
+
const versionsPath = _getSessionVersionsPath(appPath);
|
|
18
18
|
const previousVersions = await readJson(versionsPath);
|
|
19
19
|
const versions = previousVersions || { sessionVersion: 0, targetVersions: {} };
|
|
20
20
|
if (!previousVersions) {
|
|
21
21
|
await writeJson(versionsPath, versions);
|
|
22
22
|
}
|
|
23
|
+
const cachePath = getCachePath();
|
|
23
24
|
const linkedPaths = [];
|
|
24
25
|
return {
|
|
25
26
|
id,
|
|
@@ -84,6 +85,14 @@ export async function createSession(options, context) {
|
|
|
84
85
|
}, context);
|
|
85
86
|
return { resolveMap, linkedPaths };
|
|
86
87
|
},
|
|
88
|
+
cachePath,
|
|
87
89
|
};
|
|
88
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Get `sessionVersions.json` path. Exported for the test.
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
export function _getSessionVersionsPath(appPath) {
|
|
96
|
+
return path.join(getLocalCachePath(appPath), 'sessionVersions.json');
|
|
97
|
+
}
|
|
89
98
|
//# sourceMappingURL=createSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CloudpackConfig, Session, LinkedPath } from '@ms-cloudpack/common-types';\nimport { getCachePath, getLocalCachePath } from '@ms-cloudpack/config';\nimport type { ImportMap } from '@ms-cloudpack/import-map';\nimport { readJson, writeJson, writeJsonSync } from '@ms-cloudpack/json-utilities';\nimport fs from 'fs';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport type { Context } from '../types/Context.js';\nimport { resolveDependenciesTask } from '../utilities/resolveDependenciesTask.js';\n\ntype Versions = {\n sessionVersion: number;\n targetVersions: Record<string, number>;\n};\n\nexport async function createSession(\n options: {\n overlayPath?: string;\n config: CloudpackConfig;\n },\n context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>,\n): Promise<Session> {\n const { appPath } = options.config;\n const { config, overlayPath } = options;\n\n const projectName = path.basename(appPath);\n const id = uuid();\n let resolveMap = await resolveDependenciesTask(\n {\n appPath,\n additionalPaths: overlayPath ? [overlayPath] : [],\n },\n context,\n );\n\n let importMap: ImportMap | undefined = undefined;\n\n const versionsPath = _getSessionVersionsPath(appPath);\n const previousVersions = await readJson<Versions>(versionsPath);\n const versions = previousVersions || { sessionVersion: 0, targetVersions: {} };\n if (!previousVersions) {\n await writeJson(versionsPath, versions);\n }\n\n const cachePath = getCachePath();\n\n const linkedPaths: LinkedPath[] = [];\n\n return {\n id,\n config,\n projectName,\n get resolveMap() {\n return resolveMap;\n },\n set resolveMap(newResolveMap) {\n // If the resolve map changes, clear the import map\n // so that it is regenerated on the next request\n importMap = undefined;\n resolveMap = newResolveMap;\n },\n sequence: 0,\n urls: {},\n targetVersions: versions.targetVersions,\n get sessionVersion() {\n return versions.sessionVersion;\n },\n incrementSessionVersion: () => {\n versions.sessionVersion++;\n importMap = undefined;\n // Write the new session version to the file\n fs.writeFileSync(versionsPath, JSON.stringify(versions, null, 2));\n },\n incrementTargetVersion: (inputPath: string) => {\n versions.targetVersions[inputPath] ??= 0;\n versions.targetVersions[inputPath]++;\n importMap = undefined;\n writeJsonSync(versionsPath, versions);\n },\n get importMap() {\n return importMap;\n },\n set importMap(newImportMap) {\n importMap = newImportMap;\n },\n linkedPaths,\n addLinkedPath: async (linkedPath: LinkedPath) => {\n if (linkedPaths.find((p) => p.path === linkedPath.path)) {\n return { resolveMap: resolveMap, linkedPaths: linkedPaths };\n }\n\n linkedPaths.push(linkedPath);\n resolveMap = await resolveDependenciesTask(\n {\n appPath,\n additionalPaths: overlayPath ? [overlayPath] : [],\n linkedPaths,\n },\n context,\n );\n\n return { resolveMap, linkedPaths };\n },\n removeLinkedPath: async (linkedPath: LinkedPath) => {\n const index = linkedPaths.findIndex((p) => p.path === linkedPath.path);\n if (index === -1) {\n return { resolveMap: resolveMap, linkedPaths: linkedPaths };\n }\n\n linkedPaths.splice(index, 1);\n resolveMap = await resolveDependenciesTask(\n {\n appPath,\n additionalPaths: overlayPath ? [overlayPath] : [],\n linkedPaths,\n },\n context,\n );\n\n return { resolveMap, linkedPaths };\n },\n cachePath,\n };\n}\n\n/**\n * Get `sessionVersions.json` path. Exported for the test.\n * @internal\n */\nexport function _getSessionVersionsPath(appPath: string) {\n return path.join(getLocalCachePath(appPath), 'sessionVersions.json');\n}\n"]}
|
package/lib/index.d.ts
CHANGED
|
@@ -30,9 +30,7 @@ export { ZodTaskDescription } from './types/TaskDescription.js';
|
|
|
30
30
|
export { ZodTaskEndDescription } from './types/TaskEndDescription.js';
|
|
31
31
|
export { ZodTaskMessage } from './types/TaskMessage.js';
|
|
32
32
|
export { ZodTaskStartDescription } from './types/TaskStartDescription.js';
|
|
33
|
-
export { getCachePath, getLocalCachePath } from './utilities/getCachePath.js';
|
|
34
33
|
export { getActiveSessionsPath } from './utilities/getActiveSessionsPath.js';
|
|
35
|
-
export { getSessionPath } from './utilities/getSessionPath.js';
|
|
36
34
|
export { getConsumedDependencies } from './utilities/getConsumedDependencies.js';
|
|
37
35
|
export { getConsumedPaths } from './utilities/getConsumedPaths.js';
|
|
38
36
|
export { createPartialApiContext } from './common/createPartialApiContext.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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9F,YAAY,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,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,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACrH,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9F,YAAY,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,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,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACrH,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAG9E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -6,9 +6,7 @@ export { ZodTaskDescription } from './types/TaskDescription.js';
|
|
|
6
6
|
export { ZodTaskEndDescription } from './types/TaskEndDescription.js';
|
|
7
7
|
export { ZodTaskMessage } from './types/TaskMessage.js';
|
|
8
8
|
export { ZodTaskStartDescription } from './types/TaskStartDescription.js';
|
|
9
|
-
export { getCachePath, getLocalCachePath } from './utilities/getCachePath.js';
|
|
10
9
|
export { getActiveSessionsPath } from './utilities/getActiveSessionsPath.js';
|
|
11
|
-
export { getSessionPath } from './utilities/getSessionPath.js';
|
|
12
10
|
export { getConsumedDependencies } from './utilities/getConsumedDependencies.js';
|
|
13
11
|
export { getConsumedPaths } from './utilities/getConsumedPaths.js';
|
|
14
12
|
// Utilities
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,YAAY;AACZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,uBAAuB,GACxB,MAAM,iBAAiB,CAAC","sourcesContent":["export type { ApiServer } from './types/ApiServer.js';\nexport type { Context, PartialContext } from './types/Context.js';\nexport type { BundleInfo, BundleEntryInfo, BundleEntryConsumes } from './types/BundleInfo.js';\nexport type { Session } from '@ms-cloudpack/common-types';\nexport type { TaskStats } from './types/TaskStats.js';\nexport type { Task } from './types/Task.js';\nexport type { TaskDescription } from './types/TaskDescription.js';\nexport type { TaskEndDescription } from './types/TaskEndDescription.js';\nexport type { TaskMessage } from './types/TaskMessage.js';\nexport type { TaskOptions } from './types/TaskOptions.js';\nexport type { TaskStartDescription } from './types/TaskStartDescription.js';\nexport type { ErrorEntry } from './types/ErrorEntry.js';\nexport type { CloudpackServer } from './trpc/createCloudpackServer.js';\n\n// API types\nexport type { AddPackageOverrideInput } from './apis/addPackageOverride.js';\nexport type { OpenCodeEditorInput } from './apis/openCodeEditor.js';\nexport type { OpenFilePathInput } from './apis/openFilePath.js';\nexport type { ReportMetricInput } from './apis/reportMetric.js';\nexport type { ValidatePackageOverrideInput, ValidatePackageOverrideOutput } from './apis/validatePackageOverride.js';\nexport type { RestartTaskInput } from './apis/restartTask.js';\nexport type { LinkPathInput } from './types/LinkPath.js';\n\n// TODO: delete these type exports once API reporting of \"forgotten\" exports is enabled\n// (they're not used and don't really need to be visible in the API)\nexport type {\n EnsurePackageBundledContext,\n EnsurePackageBundledInput,\n EnsurePackageBundledOutput,\n EnsurePackageBundledResult,\n} from './apis/ensurePackageBundled.js';\nexport type { BundleRequest } from './types/BundleRequest.js';\nexport type { BundleTaskOptions } from './types/BundleTaskOptions.js';\nexport type { OverrideOptions } from './types/OverrideOptions.js';\n\nexport { TaskRunner } from './utilities/TaskRunner.js';\nexport { reloadCountSource, taskListSource, taskStatsSource, errorEntrySource } from './data/busSources.js';\nexport { createCloudpackClient } from './trpc/createCloudpackClient.js';\nexport { createCloudpackServer } from './trpc/createCloudpackServer.js';\nexport { ZodTaskDescription } from './types/TaskDescription.js';\nexport { ZodTaskEndDescription } from './types/TaskEndDescription.js';\nexport { ZodTaskMessage } from './types/TaskMessage.js';\nexport { ZodTaskStartDescription } from './types/TaskStartDescription.js';\nexport { getActiveSessionsPath } from './utilities/getActiveSessionsPath.js';\nexport { getConsumedDependencies } from './utilities/getConsumedDependencies.js';\nexport { getConsumedPaths } from './utilities/getConsumedPaths.js';\n\n// Utilities\nexport { createPartialApiContext } from './common/createPartialApiContext.js';\n\n// API methods\nexport {\n addPackageOverride,\n ensurePackageBundled,\n getData,\n getSessionId,\n linkPath,\n onDataChanged,\n openCodeEditor,\n openConfigEditor,\n openFilePath,\n reportMetric,\n restartTask,\n restartAllTasks,\n syncDownload,\n syncUpload,\n unlinkPath,\n validatePackageOverride,\n} from './apis/index.js';\n"]}
|
|
@@ -4,7 +4,7 @@ import type { PartialContext } from '../types/Context.js';
|
|
|
4
4
|
export type BundleTaskInternalOptions = BundleTaskOptions & {
|
|
5
5
|
bundleRequest: BundleRequest;
|
|
6
6
|
};
|
|
7
|
-
export type BundleTaskInternalContext = PartialContext<'packages' | 'packageHashes' | 'reporter' | 'telemetryClient', 'resolveMap' | 'config' | 'sequence'>;
|
|
7
|
+
export type BundleTaskInternalContext = PartialContext<'packages' | 'packageHashes' | 'reporter' | 'telemetryClient', 'resolveMap' | 'config' | 'sequence' | 'cachePath'>;
|
|
8
8
|
/**
|
|
9
9
|
* Create and run a TaskReporter task which calls `bundle()` from `@ms-cloudpack/bundler` and formats the result.
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundleTask.d.ts","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,CAAC;AAC7F,MAAM,MAAM,yBAAyB,GAAG,cAAc,CACpD,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,iBAAiB,EAC7D,YAAY,GAAG,QAAQ,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"bundleTask.d.ts","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,CAAC;AAC7F,MAAM,MAAM,yBAAyB,GAAG,cAAc,CACpD,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,iBAAiB,EAC7D,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CACnD,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAgIf"}
|
|
@@ -63,8 +63,7 @@ export async function bundleTask(options, context) {
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
const
|
|
67
|
-
const { bundler, bundlerOptions, inlinedDependencies, dynamicImports, bundlerCapabilities } = settings || {};
|
|
66
|
+
const { bundler, bundlerOptions, inlinedDependencies, dynamicImports, bundlerCapabilities, ignoredBundlerWarnings, } = (await packages.get(packagePath)).cloudpack || {};
|
|
68
67
|
const bundleOptions = {
|
|
69
68
|
bundler: bundleRequest.bundler || bundler,
|
|
70
69
|
minify: mode === 'production',
|
|
@@ -77,7 +76,7 @@ export async function bundleTask(options, context) {
|
|
|
77
76
|
inlined: inlinedDependencies,
|
|
78
77
|
external: await getExternalsFromPackage({ inputPath: packagePath }, { packages }),
|
|
79
78
|
dynamicImports,
|
|
80
|
-
ignoredBundlerWarnings
|
|
79
|
+
ignoredBundlerWarnings,
|
|
81
80
|
bundlerCapabilities,
|
|
82
81
|
};
|
|
83
82
|
const bundleInternalResult = await bundle(bundleOptions, { config });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundleTask.js","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"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","sourcesContent":["import { bundle, getEntriesMapFromPackage, getExternalsFromPackage } from '@ms-cloudpack/bundler';\nimport type { BundleOptions } from '@ms-cloudpack/common-types';\nimport { writeJson } from '@ms-cloudpack/json-utilities';\nimport { getExportsMap } from '@ms-cloudpack/package-utilities';\nimport { formatPackageName } from '@ms-cloudpack/task-reporter';\nimport path from 'path';\nimport { prepareOutputPath } from '../common/prepareOutputPath.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport type { BundleTaskOptions } from '../types/BundleTaskOptions.js';\nimport { diskCacheRatioMetricEventAggregator } from './diskCacheRatioMetricEventAggregator.js';\nimport { getBundleInfo } from './getBundleInfo.js';\nimport { getBundleLocation } from './getBundleLocation.js';\nimport { isCachedResultValid } from './isCachedResultValid.js';\nimport { readResultFromCache } from './readResultFromCache.js';\nimport { saveResultToCache } from './saveResultToCache.js';\nimport { formatBundleTaskResult } from './formatBundleTaskResult.js';\nimport type { PartialContext } from '../types/Context.js';\n\nexport type BundleTaskInternalOptions = BundleTaskOptions & { bundleRequest: BundleRequest };\nexport type BundleTaskInternalContext = PartialContext<\n 'packages' | 'packageHashes' | 'reporter' | 'telemetryClient',\n 'resolveMap' | 'config' | 'sequence'\n>;\n\n/**\n * Create and run a TaskReporter task which calls `bundle()` from `@ms-cloudpack/bundler` and formats the result.\n */\nexport async function bundleTask(\n options: BundleTaskInternalOptions,\n context: BundleTaskInternalContext,\n): Promise<void> {\n const { bundleRequest, force, hash, sourceHash } = options;\n const { packageName, version } = bundleRequest;\n const { reporter, telemetryClient, packageHashes, packages, session } = context;\n const { config, sequence } = session;\n const { mode } = config;\n const { retryCount } = options;\n\n // This will register the disk cache ratio metric aggregator if it's not already registered.\n // This is a no-op if it's already registered.\n telemetryClient?.performance.registerAggregator(diskCacheRatioMetricEventAggregator);\n\n const taskName = `Bundle ${formatPackageName({\n name: packageName,\n version,\n })}${retryCount ? ` (retry ${retryCount})` : ''}`;\n\n await reporter.runTask(taskName, async () => {\n // If force is set, dispose the existing result.\n if (force && bundleRequest?.result?.dispose) {\n bundleRequest.result.dispose();\n bundleRequest.result = undefined;\n }\n\n const { packagePath, isExternal, isIncremental, disableSourceMaps, shouldGetBundleInfo } = bundleRequest;\n\n const outputPath =\n bundleRequest.outputPath ??\n (await getBundleLocation({ packagePath, shouldRecalculate: force, hash }, context)).path;\n\n // Rehydrate the result if not incremental.\n if (bundleRequest.result === undefined && !force) {\n bundleRequest.result = await readResultFromCache(outputPath, {\n inputPath: packagePath,\n });\n }\n\n const cacheValidationHash = !isExternal\n ? sourceHash || (await packageHashes.get({ packagePath, isSourceHashingEnabled: true, shouldRecalculate: true }))\n : undefined;\n\n // if the cached result is valid, use it.\n if (!force && isCachedResultValid({ bundleRequest, hash: cacheValidationHash })) {\n console.debug(`Using cached result for ${bundleRequest.packageName}@${bundleRequest.version}`);\n bundleRequest.resultFromCache = true;\n } else {\n bundleRequest.resultFromCache = false;\n\n // Only use cached result if it's successful.\n await prepareOutputPath(outputPath);\n\n if (bundleRequest.result?.rebuild) {\n bundleRequest.result = {\n ...(await bundleRequest.result.rebuild()),\n outputPath: bundleRequest.result.outputPath,\n hash: cacheValidationHash,\n };\n } else {\n const settings = (await packages.get(packagePath))?.cloudpack;\n const { bundler, bundlerOptions, inlinedDependencies, dynamicImports, bundlerCapabilities } = settings || {};\n\n const bundleOptions: BundleOptions = {\n bundler: bundleRequest.bundler || bundler,\n minify: mode === 'production',\n bundlerOptions,\n inputPath: packagePath,\n outputPath,\n incremental: isIncremental !== undefined ? isIncremental : false,\n sourcemap: !disableSourceMaps,\n entries: await getEntriesMapFromPackage({ inputPath: packagePath }, { packages, config }),\n inlined: inlinedDependencies,\n external: await getExternalsFromPackage({ inputPath: packagePath }, { packages }),\n dynamicImports,\n ignoredBundlerWarnings: settings?.ignoredBundlerWarnings,\n bundlerCapabilities,\n };\n\n const bundleInternalResult = await bundle(bundleOptions, { config });\n bundleRequest.result = {\n ...bundleInternalResult,\n outputPath: bundleOptions.outputPath ?? outputPath,\n hash: cacheValidationHash,\n };\n }\n\n // Write the result to disk.\n await saveResultToCache(bundleRequest.result);\n }\n\n // If we should find required imports and exports per bundle\n if (shouldGetBundleInfo && !bundleRequest.result?.errors?.length && bundleRequest.result?.outputFiles?.length) {\n const bundleInfoPath = path.join(outputPath, 'bundle-info.json');\n\n // Exports map is needed to find the bundle info per entry we intend to bundle.\n // Exports map is used instead of bundleRequest.entries since it is easier to use\n // because it contains the paths other packages use to import the entry and\n // the relative location of the bundled files.\n const exportsMap = await getExportsMap({ packagePath }, { packages, config });\n\n const bundleInfo = await getBundleInfo({\n outputPath,\n outputFiles: bundleRequest.result.outputFiles,\n exportsMap,\n isExternal,\n packagePath,\n });\n\n bundleRequest.result.info = bundleInfo;\n\n // Write to cache for future use. (Ignore the promise result.)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n writeJson(bundleInfoPath, bundleInfo);\n }\n\n diskCacheRatioMetricEventAggregator.record({\n sequence,\n isCacheHit: !!bundleRequest.resultFromCache,\n isExternal: bundleRequest.isExternal,\n });\n\n return formatBundleTaskResult(bundleRequest);\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bundleTask.js","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"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","sourcesContent":["import { bundle, getEntriesMapFromPackage, getExternalsFromPackage } from '@ms-cloudpack/bundler';\nimport type { BundleOptions } from '@ms-cloudpack/common-types';\nimport { writeJson } from '@ms-cloudpack/json-utilities';\nimport { getExportsMap } from '@ms-cloudpack/package-utilities';\nimport { formatPackageName } from '@ms-cloudpack/task-reporter';\nimport path from 'path';\nimport { prepareOutputPath } from '../common/prepareOutputPath.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport type { BundleTaskOptions } from '../types/BundleTaskOptions.js';\nimport { diskCacheRatioMetricEventAggregator } from './diskCacheRatioMetricEventAggregator.js';\nimport { getBundleInfo } from './getBundleInfo.js';\nimport { getBundleLocation } from './getBundleLocation.js';\nimport { isCachedResultValid } from './isCachedResultValid.js';\nimport { readResultFromCache } from './readResultFromCache.js';\nimport { saveResultToCache } from './saveResultToCache.js';\nimport { formatBundleTaskResult } from './formatBundleTaskResult.js';\nimport type { PartialContext } from '../types/Context.js';\n\nexport type BundleTaskInternalOptions = BundleTaskOptions & { bundleRequest: BundleRequest };\nexport type BundleTaskInternalContext = PartialContext<\n 'packages' | 'packageHashes' | 'reporter' | 'telemetryClient',\n 'resolveMap' | 'config' | 'sequence' | 'cachePath'\n>;\n\n/**\n * Create and run a TaskReporter task which calls `bundle()` from `@ms-cloudpack/bundler` and formats the result.\n */\nexport async function bundleTask(\n options: BundleTaskInternalOptions,\n context: BundleTaskInternalContext,\n): Promise<void> {\n const { bundleRequest, force, hash, sourceHash } = options;\n const { packageName, version } = bundleRequest;\n const { reporter, telemetryClient, packageHashes, packages, session } = context;\n const { config, sequence } = session;\n const { mode } = config;\n const { retryCount } = options;\n\n // This will register the disk cache ratio metric aggregator if it's not already registered.\n // This is a no-op if it's already registered.\n telemetryClient?.performance.registerAggregator(diskCacheRatioMetricEventAggregator);\n\n const taskName = `Bundle ${formatPackageName({\n name: packageName,\n version,\n })}${retryCount ? ` (retry ${retryCount})` : ''}`;\n\n await reporter.runTask(taskName, async () => {\n // If force is set, dispose the existing result.\n if (force && bundleRequest?.result?.dispose) {\n bundleRequest.result.dispose();\n bundleRequest.result = undefined;\n }\n\n const { packagePath, isExternal, isIncremental, disableSourceMaps, shouldGetBundleInfo } = bundleRequest;\n\n const outputPath =\n bundleRequest.outputPath ??\n (await getBundleLocation({ packagePath, shouldRecalculate: force, hash }, context)).path;\n\n // Rehydrate the result if not incremental.\n if (bundleRequest.result === undefined && !force) {\n bundleRequest.result = await readResultFromCache(outputPath, {\n inputPath: packagePath,\n });\n }\n\n const cacheValidationHash = !isExternal\n ? sourceHash || (await packageHashes.get({ packagePath, isSourceHashingEnabled: true, shouldRecalculate: true }))\n : undefined;\n\n // if the cached result is valid, use it.\n if (!force && isCachedResultValid({ bundleRequest, hash: cacheValidationHash })) {\n console.debug(`Using cached result for ${bundleRequest.packageName}@${bundleRequest.version}`);\n bundleRequest.resultFromCache = true;\n } else {\n bundleRequest.resultFromCache = false;\n\n // Only use cached result if it's successful.\n await prepareOutputPath(outputPath);\n\n if (bundleRequest.result?.rebuild) {\n bundleRequest.result = {\n ...(await bundleRequest.result.rebuild()),\n outputPath: bundleRequest.result.outputPath,\n hash: cacheValidationHash,\n };\n } else {\n const {\n bundler,\n bundlerOptions,\n inlinedDependencies,\n dynamicImports,\n bundlerCapabilities,\n ignoredBundlerWarnings,\n } = (await packages.get(packagePath)).cloudpack || {};\n\n const bundleOptions: BundleOptions = {\n bundler: bundleRequest.bundler || bundler,\n minify: mode === 'production',\n bundlerOptions,\n inputPath: packagePath,\n outputPath,\n incremental: isIncremental !== undefined ? isIncremental : false,\n sourcemap: !disableSourceMaps,\n entries: await getEntriesMapFromPackage({ inputPath: packagePath }, { packages, config }),\n inlined: inlinedDependencies,\n external: await getExternalsFromPackage({ inputPath: packagePath }, { packages }),\n dynamicImports,\n ignoredBundlerWarnings,\n bundlerCapabilities,\n };\n\n const bundleInternalResult = await bundle(bundleOptions, { config });\n bundleRequest.result = {\n ...bundleInternalResult,\n outputPath: bundleOptions.outputPath ?? outputPath,\n hash: cacheValidationHash,\n };\n }\n\n // Write the result to disk.\n await saveResultToCache(bundleRequest.result);\n }\n\n // If we should find required imports and exports per bundle\n if (shouldGetBundleInfo && !bundleRequest.result?.errors?.length && bundleRequest.result?.outputFiles?.length) {\n const bundleInfoPath = path.join(outputPath, 'bundle-info.json');\n\n // Exports map is needed to find the bundle info per entry we intend to bundle.\n // Exports map is used instead of bundleRequest.entries since it is easier to use\n // because it contains the paths other packages use to import the entry and\n // the relative location of the bundled files.\n const exportsMap = await getExportsMap({ packagePath }, { packages, config });\n\n const bundleInfo = await getBundleInfo({\n outputPath,\n outputFiles: bundleRequest.result.outputFiles,\n exportsMap,\n isExternal,\n packagePath,\n });\n\n bundleRequest.result.info = bundleInfo;\n\n // Write to cache for future use. (Ignore the promise result.)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n writeJson(bundleInfoPath, bundleInfo);\n }\n\n diskCacheRatioMetricEventAggregator.record({\n sequence,\n isCacheHit: !!bundleRequest.resultFromCache,\n isExternal: bundleRequest.isExternal,\n });\n\n return formatBundleTaskResult(bundleRequest);\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRemoteCacheClient.d.ts","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"createRemoteCacheClient.d.ts","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,CACf;IACE,WAAW,EAAE,WAAW,CAAC;CAC1B,EACD,SAAS,GAAG,UAAU,GAAG,iBAAiB,CAC3C,mEAeF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';
|
|
2
|
-
import { getCachePath } from './getCachePath.js';
|
|
3
2
|
export async function createRemoteCacheClient(params) {
|
|
4
3
|
const { ctx, input } = params;
|
|
5
4
|
const { loginMethod } = input;
|
|
@@ -8,7 +7,7 @@ export async function createRemoteCacheClient(params) {
|
|
|
8
7
|
const remoteCacheModule = await import('@ms-cloudpack/remote-cache');
|
|
9
8
|
const client = await remoteCacheModule.createRemoteCacheClient({
|
|
10
9
|
context: { reporter, telemetryClient },
|
|
11
|
-
options: { container, loginMethod, storageAccount, cachePath:
|
|
10
|
+
options: { container, loginMethod, storageAccount, cachePath: session.cachePath, tenantId },
|
|
12
11
|
});
|
|
13
12
|
return client;
|
|
14
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRemoteCacheClient.js","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"createRemoteCacheClient.js","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAIpF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAKC;IAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC;QAC7D,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;QACtC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE;KAC5F,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport type { LoginMethod } from '@ms-cloudpack/remote-cache';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nexport async function createRemoteCacheClient(\n params: ApiParams<\n {\n loginMethod: LoginMethod;\n },\n 'session' | 'reporter' | 'telemetryClient'\n >,\n) {\n const { ctx, input } = params;\n const { loginMethod } = input;\n const { session, reporter, telemetryClient } = ctx;\n const { container, storageAccount, tenantId } = ensureRemoteCacheEnabled(session.config);\n\n const remoteCacheModule = await import('@ms-cloudpack/remote-cache');\n\n const client = await remoteCacheModule.createRemoteCacheClient({\n context: { reporter, telemetryClient },\n options: { container, loginMethod, storageAccount, cachePath: session.cachePath, tenantId },\n });\n\n return client;\n}\n"]}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import type { PackageDefinitionsCache } from '@ms-cloudpack/common-types';
|
|
2
|
-
import type { PackageHashes } from '@ms-cloudpack/package-hashes';
|
|
3
1
|
import type { RemoteCacheClientOperationOptions } from '@ms-cloudpack/remote-cache';
|
|
2
|
+
import type { PartialContext } from '../types/Context.js';
|
|
4
3
|
export declare function createRemoteCacheClientOperationOptions(options: {
|
|
5
4
|
packagePath: string;
|
|
6
5
|
packageName: string;
|
|
7
6
|
packageVersion: string;
|
|
8
|
-
}, context:
|
|
9
|
-
packageHashes: PackageHashes;
|
|
10
|
-
packages: PackageDefinitionsCache;
|
|
11
|
-
}): Promise<RemoteCacheClientOperationOptions>;
|
|
7
|
+
}, context: PartialContext<'packageHashes' | 'packages', 'cachePath'>): Promise<RemoteCacheClientOperationOptions>;
|
|
12
8
|
//# sourceMappingURL=createRemoteCacheClientOperationOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRemoteCacheClientOperationOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClientOperationOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createRemoteCacheClientOperationOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClientOperationOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAsB,uCAAuC,CAC3D,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,EAC7E,OAAO,EAAE,cAAc,CAAC,eAAe,GAAG,UAAU,EAAE,WAAW,CAAC,GACjE,OAAO,CAAC,iCAAiC,CAAC,CAoB5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRemoteCacheClientOperationOptions.js","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClientOperationOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createRemoteCacheClientOperationOptions.js","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClientOperationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,OAA6E,EAC7E,OAAkE;IAElE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAC7D,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAExD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IAExE,IAAI,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,aAAa,CAAC,UAAU;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,8FAA8F;IAC9F,OAAO;QACL,EAAE,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC3G,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import { isExternalPackage } from '@ms-cloudpack/package-utilities';\nimport type { RemoteCacheClientOperationOptions } from '@ms-cloudpack/remote-cache';\nimport { getBundleLocation } from './getBundleLocation.js';\nimport type { PartialContext } from '../types/Context.js';\n\nexport async function createRemoteCacheClientOperationOptions(\n options: { packagePath: string; packageName: string; packageVersion: string },\n context: PartialContext<'packageHashes' | 'packages', 'cachePath'>,\n): Promise<RemoteCacheClientOperationOptions> {\n const { packagePath, packageName, packageVersion } = options;\n const friendlyName = `${packageName}@${packageVersion}`;\n\n const localLocation = await getBundleLocation({ packagePath }, context);\n\n if (isExternalPackage(options.packagePath)) {\n return {\n id: localLocation.folderName,\n path: localLocation.path,\n friendlyName,\n };\n }\n\n // If the package is internal, we need to get the source hash of the package to be used as id.\n return {\n id: await context.packageHashes.get({ packagePath, isSourceHashingEnabled: true, shouldRecalculate: true }),\n path: localLocation.path,\n friendlyName,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActiveSessionsPath.d.ts","sourceRoot":"","sources":["../../src/utilities/getActiveSessionsPath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getActiveSessionsPath.d.ts","sourceRoot":"","sources":["../../src/utilities/getActiveSessionsPath.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,UAEtD"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import { getCachePath } from './getCachePath.js';
|
|
3
2
|
/**
|
|
4
3
|
* Gets the path to the active sessions directory.
|
|
5
4
|
*/
|
|
6
|
-
export function getActiveSessionsPath() {
|
|
7
|
-
return path.join(
|
|
5
|
+
export function getActiveSessionsPath(cachePath) {
|
|
6
|
+
return path.join(cachePath, 'active-sessions');
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=getActiveSessionsPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActiveSessionsPath.js","sourceRoot":"","sources":["../../src/utilities/getActiveSessionsPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"getActiveSessionsPath.js","sourceRoot":"","sources":["../../src/utilities/getActiveSessionsPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACjD,CAAC","sourcesContent":["import path from 'path';\n\n/**\n * Gets the path to the active sessions directory.\n */\nexport function getActiveSessionsPath(cachePath: string) {\n return path.join(cachePath, 'active-sessions');\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PartialContext } from '../types/Context.js';
|
|
2
2
|
export declare function getBundleLocation(options: {
|
|
3
3
|
packagePath: string;
|
|
4
4
|
shouldRecalculate?: boolean;
|
|
5
5
|
hash?: string;
|
|
6
|
-
}, context:
|
|
6
|
+
}, context: PartialContext<'packages' | 'packageHashes', 'cachePath'>): Promise<{
|
|
7
7
|
path: string;
|
|
8
8
|
folderName: string;
|
|
9
9
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBundleLocation.d.ts","sourceRoot":"","sources":["../../src/utilities/getBundleLocation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getBundleLocation.d.ts","sourceRoot":"","sources":["../../src/utilities/getBundleLocation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5E,OAAO,EAAE,cAAc,CAAC,UAAU,GAAG,eAAe,EAAE,WAAW,CAAC;;;GA4BnE"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import filenamify from 'filenamify';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import { getCachePath } from './getCachePath.js';
|
|
4
3
|
export async function getBundleLocation(options, context) {
|
|
5
4
|
const { packagePath, shouldRecalculate, hash } = options;
|
|
6
|
-
const { packages, packageHashes } = context;
|
|
5
|
+
const { packages, packageHashes, session } = context;
|
|
6
|
+
const { cachePath } = session;
|
|
7
7
|
const definition = await packages.get(packagePath);
|
|
8
|
-
if (!definition) {
|
|
9
|
-
throw new Error(`Package definition (package.json) missing or invalid at "${packagePath}"`);
|
|
10
|
-
}
|
|
11
|
-
if (!definition.name) {
|
|
12
|
-
throw new Error(`Package definition (package.json) missing name at "${packagePath}"`);
|
|
13
|
-
}
|
|
14
8
|
const { name, version } = definition;
|
|
15
9
|
const hashResult = hash ||
|
|
16
10
|
(await packageHashes.get({
|
|
@@ -24,7 +18,7 @@ export async function getBundleLocation(options, context) {
|
|
|
24
18
|
}));
|
|
25
19
|
// Derive where the output should be.
|
|
26
20
|
const folderName = `${filenamify(name, { replacement: '^' })}-${version}-${hashResult}`;
|
|
27
|
-
const outputPath = path.join(
|
|
21
|
+
const outputPath = path.join(cachePath, folderName);
|
|
28
22
|
return {
|
|
29
23
|
path: outputPath,
|
|
30
24
|
folderName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBundleLocation.js","sourceRoot":"","sources":["../../src/utilities/getBundleLocation.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"getBundleLocation.js","sourceRoot":"","sources":["../../src/utilities/getBundleLocation.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA4E,EAC5E,OAAkE;IAElE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAErC,MAAM,UAAU,GACd,IAAI;QACJ,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC;YACvB,WAAW;YACX;;;eAGG;YACH,sBAAsB,EAAE,KAAK;YAC7B,iBAAiB;SAClB,CAAC,CAAC,CAAC;IACN,qCAAqC;IACrC,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;IACxF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,UAAU;KACX,CAAC;AACJ,CAAC","sourcesContent":["import filenamify from 'filenamify';\nimport path from 'path';\nimport type { PartialContext } from '../types/Context.js';\n\nexport async function getBundleLocation(\n options: { packagePath: string; shouldRecalculate?: boolean; hash?: string },\n context: PartialContext<'packages' | 'packageHashes', 'cachePath'>,\n) {\n const { packagePath, shouldRecalculate, hash } = options;\n const { packages, packageHashes, session } = context;\n const { cachePath } = session;\n const definition = await packages.get(packagePath);\n\n const { name, version } = definition;\n\n const hashResult =\n hash ||\n (await packageHashes.get({\n packagePath,\n /**\n * We don't use source hashing for location,\n * because we do not want to create a new folder for each change in a package.\n */\n isSourceHashingEnabled: false,\n shouldRecalculate,\n }));\n // Derive where the output should be.\n const folderName = `${filenamify(name, { replacement: '^' })}-${version}-${hashResult}`;\n const outputPath = path.join(cachePath, folderName);\n\n return {\n path: outputPath,\n folderName,\n };\n}\n"]}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import type { PackageDefinitionsCache } from '@ms-cloudpack/common-types';
|
|
2
|
-
import { type ResolveMap } from '@ms-cloudpack/package-utilities';
|
|
3
|
-
import type { PackageHashes } from '@ms-cloudpack/package-hashes';
|
|
4
1
|
import type { RemoteCacheClientOperationOptions } from '@ms-cloudpack/remote-cache';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
packageHashes: PackageHashes;
|
|
8
|
-
resolveMap: ResolveMap;
|
|
9
|
-
syncInternalPackages: boolean;
|
|
10
|
-
}): Promise<RemoteCacheClientOperationOptions[]>;
|
|
2
|
+
import type { PartialContext } from '../types/Context.js';
|
|
3
|
+
export declare function getPackagesToSync(context: PartialContext<'packages' | 'packageHashes', 'resolveMap' | 'cachePath' | 'config'>): Promise<RemoteCacheClientOperationOptions[]>;
|
|
11
4
|
//# sourceMappingURL=getPackagesToSync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackagesToSync.d.ts","sourceRoot":"","sources":["../../src/utilities/getPackagesToSync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPackagesToSync.d.ts","sourceRoot":"","sources":["../../src/utilities/getPackagesToSync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,CAAC,UAAU,GAAG,eAAe,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC,GAC3F,OAAO,CAAC,iCAAiC,EAAE,CAAC,CAQ9C"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { isExternalPackage } from '@ms-cloudpack/package-utilities';
|
|
2
2
|
import { createRemoteCacheClientOperationOptions } from './createRemoteCacheClientOperationOptions.js';
|
|
3
|
-
export async function getPackagesToSync(
|
|
4
|
-
const {
|
|
3
|
+
export async function getPackagesToSync(context) {
|
|
4
|
+
const { session } = context;
|
|
5
|
+
const { resolveMap } = session;
|
|
5
6
|
const list = [];
|
|
6
|
-
await processEntries({ entries: Object.values(resolveMap), list,
|
|
7
|
+
await processEntries({ entries: Object.values(resolveMap), list }, context);
|
|
7
8
|
return list;
|
|
8
9
|
}
|
|
9
|
-
async function processEntries(options) {
|
|
10
|
-
const { entries, list
|
|
10
|
+
async function processEntries(options, context) {
|
|
11
|
+
const { entries, list } = options;
|
|
12
|
+
const syncInternalPackages = context.session.config.features || {};
|
|
11
13
|
for (const { path: packagePath, name: packageName, version: packageVersion, scopedVersions } of entries) {
|
|
12
14
|
if (isExternalPackage(packagePath) || syncInternalPackages) {
|
|
13
|
-
list.push(await createRemoteCacheClientOperationOptions({ packagePath, packageName, packageVersion },
|
|
15
|
+
list.push(await createRemoteCacheClientOperationOptions({ packagePath, packageName, packageVersion }, context));
|
|
14
16
|
}
|
|
15
17
|
if (scopedVersions) {
|
|
16
|
-
await processEntries({
|
|
18
|
+
await processEntries({ list, entries: Object.values(scopedVersions) }, context);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackagesToSync.js","sourceRoot":"","sources":["../../src/utilities/getPackagesToSync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPackagesToSync.js","sourceRoot":"","sources":["../../src/utilities/getPackagesToSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,iCAAiC,CAAC;AAE1F,OAAO,EAAE,uCAAuC,EAAE,MAAM,8CAA8C,CAAC;AAGvG,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA4F;IAE5F,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,IAAI,GAAwC,EAAE,CAAC;IAErD,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAGC,EACD,OAA6E;IAE7E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEnE,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,OAAO,EAAE,CAAC;QACxG,IAAI,iBAAiB,CAAC,WAAW,CAAC,IAAI,oBAAoB,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,uCAAuC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAClH,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { isExternalPackage, type ResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport type { RemoteCacheClientOperationOptions } from '@ms-cloudpack/remote-cache';\nimport { createRemoteCacheClientOperationOptions } from './createRemoteCacheClientOperationOptions.js';\nimport type { PartialContext } from '../types/Context.js';\n\nexport async function getPackagesToSync(\n context: PartialContext<'packages' | 'packageHashes', 'resolveMap' | 'cachePath' | 'config'>,\n): Promise<RemoteCacheClientOperationOptions[]> {\n const { session } = context;\n const { resolveMap } = session;\n const list: RemoteCacheClientOperationOptions[] = [];\n\n await processEntries({ entries: Object.values(resolveMap), list }, context);\n\n return list;\n}\n\nasync function processEntries(\n options: {\n entries: ResolveMapEntry[];\n list: RemoteCacheClientOperationOptions[];\n },\n context: PartialContext<'packages' | 'packageHashes', 'cachePath' | 'config'>,\n): Promise<void> {\n const { entries, list } = options;\n const syncInternalPackages = context.session.config.features || {};\n\n for (const { path: packagePath, name: packageName, version: packageVersion, scopedVersions } of entries) {\n if (isExternalPackage(packagePath) || syncInternalPackages) {\n list.push(await createRemoteCacheClientOperationOptions({ packagePath, packageName, packageVersion }, context));\n }\n\n if (scopedVersions) {\n await processEntries({ list, entries: Object.values(scopedVersions) }, context);\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/api-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.0",
|
|
4
4
|
"description": "An implementation of the API server that does interacts with a task scheduler.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,18 +27,18 @@
|
|
|
27
27
|
"@lage-run/logger": "^1.3.0",
|
|
28
28
|
"@lage-run/scheduler": "^1.2.1",
|
|
29
29
|
"@lage-run/target-graph": "^0.8.9",
|
|
30
|
-
"@ms-cloudpack/bundler": "^0.22.
|
|
31
|
-
"@ms-cloudpack/common-types": "^0.
|
|
32
|
-
"@ms-cloudpack/config": "^0.27.
|
|
33
|
-
"@ms-cloudpack/create-express-app": "^1.8.
|
|
30
|
+
"@ms-cloudpack/bundler": "^0.22.23",
|
|
31
|
+
"@ms-cloudpack/common-types": "^0.19.1",
|
|
32
|
+
"@ms-cloudpack/config": "^0.27.2",
|
|
33
|
+
"@ms-cloudpack/create-express-app": "^1.8.3",
|
|
34
34
|
"@ms-cloudpack/data-bus": "^0.4.2",
|
|
35
35
|
"@ms-cloudpack/file-watcher": "^0.1.2",
|
|
36
|
-
"@ms-cloudpack/import-map": "^0.6.
|
|
36
|
+
"@ms-cloudpack/import-map": "^0.6.8",
|
|
37
37
|
"@ms-cloudpack/json-utilities": "^0.1.7",
|
|
38
|
-
"@ms-cloudpack/package-hashes": "^0.6.
|
|
39
|
-
"@ms-cloudpack/package-utilities": "^
|
|
38
|
+
"@ms-cloudpack/package-hashes": "^0.6.24",
|
|
39
|
+
"@ms-cloudpack/package-utilities": "^10.0.1",
|
|
40
40
|
"@ms-cloudpack/path-string-parsing": "^1.2.4",
|
|
41
|
-
"@ms-cloudpack/path-utilities": "^2.7.
|
|
41
|
+
"@ms-cloudpack/path-utilities": "^2.7.38",
|
|
42
42
|
"@ms-cloudpack/remote-cache": "^0.8.6",
|
|
43
43
|
"@ms-cloudpack/task-reporter": "^0.14.4",
|
|
44
44
|
"@ms-cloudpack/telemetry": "^0.6.1",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ensures that the given optional fields are present on the object. Throws an error if they are not.
|
|
3
|
-
* @param input - The object to validate.
|
|
4
|
-
* @param fields - The names of the fields to validate.
|
|
5
|
-
* @returns - The object with the fields.
|
|
6
|
-
*/
|
|
7
|
-
export declare function ensureFieldsExist<T extends object, TKey extends keyof T>(input: T | undefined, fields: TKey[]): Omit<T, TKey> & Required<Pick<T, TKey>>;
|
|
8
|
-
//# sourceMappingURL=ensureFieldsExist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureFieldsExist.d.ts","sourceRoot":"","sources":["../../src/utilities/ensureFieldsExist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAW5F,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CACxD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ensures that the given optional fields are present on the object. Throws an error if they are not.
|
|
3
|
-
* @param input - The object to validate.
|
|
4
|
-
* @param fields - The names of the fields to validate.
|
|
5
|
-
* @returns - The object with the fields.
|
|
6
|
-
*/
|
|
7
|
-
export function ensureFieldsExist(input, fields) {
|
|
8
|
-
if (!input) {
|
|
9
|
-
throw new Error('Input is missing.');
|
|
10
|
-
}
|
|
11
|
-
for (const field of fields) {
|
|
12
|
-
if (!input[field]) {
|
|
13
|
-
throw new Error(`${field} is missing.`);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return input;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=ensureFieldsExist.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureFieldsExist.js","sourceRoot":"","sources":["../../src/utilities/ensureFieldsExist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAyC,KAAoB,EAAE,MAAc;IAC5G,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAe,cAAc,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,KAAgD,CAAC;AAC1D,CAAC","sourcesContent":["/**\n * Ensures that the given optional fields are present on the object. Throws an error if they are not.\n * @param input - The object to validate.\n * @param fields - The names of the fields to validate.\n * @returns - The object with the fields.\n */\nexport function ensureFieldsExist<T extends object, TKey extends keyof T>(input: T | undefined, fields: TKey[]) {\n if (!input) {\n throw new Error('Input is missing.');\n }\n\n for (const field of fields) {\n if (!input[field]) {\n throw new Error(`${field as string} is missing.`);\n }\n }\n\n return input as Omit<T, TKey> & Required<Pick<T, TKey>>;\n}\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets the path to the cache directory.
|
|
3
|
-
*/
|
|
4
|
-
export declare function getCachePath(): string;
|
|
5
|
-
/**
|
|
6
|
-
* Gets the path to the app's local cache directory.
|
|
7
|
-
*/
|
|
8
|
-
export declare function getLocalCachePath(appPath: string): string;
|
|
9
|
-
//# sourceMappingURL=getCachePath.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCachePath.d.ts","sourceRoot":"","sources":["../../src/utilities/getCachePath.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,YAAY,WAE3B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,UAEhD"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import os from 'os';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
/**
|
|
4
|
-
* Gets the path to the cache directory.
|
|
5
|
-
*/
|
|
6
|
-
export function getCachePath() {
|
|
7
|
-
return path.join(os.homedir(), '.cloudpack');
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Gets the path to the app's local cache directory.
|
|
11
|
-
*/
|
|
12
|
-
export function getLocalCachePath(appPath) {
|
|
13
|
-
return path.join(appPath, 'node_modules', '.cache', 'cloudpack');
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=getCachePath.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCachePath.js","sourceRoot":"","sources":["../../src/utilities/getCachePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import os from 'os';\nimport path from 'path';\n\n/**\n * Gets the path to the cache directory.\n */\nexport function getCachePath() {\n return path.join(os.homedir(), '.cloudpack');\n}\n\n/**\n * Gets the path to the app's local cache directory.\n */\nexport function getLocalCachePath(appPath: string) {\n return path.join(appPath, 'node_modules', '.cache', 'cloudpack');\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSessionPath.d.ts","sourceRoot":"","sources":["../../src/utilities/getSessionPath.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,UAE9C"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { getActiveSessionsPath } from './getActiveSessionsPath.js';
|
|
3
|
-
/**
|
|
4
|
-
* Gets the path to a session file.
|
|
5
|
-
*/
|
|
6
|
-
export function getSessionPath(session) {
|
|
7
|
-
return path.join(getActiveSessionsPath(), `${session.id}.json`);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=getSessionPath.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSessionPath.js","sourceRoot":"","sources":["../../src/utilities/getSessionPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import path from 'path';\nimport { getActiveSessionsPath } from './getActiveSessionsPath.js';\nimport type { Session } from '@ms-cloudpack/common-types';\n\n/**\n * Gets the path to a session file.\n */\nexport function getSessionPath(session: Session) {\n return path.join(getActiveSessionsPath(), `${session.id}.json`);\n}\n"]}
|