@ms-cloudpack/api-server 0.64.24 → 0.64.25

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.
@@ -1 +1 @@
1
- {"version":3,"file":"createMockSession.d.ts","sourceRoot":"","sources":["../../src/common/createMockSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAMpG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAqBzG;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC,GACA,OAAO,CAAC,OAAO,CAAC,CAWlB"}
1
+ {"version":3,"file":"createMockSession.d.ts","sourceRoot":"","sources":["../../src/common/createMockSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAMpG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAqBzG;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC,GACA,OAAO,CAAC,OAAO,CAAC,CAclB"}
@@ -42,7 +42,7 @@ export async function createMockSession(params, context) {
42
42
  if (!context?.packages) {
43
43
  throw new Error('Cannot create a real resolve map without packages');
44
44
  }
45
- session.resolveMap = await createResolveMap({ appPath, rootPath: appPath }, { packages: context.packages });
45
+ session.resolveMap = await createResolveMap({ appPath, rootPath: appPath, moduleResolutionConfig: session.config.resolve }, { packages: context.packages });
46
46
  }
47
47
  return session;
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createMockSession.js","sourceRoot":"","sources":["../../src/common/createMockSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA0D;IAC9F,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC;IAC/F,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,SAAS;QACT,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,CAAC;QACjB,uBAAuB,EAAE,GAAG,EAAE,GAAE,CAAC;QACjC,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;QAChC,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KACjD,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAgC,EAChC,OAGC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,UAAU,GAAG,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import type { CloudpackConfig, PackageDefinitionsCache, Session } from '@ms-cloudpack/common-types';\nimport { readConfig } from '@ms-cloudpack/config';\nimport { createResolveMap } from '@ms-cloudpack/package-utilities';\nimport { randomUUID } from 'crypto';\nimport path from 'path';\n\nexport interface CreateMockSessionOptions {\n appPath: string;\n /** Custom cache path. Defaults to `appPath/.cache`. */\n cachePath?: string;\n /** Whether to create a real resolve map. */\n createResolveMap?: boolean;\n /** Session ID. Defaults to a random UUID. */\n sessionId?: string;\n}\n\n/**\n * Create a mock session without reading anything from the filesystem.\n */\nexport function createMockSessionNoFS(params: Omit<CreateMockSessionOptions, 'createResolveMap'>): Session {\n const { appPath, sessionId = randomUUID(), cachePath = path.join(appPath, '.cache') } = params;\n const session: Session = {\n id: sessionId,\n cachePath,\n config: { appPath, mode: 'library', generated: {} },\n projectName: path.basename(appPath),\n resolveMap: {},\n sequence: 0,\n urls: {},\n targetVersions: {},\n sessionVersion: 1,\n incrementSessionVersion: () => {},\n incrementTargetVersion: () => {},\n importMap: undefined,\n packageImportPaths: new Map(),\n linkedPaths: [],\n addLinkedPath: () => Promise.resolve(session),\n removeLinkedPath: () => Promise.resolve(session),\n };\n return session;\n}\n\n/**\n * Create a mock session. The returned object contains:\n * - `config` from the filesystem (with defaults if there is no config)\n * - `cachePath` set to `appPath/.cache` to prevent interference with the real cache or other tests\n * - `resolveMap` will be an empty object unless `params.createResolveMap` is true\n * - Basic mocks of other properties which can be updated as needed\n */\nexport async function createMockSession(\n params: CreateMockSessionOptions,\n context?: {\n config?: CloudpackConfig;\n packages?: PackageDefinitionsCache;\n },\n): Promise<Session> {\n const { appPath } = params;\n const session = createMockSessionNoFS(params);\n session.config = context?.config || (await readConfig(appPath));\n if (params.createResolveMap) {\n if (!context?.packages) {\n throw new Error('Cannot create a real resolve map without packages');\n }\n session.resolveMap = await createResolveMap({ appPath, rootPath: appPath }, { packages: context.packages });\n }\n return session;\n}\n"]}
1
+ {"version":3,"file":"createMockSession.js","sourceRoot":"","sources":["../../src/common/createMockSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA0D;IAC9F,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC;IAC/F,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,SAAS;QACT,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,CAAC;QACjB,uBAAuB,EAAE,GAAG,EAAE,GAAE,CAAC;QACjC,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;QAChC,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KACjD,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAgC,EAChC,OAGC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,UAAU,GAAG,MAAM,gBAAgB,CACzC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAC9E,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import type { CloudpackConfig, PackageDefinitionsCache, Session } from '@ms-cloudpack/common-types';\nimport { readConfig } from '@ms-cloudpack/config';\nimport { createResolveMap } from '@ms-cloudpack/package-utilities';\nimport { randomUUID } from 'crypto';\nimport path from 'path';\n\nexport interface CreateMockSessionOptions {\n appPath: string;\n /** Custom cache path. Defaults to `appPath/.cache`. */\n cachePath?: string;\n /** Whether to create a real resolve map. */\n createResolveMap?: boolean;\n /** Session ID. Defaults to a random UUID. */\n sessionId?: string;\n}\n\n/**\n * Create a mock session without reading anything from the filesystem.\n */\nexport function createMockSessionNoFS(params: Omit<CreateMockSessionOptions, 'createResolveMap'>): Session {\n const { appPath, sessionId = randomUUID(), cachePath = path.join(appPath, '.cache') } = params;\n const session: Session = {\n id: sessionId,\n cachePath,\n config: { appPath, mode: 'library', generated: {} },\n projectName: path.basename(appPath),\n resolveMap: {},\n sequence: 0,\n urls: {},\n targetVersions: {},\n sessionVersion: 1,\n incrementSessionVersion: () => {},\n incrementTargetVersion: () => {},\n importMap: undefined,\n packageImportPaths: new Map(),\n linkedPaths: [],\n addLinkedPath: () => Promise.resolve(session),\n removeLinkedPath: () => Promise.resolve(session),\n };\n return session;\n}\n\n/**\n * Create a mock session. The returned object contains:\n * - `config` from the filesystem (with defaults if there is no config)\n * - `cachePath` set to `appPath/.cache` to prevent interference with the real cache or other tests\n * - `resolveMap` will be an empty object unless `params.createResolveMap` is true\n * - Basic mocks of other properties which can be updated as needed\n */\nexport async function createMockSession(\n params: CreateMockSessionOptions,\n context?: {\n config?: CloudpackConfig;\n packages?: PackageDefinitionsCache;\n },\n): Promise<Session> {\n const { appPath } = params;\n const session = createMockSessionNoFS(params);\n session.config = context?.config || (await readConfig(appPath));\n if (params.createResolveMap) {\n if (!context?.packages) {\n throw new Error('Cannot create a real resolve map without packages');\n }\n session.resolveMap = await createResolveMap(\n { appPath, rootPath: appPath, moduleResolutionConfig: session.config.resolve },\n { packages: context.packages },\n );\n }\n return session;\n}\n"]}
@@ -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,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAClE,OAAO,CAAC,OAAO,CAAC,CAoGlB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"createSession.d.ts","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAc,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAClE,OAAO,CAAC,OAAO,CAAC,CAoHlB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -9,7 +9,8 @@ export async function createSession(options, context) {
9
9
  const { appPath } = config;
10
10
  const projectName = path.basename(appPath);
11
11
  const id = randomUUID();
12
- let resolveMap = options.resolveMap || (await createResolveMapTask({ appPath, additionalPaths, skipResolveDependencies }, context));
12
+ let resolveMap = options.resolveMap ||
13
+ (await createResolveMapTask({ appPath, additionalPaths, skipResolveDependencies, moduleResolutionConfig: config.resolve }, context));
13
14
  let importMap = undefined;
14
15
  const versionsPath = _getSessionVersionsPath(appPath);
15
16
  const previousVersions = await readJson(versionsPath);
@@ -68,7 +69,13 @@ export async function createSession(options, context) {
68
69
  return { resolveMap, linkedPaths };
69
70
  }
70
71
  linkedPaths.push(linkedPath);
71
- resolveMap = await createResolveMapTask({ appPath, additionalPaths, linkedPaths, skipResolveDependencies: false }, context);
72
+ resolveMap = await createResolveMapTask({
73
+ appPath,
74
+ additionalPaths,
75
+ linkedPaths,
76
+ skipResolveDependencies: false,
77
+ moduleResolutionConfig: config.resolve,
78
+ }, context);
72
79
  return { resolveMap, linkedPaths };
73
80
  },
74
81
  removeLinkedPath: async (linkedPath) => {
@@ -80,7 +87,13 @@ export async function createSession(options, context) {
80
87
  return { resolveMap, linkedPaths };
81
88
  }
82
89
  linkedPaths.splice(index, 1);
83
- resolveMap = await createResolveMapTask({ appPath, additionalPaths, linkedPaths, skipResolveDependencies: false }, context);
90
+ resolveMap = await createResolveMapTask({
91
+ appPath,
92
+ additionalPaths,
93
+ linkedPaths,
94
+ skipResolveDependencies: false,
95
+ moduleResolutionConfig: config.resolve,
96
+ }, context);
84
97
  return { resolveMap, linkedPaths };
85
98
  },
86
99
  cachePath,
@@ -1 +1 @@
1
- {"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CloudpackConfig, Session, LinkedPath, ResolveMap } 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 type { Context } from '../types/Context.js';\nimport { createResolveMapTask } from '../utilities/createResolveMapTask.js';\nimport { randomUUID } from 'crypto';\n\nexport type SessionVersions = {\n sessionVersion: number;\n targetVersions: Record<string, number>;\n};\n\nexport interface CreateSessionOptions {\n config: CloudpackConfig;\n /**\n * Any additional packages whose dependencies we want to resolve, such as the overlay.\n */\n additionalPaths?: string[];\n /**\n * Custom cache folder for the session.\n * If not provided, will use the one from user preferences if set, or the default cache path.\n */\n cachePath?: string;\n /**\n * Skip full dependency resolution (`resolveMap` will only contain the package at `config.appPath`).\n * This should only be used for the `bundle` command when it's bundling the current package.\n */\n skipResolveDependencies?: boolean;\n /**\n * Mock resolve map for testing\n */\n resolveMap?: ResolveMap;\n}\n\nexport async function createSession(\n options: CreateSessionOptions,\n context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>,\n): Promise<Session> {\n const { config, additionalPaths, skipResolveDependencies } = options;\n const { appPath } = config;\n\n const projectName = path.basename(appPath);\n const id = randomUUID();\n let resolveMap =\n options.resolveMap || (await createResolveMapTask({ appPath, additionalPaths, skipResolveDependencies }, context));\n\n let importMap: ImportMap | undefined = undefined;\n\n const versionsPath = _getSessionVersionsPath(appPath);\n const previousVersions = await readJson<SessionVersions>(versionsPath);\n const versions = previousVersions || { sessionVersion: 0, targetVersions: {} };\n if (!previousVersions) {\n await writeJson(versionsPath, versions);\n }\n\n // In the future, we might put all the user preferences in the session, but right now the only\n // preference is cachePath, so we just read that and save the custom or default value.\n const cachePath = await getCachePath(options.cachePath);\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 packageImportPaths: new Map(),\n linkedPaths,\n addLinkedPath: async (linkedPath: LinkedPath) => {\n if (skipResolveDependencies) {\n throw new Error('Cannot use `addLinkedPath` with `skipResolveDependencies`');\n }\n\n if (linkedPaths.some((p) => p.path === linkedPath.path)) {\n return { resolveMap, linkedPaths };\n }\n\n linkedPaths.push(linkedPath);\n resolveMap = await createResolveMapTask(\n { appPath, additionalPaths, linkedPaths, skipResolveDependencies: false },\n context,\n );\n\n return { resolveMap, linkedPaths };\n },\n removeLinkedPath: async (linkedPath: LinkedPath) => {\n if (skipResolveDependencies) {\n throw new Error('Cannot use `removeLinkedPath` with `skipResolveDependencies`');\n }\n\n const index = linkedPaths.findIndex((p) => p.path === linkedPath.path);\n if (index === -1) {\n return { resolveMap, linkedPaths };\n }\n\n linkedPaths.splice(index, 1);\n resolveMap = await createResolveMapTask(\n { appPath, additionalPaths, linkedPaths, skipResolveDependencies: false },\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): string {\n return path.join(getLocalCachePath(appPath), 'sessionVersions.json');\n}\n"]}
1
+ {"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CloudpackConfig, Session, LinkedPath, ResolveMap } 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 type { Context } from '../types/Context.js';\nimport { createResolveMapTask } from '../utilities/createResolveMapTask.js';\nimport { randomUUID } from 'crypto';\n\nexport type SessionVersions = {\n sessionVersion: number;\n targetVersions: Record<string, number>;\n};\n\nexport interface CreateSessionOptions {\n config: CloudpackConfig;\n /**\n * Any additional packages whose dependencies we want to resolve, such as the overlay.\n */\n additionalPaths?: string[];\n /**\n * Custom cache folder for the session.\n * If not provided, will use the one from user preferences if set, or the default cache path.\n */\n cachePath?: string;\n /**\n * Skip full dependency resolution (`resolveMap` will only contain the package at `config.appPath`).\n * This should only be used for the `bundle` command when it's bundling the current package.\n */\n skipResolveDependencies?: boolean;\n /**\n * Mock resolve map for testing\n */\n resolveMap?: ResolveMap;\n}\n\nexport async function createSession(\n options: CreateSessionOptions,\n context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>,\n): Promise<Session> {\n const { config, additionalPaths, skipResolveDependencies } = options;\n const { appPath } = config;\n\n const projectName = path.basename(appPath);\n const id = randomUUID();\n let resolveMap =\n options.resolveMap ||\n (await createResolveMapTask(\n { appPath, additionalPaths, skipResolveDependencies, moduleResolutionConfig: config.resolve },\n context,\n ));\n\n let importMap: ImportMap | undefined = undefined;\n\n const versionsPath = _getSessionVersionsPath(appPath);\n const previousVersions = await readJson<SessionVersions>(versionsPath);\n const versions = previousVersions || { sessionVersion: 0, targetVersions: {} };\n if (!previousVersions) {\n await writeJson(versionsPath, versions);\n }\n\n // In the future, we might put all the user preferences in the session, but right now the only\n // preference is cachePath, so we just read that and save the custom or default value.\n const cachePath = await getCachePath(options.cachePath);\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 packageImportPaths: new Map(),\n linkedPaths,\n addLinkedPath: async (linkedPath: LinkedPath) => {\n if (skipResolveDependencies) {\n throw new Error('Cannot use `addLinkedPath` with `skipResolveDependencies`');\n }\n\n if (linkedPaths.some((p) => p.path === linkedPath.path)) {\n return { resolveMap, linkedPaths };\n }\n\n linkedPaths.push(linkedPath);\n resolveMap = await createResolveMapTask(\n {\n appPath,\n additionalPaths,\n linkedPaths,\n skipResolveDependencies: false,\n moduleResolutionConfig: config.resolve,\n },\n context,\n );\n\n return { resolveMap, linkedPaths };\n },\n removeLinkedPath: async (linkedPath: LinkedPath) => {\n if (skipResolveDependencies) {\n throw new Error('Cannot use `removeLinkedPath` with `skipResolveDependencies`');\n }\n\n const index = linkedPaths.findIndex((p) => p.path === linkedPath.path);\n if (index === -1) {\n return { resolveMap, linkedPaths };\n }\n\n linkedPaths.splice(index, 1);\n resolveMap = await createResolveMapTask(\n {\n appPath,\n additionalPaths,\n linkedPaths,\n skipResolveDependencies: false,\n moduleResolutionConfig: config.resolve,\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): string {\n return path.join(getLocalCachePath(appPath), 'sessionVersions.json');\n}\n"]}
@@ -8,5 +8,5 @@ import type { Context } from '../types/Context.js';
8
8
  * Usually this will contain all dependencies of `appPath` (and other paths if specified),
9
9
  * but if `skipResolveDependencies` is true, it will only contain the package at `appPath`.
10
10
  */
11
- export declare function createResolveMapTask(options: Pick<Parameters<typeof createResolveMap>[0], 'appPath' | 'additionalPaths' | 'linkedPaths' | 'skipResolveDependencies'>, context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>): Promise<ResolveMap>;
11
+ export declare function createResolveMapTask(options: Pick<Parameters<typeof createResolveMap>[0], 'appPath' | 'additionalPaths' | 'linkedPaths' | 'skipResolveDependencies' | 'moduleResolutionConfig'>, context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>): Promise<ResolveMap>;
12
12
  //# sourceMappingURL=createResolveMapTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createResolveMapTask.d.ts","sourceRoot":"","sources":["../../src/utilities/createResolveMapTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,IAAI,CACX,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACtC,SAAS,GAAG,iBAAiB,GAAG,aAAa,GAAG,yBAAyB,CAC1E,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAClE,OAAO,CAAC,UAAU,CAAC,CAiErB"}
1
+ {"version":3,"file":"createResolveMapTask.d.ts","sourceRoot":"","sources":["../../src/utilities/createResolveMapTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,IAAI,CACX,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACtC,SAAS,GAAG,iBAAiB,GAAG,aAAa,GAAG,yBAAyB,GAAG,wBAAwB,CACrG,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAClE,OAAO,CAAC,UAAU,CAAC,CAoErB"}
@@ -9,7 +9,7 @@ import { bold, bulletedList, cyan, plural, yellow } from '@ms-cloudpack/task-rep
9
9
  * but if `skipResolveDependencies` is true, it will only contain the package at `appPath`.
10
10
  */
11
11
  export async function createResolveMapTask(options, context) {
12
- const { appPath, additionalPaths, linkedPaths, skipResolveDependencies } = options;
12
+ const { appPath, additionalPaths, linkedPaths, skipResolveDependencies, moduleResolutionConfig } = options;
13
13
  const { reporter, packages, telemetryClient } = context;
14
14
  let resolveMap;
15
15
  if (skipResolveDependencies && linkedPaths?.length) {
@@ -20,7 +20,7 @@ export async function createResolveMapTask(options, context) {
20
20
  resolveMap = await telemetryClient.tracer.startActiveSpan('CREATE_RESOLVE_MAP', async (span) => {
21
21
  span.setAttributes({ linkedPaths: linkedPaths?.length || 0, skipResolveDependencies });
22
22
  // await is required here to report telemetry correctly
23
- return await createResolveMap({ appPath, additionalPaths, linkedPaths, skipResolveDependencies }, { packages });
23
+ return await createResolveMap({ appPath, additionalPaths, linkedPaths, skipResolveDependencies, moduleResolutionConfig }, { packages });
24
24
  });
25
25
  let message;
26
26
  let extended;
@@ -1 +1 @@
1
- {"version":3,"file":"createResolveMapTask.js","sourceRoot":"","sources":["../../src/utilities/createResolveMapTask.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ResolveMap, ResolveMapEntry } from '@ms-cloudpack/common-types';\nimport { environmentInfo } from '@ms-cloudpack/environment';\nimport { createResolveMap } from '@ms-cloudpack/package-utilities';\nimport { bold, bulletedList, cyan, plural, yellow } from '@ms-cloudpack/task-reporter';\nimport type { Context } from '../types/Context.js';\n\n/**\n * Create the resolve map, logging the results to the task reporter.\n * Throws if dependencies could not be resolved.\n *\n * Usually this will contain all dependencies of `appPath` (and other paths if specified),\n * but if `skipResolveDependencies` is true, it will only contain the package at `appPath`.\n */\nexport async function createResolveMapTask(\n options: Pick<\n Parameters<typeof createResolveMap>[0],\n 'appPath' | 'additionalPaths' | 'linkedPaths' | 'skipResolveDependencies'\n >,\n context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>,\n): Promise<ResolveMap> {\n const { appPath, additionalPaths, linkedPaths, skipResolveDependencies } = options;\n const { reporter, packages, telemetryClient } = context;\n let resolveMap: ResolveMap | undefined;\n\n if (skipResolveDependencies && linkedPaths?.length) {\n throw new Error('Cannot use `linkedPaths` with `skipResolveDependencies`');\n }\n\n const task = reporter.addTask(skipResolveDependencies ? 'Creating resolve map' : 'Resolving dependencies');\n\n try {\n resolveMap = await telemetryClient.tracer.startActiveSpan('CREATE_RESOLVE_MAP', async (span) => {\n span.setAttributes({ linkedPaths: linkedPaths?.length || 0, skipResolveDependencies });\n\n // await is required here to report telemetry correctly\n return await createResolveMap({ appPath, additionalPaths, linkedPaths, skipResolveDependencies }, { packages });\n });\n\n let message: string;\n let extended: string | undefined;\n\n if (skipResolveDependencies) {\n message = 'Created resolve map with the current package';\n\n if (additionalPaths?.length) {\n message += ` and ${plural(additionalPaths.length, 'additional path')}.`;\n } else {\n message += ' only.';\n }\n } else {\n const { allPackages, duplicatedPackages } = getPackagesFromResolveMap(resolveMap);\n\n message = `Found ${cyan(allPackages.size)} total packages, ${\n duplicatedPackages.size ? `${yellow(duplicatedPackages.size)} with multiple versions.` : `no duplicates.`\n }`;\n extended = bulletedList(\n Array.from(\n duplicatedPackages.entries(),\n ([name, versions]) => `${bold(name)}: ${Array.from(versions).join(', ')}`,\n ),\n );\n }\n\n task.complete({ message, extended, forceShow: true });\n\n return resolveMap;\n } catch (err) {\n task.complete({\n status: 'fail',\n message: 'Failed to resolve dependencies',\n errors: [String(err)],\n forceShow: true,\n // Don't use the message as \"details\" because this will cause the message to be logged twice\n extended: (err as Error).stack,\n });\n\n if (err instanceof Error && !environmentInfo.isJest) {\n // Remove the call stack because we already logged it in the extended details of the task\n // (unless running in a test, because it prevents the error from being logged in an understandable way)\n err.stack = undefined;\n }\n\n throw err;\n }\n}\n\n/**\n * Given a resolveMap, returns a map of all packages and a map of packages with multiple versions.\n * This is used to log the results of the resolve task.\n */\nfunction getPackagesFromResolveMap(resolveMap: ResolveMap): {\n allPackages: Map<string, ResolveMapEntry>;\n duplicatedPackages: Map<string, Set<string>>;\n} {\n const allPackages = new Map<string, ResolveMapEntry>();\n const duplicatedPackages = new Map<string, Set<string>>();\n\n function addEntry(entry: ResolveMapEntry): void {\n const existingEntry = allPackages.get(entry.name);\n if (existingEntry) {\n let dupeSet = duplicatedPackages.get(entry.name);\n if (!dupeSet) {\n dupeSet = new Set([existingEntry.version]);\n duplicatedPackages.set(entry.name, dupeSet);\n }\n dupeSet.add(entry.version);\n } else {\n allPackages.set(entry.name, entry);\n }\n }\n\n for (const currentEntry of Object.values(resolveMap)) {\n addEntry(currentEntry);\n\n if (currentEntry.scopedVersions) {\n for (const scopedEntry of Object.values(currentEntry.scopedVersions)) {\n addEntry(scopedEntry);\n }\n }\n }\n\n return {\n allPackages,\n duplicatedPackages,\n };\n}\n"]}
1
+ {"version":3,"file":"createResolveMapTask.js","sourceRoot":"","sources":["../../src/utilities/createResolveMapTask.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ResolveMap, ResolveMapEntry } from '@ms-cloudpack/common-types';\nimport { environmentInfo } from '@ms-cloudpack/environment';\nimport { createResolveMap } from '@ms-cloudpack/package-utilities';\nimport { bold, bulletedList, cyan, plural, yellow } from '@ms-cloudpack/task-reporter';\nimport type { Context } from '../types/Context.js';\n\n/**\n * Create the resolve map, logging the results to the task reporter.\n * Throws if dependencies could not be resolved.\n *\n * Usually this will contain all dependencies of `appPath` (and other paths if specified),\n * but if `skipResolveDependencies` is true, it will only contain the package at `appPath`.\n */\nexport async function createResolveMapTask(\n options: Pick<\n Parameters<typeof createResolveMap>[0],\n 'appPath' | 'additionalPaths' | 'linkedPaths' | 'skipResolveDependencies' | 'moduleResolutionConfig'\n >,\n context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>,\n): Promise<ResolveMap> {\n const { appPath, additionalPaths, linkedPaths, skipResolveDependencies, moduleResolutionConfig } = options;\n const { reporter, packages, telemetryClient } = context;\n let resolveMap: ResolveMap | undefined;\n\n if (skipResolveDependencies && linkedPaths?.length) {\n throw new Error('Cannot use `linkedPaths` with `skipResolveDependencies`');\n }\n\n const task = reporter.addTask(skipResolveDependencies ? 'Creating resolve map' : 'Resolving dependencies');\n\n try {\n resolveMap = await telemetryClient.tracer.startActiveSpan('CREATE_RESOLVE_MAP', async (span) => {\n span.setAttributes({ linkedPaths: linkedPaths?.length || 0, skipResolveDependencies });\n\n // await is required here to report telemetry correctly\n return await createResolveMap(\n { appPath, additionalPaths, linkedPaths, skipResolveDependencies, moduleResolutionConfig },\n { packages },\n );\n });\n\n let message: string;\n let extended: string | undefined;\n\n if (skipResolveDependencies) {\n message = 'Created resolve map with the current package';\n\n if (additionalPaths?.length) {\n message += ` and ${plural(additionalPaths.length, 'additional path')}.`;\n } else {\n message += ' only.';\n }\n } else {\n const { allPackages, duplicatedPackages } = getPackagesFromResolveMap(resolveMap);\n\n message = `Found ${cyan(allPackages.size)} total packages, ${\n duplicatedPackages.size ? `${yellow(duplicatedPackages.size)} with multiple versions.` : `no duplicates.`\n }`;\n extended = bulletedList(\n Array.from(\n duplicatedPackages.entries(),\n ([name, versions]) => `${bold(name)}: ${Array.from(versions).join(', ')}`,\n ),\n );\n }\n\n task.complete({ message, extended, forceShow: true });\n\n return resolveMap;\n } catch (err) {\n task.complete({\n status: 'fail',\n message: 'Failed to resolve dependencies',\n errors: [String(err)],\n forceShow: true,\n // Don't use the message as \"details\" because this will cause the message to be logged twice\n extended: (err as Error).stack,\n });\n\n if (err instanceof Error && !environmentInfo.isJest) {\n // Remove the call stack because we already logged it in the extended details of the task\n // (unless running in a test, because it prevents the error from being logged in an understandable way)\n err.stack = undefined;\n }\n\n throw err;\n }\n}\n\n/**\n * Given a resolveMap, returns a map of all packages and a map of packages with multiple versions.\n * This is used to log the results of the resolve task.\n */\nfunction getPackagesFromResolveMap(resolveMap: ResolveMap): {\n allPackages: Map<string, ResolveMapEntry>;\n duplicatedPackages: Map<string, Set<string>>;\n} {\n const allPackages = new Map<string, ResolveMapEntry>();\n const duplicatedPackages = new Map<string, Set<string>>();\n\n function addEntry(entry: ResolveMapEntry): void {\n const existingEntry = allPackages.get(entry.name);\n if (existingEntry) {\n let dupeSet = duplicatedPackages.get(entry.name);\n if (!dupeSet) {\n dupeSet = new Set([existingEntry.version]);\n duplicatedPackages.set(entry.name, dupeSet);\n }\n dupeSet.add(entry.version);\n } else {\n allPackages.set(entry.name, entry);\n }\n }\n\n for (const currentEntry of Object.values(resolveMap)) {\n addEntry(currentEntry);\n\n if (currentEntry.scopedVersions) {\n for (const scopedEntry of Object.values(currentEntry.scopedVersions)) {\n addEntry(scopedEntry);\n }\n }\n }\n\n return {\n allPackages,\n duplicatedPackages,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/api-server",
3
- "version": "0.64.24",
3
+ "version": "0.64.25",
4
4
  "description": "Internal API server for Cloudpack",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,23 +25,23 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "@ms-cloudpack/bundler": "^0.26.1",
29
- "@ms-cloudpack/common-types": "^0.28.1",
30
- "@ms-cloudpack/config": "^0.38.6",
31
- "@ms-cloudpack/create-express-app": "^1.10.53",
28
+ "@ms-cloudpack/bundler": "^0.26.2",
29
+ "@ms-cloudpack/common-types": "^0.28.2",
30
+ "@ms-cloudpack/config": "^0.38.7",
31
+ "@ms-cloudpack/create-express-app": "^1.10.54",
32
32
  "@ms-cloudpack/data-bus": "^0.5.0",
33
33
  "@ms-cloudpack/environment": "^0.1.1",
34
- "@ms-cloudpack/esm-stub-utilities": "^0.15.17",
35
- "@ms-cloudpack/file-watcher": "^0.4.11",
36
- "@ms-cloudpack/import-map": "^0.10.47",
34
+ "@ms-cloudpack/esm-stub-utilities": "^0.15.18",
35
+ "@ms-cloudpack/file-watcher": "^0.4.12",
36
+ "@ms-cloudpack/import-map": "^0.10.48",
37
37
  "@ms-cloudpack/json-utilities": "^0.1.11",
38
- "@ms-cloudpack/package-hashes": "^0.8.30",
39
- "@ms-cloudpack/package-utilities": "^12.5.3",
38
+ "@ms-cloudpack/package-hashes": "^0.8.31",
39
+ "@ms-cloudpack/package-utilities": "^13.0.0",
40
40
  "@ms-cloudpack/path-string-parsing": "^1.2.7",
41
- "@ms-cloudpack/path-utilities": "^3.1.24",
42
- "@ms-cloudpack/remote-cache": "^0.11.42",
41
+ "@ms-cloudpack/path-utilities": "^3.1.25",
42
+ "@ms-cloudpack/remote-cache": "^0.11.43",
43
43
  "@ms-cloudpack/task-reporter": "^0.17.4",
44
- "@ms-cloudpack/telemetry": "^0.11.42",
44
+ "@ms-cloudpack/telemetry": "^0.11.43",
45
45
  "@trpc/client": "^11.1.1",
46
46
  "@trpc/server": "^11.1.1",
47
47
  "cors": "^2.8.5",