@ms-cloudpack/api-server 0.45.3 → 0.46.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/addPackageOverride.d.ts.map +1 -1
- package/lib/apis/addPackageOverride.js +8 -15
- package/lib/apis/addPackageOverride.js.map +1 -1
- package/lib/apis/openConfigEditor.js +1 -1
- package/lib/apis/openConfigEditor.js.map +1 -1
- package/lib/apis/openFilePath.js +1 -1
- package/lib/apis/openFilePath.js.map +1 -1
- package/lib/apis/syncUpload.d.ts.map +1 -1
- package/lib/apis/syncUpload.js +2 -1
- package/lib/apis/syncUpload.js.map +1 -1
- package/lib/apis/validatePackageOverride.d.ts.map +1 -1
- package/lib/apis/validatePackageOverride.js +4 -2
- package/lib/apis/validatePackageOverride.js.map +1 -1
- package/lib/common/createPartialApiContext.d.ts.map +1 -1
- package/lib/common/createPartialApiContext.js +0 -1
- package/lib/common/createPartialApiContext.js.map +1 -1
- package/lib/common/createSession.d.ts +0 -1
- package/lib/common/createSession.d.ts.map +1 -1
- package/lib/common/createSession.js +2 -3
- package/lib/common/createSession.js.map +1 -1
- package/lib/types/Session.d.ts +0 -9
- package/lib/types/Session.d.ts.map +1 -1
- package/lib/types/Session.js.map +1 -1
- package/lib/utilities/addOverride.d.ts.map +1 -1
- package/lib/utilities/addOverride.js +4 -3
- package/lib/utilities/addOverride.js.map +1 -1
- package/lib/utilities/validateOverride.d.ts.map +1 -1
- package/lib/utilities/validateOverride.js +4 -2
- package/lib/utilities/validateOverride.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"addPackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,QAAA,MAAM,0BAA0B;IAC9B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;EAEH,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,CACf,uBAAuB,EACrB,KAAK,GACL,SAAS,GACT,YAAY,GACZ,UAAU,GACV,SAAS,GACT,oBAAoB,GACpB,eAAe,GACf,iBAAiB,CACpB,GACA,OAAO,CAAC,OAAO,CAAC,CAqBlB;yBAjCqB,kBAAkB"}
|
|
@@ -3,7 +3,6 @@ import { publicProcedure } from '../trpc/common.js';
|
|
|
3
3
|
import { addOverride } from '../utilities/addOverride.js';
|
|
4
4
|
import { notifyReload } from '../utilities/notifyReload.js';
|
|
5
5
|
import { errorEntrySource } from '../data/busSources.js';
|
|
6
|
-
import { addImportMapHash } from '@ms-cloudpack/import-map';
|
|
7
6
|
const ZodAddPackageOverrideInput = z.object({
|
|
8
7
|
/**
|
|
9
8
|
* The package name to override.
|
|
@@ -30,25 +29,19 @@ export async function addPackageOverride(params) {
|
|
|
30
29
|
const { session, bus, packages, taskRunner, packageHashes, telemetryClient } = ctx;
|
|
31
30
|
const { addedOverride, entry } = await addOverride(input, { session, packages });
|
|
32
31
|
if (entry && addedOverride) {
|
|
33
|
-
|
|
32
|
+
// The import map hash needs to be recalculated to ensure that the client is up to date.
|
|
33
|
+
await packageHashes.get({
|
|
34
34
|
packagePath: entry.path,
|
|
35
|
-
isSourceHashingEnabled:
|
|
35
|
+
isSourceHashingEnabled: false,
|
|
36
36
|
shouldRecalculate: true,
|
|
37
37
|
});
|
|
38
|
-
const importMap = session.importMap;
|
|
39
|
-
const bundleServer = session.urls.bundleServer;
|
|
40
|
-
// We need to change the import map hash to force a reload.
|
|
41
|
-
if (importMap && bundleServer) {
|
|
42
|
-
addImportMapHash({
|
|
43
|
-
packageName: entry.name,
|
|
44
|
-
version: entry.version,
|
|
45
|
-
hash,
|
|
46
|
-
}, { ...ctx, ...session, importMap, urls: { bundleServer } });
|
|
47
|
-
}
|
|
48
38
|
taskRunner.remove(entry.path);
|
|
39
|
+
// Incrementing the target version will cause the import map to be recalculated.
|
|
49
40
|
session.incrementTargetVersion(entry.path);
|
|
50
|
-
|
|
51
|
-
|
|
41
|
+
if (session.config.features?.autoUpdateEntries) {
|
|
42
|
+
// We can clear the error message now that the override has been added.
|
|
43
|
+
bus.publish(errorEntrySource, '');
|
|
44
|
+
}
|
|
52
45
|
notifyReload({ reason: 'add-package-override' }, { bus, session, telemetryClient });
|
|
53
46
|
}
|
|
54
47
|
return addedOverride;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPackageOverride.js","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"addPackageOverride.js","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IAEvB;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAEtB;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAUC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACnF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,wFAAwF;QACxF,MAAM,aAAa,CAAC,GAAG,CAAC;YACtB,WAAW,EAAE,KAAK,CAAC,IAAI;YACvB,sBAAsB,EAAE,KAAK;YAC7B,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,gFAAgF;QAChF,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YAC/C,uEAAuE;YACvE,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,YAAY,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kBAAkB,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { addOverride } from '../utilities/addOverride.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { errorEntrySource } from '../data/busSources.js';\n\nconst ZodAddPackageOverrideInput = z.object({\n /**\n * The package name to override.\n */\n packageName: z.string(),\n\n /**\n * The import path to add for the package.\n */\n importPath: z.string(),\n\n /**\n * The version of the package to override.\n */\n version: z.string().optional(),\n\n /**\n * URL that issued the import.\n */\n issuerUrl: z.string().optional(),\n});\nexport type AddPackageOverrideInput = z.infer<typeof ZodAddPackageOverrideInput>;\n\n/**\n * Adds an override to the Cloudpack config.\n */\nexport async function addPackageOverride(\n params: ApiParams<\n AddPackageOverrideInput,\n | 'bus'\n | 'watcher'\n | 'taskRunner'\n | 'packages'\n | 'session'\n | 'packageImportPaths'\n | 'packageHashes'\n | 'telemetryClient'\n >,\n): Promise<boolean> {\n const { input, ctx } = params;\n const { session, bus, packages, taskRunner, packageHashes, telemetryClient } = ctx;\n const { addedOverride, entry } = await addOverride(input, { session, packages });\n if (entry && addedOverride) {\n // The import map hash needs to be recalculated to ensure that the client is up to date.\n await packageHashes.get({\n packagePath: entry.path,\n isSourceHashingEnabled: false,\n shouldRecalculate: true,\n });\n taskRunner.remove(entry.path);\n // Incrementing the target version will cause the import map to be recalculated.\n session.incrementTargetVersion(entry.path);\n if (session.config.features?.autoUpdateEntries) {\n // We can clear the error message now that the override has been added.\n bus.publish(errorEntrySource, '');\n }\n notifyReload({ reason: 'add-package-override' }, { bus, session, telemetryClient });\n }\n return addedOverride;\n}\n\naddPackageOverride.procedure = publicProcedure.input(ZodAddPackageOverrideInput).mutation(addPackageOverride);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { publicProcedure } from '../trpc/common.js';
|
|
2
2
|
import { editCloudpackConfig } from '../utilities/editCloudpackConfig.js';
|
|
3
3
|
export async function openConfigEditor(params) {
|
|
4
|
-
await editCloudpackConfig(params.ctx.session.appPath);
|
|
4
|
+
await editCloudpackConfig(params.ctx.session.config.appPath);
|
|
5
5
|
}
|
|
6
6
|
// Attach a trpc procedure to the function.
|
|
7
7
|
openConfigEditor.procedure = publicProcedure.mutation(openConfigEditor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openConfigEditor.js","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkC;IACvE,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"openConfigEditor.js","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkC;IACvE,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,2CAA2C;AAC3C,gBAAgB,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { editCloudpackConfig } from '../utilities/editCloudpackConfig.js';\n\nexport async function openConfigEditor(params: ApiParams<void, 'session'>) {\n await editCloudpackConfig(params.ctx.session.config.appPath);\n}\n\n// Attach a trpc procedure to the function.\nopenConfigEditor.procedure = publicProcedure.mutation(openConfigEditor);\n"]}
|
package/lib/apis/openFilePath.js
CHANGED
|
@@ -16,7 +16,7 @@ export async function openFilePath(params) {
|
|
|
16
16
|
const win32 = platform() == 'win32';
|
|
17
17
|
const openCommand = win32 ? 'start' : 'open';
|
|
18
18
|
const shell = win32 ? 'powershell.exe' : undefined;
|
|
19
|
-
await exec(`${openCommand} ${fullPath}`, { cwd: session.appPath, shell });
|
|
19
|
+
await exec(`${openCommand} ${fullPath}`, { cwd: session.config.appPath, shell });
|
|
20
20
|
}
|
|
21
21
|
// Attach a trpc procedure to the function.
|
|
22
22
|
openFilePath.procedure = publicProcedure.input(ZodOpenFilePathInput).mutation(openFilePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openFilePath.js","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,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,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA+C;IAChF,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EACjC,GAAG,EAAE,EAAE,OAAO,EAAE,GACjB,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,OAAO,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,MAAM,IAAI,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"openFilePath.js","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,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,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA+C;IAChF,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EACjC,GAAG,EAAE,EAAE,OAAO,EAAE,GACjB,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,OAAO,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,MAAM,IAAI,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,2CAA2C;AAC3C,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc/common.js';\nimport { z } from 'zod';\nimport { join } from 'path';\nimport { platform } from 'os';\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 ZodOpenFilePathInput = z.object({\n rootPath: z.string(),\n relativePath: z.string().optional(),\n});\nexport type OpenFilePathInput = z.infer<typeof ZodOpenFilePathInput>;\n\nexport async function openFilePath(params: ApiParams<OpenFilePathInput, 'session'>): Promise<void> {\n const {\n input: { rootPath, relativePath },\n ctx: { session },\n } = params;\n const fullPath = join(rootPath, relativePath || '');\n\n console.log(`Opening path: ${fullPath}`);\n const win32 = platform() == 'win32';\n const openCommand = win32 ? 'start' : 'open';\n const shell = win32 ? 'powershell.exe' : undefined;\n\n await exec(`${openCommand} ${fullPath}`, { cwd: session.config.appPath, shell });\n}\n\n// Attach a trpc procedure to the function.\nopenFilePath.procedure = publicProcedure.input(ZodOpenFilePathInput).mutation(openFilePath);\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;AAKxB,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,
|
|
1
|
+
{"version":3,"file":"syncUpload.d.ts","sourceRoot":"","sources":["../../src/apis/syncUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,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,CAmDf;yBAhEqB,UAAU"}
|
package/lib/apis/syncUpload.js
CHANGED
|
@@ -13,7 +13,8 @@ const ZodSyncUploadInput = z.object({
|
|
|
13
13
|
export async function syncUpload(params) {
|
|
14
14
|
const { ctx, input } = params;
|
|
15
15
|
const { session, telemetryClient } = ctx;
|
|
16
|
-
const {
|
|
16
|
+
const { config } = session;
|
|
17
|
+
const { appPath } = config;
|
|
17
18
|
const { loginMethod } = input;
|
|
18
19
|
const syncInternalPackages = config?.features?.syncInternalPackages ?? false;
|
|
19
20
|
// Glob pattern for the files to upload.
|
|
@@ -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,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,uCAAuC,EAAE,MAAM,yDAAyD,CAAC;AAElH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAWC;IAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACzC,MAAM,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 { ensureFieldsExist } from '../utilities/ensureFieldsExist.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 packageDefinition = await ctx.packages.get(appPath);\n const { name, version } = ensureFieldsExist(packageDefinition, ['name', 'version']);\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,QAAA,MAAM,+BAA+B;;;;;;;;;;;;EAInC,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE3F,QAAA,MAAM,gCAAgC;;;;;;EAEpC,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE7F,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,CAAC,4BAA4B,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,GAC9E,OAAO,CAAC,6BAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"validatePackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,QAAA,MAAM,+BAA+B;;;;;;;;;;;;EAInC,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE3F,QAAA,MAAM,gCAAgC;;;;;;EAEpC,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE7F,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,CAAC,4BAA4B,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,GAC9E,OAAO,CAAC,6BAA6B,CAAC,CAUxC;yBAZqB,uBAAuB"}
|
|
@@ -12,8 +12,10 @@ const ZodValidatePackageOverrideOutput = z.object({
|
|
|
12
12
|
});
|
|
13
13
|
export async function validatePackageOverride(params) {
|
|
14
14
|
const { input, ctx } = params;
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if (ctx.session.config.features?.autoUpdateEntries) {
|
|
16
|
+
// We need to publish an empty string to the errorEntrySource as the error has been received on the overlay.
|
|
17
|
+
ctx.bus.publish(errorEntrySource, '');
|
|
18
|
+
}
|
|
17
19
|
return {
|
|
18
20
|
fixable: await validateOverride(input, ctx),
|
|
19
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePackageOverride.js","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAA+E;IAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,4GAA4G;
|
|
1
|
+
{"version":3,"file":"validatePackageOverride.js","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAA+E;IAE/E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QACnD,4GAA4G;QAC5G,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,uBAAuB,CAAC,SAAS,GAAG,eAAe;KAChD,KAAK,CAAC,+BAA+B,CAAC;KACtC,MAAM,CAAC,gCAAgC,CAAC;KACxC,KAAK,CAAC,uBAAuB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { publicProcedure } from '../trpc/common.js';\nimport { validateOverride } from '../utilities/validateOverride.js';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { errorEntrySource } from '../index.browser.js';\n\nconst ZodValidatePackageOverrideInput = z.object({\n packageName: z.string(),\n importPath: z.string(),\n issuerUrl: z.string().optional(),\n});\nexport type ValidatePackageOverrideInput = z.infer<typeof ZodValidatePackageOverrideInput>;\n\nconst ZodValidatePackageOverrideOutput = z.object({\n fixable: z.boolean(),\n});\nexport type ValidatePackageOverrideOutput = z.infer<typeof ZodValidatePackageOverrideOutput>;\n\nexport async function validatePackageOverride(\n params: ApiParams<ValidatePackageOverrideInput, 'session' | 'packages' | 'bus'>,\n): Promise<ValidatePackageOverrideOutput> {\n const { input, ctx } = params;\n if (ctx.session.config.features?.autoUpdateEntries) {\n // We need to publish an empty string to the errorEntrySource as the error has been received on the overlay.\n ctx.bus.publish(errorEntrySource, '');\n }\n\n return {\n fixable: await validateOverride(input, ctx),\n };\n}\n\nvalidatePackageOverride.procedure = publicProcedure\n .input(ZodValidatePackageOverrideInput)\n .output(ZodValidatePackageOverrideOutput)\n .query(validatePackageOverride);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPartialApiContext.d.ts","sourceRoot":"","sources":["../../src/common/createPartialApiContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,4BAA4B,CAAC;AAG3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAQ7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"createPartialApiContext.d.ts","sourceRoot":"","sources":["../../src/common/createPartialApiContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,4BAA4B,CAAC;AAG3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAQ7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAiID,wBAAsB,uBAAuB,CAC3C,KAAK,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,SAAS,CAAC,EAC/C,OAAO,SAAS,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,iBAAiB,CAAC,EACjF,OAAO,EAAE,qBAAqB,GAAG;IAAE,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvE"}
|
|
@@ -97,7 +97,6 @@ class LazyApiContext {
|
|
|
97
97
|
const createSessionLazy = async () => {
|
|
98
98
|
const { createSession } = await import('./createSession.js');
|
|
99
99
|
return createSession({
|
|
100
|
-
appPath: this.options.appPath,
|
|
101
100
|
config: this.options.config,
|
|
102
101
|
overlayPath: this.options.overlayPath,
|
|
103
102
|
}, { reporter: await this.reporter, packages: await this.packages, telemetryClient: await this.telemetryClient });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPartialApiContext.js","sourceRoot":"","sources":["../../src/common/createPartialApiContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"createPartialApiContext.js","sourceRoot":"","sources":["../../src/common/createPartialApiContext.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CloudpackConfig, PackageDefinitionsCache } from '@ms-cloudpack/common-types';\nimport type { DataBus } from '@ms-cloudpack/data-bus';\nimport type { Watcher } from '@ms-cloudpack/file-watcher';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport type { TelemetryClient } from '@ms-cloudpack/telemetry';\nimport type { Context } from '../types/Context.js';\nimport type { Session } from '../types/Session.js';\nimport type { TaskRunner } from '../utilities/TaskRunner.js';\nimport type { PackageImportPaths } from '@ms-cloudpack/import-map';\nimport type { PackageHashes } from '@ms-cloudpack/package-hashes';\n\ntype PromisifyProperties<T> = {\n [K in keyof T]: T[K] extends (...args: unknown[]) => unknown ? T[K] : Promise<T[K]>;\n};\n\nexport interface LazyApiContextOptions {\n reporter: TaskReporter;\n appPath: string;\n overlayPath?: string;\n config: CloudpackConfig;\n telemetryClient: TelemetryClient;\n taskRunner?: TaskRunner;\n}\n\nclass LazyApiContext implements PromisifyProperties<Context> {\n #bus: Promise<DataBus> | undefined;\n #watcher: Promise<Watcher> | undefined;\n #packages: Promise<PackageDefinitionsCache> | undefined;\n #taskRunner: Promise<TaskRunner> | undefined;\n #session: Promise<Session> | undefined;\n #packageImportPaths: Promise<PackageImportPaths> | undefined;\n #packageHashes: Promise<PackageHashes> | undefined;\n\n constructor(private readonly options: LazyApiContextOptions) {\n const { taskRunner } = options;\n if (taskRunner) {\n this.#taskRunner = Promise.resolve(taskRunner);\n }\n }\n\n public get telemetryClient(): Promise<TelemetryClient> {\n return Promise.resolve(this.options.telemetryClient);\n }\n\n public get bus(): Promise<DataBus> {\n if (!this.#bus) {\n const createDataBusLazy = async () => {\n const { createDataBus } = await import('@ms-cloudpack/data-bus');\n return createDataBus();\n };\n this.#bus = createDataBusLazy();\n }\n\n return this.#bus;\n }\n\n public get watcher(): Promise<Watcher> {\n if (!this.#watcher) {\n const createWatcherLazy = async () => {\n const { createWatcher } = await import('@ms-cloudpack/file-watcher');\n return createWatcher();\n };\n this.#watcher = createWatcherLazy();\n }\n\n return this.#watcher;\n }\n\n public get reporter(): Promise<TaskReporter> {\n return Promise.resolve(this.options.reporter);\n }\n\n public get packages(): Promise<PackageDefinitionsCache> {\n if (!this.#packages) {\n const createPackageDefinitionsLazy = async () => {\n const { createPackageDefinitions } = await import('@ms-cloudpack/config');\n return createPackageDefinitions({ config: this.options.config });\n };\n this.#packages = createPackageDefinitionsLazy();\n }\n\n return this.#packages;\n }\n\n public get packageHashes(): Promise<PackageHashes> {\n if (!this.#packageHashes) {\n const createPackageHashesLazy = async () => {\n const { PackageHashes } = await import('@ms-cloudpack/package-hashes');\n return new PackageHashes({\n cwd: this.options.appPath,\n context: {\n config: this.options.config,\n packages: await this.packages,\n resolveMap: (await this.session).resolveMap,\n },\n });\n };\n this.#packageHashes = createPackageHashesLazy();\n }\n\n return this.#packageHashes;\n }\n\n public get taskRunner(): Promise<TaskRunner> {\n if (!this.#taskRunner) {\n const createTaskRunnerLazy = async () => {\n const { TaskRunner } = await import('../utilities/TaskRunner.js');\n return new TaskRunner({\n bus: await this.bus,\n reporter: await this.reporter,\n session: await this.session,\n });\n };\n this.#taskRunner = createTaskRunnerLazy();\n }\n return this.#taskRunner;\n }\n\n public get session(): Promise<Session> {\n if (!this.#session) {\n const createSessionLazy = async () => {\n const { createSession } = await import('./createSession.js');\n return createSession(\n {\n config: this.options.config,\n overlayPath: this.options.overlayPath,\n },\n { reporter: await this.reporter, packages: await this.packages, telemetryClient: await this.telemetryClient },\n );\n };\n this.#session = createSessionLazy();\n }\n\n return this.#session;\n }\n\n public get packageImportPaths(): Promise<PackageImportPaths> {\n if (!this.#packageImportPaths) {\n this.#packageImportPaths = Promise.resolve(new Map<string, string[]>());\n }\n return this.#packageImportPaths;\n }\n\n public async dispose() {\n if (this.#watcher) {\n const watcher = await this.#watcher;\n await watcher.unwatchAll();\n }\n }\n}\n\nexport async function createPartialApiContext<\n TKeys extends Exclude<keyof Context, 'dispose'>,\n TReturn extends Pick<Context, TKeys | 'dispose' | 'reporter' | 'telemetryClient'>,\n>(options: LazyApiContextOptions & { items: TKeys[] }): Promise<TReturn> {\n const { reporter, telemetryClient, items } = options;\n const lazyContext = new LazyApiContext(options);\n\n const result = {\n reporter,\n telemetryClient,\n dispose: () => {\n return lazyContext.dispose();\n },\n } as TReturn;\n\n for (const item of items) {\n result[item] = (await lazyContext[item]) as TReturn[TKeys];\n }\n\n return result;\n}\n"]}
|
|
@@ -2,7 +2,6 @@ import type { CloudpackConfig } from '@ms-cloudpack/common-types';
|
|
|
2
2
|
import type { Context } from '../types/Context.js';
|
|
3
3
|
import type { Session } from '../types/Session.js';
|
|
4
4
|
export declare function createSession(options: {
|
|
5
|
-
appPath: string;
|
|
6
5
|
overlayPath?: string;
|
|
7
6
|
config: CloudpackConfig;
|
|
8
7
|
}, context: Pick<Context, 'reporter' | 'packages' | 'telemetryClient'>): Promise<Session>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSession.d.ts","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAOlE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AASnD,wBAAsB,aAAa,CACjC,OAAO,EAAE;IACP,
|
|
1
|
+
{"version":3,"file":"createSession.d.ts","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAOlE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AASnD,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,CAiFlB"}
|
|
@@ -5,7 +5,8 @@ import { v4 as uuid } from 'uuid';
|
|
|
5
5
|
import { getLocalCachePath } from '../utilities/getCachePath.js';
|
|
6
6
|
import { resolveDependenciesTask } from '../utilities/resolveDependenciesTask.js';
|
|
7
7
|
export async function createSession(options, context) {
|
|
8
|
-
const { appPath
|
|
8
|
+
const { appPath } = options.config;
|
|
9
|
+
const { config, overlayPath } = options;
|
|
9
10
|
const projectName = path.basename(appPath);
|
|
10
11
|
const id = uuid();
|
|
11
12
|
let resolveMap = await resolveDependenciesTask({
|
|
@@ -22,10 +23,8 @@ export async function createSession(options, context) {
|
|
|
22
23
|
const linkedPaths = [];
|
|
23
24
|
return {
|
|
24
25
|
id,
|
|
25
|
-
appPath,
|
|
26
26
|
config,
|
|
27
27
|
projectName,
|
|
28
|
-
type: 'web-app',
|
|
29
28
|
get resolveMap() {
|
|
30
29
|
return resolveMap;
|
|
31
30
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAOlF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,
|
|
1
|
+
{"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../src/common/createSession.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CloudpackConfig } from '@ms-cloudpack/common-types';\nimport type { ImportMap } from '@ms-cloudpack/import-map';\nimport { readJson, writeJson, writeJsonSync } from '@ms-cloudpack/json-utilities';\nimport type { LinkedPath } from '@ms-cloudpack/package-utilities';\nimport fs from 'fs';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport type { Context } from '../types/Context.js';\nimport type { Session } from '../types/Session.js';\nimport { getLocalCachePath } from '../utilities/getCachePath.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 = path.join(getLocalCachePath(appPath), 'sessionVersions.json');\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 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 };\n}\n"]}
|
package/lib/types/Session.d.ts
CHANGED
|
@@ -10,15 +10,6 @@ export interface Session {
|
|
|
10
10
|
* The config used by the session.
|
|
11
11
|
*/
|
|
12
12
|
config: CloudpackConfig;
|
|
13
|
-
/**
|
|
14
|
-
* The primary application path to monitor.
|
|
15
|
-
*/
|
|
16
|
-
appPath: string;
|
|
17
|
-
/**
|
|
18
|
-
* The type of session controls how the code is served via start.
|
|
19
|
-
* Web apps require app server and asset hosting, while libraries only need a bundle service.
|
|
20
|
-
*/
|
|
21
|
-
type: 'web-app' | 'library';
|
|
22
13
|
/**
|
|
23
14
|
* Used to resolve packages in the dependency graph.
|
|
24
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/types/Session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/types/Session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,IAAI,EAAE;QACJ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,+FAA+F;QAC/F,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,uBAAuB,EAAE,MAAM,IAAI,CAAC;IAEpC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpD;;OAEG;IACH,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAEjC;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;CAC3G"}
|
package/lib/types/Session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../src/types/Session.ts"],"names":[],"mappings":"","sourcesContent":["import type { ImportMap } from '@ms-cloudpack/import-map';\nimport type { LinkedPath, ResolveMap } from '@ms-cloudpack/package-utilities';\nimport type { CloudpackConfig } from '@ms-cloudpack/common-types';\n\nexport interface Session {\n /**\n * The session id, used for identifying\n */\n id: string;\n\n /**\n * The config used by the session.\n */\n config: CloudpackConfig;\n\n /**\n *
|
|
1
|
+
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../src/types/Session.ts"],"names":[],"mappings":"","sourcesContent":["import type { ImportMap } from '@ms-cloudpack/import-map';\nimport type { LinkedPath, ResolveMap } from '@ms-cloudpack/package-utilities';\nimport type { CloudpackConfig } from '@ms-cloudpack/common-types';\n\nexport interface Session {\n /**\n * The session id, used for identifying\n */\n id: string;\n\n /**\n * The config used by the session.\n */\n config: CloudpackConfig;\n\n /**\n * Used to resolve packages in the dependency graph.\n */\n resolveMap: ResolveMap;\n\n /**\n * Reload sequence to ensure that the client is always up to date with the latest changes.\n */\n sequence: number;\n\n /**\n * URLs of the active servers hosting this session.\n * Each URL will only be set after the server is started.\n */\n urls: {\n appServer?: string;\n /** If `useSingleWebServer` is enabled, this will be a URL for bundles under the app server. */\n bundleServer?: string;\n apiServer?: string;\n };\n\n /**\n * Used to force a hard refresh on the client.\n */\n sessionVersion: number;\n\n /**\n * Used to increment the session version by 1.\n */\n incrementSessionVersion: () => void;\n\n /**\n * The name of the project folder.\n * Used to differentiate between multiple projects.\n */\n projectName: string;\n\n /**\n * The version of each target.\n * Used to force a client cache refresh on a single target.\n */\n targetVersions: Record<string, number>;\n\n /**\n * Increments the version for the given target.\n */\n incrementTargetVersion: (inputPath: string) => void;\n\n /**\n * The import map for the session.\n */\n importMap: ImportMap | undefined;\n\n /**\n * Linked paths that are used to resolve packages from other repos.\n */\n linkedPaths: LinkedPath[];\n\n /**\n * Add the linked path and regenerates the resolve map.\n */\n addLinkedPath: (linkedPath: LinkedPath) => Promise<{ resolveMap: ResolveMap; linkedPaths: LinkedPath[] }>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,cAAc,GAAG;IACpB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;CACpC,CAAC;AAaF;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GAC7C,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"addOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,cAAc,GAAG;IACpB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;CACpC,CAAC;AAaF;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GAC7C,OAAO,CAAC,cAAc,CAAC,CA+FzB"}
|
|
@@ -20,6 +20,7 @@ export async function addOverride(options, context) {
|
|
|
20
20
|
overrideInProcess = overrideInProcess.then(async () => {
|
|
21
21
|
const { packageName, importPath, version, issuerUrl } = options;
|
|
22
22
|
const { session, packages } = context;
|
|
23
|
+
const { appPath, mode } = session.config;
|
|
23
24
|
let addedOverride = false;
|
|
24
25
|
let requiredBy = undefined;
|
|
25
26
|
if (issuerUrl) {
|
|
@@ -48,9 +49,9 @@ export async function addOverride(options, context) {
|
|
|
48
49
|
return { addedOverride, entry };
|
|
49
50
|
}
|
|
50
51
|
// Parse the generated config if it exists.
|
|
51
|
-
const generatedConfig = await readGeneratedConfig(
|
|
52
|
+
const generatedConfig = await readGeneratedConfig(appPath);
|
|
52
53
|
// Ensure packageSettings exists.
|
|
53
|
-
const generatedPackageSettings = await ensureGeneratedSettingsForPackage({ packagePath }, { config: { mode
|
|
54
|
+
const generatedPackageSettings = await ensureGeneratedSettingsForPackage({ packagePath }, { config: { appPath, mode, generated: generatedConfig }, packages });
|
|
54
55
|
if (generatedPackageSettings?.exports &&
|
|
55
56
|
generatedPackageSettings.exports[normalizedImportPath] ===
|
|
56
57
|
null) {
|
|
@@ -77,7 +78,7 @@ export async function addOverride(options, context) {
|
|
|
77
78
|
}
|
|
78
79
|
// Write the updated generated config
|
|
79
80
|
session.config.generated = generatedConfig;
|
|
80
|
-
await writeGeneratedConfig(generatedConfig,
|
|
81
|
+
await writeGeneratedConfig(generatedConfig, appPath);
|
|
81
82
|
console.log(`Added override for "${packageName}" (path "${normalizedImportPath}") to "cloudpack.generated.json".`);
|
|
82
83
|
// Apply the generated exports again to ensure the exports are up to date.
|
|
83
84
|
await packages.get(packagePath, { refresh: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addOverride.js","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GAEd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAWnF;;;;;GAKG;AACH,IAAI,iBAAiB,GAA4B,OAAO,CAAC,OAAO,CAAC;IAC/D,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAwB,EACxB,OAA8C;IAE9C,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAChE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACtC,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,UAAU,GAAG,SAAS,CAAC;QAE3B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1G,UAAU,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAChC,WAAW;YACX,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,UAAU;YACtB,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,WAAW,kBAAkB,CAAC,CAAC;YACjF,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;QAE/B,6GAA6G;QAC7G,2CAA2C;QAC3C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAE/D,qEAAqE;QACrE,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,oBAAoB,UAAU,4CAA4C,WAAW,IAAI,CAAC,CAAC;YACzG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,2CAA2C;QAC3C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"addOverride.js","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"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","sourcesContent":["import { ensureGeneratedSettingsForPackage, readGeneratedConfig, writeGeneratedConfig } from '@ms-cloudpack/config';\nimport { parseRequestInfo } from '@ms-cloudpack/import-map';\nimport {\n addExportsMapEntry,\n findResolveMapEntry,\n flattenExportsMap,\n getExportsMap,\n type ResolveMapEntry,\n} from '@ms-cloudpack/package-utilities';\nimport { makeUrl, normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport type { Context } from '../types/Context.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\n\ntype OverrideReturn = {\n /** Whether the override was successfully added */\n addedOverride: boolean;\n /** The entry (if any) in the resolve map the override was added to */\n entry: ResolveMapEntry | undefined;\n};\n\n/**\n * Helper so that when addOverride is called multiple times in quick succession, we only process one at a time.\n * This is to avoid that multiple calls of addOverride first read the same version of the generated config,\n * then write the same version of the config with its corresponding update,\n * which would result in the last call overwriting the changes of the previous calls.\n */\nlet overrideInProcess: Promise<OverrideReturn> = Promise.resolve({\n addedOverride: false,\n entry: undefined,\n});\n\n/**\n * The addOverride method is triggered by a user action in the overlay, when we detect new usage of an import path\n * that isn't recognized. When the user triggers this override, we write it to the cloudpack generated config.\n */\nexport async function addOverride(\n options: OverrideOptions,\n context: Pick<Context, 'packages' | 'session'>,\n): Promise<OverrideReturn> {\n overrideInProcess = overrideInProcess.then(async () => {\n const { packageName, importPath, version, issuerUrl } = options;\n const { session, packages } = context;\n const { appPath, mode } = session.config;\n let addedOverride = false;\n let requiredBy = undefined;\n\n if (issuerUrl) {\n const { packageName: issuerName, version: issuerVersion } = parseRequestInfo(makeUrl(issuerUrl).pathname);\n requiredBy = { name: issuerName, version: issuerVersion };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition: requiredBy,\n version,\n });\n\n if (!entry) {\n console.error(`Could not find entry of package \"${packageName}\" in resolve map`);\n return { addedOverride, entry };\n }\n\n const packagePath = entry.path;\n\n // Get current exports. We want to add an additional entry to what's there - not replace the default exports,\n // so we need the full map for the package.\n const exports = await getExportsMap({ packagePath }, { packages, config: session.config });\n const flattenedExports = flattenExportsMap(exports);\n const normalizedImportPath = normalizeRelativePath(importPath);\n\n // Return false if the import path already exists in the exports map.\n if (flattenedExports[normalizedImportPath]) {\n console.debug(`The import path \"${importPath}\" already exists in the exports map for \"${packageName}\".`);\n return { addedOverride, entry };\n }\n\n // Parse the generated config if it exists.\n const generatedConfig = await readGeneratedConfig(appPath);\n\n // Ensure packageSettings exists.\n const generatedPackageSettings = await ensureGeneratedSettingsForPackage(\n { packagePath },\n { config: { appPath, mode, generated: generatedConfig }, packages },\n );\n\n if (\n generatedPackageSettings?.exports &&\n (generatedPackageSettings.exports as Record<string, string | Record<string, string>>)[normalizedImportPath] ===\n null\n ) {\n delete (generatedPackageSettings.exports as Record<string, string | Record<string, string>>)[\n normalizedImportPath\n ];\n if (Object.keys(generatedPackageSettings.exports).length === 0) {\n delete generatedPackageSettings.exports;\n }\n addedOverride = true;\n } else {\n const generatedExports = (generatedPackageSettings.exports ??= {});\n\n // Add the single new exports entry to the exports map.\n addedOverride = await addExportsMapEntry(\n {\n exports: generatedExports,\n packagePath,\n importPath,\n },\n { packages, config: session.config },\n );\n\n if (!addedOverride) {\n console.warn(\n `Unable to add override for package \"${packageName}\" to \"cloudpack.generated.json\".` +\n ` The file \"${normalizedImportPath}\" could not be found.` +\n ` Please check the import path and try again.`,\n );\n return { addedOverride, entry };\n }\n }\n\n // Write the updated generated config\n session.config.generated = generatedConfig;\n await writeGeneratedConfig(generatedConfig, appPath);\n console.log(`Added override for \"${packageName}\" (path \"${normalizedImportPath}\") to \"cloudpack.generated.json\".`);\n\n // Apply the generated exports again to ensure the exports are up to date.\n await packages.get(packagePath, { refresh: true });\n\n return { addedOverride, entry };\n });\n\n return overrideInProcess;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"validateOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAAC,GAC7C,OAAO,CAAC,OAAO,CAAC,CAsDlB"}
|
|
@@ -9,6 +9,8 @@ import { ensureGeneratedSettingsForPackage, readGeneratedConfig } from '@ms-clou
|
|
|
9
9
|
export async function validateOverride(options, context) {
|
|
10
10
|
const { packageName, importPath, issuerUrl } = options;
|
|
11
11
|
const { session, packages } = context;
|
|
12
|
+
const { config } = session;
|
|
13
|
+
const { appPath, mode } = config;
|
|
12
14
|
let requiredBy = undefined;
|
|
13
15
|
if (issuerUrl) {
|
|
14
16
|
const { packageName: name, version } = parseRequestInfo(makeUrl(issuerUrl).pathname);
|
|
@@ -30,9 +32,9 @@ export async function validateOverride(options, context) {
|
|
|
30
32
|
return true;
|
|
31
33
|
}
|
|
32
34
|
// Parse the generated config if it exists.
|
|
33
|
-
const generatedConfig = await readGeneratedConfig(
|
|
35
|
+
const generatedConfig = await readGeneratedConfig(appPath);
|
|
34
36
|
// Ensure packageSettings exists.
|
|
35
|
-
const generatedPackageSettings = await ensureGeneratedSettingsForPackage({ packagePath: entry.path }, { config: { mode
|
|
37
|
+
const generatedPackageSettings = await ensureGeneratedSettingsForPackage({ packagePath: entry.path }, { config: { appPath, mode, generated: generatedConfig }, packages });
|
|
36
38
|
if (generatedPackageSettings?.exports &&
|
|
37
39
|
generatedPackageSettings.exports[normalizeRelativePath(importPath)] === null) {
|
|
38
40
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOverride.js","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,OAA8C;IAE9C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,IAAI,UAAU,GAA4B,SAAS,CAAC;IAEpD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrF,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAC1C;QACE,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,QAAQ,EAAE,UAAU;KACrB,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACrC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"validateOverride.js","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,OAA8C;IAE9C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjC,IAAI,UAAU,GAA4B,SAAS,CAAC;IAEpD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrF,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAC1C;QACE,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,QAAQ,EAAE,UAAU;KACrB,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACrC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE3D,iCAAiC;IACjC,MAAM,wBAAwB,GAAG,MAAM,iCAAiC,CACtE,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,EAC3B,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,CACpE,CAAC;IAEF,IACE,wBAAwB,EAAE,OAAO;QAChC,wBAAwB,CAAC,OAA2D,CACnF,qBAAqB,CAAC,UAAU,CAAC,CAClC,KAAK,IAAI,EACV,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import type { PackageJson } from '@ms-cloudpack/common-types';\nimport { parseRequestInfo } from '@ms-cloudpack/import-map';\nimport { findFileInPackage, findResolveMapEntry } from '@ms-cloudpack/package-utilities';\nimport { makeUrl, normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport type { Context } from '../types/Context.js';\nimport type { OverrideOptions } from '../types/OverrideOptions.js';\nimport { ensureGeneratedSettingsForPackage, readGeneratedConfig } from '@ms-cloudpack/config';\n\n/**\n * Given a package name, import path, and optional issuerUrl, returns a boolean indicating if the given\n * override is valid.\n */\nexport async function validateOverride(\n options: OverrideOptions,\n context: Pick<Context, 'session' | 'packages'>,\n): Promise<boolean> {\n const { packageName, importPath, issuerUrl } = options;\n const { session, packages } = context;\n const { config } = session;\n const { appPath, mode } = config;\n\n let requiredBy: PackageJson | undefined = undefined;\n\n if (issuerUrl) {\n const { packageName: name, version } = parseRequestInfo(makeUrl(issuerUrl).pathname);\n requiredBy = { name, version };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition: requiredBy,\n });\n\n if (!entry) {\n return false;\n }\n\n const { filePath } = await findFileInPackage(\n {\n packagePath: entry.path,\n filePath: importPath,\n },\n { packages, config: session.config },\n );\n\n if (filePath) {\n return true;\n }\n\n // Parse the generated config if it exists.\n const generatedConfig = await readGeneratedConfig(appPath);\n\n // Ensure packageSettings exists.\n const generatedPackageSettings = await ensureGeneratedSettingsForPackage(\n { packagePath: entry.path },\n { config: { appPath, mode, generated: generatedConfig }, packages },\n );\n\n if (\n generatedPackageSettings?.exports &&\n (generatedPackageSettings.exports as Record<string, string | Record<string, string>>)[\n normalizeRelativePath(importPath)\n ] === null\n ) {\n return true;\n }\n\n return false;\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.46.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.21.
|
|
31
|
-
"@ms-cloudpack/common-types": "^0.
|
|
32
|
-
"@ms-cloudpack/config": "^0.
|
|
33
|
-
"@ms-cloudpack/create-express-app": "^1.6.
|
|
30
|
+
"@ms-cloudpack/bundler": "^0.21.3",
|
|
31
|
+
"@ms-cloudpack/common-types": "^0.9.0",
|
|
32
|
+
"@ms-cloudpack/config": "^0.22.0",
|
|
33
|
+
"@ms-cloudpack/create-express-app": "^1.6.24",
|
|
34
34
|
"@ms-cloudpack/data-bus": "^0.4.2",
|
|
35
35
|
"@ms-cloudpack/file-watcher": "^0.1.2",
|
|
36
|
-
"@ms-cloudpack/import-map": "^0.5.
|
|
36
|
+
"@ms-cloudpack/import-map": "^0.5.17",
|
|
37
37
|
"@ms-cloudpack/json-utilities": "^0.1.4",
|
|
38
|
-
"@ms-cloudpack/package-hashes": "^0.6.
|
|
39
|
-
"@ms-cloudpack/package-utilities": "^7.7.
|
|
38
|
+
"@ms-cloudpack/package-hashes": "^0.6.3",
|
|
39
|
+
"@ms-cloudpack/package-utilities": "^7.7.1",
|
|
40
40
|
"@ms-cloudpack/path-string-parsing": "^1.2.3",
|
|
41
|
-
"@ms-cloudpack/path-utilities": "^2.7.
|
|
41
|
+
"@ms-cloudpack/path-utilities": "^2.7.21",
|
|
42
42
|
"@ms-cloudpack/remote-cache": "^0.7.9",
|
|
43
43
|
"@ms-cloudpack/task-reporter": "^0.14.1",
|
|
44
44
|
"@ms-cloudpack/telemetry": "^0.5.3",
|