@interopio/iocd-cli 0.0.7 → 0.0.9
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/README.md +42 -9
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/apps.command.js +1 -1
- package/dist/commands/apps.command.js.map +1 -1
- package/dist/commands/setup.command.js +37 -5
- package/dist/commands/setup.command.js.map +1 -1
- package/dist/services/app.service.js +74 -82
- package/dist/services/app.service.js.map +1 -1
- package/dist/services/config/config.service.js +4 -12
- package/dist/services/config/config.service.js.map +1 -1
- package/dist/services/create.service.js +2 -2
- package/dist/services/create.service.js.map +1 -1
- package/dist/services/dev.service.js +6 -0
- package/dist/services/dev.service.js.map +1 -1
- package/dist/services/installer/electronForge.js +57 -14
- package/dist/services/installer/electronForge.js.map +1 -1
- package/dist/services/license.service.js +7 -8
- package/dist/services/license.service.js.map +1 -1
- package/dist/services/template.service.js +7 -2
- package/dist/services/template.service.js.map +1 -1
- package/dist/templates/auto-tests/template.json +1 -1
- package/dist/templates/groups/apps/groups/iocd.app.json +2 -2
- package/dist/templates/groups/apps/groups/src/index.tsx +0 -5
- package/dist/templates/ioconnect-desktop/.env.example +17 -4
- package/dist/templates/ioconnect-desktop/package.json +2 -1
- package/dist/templates/launchpad/apps/launchpad/iocd.app.json +3 -3
- package/dist/templates/splash/apps/splash/iocd.app.json +2 -2
- package/dist/templates/workspaces/apps/workspaces/iocd.app.json +2 -2
- package/dist/utils/path.js +20 -5
- package/dist/utils/path.js.map +1 -1
- package/dist/{sentry.js → utils/sentry.js} +3 -1
- package/dist/utils/sentry.js.map +1 -0
- package/package.json +1 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/commands/apps.command.d.ts +0 -3
- package/dist/commands/apps.command.d.ts.map +0 -1
- package/dist/commands/build.command.d.ts +0 -3
- package/dist/commands/build.command.d.ts.map +0 -1
- package/dist/commands/components.command.d.ts +0 -3
- package/dist/commands/components.command.d.ts.map +0 -1
- package/dist/commands/create.command.d.ts +0 -3
- package/dist/commands/create.command.d.ts.map +0 -1
- package/dist/commands/dev.command.d.ts +0 -4
- package/dist/commands/dev.command.d.ts.map +0 -1
- package/dist/commands/license.command.d.ts +0 -3
- package/dist/commands/license.command.d.ts.map +0 -1
- package/dist/commands/modifications.command.d.ts +0 -3
- package/dist/commands/modifications.command.d.ts.map +0 -1
- package/dist/commands/setup.command.d.ts +0 -4
- package/dist/commands/setup.command.d.ts.map +0 -1
- package/dist/sentry.d.ts +0 -2
- package/dist/sentry.d.ts.map +0 -1
- package/dist/sentry.js.map +0 -1
- package/dist/services/app-builder.service.d.ts +0 -2
- package/dist/services/app-builder.service.d.ts.map +0 -1
- package/dist/services/app-builder.service.js +0 -3
- package/dist/services/app-builder.service.js.map +0 -1
- package/dist/services/app.service.d.ts +0 -75
- package/dist/services/app.service.d.ts.map +0 -1
- package/dist/services/components/component.config.d.ts +0 -11
- package/dist/services/components/component.config.d.ts.map +0 -1
- package/dist/services/components/component.d.ts +0 -17
- package/dist/services/components/component.d.ts.map +0 -1
- package/dist/services/components/components.registry.d.ts +0 -40
- package/dist/services/components/components.registry.d.ts.map +0 -1
- package/dist/services/components/components.service.d.ts +0 -25
- package/dist/services/components/components.service.d.ts.map +0 -1
- package/dist/services/components/file.helper.d.ts +0 -12
- package/dist/services/components/file.helper.d.ts.map +0 -1
- package/dist/services/components/platform.utils.d.ts +0 -149
- package/dist/services/components/platform.utils.d.ts.map +0 -1
- package/dist/services/components/stores/github.store.d.ts +0 -34
- package/dist/services/components/stores/github.store.d.ts.map +0 -1
- package/dist/services/components/stores/local.store.d.ts +0 -70
- package/dist/services/components/stores/local.store.d.ts.map +0 -1
- package/dist/services/components/stores/s3.store.d.ts +0 -99
- package/dist/services/components/stores/s3.store.d.ts.map +0 -1
- package/dist/services/components/stores/store.d.ts +0 -12
- package/dist/services/components/stores/store.d.ts.map +0 -1
- package/dist/services/components/version.selector.d.ts +0 -4
- package/dist/services/components/version.selector.d.ts.map +0 -1
- package/dist/services/config/cli.config.d.ts +0 -64
- package/dist/services/config/cli.config.d.ts.map +0 -1
- package/dist/services/config/config.service.d.ts +0 -14
- package/dist/services/config/config.service.d.ts.map +0 -1
- package/dist/services/create.service.d.ts +0 -58
- package/dist/services/create.service.d.ts.map +0 -1
- package/dist/services/dev.service.d.ts +0 -2
- package/dist/services/dev.service.d.ts.map +0 -1
- package/dist/services/installer/electronBuilder.d.ts +0 -2
- package/dist/services/installer/electronBuilder.d.ts.map +0 -1
- package/dist/services/installer/electronForge.d.ts +0 -4
- package/dist/services/installer/electronForge.d.ts.map +0 -1
- package/dist/services/installer/installer.service.d.ts +0 -5
- package/dist/services/installer/installer.service.d.ts.map +0 -1
- package/dist/services/installer/macOS.helper.d.ts +0 -3
- package/dist/services/installer/macOS.helper.d.ts.map +0 -1
- package/dist/services/installer/prerequisites.d.ts +0 -2
- package/dist/services/installer/prerequisites.d.ts.map +0 -1
- package/dist/services/installer/windows.helper.d.ts +0 -10
- package/dist/services/installer/windows.helper.d.ts.map +0 -1
- package/dist/services/license.service.d.ts +0 -105
- package/dist/services/license.service.d.ts.map +0 -1
- package/dist/services/modifications/macOS.helper.d.ts +0 -13
- package/dist/services/modifications/macOS.helper.d.ts.map +0 -1
- package/dist/services/modifications/modifications.service.d.ts +0 -2
- package/dist/services/modifications/modifications.service.d.ts.map +0 -1
- package/dist/services/modifications/windows.helper.d.ts +0 -2
- package/dist/services/modifications/windows.helper.d.ts.map +0 -1
- package/dist/services/template.service.d.ts +0 -116
- package/dist/services/template.service.d.ts.map +0 -1
- package/dist/templates/auto-tests/README.md +0 -31
- package/dist/templates/auto-tests/playwright.config.js +0 -19
- package/dist/templates/groups/apps/groups/src/reportWebVitals.ts +0 -15
- package/dist/utils/colors.d.ts +0 -57
- package/dist/utils/colors.d.ts.map +0 -1
- package/dist/utils/deep.merge.d.ts +0 -5
- package/dist/utils/deep.merge.d.ts.map +0 -1
- package/dist/utils/delay.d.ts +0 -2
- package/dist/utils/delay.d.ts.map +0 -1
- package/dist/utils/electron.builder.config.helper.d.ts +0 -6
- package/dist/utils/electron.builder.config.helper.d.ts.map +0 -1
- package/dist/utils/ensure.iocd.exists.d.ts +0 -2
- package/dist/utils/ensure.iocd.exists.d.ts.map +0 -1
- package/dist/utils/error.handler.d.ts +0 -31
- package/dist/utils/error.handler.d.ts.map +0 -1
- package/dist/utils/file.d.ts +0 -10
- package/dist/utils/file.d.ts.map +0 -1
- package/dist/utils/find.package.dir.d.ts +0 -2
- package/dist/utils/find.package.dir.d.ts.map +0 -1
- package/dist/utils/logger.d.ts +0 -19
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/nextSteps.d.ts +0 -2
- package/dist/utils/nextSteps.d.ts.map +0 -1
- package/dist/utils/nextSteps.js +0 -44
- package/dist/utils/nextSteps.js.map +0 -1
- package/dist/utils/pacakge.json.helper.d.ts +0 -13
- package/dist/utils/pacakge.json.helper.d.ts.map +0 -1
- package/dist/utils/path.d.ts +0 -19
- package/dist/utils/path.d.ts.map +0 -1
- package/dist/utils/version.d.ts +0 -2
- package/dist/utils/version.d.ts.map +0 -1
- /package/dist/templates/ioconnect-desktop/{forge.config.js → config/forge.config.js} +0 -0
- /package/dist/templates/ioconnect-desktop/{iocd.cli.config.json → config/iocd.cli.config.json} +0 -0
package/dist/sentry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AAEvC,MAAM,CAAC,IAAI,CAAC;IACR,GAAG,EAAE,wFAAwF;IAE7F,oEAAoE;IACpE,yDAAyD;IACzD,cAAc,EAAE,IAAI;IAEpB,UAAU,EAAE,IAAI;IAEhB,gEAAgE;IAChE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,aAAa;IAErD,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO;IAE3C,sDAAsD;IACtD,gBAAgB,EAAE,GAAG;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,YAAY,EAAE,CAAC;AAEtB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE;IACrC,qCAAqC;IACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,qDAAqD;QACrD,sDAAsD;IAC1D,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,CAAC,CAAS,4BAA4B;IACzD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;IACnD,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,cAAc;AACd,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,yFAAyF;AACzF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-builder.service.d.ts","sourceRoot":"","sources":["../../src/services/app-builder.service.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-builder.service.js","sourceRoot":"","sources":["../../src/services/app-builder.service.ts"],"names":[],"mappings":""}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
interface AppConfig {
|
|
2
|
-
name: string;
|
|
3
|
-
path: string;
|
|
4
|
-
config: {
|
|
5
|
-
dev?: {
|
|
6
|
-
script: string;
|
|
7
|
-
modifications: Array<{
|
|
8
|
-
source: string;
|
|
9
|
-
destination: string;
|
|
10
|
-
}>;
|
|
11
|
-
};
|
|
12
|
-
build?: {
|
|
13
|
-
script: string;
|
|
14
|
-
modifications: Array<{
|
|
15
|
-
source: string;
|
|
16
|
-
destination: string;
|
|
17
|
-
}>;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Service for managing template applications.
|
|
23
|
-
*
|
|
24
|
-
* This service:
|
|
25
|
-
* 1. Discovers all apps in the apps/ folder of generated projects
|
|
26
|
-
* 2. Installs dependencies for all apps (npm install)
|
|
27
|
-
* 3. Builds apps and copies them to modifications folder (npm run build)
|
|
28
|
-
* 4. Provides progress feedback during operations
|
|
29
|
-
*/
|
|
30
|
-
declare class AppService {
|
|
31
|
-
private logger;
|
|
32
|
-
/**
|
|
33
|
-
* Install dependencies for all applications found in the apps/ directory
|
|
34
|
-
*/
|
|
35
|
-
installAllApps(): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Build all applications found in the apps/ directory
|
|
38
|
-
*/
|
|
39
|
-
buildAllApps(): Promise<void>;
|
|
40
|
-
startAllAppsInDevMode(): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Build a specific application
|
|
43
|
-
*/
|
|
44
|
-
buildApp(appConfig: AppConfig): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Start a specific application in development mode
|
|
47
|
-
*/
|
|
48
|
-
startAppInDevMode(appName: string): Promise<void>;
|
|
49
|
-
getAllApps(): Promise<AppConfig[]>;
|
|
50
|
-
/**
|
|
51
|
-
* Discover all app directories in the apps/ folder and return detailed app information
|
|
52
|
-
*/
|
|
53
|
-
private discoverApps;
|
|
54
|
-
/**
|
|
55
|
-
* Install dependencies for a specific application
|
|
56
|
-
*/
|
|
57
|
-
private installApp;
|
|
58
|
-
private startAppsInParallel;
|
|
59
|
-
private copyModifications;
|
|
60
|
-
/**
|
|
61
|
-
* Copy a single file, creating destination directory if needed
|
|
62
|
-
*/
|
|
63
|
-
private copyFile;
|
|
64
|
-
/**
|
|
65
|
-
* Copy a directory recursively, wiping out target first if it exists
|
|
66
|
-
*/
|
|
67
|
-
private copyDirectory;
|
|
68
|
-
/**
|
|
69
|
-
* Recursively copy directory contents
|
|
70
|
-
*/
|
|
71
|
-
private copyDirectoryContents;
|
|
72
|
-
}
|
|
73
|
-
declare const _default: AppService;
|
|
74
|
-
export default _default;
|
|
75
|
-
//# sourceMappingURL=app.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.service.d.ts","sourceRoot":"","sources":["../../src/services/app.service.ts"],"names":[],"mappings":"AAQA,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,GAAG,CAAC,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC;YACf,aAAa,EAAE,KAAK,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC;gBACf,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC,CAAC;SACJ,CAAC;QACF,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,aAAa,EAAE,KAAK,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC;gBACf,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,MAAM,CAAgC;IAE9C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB5C;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B7B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBnD;;KAEC;IACY,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC1D;;OAEG;IACU,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCjD,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAkB/C;;OAEG;IACH,OAAO,CAAC,YAAY;IAmDpB;;OAEG;YACW,UAAU;YAiCV,mBAAmB;IAsBjC,OAAO,CAAC,iBAAiB;IAkDzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAiB9B;;AAED,wBAAgC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface ComponentsConfig {
|
|
2
|
-
postInstall: {
|
|
3
|
-
modifications: Modification[];
|
|
4
|
-
};
|
|
5
|
-
}
|
|
6
|
-
export interface Modification {
|
|
7
|
-
source: string;
|
|
8
|
-
destination: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function copyModifications(baseDir: string, componentJsonPath: string): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=component.config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component.config.d.ts","sourceRoot":"","sources":["../../../src/services/components/component.config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE;QACT,aAAa,EAAE,YAAY,EAAE,CAAC;KACjC,CAAA;CACJ;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDjG"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface ComponentReference {
|
|
2
|
-
name: string;
|
|
3
|
-
version: string;
|
|
4
|
-
}
|
|
5
|
-
export interface ComponentWithVersion {
|
|
6
|
-
name: string;
|
|
7
|
-
version: string;
|
|
8
|
-
fullVersion?: string;
|
|
9
|
-
buildNumber?: number | undefined;
|
|
10
|
-
platform: SupportedPlatforms;
|
|
11
|
-
arch?: 'x64' | 'arm64' | 'universal';
|
|
12
|
-
downloadUrl: string;
|
|
13
|
-
filename: string;
|
|
14
|
-
prerelease: boolean;
|
|
15
|
-
}
|
|
16
|
-
export type SupportedPlatforms = 'win32' | 'darwin' | 'darwin-arm64';
|
|
17
|
-
//# sourceMappingURL=component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/services/components/component.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { SupportedPlatforms } from "./component";
|
|
2
|
-
export interface ComponentDefinition {
|
|
3
|
-
/** Display name for the component */
|
|
4
|
-
displayName: string;
|
|
5
|
-
/** Base filename for downloads (without extension) */
|
|
6
|
-
name: string;
|
|
7
|
-
/** Whether license validation is required */
|
|
8
|
-
licenseRequired: boolean;
|
|
9
|
-
/** Supported platforms */
|
|
10
|
-
platforms: Array<SupportedPlatforms>;
|
|
11
|
-
/** Description of the component */
|
|
12
|
-
description: string;
|
|
13
|
-
/** Is the component required for the application to run */
|
|
14
|
-
required?: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Central registry of all known components with their static metadata
|
|
18
|
-
* It is best if this goes to cli configuration
|
|
19
|
-
*/
|
|
20
|
-
export declare class ComponentsRegistry {
|
|
21
|
-
private static COMPONENT_REGISTRY;
|
|
22
|
-
static getComponents(): ComponentDefinition[];
|
|
23
|
-
/**
|
|
24
|
-
* Get component definition by name
|
|
25
|
-
*/
|
|
26
|
-
static getComponentDefinition(componentName: string): ComponentDefinition | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Get all known component names
|
|
29
|
-
*/
|
|
30
|
-
static getAllComponentNames(): string[];
|
|
31
|
-
/**
|
|
32
|
-
* Get components that support a specific platform
|
|
33
|
-
*/
|
|
34
|
-
static getComponentsForPlatform(platform: SupportedPlatforms): string[];
|
|
35
|
-
/**
|
|
36
|
-
* Check if a component exists and supports a platform
|
|
37
|
-
*/
|
|
38
|
-
static isComponentSupported(componentName: string, platform: SupportedPlatforms): boolean;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=components.registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.registry.d.ts","sourceRoot":"","sources":["../../../src/services/components/components.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAChC,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,eAAe,EAAE,OAAO,CAAC;IACzB,0BAA0B;IAC1B,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrC,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAG3B,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAqC/B;WAEY,aAAa,IAAI,mBAAmB,EAAE;IAIpD;;OAEG;WACW,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI5F;;OAEG;WACW,oBAAoB,IAAI,MAAM,EAAE;IAI9C;;OAEG;WACW,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,EAAE;IAM9E;;OAEG;WACW,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO;CAInG"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ComponentWithVersion, ComponentReference } from "./component";
|
|
2
|
-
/**
|
|
3
|
-
* Service for managing components
|
|
4
|
-
*/
|
|
5
|
-
declare class ComponentsService {
|
|
6
|
-
private logger;
|
|
7
|
-
private componentsStore;
|
|
8
|
-
private getComponentsStore;
|
|
9
|
-
listComponentsInThisProject(): Promise<ComponentReference[]>;
|
|
10
|
-
browseComponentsFromStore(): Promise<Array<ComponentWithVersion>>;
|
|
11
|
-
installComponent(name: string, version?: string): Promise<any>;
|
|
12
|
-
uninstallComponent(name: string): Promise<any>;
|
|
13
|
-
installComponents(): Promise<any>;
|
|
14
|
-
installComponentsForBuild(): Promise<any>;
|
|
15
|
-
/**
|
|
16
|
-
* Pin all "latest" component versions to their currently installed specific versions
|
|
17
|
-
* This ensures reproducible builds by replacing "latest" with actual version numbers
|
|
18
|
-
*/
|
|
19
|
-
pinComponentVersions(): Promise<void>;
|
|
20
|
-
private installComponentCore;
|
|
21
|
-
private processComponentConfig;
|
|
22
|
-
}
|
|
23
|
-
declare const _default: ComponentsService;
|
|
24
|
-
export default _default;
|
|
25
|
-
//# sourceMappingURL=components.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.service.d.ts","sourceRoot":"","sources":["../../../src/services/components/components.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWvE;;GAEG;AACH,cAAM,iBAAiB;IACnB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,eAAe,CAA8B;IAErD,OAAO,CAAC,kBAAkB;IAqBb,2BAA2B,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAU5D,yBAAyB,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAqBjE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBrE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAoB9C,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAoBjC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC;IA8B/C;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;YAqD7B,oBAAoB;YAoBpB,sBAAsB;CAGvC;;AAED,wBAAuC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare class FileHelper {
|
|
2
|
-
private logger;
|
|
3
|
-
removeComponent(name: string): void;
|
|
4
|
-
storeComponent(component: {
|
|
5
|
-
name: string;
|
|
6
|
-
data: any;
|
|
7
|
-
filename: string;
|
|
8
|
-
}): Promise<string>;
|
|
9
|
-
private extractDmg;
|
|
10
|
-
private extractZip;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=file.helper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file.helper.d.ts","sourceRoot":"","sources":["../../../src/services/components/file.helper.ts"],"names":[],"mappings":"AAMA,qBAAa,UAAU;IAGnB,OAAO,CAAC,MAAM,CAAwB;IAE/B,eAAe,CAAC,IAAI,EAAE,MAAM;IAWtB,cAAc,CAAC,SAAS,EAAE;QACnC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,CAAC;QACV,QAAQ,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;YAwDL,UAAU;YAyBV,UAAU;CAgC3B"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { SupportedPlatforms } from './component';
|
|
2
|
-
/**
|
|
3
|
-
* Platform utility for component stores
|
|
4
|
-
*
|
|
5
|
-
* This utility provides shared functionality for:
|
|
6
|
-
* - Platform detection from filenames
|
|
7
|
-
* - Component filename parsing (both OS-specific and OS-agnostic)
|
|
8
|
-
* - Current platform detection
|
|
9
|
-
* - Component matching logic
|
|
10
|
-
* - Version parsing with build timestamp support
|
|
11
|
-
*
|
|
12
|
-
* Supports component naming patterns:
|
|
13
|
-
* 1. OS-specific with platform-arch: <name>-<version>-<platform>-<arch>.ext (e.g., iocd-v10.0.1-build.123-win32-x64.zip)
|
|
14
|
-
* 2. OS-specific platform only: <name>-<version>-<platform>.ext (e.g., bbgv2-v2.0.0.1-win32.zip)
|
|
15
|
-
* 3. OS-agnostic: <name>-<version>.ext (e.g., webapp-v10.0.0-build.123.zip)
|
|
16
|
-
*
|
|
17
|
-
* Version formats supported:
|
|
18
|
-
* - v<X.Y.Z> (e.g., v10.0.0)
|
|
19
|
-
* - v<X.Y.Z>-build.<TIMESTAMP> (e.g., v10.0.0-build.20250927121929)
|
|
20
|
-
* - v<X.Y.Z.B> (e.g., v10.0.0.1)
|
|
21
|
-
*/
|
|
22
|
-
export interface ComponentFilenameInfo {
|
|
23
|
-
name: string;
|
|
24
|
-
version: string;
|
|
25
|
-
baseVersion: string;
|
|
26
|
-
buildInfo?: string;
|
|
27
|
-
buildNumber?: number | undefined;
|
|
28
|
-
isOsSpecific: boolean;
|
|
29
|
-
platform?: SupportedPlatforms;
|
|
30
|
-
arch?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Platform utility for component stores
|
|
34
|
-
*
|
|
35
|
-
* This utility provides shared functionality for:
|
|
36
|
-
* - Platform detection from filenames
|
|
37
|
-
* - Component filename parsing (both OS-specific and OS-agnostic)
|
|
38
|
-
* - Current platform detection
|
|
39
|
-
* - Component matching logic
|
|
40
|
-
* - Version parsing with build timestamp support
|
|
41
|
-
*
|
|
42
|
-
* Supports component naming patterns:
|
|
43
|
-
* 1. OS-specific: <name>-<version>-<arch>-<platform>.ext (e.g., iocd-v10.0.0-build.123-darwin-arm64.dmg)
|
|
44
|
-
* 2. OS-agnostic: <name>-<version>.ext (e.g., webapp-v10.0.0-build.123.zip)
|
|
45
|
-
*
|
|
46
|
-
* Version formats supported:
|
|
47
|
-
* - v<X.Y.Z> (e.g., v10.0.0)
|
|
48
|
-
* - v<X.Y.Z>-build.<TIMESTAMP> (e.g., v10.0.0-build.20250927121929)
|
|
49
|
-
* - v<X.Y.Z.B> (e.g., v10.0.0.1)
|
|
50
|
-
*/
|
|
51
|
-
export declare class ComponentPlatformUtils {
|
|
52
|
-
/**
|
|
53
|
-
* Get current platform string compatible with component naming
|
|
54
|
-
*/
|
|
55
|
-
static getCurrentPlatform(): SupportedPlatforms;
|
|
56
|
-
/**
|
|
57
|
-
* Parse component information from filename
|
|
58
|
-
*
|
|
59
|
-
* Supports component patterns:
|
|
60
|
-
* - OS-specific: <component>-<version>-<arch>-<platform>.<ext>
|
|
61
|
-
* - OS-agnostic: <component>-<version>.<ext>
|
|
62
|
-
*
|
|
63
|
-
* @param filename The component filename to parse
|
|
64
|
-
* @returns Parsed component info
|
|
65
|
-
* @throws Error if parsing fails
|
|
66
|
-
*/
|
|
67
|
-
static parseComponentFilename(filename: string): ComponentFilenameInfo;
|
|
68
|
-
/**
|
|
69
|
-
* Parse component information from a name (not filename)
|
|
70
|
-
*
|
|
71
|
-
* Supports component patterns:
|
|
72
|
-
* - OS-specific with platform-arch: <component>-<version>-<platform>-<arch>
|
|
73
|
-
* - OS-specific with platform only: <component>-<version>-<platform>
|
|
74
|
-
* - OS-agnostic: <component>-<version>
|
|
75
|
-
*
|
|
76
|
-
* @param name The component name to parse
|
|
77
|
-
* @returns Parsed component info
|
|
78
|
-
* @throws Error if parsing fails
|
|
79
|
-
*/
|
|
80
|
-
static parseComponentName(name: string): ComponentFilenameInfo;
|
|
81
|
-
/**
|
|
82
|
-
* Check if a filename matches the current platform
|
|
83
|
-
*
|
|
84
|
-
* @param filename The filename to check
|
|
85
|
-
* @param currentPlatform Optional current platform (defaults to auto-detect)
|
|
86
|
-
* @returns True if the component matches the current platform
|
|
87
|
-
*/
|
|
88
|
-
static matchesCurrentPlatform(filename: string, currentPlatform?: SupportedPlatforms): boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Check if a file is a supported package format
|
|
91
|
-
*/
|
|
92
|
-
static isSupportedPackageFile(filename: string): boolean;
|
|
93
|
-
/**
|
|
94
|
-
* Parse version string to extract base version and build information
|
|
95
|
-
*
|
|
96
|
-
* @param version Version string (e.g., "v10.0.0-build.20250927121929")
|
|
97
|
-
* @returns Parsed version info
|
|
98
|
-
*/
|
|
99
|
-
static parseVersionString(version: string): {
|
|
100
|
-
baseVersion: string;
|
|
101
|
-
buildInfo?: string;
|
|
102
|
-
buildNumber?: number;
|
|
103
|
-
timestamp?: string;
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Parse platform part to extract platform and architecture
|
|
107
|
-
*
|
|
108
|
-
* @param platformPart Platform string (e.g., "darwin-arm64", "win32", "darwin")
|
|
109
|
-
* @returns Parsed platform info
|
|
110
|
-
*/
|
|
111
|
-
static parsePlatformPart(platformPart: string): {
|
|
112
|
-
platform: SupportedPlatforms;
|
|
113
|
-
arch?: string;
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* Normalize version string by removing build suffix
|
|
117
|
-
*
|
|
118
|
-
* @param version Version string
|
|
119
|
-
* @returns Base version without build info
|
|
120
|
-
*/
|
|
121
|
-
static normalizeVersion(version: string): string;
|
|
122
|
-
/**
|
|
123
|
-
* Compare two version strings with build timestamp support
|
|
124
|
-
* Priority: non-build > newer build > older build
|
|
125
|
-
*
|
|
126
|
-
* @param a First version string
|
|
127
|
-
* @param b Second version string
|
|
128
|
-
* @returns -1 if a < b, 1 if a > b, 0 if equal
|
|
129
|
-
*/
|
|
130
|
-
static compareVersionsWithBuild(a: string, b: string): number;
|
|
131
|
-
/**
|
|
132
|
-
* Compare semantic version strings (X.Y.Z or X.Y.Z.B)
|
|
133
|
-
*
|
|
134
|
-
* @param a First version
|
|
135
|
-
* @param b Second version
|
|
136
|
-
* @returns -1 if a < b, 1 if a > b, 0 if equal
|
|
137
|
-
*/
|
|
138
|
-
static compareSemanticVersions(a: string, b: string): number;
|
|
139
|
-
/**
|
|
140
|
-
* Compare two version strings for sorting (backwards compatibility)
|
|
141
|
-
* For new build-aware comparison, use compareVersionsWithBuild()
|
|
142
|
-
*
|
|
143
|
-
* @param a First version string
|
|
144
|
-
* @param b Second version string
|
|
145
|
-
* @returns -1 if a < b, 1 if a > b, 0 if equal
|
|
146
|
-
*/
|
|
147
|
-
static compareVersions(a: string, b: string): number;
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=platform.utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.utils.d.ts","sourceRoot":"","sources":["../../../src/services/components/platform.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,qBAAqB;IAElC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AACD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,sBAAsB;IAE/B;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,kBAAkB;IAa/C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB;IAKtE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB;IA6G9D;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,kBAAkB,GAAG,OAAO;IA6B9F;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOxD;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAqBjI;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAuB/F;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;;;;OAOG;IACH,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IA8B7D;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAiB5D;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;CAUvD"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ComponentWithVersion } from "../component";
|
|
2
|
-
import { ComponentsStore } from "./store";
|
|
3
|
-
export declare class GitHubComponentsStore implements ComponentsStore {
|
|
4
|
-
private baseUrl;
|
|
5
|
-
private usePrereleases;
|
|
6
|
-
private logger;
|
|
7
|
-
private cachedReleases;
|
|
8
|
-
constructor(repo?: string, usePrereleases?: boolean);
|
|
9
|
-
getAll(): Promise<ComponentWithVersion[]>;
|
|
10
|
-
download(name: string, version: string): Promise<{
|
|
11
|
-
name: string;
|
|
12
|
-
data: any;
|
|
13
|
-
filename: string;
|
|
14
|
-
actualVersion: string;
|
|
15
|
-
}>;
|
|
16
|
-
getInfo(): string;
|
|
17
|
-
/**
|
|
18
|
-
* Find a specific release by component name and version
|
|
19
|
-
*/
|
|
20
|
-
private findComponent;
|
|
21
|
-
/**
|
|
22
|
-
* Get all releases without parsing them into components
|
|
23
|
-
* Will filter out pre-releases if usePrereleases is false
|
|
24
|
-
*/
|
|
25
|
-
private getAllReleases;
|
|
26
|
-
/**
|
|
27
|
-
* Extract the next page URL from the Link header
|
|
28
|
-
* Link header format: <https://api.github.com/repos/owner/repo/releases?page=2>; rel="next", <https://api.github.com/repos/owner/repo/releases?page=5>; rel="last"
|
|
29
|
-
*/
|
|
30
|
-
private getNextPageUrl;
|
|
31
|
-
/** Parse GitHub release information into component metadata */
|
|
32
|
-
private parseReleases;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=github.store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.store.d.ts","sourceRoot":"","sources":["../../../../src/services/components/stores/github.store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAwB1C,qBAAa,qBAAsB,YAAW,eAAe;IACzD,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,cAAc,CAAqC;gBAE/C,IAAI,GAAE,MAA8C,EAAE,cAAc,GAAE,OAAe;IAK3F,MAAM,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAMzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BrH,OAAO;IAKd;;OAEG;YACW,aAAa;IAmC3B;;;OAGG;YACW,cAAc;IA2C5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAgBtB,+DAA+D;IAC/D,OAAO,CAAC,aAAa;CA6BxB"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ComponentsStore } from './store';
|
|
2
|
-
import { ComponentWithVersion } from '../component';
|
|
3
|
-
/**
|
|
4
|
-
* Local Components Store implementation
|
|
5
|
-
*
|
|
6
|
-
* This store reads components from a local directory following the same structure as the S3 store.
|
|
7
|
-
* Expected directory structure:
|
|
8
|
-
*
|
|
9
|
-
* componentsDirectory/
|
|
10
|
-
* ├── component1/
|
|
11
|
-
* │ ├── v1.0.0/
|
|
12
|
-
* │ │ ├── component1-v1.0.0-win32.zip
|
|
13
|
-
* │ │ ├── component1-v1.0.0-darwin.dmg
|
|
14
|
-
* │ │ └── component1-v1.0.0-darwin-arm64.dmg
|
|
15
|
-
* │ └── v1.1.0/
|
|
16
|
-
* │ ├── component1-v1.1.0-win32.zip
|
|
17
|
-
* │ └── component1-v1.1.0-darwin.dmg
|
|
18
|
-
* └── component2/
|
|
19
|
-
* └── v2.0.0/
|
|
20
|
-
* └── component2-v2.0.0-win32.zip
|
|
21
|
-
*
|
|
22
|
-
* Legacy support is maintained for flat file structures in the root directory.
|
|
23
|
-
*/
|
|
24
|
-
export declare class LocalComponentsStore implements ComponentsStore {
|
|
25
|
-
private logger;
|
|
26
|
-
private componentsDirectory;
|
|
27
|
-
constructor(componentsDirectory: string);
|
|
28
|
-
getInfo(): string;
|
|
29
|
-
getAll(): Promise<ComponentWithVersion[]>;
|
|
30
|
-
download(name: string, version: string): Promise<{
|
|
31
|
-
name: string;
|
|
32
|
-
data: any;
|
|
33
|
-
filename: string;
|
|
34
|
-
actualVersion: string;
|
|
35
|
-
}>;
|
|
36
|
-
/**
|
|
37
|
-
* Validate that the components directory exists and is accessible
|
|
38
|
-
*/
|
|
39
|
-
private validateDirectory;
|
|
40
|
-
/**
|
|
41
|
-
* Check if a file is a supported package format
|
|
42
|
-
*/
|
|
43
|
-
private isSupportedPackageFile;
|
|
44
|
-
/**
|
|
45
|
-
* Create a Component object from a single package file (legacy support)
|
|
46
|
-
*/
|
|
47
|
-
private createComponentFromFile;
|
|
48
|
-
/**
|
|
49
|
-
* Create a Component object from structured directory layout
|
|
50
|
-
* Expected filename format: componentName-vVersion-platform.ext
|
|
51
|
-
* Following S3 store structure: componentName/vVersion/componentName-vVersion-platform.ext
|
|
52
|
-
*/
|
|
53
|
-
private createStructuredComponent;
|
|
54
|
-
/**
|
|
55
|
-
* Scan component directory for version subdirectories
|
|
56
|
-
* Expected structure: componentName/vX.Y.Z/componentName-vX.Y.Z-platform.ext
|
|
57
|
-
*/
|
|
58
|
-
private scanComponentVersions;
|
|
59
|
-
/**
|
|
60
|
-
* Scan version directory for component package files
|
|
61
|
-
* Expected structure: vX.Y.Z/componentName-vX.Y.Z-platform.ext
|
|
62
|
-
*/
|
|
63
|
-
private scanVersionDirectory;
|
|
64
|
-
/**
|
|
65
|
-
* Get the latest version from a list of components with the same name
|
|
66
|
-
* Simple string comparison - for proper semver, you'd want to use a semver library
|
|
67
|
-
*/
|
|
68
|
-
private getLatestVersion;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=local.store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local.store.d.ts","sourceRoot":"","sources":["../../../../src/services/components/stores/local.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IACxD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,mBAAmB,CAAS;gBAExB,mBAAmB,EAAE,MAAM;IAKvC,OAAO,IAAI,MAAM;IAIX,MAAM,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmDzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IA6E5H;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;YACW,uBAAuB;IA2BrC;;;;OAIG;YACW,yBAAyB;IA2BvC;;;OAGG;YACW,qBAAqB;IAwCnC;;;OAGG;YACW,oBAAoB;IAiClC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAW3B"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { ComponentsStore } from './store';
|
|
2
|
-
import { ComponentWithVersion } from '../component';
|
|
3
|
-
/**
|
|
4
|
-
* S3 Components Store implementation
|
|
5
|
-
*
|
|
6
|
-
* This store downloads components from an AWS S3 bucket.
|
|
7
|
-
* It expects components to be organized in the bucket with the following structure:
|
|
8
|
-
*
|
|
9
|
-
* bucket/
|
|
10
|
-
* ├── component1/
|
|
11
|
-
* │ ├── v1.0.0/
|
|
12
|
-
* │ │ ├── component1-v1.0.0-win32.zip
|
|
13
|
-
* │ │ ├── component1-v1.0.0-darwin.dmg
|
|
14
|
-
* │ │ └── component1-v1.0.0-darwin-arm64.dmg
|
|
15
|
-
* │ └── v1.1.0/
|
|
16
|
-
* │ ├── component1-v1.1.0-win32.zip
|
|
17
|
-
* │ └── component1-v1.1.0-darwin.dmg
|
|
18
|
-
* └── component2/
|
|
19
|
-
* └── v2.0.0/
|
|
20
|
-
* └── component2-v2.0.0-win32.zip
|
|
21
|
-
*
|
|
22
|
-
* Authentication is handled through AWS credentials (environment variables, IAM roles, etc.)
|
|
23
|
-
*/
|
|
24
|
-
export declare class S3ComponentsStore implements ComponentsStore {
|
|
25
|
-
private logger;
|
|
26
|
-
private bucketName;
|
|
27
|
-
private region;
|
|
28
|
-
private prefix;
|
|
29
|
-
private accessKeyId;
|
|
30
|
-
private secretAccessKey;
|
|
31
|
-
constructor(config: {
|
|
32
|
-
bucketName: string;
|
|
33
|
-
region: string;
|
|
34
|
-
prefix?: string;
|
|
35
|
-
accessKeyId?: string;
|
|
36
|
-
secretAccessKey?: string;
|
|
37
|
-
});
|
|
38
|
-
getInfo(): string;
|
|
39
|
-
getAll(): Promise<ComponentWithVersion[]>;
|
|
40
|
-
download(name: string, version: string): Promise<{
|
|
41
|
-
name: string;
|
|
42
|
-
data: any;
|
|
43
|
-
filename: string;
|
|
44
|
-
actualVersion: string;
|
|
45
|
-
}>;
|
|
46
|
-
/**
|
|
47
|
-
* Validate the S3 configuration
|
|
48
|
-
*/
|
|
49
|
-
private validateConfiguration;
|
|
50
|
-
/**
|
|
51
|
-
* List all objects in the S3 bucket
|
|
52
|
-
*/
|
|
53
|
-
private listAllObjects;
|
|
54
|
-
/**
|
|
55
|
-
* List objects in S3 bucket using ListObjectsV2 API
|
|
56
|
-
*/
|
|
57
|
-
private listObjectsV2;
|
|
58
|
-
/**
|
|
59
|
-
* Download an object from S3
|
|
60
|
-
*/
|
|
61
|
-
private downloadObject;
|
|
62
|
-
/**
|
|
63
|
-
* Find the S3 object key for a specific component and version
|
|
64
|
-
*/
|
|
65
|
-
private findComponentObject;
|
|
66
|
-
/**
|
|
67
|
-
* Parse S3 objects into Component array
|
|
68
|
-
*/
|
|
69
|
-
private parseS3ObjectsToComponents;
|
|
70
|
-
/**
|
|
71
|
-
* Parse component information from S3 object key
|
|
72
|
-
*/
|
|
73
|
-
private parseComponentFromKey;
|
|
74
|
-
/**
|
|
75
|
-
* Check if a key matches the current platform
|
|
76
|
-
*/
|
|
77
|
-
private matchesPlatform;
|
|
78
|
-
/**
|
|
79
|
-
* Extract version from S3 object key
|
|
80
|
-
*/
|
|
81
|
-
private extractVersionFromKey;
|
|
82
|
-
/**
|
|
83
|
-
* Extract filename from S3 object key
|
|
84
|
-
*/
|
|
85
|
-
private extractFilenameFromKey;
|
|
86
|
-
/**
|
|
87
|
-
* Build S3 API URL for a given object key
|
|
88
|
-
*/
|
|
89
|
-
private buildS3ApiUrl;
|
|
90
|
-
/**
|
|
91
|
-
* Create AWS Signature Version 4 authentication headers
|
|
92
|
-
*/
|
|
93
|
-
private createAuthHeaders;
|
|
94
|
-
/**
|
|
95
|
-
* Parse S3 ListObjects XML response
|
|
96
|
-
*/
|
|
97
|
-
private parseListObjectsResponse;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=s3.store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s3.store.d.ts","sourceRoot":"","sources":["../../../../src/services/components/stores/s3.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAkBpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACrD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAqB;gBAEhC,MAAM,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B;IAUD,OAAO,IAAI,MAAM;IAKX,MAAM,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAoBzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IA+C5H;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;YACW,cAAc;IAiB5B;;OAEG;YACW,aAAa;IA+B3B;;OAEG;YACW,cAAc;IAmB5B;;OAEG;YACW,mBAAmB;IA6CjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqC7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CA6CnC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ComponentWithVersion } from "../component";
|
|
2
|
-
export interface ComponentsStore {
|
|
3
|
-
getInfo(): string;
|
|
4
|
-
getAll(): Promise<ComponentWithVersion[]>;
|
|
5
|
-
download(name: string, version: string): Promise<{
|
|
6
|
-
name: string;
|
|
7
|
-
data: any;
|
|
8
|
-
filename: string;
|
|
9
|
-
actualVersion: string;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/services/components/stores/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC5B,OAAO,IAAI,MAAM,CAAC;IAClB,MAAM,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACxH"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ComponentWithVersion } from "./component";
|
|
2
|
-
/** Give a version to match and a set of ComponentWithVersion return the matching component */
|
|
3
|
-
export declare function selectVersion(version: string, componentsToSelectFrom: ComponentWithVersion[]): ComponentWithVersion | null;
|
|
4
|
-
//# sourceMappingURL=version.selector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.selector.d.ts","sourceRoot":"","sources":["../../../src/services/components/version.selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,GAAG,IAAI,CA+C1H"}
|