@ms-cloudpack/api-server 0.6.21 → 0.7.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 +2 -0
- package/lib/apis/addPackageOverride.d.ts.map +1 -1
- package/lib/apis/addPackageOverride.js +2 -2
- package/lib/apis/addPackageOverride.js.map +1 -1
- package/lib/apis/bus.d.ts +2 -0
- package/lib/apis/bus.d.ts.map +1 -1
- package/lib/apis/openCodeEditor.d.ts +2 -0
- package/lib/apis/openCodeEditor.d.ts.map +1 -1
- package/lib/apis/openConfigEditor.d.ts +2 -0
- package/lib/apis/openConfigEditor.d.ts.map +1 -1
- package/lib/apis/openFilePath.d.ts +2 -0
- package/lib/apis/openFilePath.d.ts.map +1 -1
- package/lib/apis/reportMetric.d.ts +2 -0
- package/lib/apis/reportMetric.d.ts.map +1 -1
- package/lib/apis/restartAllTasks.d.ts +2 -0
- package/lib/apis/restartAllTasks.d.ts.map +1 -1
- package/lib/apis/restartAllTasks.js +0 -5
- package/lib/apis/restartAllTasks.js.map +1 -1
- package/lib/apis/restartTask.d.ts +2 -0
- package/lib/apis/restartTask.d.ts.map +1 -1
- package/lib/apis/validatePackageOverride.d.ts +2 -0
- package/lib/apis/validatePackageOverride.d.ts.map +1 -1
- package/lib/apis/validatePackageOverride.js +2 -2
- package/lib/apis/validatePackageOverride.js.map +1 -1
- package/lib/appRouter.d.ts +19 -0
- package/lib/appRouter.d.ts.map +1 -1
- package/lib/createCloudpackServer.d.ts +2 -0
- package/lib/createCloudpackServer.d.ts.map +1 -1
- package/lib/createCloudpackServer.js.map +1 -1
- package/lib/createContextFactory.d.ts +3 -0
- package/lib/createContextFactory.d.ts.map +1 -1
- package/lib/createContextFactory.js +3 -1
- package/lib/createContextFactory.js.map +1 -1
- package/lib/startApiServer.d.ts +2 -1
- package/lib/startApiServer.d.ts.map +1 -1
- package/lib/startApiServer.js +3 -10
- package/lib/startApiServer.js.map +1 -1
- package/lib/trpc.d.ts +3 -0
- package/lib/trpc.d.ts.map +1 -1
- package/lib/utilities/addOverride.d.ts +8 -5
- package/lib/utilities/addOverride.d.ts.map +1 -1
- package/lib/utilities/addOverride.js +40 -41
- package/lib/utilities/addOverride.js.map +1 -1
- package/lib/utilities/editCloudpackConfig.js +4 -4
- package/lib/utilities/editCloudpackConfig.js.map +1 -1
- package/lib/utilities/validateOverride.d.ts +10 -3
- package/lib/utilities/validateOverride.d.ts.map +1 -1
- package/lib/utilities/validateOverride.js +10 -4
- package/lib/utilities/validateOverride.js.map +1 -1
- package/package.json +9 -9
- package/lib/utilities/createPackageOverrideTransform.d.ts +0 -7
- package/lib/utilities/createPackageOverrideTransform.d.ts.map +0 -1
- package/lib/utilities/createPackageOverrideTransform.js +0 -19
- package/lib/utilities/createPackageOverrideTransform.js.map +0 -1
|
@@ -10,6 +10,7 @@ export declare const addPackageOverride: import("@trpc/server").BuildProcedure<"
|
|
|
10
10
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
11
11
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
12
12
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
13
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
13
14
|
};
|
|
14
15
|
meta: object;
|
|
15
16
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -23,6 +24,7 @@ export declare const addPackageOverride: import("@trpc/server").BuildProcedure<"
|
|
|
23
24
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
24
25
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
25
26
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
27
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
26
28
|
};
|
|
27
29
|
_input_in: {
|
|
28
30
|
packageName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"addPackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAW3B,CAAC"}
|
|
@@ -10,8 +10,8 @@ export const addPackageOverride = publicProcedure
|
|
|
10
10
|
packageName: z.string(),
|
|
11
11
|
importPath: z.string(),
|
|
12
12
|
}))
|
|
13
|
-
.mutation(async ({ input: { packageName, importPath }, ctx: { session, bus } }) => {
|
|
14
|
-
await addOverride({
|
|
13
|
+
.mutation(async ({ input: { packageName, importPath }, ctx: { session, bus, packages } }) => {
|
|
14
|
+
await addOverride({ packageName, importPath }, { session, packages });
|
|
15
15
|
session.incrementSessionVersion();
|
|
16
16
|
notifyReload({ bus });
|
|
17
17
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPackageOverride.js","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe;KAC9C,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CACH;KACA,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"addPackageOverride.js","sourceRoot":"","sources":["../../src/apis/addPackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe;KAC9C,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CACH;KACA,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAC1F,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc.js';\nimport { z } from 'zod';\nimport { addOverride } from '../utilities/addOverride.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\n\n/**\n * Adds an override to the cloudpack config.\n */\nexport const addPackageOverride = publicProcedure\n .input(\n z.object({\n packageName: z.string(),\n importPath: z.string(),\n }),\n )\n .mutation(async ({ input: { packageName, importPath }, ctx: { session, bus, packages } }) => {\n await addOverride({ packageName, importPath }, { session, packages });\n session.incrementSessionVersion();\n notifyReload({ bus });\n });\n"]}
|
package/lib/apis/bus.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare const bus: import("@trpc/server").BuildProcedure<"subscription",
|
|
|
13
13
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
14
14
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
15
15
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
16
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
16
17
|
};
|
|
17
18
|
meta: object;
|
|
18
19
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -26,6 +27,7 @@ export declare const bus: import("@trpc/server").BuildProcedure<"subscription",
|
|
|
26
27
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
27
28
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
28
29
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
30
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
29
31
|
};
|
|
30
32
|
_input_in: {
|
|
31
33
|
path: string[];
|
package/lib/apis/bus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../src/apis/bus.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../src/apis/bus.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAgBZ,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const openCodeEditor: import("@trpc/server").BuildProcedure<"muta
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -20,6 +21,7 @@ export declare const openCodeEditor: import("@trpc/server").BuildProcedure<"muta
|
|
|
20
21
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
21
22
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
22
23
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
24
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
23
25
|
};
|
|
24
26
|
_input_in: {
|
|
25
27
|
rootPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openCodeEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openCodeEditor.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"openCodeEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openCodeEditor.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAevB,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const openConfigEditor: import("@trpc/server").BuildProcedure<"mu
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -19,6 +20,7 @@ export declare const openConfigEditor: import("@trpc/server").BuildProcedure<"mu
|
|
|
19
20
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
20
21
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
21
22
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
23
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
22
24
|
};
|
|
23
25
|
_input_in: typeof import("@trpc/server").unsetMarker;
|
|
24
26
|
_input_out: typeof import("@trpc/server").unsetMarker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openConfigEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"openConfigEditor.d.ts","sourceRoot":"","sources":["../../src/apis/openConfigEditor.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAgD,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const openFilePath: import("@trpc/server").BuildProcedure<"query"
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -20,6 +21,7 @@ export declare const openFilePath: import("@trpc/server").BuildProcedure<"query"
|
|
|
20
21
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
21
22
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
22
23
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
24
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
23
25
|
};
|
|
24
26
|
_input_in: {
|
|
25
27
|
rootPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openFilePath.d.ts","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"openFilePath.d.ts","sourceRoot":"","sources":["../../src/apis/openFilePath.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAcrB,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const reportMetric: import("@trpc/server").BuildProcedure<"mutati
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -20,6 +21,7 @@ export declare const reportMetric: import("@trpc/server").BuildProcedure<"mutati
|
|
|
20
21
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
21
22
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
22
23
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
24
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
23
25
|
};
|
|
24
26
|
_input_in: {
|
|
25
27
|
metric: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportMetric.d.ts","sourceRoot":"","sources":["../../src/apis/reportMetric.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"reportMetric.d.ts","sourceRoot":"","sources":["../../src/apis/reportMetric.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QASrB,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const restartAllTasks: import("@trpc/server").BuildProcedure<"mut
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -19,6 +20,7 @@ export declare const restartAllTasks: import("@trpc/server").BuildProcedure<"mut
|
|
|
19
20
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
20
21
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
21
22
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
23
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
22
24
|
};
|
|
23
25
|
_input_in: typeof import("@trpc/server").unsetMarker;
|
|
24
26
|
_input_out: typeof import("@trpc/server").unsetMarker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restartAllTasks.d.ts","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"restartAllTasks.d.ts","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgB1B,CAAC"}
|
|
@@ -11,11 +11,6 @@ export const restartAllTasks = publicProcedure.mutation(async ({ ctx: { allTasks
|
|
|
11
11
|
allTasks.forEach((_, id) => {
|
|
12
12
|
taskRunner.remove(id);
|
|
13
13
|
});
|
|
14
|
-
// NOTE: The above lines are commended out because they seem totally unneeded.
|
|
15
|
-
// Parse config if it exists.
|
|
16
|
-
// const cloudpackConfig = await readConfig();
|
|
17
|
-
// Initialize package overrides.
|
|
18
|
-
// PackageDefinitions.getInstance().registerTransform(createPackageOverrideTransform(cloudpackConfig));
|
|
19
14
|
// Update session version.
|
|
20
15
|
session.incrementSessionVersion();
|
|
21
16
|
notifyReload({ bus });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restartAllTasks.js","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;IAChH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACzB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,
|
|
1
|
+
{"version":3,"file":"restartAllTasks.js","sourceRoot":"","sources":["../../src/apis/restartAllTasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;IAChH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACzB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAElC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC","sourcesContent":["import { emptyDir } from 'fs-extra/esm';\nimport { publicProcedure } from '../trpc.js';\nimport { getCachePath } from '../utilities/getCachePath.js';\nimport { notifyReload } from '../utilities/notifyReload.js';\n\nexport const restartAllTasks = publicProcedure.mutation(async ({ ctx: { allTasks, session, bus, taskRunner } }) => {\n console.log('ApiServer: Restarting all tasks');\n\n // Clear entire local cache.\n await emptyDir(getCachePath());\n\n // All tasks can be removed as notifyReload()\n // will cause the client to add the tasks again.\n allTasks.forEach((_, id) => {\n taskRunner.remove(id);\n });\n\n // Update session version.\n session.incrementSessionVersion();\n\n notifyReload({ bus });\n});\n"]}
|
|
@@ -7,6 +7,7 @@ export declare const restartTask: import("@trpc/server").BuildProcedure<"mutatio
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -20,6 +21,7 @@ export declare const restartTask: import("@trpc/server").BuildProcedure<"mutatio
|
|
|
20
21
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
21
22
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
22
23
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
24
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
23
25
|
};
|
|
24
26
|
_input_in: {
|
|
25
27
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restartTask.d.ts","sourceRoot":"","sources":["../../src/apis/restartTask.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"restartTask.d.ts","sourceRoot":"","sources":["../../src/apis/restartTask.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAWpB,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const validatePackageOverride: import("@trpc/server").BuildProced
|
|
|
7
7
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
8
8
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
9
9
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
10
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
10
11
|
};
|
|
11
12
|
meta: object;
|
|
12
13
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -20,6 +21,7 @@ export declare const validatePackageOverride: import("@trpc/server").BuildProced
|
|
|
20
21
|
taskRunner: import("../utilities/TaskRunner.js").TaskRunner;
|
|
21
22
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
22
23
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
24
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
23
25
|
};
|
|
24
26
|
_input_in: {
|
|
25
27
|
packageName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"validatePackageOverride.d.ts","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAgBhC,CAAC"}
|
|
@@ -9,9 +9,9 @@ export const validatePackageOverride = publicProcedure
|
|
|
9
9
|
.output(z.object({
|
|
10
10
|
fixable: z.boolean(),
|
|
11
11
|
}))
|
|
12
|
-
.query(async ({ input: { packageName, importPath }, ctx: { session } }) => {
|
|
12
|
+
.query(async ({ input: { packageName, importPath }, ctx: { session, packages } }) => {
|
|
13
13
|
return {
|
|
14
|
-
fixable: await validateOverride({
|
|
14
|
+
fixable: await validateOverride({ packageName, importPath }, { session, packages }),
|
|
15
15
|
};
|
|
16
16
|
});
|
|
17
17
|
//# sourceMappingURL=validatePackageOverride.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePackageOverride.js","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe;KACnD,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CACH;KACA,MAAM,CACL,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CACH;KACA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"validatePackageOverride.js","sourceRoot":"","sources":["../../src/apis/validatePackageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe;KACnD,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CACH;KACA,MAAM,CACL,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CACH;KACA,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAClF,OAAO;QACL,OAAO,EAAE,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { publicProcedure } from '../trpc.js';\nimport { z } from 'zod';\nimport { validateOverride } from '../utilities/validateOverride.js';\n\nexport const validatePackageOverride = publicProcedure\n .input(\n z.object({\n packageName: z.string(),\n importPath: z.string(),\n }),\n )\n .output(\n z.object({\n fixable: z.boolean(),\n }),\n )\n .query(async ({ input: { packageName, importPath }, ctx: { session, packages } }) => {\n return {\n fixable: await validateOverride({ packageName, importPath }, { session, packages }),\n };\n });\n"]}
|
package/lib/appRouter.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
6
6
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
7
7
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
8
8
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
9
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
9
10
|
};
|
|
10
11
|
meta: object;
|
|
11
12
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -20,6 +21,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
20
21
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
21
22
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
22
23
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
24
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
23
25
|
};
|
|
24
26
|
meta: object;
|
|
25
27
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -33,6 +35,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
33
35
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
34
36
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
35
37
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
38
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
36
39
|
};
|
|
37
40
|
_input_in: {
|
|
38
41
|
packageName: string;
|
|
@@ -54,6 +57,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
54
57
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
55
58
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
56
59
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
60
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
57
61
|
};
|
|
58
62
|
meta: object;
|
|
59
63
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -67,6 +71,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
67
71
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
68
72
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
69
73
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
74
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
70
75
|
};
|
|
71
76
|
_input_in: {
|
|
72
77
|
path: string[];
|
|
@@ -86,6 +91,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
86
91
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
87
92
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
88
93
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
94
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
89
95
|
};
|
|
90
96
|
meta: object;
|
|
91
97
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -99,6 +105,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
99
105
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
100
106
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
101
107
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
108
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
102
109
|
};
|
|
103
110
|
_input_in: {
|
|
104
111
|
rootPath: string;
|
|
@@ -124,6 +131,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
124
131
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
125
132
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
126
133
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
134
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
127
135
|
};
|
|
128
136
|
meta: object;
|
|
129
137
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -136,6 +144,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
136
144
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
137
145
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
138
146
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
147
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
139
148
|
};
|
|
140
149
|
_input_in: typeof import("@trpc/server").unsetMarker;
|
|
141
150
|
_input_out: typeof import("@trpc/server").unsetMarker;
|
|
@@ -152,6 +161,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
152
161
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
153
162
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
154
163
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
164
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
155
165
|
};
|
|
156
166
|
meta: object;
|
|
157
167
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -165,6 +175,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
165
175
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
166
176
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
167
177
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
178
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
168
179
|
};
|
|
169
180
|
_input_in: {
|
|
170
181
|
rootPath: string;
|
|
@@ -186,6 +197,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
186
197
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
187
198
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
188
199
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
200
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
189
201
|
};
|
|
190
202
|
meta: object;
|
|
191
203
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -199,6 +211,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
199
211
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
200
212
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
201
213
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
214
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
202
215
|
};
|
|
203
216
|
_input_in: {
|
|
204
217
|
metric: string;
|
|
@@ -220,6 +233,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
220
233
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
221
234
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
222
235
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
236
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
223
237
|
};
|
|
224
238
|
meta: object;
|
|
225
239
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -232,6 +246,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
232
246
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
233
247
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
234
248
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
249
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
235
250
|
};
|
|
236
251
|
_input_in: typeof import("@trpc/server").unsetMarker;
|
|
237
252
|
_input_out: typeof import("@trpc/server").unsetMarker;
|
|
@@ -248,6 +263,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
248
263
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
249
264
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
250
265
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
266
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
251
267
|
};
|
|
252
268
|
meta: object;
|
|
253
269
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -261,6 +277,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
261
277
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
262
278
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
263
279
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
280
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
264
281
|
};
|
|
265
282
|
_input_in: {
|
|
266
283
|
id: string;
|
|
@@ -282,6 +299,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
282
299
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
283
300
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
284
301
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
302
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
285
303
|
};
|
|
286
304
|
meta: object;
|
|
287
305
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -295,6 +313,7 @@ export declare const appRouter: import("@trpc/server").CreateRouterInner<import(
|
|
|
295
313
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
296
314
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
297
315
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
316
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
298
317
|
};
|
|
299
318
|
_input_in: {
|
|
300
319
|
packageName: string;
|
package/lib/appRouter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appRouter.d.ts","sourceRoot":"","sources":["../src/appRouter.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"appRouter.d.ts","sourceRoot":"","sources":["../src/appRouter.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { TaskReporter } from '@ms-cloudpack/task-reporter';
|
|
2
2
|
import type { Span } from '@ms-cloudpack/telemetry';
|
|
3
3
|
import type { Session } from './index.js';
|
|
4
|
+
import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
|
|
4
5
|
export declare function createCloudpackServer(options: {
|
|
5
6
|
session: Session;
|
|
6
7
|
rootSpan: Span | undefined;
|
|
7
8
|
reporter: TaskReporter;
|
|
9
|
+
packages: PackageDefinitionsCache;
|
|
8
10
|
}): Promise<Omit<{
|
|
9
11
|
addPackageOverride: (input: {
|
|
10
12
|
packageName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCloudpackServer.d.ts","sourceRoot":"","sources":["../src/createCloudpackServer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"createCloudpackServer.d.ts","sourceRoot":"","sources":["../src/createCloudpackServer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC;CACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCloudpackServer.js","sourceRoot":"","sources":["../src/createCloudpackServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,OAAO,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"createCloudpackServer.js","sourceRoot":"","sources":["../src/createCloudpackServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,OAAO,MAAM,UAAU,CAAC;AAG/B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAK3C;IACC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,WAAW,CAAC;IAC1E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAE/D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;QAC1C,MAAM,EAAE,SAAS;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,eAAe,CAAY;QACzB,GAAG;QACH,MAAM,EAAE,SAAS;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvB,MAAM,gBAAgB,GAAG,MAAM,aAAa,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAE3D,OAAO,SAA0E,CAAC;AACpF,CAAC","sourcesContent":["import { createHTTPServer } from './trpc-adapters/httpAdapter.js';\nimport { appRouter, type AppRouter } from './appRouter.js';\nimport { createContextFactory } from './createContextFactory.js';\nimport { WebSocketServer } from 'ws';\nimport { applyWSSHandler } from '@trpc/server/adapters/ws';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport type { Span } from '@ms-cloudpack/telemetry';\nimport type { Session } from './index.js';\nimport getPort from 'get-port';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\n\nexport async function createCloudpackServer(options: {\n session: Session;\n rootSpan: Span | undefined;\n reporter: TaskReporter;\n packages: PackageDefinitionsCache;\n}) {\n const createContext = await createContextFactory(options);\n const hostname = options.session.config?.devServer?.domain || 'localhost';\n const port = await getPort({ port: [9890, 9891, 9892, 9893] });\n\n const { server, listen } = createHTTPServer({\n router: appRouter,\n createContext,\n });\n\n const wss = new WebSocketServer({ server });\n\n applyWSSHandler<AppRouter>({\n wss,\n router: appRouter,\n createContext,\n });\n\n listen(port, hostname);\n\n const localCallContext = await createContext();\n const localApis = appRouter.createCaller(localCallContext);\n\n return localApis as Omit<typeof localApis, 'mutation' | 'query' | 'subscription'>;\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import type { TaskReporter } from '@ms-cloudpack/task-reporter';
|
|
|
2
2
|
import type { Span } from '@ms-cloudpack/telemetry';
|
|
3
3
|
import type { Session, TaskDescription } from './index.js';
|
|
4
4
|
import { TaskRunner } from './utilities/TaskRunner.js';
|
|
5
|
+
import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
|
|
5
6
|
/**
|
|
6
7
|
* Creates the server context and returns a connection context factory.
|
|
7
8
|
* The context object is accessible to apis and serves as a way to share stateful
|
|
@@ -11,6 +12,7 @@ export declare function createContextFactory(options: {
|
|
|
11
12
|
session: Session;
|
|
12
13
|
rootSpan: Span | undefined;
|
|
13
14
|
reporter: TaskReporter;
|
|
15
|
+
packages: PackageDefinitionsCache;
|
|
14
16
|
}): Promise<() => Promise<{
|
|
15
17
|
session: Session;
|
|
16
18
|
bus: import("@ms-cloudpack/data-bus").DataBus;
|
|
@@ -18,6 +20,7 @@ export declare function createContextFactory(options: {
|
|
|
18
20
|
taskRunner: TaskRunner;
|
|
19
21
|
rootSpan: Span | undefined;
|
|
20
22
|
reporter: TaskReporter;
|
|
23
|
+
packages: PackageDefinitionsCache;
|
|
21
24
|
}>>;
|
|
22
25
|
export type CreateContext = Awaited<ReturnType<typeof createContextFactory>>;
|
|
23
26
|
export type Context = Awaited<ReturnType<CreateContext>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContextFactory.d.ts","sourceRoot":"","sources":["../src/createContextFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"createContextFactory.d.ts","sourceRoot":"","sources":["../src/createContextFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;GAIG;AAEH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC;CACnC;;;;;;;;IAiDA;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { TaskRunner } from './utilities/TaskRunner.js';
|
|
|
7
7
|
*/
|
|
8
8
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
9
9
|
export async function createContextFactory(options) {
|
|
10
|
-
const { session, rootSpan, reporter } = options;
|
|
10
|
+
const { session, rootSpan, reporter, packages } = options;
|
|
11
11
|
// const host = config?.devServer?.domain || 'localhost';
|
|
12
12
|
// const port = await getPort({ port: [9890, 9891, 9892, 9893] });
|
|
13
13
|
// const bus = createDataBus();
|
|
@@ -40,6 +40,8 @@ export async function createContextFactory(options) {
|
|
|
40
40
|
rootSpan,
|
|
41
41
|
// logging
|
|
42
42
|
reporter,
|
|
43
|
+
// packages
|
|
44
|
+
packages,
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
47
|
return createContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContextFactory.js","sourceRoot":"","sources":["../src/createContextFactory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"createContextFactory.js","sourceRoot":"","sources":["../src/createContextFactory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD;;;;GAIG;AACH,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAK1C;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC1D,yDAAyD;IACzD,kEAAkE;IAClE,+BAA+B;IAE/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,sBAAsB;IACtB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE;QAClC,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;KACjB,CAAC,CAAC;IAEH,yFAAyF;IACzF,wFAAwF;IACxF,6CAA6C;IAC7C,4DAA4D;IAC5D,KAAK,UAAU,aAAa;QAC1B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAEtC,OAAO;YACL,kBAAkB;YAClB,OAAO;YAEP,WAAW;YACX,GAAG;YAEH,QAAQ;YACR,QAAQ;YACR,UAAU;YAEV,YAAY;YACZ,QAAQ;YAER,UAAU;YACV,QAAQ;YAER,WAAW;YACX,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport type { Span } from '@ms-cloudpack/telemetry';\nimport type { Session, TaskDescription } from './index.js';\nimport { createDataBus } from '@ms-cloudpack/data-bus';\nimport { TaskRunner } from './utilities/TaskRunner.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\n\n/**\n * Creates the server context and returns a connection context factory.\n * The context object is accessible to apis and serves as a way to share stateful\n * objects across them.\n */\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function createContextFactory(options: {\n session: Session;\n rootSpan: Span | undefined;\n reporter: TaskReporter;\n packages: PackageDefinitionsCache;\n}) {\n const { session, rootSpan, reporter, packages } = options;\n // const host = config?.devServer?.domain || 'localhost';\n // const port = await getPort({ port: [9890, 9891, 9892, 9893] });\n // const bus = createDataBus();\n\n const allTasks = new Map<string, TaskDescription>();\n const taskRunner = new TaskRunner();\n const bus = createDataBus();\n\n // Push initial stats.\n bus.publish([session.id, 'status'], {\n status: 'idle',\n remainingTasks: 0,\n totalTasks: 0,\n totalErrors: 0,\n totalWarnings: 0,\n });\n\n // Return the factory function which creates a context object per connection. This allows\n // us to choose what we expose to each client from server context, but also allows us to\n // add additional context to each connection.\n // eslint-disable-next-line @typescript-eslint/require-await\n async function createContext() {\n console.log('creating outer context');\n\n return {\n // session manager\n session,\n\n // data bus\n bus,\n\n // tasks\n allTasks,\n taskRunner,\n\n // telemetry\n rootSpan,\n\n // logging\n reporter,\n\n // packages\n packages,\n };\n }\n\n return createContext;\n}\n\nexport type CreateContext = Awaited<ReturnType<typeof createContextFactory>>;\n\nexport type Context = Awaited<ReturnType<CreateContext>>;\n"]}
|
package/lib/startApiServer.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ApiServer } from './types/ApiServer.js';
|
|
|
2
2
|
import type { Session } from './types/Session.js';
|
|
3
3
|
import type { Span } from '@ms-cloudpack/telemetry';
|
|
4
4
|
import type { TaskReporter } from '@ms-cloudpack/task-reporter';
|
|
5
|
+
import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
|
|
5
6
|
/**
|
|
6
7
|
* The api server handles the data pub/sub (for things like reporting build status)
|
|
7
8
|
* and hosting the dashboard verb backend (for executing actions like loading vscode,
|
|
@@ -20,6 +21,6 @@ export declare function startApiServer(params: {
|
|
|
20
21
|
session: Session;
|
|
21
22
|
rootSpan: Span | undefined;
|
|
22
23
|
reporter: TaskReporter;
|
|
23
|
-
|
|
24
|
+
packages: PackageDefinitionsCache;
|
|
24
25
|
}): Promise<ApiServer>;
|
|
25
26
|
//# sourceMappingURL=startApiServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startApiServer.d.ts","sourceRoot":"","sources":["../src/startApiServer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"startApiServer.d.ts","sourceRoot":"","sources":["../src/startApiServer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC,SAAS,CAAC,CA2XrB"}
|
package/lib/startApiServer.js
CHANGED
|
@@ -10,9 +10,6 @@ import { TaskRunner } from './utilities/TaskRunner.js';
|
|
|
10
10
|
import { getCachePath } from './utilities/getCachePath.js';
|
|
11
11
|
import fsExtra from 'fs-extra';
|
|
12
12
|
import { startWatcher } from './utilities/startWatcher.js';
|
|
13
|
-
import { PackageDefinitions } from '@ms-cloudpack/package-utilities';
|
|
14
|
-
import { createPackageOverrideTransform } from './utilities/createPackageOverrideTransform.js';
|
|
15
|
-
import { readConfigSync } from '@ms-cloudpack/config';
|
|
16
13
|
import { addOverride } from './utilities/addOverride.js';
|
|
17
14
|
import { validateOverride } from './utilities/validateOverride.js';
|
|
18
15
|
import { parseHttpsConfig } from '@ms-cloudpack/create-express-app';
|
|
@@ -32,7 +29,7 @@ import { editCloudpackConfig } from './utilities/editCloudpackConfig.js';
|
|
|
32
29
|
* javascript can connect and subscribe to page changes.
|
|
33
30
|
*/
|
|
34
31
|
export async function startApiServer(params) {
|
|
35
|
-
const { session, rootSpan, reporter,
|
|
32
|
+
const { session, rootSpan, reporter, packages } = params;
|
|
36
33
|
const host = session.config?.devServer?.domain || 'localhost';
|
|
37
34
|
const port = await getPort({ port: [9890, 9891, 9892, 9893] });
|
|
38
35
|
const bus = createDataBus();
|
|
@@ -222,7 +219,7 @@ export async function startApiServer(params) {
|
|
|
222
219
|
// TODO: Send filename from request data to findResolveMapEntry when chromium Issue 1371551 is fixed.
|
|
223
220
|
const { packageName, importPath } = request.data;
|
|
224
221
|
(async () => {
|
|
225
|
-
await addOverride({
|
|
222
|
+
await addOverride({ packageName, importPath }, { session, packages });
|
|
226
223
|
session.incrementSessionVersion();
|
|
227
224
|
notifyReload();
|
|
228
225
|
})().catch(() => {
|
|
@@ -235,7 +232,7 @@ export async function startApiServer(params) {
|
|
|
235
232
|
const { requestId, data } = request;
|
|
236
233
|
const { packageName, importPath } = data;
|
|
237
234
|
(async () => {
|
|
238
|
-
const fixable = await validateOverride({
|
|
235
|
+
const fixable = await validateOverride({ packageName, importPath }, { session, packages });
|
|
239
236
|
sendMessage({ type: 'validateOverride', requestId, data: { fixable } });
|
|
240
237
|
})().catch(() => {
|
|
241
238
|
// no-op
|
|
@@ -251,10 +248,6 @@ export async function startApiServer(params) {
|
|
|
251
248
|
allTasks.forEach((_, id) => {
|
|
252
249
|
taskRunner.remove(id);
|
|
253
250
|
});
|
|
254
|
-
// Parse config if it exists.
|
|
255
|
-
const cloudpackConfig = readConfigSync(appPath);
|
|
256
|
-
// Initialize package overrides.
|
|
257
|
-
PackageDefinitions.getInstance().registerTransform(createPackageOverrideTransform(cloudpackConfig));
|
|
258
251
|
// Update session version.
|
|
259
252
|
session.incrementSessionVersion();
|
|
260
253
|
notifyReload();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startApiServer.js","sourceRoot":"","sources":["../src/startApiServer.ts"],"names":[],"mappings":"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","sourcesContent":["import os from 'os';\nimport getPort from 'get-port';\nimport path from 'path';\nimport http from 'http';\nimport https from 'https';\nimport WebSocket, { WebSocketServer } from 'ws';\nimport { createDataBus } from '@ms-cloudpack/data-bus';\nimport { execSync } from 'child_process';\nimport { TaskRunner } from './utilities/TaskRunner.js';\nimport { getCachePath } from './utilities/getCachePath.js';\nimport fsExtra from 'fs-extra';\nimport { startWatcher } from './utilities/startWatcher.js';\nimport type { TaskDescription } from './types/TaskDescription.js';\nimport type { TaskEndDescription } from './types/TaskEndDescription.js';\nimport type { TaskStartDescription } from './types/TaskStartDescription.js';\nimport type { ApiServer } from './types/ApiServer.js';\nimport type { SessionStats } from './types/SessionStats.js';\nimport type { Session } from './types/Session.js';\nimport { PackageDefinitions } from '@ms-cloudpack/package-utilities';\nimport { createPackageOverrideTransform } from './utilities/createPackageOverrideTransform.js';\nimport { readConfigSync } from '@ms-cloudpack/config';\nimport { addOverride } from './utilities/addOverride.js';\nimport { validateOverride } from './utilities/validateOverride.js';\nimport { parseHttpsConfig } from '@ms-cloudpack/create-express-app';\nimport type { Span } from '@ms-cloudpack/telemetry';\nimport { editCloudpackConfig } from './utilities/editCloudpackConfig.js';\nimport type { TaskScheduler } from './task-scheduler/TaskScheduler.js';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\n\n/**\n * The api server handles the data pub/sub (for things like reporting build status)\n * and hosting the dashboard verb backend (for executing actions like loading vscode,\n * changing dependencies, connecting new projects to the running session, etc.)\n *\n * Each time `cloudpack start` is run, an api server will start up for that session. The\n * hosted web page will have a \"cloudpack-api-server\" header which points\n * to the websocket server.\n *\n * The bundle server will call the api server to publish build status updates.\n *\n * The app server will burn the api server url on the host html, so that client-side\n * javascript can connect and subscribe to page changes.\n */\nexport async function startApiServer(params: {\n session: Session;\n rootSpan: Span | undefined;\n reporter: TaskReporter;\n appPath: string;\n}): Promise<ApiServer> {\n const { session, rootSpan, reporter, appPath } = params;\n const host = session.config?.devServer?.domain || 'localhost';\n const port = await getPort({ port: [9890, 9891, 9892, 9893] });\n const bus = createDataBus();\n const sessionStats: SessionStats = {\n status: 'idle',\n\n remainingTasks: 0,\n totalTasks: 0,\n\n totalErrors: 0,\n totalWarnings: 0,\n };\n\n const allTasks = new Map<string, TaskDescription>();\n const taskRunner = new TaskRunner();\n\n function reportStart(taskStart: TaskStartDescription): void {\n const previousResult = allTasks.get(taskStart.id);\n const now = new Date().getTime();\n\n if (!previousResult) {\n sessionStats.totalTasks++;\n }\n\n if (previousResult?.status === 'complete') {\n sessionStats.totalErrors -= previousResult.errors?.length || 0;\n sessionStats.totalWarnings -= previousResult.warnings?.length || 0;\n }\n\n sessionStats.remainingTasks++;\n sessionStats.status = 'pending';\n\n allTasks.set(taskStart.id, {\n ...taskStart,\n status: 'pending',\n startTime: now,\n });\n\n bus.publish([session.id, 'status'], sessionStats);\n bus.publish([session.id, 'status-details'], { tasks: Array.from(allTasks.values()) });\n }\n\n function reportEnd(taskEnd: TaskEndDescription): void {\n const previousResult = allTasks.get(taskEnd.id);\n const now = new Date().getTime();\n\n if (previousResult) {\n sessionStats.remainingTasks--;\n sessionStats.totalErrors += taskEnd.errors?.length || 0;\n sessionStats.totalWarnings += taskEnd.warnings?.length || 0;\n\n allTasks.set(taskEnd.id, {\n ...previousResult,\n ...taskEnd,\n status: 'complete',\n durationMilliseconds: now - previousResult.startTime,\n lastUpdated: now,\n });\n\n if (sessionStats.remainingTasks === 0) {\n sessionStats.status = 'idle';\n }\n\n bus.publish([session.id, 'status'], sessionStats);\n bus.publish([session.id, 'status-details'], { tasks: Array.from(allTasks.values()) });\n }\n }\n\n bus.publish([session.id, 'status'], sessionStats);\n\n const addTask: ApiServer['addTask'] = (task, options) => {\n if (task.watch) {\n options = options || {};\n options.watch = () => {\n watcher.watch(task, { onSuccess: notifyReload });\n };\n }\n\n return taskRunner.add(\n {\n ...task,\n execute: async () => {\n reportStart({\n ...task.getStartDescription?.(),\n id: task.id,\n });\n\n let taskResult;\n\n try {\n taskResult = await task.execute();\n } catch (err) {\n // no-op\n }\n\n reportEnd({\n ...task.getEndDescription?.(taskResult),\n id: task.id,\n } as TaskEndDescription);\n\n return taskResult;\n },\n },\n options,\n );\n };\n\n const watcher = startWatcher(addTask);\n\n // Create a node http(s) server.\n let server: http.Server | https.Server;\n const httpsConfig = session.config?.devServer?.https;\n const protocol = httpsConfig ? 'wss' : 'ws';\n\n if (httpsConfig) {\n const { key, cert, passphrase } = parseHttpsConfig(httpsConfig);\n\n if (!key || !cert) {\n console.error('Invalid https config in cloudpack.config.json. Make sure key and cert are valid.');\n\n throw new Error('Invalid https config.');\n }\n\n server = https\n .createServer(\n {\n key,\n cert,\n passphrase,\n },\n () => {\n /* no-op */\n },\n )\n .listen(port, host);\n } else {\n server = http.createServer().listen(port, host);\n }\n\n // Create a websocket server which listens for subscriptions and verb requests,\n // and broadcasts the data to all connected clients.\n const socketServer = new WebSocketServer({ server }, () => {\n // console.log(`ApiServer: Started on port ${port}`);\n }).on('connection', (socket: WebSocket) => {\n const disposables = new Map<number, () => void>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function sendMessage(message: any) {\n socket.send(JSON.stringify(message, null, 2));\n }\n\n socket.send(\n JSON.stringify({\n type: 'sequence',\n sequence: session.sequence,\n }),\n );\n\n socket\n .on('message', (rawData) => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const request = JSON.parse(rawData.toString()) as {\n type: string;\n requestId?: string;\n data: Record<string, unknown>;\n };\n\n switch (request.type) {\n /**\n * Subscribe to a data subscription.\n */\n case 'subscribe': {\n const { path: subscriptionPath, id } = request.data;\n\n disposables.set(\n id as number,\n bus.subscribe(\n subscriptionPath as string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment\n (data: any) => sendMessage({ type: 'notify', id, path: subscriptionPath, data }),\n ),\n );\n\n break;\n }\n\n /**\n * Unsubscribe from a data subscription.\n */\n case 'unsubscribe': {\n const id = request.data.id as number | undefined;\n if (id) {\n const dispose = disposables.get(id);\n\n if (dispose) {\n dispose();\n disposables.delete(id);\n }\n }\n\n break;\n }\n\n /**\n * Open a file in VSCode.\n */\n case 'openSource': {\n const { rootPath, relativePath = '', line, column } = request.data;\n const fullPath = path.join(rootPath as string, relativePath as string);\n\n console.log(`Opening VSCode with path: ${fullPath}`);\n execSync(`code --goto ${fullPath}:${line}:${column}`, { cwd: process.cwd() });\n break;\n }\n\n /**\n * Open a file or folder in the OS's default file manager.\n */\n case 'open': {\n const { rootPath, relativePath = '' } = request.data;\n const fullPath = path.join(rootPath as string, relativePath as string);\n\n console.log(`Opening path: ${fullPath}`);\n const openCommand = os.platform() == 'win32' ? 'start' : 'open';\n\n execSync(`${openCommand} ${fullPath}`, { cwd: process.cwd() });\n break;\n }\n\n /**\n * Opens the cloudpack config in VSCode for the user to manually edit. If the file doesn't exist,\n * it will be created.\n */\n case 'editConfig': {\n editCloudpackConfig().catch(() => {\n /* no-op */\n });\n break;\n }\n\n /**\n * Adds an override to the cloudpack config.\n */\n case 'addOverride': {\n // TODO: Send filename from request data to findResolveMapEntry when chromium Issue 1371551 is fixed.\n const { packageName, importPath } = request.data as Record<string, string>;\n (async () => {\n await addOverride({ session, packageName, importPath });\n session.incrementSessionVersion();\n notifyReload();\n })().catch(() => {\n // no-op\n });\n break;\n }\n\n case 'validateOverride': {\n // TODO: Get filename from request data when chromium Issue 1371551 is fixed.\n const { requestId, data } = request as { requestId: string; data: Record<string, string> };\n const { packageName, importPath } = data;\n (async () => {\n const fixable = await validateOverride({ session, packageName, importPath });\n sendMessage({ type: 'validateOverride', requestId, data: { fixable } });\n })().catch(() => {\n // no-op\n });\n break;\n }\n\n case 'restartAllTasks': {\n console.log('ApiServer: Restarting all tasks');\n\n // Clear entire local cache.\n fsExtra.emptyDirSync(getCachePath());\n\n // All tasks can be removed as notifyReload()\n // will cause the client to add the tasks again.\n allTasks.forEach((_, id) => {\n taskRunner.remove(id);\n });\n\n // Parse config if it exists.\n const cloudpackConfig = readConfigSync(appPath);\n\n // Initialize package overrides.\n PackageDefinitions.getInstance().registerTransform(createPackageOverrideTransform(cloudpackConfig));\n\n // Update session version.\n session.incrementSessionVersion();\n\n notifyReload();\n break;\n }\n\n case 'restartTask': {\n const { id, inputPath } = request.data as Record<string, string>;\n console.log(`ApiServer: Restarting task ${id}`);\n taskRunner.remove(id);\n session.incrementTargetVersion(inputPath);\n notifyReload();\n break;\n }\n\n case 'reportMetric': {\n const { metric, value } = request.data as { metric: string; value: number };\n console.debug(`ApiServer: Received metric: ${metric}, value: ${value}`);\n rootSpan?.addEvent(metric, value);\n break;\n }\n }\n } catch (err) {\n console.error('ApiServer: error handling message');\n console.error('Error:', err);\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n console.error('Message:', rawData.toString());\n }\n })\n .on('close', () => {\n for (const d of disposables.values()) {\n d();\n }\n });\n });\n\n const notifyReload = () => {\n session.sequence++;\n socketServer.clients.forEach((socket: WebSocket) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(\n JSON.stringify({\n type: 'reload',\n data: { sessionId: session.id },\n }),\n );\n }\n });\n };\n\n let scheduler: TaskScheduler | undefined;\n\n if (session.config.features?.enableLage) {\n const { TaskScheduler } = await import('./task-scheduler/TaskScheduler.js');\n\n scheduler = new TaskScheduler({ reporter, root: session.appPath });\n }\n\n return {\n url: `${protocol}://${host}:${port}`,\n port,\n\n notifyReload,\n\n addTask: (task, options) => {\n return addTask(task, options);\n },\n\n scheduleTask: async (bundleRequest, scripts, options) => {\n if (!scheduler) {\n throw new Error('Cannot schedule task when not using lage');\n }\n\n reportStart({\n id: bundleRequest.id,\n inputPath: bundleRequest.packagePath,\n outputPath: bundleRequest.outputPath,\n name: bundleRequest.packageName,\n });\n\n await scheduler.scheduleTask(bundleRequest, scripts, options);\n\n reportEnd({\n id: bundleRequest.id,\n });\n },\n\n close: () =>\n new Promise<void>((resolve, reject) => {\n socketServer.clients.forEach((socket: WebSocket) => socket.terminate());\n socketServer.close((err) => (err ? reject(err) : resolve()));\n server.close();\n }),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"startApiServer.js","sourceRoot":"","sources":["../src/startApiServer.ts"],"names":[],"mappings":"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","sourcesContent":["import os from 'os';\nimport getPort from 'get-port';\nimport path from 'path';\nimport http from 'http';\nimport https from 'https';\nimport WebSocket, { WebSocketServer } from 'ws';\nimport { createDataBus } from '@ms-cloudpack/data-bus';\nimport { execSync } from 'child_process';\nimport { TaskRunner } from './utilities/TaskRunner.js';\nimport { getCachePath } from './utilities/getCachePath.js';\nimport fsExtra from 'fs-extra';\nimport { startWatcher } from './utilities/startWatcher.js';\nimport type { TaskDescription } from './types/TaskDescription.js';\nimport type { TaskEndDescription } from './types/TaskEndDescription.js';\nimport type { TaskStartDescription } from './types/TaskStartDescription.js';\nimport type { ApiServer } from './types/ApiServer.js';\nimport type { SessionStats } from './types/SessionStats.js';\nimport type { Session } from './types/Session.js';\nimport { addOverride } from './utilities/addOverride.js';\nimport { validateOverride } from './utilities/validateOverride.js';\nimport { parseHttpsConfig } from '@ms-cloudpack/create-express-app';\nimport type { Span } from '@ms-cloudpack/telemetry';\nimport { editCloudpackConfig } from './utilities/editCloudpackConfig.js';\nimport type { TaskScheduler } from './task-scheduler/TaskScheduler.js';\nimport type { TaskReporter } from '@ms-cloudpack/task-reporter';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\n\n/**\n * The api server handles the data pub/sub (for things like reporting build status)\n * and hosting the dashboard verb backend (for executing actions like loading vscode,\n * changing dependencies, connecting new projects to the running session, etc.)\n *\n * Each time `cloudpack start` is run, an api server will start up for that session. The\n * hosted web page will have a \"cloudpack-api-server\" header which points\n * to the websocket server.\n *\n * The bundle server will call the api server to publish build status updates.\n *\n * The app server will burn the api server url on the host html, so that client-side\n * javascript can connect and subscribe to page changes.\n */\nexport async function startApiServer(params: {\n session: Session;\n rootSpan: Span | undefined;\n reporter: TaskReporter;\n packages: PackageDefinitionsCache;\n}): Promise<ApiServer> {\n const { session, rootSpan, reporter, packages } = params;\n const host = session.config?.devServer?.domain || 'localhost';\n const port = await getPort({ port: [9890, 9891, 9892, 9893] });\n const bus = createDataBus();\n const sessionStats: SessionStats = {\n status: 'idle',\n\n remainingTasks: 0,\n totalTasks: 0,\n\n totalErrors: 0,\n totalWarnings: 0,\n };\n\n const allTasks = new Map<string, TaskDescription>();\n const taskRunner = new TaskRunner();\n\n function reportStart(taskStart: TaskStartDescription): void {\n const previousResult = allTasks.get(taskStart.id);\n const now = new Date().getTime();\n\n if (!previousResult) {\n sessionStats.totalTasks++;\n }\n\n if (previousResult?.status === 'complete') {\n sessionStats.totalErrors -= previousResult.errors?.length || 0;\n sessionStats.totalWarnings -= previousResult.warnings?.length || 0;\n }\n\n sessionStats.remainingTasks++;\n sessionStats.status = 'pending';\n\n allTasks.set(taskStart.id, {\n ...taskStart,\n status: 'pending',\n startTime: now,\n });\n\n bus.publish([session.id, 'status'], sessionStats);\n bus.publish([session.id, 'status-details'], { tasks: Array.from(allTasks.values()) });\n }\n\n function reportEnd(taskEnd: TaskEndDescription): void {\n const previousResult = allTasks.get(taskEnd.id);\n const now = new Date().getTime();\n\n if (previousResult) {\n sessionStats.remainingTasks--;\n sessionStats.totalErrors += taskEnd.errors?.length || 0;\n sessionStats.totalWarnings += taskEnd.warnings?.length || 0;\n\n allTasks.set(taskEnd.id, {\n ...previousResult,\n ...taskEnd,\n status: 'complete',\n durationMilliseconds: now - previousResult.startTime,\n lastUpdated: now,\n });\n\n if (sessionStats.remainingTasks === 0) {\n sessionStats.status = 'idle';\n }\n\n bus.publish([session.id, 'status'], sessionStats);\n bus.publish([session.id, 'status-details'], { tasks: Array.from(allTasks.values()) });\n }\n }\n\n bus.publish([session.id, 'status'], sessionStats);\n\n const addTask: ApiServer['addTask'] = (task, options) => {\n if (task.watch) {\n options = options || {};\n options.watch = () => {\n watcher.watch(task, { onSuccess: notifyReload });\n };\n }\n\n return taskRunner.add(\n {\n ...task,\n execute: async () => {\n reportStart({\n ...task.getStartDescription?.(),\n id: task.id,\n });\n\n let taskResult;\n\n try {\n taskResult = await task.execute();\n } catch (err) {\n // no-op\n }\n\n reportEnd({\n ...task.getEndDescription?.(taskResult),\n id: task.id,\n } as TaskEndDescription);\n\n return taskResult;\n },\n },\n options,\n );\n };\n\n const watcher = startWatcher(addTask);\n\n // Create a node http(s) server.\n let server: http.Server | https.Server;\n const httpsConfig = session.config?.devServer?.https;\n const protocol = httpsConfig ? 'wss' : 'ws';\n\n if (httpsConfig) {\n const { key, cert, passphrase } = parseHttpsConfig(httpsConfig);\n\n if (!key || !cert) {\n console.error('Invalid https config in cloudpack.config.json. Make sure key and cert are valid.');\n\n throw new Error('Invalid https config.');\n }\n\n server = https\n .createServer(\n {\n key,\n cert,\n passphrase,\n },\n () => {\n /* no-op */\n },\n )\n .listen(port, host);\n } else {\n server = http.createServer().listen(port, host);\n }\n\n // Create a websocket server which listens for subscriptions and verb requests,\n // and broadcasts the data to all connected clients.\n const socketServer = new WebSocketServer({ server }, () => {\n // console.log(`ApiServer: Started on port ${port}`);\n }).on('connection', (socket: WebSocket) => {\n const disposables = new Map<number, () => void>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function sendMessage(message: any) {\n socket.send(JSON.stringify(message, null, 2));\n }\n\n socket.send(\n JSON.stringify({\n type: 'sequence',\n sequence: session.sequence,\n }),\n );\n\n socket\n .on('message', (rawData) => {\n try {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const request = JSON.parse(rawData.toString()) as {\n type: string;\n requestId?: string;\n data: Record<string, unknown>;\n };\n\n switch (request.type) {\n /**\n * Subscribe to a data subscription.\n */\n case 'subscribe': {\n const { path: subscriptionPath, id } = request.data;\n\n disposables.set(\n id as number,\n bus.subscribe(\n subscriptionPath as string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment\n (data: any) => sendMessage({ type: 'notify', id, path: subscriptionPath, data }),\n ),\n );\n\n break;\n }\n\n /**\n * Unsubscribe from a data subscription.\n */\n case 'unsubscribe': {\n const id = request.data.id as number | undefined;\n if (id) {\n const dispose = disposables.get(id);\n\n if (dispose) {\n dispose();\n disposables.delete(id);\n }\n }\n\n break;\n }\n\n /**\n * Open a file in VSCode.\n */\n case 'openSource': {\n const { rootPath, relativePath = '', line, column } = request.data;\n const fullPath = path.join(rootPath as string, relativePath as string);\n\n console.log(`Opening VSCode with path: ${fullPath}`);\n execSync(`code --goto ${fullPath}:${line}:${column}`, { cwd: process.cwd() });\n break;\n }\n\n /**\n * Open a file or folder in the OS's default file manager.\n */\n case 'open': {\n const { rootPath, relativePath = '' } = request.data;\n const fullPath = path.join(rootPath as string, relativePath as string);\n\n console.log(`Opening path: ${fullPath}`);\n const openCommand = os.platform() == 'win32' ? 'start' : 'open';\n\n execSync(`${openCommand} ${fullPath}`, { cwd: process.cwd() });\n break;\n }\n\n /**\n * Opens the cloudpack config in VSCode for the user to manually edit. If the file doesn't exist,\n * it will be created.\n */\n case 'editConfig': {\n editCloudpackConfig().catch(() => {\n /* no-op */\n });\n break;\n }\n\n /**\n * Adds an override to the cloudpack config.\n */\n case 'addOverride': {\n // TODO: Send filename from request data to findResolveMapEntry when chromium Issue 1371551 is fixed.\n const { packageName, importPath } = request.data as Record<string, string>;\n (async () => {\n await addOverride({ packageName, importPath }, { session, packages });\n session.incrementSessionVersion();\n notifyReload();\n })().catch(() => {\n // no-op\n });\n break;\n }\n\n case 'validateOverride': {\n // TODO: Get filename from request data when chromium Issue 1371551 is fixed.\n const { requestId, data } = request as { requestId: string; data: Record<string, string> };\n const { packageName, importPath } = data;\n (async () => {\n const fixable = await validateOverride({ packageName, importPath }, { session, packages });\n sendMessage({ type: 'validateOverride', requestId, data: { fixable } });\n })().catch(() => {\n // no-op\n });\n break;\n }\n\n case 'restartAllTasks': {\n console.log('ApiServer: Restarting all tasks');\n\n // Clear entire local cache.\n fsExtra.emptyDirSync(getCachePath());\n\n // All tasks can be removed as notifyReload()\n // will cause the client to add the tasks again.\n allTasks.forEach((_, id) => {\n taskRunner.remove(id);\n });\n\n // Update session version.\n session.incrementSessionVersion();\n\n notifyReload();\n break;\n }\n\n case 'restartTask': {\n const { id, inputPath } = request.data as Record<string, string>;\n console.log(`ApiServer: Restarting task ${id}`);\n taskRunner.remove(id);\n session.incrementTargetVersion(inputPath);\n notifyReload();\n break;\n }\n\n case 'reportMetric': {\n const { metric, value } = request.data as { metric: string; value: number };\n console.debug(`ApiServer: Received metric: ${metric}, value: ${value}`);\n rootSpan?.addEvent(metric, value);\n break;\n }\n }\n } catch (err) {\n console.error('ApiServer: error handling message');\n console.error('Error:', err);\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n console.error('Message:', rawData.toString());\n }\n })\n .on('close', () => {\n for (const d of disposables.values()) {\n d();\n }\n });\n });\n\n const notifyReload = () => {\n session.sequence++;\n socketServer.clients.forEach((socket: WebSocket) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(\n JSON.stringify({\n type: 'reload',\n data: { sessionId: session.id },\n }),\n );\n }\n });\n };\n\n let scheduler: TaskScheduler | undefined;\n\n if (session.config.features?.enableLage) {\n const { TaskScheduler } = await import('./task-scheduler/TaskScheduler.js');\n\n scheduler = new TaskScheduler({ reporter, root: session.appPath });\n }\n\n return {\n url: `${protocol}://${host}:${port}`,\n port,\n\n notifyReload,\n\n addTask: (task, options) => {\n return addTask(task, options);\n },\n\n scheduleTask: async (bundleRequest, scripts, options) => {\n if (!scheduler) {\n throw new Error('Cannot schedule task when not using lage');\n }\n\n reportStart({\n id: bundleRequest.id,\n inputPath: bundleRequest.packagePath,\n outputPath: bundleRequest.outputPath,\n name: bundleRequest.packageName,\n });\n\n await scheduler.scheduleTask(bundleRequest, scripts, options);\n\n reportEnd({\n id: bundleRequest.id,\n });\n },\n\n close: () =>\n new Promise<void>((resolve, reject) => {\n socketServer.clients.forEach((socket: WebSocket) => socket.terminate());\n socketServer.close((err) => (err ? reject(err) : resolve()));\n server.close();\n }),\n };\n}\n"]}
|
package/lib/trpc.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare const router: <TProcRouterRecord extends import("@trpc/server").P
|
|
|
10
10
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
11
11
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
12
12
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
13
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
13
14
|
};
|
|
14
15
|
meta: object;
|
|
15
16
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -24,6 +25,7 @@ export declare const publicProcedure: import("@trpc/server").ProcedureBuilder<{
|
|
|
24
25
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
25
26
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
26
27
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
28
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
27
29
|
};
|
|
28
30
|
meta: object;
|
|
29
31
|
errorShape: import("@trpc/server").DefaultErrorShape;
|
|
@@ -36,6 +38,7 @@ export declare const publicProcedure: import("@trpc/server").ProcedureBuilder<{
|
|
|
36
38
|
taskRunner: import("./utilities/TaskRunner.js").TaskRunner;
|
|
37
39
|
rootSpan: import("@opentelemetry/api").Span | undefined;
|
|
38
40
|
reporter: import("@ms-cloudpack/task-reporter").TaskReporter;
|
|
41
|
+
packages: import("@ms-cloudpack/bundler-types").PackageDefinitionsCache;
|
|
39
42
|
};
|
|
40
43
|
_input_in: typeof import("@trpc/server").unsetMarker;
|
|
41
44
|
_input_out: typeof import("@trpc/server").unsetMarker;
|
package/lib/trpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trpc.d.ts","sourceRoot":"","sources":["../src/trpc.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"trpc.d.ts","sourceRoot":"","sources":["../src/trpc.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;sBAAW,CAAC;AAC/B,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAc,CAAC;AAE3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { Session } from '../types/Session.js';
|
|
2
|
+
import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
|
|
2
3
|
/**
|
|
3
4
|
* The addOverride method is triggered by a user action in the overlay, when we detect new usage of an import path
|
|
4
|
-
* that isn't recognized. When the user trigers this override, we
|
|
5
|
-
* than
|
|
5
|
+
* that isn't recognized. When the user trigers this override, we write it to the cloudpack user config, rather
|
|
6
|
+
* than generated configs which could get "reset" on `init --reset`.
|
|
6
7
|
*/
|
|
7
|
-
export declare function addOverride(
|
|
8
|
-
session: Session;
|
|
8
|
+
export declare function addOverride(options: {
|
|
9
9
|
packageName: string;
|
|
10
10
|
importPath: string;
|
|
11
|
-
|
|
11
|
+
issuerUrl?: string;
|
|
12
|
+
}, context: {
|
|
13
|
+
packages: PackageDefinitionsCache;
|
|
14
|
+
session: Session;
|
|
12
15
|
}): Promise<void>;
|
|
13
16
|
//# sourceMappingURL=addOverride.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG3E;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE;IACP,QAAQ,EAAE,uBAAuB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB,iBAwEF"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { addExportsMapEntry, findResolveMapEntry, getExportsMap, PackageDefinitions, } from '@ms-cloudpack/package-utilities';
|
|
1
|
+
import { addExportsMapEntry, findResolveMapEntry, getExportsMap } from '@ms-cloudpack/package-utilities';
|
|
3
2
|
import { slash } from '@ms-cloudpack/path-string-parsing';
|
|
4
3
|
import { parseRequestInfo } from './parseRequestInfo.js';
|
|
5
|
-
import {
|
|
6
|
-
import { findPackageOverride } from './findPackageOverride.js';
|
|
4
|
+
import { getPackageSettings, readUserConfig, writeUserConfig } from '@ms-cloudpack/config';
|
|
7
5
|
/**
|
|
8
6
|
* The addOverride method is triggered by a user action in the overlay, when we detect new usage of an import path
|
|
9
|
-
* that isn't recognized. When the user trigers this override, we
|
|
10
|
-
* than
|
|
7
|
+
* that isn't recognized. When the user trigers this override, we write it to the cloudpack user config, rather
|
|
8
|
+
* than generated configs which could get "reset" on `init --reset`.
|
|
11
9
|
*/
|
|
12
|
-
export async function addOverride(
|
|
10
|
+
export async function addOverride(options, context) {
|
|
11
|
+
const { packageName, importPath, issuerUrl } = options;
|
|
12
|
+
const { session, packages } = context;
|
|
13
13
|
let definition = undefined;
|
|
14
|
-
if (
|
|
15
|
-
const requestPath = slash(new URL(
|
|
14
|
+
if (issuerUrl) {
|
|
15
|
+
const requestPath = slash(new URL(issuerUrl).pathname);
|
|
16
16
|
const { packageName: name, version } = parseRequestInfo(requestPath);
|
|
17
17
|
definition = { name, version };
|
|
18
18
|
}
|
|
@@ -22,45 +22,44 @@ export async function addOverride({ session, packageName, importPath, filename,
|
|
|
22
22
|
definition,
|
|
23
23
|
});
|
|
24
24
|
if (entry === undefined) {
|
|
25
|
-
console.error(`Could not find entry of package ${packageName} in resolve map`);
|
|
25
|
+
console.error(`Could not find entry of package "${packageName}" in resolve map`);
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
// Get current exports. We want to add an additional entry to what's there - not replace the default exports,
|
|
29
|
+
// so we need the full map for the package.
|
|
30
|
+
const exports = await getExportsMap({ packagePath: entry.path }, { packages });
|
|
31
|
+
// Now add the exports entry.
|
|
29
32
|
await addExportsMapEntry({
|
|
30
33
|
exports,
|
|
31
34
|
packagePath: entry.path,
|
|
32
35
|
importPath,
|
|
36
|
+
}, { packages });
|
|
37
|
+
// Parse the user config if it exists.
|
|
38
|
+
const config = await readUserConfig(session.appPath);
|
|
39
|
+
// Ensure packageSettings exist.
|
|
40
|
+
config.packageSettings ??= [];
|
|
41
|
+
// Get the existing override if it exists.
|
|
42
|
+
let setting = getPackageSettings({
|
|
43
|
+
name: entry.name,
|
|
44
|
+
version: entry.version,
|
|
45
|
+
config,
|
|
33
46
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
// Add package override to config.
|
|
44
|
-
if (!packageOverrides.length) {
|
|
45
|
-
packageOverrides.push(packageOverride);
|
|
47
|
+
// Initialize a new one if needed.
|
|
48
|
+
if (!setting) {
|
|
49
|
+
setting = {
|
|
50
|
+
match: {
|
|
51
|
+
name: packageName,
|
|
52
|
+
version: entry.version?.match(/^\d+\.\d+\.\d+(-[a-z0-9.-]+)?$/) ? `^${entry.version}` : undefined,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
config.packageSettings.push(setting);
|
|
46
56
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
} // Write config.
|
|
56
|
-
await writeGeneratedConfig({
|
|
57
|
-
packageOverrides,
|
|
58
|
-
}, session.appPath);
|
|
59
|
-
console.debug(`Added override for ${packageName} to cloudpack config`);
|
|
60
|
-
const override = {
|
|
61
|
-
packageOverrides: [packageOverride],
|
|
62
|
-
};
|
|
63
|
-
// Initialize package overrides.
|
|
64
|
-
PackageDefinitions.getInstance().registerTransform(createPackageOverrideTransform(override));
|
|
57
|
+
// Update the exports.
|
|
58
|
+
setting.exports = exports;
|
|
59
|
+
// Write config.
|
|
60
|
+
await writeUserConfig(config, session.appPath);
|
|
61
|
+
console.debug(`Added override for "${packageName}" to "cloudpack.config.json".`);
|
|
62
|
+
// Instruct the package cache to reset, so that transforms can respect the modification to the exports map.
|
|
63
|
+
packages.reset({ newConfig: config });
|
|
65
64
|
}
|
|
66
65
|
//# sourceMappingURL=addOverride.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addOverride.js","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"addOverride.js","sourceRoot":"","sources":["../../src/utilities/addOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEzG,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAIC,EACD,OAGC;IAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,IAAI,UAAU,GAAG,SAAS,CAAC;IAE3B,IAAI,SAAS,EAAE;QACb,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAChC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,oCAAoC,WAAW,kBAAkB,CAAC,CAAC;QACjF,OAAO;KACR;IAED,6GAA6G;IAC7G,2CAA2C;IAC3C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE/E,6BAA6B;IAC7B,MAAM,kBAAkB,CACtB;QACE,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,UAAU;KACX,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IAEF,sCAAsC;IACtC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD,gCAAgC;IAChC,MAAM,CAAC,eAAe,KAAK,EAAE,CAAC;IAE9B,0CAA0C;IAC1C,IAAI,OAAO,GAAG,kBAAkB,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM;KACP,CAAC,CAAC;IAEH,kCAAkC;IAClC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG;YACR,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;aAClG;SACF,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;IAED,sBAAsB;IACtB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAE1B,gBAAgB;IAChB,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CAAC,KAAK,CAAC,uBAAuB,WAAW,+BAA+B,CAAC,CAAC;IAEjF,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import { addExportsMapEntry, findResolveMapEntry, getExportsMap } from '@ms-cloudpack/package-utilities';\nimport type { Session } from '../types/Session.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\nimport { parseRequestInfo } from './parseRequestInfo.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\nimport { getPackageSettings, readUserConfig, writeUserConfig } from '@ms-cloudpack/config';\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 trigers this override, we write it to the cloudpack user config, rather\n * than generated configs which could get \"reset\" on `init --reset`.\n */\nexport async function addOverride(\n options: {\n packageName: string;\n importPath: string;\n issuerUrl?: string;\n },\n context: {\n packages: PackageDefinitionsCache;\n session: Session;\n },\n) {\n const { packageName, importPath, issuerUrl } = options;\n const { session, packages } = context;\n let definition = undefined;\n\n if (issuerUrl) {\n const requestPath = slash(new URL(issuerUrl).pathname);\n const { packageName: name, version } = parseRequestInfo(requestPath);\n definition = { name, version };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition,\n });\n\n if (entry === undefined) {\n console.error(`Could not find entry of package \"${packageName}\" in resolve map`);\n return;\n }\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: entry.path }, { packages });\n\n // Now add the exports entry.\n await addExportsMapEntry(\n {\n exports,\n packagePath: entry.path,\n importPath,\n },\n { packages },\n );\n\n // Parse the user config if it exists.\n const config = await readUserConfig(session.appPath);\n\n // Ensure packageSettings exist.\n config.packageSettings ??= [];\n\n // Get the existing override if it exists.\n let setting = getPackageSettings({\n name: entry.name,\n version: entry.version,\n config,\n });\n\n // Initialize a new one if needed.\n if (!setting) {\n setting = {\n match: {\n name: packageName,\n version: entry.version?.match(/^\\d+\\.\\d+\\.\\d+(-[a-z0-9.-]+)?$/) ? `^${entry.version}` : undefined,\n },\n };\n\n config.packageSettings.push(setting);\n }\n\n // Update the exports.\n setting.exports = exports;\n\n // Write config.\n await writeUserConfig(config, session.appPath);\n\n console.debug(`Added override for \"${packageName}\" to \"cloudpack.config.json\".`);\n\n // Instruct the package cache to reset, so that transforms can respect the modification to the exports map.\n packages.reset({ newConfig: config });\n}\n"]}
|
|
@@ -6,12 +6,12 @@ import { getConfigPath, configTemplate } from '@ms-cloudpack/config';
|
|
|
6
6
|
* Opens the cloudpack config file in the editor.
|
|
7
7
|
*/
|
|
8
8
|
export async function editCloudpackConfig() {
|
|
9
|
-
const {
|
|
9
|
+
const { userConfigPath } = getConfigPath(process.cwd());
|
|
10
10
|
// Check if file exists
|
|
11
|
-
if (!(await isFile(
|
|
11
|
+
if (!(await isFile(userConfigPath))) {
|
|
12
12
|
// Create file with default config
|
|
13
|
-
await writeJson(
|
|
13
|
+
await writeJson(userConfigPath, configTemplate);
|
|
14
14
|
}
|
|
15
|
-
execSync(`code --goto ${JSON.stringify(
|
|
15
|
+
execSync(`code --goto ${JSON.stringify(userConfigPath)}`, { cwd: process.cwd() });
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=editCloudpackConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editCloudpackConfig.js","sourceRoot":"","sources":["../../src/utilities/editCloudpackConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"editCloudpackConfig.js","sourceRoot":"","sources":["../../src/utilities/editCloudpackConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAExD,uBAAuB;IACvB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE;QACnC,kCAAkC;QAClC,MAAM,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;KACjD;IAED,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACpF,CAAC","sourcesContent":["import { writeJson } from '@ms-cloudpack/json-utilities';\nimport { isFile } from '@ms-cloudpack/path-utilities';\nimport { execSync } from 'child_process';\nimport { getConfigPath, configTemplate } from '@ms-cloudpack/config';\n\n/**\n * Opens the cloudpack config file in the editor.\n */\nexport async function editCloudpackConfig() {\n const { userConfigPath } = getConfigPath(process.cwd());\n\n // Check if file exists\n if (!(await isFile(userConfigPath))) {\n // Create file with default config\n await writeJson(userConfigPath, configTemplate);\n }\n\n execSync(`code --goto ${JSON.stringify(userConfigPath)}`, { cwd: process.cwd() });\n}\n"]}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import type { Session } from '../types/Session.js';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';
|
|
3
|
+
/**
|
|
4
|
+
* Given a package name, import path, and optional issuerUrl, returns a boolean indicating if the given
|
|
5
|
+
* override is valid.
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateOverride(options: {
|
|
4
8
|
packageName: string;
|
|
5
9
|
importPath: string;
|
|
6
|
-
|
|
10
|
+
issuerUrl?: string;
|
|
11
|
+
}, context: {
|
|
12
|
+
session: Session;
|
|
13
|
+
packages: PackageDefinitionsCache;
|
|
7
14
|
}): Promise<boolean>;
|
|
8
15
|
//# sourceMappingURL=validateOverride.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"validateOverride.d.ts","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE;IACP,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,uBAAuB,CAAC;CACnC,oBAkCF"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { findResolveMapEntry, findFileInPackage } from '@ms-cloudpack/package-utilities';
|
|
2
2
|
import { slash } from '@ms-cloudpack/path-string-parsing';
|
|
3
3
|
import { parseRequestInfo } from './parseRequestInfo.js';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Given a package name, import path, and optional issuerUrl, returns a boolean indicating if the given
|
|
6
|
+
* override is valid.
|
|
7
|
+
*/
|
|
8
|
+
export async function validateOverride(options, context) {
|
|
9
|
+
const { packageName, importPath, issuerUrl } = options;
|
|
10
|
+
const { session } = context;
|
|
5
11
|
let definition = undefined;
|
|
6
|
-
if (
|
|
7
|
-
const requestPath = slash(new URL(
|
|
12
|
+
if (issuerUrl) {
|
|
13
|
+
const requestPath = slash(new URL(issuerUrl).pathname);
|
|
8
14
|
const { packageName: name, version } = parseRequestInfo(requestPath);
|
|
9
15
|
definition = { name, version };
|
|
10
16
|
}
|
|
@@ -19,7 +25,7 @@ export async function validateOverride({ session, packageName, importPath, filen
|
|
|
19
25
|
const { filePath } = await findFileInPackage({
|
|
20
26
|
packagePath: entry.path,
|
|
21
27
|
filePath: importPath,
|
|
22
|
-
});
|
|
28
|
+
}, context);
|
|
23
29
|
if (filePath) {
|
|
24
30
|
return true;
|
|
25
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOverride.js","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"validateOverride.js","sourceRoot":"","sources":["../../src/utilities/validateOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAIC,EACD,OAGC;IAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,UAAU,GAAG,SAAS,CAAC;IAE3B,IAAI,SAAS,EAAE;QACb,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAChC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAC1C;QACE,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,QAAQ,EAAE,UAAU;KACrB,EACD,OAAO,CACR,CAAC;IAEF,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { findResolveMapEntry, findFileInPackage } from '@ms-cloudpack/package-utilities';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\nimport type { Session } from '../types/Session.js';\nimport { parseRequestInfo } from './parseRequestInfo.js';\nimport type { PackageDefinitionsCache } from '@ms-cloudpack/bundler-types';\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: {\n packageName: string;\n importPath: string;\n issuerUrl?: string;\n },\n context: {\n session: Session;\n packages: PackageDefinitionsCache;\n },\n) {\n const { packageName, importPath, issuerUrl } = options;\n const { session } = context;\n let definition = undefined;\n\n if (issuerUrl) {\n const requestPath = slash(new URL(issuerUrl).pathname);\n const { packageName: name, version } = parseRequestInfo(requestPath);\n definition = { name, version };\n }\n\n const entry = findResolveMapEntry({\n packageName,\n resolveMap: session.resolveMap,\n definition,\n });\n\n if (entry === undefined) {\n return false;\n }\n\n const { filePath } = await findFileInPackage(\n {\n packagePath: entry.path,\n filePath: importPath,\n },\n context,\n );\n\n if (filePath) {\n return true;\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.7.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",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"@lage-run/scheduler": "^1.0.0",
|
|
18
18
|
"@lage-run/target-graph": "^0.8.6",
|
|
19
19
|
"@lage-run/hasher": "^1.0.0",
|
|
20
|
-
"@ms-cloudpack/bundler-types": "^0.
|
|
21
|
-
"@ms-cloudpack/config": "^0.
|
|
22
|
-
"@ms-cloudpack/create-express-app": "^1.3.
|
|
23
|
-
"@ms-cloudpack/data-bus": "^0.3.
|
|
24
|
-
"@ms-cloudpack/package-utilities": "^
|
|
25
|
-
"@ms-cloudpack/path-string-parsing": "^1.0.
|
|
26
|
-
"@ms-cloudpack/task-reporter": "^0.5.
|
|
27
|
-
"@ms-cloudpack/telemetry": "^0.3.
|
|
20
|
+
"@ms-cloudpack/bundler-types": "^0.16.0",
|
|
21
|
+
"@ms-cloudpack/config": "^0.8.0",
|
|
22
|
+
"@ms-cloudpack/create-express-app": "^1.3.8",
|
|
23
|
+
"@ms-cloudpack/data-bus": "^0.3.1",
|
|
24
|
+
"@ms-cloudpack/package-utilities": "^4.0.0",
|
|
25
|
+
"@ms-cloudpack/path-string-parsing": "^1.0.3",
|
|
26
|
+
"@ms-cloudpack/task-reporter": "^0.5.3",
|
|
27
|
+
"@ms-cloudpack/telemetry": "^0.3.5",
|
|
28
28
|
"@trpc/client": "^10.21.1",
|
|
29
29
|
"@trpc/server": "^10.21.1",
|
|
30
30
|
"chokidar": "^3.5.3",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { CloudpackConfig } from '@ms-cloudpack/config';
|
|
2
|
-
import type { PackageDefinitionTransform } from '@ms-cloudpack/bundler-types';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a transform to be registered with a PackageDefinitions registry for overriding package.json definitions.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createPackageOverrideTransform(config: CloudpackConfig): PackageDefinitionTransform;
|
|
7
|
-
//# sourceMappingURL=createPackageOverrideTransform.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPackageOverrideTransform.d.ts","sourceRoot":"","sources":["../../src/utilities/createPackageOverrideTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAe,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG3F;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,0BAA0B,CAgBlG"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { findPackageOverride } from './findPackageOverride.js';
|
|
2
|
-
/**
|
|
3
|
-
* Creates a transform to be registered with a PackageDefinitions registry for overriding package.json definitions.
|
|
4
|
-
*/
|
|
5
|
-
export function createPackageOverrideTransform(config) {
|
|
6
|
-
const { packageOverrides = [] } = config;
|
|
7
|
-
return (packageDefinition) => {
|
|
8
|
-
const { name = '', version = '' } = packageDefinition;
|
|
9
|
-
const packageOverride = findPackageOverride(packageOverrides, name, version);
|
|
10
|
-
if (packageOverride) {
|
|
11
|
-
return {
|
|
12
|
-
...packageDefinition,
|
|
13
|
-
...packageOverride.overrides,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
return undefined;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=createPackageOverrideTransform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPackageOverrideTransform.js","sourceRoot":"","sources":["../../src/utilities/createPackageOverrideTransform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAuB;IACpE,MAAM,EAAE,gBAAgB,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEzC,OAAO,CAAC,iBAA8B,EAAE,EAAE;QACxC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,iBAAiB,CAAC;QACtD,MAAM,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7E,IAAI,eAAe,EAAE;YACnB,OAAO;gBACL,GAAG,iBAAiB;gBACpB,GAAG,eAAe,CAAC,SAAS;aAC7B,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { CloudpackConfig } from '@ms-cloudpack/config';\nimport type { PackageJson, PackageDefinitionTransform } from '@ms-cloudpack/bundler-types';\nimport { findPackageOverride } from './findPackageOverride.js';\n\n/**\n * Creates a transform to be registered with a PackageDefinitions registry for overriding package.json definitions.\n */\nexport function createPackageOverrideTransform(config: CloudpackConfig): PackageDefinitionTransform {\n const { packageOverrides = [] } = config;\n\n return (packageDefinition: PackageJson) => {\n const { name = '', version = '' } = packageDefinition;\n const packageOverride = findPackageOverride(packageOverrides, name, version);\n\n if (packageOverride) {\n return {\n ...packageDefinition,\n ...packageOverride.overrides,\n };\n }\n\n return undefined;\n };\n}\n"]}
|