@guanjinke/artifact-client 1.5.1 → 1.6.1
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 +32 -3
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +6 -5
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/stored-client.d.ts +24 -0
- package/dist/cli/stored-client.d.ts.map +1 -0
- package/dist/cli/stored-client.js +59 -0
- package/dist/cli/stored-client.js.map +1 -0
- package/dist/cli/web.d.ts +23 -0
- package/dist/cli/web.d.ts.map +1 -0
- package/dist/cli/web.js +99 -0
- package/dist/cli/web.js.map +1 -0
- package/dist/environment/builder.d.ts.map +1 -1
- package/dist/environment/builder.js +26 -13
- package/dist/environment/builder.js.map +1 -1
- package/dist/environment/catalog.d.ts.map +1 -1
- package/dist/environment/catalog.js +18 -0
- package/dist/environment/catalog.js.map +1 -1
- package/dist/environment/config.d.ts +1 -1
- package/dist/environment/config.d.ts.map +1 -1
- package/dist/environment/config.js +7 -5
- package/dist/environment/config.js.map +1 -1
- package/dist/environment/manager.d.ts +9 -0
- package/dist/environment/manager.d.ts.map +1 -1
- package/dist/environment/manager.js +34 -6
- package/dist/environment/manager.js.map +1 -1
- package/dist/environment/plan.d.ts +37 -1
- package/dist/environment/plan.d.ts.map +1 -1
- package/dist/environment/plan.js +71 -16
- package/dist/environment/plan.js.map +1 -1
- package/dist/environment/posix-process.d.ts +71 -0
- package/dist/environment/posix-process.d.ts.map +1 -0
- package/dist/environment/posix-process.js +393 -0
- package/dist/environment/posix-process.js.map +1 -0
- package/dist/environment/process.d.ts +3 -1
- package/dist/environment/process.d.ts.map +1 -1
- package/dist/environment/process.js +5 -2
- package/dist/environment/process.js.map +1 -1
- package/dist/environment/registry.d.ts.map +1 -1
- package/dist/environment/registry.js +2 -1
- package/dist/environment/registry.js.map +1 -1
- package/dist/environment/root.d.ts +24 -6
- package/dist/environment/root.d.ts.map +1 -1
- package/dist/environment/root.js +78 -24
- package/dist/environment/root.js.map +1 -1
- package/dist/environment/types.d.ts +7 -2
- package/dist/environment/types.d.ts.map +1 -1
- package/dist/environment/update.d.ts +3 -1
- package/dist/environment/update.d.ts.map +1 -1
- package/dist/environment/update.js +48 -36
- package/dist/environment/update.js.map +1 -1
- package/dist/environment/validate.d.ts.map +1 -1
- package/dist/environment/validate.js +5 -1
- package/dist/environment/validate.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/atomic.d.ts +10 -0
- package/dist/utils/atomic.d.ts.map +1 -0
- package/dist/utils/atomic.js +65 -0
- package/dist/utils/atomic.js.map +1 -0
- package/dist/utils/local-path.d.ts +14 -0
- package/dist/utils/local-path.d.ts.map +1 -1
- package/dist/utils/local-path.js +25 -0
- package/dist/utils/local-path.js.map +1 -1
- package/dist/web/api.d.ts +28 -0
- package/dist/web/api.d.ts.map +1 -0
- package/dist/web/api.js +336 -0
- package/dist/web/api.js.map +1 -0
- package/dist/web/assets.d.ts +26 -0
- package/dist/web/assets.d.ts.map +1 -0
- package/dist/web/assets.js +87 -0
- package/dist/web/assets.js.map +1 -0
- package/dist/web/http.d.ts +41 -0
- package/dist/web/http.d.ts.map +1 -0
- package/dist/web/http.js +167 -0
- package/dist/web/http.js.map +1 -0
- package/dist/web/jobs.d.ts +69 -0
- package/dist/web/jobs.d.ts.map +1 -0
- package/dist/web/jobs.js +110 -0
- package/dist/web/jobs.js.map +1 -0
- package/dist/web/providers.d.ts +12 -0
- package/dist/web/providers.d.ts.map +1 -0
- package/dist/web/providers.js +108 -0
- package/dist/web/providers.js.map +1 -0
- package/dist/web/server.d.ts +43 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +148 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/static/app.js +59 -0
- package/dist/web/static/favicon.svg +12 -0
- package/dist/web/static/index.html +15 -0
- package/dist/web/static/styles.css +1333 -0
- package/dist/web/types.d.ts +82 -0
- package/dist/web/types.d.ts.map +1 -0
- package/dist/web/types.js +3 -0
- package/dist/web/types.js.map +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { EnvironmentRecord, RunMode } from '../environment/registry';
|
|
2
|
+
import { EnvironmentClient, EnvironmentOptions, EnvironmentPlan, EnvironmentProgress, EnvironmentResult } from '../environment/types';
|
|
3
|
+
import { ModuleUpdateSpec, UpdateResult } from '../environment/update';
|
|
4
|
+
/** Cloud provider selected for artifact resolution; the same names as the CLI command groups. */
|
|
5
|
+
export type Provider = 'az' | 'oss';
|
|
6
|
+
export type EnvironmentRow = EnvironmentRecord & {
|
|
7
|
+
observedState: string;
|
|
8
|
+
problem?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* The slice of `EnvironmentManager` the web layer uses.
|
|
12
|
+
*
|
|
13
|
+
* Declared structurally so tests and the API can be exercised with fakes, and so
|
|
14
|
+
* the server never depends on process/registry adapters it does not need.
|
|
15
|
+
*/
|
|
16
|
+
export interface WebManager {
|
|
17
|
+
list(): Promise<EnvironmentRow[]>;
|
|
18
|
+
create(name: string, options: EnvironmentOptions, clientFactory: () => EnvironmentClient, onProgress?: EnvironmentProgress): Promise<EnvironmentPlan | EnvironmentResult>;
|
|
19
|
+
delete(name: string, confirm: (entry: EnvironmentRecord) => Promise<boolean>): Promise<boolean>;
|
|
20
|
+
start(name: string, mode: RunMode): Promise<void>;
|
|
21
|
+
stop(name: string): Promise<void>;
|
|
22
|
+
restart(name: string, mode?: RunMode): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/** The slice of `EnvironmentUpdater` the web layer uses. */
|
|
25
|
+
export interface WebUpdater {
|
|
26
|
+
update(name: string, specs: (ModuleUpdateSpec | string)[], clientFactory: () => EnvironmentClient, options?: {
|
|
27
|
+
dryRun?: boolean;
|
|
28
|
+
onProgress?: EnvironmentProgress;
|
|
29
|
+
}): Promise<UpdateResult>;
|
|
30
|
+
}
|
|
31
|
+
/** The slice of `EnvironmentRegistry` the web layer uses. */
|
|
32
|
+
export interface WebRegistry {
|
|
33
|
+
get(name: string): Promise<EnvironmentRecord>;
|
|
34
|
+
read(): Promise<EnvironmentRecord[]>;
|
|
35
|
+
}
|
|
36
|
+
/** What the page may show about configured credentials: never a secret. */
|
|
37
|
+
export interface ProviderInfo {
|
|
38
|
+
az?: {
|
|
39
|
+
container: string | null;
|
|
40
|
+
};
|
|
41
|
+
oss?: {
|
|
42
|
+
bucket: string | null;
|
|
43
|
+
region: string | null;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** Credentials a browser may submit; validated and stored, never echoed back. */
|
|
47
|
+
export interface SubmittedCredentials {
|
|
48
|
+
sasUrl?: string;
|
|
49
|
+
keyId?: string;
|
|
50
|
+
key?: string;
|
|
51
|
+
bucket?: string;
|
|
52
|
+
region?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Stored-credential access.
|
|
56
|
+
*
|
|
57
|
+
* The page can *write* credentials (so a fresh machine needs no terminal) but
|
|
58
|
+
* can never read them back: `available` and `info` expose only non-secret facts,
|
|
59
|
+
* the same profile the CLI's `az login`/`oss login` use.
|
|
60
|
+
*/
|
|
61
|
+
export interface WebProviders {
|
|
62
|
+
/** Which providers have usable stored credentials. */
|
|
63
|
+
available(): {
|
|
64
|
+
az: boolean;
|
|
65
|
+
oss: boolean;
|
|
66
|
+
};
|
|
67
|
+
/** Build the artifact client for a provider; throws with an actionable message when unconfigured. */
|
|
68
|
+
client(provider: Provider): EnvironmentClient;
|
|
69
|
+
/** Non-secret details of what is stored, for display in the settings dialog. */
|
|
70
|
+
info(): ProviderInfo;
|
|
71
|
+
/** Validate and persist one provider's credentials. */
|
|
72
|
+
save(provider: Provider, credentials: SubmittedCredentials): Promise<void>;
|
|
73
|
+
/** Forget one provider's credentials. */
|
|
74
|
+
clear(provider: Provider): Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
/** Static facts shown in the page header. */
|
|
77
|
+
export interface WebStateInfo {
|
|
78
|
+
environmentRoot: string | null;
|
|
79
|
+
version: string;
|
|
80
|
+
platform: string;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/web/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACtI,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEvE,iGAAiG;AACjG,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7F;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,iBAAiB,CAAC,CAAC;IAC1K,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC7L;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CACtC;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAClC,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACxD;AAED,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,SAAS,IAAI;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,qGAAqG;IACrG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IAC9C,gFAAgF;IAChF,IAAI,IAAI,YAAY,CAAC;IACrB,uDAAuD;IACvD,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,yCAAyC;IACzC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/web/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guanjinke/artifact-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "Artifact management client and CLI for Azure Storage and Aliyun OSS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"dist/"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "tsc && node -e \"process.platform !== 'win32' && require('fs').chmodSync('dist/cli.js', '755')\"",
|
|
14
|
+
"build": "tsc && tsc -p tsconfig.web.json && node scripts/build-web.js && node -e \"process.platform !== 'win32' && require('fs').chmodSync('dist/cli.js', '755')\"",
|
|
15
|
+
"build:web": "tsc -p tsconfig.web.json && node scripts/build-web.js",
|
|
15
16
|
"test": "jest",
|
|
16
17
|
"test:watch": "jest --watch"
|
|
17
18
|
},
|
|
@@ -37,10 +38,16 @@
|
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@types/jest": "^29.5.12",
|
|
39
40
|
"@types/node": "^20.14.0",
|
|
41
|
+
"@types/react": "^18.3.31",
|
|
42
|
+
"@types/react-dom": "^18.3.7",
|
|
40
43
|
"@types/semver": "^7.5.8",
|
|
41
44
|
"@types/yauzl": "^3.4.0",
|
|
42
45
|
"@types/yazl": "^3.3.1",
|
|
46
|
+
"esbuild": "^0.24.2",
|
|
43
47
|
"jest": "^29.7.0",
|
|
48
|
+
"jsdom": "^20.0.3",
|
|
49
|
+
"react": "^18.3.1",
|
|
50
|
+
"react-dom": "^18.3.1",
|
|
44
51
|
"ts-jest": "^29.2.0",
|
|
45
52
|
"typescript": "^5.5.0",
|
|
46
53
|
"yazl": "^3.3.1"
|