@extension.dev/deploy 0.1.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/LICENSE +21 -0
- package/README.md +237 -0
- package/bin/extension-deploy.cjs +3 -0
- package/dist/__tests__/cli.test.d.ts +2 -0
- package/dist/__tests__/cli.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/deploy.test.d.ts +2 -0
- package/dist/__tests__/deploy.test.d.ts.map +1 -0
- package/dist/__tests__/dry-run.test.d.ts +2 -0
- package/dist/__tests__/dry-run.test.d.ts.map +1 -0
- package/dist/__tests__/types.test.d.ts +2 -0
- package/dist/__tests__/types.test.d.ts.map +1 -0
- package/dist/__tests__/utils.test.d.ts +2 -0
- package/dist/__tests__/utils.test.d.ts.map +1 -0
- package/dist/__tests__/verify.test.d.ts +2 -0
- package/dist/__tests__/verify.test.d.ts.map +1 -0
- package/dist/__tests__/watch.test.d.ts +2 -0
- package/dist/__tests__/watch.test.d.ts.map +1 -0
- package/dist/module.d.ts +2 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +976 -0
- package/dist/module.mjs +886 -0
- package/dist/src/chrome.d.ts +42 -0
- package/dist/src/chrome.d.ts.map +1 -0
- package/dist/src/cli.d.ts +4 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/config.d.ts +68 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/deploy.d.ts +3 -0
- package/dist/src/deploy.d.ts.map +1 -0
- package/dist/src/edge.d.ts +39 -0
- package/dist/src/edge.d.ts.map +1 -0
- package/dist/src/firefox.d.ts +56 -0
- package/dist/src/firefox.d.ts.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/types.d.ts +242 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/utils/async.d.ts +2 -0
- package/dist/src/utils/async.d.ts.map +1 -0
- package/dist/src/utils/fetch.d.ts +3 -0
- package/dist/src/utils/fetch.d.ts.map +1 -0
- package/dist/src/utils/fs.d.ts +4 -0
- package/dist/src/utils/fs.d.ts.map +1 -0
- package/dist/src/utils/log.d.ts +6 -0
- package/dist/src/utils/log.d.ts.map +1 -0
- package/dist/src/watch.d.ts +41 -0
- package/dist/src/watch.d.ts.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ChromeOptions } from "./types";
|
|
2
|
+
export declare function chromeStoreUrl(extensionId: string): string;
|
|
3
|
+
export interface CwsAccessToken {
|
|
4
|
+
access_token: string;
|
|
5
|
+
expires_in: number;
|
|
6
|
+
refresh_token: string;
|
|
7
|
+
scope: string;
|
|
8
|
+
token_type: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ChromeVerifyResult {
|
|
11
|
+
ok: boolean;
|
|
12
|
+
message: string;
|
|
13
|
+
extensionTitle?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ChromePublishOutcome {
|
|
16
|
+
storeUrl: string;
|
|
17
|
+
submissionId: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function publishChrome(options: ChromeOptions, dryRun: boolean): Promise<ChromePublishOutcome>;
|
|
20
|
+
export interface ChromeItemStatus {
|
|
21
|
+
uploadState?: string;
|
|
22
|
+
crxVersion?: string;
|
|
23
|
+
publicKey?: string;
|
|
24
|
+
itemError?: Array<{
|
|
25
|
+
error_code?: string;
|
|
26
|
+
error_detail?: string;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
export declare function getChromeItem(params: {
|
|
30
|
+
clientId: string;
|
|
31
|
+
clientSecret: string;
|
|
32
|
+
refreshToken: string;
|
|
33
|
+
extensionId: string;
|
|
34
|
+
projection?: "DRAFT" | "PUBLISHED";
|
|
35
|
+
}): Promise<ChromeItemStatus>;
|
|
36
|
+
export declare function verifyChromeCredentials(params: {
|
|
37
|
+
clientId: string;
|
|
38
|
+
clientSecret: string;
|
|
39
|
+
refreshToken: string;
|
|
40
|
+
extensionId: string;
|
|
41
|
+
}): Promise<ChromeVerifyResult>;
|
|
42
|
+
//# sourceMappingURL=chrome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/chrome.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAa7C,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAID,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA+ED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,oBAAoB,CAAC,CA2D/B;AAID,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CACpC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAa5B;AAID,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkD9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA2EzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8D3D;AAiCD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B1C"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type DeployConfig } from "./types";
|
|
2
|
+
export declare function resolveConfig(flags: Partial<CliFlags>): DeployConfig;
|
|
3
|
+
export declare function validateConfig(raw: DeployConfig): {
|
|
4
|
+
dryRun: boolean;
|
|
5
|
+
chrome?: {
|
|
6
|
+
zip: string;
|
|
7
|
+
extensionId: string;
|
|
8
|
+
clientId: string;
|
|
9
|
+
clientSecret: string;
|
|
10
|
+
refreshToken: string;
|
|
11
|
+
publishTarget: "default" | "trustedTesters";
|
|
12
|
+
reviewExemption: boolean;
|
|
13
|
+
skipSubmitReview: boolean;
|
|
14
|
+
deployPercentage?: number | undefined;
|
|
15
|
+
} | undefined;
|
|
16
|
+
firefox?: {
|
|
17
|
+
zip: string;
|
|
18
|
+
extensionId: string;
|
|
19
|
+
jwtIssuer: string;
|
|
20
|
+
jwtSecret: string;
|
|
21
|
+
channel: "listed" | "unlisted";
|
|
22
|
+
sourcesZip?: string | undefined;
|
|
23
|
+
} | undefined;
|
|
24
|
+
edge?: {
|
|
25
|
+
zip: string;
|
|
26
|
+
clientId: string;
|
|
27
|
+
skipSubmitReview: boolean;
|
|
28
|
+
productId: string;
|
|
29
|
+
apiKey: string;
|
|
30
|
+
} | undefined;
|
|
31
|
+
};
|
|
32
|
+
export interface CliFlags {
|
|
33
|
+
help: boolean;
|
|
34
|
+
dryRun: boolean;
|
|
35
|
+
/** Path to write the final DeployResult as JSON (for CI integration). */
|
|
36
|
+
outputJson: string;
|
|
37
|
+
/** Subcommand: "deploy" (default) or "watch". */
|
|
38
|
+
command: "deploy" | "watch";
|
|
39
|
+
/** Store targeted by the watch subcommand. */
|
|
40
|
+
watchStore: "chrome" | "firefox" | "edge";
|
|
41
|
+
/** Opaque submission ID (firefox version id, edge publish operation id). */
|
|
42
|
+
watchSubmissionId: string;
|
|
43
|
+
/** Seconds between watch polls (default 60). */
|
|
44
|
+
watchInterval: number;
|
|
45
|
+
/** Max seconds to wait for a terminal watch state (default 3600). */
|
|
46
|
+
watchTimeout: number;
|
|
47
|
+
chromeZip: string;
|
|
48
|
+
chromeExtensionId: string;
|
|
49
|
+
chromeClientId: string;
|
|
50
|
+
chromeClientSecret: string;
|
|
51
|
+
chromeRefreshToken: string;
|
|
52
|
+
chromePublishTarget: string;
|
|
53
|
+
chromeDeployPercentage: number;
|
|
54
|
+
chromeReviewExemption: boolean;
|
|
55
|
+
chromeSkipSubmitReview: boolean;
|
|
56
|
+
firefoxZip: string;
|
|
57
|
+
firefoxSourcesZip: string;
|
|
58
|
+
firefoxExtensionId: string;
|
|
59
|
+
firefoxJwtIssuer: string;
|
|
60
|
+
firefoxJwtSecret: string;
|
|
61
|
+
firefoxChannel: string;
|
|
62
|
+
edgeZip: string;
|
|
63
|
+
edgeProductId: string;
|
|
64
|
+
edgeClientId: string;
|
|
65
|
+
edgeApiKey: string;
|
|
66
|
+
edgeSkipSubmitReview: boolean;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhE,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvB,YAAY,CAiDd;AA2CD,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB/C;AAiBD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,8CAA8C;IAC9C,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAyB,MAAM,SAAS,CAAC;AAMjF,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAiGxE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { EdgeOptions } from "./types";
|
|
2
|
+
export declare function edgeStoreUrl(productId: string): string;
|
|
3
|
+
export interface EdgeDraftOperation {
|
|
4
|
+
id: string;
|
|
5
|
+
createdTime: string;
|
|
6
|
+
lastUpdatedTime: string;
|
|
7
|
+
status: "InProgress" | "Succeeded" | "Failed";
|
|
8
|
+
message: string | null;
|
|
9
|
+
errorCode: string | null;
|
|
10
|
+
errors: string[] | null;
|
|
11
|
+
}
|
|
12
|
+
export interface EdgeVerifyResult {
|
|
13
|
+
ok: boolean;
|
|
14
|
+
message: string;
|
|
15
|
+
}
|
|
16
|
+
export interface EdgePublishOutcome {
|
|
17
|
+
storeUrl: string;
|
|
18
|
+
submissionId: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function publishEdge(options: EdgeOptions, dryRun: boolean): Promise<EdgePublishOutcome>;
|
|
21
|
+
export interface EdgePublishOperationStatus {
|
|
22
|
+
id: string;
|
|
23
|
+
status: "InProgress" | "Succeeded" | "Failed";
|
|
24
|
+
message?: string | null;
|
|
25
|
+
errorCode?: string | null;
|
|
26
|
+
errors?: string[] | null;
|
|
27
|
+
}
|
|
28
|
+
export declare function getEdgePublishOperation(params: {
|
|
29
|
+
productId: string;
|
|
30
|
+
operationId: string;
|
|
31
|
+
clientId: string;
|
|
32
|
+
apiKey: string;
|
|
33
|
+
}): Promise<EdgePublishOperationStatus>;
|
|
34
|
+
export declare function verifyEdgeCredentials(params: {
|
|
35
|
+
clientId: string;
|
|
36
|
+
apiKey: string;
|
|
37
|
+
productId?: string;
|
|
38
|
+
}): Promise<EdgeVerifyResult>;
|
|
39
|
+
//# sourceMappingURL=edge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../src/edge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAW3C,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AA2ED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,kBAAkB,CAAC,CAqD7B;AAID,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAKtC;AAID,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwE5B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { FirefoxOptions } from "./types";
|
|
2
|
+
export declare function firefoxStoreUrl(addonIdOrSlug: string): string;
|
|
3
|
+
export interface AmoUploadResult {
|
|
4
|
+
uuid: string;
|
|
5
|
+
channel: "listed" | "unlisted";
|
|
6
|
+
processed: boolean;
|
|
7
|
+
submitted: boolean;
|
|
8
|
+
url: string;
|
|
9
|
+
valid: boolean;
|
|
10
|
+
validation: {
|
|
11
|
+
errors: number;
|
|
12
|
+
warnings: number;
|
|
13
|
+
notices: number;
|
|
14
|
+
};
|
|
15
|
+
version: string;
|
|
16
|
+
}
|
|
17
|
+
export interface AmoAddonInfo {
|
|
18
|
+
id: string;
|
|
19
|
+
name?: string | Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
export interface AmoVersionInfo {
|
|
22
|
+
id: number;
|
|
23
|
+
file: {
|
|
24
|
+
id: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface FirefoxVerifyResult {
|
|
28
|
+
ok: boolean;
|
|
29
|
+
message: string;
|
|
30
|
+
addonName?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface FirefoxPublishOutcome {
|
|
33
|
+
storeUrl: string;
|
|
34
|
+
submissionId: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function publishFirefox(options: FirefoxOptions, dryRun: boolean): Promise<FirefoxPublishOutcome>;
|
|
37
|
+
export interface AmoVersionStatus {
|
|
38
|
+
id: number;
|
|
39
|
+
version: string;
|
|
40
|
+
file: {
|
|
41
|
+
id: number;
|
|
42
|
+
status?: "public" | "disabled" | "unreviewed" | string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export declare function getFirefoxVersion(params: {
|
|
46
|
+
addonId: string;
|
|
47
|
+
versionId: string | number;
|
|
48
|
+
jwtIssuer: string;
|
|
49
|
+
jwtSecret: string;
|
|
50
|
+
}): Promise<AmoVersionStatus>;
|
|
51
|
+
export declare function verifyFirefoxCredentials(params: {
|
|
52
|
+
jwtIssuer: string;
|
|
53
|
+
jwtSecret: string;
|
|
54
|
+
addonId?: string;
|
|
55
|
+
}): Promise<FirefoxVerifyResult>;
|
|
56
|
+
//# sourceMappingURL=firefox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../src/firefox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAW9C,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE7D;AAID,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6GD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAqEhC;AAID,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;KACxD,CAAC;CACH;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM5B;AAwCD,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6D/B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { deploy } from "./deploy";
|
|
2
|
+
export { resolveConfig, validateConfig } from "./config";
|
|
3
|
+
export type { CliFlags } from "./config";
|
|
4
|
+
export type { StoreKey, ChromeOptions, FirefoxOptions, EdgeOptions, DeployConfig, DeployResult, StoreResult, WatchStatus, WatchEvent, } from "./types";
|
|
5
|
+
export { chromeOptionsSchema, firefoxOptionsSchema, edgeOptionsSchema, deployConfigSchema, } from "./types";
|
|
6
|
+
export { verifyChromeCredentials } from "./chrome";
|
|
7
|
+
export type { ChromeVerifyResult } from "./chrome";
|
|
8
|
+
export { verifyFirefoxCredentials } from "./firefox";
|
|
9
|
+
export type { FirefoxVerifyResult } from "./firefox";
|
|
10
|
+
export { verifyEdgeCredentials } from "./edge";
|
|
11
|
+
export type { EdgeVerifyResult } from "./edge";
|
|
12
|
+
export { watchChromeSubmission, watchEdgeSubmission, watchFirefoxSubmission, getChromeSubmissionEvent, getEdgeSubmissionEvent, getFirefoxSubmissionEvent, } from "./watch";
|
|
13
|
+
export type { WatchLoopOptions, ChromeWatchInput, EdgeWatchInput, FirefoxWatchInput, } from "./watch";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export type StoreKey = "chrome" | "firefox" | "edge";
|
|
3
|
+
export declare const chromeOptionsSchema: z.ZodObject<{
|
|
4
|
+
zip: z.ZodString;
|
|
5
|
+
extensionId: z.ZodString;
|
|
6
|
+
clientId: z.ZodString;
|
|
7
|
+
clientSecret: z.ZodString;
|
|
8
|
+
refreshToken: z.ZodString;
|
|
9
|
+
publishTarget: z.ZodDefault<z.ZodEnum<["default", "trustedTesters"]>>;
|
|
10
|
+
deployPercentage: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
reviewExemption: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
skipSubmitReview: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
zip: string;
|
|
15
|
+
extensionId: string;
|
|
16
|
+
clientId: string;
|
|
17
|
+
clientSecret: string;
|
|
18
|
+
refreshToken: string;
|
|
19
|
+
publishTarget: "default" | "trustedTesters";
|
|
20
|
+
reviewExemption: boolean;
|
|
21
|
+
skipSubmitReview: boolean;
|
|
22
|
+
deployPercentage?: number | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
zip: string;
|
|
25
|
+
extensionId: string;
|
|
26
|
+
clientId: string;
|
|
27
|
+
clientSecret: string;
|
|
28
|
+
refreshToken: string;
|
|
29
|
+
publishTarget?: "default" | "trustedTesters" | undefined;
|
|
30
|
+
deployPercentage?: number | undefined;
|
|
31
|
+
reviewExemption?: boolean | undefined;
|
|
32
|
+
skipSubmitReview?: boolean | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
export type ChromeOptions = z.infer<typeof chromeOptionsSchema>;
|
|
35
|
+
export declare const firefoxOptionsSchema: z.ZodObject<{
|
|
36
|
+
zip: z.ZodString;
|
|
37
|
+
sourcesZip: z.ZodOptional<z.ZodString>;
|
|
38
|
+
extensionId: z.ZodString;
|
|
39
|
+
jwtIssuer: z.ZodString;
|
|
40
|
+
jwtSecret: z.ZodString;
|
|
41
|
+
channel: z.ZodDefault<z.ZodEnum<["listed", "unlisted"]>>;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
zip: string;
|
|
44
|
+
extensionId: string;
|
|
45
|
+
jwtIssuer: string;
|
|
46
|
+
jwtSecret: string;
|
|
47
|
+
channel: "listed" | "unlisted";
|
|
48
|
+
sourcesZip?: string | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
zip: string;
|
|
51
|
+
extensionId: string;
|
|
52
|
+
jwtIssuer: string;
|
|
53
|
+
jwtSecret: string;
|
|
54
|
+
sourcesZip?: string | undefined;
|
|
55
|
+
channel?: "listed" | "unlisted" | undefined;
|
|
56
|
+
}>;
|
|
57
|
+
export type FirefoxOptions = z.infer<typeof firefoxOptionsSchema>;
|
|
58
|
+
export declare const edgeOptionsSchema: z.ZodObject<{
|
|
59
|
+
zip: z.ZodString;
|
|
60
|
+
productId: z.ZodString;
|
|
61
|
+
clientId: z.ZodString;
|
|
62
|
+
apiKey: z.ZodString;
|
|
63
|
+
skipSubmitReview: z.ZodDefault<z.ZodBoolean>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
zip: string;
|
|
66
|
+
clientId: string;
|
|
67
|
+
skipSubmitReview: boolean;
|
|
68
|
+
productId: string;
|
|
69
|
+
apiKey: string;
|
|
70
|
+
}, {
|
|
71
|
+
zip: string;
|
|
72
|
+
clientId: string;
|
|
73
|
+
productId: string;
|
|
74
|
+
apiKey: string;
|
|
75
|
+
skipSubmitReview?: boolean | undefined;
|
|
76
|
+
}>;
|
|
77
|
+
export type EdgeOptions = z.infer<typeof edgeOptionsSchema>;
|
|
78
|
+
export declare const deployConfigSchema: z.ZodObject<{
|
|
79
|
+
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
80
|
+
chrome: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
zip: z.ZodString;
|
|
82
|
+
extensionId: z.ZodString;
|
|
83
|
+
clientId: z.ZodString;
|
|
84
|
+
clientSecret: z.ZodString;
|
|
85
|
+
refreshToken: z.ZodString;
|
|
86
|
+
publishTarget: z.ZodDefault<z.ZodEnum<["default", "trustedTesters"]>>;
|
|
87
|
+
deployPercentage: z.ZodOptional<z.ZodNumber>;
|
|
88
|
+
reviewExemption: z.ZodDefault<z.ZodBoolean>;
|
|
89
|
+
skipSubmitReview: z.ZodDefault<z.ZodBoolean>;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
zip: string;
|
|
92
|
+
extensionId: string;
|
|
93
|
+
clientId: string;
|
|
94
|
+
clientSecret: string;
|
|
95
|
+
refreshToken: string;
|
|
96
|
+
publishTarget: "default" | "trustedTesters";
|
|
97
|
+
reviewExemption: boolean;
|
|
98
|
+
skipSubmitReview: boolean;
|
|
99
|
+
deployPercentage?: number | undefined;
|
|
100
|
+
}, {
|
|
101
|
+
zip: string;
|
|
102
|
+
extensionId: string;
|
|
103
|
+
clientId: string;
|
|
104
|
+
clientSecret: string;
|
|
105
|
+
refreshToken: string;
|
|
106
|
+
publishTarget?: "default" | "trustedTesters" | undefined;
|
|
107
|
+
deployPercentage?: number | undefined;
|
|
108
|
+
reviewExemption?: boolean | undefined;
|
|
109
|
+
skipSubmitReview?: boolean | undefined;
|
|
110
|
+
}>>;
|
|
111
|
+
firefox: z.ZodOptional<z.ZodObject<{
|
|
112
|
+
zip: z.ZodString;
|
|
113
|
+
sourcesZip: z.ZodOptional<z.ZodString>;
|
|
114
|
+
extensionId: z.ZodString;
|
|
115
|
+
jwtIssuer: z.ZodString;
|
|
116
|
+
jwtSecret: z.ZodString;
|
|
117
|
+
channel: z.ZodDefault<z.ZodEnum<["listed", "unlisted"]>>;
|
|
118
|
+
}, "strip", z.ZodTypeAny, {
|
|
119
|
+
zip: string;
|
|
120
|
+
extensionId: string;
|
|
121
|
+
jwtIssuer: string;
|
|
122
|
+
jwtSecret: string;
|
|
123
|
+
channel: "listed" | "unlisted";
|
|
124
|
+
sourcesZip?: string | undefined;
|
|
125
|
+
}, {
|
|
126
|
+
zip: string;
|
|
127
|
+
extensionId: string;
|
|
128
|
+
jwtIssuer: string;
|
|
129
|
+
jwtSecret: string;
|
|
130
|
+
sourcesZip?: string | undefined;
|
|
131
|
+
channel?: "listed" | "unlisted" | undefined;
|
|
132
|
+
}>>;
|
|
133
|
+
edge: z.ZodOptional<z.ZodObject<{
|
|
134
|
+
zip: z.ZodString;
|
|
135
|
+
productId: z.ZodString;
|
|
136
|
+
clientId: z.ZodString;
|
|
137
|
+
apiKey: z.ZodString;
|
|
138
|
+
skipSubmitReview: z.ZodDefault<z.ZodBoolean>;
|
|
139
|
+
}, "strip", z.ZodTypeAny, {
|
|
140
|
+
zip: string;
|
|
141
|
+
clientId: string;
|
|
142
|
+
skipSubmitReview: boolean;
|
|
143
|
+
productId: string;
|
|
144
|
+
apiKey: string;
|
|
145
|
+
}, {
|
|
146
|
+
zip: string;
|
|
147
|
+
clientId: string;
|
|
148
|
+
productId: string;
|
|
149
|
+
apiKey: string;
|
|
150
|
+
skipSubmitReview?: boolean | undefined;
|
|
151
|
+
}>>;
|
|
152
|
+
}, "strip", z.ZodTypeAny, {
|
|
153
|
+
dryRun: boolean;
|
|
154
|
+
chrome?: {
|
|
155
|
+
zip: string;
|
|
156
|
+
extensionId: string;
|
|
157
|
+
clientId: string;
|
|
158
|
+
clientSecret: string;
|
|
159
|
+
refreshToken: string;
|
|
160
|
+
publishTarget: "default" | "trustedTesters";
|
|
161
|
+
reviewExemption: boolean;
|
|
162
|
+
skipSubmitReview: boolean;
|
|
163
|
+
deployPercentage?: number | undefined;
|
|
164
|
+
} | undefined;
|
|
165
|
+
firefox?: {
|
|
166
|
+
zip: string;
|
|
167
|
+
extensionId: string;
|
|
168
|
+
jwtIssuer: string;
|
|
169
|
+
jwtSecret: string;
|
|
170
|
+
channel: "listed" | "unlisted";
|
|
171
|
+
sourcesZip?: string | undefined;
|
|
172
|
+
} | undefined;
|
|
173
|
+
edge?: {
|
|
174
|
+
zip: string;
|
|
175
|
+
clientId: string;
|
|
176
|
+
skipSubmitReview: boolean;
|
|
177
|
+
productId: string;
|
|
178
|
+
apiKey: string;
|
|
179
|
+
} | undefined;
|
|
180
|
+
}, {
|
|
181
|
+
chrome?: {
|
|
182
|
+
zip: string;
|
|
183
|
+
extensionId: string;
|
|
184
|
+
clientId: string;
|
|
185
|
+
clientSecret: string;
|
|
186
|
+
refreshToken: string;
|
|
187
|
+
publishTarget?: "default" | "trustedTesters" | undefined;
|
|
188
|
+
deployPercentage?: number | undefined;
|
|
189
|
+
reviewExemption?: boolean | undefined;
|
|
190
|
+
skipSubmitReview?: boolean | undefined;
|
|
191
|
+
} | undefined;
|
|
192
|
+
firefox?: {
|
|
193
|
+
zip: string;
|
|
194
|
+
extensionId: string;
|
|
195
|
+
jwtIssuer: string;
|
|
196
|
+
jwtSecret: string;
|
|
197
|
+
sourcesZip?: string | undefined;
|
|
198
|
+
channel?: "listed" | "unlisted" | undefined;
|
|
199
|
+
} | undefined;
|
|
200
|
+
edge?: {
|
|
201
|
+
zip: string;
|
|
202
|
+
clientId: string;
|
|
203
|
+
productId: string;
|
|
204
|
+
apiKey: string;
|
|
205
|
+
skipSubmitReview?: boolean | undefined;
|
|
206
|
+
} | undefined;
|
|
207
|
+
dryRun?: boolean | undefined;
|
|
208
|
+
}>;
|
|
209
|
+
export type DeployConfig = z.input<typeof deployConfigSchema>;
|
|
210
|
+
export type StoreResult = {
|
|
211
|
+
store: StoreKey;
|
|
212
|
+
success: boolean;
|
|
213
|
+
status: "dry_run" | "submitted" | "uploaded" | "failed";
|
|
214
|
+
error?: string;
|
|
215
|
+
duration: number;
|
|
216
|
+
/** Public store landing page, e.g. https://chromewebstore.google.com/detail/... */
|
|
217
|
+
storeUrl?: string;
|
|
218
|
+
/** Store-specific submission identifier (operation id, version id, extension id). */
|
|
219
|
+
submissionId?: string;
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* Normalized submission status surfaced by the watch API. Each store maps its
|
|
223
|
+
* own native vocabulary onto this enum so consumers can branch on a single shape.
|
|
224
|
+
*/
|
|
225
|
+
export type WatchStatus = "unknown" | "in_review" | "processing" | "published" | "rejected" | "failed";
|
|
226
|
+
export interface WatchEvent {
|
|
227
|
+
store: StoreKey;
|
|
228
|
+
status: WatchStatus;
|
|
229
|
+
/** Store's native status value, if known. */
|
|
230
|
+
nativeStatus?: string;
|
|
231
|
+
message?: string;
|
|
232
|
+
/** When the watcher last successfully polled the store. */
|
|
233
|
+
polledAt: string;
|
|
234
|
+
submissionId?: string;
|
|
235
|
+
storeUrl?: string;
|
|
236
|
+
}
|
|
237
|
+
export type DeployResult = {
|
|
238
|
+
dryRun: boolean;
|
|
239
|
+
stores: StoreResult[];
|
|
240
|
+
success: boolean;
|
|
241
|
+
};
|
|
242
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/utils/async.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,wBAAsB,SAAS,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC,CASZ;AAED,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CASnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":"AAEA,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvE;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { StoreKey } from "../types";
|
|
2
|
+
export declare function log(store: StoreKey, message: string): void;
|
|
3
|
+
export declare function logDryRun(store: StoreKey, message: string): void;
|
|
4
|
+
export declare function logDryStep(store: StoreKey, step: string, details?: Record<string, unknown>): void;
|
|
5
|
+
export declare function logError(store: StoreKey, message: string): void;
|
|
6
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CASN;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAG/D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post-submit submission watch.
|
|
3
|
+
*
|
|
4
|
+
* Each store exposes a different "status" concept. We normalize them onto a
|
|
5
|
+
* single `WatchEvent` shape so that CI scripts and UIs can branch on one enum.
|
|
6
|
+
*
|
|
7
|
+
* This module intentionally sticks to polling-driven iteration — none of the
|
|
8
|
+
* three stores expose a real-time webhook we can bind against.
|
|
9
|
+
*/
|
|
10
|
+
import type { WatchEvent } from "./types";
|
|
11
|
+
export interface WatchLoopOptions {
|
|
12
|
+
pollIntervalMs?: number;
|
|
13
|
+
timeoutMs?: number;
|
|
14
|
+
/** Called once per poll with the normalized event. */
|
|
15
|
+
onEvent?: (event: WatchEvent) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface ChromeWatchInput {
|
|
18
|
+
clientId: string;
|
|
19
|
+
clientSecret: string;
|
|
20
|
+
refreshToken: string;
|
|
21
|
+
extensionId: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function getChromeSubmissionEvent(input: ChromeWatchInput): Promise<WatchEvent>;
|
|
24
|
+
export declare function watchChromeSubmission(input: ChromeWatchInput, options?: WatchLoopOptions): Promise<WatchEvent>;
|
|
25
|
+
export interface EdgeWatchInput {
|
|
26
|
+
clientId: string;
|
|
27
|
+
apiKey: string;
|
|
28
|
+
productId: string;
|
|
29
|
+
operationId: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function getEdgeSubmissionEvent(input: EdgeWatchInput): Promise<WatchEvent>;
|
|
32
|
+
export declare function watchEdgeSubmission(input: EdgeWatchInput, options?: WatchLoopOptions): Promise<WatchEvent>;
|
|
33
|
+
export interface FirefoxWatchInput {
|
|
34
|
+
jwtIssuer: string;
|
|
35
|
+
jwtSecret: string;
|
|
36
|
+
extensionId: string;
|
|
37
|
+
versionId: string | number;
|
|
38
|
+
}
|
|
39
|
+
export declare function getFirefoxSubmissionEvent(input: FirefoxWatchInput): Promise<WatchEvent>;
|
|
40
|
+
export declare function watchFirefoxSubmission(input: FirefoxWatchInput, options?: WatchLoopOptions): Promise<WatchEvent>;
|
|
41
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAY,UAAU,EAAe,MAAM,SAAS,CAAC;AAajE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAcD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,UAAU,CAAC,CAqCrB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAErB;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CA2BrB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAErB;AAID,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAYD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,UAAU,CAAC,CA2BrB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAMrB"}
|