@ms-cloudpack/api-server 0.36.0 → 0.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/lib/apis/ensurePackageBundled.d.ts +2 -0
  2. package/lib/apis/ensurePackageBundled.d.ts.map +1 -1
  3. package/lib/apis/ensurePackageBundled.js +12 -13
  4. package/lib/apis/ensurePackageBundled.js.map +1 -1
  5. package/lib/apis/openCodeEditor.d.ts.map +1 -1
  6. package/lib/apis/openCodeEditor.js +3 -2
  7. package/lib/apis/openCodeEditor.js.map +1 -1
  8. package/lib/data/busSources.d.ts +80 -80
  9. package/lib/types/BundleInfo.d.ts +25 -11
  10. package/lib/types/BundleInfo.d.ts.map +1 -1
  11. package/lib/types/BundleInfo.js.map +1 -1
  12. package/lib/types/TaskDescription.d.ts +64 -64
  13. package/lib/types/TaskEndDescription.d.ts +64 -64
  14. package/lib/types/TaskMessage.d.ts +34 -34
  15. package/lib/types/TaskMessageLocation.d.ts +6 -6
  16. package/lib/types/TaskMessageLocation.js +2 -2
  17. package/lib/types/TaskMessageLocation.js.map +1 -1
  18. package/lib/types/TaskOptions.d.ts +1 -0
  19. package/lib/types/TaskOptions.d.ts.map +1 -1
  20. package/lib/types/TaskOptions.js.map +1 -1
  21. package/lib/types/TaskResponse.d.ts +80 -80
  22. package/lib/types/TaskResult.d.ts +64 -64
  23. package/lib/utilities/TaskRunner.d.ts +4 -0
  24. package/lib/utilities/TaskRunner.d.ts.map +1 -1
  25. package/lib/utilities/TaskRunner.js +10 -2
  26. package/lib/utilities/TaskRunner.js.map +1 -1
  27. package/lib/utilities/bundleTask.d.ts.map +1 -1
  28. package/lib/utilities/bundleTask.js +3 -36
  29. package/lib/utilities/bundleTask.js.map +1 -1
  30. package/lib/utilities/createRemoteCacheClient.js +2 -2
  31. package/lib/utilities/createRemoteCacheClient.js.map +1 -1
  32. package/lib/utilities/ensureRemoteCacheEnabled.d.ts +1 -0
  33. package/lib/utilities/ensureRemoteCacheEnabled.d.ts.map +1 -1
  34. package/lib/utilities/formatBundleTaskResult.d.ts +4 -0
  35. package/lib/utilities/formatBundleTaskResult.d.ts.map +1 -0
  36. package/lib/utilities/formatBundleTaskResult.js +48 -0
  37. package/lib/utilities/formatBundleTaskResult.js.map +1 -0
  38. package/lib/utilities/getBundleInfo.d.ts.map +1 -1
  39. package/lib/utilities/getBundleInfo.js +12 -13
  40. package/lib/utilities/getBundleInfo.js.map +1 -1
  41. package/lib/utilities/getConsumedDependencies.js +2 -2
  42. package/lib/utilities/getConsumedDependencies.js.map +1 -1
  43. package/lib/utilities/getConsumedPaths.js +2 -2
  44. package/lib/utilities/getConsumedPaths.js.map +1 -1
  45. package/package.json +11 -11
  46. package/lib/utilities/formatBundleErrors.d.ts +0 -9
  47. package/lib/utilities/formatBundleErrors.d.ts.map +0 -1
  48. package/lib/utilities/formatBundleErrors.js +0 -15
  49. package/lib/utilities/formatBundleErrors.js.map +0 -1
@@ -24,6 +24,8 @@ export interface EnsurePackageBundledInput extends Pick<BundleRequest, 'outputPa
24
24
  * but eliminates task cache artifacts when handling many apps.
25
25
  */
26
26
  useHashAsId?: boolean;
27
+ /** Priority for bundling. Greater priority will be scheduled first (defaults to 0). */
28
+ priority?: number;
27
29
  }
28
30
  /**
29
31
  * Result of ensuring a single package is bundled.
@@ -1 +1 @@
1
- {"version":3,"file":"ensurePackageBundled.d.ts","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IACnH,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkBD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnH,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;CACrB;AA0CD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;CACrD;AAOD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CACf,yBAAyB,EACvB,KAAK,GACL,YAAY,GACZ,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,oBAAoB,GACpB,eAAe,CAClB,GACA,OAAO,CAAC,0BAA0B,CAAC,CAmCrC;yBAhDqB,oBAAoB;;;;;;;;;;;;;;;;AAkM1C,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"ensurePackageBundled.d.ts","sourceRoot":"","sources":["../../src/apis/ensurePackageBundled.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IACnH,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmBD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnH,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;CACrB;AAwCD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;CACrD;AAOD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CACf,yBAAyB,EACvB,KAAK,GACL,YAAY,GACZ,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,oBAAoB,GACpB,eAAe,CAClB,GACA,OAAO,CAAC,0BAA0B,CAAC,CAmCrC;yBAhDqB,oBAAoB;;;;;;;;;;;;;;;;AAmM1C,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -22,6 +22,7 @@ const ZodEnsurePackageBundledInput = matchingZodObject({
22
22
  disableCache: z.boolean().optional(),
23
23
  isIncremental: z.boolean().optional(),
24
24
  useHashAsId: z.boolean().optional(),
25
+ priority: z.number().optional(),
25
26
  });
26
27
  const ZodEnsurePackageBundledResult = matchingZodObject({
27
28
  name: z.string(),
@@ -43,17 +44,15 @@ const ZodEnsurePackageBundledResult = matchingZodObject({
43
44
  warnings: z.array(ZodTaskMessage).optional(),
44
45
  isExternal: z.boolean(),
45
46
  info: z
46
- .object({
47
- entry: z.record(z.object({
48
- bundlePath: z.string(),
49
- produces: z.array(z.string()),
50
- consumes: z.array(z.object({
51
- packageName: z.string(),
52
- importPath: z.string(),
53
- names: z.array(z.string()),
54
- })),
47
+ .record(z.object({
48
+ bundlePath: z.string(),
49
+ produces: z.array(z.string()),
50
+ consumes: z.array(z.object({
51
+ packageName: z.string(),
52
+ importPath: z.string(),
53
+ names: z.array(z.string()),
55
54
  })),
56
- })
55
+ }))
57
56
  .optional(),
58
57
  });
59
58
  const ZodEnsurePackageBundledOutput = matchingZodObject({
@@ -99,7 +98,7 @@ export async function ensurePackageBundled(params) {
99
98
  }
100
99
  async function ensurePackageBundledInternal(params) {
101
100
  const { input, ctx, visited } = params;
102
- const { name, version, shouldWatch, bundlerType, disableSourceMaps, outputPath, shouldGetBundleInfo, shouldRerun, shouldForce, disableCache, isIncremental, useHashAsId, } = input;
101
+ const { name, version, shouldWatch, bundlerType, disableSourceMaps, outputPath, shouldGetBundleInfo, shouldRerun, shouldForce, disableCache, isIncremental, useHashAsId, priority, } = input;
103
102
  const { taskRunner, session, watcher, packageHashes } = ctx;
104
103
  const { resolveMap, config } = session;
105
104
  const { features } = config;
@@ -144,7 +143,7 @@ async function ensurePackageBundledInternal(params) {
144
143
  }, { config });
145
144
  const task = createBundleTask({ bundleRequest, context: ctx, options: { force: shouldForce, hash, sourceHash } });
146
145
  // TODO: Add lage scheduling back.
147
- const { result } = await taskRunner.add(task, { rerun: shouldRerun });
146
+ const { result } = await taskRunner.add(task, { rerun: shouldRerun, priority });
148
147
  if (!result) {
149
148
  throw new Error('Bundle failed, no result');
150
149
  }
@@ -173,7 +172,7 @@ async function ensurePackageBundledInternal(params) {
173
172
  });
174
173
  }
175
174
  // If enabled, enqueue dependencies.
176
- if (enqueueDependencies && result?.info?.entry) {
175
+ if (enqueueDependencies && result?.info) {
177
176
  for (const dependencyName of getConsumedDependencies(result.info)) {
178
177
  const dependencyVersion = packageEntry.dependencies[dependencyName];
179
178
  // If we've already visited this package from another package, skip it.
@@ -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 { getPackageSettings } from '@ms-cloudpack/config';\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' | 'bundlerType' | '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}\n\nconst ZodEnsurePackageBundledInput = matchingZodObject<EnsurePackageBundledInput>({\n name: z.string(),\n version: z.string(),\n outputPath: z.string().optional(),\n bundlerType: z.string().optional(),\n disableSourceMaps: z.boolean().optional(),\n enqueueDependencies: z.boolean().optional(),\n 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});\n\n/**\n * Result of ensuring a single package is bundled.\n */\nexport interface EnsurePackageBundledResult extends Omit<NonNullable<BundleRequest['result']>, 'rebuild' | 'dispose'> {\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 bundlerName: 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 .object({\n entry: z.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 })\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 bundlerType,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo,\n shouldRerun,\n shouldForce,\n disableCache,\n isIncremental,\n useHashAsId,\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 if (useHashAsId) {\n // If we are using the hash as the task id, we need to calculate it one and pass it through 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 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 bundlerType,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,\n disableCache,\n isIncremental,\n },\n { config },\n );\n\n const task = createBundleTask({ bundleRequest, context: ctx, options: { force: shouldForce, hash, sourceHash } });\n\n // TODO: Add lage scheduling back.\n const { result } = await taskRunner.add<BundleRequest>(task, { rerun: shouldRerun });\n\n if (!result) {\n throw new Error('Bundle failed, no result');\n }\n\n const { isExternal } = bundleRequest;\n\n const { userPackageSettings } =\n getPackageSettings({\n name: bundleRequest.packageName,\n version: bundleRequest.version,\n config,\n }) || {};\n const { inputPaths } = userPackageSettings || {};\n const watchOptions: WatchOptions = {\n path: packageEntry.path,\n watchPaths: inputPaths,\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(ctx);\n }\n };\n watcher.watch(watchOptions, () => {\n void onPackageChange();\n });\n }\n\n // If enabled, enqueue dependencies.\n if (enqueueDependencies && result?.info?.entry) {\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 { getPackageSettings } from '@ms-cloudpack/config';\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' | 'bundlerType' | '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 bundlerType: 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 extends Omit<NonNullable<BundleRequest['result']>, 'rebuild' | 'dispose'> {\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 bundlerName: 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 bundlerType,\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 if (useHashAsId) {\n // If we are using the hash as the task id, we need to calculate it one and pass it through 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 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 bundlerType,\n disableSourceMaps,\n outputPath,\n shouldGetBundleInfo: shouldGetBundleInfo || enqueueDependencies,\n disableCache,\n isIncremental,\n },\n { config },\n );\n\n const task = createBundleTask({ bundleRequest, context: ctx, options: { force: shouldForce, hash, sourceHash } });\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\n const { userPackageSettings } =\n getPackageSettings({\n name: bundleRequest.packageName,\n version: bundleRequest.version,\n config,\n }) || {};\n const { inputPaths } = userPackageSettings || {};\n const watchOptions: WatchOptions = {\n path: packageEntry.path,\n watchPaths: inputPaths,\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(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":"openCodeEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openCodeEditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;EAK1B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASjG;yBATqB,cAAc"}
1
+ {"version":3,"file":"openCodeEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openCodeEditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;EAK1B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASjG;yBATqB,cAAc"}
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import path from 'path';
4
4
  import { exec as execCallback } from 'child_process';
5
5
  import { promisify } from 'util';
6
+ import { formatLocation } from '@ms-cloudpack/path-utilities';
6
7
  const exec = promisify(execCallback);
7
8
  const ZodOpenCodeEditorInput = z.object({
8
9
  rootPath: z.string(),
@@ -12,9 +13,9 @@ const ZodOpenCodeEditorInput = z.object({
12
13
  });
13
14
  export async function openCodeEditor(params) {
14
15
  const { input: { rootPath, relativePath, line, column }, } = params;
15
- const fullPath = path.join(rootPath, relativePath || '');
16
+ const fullPath = formatLocation({ file: path.resolve(rootPath, relativePath || ''), line, column });
16
17
  console.log(`Opening VSCode with path: ${fullPath}`);
17
- await exec(`code --goto ${fullPath}:${line}:${column}`, { cwd: rootPath });
18
+ await exec(`code --goto ${fullPath}`, { cwd: rootPath });
18
19
  }
19
20
  // Attach a trpc procedure to the function.
20
21
  openCodeEditor.procedure = publicProcedure.input(ZodOpenCodeEditorInput).mutation(openCodeEditor);
@@ -1 +1 @@
1
- {"version":3,"file":"openCodeEditor.js","sourceRoot":"","sources":["../../src/apis/openCodeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAErC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAA6C;IAChF,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAChD,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAEzD,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IAErD,MAAM,IAAI,CAAC,eAAe,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,2CAA2C;AAC3C,cAAc,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport path from 'path';\nimport { exec as execCallback } from 'child_process';\nimport { promisify } from 'util';\nimport type { ApiParams } from '../types/ApiParams.js';\n\nconst exec = promisify(execCallback);\n\nconst ZodOpenCodeEditorInput = z.object({\n rootPath: z.string(),\n relativePath: z.string().optional(),\n line: z.number().optional(),\n column: z.number().optional(),\n});\nexport type OpenCodeEditorInput = z.infer<typeof ZodOpenCodeEditorInput>;\n\nexport async function openCodeEditor(params: ApiParams<OpenCodeEditorInput, never>): Promise<void> {\n const {\n input: { rootPath, relativePath, line, column },\n } = params;\n const fullPath = path.join(rootPath, relativePath || '');\n\n console.log(`Opening VSCode with path: ${fullPath}`);\n\n await exec(`code --goto ${fullPath}:${line}:${column}`, { cwd: rootPath });\n}\n\n// Attach a trpc procedure to the function.\nopenCodeEditor.procedure = publicProcedure.input(ZodOpenCodeEditorInput).mutation(openCodeEditor);\n"]}
1
+ {"version":3,"file":"openCodeEditor.js","sourceRoot":"","sources":["../../src/apis/openCodeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAErC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAA6C;IAChF,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAChD,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpG,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IAErD,MAAM,IAAI,CAAC,eAAe,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,2CAA2C;AAC3C,cAAc,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport path from 'path';\nimport { exec as execCallback } from 'child_process';\nimport { promisify } from 'util';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { formatLocation } from '@ms-cloudpack/path-utilities';\n\nconst exec = promisify(execCallback);\n\nconst ZodOpenCodeEditorInput = z.object({\n rootPath: z.string(),\n relativePath: z.string().optional(),\n line: z.number().optional(),\n column: z.number().optional(),\n});\nexport type OpenCodeEditorInput = z.infer<typeof ZodOpenCodeEditorInput>;\n\nexport async function openCodeEditor(params: ApiParams<OpenCodeEditorInput, never>): Promise<void> {\n const {\n input: { rootPath, relativePath, line, column },\n } = params;\n const fullPath = formatLocation({ file: path.resolve(rootPath, relativePath || ''), line, column });\n\n console.log(`Opening VSCode with path: ${fullPath}`);\n\n await exec(`code --goto ${fullPath}`, { cwd: rootPath });\n}\n\n// Attach a trpc procedure to the function.\nopenCodeEditor.procedure = publicProcedure.input(ZodOpenCodeEditorInput).mutation(openCodeEditor);\n"]}
@@ -59,45 +59,45 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
59
59
  source: z.ZodString;
60
60
  location: z.ZodOptional<z.ZodObject<{
61
61
  file: z.ZodString;
62
- line: z.ZodNumber;
63
- column: z.ZodNumber;
62
+ line: z.ZodOptional<z.ZodNumber>;
63
+ column: z.ZodOptional<z.ZodNumber>;
64
64
  }, "strip", z.ZodTypeAny, {
65
65
  file: string;
66
- line: number;
67
- column: number;
66
+ line?: number | undefined;
67
+ column?: number | undefined;
68
68
  }, {
69
69
  file: string;
70
- line: number;
71
- column: number;
70
+ line?: number | undefined;
71
+ column?: number | undefined;
72
72
  }>>;
73
73
  notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
74
  text: z.ZodString;
75
75
  location: z.ZodOptional<z.ZodObject<{
76
76
  file: z.ZodString;
77
- line: z.ZodNumber;
78
- column: z.ZodNumber;
77
+ line: z.ZodOptional<z.ZodNumber>;
78
+ column: z.ZodOptional<z.ZodNumber>;
79
79
  }, "strip", z.ZodTypeAny, {
80
80
  file: string;
81
- line: number;
82
- column: number;
81
+ line?: number | undefined;
82
+ column?: number | undefined;
83
83
  }, {
84
84
  file: string;
85
- line: number;
86
- column: number;
85
+ line?: number | undefined;
86
+ column?: number | undefined;
87
87
  }>>;
88
88
  }, "strip", z.ZodTypeAny, {
89
89
  text: string;
90
90
  location?: {
91
91
  file: string;
92
- line: number;
93
- column: number;
92
+ line?: number | undefined;
93
+ column?: number | undefined;
94
94
  } | undefined;
95
95
  }, {
96
96
  text: string;
97
97
  location?: {
98
98
  file: string;
99
- line: number;
100
- column: number;
99
+ line?: number | undefined;
100
+ column?: number | undefined;
101
101
  } | undefined;
102
102
  }>, "many">>;
103
103
  }, "strip", z.ZodTypeAny, {
@@ -105,15 +105,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
105
105
  source: string;
106
106
  location?: {
107
107
  file: string;
108
- line: number;
109
- column: number;
108
+ line?: number | undefined;
109
+ column?: number | undefined;
110
110
  } | undefined;
111
111
  notes?: {
112
112
  text: string;
113
113
  location?: {
114
114
  file: string;
115
- line: number;
116
- column: number;
115
+ line?: number | undefined;
116
+ column?: number | undefined;
117
117
  } | undefined;
118
118
  }[] | undefined;
119
119
  }, {
@@ -121,15 +121,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
121
121
  source: string;
122
122
  location?: {
123
123
  file: string;
124
- line: number;
125
- column: number;
124
+ line?: number | undefined;
125
+ column?: number | undefined;
126
126
  } | undefined;
127
127
  notes?: {
128
128
  text: string;
129
129
  location?: {
130
130
  file: string;
131
- line: number;
132
- column: number;
131
+ line?: number | undefined;
132
+ column?: number | undefined;
133
133
  } | undefined;
134
134
  }[] | undefined;
135
135
  }>, "many">>;
@@ -138,45 +138,45 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
138
138
  source: z.ZodString;
139
139
  location: z.ZodOptional<z.ZodObject<{
140
140
  file: z.ZodString;
141
- line: z.ZodNumber;
142
- column: z.ZodNumber;
141
+ line: z.ZodOptional<z.ZodNumber>;
142
+ column: z.ZodOptional<z.ZodNumber>;
143
143
  }, "strip", z.ZodTypeAny, {
144
144
  file: string;
145
- line: number;
146
- column: number;
145
+ line?: number | undefined;
146
+ column?: number | undefined;
147
147
  }, {
148
148
  file: string;
149
- line: number;
150
- column: number;
149
+ line?: number | undefined;
150
+ column?: number | undefined;
151
151
  }>>;
152
152
  notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
153
153
  text: z.ZodString;
154
154
  location: z.ZodOptional<z.ZodObject<{
155
155
  file: z.ZodString;
156
- line: z.ZodNumber;
157
- column: z.ZodNumber;
156
+ line: z.ZodOptional<z.ZodNumber>;
157
+ column: z.ZodOptional<z.ZodNumber>;
158
158
  }, "strip", z.ZodTypeAny, {
159
159
  file: string;
160
- line: number;
161
- column: number;
160
+ line?: number | undefined;
161
+ column?: number | undefined;
162
162
  }, {
163
163
  file: string;
164
- line: number;
165
- column: number;
164
+ line?: number | undefined;
165
+ column?: number | undefined;
166
166
  }>>;
167
167
  }, "strip", z.ZodTypeAny, {
168
168
  text: string;
169
169
  location?: {
170
170
  file: string;
171
- line: number;
172
- column: number;
171
+ line?: number | undefined;
172
+ column?: number | undefined;
173
173
  } | undefined;
174
174
  }, {
175
175
  text: string;
176
176
  location?: {
177
177
  file: string;
178
- line: number;
179
- column: number;
178
+ line?: number | undefined;
179
+ column?: number | undefined;
180
180
  } | undefined;
181
181
  }>, "many">>;
182
182
  }, "strip", z.ZodTypeAny, {
@@ -184,15 +184,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
184
184
  source: string;
185
185
  location?: {
186
186
  file: string;
187
- line: number;
188
- column: number;
187
+ line?: number | undefined;
188
+ column?: number | undefined;
189
189
  } | undefined;
190
190
  notes?: {
191
191
  text: string;
192
192
  location?: {
193
193
  file: string;
194
- line: number;
195
- column: number;
194
+ line?: number | undefined;
195
+ column?: number | undefined;
196
196
  } | undefined;
197
197
  }[] | undefined;
198
198
  }, {
@@ -200,15 +200,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
200
200
  source: string;
201
201
  location?: {
202
202
  file: string;
203
- line: number;
204
- column: number;
203
+ line?: number | undefined;
204
+ column?: number | undefined;
205
205
  } | undefined;
206
206
  notes?: {
207
207
  text: string;
208
208
  location?: {
209
209
  file: string;
210
- line: number;
211
- column: number;
210
+ line?: number | undefined;
211
+ column?: number | undefined;
212
212
  } | undefined;
213
213
  }[] | undefined;
214
214
  }>, "many">>;
@@ -232,15 +232,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
232
232
  source: string;
233
233
  location?: {
234
234
  file: string;
235
- line: number;
236
- column: number;
235
+ line?: number | undefined;
236
+ column?: number | undefined;
237
237
  } | undefined;
238
238
  notes?: {
239
239
  text: string;
240
240
  location?: {
241
241
  file: string;
242
- line: number;
243
- column: number;
242
+ line?: number | undefined;
243
+ column?: number | undefined;
244
244
  } | undefined;
245
245
  }[] | undefined;
246
246
  }[] | undefined;
@@ -249,15 +249,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
249
249
  source: string;
250
250
  location?: {
251
251
  file: string;
252
- line: number;
253
- column: number;
252
+ line?: number | undefined;
253
+ column?: number | undefined;
254
254
  } | undefined;
255
255
  notes?: {
256
256
  text: string;
257
257
  location?: {
258
258
  file: string;
259
- line: number;
260
- column: number;
259
+ line?: number | undefined;
260
+ column?: number | undefined;
261
261
  } | undefined;
262
262
  }[] | undefined;
263
263
  }[] | undefined;
@@ -281,15 +281,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
281
281
  source: string;
282
282
  location?: {
283
283
  file: string;
284
- line: number;
285
- column: number;
284
+ line?: number | undefined;
285
+ column?: number | undefined;
286
286
  } | undefined;
287
287
  notes?: {
288
288
  text: string;
289
289
  location?: {
290
290
  file: string;
291
- line: number;
292
- column: number;
291
+ line?: number | undefined;
292
+ column?: number | undefined;
293
293
  } | undefined;
294
294
  }[] | undefined;
295
295
  }[] | undefined;
@@ -298,15 +298,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
298
298
  source: string;
299
299
  location?: {
300
300
  file: string;
301
- line: number;
302
- column: number;
301
+ line?: number | undefined;
302
+ column?: number | undefined;
303
303
  } | undefined;
304
304
  notes?: {
305
305
  text: string;
306
306
  location?: {
307
307
  file: string;
308
- line: number;
309
- column: number;
308
+ line?: number | undefined;
309
+ column?: number | undefined;
310
310
  } | undefined;
311
311
  }[] | undefined;
312
312
  }[] | undefined;
@@ -332,15 +332,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
332
332
  source: string;
333
333
  location?: {
334
334
  file: string;
335
- line: number;
336
- column: number;
335
+ line?: number | undefined;
336
+ column?: number | undefined;
337
337
  } | undefined;
338
338
  notes?: {
339
339
  text: string;
340
340
  location?: {
341
341
  file: string;
342
- line: number;
343
- column: number;
342
+ line?: number | undefined;
343
+ column?: number | undefined;
344
344
  } | undefined;
345
345
  }[] | undefined;
346
346
  }[] | undefined;
@@ -349,15 +349,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
349
349
  source: string;
350
350
  location?: {
351
351
  file: string;
352
- line: number;
353
- column: number;
352
+ line?: number | undefined;
353
+ column?: number | undefined;
354
354
  } | undefined;
355
355
  notes?: {
356
356
  text: string;
357
357
  location?: {
358
358
  file: string;
359
- line: number;
360
- column: number;
359
+ line?: number | undefined;
360
+ column?: number | undefined;
361
361
  } | undefined;
362
362
  }[] | undefined;
363
363
  }[] | undefined;
@@ -383,15 +383,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
383
383
  source: string;
384
384
  location?: {
385
385
  file: string;
386
- line: number;
387
- column: number;
386
+ line?: number | undefined;
387
+ column?: number | undefined;
388
388
  } | undefined;
389
389
  notes?: {
390
390
  text: string;
391
391
  location?: {
392
392
  file: string;
393
- line: number;
394
- column: number;
393
+ line?: number | undefined;
394
+ column?: number | undefined;
395
395
  } | undefined;
396
396
  }[] | undefined;
397
397
  }[] | undefined;
@@ -400,15 +400,15 @@ export declare const taskListSource: import("@ms-cloudpack/data-bus").DataBusPat
400
400
  source: string;
401
401
  location?: {
402
402
  file: string;
403
- line: number;
404
- column: number;
403
+ line?: number | undefined;
404
+ column?: number | undefined;
405
405
  } | undefined;
406
406
  notes?: {
407
407
  text: string;
408
408
  location?: {
409
409
  file: string;
410
- line: number;
411
- column: number;
410
+ line?: number | undefined;
411
+ column?: number | undefined;
412
412
  } | undefined;
413
413
  }[] | undefined;
414
414
  }[] | undefined;
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * BundleInfo is a map of entry file paths to produce/consume information.
3
+ * The keys are paths from the exports map.
3
4
  * e.g.:
4
5
  * ```json
5
6
  * {
@@ -12,16 +13,29 @@
12
13
  * ```
13
14
  */
14
15
  export type BundleInfo = {
15
- entry: {
16
- [filePath: string]: {
17
- bundlePath: string;
18
- produces: string[];
19
- consumes: {
20
- packageName: string;
21
- importPath: string;
22
- names: string[];
23
- }[];
24
- };
25
- };
16
+ [entryPath: string]: BundleEntryInfo;
17
+ };
18
+ /**
19
+ * Info about a bundled file's produced export names, and the import names it consumes
20
+ * from other packages.
21
+ */
22
+ export type BundleEntryInfo = {
23
+ /** Relative path to the bundled file from the output root. */
24
+ bundlePath: string;
25
+ /** Export names produced by this path. */
26
+ produces: string[];
27
+ /** Names from other packages consumed by this path. */
28
+ consumes: BundleEntryConsumes[];
29
+ };
30
+ /**
31
+ * Info about imports consumed from a path in another package.
32
+ */
33
+ export type BundleEntryConsumes = {
34
+ /** Name of the package */
35
+ packageName: string;
36
+ /** Path consumed within the package (this will be the exports map key) */
37
+ importPath: string;
38
+ /** Export names consumed */
39
+ names: string[];
26
40
  };
27
41
  //# sourceMappingURL=BundleInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BundleInfo.d.ts","sourceRoot":"","sources":["../../src/types/BundleInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE;QACL,CAAC,QAAQ,EAAE,MAAM,GAAG;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,QAAQ,EAAE;gBACR,WAAW,EAAE,MAAM,CAAC;gBACpB,UAAU,EAAE,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,EAAE,CAAC;SACL,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"BundleInfo.d.ts","sourceRoot":"","sources":["../../src/types/BundleInfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uDAAuD;IACvD,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BundleInfo.js","sourceRoot":"","sources":["../../src/types/BundleInfo.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * BundleInfo is a map of entry file paths to produce/consume information.\n * e.g.:\n * ```json\n * {\n * \".\": {\n * \"bundlePath\": \"./index.js\",\n * \"produces\": [\"bar\"],\n * \"consumes\": [{ \"packageName\": \"foo\", \"importPath\": \"foo\", \"names\": [ \"foo\" ] }],\n * },\n * }\n * ```\n */\nexport type BundleInfo = {\n entry: {\n [filePath: string]: {\n bundlePath: string;\n produces: string[];\n consumes: {\n packageName: string;\n importPath: string;\n names: string[];\n }[];\n };\n };\n};\n"]}
1
+ {"version":3,"file":"BundleInfo.js","sourceRoot":"","sources":["../../src/types/BundleInfo.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * BundleInfo is a map of entry file paths to produce/consume information.\n * The keys are paths from the exports map.\n * e.g.:\n * ```json\n * {\n * \".\": {\n * \"bundlePath\": \"./index.js\",\n * \"produces\": [\"bar\"],\n * \"consumes\": [{ \"packageName\": \"foo\", \"importPath\": \"foo\", \"names\": [ \"foo\" ] }],\n * },\n * }\n * ```\n */\nexport type BundleInfo = {\n [entryPath: string]: BundleEntryInfo;\n};\n\n/**\n * Info about a bundled file's produced export names, and the import names it consumes\n * from other packages.\n */\nexport type BundleEntryInfo = {\n /** Relative path to the bundled file from the output root. */\n bundlePath: string;\n /** Export names produced by this path. */\n produces: string[];\n /** Names from other packages consumed by this path. */\n consumes: BundleEntryConsumes[];\n};\n\n/**\n * Info about imports consumed from a path in another package.\n */\nexport type BundleEntryConsumes = {\n /** Name of the package */\n packageName: string;\n /** Path consumed within the package (this will be the exports map key) */\n importPath: string;\n /** Export names consumed */\n names: string[];\n};\n"]}