@flowscripter/dynamic-cli-framework 2.4.0 → 2.5.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/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/src/cli/BaseCLI.d.ts +1 -0
- package/dist/src/cli/BaseCLI.d.ts.map +1 -1
- package/dist/src/cli/BaseCLI.js +6 -0
- package/dist/src/cli/BaseCLIFeatureOptions.d.ts +1 -0
- package/dist/src/cli/BaseCLIFeatureOptions.d.ts.map +1 -1
- package/dist/src/service/fetch/DefaultFetchService.d.ts +7 -0
- package/dist/src/service/fetch/DefaultFetchService.d.ts.map +1 -0
- package/dist/src/service/fetch/DefaultFetchService.js +44 -0
- package/dist/src/service/fetch/FetchServiceProvider.d.ts +10 -0
- package/dist/src/service/fetch/FetchServiceProvider.d.ts.map +1 -0
- package/dist/src/service/fetch/FetchServiceProvider.js +22 -0
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +2 -1
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -1
- package/dist/src/service/plugin/DefaultPluginServiceProvider.js +23 -8
- package/dist/src/service/plugin/FetchInterfaceAdapter.d.ts +17 -0
- package/dist/src/service/plugin/FetchInterfaceAdapter.d.ts.map +1 -0
- package/dist/src/service/plugin/FetchInterfaceAdapter.js +16 -0
- package/dist/src/service/plugin/SpawnInterfaceAdapter.js +1 -1
- package/dist/src/service/spawn/DefaultSpawnService.js +6 -6
- package/dist/src/service/upgrade/DefaultUpgradeService.d.ts +2 -2
- package/dist/src/service/upgrade/DefaultUpgradeService.d.ts.map +1 -1
- package/dist/src/service/upgrade/DefaultUpgradeService.js +33 -51
- package/dist/src/service/upgrade/UpgradeServiceProvider.d.ts.map +1 -1
- package/dist/src/service/upgrade/UpgradeServiceProvider.js +12 -9
- package/index.ts +5 -0
- package/package.json +3 -3
- package/src/cli/BaseCLI.ts +7 -0
- package/src/cli/BaseCLIFeatureOptions.ts +1 -0
- package/src/service/fetch/DefaultFetchService.ts +55 -0
- package/src/service/fetch/FetchServiceProvider.ts +33 -0
- package/src/service/plugin/DefaultPluginServiceProvider.ts +29 -12
- package/src/service/plugin/FetchInterfaceAdapter.ts +28 -0
- package/src/service/plugin/SpawnInterfaceAdapter.ts +1 -1
- package/src/service/spawn/DefaultSpawnService.ts +6 -6
- package/src/service/upgrade/DefaultUpgradeService.ts +66 -65
- package/src/service/upgrade/UpgradeServiceProvider.ts +13 -9
package/dist/index.d.ts
CHANGED
|
@@ -43,6 +43,10 @@ export { SHUTDOWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
|
43
43
|
export type { ShutdownService } from "@flowscripter/dynamic-cli-framework-api";
|
|
44
44
|
export { default as DefaultShutdownService } from "./src/service/shutdown/DefaultShutdownService.ts";
|
|
45
45
|
export { default as ShutdownServiceProvider } from "./src/service/shutdown/ShutdownServiceProvider.ts";
|
|
46
|
+
export { FETCH_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
47
|
+
export type { FetchOptions, FetchService } from "@flowscripter/dynamic-cli-framework-api";
|
|
48
|
+
export { default as DefaultFetchService } from "./src/service/fetch/DefaultFetchService.ts";
|
|
49
|
+
export { default as FetchServiceProvider } from "./src/service/fetch/FetchServiceProvider.ts";
|
|
46
50
|
export { SPAWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
47
51
|
export type { SpawnOptions, SpawnResult, SpawnService, } from "@flowscripter/dynamic-cli-framework-api";
|
|
48
52
|
export { default as DefaultSpawnService } from "./src/service/spawn/DefaultSpawnService.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACxE,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,YAAY,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,YAAY,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAG1E,YAAY,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAG5E,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG5F,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,YAAY,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAC3F,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,0EAA0E,CAAC;AACzI,OAAO,EAAE,OAAO,IAAI,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAC3I,OAAO,EAAE,OAAO,IAAI,qCAAqC,EAAE,MAAM,mFAAmF,CAAC;AACrJ,YAAY,EACV,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,mFAAmF,CAAC;AAE3F,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AACtG,YAAY,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,6DAA6D,CAAC;AAEtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAE9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,YAAY,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,YAAY,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,oEAAoE,CAAC;AAChI,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qEAAqE,CAAC;AAElI,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AACpH,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,6DAA6D,CAAC;AAEtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,YAAY,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACjH,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,2DAA2D,CAAC;AAEnH,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAC9G,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AAEhH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,YAAY,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,8DAA8D,CAAC;AACvH,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAEzH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,YAAY,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,KAAK,cAAc,EACnB,UAAU,EACV,KAAK,sBAAsB,GAC5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,oEAAoE,CAAC;AAChI,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qEAAqE,CAAC;AAElI,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,YAAY,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,UAAU,GACX,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEvG,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,YAAY,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,kEAAkE,CAAC;AAC7H,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,mEAAmE,CAAC;AAG/H,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAC1F,YAAY,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,YAAY,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AAGnE,OAAO,EACL,iCAAiC,EACjC,8BAA8B,GAC/B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,gCAAgC,EAChC,6BAA6B,GAC9B,MAAM,6CAA6C,CAAC;AAGrD,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,qDAAqD,EAAE,MAAM,yCAAyC,CAAC;AAChH,YAAY,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,8DAA8D,EAAE,MAAM,yCAAyC,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AAG/G,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG1F,YAAY,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAGzE,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,9 @@ export { default as PrinterServiceProvider } from "./src/service/printer/Printer
|
|
|
20
20
|
export { SHUTDOWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
21
21
|
export { default as DefaultShutdownService } from "./src/service/shutdown/DefaultShutdownService.js";
|
|
22
22
|
export { default as ShutdownServiceProvider } from "./src/service/shutdown/ShutdownServiceProvider.js";
|
|
23
|
+
export { FETCH_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
24
|
+
export { default as DefaultFetchService } from "./src/service/fetch/DefaultFetchService.js";
|
|
25
|
+
export { default as FetchServiceProvider } from "./src/service/fetch/FetchServiceProvider.js";
|
|
23
26
|
export { SPAWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
24
27
|
export { default as DefaultSpawnService } from "./src/service/spawn/DefaultSpawnService.js";
|
|
25
28
|
export { default as SpawnServiceProvider } from "./src/service/spawn/SpawnServiceProvider.js";
|
|
@@ -25,6 +25,7 @@ import type BaseCLIFeatureOptions from "./BaseCLIFeatureOptions.ts";
|
|
|
25
25
|
*
|
|
26
26
|
* * {@link ImagePrinterServiceProvider}
|
|
27
27
|
* * {@link SpawnServiceProvider}
|
|
28
|
+
* * {@link FetchServiceProvider}
|
|
28
29
|
* * {@link CompletionServiceProvider}
|
|
29
30
|
* * {@link UpgradeServiceProvider}
|
|
30
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCLI.d.ts","sourceRoot":"","sources":["../../../src/cli/BaseCLI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAGvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAGpD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseCLI.d.ts","sourceRoot":"","sources":["../../../src/cli/BaseCLI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAGvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAGpD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AAepE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,GAAG;;gBAavC,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,cAAc,EACpC,oBAAoB,EAAE,cAAc,EACpC,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,QAAQ,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,qBAAqB;IA+DjC;;;;;;;OAOG;IACI,kBAAkB,CAAC,eAAe,EAAE,eAAe;IAI1D;;;;;;;;OAQG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO;IAU5B,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;CA+L3D"}
|
package/dist/src/cli/BaseCLI.js
CHANGED
|
@@ -26,6 +26,7 @@ import DefaultCompletionService from "../service/completion/DefaultCompletionSer
|
|
|
26
26
|
import CompletionServiceProvider from "../service/completion/CompletionServiceProvider.js";
|
|
27
27
|
import ImagePrinterServiceProvider from "../service/imagePrinter/ImagePrinterServiceProvider.js";
|
|
28
28
|
import SpawnServiceProvider from "../service/spawn/SpawnServiceProvider.js";
|
|
29
|
+
import FetchServiceProvider from "../service/fetch/FetchServiceProvider.js";
|
|
29
30
|
import UpgradeServiceProvider from "../service/upgrade/UpgradeServiceProvider.js";
|
|
30
31
|
const logger = getLogger("BaseCLI");
|
|
31
32
|
/**
|
|
@@ -45,6 +46,7 @@ const logger = getLogger("BaseCLI");
|
|
|
45
46
|
*
|
|
46
47
|
* * {@link ImagePrinterServiceProvider}
|
|
47
48
|
* * {@link SpawnServiceProvider}
|
|
49
|
+
* * {@link FetchServiceProvider}
|
|
48
50
|
* * {@link CompletionServiceProvider}
|
|
49
51
|
* * {@link UpgradeServiceProvider}
|
|
50
52
|
*
|
|
@@ -95,6 +97,7 @@ export default class BaseCLI {
|
|
|
95
97
|
completionServiceEnabled: false,
|
|
96
98
|
imagePrinterServiceEnabled: false,
|
|
97
99
|
spawnServiceEnabled: false,
|
|
100
|
+
fetchServiceEnabled: false,
|
|
98
101
|
upgradeServiceEnabled: false,
|
|
99
102
|
upgradeLocationsConfig: { supportedPlatforms: [] },
|
|
100
103
|
validateAllCommands: false,
|
|
@@ -192,6 +195,9 @@ export default class BaseCLI {
|
|
|
192
195
|
if (this.#options.spawnServiceEnabled) {
|
|
193
196
|
this.addServiceProvider(new SpawnServiceProvider(58));
|
|
194
197
|
}
|
|
198
|
+
if (this.#options.fetchServiceEnabled) {
|
|
199
|
+
this.addServiceProvider(new FetchServiceProvider(57));
|
|
200
|
+
}
|
|
195
201
|
if (this.#options.completionServiceEnabled) {
|
|
196
202
|
const completionService = new DefaultCompletionService();
|
|
197
203
|
this.addServiceProvider(new CompletionServiceProvider(5, completionService, this.#commandRegistry));
|
|
@@ -8,6 +8,7 @@ export default interface BaseCLIFeatureOptions {
|
|
|
8
8
|
readonly completionServiceEnabled?: boolean;
|
|
9
9
|
readonly imagePrinterServiceEnabled?: boolean;
|
|
10
10
|
readonly spawnServiceEnabled?: boolean;
|
|
11
|
+
readonly fetchServiceEnabled?: boolean;
|
|
11
12
|
readonly upgradeServiceEnabled?: boolean;
|
|
12
13
|
readonly upgradeLocationsConfig?: UpgradeLocationsConfig;
|
|
13
14
|
readonly validateAllCommands?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCLIFeatureOptions.d.ts","sourceRoot":"","sources":["../../../src/cli/BaseCLIFeatureOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAE3F,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC"}
|
|
1
|
+
{"version":3,"file":"BaseCLIFeatureOptions.d.ts","sourceRoot":"","sources":["../../../src/cli/BaseCLIFeatureOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAE3F,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FetchOptions, FetchService, ShutdownService } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
|
+
export default class DefaultFetchService implements FetchService {
|
|
3
|
+
#private;
|
|
4
|
+
setDependencies(shutdownService: ShutdownService): void;
|
|
5
|
+
fetch(input: string | URL, options?: FetchOptions): Promise<Response>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=DefaultFetchService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultFetchService.d.ts","sourceRoot":"","sources":["../../../../src/service/fetch/DefaultFetchService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EAChB,MAAM,yCAAyC,CAAC;AAKjD,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,YAAY;;IAGvD,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIjD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAsCvF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import getLogger from "../../util/logger.js";
|
|
2
|
+
const logger = getLogger("DefaultFetchService");
|
|
3
|
+
export default class DefaultFetchService {
|
|
4
|
+
#shutdownService;
|
|
5
|
+
setDependencies(shutdownService) {
|
|
6
|
+
this.#shutdownService = shutdownService;
|
|
7
|
+
}
|
|
8
|
+
async fetch(input, options = {}) {
|
|
9
|
+
if (this.#shutdownService === undefined) {
|
|
10
|
+
throw new Error("DefaultFetchService.fetch() called before setDependencies()");
|
|
11
|
+
}
|
|
12
|
+
const shutdownService = this.#shutdownService;
|
|
13
|
+
const { timeoutMs, longRunning = false, signal: callerSignal, ...requestInit } = options;
|
|
14
|
+
const controller = new AbortController();
|
|
15
|
+
const signals = [controller.signal];
|
|
16
|
+
if (callerSignal) {
|
|
17
|
+
signals.push(callerSignal);
|
|
18
|
+
}
|
|
19
|
+
if (timeoutMs !== undefined) {
|
|
20
|
+
signals.push(AbortSignal.timeout(timeoutMs));
|
|
21
|
+
}
|
|
22
|
+
const signal = signals.length === 1 ? signals[0] : AbortSignal.any(signals);
|
|
23
|
+
let settled = false;
|
|
24
|
+
if (longRunning) {
|
|
25
|
+
shutdownService.enterLongRunningMode();
|
|
26
|
+
shutdownService.addShutdownListener(async () => {
|
|
27
|
+
if (settled) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
logger.debug(() => `Aborting fetch of '${input.toString()}' due to shutdown`);
|
|
31
|
+
controller.abort();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
return await fetch(input, { ...requestInit, signal });
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
settled = true;
|
|
39
|
+
if (longRunning) {
|
|
40
|
+
shutdownService.leaveLongRunningMode();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CLIConfig, Context, ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
|
+
export default class FetchServiceProvider implements ServiceProvider {
|
|
3
|
+
#private;
|
|
4
|
+
readonly serviceId: string;
|
|
5
|
+
readonly servicePriority: number;
|
|
6
|
+
constructor(servicePriority: number);
|
|
7
|
+
getServiceInfo(_cliConfig: CLIConfig): Promise<ServiceInfo>;
|
|
8
|
+
initService(context: Context): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=FetchServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/service/fetch/FetchServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,WAAW,EACX,eAAe,EAEhB,MAAM,yCAAyC,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,eAAe;;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAoB;IAC9C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAGd,eAAe,EAAE,MAAM;IAInC,cAAc,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ3D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAKpD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FETCH_SERVICE_ID, SHUTDOWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
|
+
import DefaultFetchService from "./DefaultFetchService.js";
|
|
3
|
+
export default class FetchServiceProvider {
|
|
4
|
+
serviceId = FETCH_SERVICE_ID;
|
|
5
|
+
servicePriority;
|
|
6
|
+
#fetchService;
|
|
7
|
+
constructor(servicePriority) {
|
|
8
|
+
this.servicePriority = servicePriority;
|
|
9
|
+
}
|
|
10
|
+
getServiceInfo(_cliConfig) {
|
|
11
|
+
this.#fetchService = new DefaultFetchService();
|
|
12
|
+
return Promise.resolve({
|
|
13
|
+
service: this.#fetchService,
|
|
14
|
+
commands: [],
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
initService(context) {
|
|
18
|
+
const shutdownService = context.getServiceById(SHUTDOWN_SERVICE_ID);
|
|
19
|
+
this.#fetchService.setDependencies(shutdownService);
|
|
20
|
+
return Promise.resolve();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -3,11 +3,12 @@ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
|
|
|
3
3
|
import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
|
|
4
4
|
import type { MarketplacePluginManager } from "@flowscripter/dynamic-plugin-framework";
|
|
5
5
|
import { type SpawnInterfaceAdapterOptions } from "./SpawnInterfaceAdapter.ts";
|
|
6
|
+
import { type FetchInterfaceAdapterOptions } from "./FetchInterfaceAdapter.ts";
|
|
6
7
|
export default class DefaultPluginServiceProvider implements ServiceProvider {
|
|
7
8
|
#private;
|
|
8
9
|
readonly serviceId = "PLUGIN_SERVICE";
|
|
9
10
|
readonly servicePriority: number;
|
|
10
|
-
constructor(pluginManager: MarketplacePluginManager, servicePriority?: number, spawnInterfaceAdapterOptions?: SpawnInterfaceAdapterOptions);
|
|
11
|
+
constructor(pluginManager: MarketplacePluginManager, servicePriority?: number, spawnInterfaceAdapterOptions?: SpawnInterfaceAdapterOptions, fetchInterfaceAdapterOptions?: FetchInterfaceAdapterOptions);
|
|
11
12
|
getServiceInfo(_cliConfig: CLIConfig): Promise<ServiceInfo>;
|
|
12
13
|
initService(context: Context): Promise<void>;
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPluginServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/service/plugin/DefaultPluginServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultPluginServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/service/plugin/DefaultPluginServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,wCAAwC,CAAC;AAIhD,OAA8B,EAC5B,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAA8B,EAC5B,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AAKpC,MAAM,CAAC,OAAO,OAAO,4BAA6B,YAAW,eAAe;;IAC1E,QAAQ,CAAC,SAAS,oBAAqB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAO/B,aAAa,EAAE,wBAAwB,EACvC,eAAe,SAAK,EACpB,4BAA4B,GAAE,4BAAiC,EAC/D,4BAA4B,GAAE,4BAAiC;IAQ3D,cAAc,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAQjE,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA4B7C"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { PRINTER_SERVICE_ID, SPAWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
|
+
import { FETCH_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
3
|
import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
|
|
3
4
|
import DefaultPluginService from "./DefaultPluginService.js";
|
|
4
5
|
import { PluginGroupCommand } from "./command/PluginGroupCommand.js";
|
|
5
6
|
import SpawnInterfaceAdapter, {} from "./SpawnInterfaceAdapter.js";
|
|
7
|
+
import FetchInterfaceAdapter, {} from "./FetchInterfaceAdapter.js";
|
|
6
8
|
import getLogger from "../../util/logger.js";
|
|
7
9
|
const logger = getLogger("DefaultPluginServiceProvider");
|
|
8
10
|
export default class DefaultPluginServiceProvider {
|
|
@@ -10,11 +12,13 @@ export default class DefaultPluginServiceProvider {
|
|
|
10
12
|
servicePriority;
|
|
11
13
|
#pluginManager;
|
|
12
14
|
#spawnInterfaceAdapterOptions;
|
|
15
|
+
#fetchInterfaceAdapterOptions;
|
|
13
16
|
#pluginService;
|
|
14
|
-
constructor(pluginManager, servicePriority = 50, spawnInterfaceAdapterOptions = {}) {
|
|
17
|
+
constructor(pluginManager, servicePriority = 50, spawnInterfaceAdapterOptions = {}, fetchInterfaceAdapterOptions = {}) {
|
|
15
18
|
this.#pluginManager = pluginManager;
|
|
16
19
|
this.servicePriority = servicePriority;
|
|
17
20
|
this.#spawnInterfaceAdapterOptions = spawnInterfaceAdapterOptions;
|
|
21
|
+
this.#fetchInterfaceAdapterOptions = fetchInterfaceAdapterOptions;
|
|
18
22
|
}
|
|
19
23
|
async getServiceInfo(_cliConfig) {
|
|
20
24
|
this.#pluginService = new DefaultPluginService(this.#pluginManager);
|
|
@@ -26,16 +30,27 @@ export default class DefaultPluginServiceProvider {
|
|
|
26
30
|
initService(context) {
|
|
27
31
|
if (!context.doesServiceExist(SPAWN_SERVICE_ID)) {
|
|
28
32
|
logger.debug("SpawnService not available, plugin manager will spawn processes directly");
|
|
29
|
-
return Promise.resolve();
|
|
30
33
|
}
|
|
31
|
-
if (!("setSpawn" in this.#pluginManager)) {
|
|
34
|
+
else if (!("setSpawn" in this.#pluginManager)) {
|
|
32
35
|
logger.debug("Plugin manager does not support SpawnCapable, skipping spawn injection");
|
|
33
|
-
return Promise.resolve();
|
|
34
36
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
else {
|
|
38
|
+
const spawnService = context.getServiceById(SPAWN_SERVICE_ID);
|
|
39
|
+
const printerService = context.getServiceById(PRINTER_SERVICE_ID);
|
|
40
|
+
const adapter = new SpawnInterfaceAdapter(spawnService, printerService, this.#spawnInterfaceAdapterOptions);
|
|
41
|
+
this.#pluginManager.setSpawn(adapter);
|
|
42
|
+
}
|
|
43
|
+
if (!context.doesServiceExist(FETCH_SERVICE_ID)) {
|
|
44
|
+
logger.debug("FetchService not available, plugin manager will fetch directly");
|
|
45
|
+
}
|
|
46
|
+
else if (!("setFetch" in this.#pluginManager)) {
|
|
47
|
+
logger.debug("Plugin manager does not support FetchCapable, skipping fetch injection");
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const fetchService = context.getServiceById(FETCH_SERVICE_ID);
|
|
51
|
+
const adapter = new FetchInterfaceAdapter(fetchService, this.#fetchInterfaceAdapterOptions);
|
|
52
|
+
this.#pluginManager.setFetch(adapter);
|
|
53
|
+
}
|
|
39
54
|
return Promise.resolve();
|
|
40
55
|
}
|
|
41
56
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FetchService } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
|
+
import type { FetchInterface } from "@flowscripter/dynamic-plugin-framework";
|
|
3
|
+
export interface FetchInterfaceAdapterOptions {
|
|
4
|
+
timeoutMs?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Adapts a {@link FetchService} to dynamic-plugin-framework's {@link FetchInterface}, so plugin
|
|
8
|
+
* manager/repository fetches respect the host CLI's shutdown handling and default timeout.
|
|
9
|
+
*/
|
|
10
|
+
export default class FetchInterfaceAdapter implements FetchInterface {
|
|
11
|
+
#private;
|
|
12
|
+
constructor(fetchService: FetchService, options?: FetchInterfaceAdapterOptions);
|
|
13
|
+
fetch(input: string, init?: RequestInit & {
|
|
14
|
+
timeoutMs?: number;
|
|
15
|
+
}): Promise<Response>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=FetchInterfaceAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FetchInterfaceAdapter.d.ts","sourceRoot":"","sources":["../../../../src/service/plugin/FetchInterfaceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,YAAW,cAAc;;gBAI/C,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,4BAAiC;IAK5E,KAAK,CAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,WAAW,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,QAAQ,CAAC;CAIrB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapts a {@link FetchService} to dynamic-plugin-framework's {@link FetchInterface}, so plugin
|
|
3
|
+
* manager/repository fetches respect the host CLI's shutdown handling and default timeout.
|
|
4
|
+
*/
|
|
5
|
+
export default class FetchInterfaceAdapter {
|
|
6
|
+
#fetchService;
|
|
7
|
+
#timeoutMs;
|
|
8
|
+
constructor(fetchService, options = {}) {
|
|
9
|
+
this.#fetchService = fetchService;
|
|
10
|
+
this.#timeoutMs = options.timeoutMs;
|
|
11
|
+
}
|
|
12
|
+
async fetch(input, init) {
|
|
13
|
+
const { timeoutMs = this.#timeoutMs, ...requestInit } = init ?? {};
|
|
14
|
+
return this.#fetchService.fetch(input, { ...requestInit, timeoutMs });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -70,9 +70,9 @@ export default class DefaultSpawnService {
|
|
|
70
70
|
}
|
|
71
71
|
const printerService = this.#printerService;
|
|
72
72
|
const shutdownService = this.#shutdownService;
|
|
73
|
-
const
|
|
73
|
+
const mode = options.mode ?? "inherit";
|
|
74
74
|
const longRunning = options.longRunning ?? true;
|
|
75
|
-
if (
|
|
75
|
+
if (mode === "inherit") {
|
|
76
76
|
await printerService.hideSpinner();
|
|
77
77
|
await printerService.hideAllProgressBars();
|
|
78
78
|
}
|
|
@@ -80,9 +80,9 @@ export default class DefaultSpawnService {
|
|
|
80
80
|
try {
|
|
81
81
|
proc = Bun.spawn(resolveForPlatform(command), {
|
|
82
82
|
cwd: options.cwd,
|
|
83
|
-
stdin:
|
|
84
|
-
stdout:
|
|
85
|
-
stderr:
|
|
83
|
+
stdin: mode === "inherit" ? "inherit" : "ignore",
|
|
84
|
+
stdout: mode === "wrapped" ? "pipe" : mode === "ignore" ? "ignore" : "inherit",
|
|
85
|
+
stderr: mode === "wrapped" ? "pipe" : mode === "ignore" ? "ignore" : "inherit",
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
catch (error) {
|
|
@@ -99,7 +99,7 @@ export default class DefaultSpawnService {
|
|
|
99
99
|
}
|
|
100
100
|
await this.#terminate(proc, command);
|
|
101
101
|
});
|
|
102
|
-
if (
|
|
102
|
+
if (mode === "wrapped" && options.onOutput) {
|
|
103
103
|
const onOutput = options.onOutput;
|
|
104
104
|
void this.#pipeLines(proc.stdout, "stdout", onOutput);
|
|
105
105
|
void this.#pipeLines(proc.stderr, "stderr", onOutput);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { CLIConfig,
|
|
1
|
+
import type { CLIConfig, FetchService, SpawnService, UpgradeCheckResult, UpgradeResult } from "@flowscripter/dynamic-cli-framework-api";
|
|
2
2
|
import { InstallMethod, SupportedArch, SupportedOs, type UpgradeService } from "@flowscripter/dynamic-cli-framework-api";
|
|
3
3
|
import type { UpgradeLocationsConfig } from "./UpgradeLocationsConfig.ts";
|
|
4
4
|
export declare const VERSION_CHECK_TIMEOUT_MS = 250;
|
|
5
5
|
export default class DefaultUpgradeService implements UpgradeService {
|
|
6
6
|
#private;
|
|
7
7
|
constructor(config: UpgradeLocationsConfig, cliConfig: CLIConfig);
|
|
8
|
-
setDependencies(spawnService: SpawnService,
|
|
8
|
+
setDependencies(spawnService: SpawnService | undefined, fetchService: FetchService | undefined): void;
|
|
9
9
|
getUpgradeCheckResult(waitForResult?: boolean): Promise<UpgradeCheckResult | undefined>;
|
|
10
10
|
detectOs(): SupportedOs | undefined;
|
|
11
11
|
detectArch(): SupportedArch | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultUpgradeService.d.ts","sourceRoot":"","sources":["../../../../src/service/upgrade/DefaultUpgradeService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"DefaultUpgradeService.d.ts","sourceRoot":"","sources":["../../../../src/service/upgrade/DefaultUpgradeService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EAEZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAO1E,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAc5C,MAAM,CAAC,OAAO,OAAO,qBAAsB,YAAW,cAAc;;gBAO/C,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS;IAKhE,eAAe,CACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,YAAY,EAAE,YAAY,GAAG,SAAS,GACrC,IAAI;IAKA,qBAAqB,CAAC,aAAa,UAAQ,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAerF,QAAQ,IAAI,WAAW,GAAG,SAAS;IAanC,UAAU,IAAI,aAAa,GAAG,SAAS;IAWjC,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBxE,eAAe,CAC1B,UAAU,CAAC,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,aAAa,EAC5B,qBAAqB,CAAC,EAAE,aAAa,GACpC,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAmC7B,OAAO,CAClB,UAAU,CAAC,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,aAAa,EAC5B,qBAAqB,CAAC,EAAE,aAAa,GACpC,OAAO,CAAC,aAAa,CAAC;CAuQ1B"}
|
|
@@ -21,7 +21,7 @@ const OS_LABELS = {
|
|
|
21
21
|
};
|
|
22
22
|
export default class DefaultUpgradeService {
|
|
23
23
|
#spawnService;
|
|
24
|
-
#
|
|
24
|
+
#fetchService;
|
|
25
25
|
#upgradeCheckPromise;
|
|
26
26
|
#config;
|
|
27
27
|
#cliConfig;
|
|
@@ -29,9 +29,9 @@ export default class DefaultUpgradeService {
|
|
|
29
29
|
this.#config = config;
|
|
30
30
|
this.#cliConfig = cliConfig;
|
|
31
31
|
}
|
|
32
|
-
setDependencies(spawnService,
|
|
32
|
+
setDependencies(spawnService, fetchService) {
|
|
33
33
|
this.#spawnService = spawnService;
|
|
34
|
-
this.#
|
|
34
|
+
this.#fetchService = fetchService;
|
|
35
35
|
}
|
|
36
36
|
getUpgradeCheckResult(waitForResult = false) {
|
|
37
37
|
if (!this.#upgradeCheckPromise) {
|
|
@@ -128,6 +128,9 @@ export default class DefaultUpgradeService {
|
|
|
128
128
|
if (!this.#spawnService) {
|
|
129
129
|
return { ok: false, oldVersion, error: new Error("SpawnService is not available") };
|
|
130
130
|
}
|
|
131
|
+
if (checkResult.installMethod === InstallMethod.GITHUB_RELEASE && !this.#fetchService) {
|
|
132
|
+
return { ok: false, oldVersion, error: new Error("FetchService is not available") };
|
|
133
|
+
}
|
|
131
134
|
try {
|
|
132
135
|
switch (checkResult.installMethod) {
|
|
133
136
|
case InstallMethod.LINUX_SCRIPT:
|
|
@@ -156,14 +159,14 @@ export default class DefaultUpgradeService {
|
|
|
156
159
|
if (!this.#spawnService || !this.#config.homebrew) {
|
|
157
160
|
return false;
|
|
158
161
|
}
|
|
159
|
-
const result = await this.#spawnService.spawn(["brew", "list", "--versions", this.#config.homebrew.formula], {
|
|
162
|
+
const result = await this.#spawnService.spawn(["brew", "list", "--versions", this.#config.homebrew.formula], { mode: "ignore", longRunning: false, timeoutMs: VERSION_CHECK_TIMEOUT_MS });
|
|
160
163
|
return result.ok;
|
|
161
164
|
}
|
|
162
165
|
async #isWingetInstalled() {
|
|
163
166
|
if (!this.#spawnService || !this.#config.winget) {
|
|
164
167
|
return false;
|
|
165
168
|
}
|
|
166
|
-
const result = await this.#spawnService.spawn(["winget", "list", "--id", this.#config.winget.packageId], {
|
|
169
|
+
const result = await this.#spawnService.spawn(["winget", "list", "--id", this.#config.winget.packageId], { mode: "ignore", longRunning: false, timeoutMs: VERSION_CHECK_TIMEOUT_MS });
|
|
167
170
|
return result.ok;
|
|
168
171
|
}
|
|
169
172
|
#isLinuxScriptInstall() {
|
|
@@ -183,12 +186,12 @@ export default class DefaultUpgradeService {
|
|
|
183
186
|
}
|
|
184
187
|
}
|
|
185
188
|
async #getLatestGithubReleaseVersion() {
|
|
186
|
-
if (!this.#config.githubRelease) {
|
|
189
|
+
if (!this.#config.githubRelease || !this.#fetchService) {
|
|
187
190
|
return undefined;
|
|
188
191
|
}
|
|
189
192
|
const { owner, repo } = this.#config.githubRelease;
|
|
190
193
|
try {
|
|
191
|
-
const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/releases/latest`, {
|
|
194
|
+
const response = await this.#fetchService.fetch(`https://api.github.com/repos/${owner}/${repo}/releases/latest`, { timeoutMs: VERSION_CHECK_TIMEOUT_MS });
|
|
192
195
|
if (!response.ok) {
|
|
193
196
|
return undefined;
|
|
194
197
|
}
|
|
@@ -201,7 +204,7 @@ export default class DefaultUpgradeService {
|
|
|
201
204
|
}
|
|
202
205
|
}
|
|
203
206
|
async #getLatestHomebrewVersion() {
|
|
204
|
-
if (!this.#config.homebrew) {
|
|
207
|
+
if (!this.#config.homebrew || !this.#fetchService) {
|
|
205
208
|
return undefined;
|
|
206
209
|
}
|
|
207
210
|
const { tap, formula } = this.#config.homebrew;
|
|
@@ -210,7 +213,7 @@ export default class DefaultUpgradeService {
|
|
|
210
213
|
return undefined;
|
|
211
214
|
}
|
|
212
215
|
try {
|
|
213
|
-
const response = await fetch(`https://raw.githubusercontent.com/${tapOwner}/homebrew-${tapName}/main/${formula}.rb`, {
|
|
216
|
+
const response = await this.#fetchService.fetch(`https://raw.githubusercontent.com/${tapOwner}/homebrew-${tapName}/main/${formula}.rb`, { timeoutMs: VERSION_CHECK_TIMEOUT_MS });
|
|
214
217
|
if (!response.ok) {
|
|
215
218
|
return undefined;
|
|
216
219
|
}
|
|
@@ -228,7 +231,7 @@ export default class DefaultUpgradeService {
|
|
|
228
231
|
}
|
|
229
232
|
const lines = [];
|
|
230
233
|
const result = await this.#spawnService.spawn(["winget", "show", "--id", this.#config.winget.packageId], {
|
|
231
|
-
|
|
234
|
+
mode: "wrapped",
|
|
232
235
|
longRunning: false,
|
|
233
236
|
timeoutMs: VERSION_CHECK_TIMEOUT_MS,
|
|
234
237
|
onOutput: (line) => lines.push(line),
|
|
@@ -246,14 +249,18 @@ export default class DefaultUpgradeService {
|
|
|
246
249
|
}
|
|
247
250
|
async #upgradeViaLinuxScript() {
|
|
248
251
|
const { scriptUrl } = this.#config.linuxScript;
|
|
249
|
-
const result = await this.#spawnService.spawn(["sh", "-c", `curl -fsSL ${scriptUrl} | sh`]
|
|
252
|
+
const result = await this.#spawnService.spawn(["sh", "-c", `curl -fsSL ${scriptUrl} | sh`], {
|
|
253
|
+
mode: "ignore",
|
|
254
|
+
});
|
|
250
255
|
if (!result.ok) {
|
|
251
256
|
throw new Error(`Install script failed: ${describeSpawnFailure(result)}`);
|
|
252
257
|
}
|
|
253
258
|
}
|
|
254
259
|
async #upgradeViaHomebrew() {
|
|
255
260
|
const { tap, formula } = this.#config.homebrew;
|
|
256
|
-
const result = await this.#spawnService.spawn(["brew", "upgrade", `${tap}/${formula}`]
|
|
261
|
+
const result = await this.#spawnService.spawn(["brew", "upgrade", `${tap}/${formula}`], {
|
|
262
|
+
mode: "ignore",
|
|
263
|
+
});
|
|
257
264
|
if (!result.ok) {
|
|
258
265
|
throw new Error(`brew upgrade failed: ${describeSpawnFailure(result)}`);
|
|
259
266
|
}
|
|
@@ -268,7 +275,7 @@ export default class DefaultUpgradeService {
|
|
|
268
275
|
"--silent",
|
|
269
276
|
"--accept-package-agreements",
|
|
270
277
|
"--accept-source-agreements",
|
|
271
|
-
]);
|
|
278
|
+
], { mode: "ignore" });
|
|
272
279
|
if (!result.ok) {
|
|
273
280
|
throw new Error(`winget upgrade failed: ${describeSpawnFailure(result)}`);
|
|
274
281
|
}
|
|
@@ -278,20 +285,13 @@ export default class DefaultUpgradeService {
|
|
|
278
285
|
const archLabel = os === SupportedOs.MACOS ? "aarch64" : arch === SupportedArch.X64 ? "x64" : "arm64";
|
|
279
286
|
const assetName = assetPattern.replace("{os}", OS_LABELS[os]).replace("{arch}", archLabel);
|
|
280
287
|
const url = `https://github.com/${owner}/${repo}/releases/latest/download/${assetName}`;
|
|
281
|
-
//
|
|
282
|
-
//
|
|
283
|
-
this.#
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
const response = await fetch(url);
|
|
287
|
-
if (!response.ok) {
|
|
288
|
-
throw new Error(`Failed to download release asset '${assetName}': HTTP ${response.status}`);
|
|
289
|
-
}
|
|
290
|
-
archiveData = await response.arrayBuffer();
|
|
291
|
-
}
|
|
292
|
-
finally {
|
|
293
|
-
this.#shutdownService?.leaveLongRunningMode();
|
|
288
|
+
// longRunning: true gets cooperative Ctrl-C handling during what can be the slowest step of
|
|
289
|
+
// the upgrade.
|
|
290
|
+
const response = await this.#fetchService.fetch(url, { longRunning: true });
|
|
291
|
+
if (!response.ok) {
|
|
292
|
+
throw new Error(`Failed to download release asset '${assetName}': HTTP ${response.status}`);
|
|
294
293
|
}
|
|
294
|
+
const archiveData = await response.arrayBuffer();
|
|
295
295
|
const tmpDir = await mkdtemp(join(tmpdir(), "upgrade-"));
|
|
296
296
|
const archivePath = join(tmpDir, assetName);
|
|
297
297
|
await Bun.write(archivePath, archiveData);
|
|
@@ -301,49 +301,31 @@ export default class DefaultUpgradeService {
|
|
|
301
301
|
"powershell",
|
|
302
302
|
"-Command",
|
|
303
303
|
`Expand-Archive -Path '${archivePath}' -DestinationPath '${tmpDir}' -Force`,
|
|
304
|
-
]);
|
|
304
|
+
], { mode: "ignore" });
|
|
305
305
|
if (!extractResult.ok) {
|
|
306
306
|
throw new Error("Failed to extract release archive");
|
|
307
307
|
}
|
|
308
308
|
const extractedBinary = join(tmpDir, `${this.#cliConfig.name}.exe`);
|
|
309
309
|
const oldPath = `${currentExecutable}.old.exe`;
|
|
310
|
-
const moveResult = await this.#spawnService.spawn([
|
|
311
|
-
"cmd",
|
|
312
|
-
"/c",
|
|
313
|
-
"move",
|
|
314
|
-
"/y",
|
|
315
|
-
currentExecutable,
|
|
316
|
-
oldPath,
|
|
317
|
-
]);
|
|
310
|
+
const moveResult = await this.#spawnService.spawn(["cmd", "/c", "move", "/y", currentExecutable, oldPath], { mode: "ignore" });
|
|
318
311
|
if (!moveResult.ok) {
|
|
319
312
|
throw new Error("Failed to move current executable aside");
|
|
320
313
|
}
|
|
321
|
-
const copyResult = await this.#spawnService.spawn([
|
|
322
|
-
"cmd",
|
|
323
|
-
"/c",
|
|
324
|
-
"copy",
|
|
325
|
-
"/y",
|
|
326
|
-
extractedBinary,
|
|
327
|
-
currentExecutable,
|
|
328
|
-
]);
|
|
314
|
+
const copyResult = await this.#spawnService.spawn(["cmd", "/c", "copy", "/y", extractedBinary, currentExecutable], { mode: "ignore" });
|
|
329
315
|
if (!copyResult.ok) {
|
|
330
316
|
throw new Error("Failed to copy new executable into place");
|
|
331
317
|
}
|
|
332
318
|
}
|
|
333
319
|
else {
|
|
334
|
-
const extractResult = await this.#spawnService.spawn([
|
|
335
|
-
"
|
|
336
|
-
|
|
337
|
-
archivePath,
|
|
338
|
-
"-d",
|
|
339
|
-
tmpDir,
|
|
340
|
-
]);
|
|
320
|
+
const extractResult = await this.#spawnService.spawn(["unzip", "-o", archivePath, "-d", tmpDir], {
|
|
321
|
+
mode: "ignore",
|
|
322
|
+
});
|
|
341
323
|
if (!extractResult.ok) {
|
|
342
324
|
throw new Error("Failed to extract release archive");
|
|
343
325
|
}
|
|
344
326
|
const extractedBinary = join(tmpDir, this.#cliConfig.name);
|
|
345
327
|
await Bun.write(currentExecutable, Bun.file(extractedBinary));
|
|
346
|
-
await this.#spawnService.spawn(["chmod", "+x", currentExecutable]);
|
|
328
|
+
await this.#spawnService.spawn(["chmod", "+x", currentExecutable], { mode: "ignore" });
|
|
347
329
|
}
|
|
348
330
|
}
|
|
349
331
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpgradeServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/service/upgrade/UpgradeServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAK1E,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,eAAe;;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAsB;IAChD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAKd,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB;IAKnE,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IASpD,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"UpgradeServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/service/upgrade/UpgradeServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAK1E,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,eAAe;;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAsB;IAChD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAKd,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB;IAKnE,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IASpD,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAsH1D"}
|