zephyr-agent 0.1.0-next.1 → 0.1.1-next.2
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 -3
- package/dist/index.js +21 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/auth/login.d.ts +2 -1
- package/dist/lib/auth/login.js +17 -53
- package/dist/lib/auth/login.js.map +1 -1
- package/dist/lib/auth/sse.d.ts +8 -0
- package/dist/lib/auth/sse.js +61 -0
- package/dist/lib/auth/sse.js.map +1 -0
- package/dist/lib/build-context/ze-util-read-package-json.js +1 -1
- package/dist/lib/edge-actions/generate-manifest-asset.d.ts +21 -0
- package/dist/lib/edge-actions/generate-manifest-asset.js +52 -0
- package/dist/lib/edge-actions/generate-manifest-asset.js.map +1 -0
- package/dist/lib/edge-actions/index.d.ts +2 -0
- package/dist/lib/edge-actions/index.js +4 -1
- package/dist/lib/edge-actions/index.js.map +1 -1
- package/dist/lib/edge-actions/ze-upload-snapshot.js +26 -0
- package/dist/lib/edge-actions/ze-upload-snapshot.js.map +1 -1
- package/dist/lib/env-variables/env-var-rewrites.d.ts +19 -0
- package/dist/lib/env-variables/env-var-rewrites.js +189 -0
- package/dist/lib/env-variables/env-var-rewrites.js.map +1 -0
- package/dist/lib/env-variables/index.d.ts +9 -0
- package/dist/lib/env-variables/index.js +75 -0
- package/dist/lib/env-variables/index.js.map +1 -0
- package/dist/lib/errors/codes.d.ts +1 -1
- package/dist/lib/errors/codes.js +1 -1
- package/dist/lib/http/http-request.js.map +1 -1
- package/dist/lib/logging/debug.d.ts +5 -0
- package/dist/lib/logging/debug.js +6 -1
- package/dist/lib/logging/debug.js.map +1 -1
- package/dist/lib/logging/index.d.ts +1 -1
- package/dist/lib/logging/index.js +3 -1
- package/dist/lib/logging/index.js.map +1 -1
- package/dist/lib/node-persist/server-token.d.ts +2 -0
- package/dist/lib/node-persist/server-token.js +13 -0
- package/dist/lib/node-persist/server-token.js.map +1 -0
- package/dist/lib/node-persist/session-lock.js +2 -1
- package/dist/lib/node-persist/session-lock.js.map +1 -1
- package/dist/lib/node-persist/storage-keys.d.ts +3 -1
- package/dist/lib/node-persist/storage-keys.js +2 -0
- package/dist/lib/node-persist/storage-keys.js.map +1 -1
- package/dist/lib/node-persist/token.d.ts +2 -1
- package/dist/lib/node-persist/token.js +43 -2
- package/dist/lib/node-persist/token.js.map +1 -1
- package/dist/lib/node-persist/user-email.d.ts +2 -0
- package/dist/lib/node-persist/user-email.js +13 -0
- package/dist/lib/node-persist/user-email.js.map +1 -0
- package/dist/lib/transformers/ze-build-assets-map.d.ts +1 -1
- package/dist/lib/transformers/ze-build-assets-map.js +2 -2
- package/dist/lib/transformers/ze-build-assets-map.js.map +1 -1
- package/dist/lib/transformers/ze-build-dash-data.js +2 -0
- package/dist/lib/transformers/ze-build-dash-data.js.map +1 -1
- package/dist/lib/transformers/ze-create-manifest.d.ts +15 -2
- package/dist/lib/transformers/ze-create-manifest.js +60 -7
- package/dist/lib/transformers/ze-create-manifest.js.map +1 -1
- package/dist/package.json +4 -2
- package/dist/schemas/zephyr-dependencies-schema.json +1 -1
- package/dist/zephyr-engine/index.d.ts +4 -1
- package/dist/zephyr-engine/index.js +16 -3
- package/dist/zephyr-engine/index.js.map +1 -1
- package/package.json +5 -3
- package/schemas/zephyr-dependencies-schema.json +1 -1
- package/dist/lib/auth/websocket.d.ts +0 -18
- package/dist/lib/auth/websocket.js +0 -19
- package/dist/lib/auth/websocket.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ export { ze_log } from './lib/logging';
|
|
|
6
6
|
export { logFn } from './lib/logging/ze-log-event';
|
|
7
7
|
export { applyBaseHrefToAssets, normalizeBasePath, } from './lib/transformers/ze-basehref-handler';
|
|
8
8
|
export { zeBuildAssets } from './lib/transformers/ze-build-assets';
|
|
9
|
-
export { buildAssetsMap, type ZeBuildAssetsMap, } from './lib/transformers/ze-build-assets-map';
|
|
9
|
+
export { buildAssetsMapMock as buildAssetsMap, type ZeBuildAssetsMap, } from './lib/transformers/ze-build-assets-map';
|
|
10
10
|
export { zeBuildDashData } from './lib/transformers/ze-build-dash-data';
|
|
11
|
-
export { convertResolvedDependencies, createManifestContent, } from './lib/transformers/ze-create-manifest';
|
|
11
|
+
export { convertResolvedDependencies, createManifestAsset, createManifestContent, createZephyrManifest, } from './lib/transformers/ze-create-manifest';
|
|
12
12
|
export { DEFAULT_AUTH_COMPLETION_TIMEOUT_MS, TOKEN_EXPIRY } from './lib/auth/auth-flags';
|
|
13
|
-
export { is_zephyr_dependency_pair, readPackageJson,
|
|
13
|
+
export { ZephyrEngine, is_zephyr_dependency_pair, readPackageJson, type ZeDependencyPair, type ZephyrDependencies, type ZephyrEngineOptions, } from './zephyr-engine';
|
|
14
14
|
export type { Platform } from './zephyr-engine';
|
|
15
15
|
export type { ZeResolvedDependency } from './zephyr-engine/resolve_remote_dependency';
|
|
16
|
+
export { buildEnvImportMap, buildEnvImportMapScript, buildEnvModuleSource, rewriteEnvReadsToVirtualModule, type RemoteEntry, VIRTUAL_SPECIFIER, detectEnvReads, buildImportMap, injectImportMap, buildModulePreload, injectBeforeHeadClose, buildEnvJsonAsset, generateManifestContent, calculateManifestHash, collectZEPublicVars, } from './lib/env-variables';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.collectZEPublicVars = exports.calculateManifestHash = exports.generateManifestContent = exports.buildEnvJsonAsset = exports.injectBeforeHeadClose = exports.buildModulePreload = exports.injectImportMap = exports.buildImportMap = exports.detectEnvReads = exports.VIRTUAL_SPECIFIER = exports.rewriteEnvReadsToVirtualModule = exports.buildEnvModuleSource = exports.buildEnvImportMapScript = exports.buildEnvImportMap = exports.readPackageJson = exports.is_zephyr_dependency_pair = exports.ZephyrEngine = exports.TOKEN_EXPIRY = exports.DEFAULT_AUTH_COMPLETION_TIMEOUT_MS = exports.createZephyrManifest = exports.createManifestContent = exports.createManifestAsset = exports.convertResolvedDependencies = exports.zeBuildDashData = exports.buildAssetsMap = exports.zeBuildAssets = exports.normalizeBasePath = exports.applyBaseHrefToAssets = exports.logFn = exports.ze_log = exports.getAppDeployResult = exports.getAllDeployedApps = exports.getAllAppDeployResults = exports.ZephyrError = exports.ZeErrors = exports.savePartialAssetMap = exports.removePartialAssetMap = exports.getPartialAssetMap = exports.resolveIndexHtml = exports.onIndexHtmlResolved = void 0;
|
|
4
4
|
// hack for angular
|
|
5
5
|
var resolve_index_html_1 = require("./lib/hacks/resolve-index-html");
|
|
6
6
|
Object.defineProperty(exports, "onIndexHtmlResolved", { enumerable: true, get: function () { return resolve_index_html_1.onIndexHtmlResolved; } });
|
|
@@ -31,19 +31,37 @@ Object.defineProperty(exports, "normalizeBasePath", { enumerable: true, get: fun
|
|
|
31
31
|
var ze_build_assets_1 = require("./lib/transformers/ze-build-assets");
|
|
32
32
|
Object.defineProperty(exports, "zeBuildAssets", { enumerable: true, get: function () { return ze_build_assets_1.zeBuildAssets; } });
|
|
33
33
|
var ze_build_assets_map_1 = require("./lib/transformers/ze-build-assets-map");
|
|
34
|
-
Object.defineProperty(exports, "buildAssetsMap", { enumerable: true, get: function () { return ze_build_assets_map_1.
|
|
34
|
+
Object.defineProperty(exports, "buildAssetsMap", { enumerable: true, get: function () { return ze_build_assets_map_1.buildAssetsMapMock; } });
|
|
35
35
|
var ze_build_dash_data_1 = require("./lib/transformers/ze-build-dash-data");
|
|
36
36
|
Object.defineProperty(exports, "zeBuildDashData", { enumerable: true, get: function () { return ze_build_dash_data_1.zeBuildDashData; } });
|
|
37
37
|
var ze_create_manifest_1 = require("./lib/transformers/ze-create-manifest");
|
|
38
38
|
Object.defineProperty(exports, "convertResolvedDependencies", { enumerable: true, get: function () { return ze_create_manifest_1.convertResolvedDependencies; } });
|
|
39
|
+
Object.defineProperty(exports, "createManifestAsset", { enumerable: true, get: function () { return ze_create_manifest_1.createManifestAsset; } });
|
|
39
40
|
Object.defineProperty(exports, "createManifestContent", { enumerable: true, get: function () { return ze_create_manifest_1.createManifestContent; } });
|
|
41
|
+
Object.defineProperty(exports, "createZephyrManifest", { enumerable: true, get: function () { return ze_create_manifest_1.createZephyrManifest; } });
|
|
40
42
|
// Auth related exports
|
|
41
43
|
var auth_flags_1 = require("./lib/auth/auth-flags");
|
|
42
44
|
Object.defineProperty(exports, "DEFAULT_AUTH_COMPLETION_TIMEOUT_MS", { enumerable: true, get: function () { return auth_flags_1.DEFAULT_AUTH_COMPLETION_TIMEOUT_MS; } });
|
|
43
45
|
Object.defineProperty(exports, "TOKEN_EXPIRY", { enumerable: true, get: function () { return auth_flags_1.TOKEN_EXPIRY; } });
|
|
44
46
|
// Zephyr Edge is the main class which should be used
|
|
45
47
|
var zephyr_engine_1 = require("./zephyr-engine");
|
|
48
|
+
Object.defineProperty(exports, "ZephyrEngine", { enumerable: true, get: function () { return zephyr_engine_1.ZephyrEngine; } });
|
|
46
49
|
Object.defineProperty(exports, "is_zephyr_dependency_pair", { enumerable: true, get: function () { return zephyr_engine_1.is_zephyr_dependency_pair; } });
|
|
47
50
|
Object.defineProperty(exports, "readPackageJson", { enumerable: true, get: function () { return zephyr_engine_1.readPackageJson; } });
|
|
48
|
-
|
|
51
|
+
// Environment variable utilities
|
|
52
|
+
var env_variables_1 = require("./lib/env-variables");
|
|
53
|
+
Object.defineProperty(exports, "buildEnvImportMap", { enumerable: true, get: function () { return env_variables_1.buildEnvImportMap; } });
|
|
54
|
+
Object.defineProperty(exports, "buildEnvImportMapScript", { enumerable: true, get: function () { return env_variables_1.buildEnvImportMapScript; } });
|
|
55
|
+
Object.defineProperty(exports, "buildEnvModuleSource", { enumerable: true, get: function () { return env_variables_1.buildEnvModuleSource; } });
|
|
56
|
+
Object.defineProperty(exports, "rewriteEnvReadsToVirtualModule", { enumerable: true, get: function () { return env_variables_1.rewriteEnvReadsToVirtualModule; } });
|
|
57
|
+
Object.defineProperty(exports, "VIRTUAL_SPECIFIER", { enumerable: true, get: function () { return env_variables_1.VIRTUAL_SPECIFIER; } });
|
|
58
|
+
Object.defineProperty(exports, "detectEnvReads", { enumerable: true, get: function () { return env_variables_1.detectEnvReads; } });
|
|
59
|
+
Object.defineProperty(exports, "buildImportMap", { enumerable: true, get: function () { return env_variables_1.buildImportMap; } });
|
|
60
|
+
Object.defineProperty(exports, "injectImportMap", { enumerable: true, get: function () { return env_variables_1.injectImportMap; } });
|
|
61
|
+
Object.defineProperty(exports, "buildModulePreload", { enumerable: true, get: function () { return env_variables_1.buildModulePreload; } });
|
|
62
|
+
Object.defineProperty(exports, "injectBeforeHeadClose", { enumerable: true, get: function () { return env_variables_1.injectBeforeHeadClose; } });
|
|
63
|
+
Object.defineProperty(exports, "buildEnvJsonAsset", { enumerable: true, get: function () { return env_variables_1.buildEnvJsonAsset; } });
|
|
64
|
+
Object.defineProperty(exports, "generateManifestContent", { enumerable: true, get: function () { return env_variables_1.generateManifestContent; } });
|
|
65
|
+
Object.defineProperty(exports, "calculateManifestHash", { enumerable: true, get: function () { return env_variables_1.calculateManifestHash; } });
|
|
66
|
+
Object.defineProperty(exports, "collectZEPublicVars", { enumerable: true, get: function () { return env_variables_1.collectZEPublicVars; } });
|
|
49
67
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mBAAmB;AACnB,qEAAuF;AAA9E,yHAAA,mBAAmB,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAC9C,sBAAsB;AACtB,4EAI+C;AAH7C,wHAAA,kBAAkB,OAAA;AAClB,2HAAA,qBAAqB,OAAA;AACrB,yHAAA,mBAAmB,OAAA;AAGrB,SAAS;AACT,uCAAqD;AAA5C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE9B,gBAAgB;AAChB,sFAKoD;AAJlD,iIAAA,sBAAsB,OAAA;AACtB,6HAAA,kBAAkB,OAAA;AAClB,6HAAA,kBAAkB,OAAA;AAIpB,SAAS;AACT,yCAAuC;AAA9B,iGAAA,MAAM,OAAA;AACf,2DAAmD;AAA1C,qGAAA,KAAK,OAAA;AAEd,uBAAuB;AACvB,8EAGgD;AAF9C,4HAAA,qBAAqB,OAAA;AACrB,wHAAA,iBAAiB,OAAA;AAEnB,sEAAmE;AAA1D,gHAAA,aAAa,OAAA;AACtB,8EAGgD;AAF9C,qHAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mBAAmB;AACnB,qEAAuF;AAA9E,yHAAA,mBAAmB,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAC9C,sBAAsB;AACtB,4EAI+C;AAH7C,wHAAA,kBAAkB,OAAA;AAClB,2HAAA,qBAAqB,OAAA;AACrB,yHAAA,mBAAmB,OAAA;AAGrB,SAAS;AACT,uCAAqD;AAA5C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE9B,gBAAgB;AAChB,sFAKoD;AAJlD,iIAAA,sBAAsB,OAAA;AACtB,6HAAA,kBAAkB,OAAA;AAClB,6HAAA,kBAAkB,OAAA;AAIpB,SAAS;AACT,yCAAuC;AAA9B,iGAAA,MAAM,OAAA;AACf,2DAAmD;AAA1C,qGAAA,KAAK,OAAA;AAEd,uBAAuB;AACvB,8EAGgD;AAF9C,4HAAA,qBAAqB,OAAA;AACrB,wHAAA,iBAAiB,OAAA;AAEnB,sEAAmE;AAA1D,gHAAA,aAAa,OAAA;AACtB,8EAGgD;AAF9C,qHAAA,kBAAkB,OAAkB;AAGtC,4EAAwE;AAA/D,qHAAA,eAAe,OAAA;AACxB,4EAK+C;AAJ7C,iIAAA,2BAA2B,OAAA;AAC3B,yHAAA,mBAAmB,OAAA;AACnB,2HAAA,qBAAqB,OAAA;AACrB,0HAAA,oBAAoB,OAAA;AAGtB,uBAAuB;AACvB,oDAAyF;AAAhF,gIAAA,kCAAkC,OAAA;AAAE,0GAAA,YAAY,OAAA;AAEzD,qDAAqD;AACrD,iDAOyB;AANvB,6GAAA,YAAY,OAAA;AACZ,0HAAA,yBAAyB,OAAA;AACzB,gHAAA,eAAe,OAAA;AAQjB,iCAAiC;AACjC,qDAgB6B;AAf3B,kHAAA,iBAAiB,OAAA;AACjB,wHAAA,uBAAuB,OAAA;AACvB,qHAAA,oBAAoB,OAAA;AACpB,+HAAA,8BAA8B,OAAA;AAE9B,kHAAA,iBAAiB,OAAA;AACjB,+GAAA,cAAc,OAAA;AACd,+GAAA,cAAc,OAAA;AACd,gHAAA,eAAe,OAAA;AACf,mHAAA,kBAAkB,OAAA;AAClB,sHAAA,qBAAqB,OAAA;AACrB,kHAAA,iBAAiB,OAAA;AACjB,wHAAA,uBAAuB,OAAA;AACvB,sHAAA,qBAAqB,OAAA;AACrB,oHAAA,mBAAmB,OAAA"}
|
package/dist/lib/auth/login.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { type ZeGitInfo } from '../build-context/ze-util-get-git-info';
|
|
1
2
|
/**
|
|
2
3
|
* Check if the user is already authenticated. If not, ask if they want to open a browser
|
|
3
4
|
* to authenticate. Display a message to the console.
|
|
4
5
|
*
|
|
5
6
|
* @returns The token as a string.
|
|
6
7
|
*/
|
|
7
|
-
export declare function checkAuth(): Promise<void>;
|
|
8
|
+
export declare function checkAuth(git_config: ZeGitInfo): Promise<void>;
|
|
8
9
|
/**
|
|
9
10
|
* Decides whether the token is still valid based on its expiration time.
|
|
10
11
|
*
|
package/dist/lib/auth/login.js
CHANGED
|
@@ -15,23 +15,28 @@ const secret_token_1 = require("../node-persist/secret-token");
|
|
|
15
15
|
const session_lock_1 = require("../node-persist/session-lock");
|
|
16
16
|
const storage_keys_1 = require("../node-persist/storage-keys");
|
|
17
17
|
const token_1 = require("../node-persist/token");
|
|
18
|
+
const sse_1 = require("./sse");
|
|
18
19
|
const auth_flags_1 = require("./auth-flags");
|
|
19
|
-
const
|
|
20
|
+
const server_token_1 = require("../node-persist/server-token");
|
|
20
21
|
/**
|
|
21
22
|
* Check if the user is already authenticated. If not, ask if they want to open a browser
|
|
22
23
|
* to authenticate. Display a message to the console.
|
|
23
24
|
*
|
|
24
25
|
* @returns The token as a string.
|
|
25
26
|
*/
|
|
26
|
-
async function checkAuth() {
|
|
27
|
+
async function checkAuth(git_config) {
|
|
27
28
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
28
29
|
try {
|
|
29
30
|
const secret_token = (0, secret_token_1.getSecretToken)();
|
|
31
|
+
const server_token = (0, server_token_1.getServerToken)();
|
|
30
32
|
if (secret_token) {
|
|
31
33
|
(0, ze_log_event_1.logFn)('debug', 'Token found in environment. Using secret token for authentication.');
|
|
32
34
|
return;
|
|
33
35
|
}
|
|
34
|
-
|
|
36
|
+
if (server_token) {
|
|
37
|
+
(0, ze_log_event_1.logFn)('debug', 'Server token found in environment. Using server token for authentication.');
|
|
38
|
+
}
|
|
39
|
+
const existingToken = await (0, token_1.getToken)(git_config);
|
|
35
40
|
if (existingToken) {
|
|
36
41
|
// Check if the token has a valid expiration date.
|
|
37
42
|
if (isTokenStillValid(existingToken, auth_flags_1.TOKEN_EXPIRY.SHORT_VALIDITY_CHECK_SEC)) {
|
|
@@ -69,7 +74,7 @@ async function checkAuth() {
|
|
|
69
74
|
// before next readToken() calls can happen
|
|
70
75
|
// https://github.com/simonlast/node-persist/issues/108#issuecomment-1442305246
|
|
71
76
|
await (0, session_lock_1.waitForUnlock)(browserController.signal);
|
|
72
|
-
const token = await (0, token_1.getToken)();
|
|
77
|
+
const token = await (0, token_1.getToken)(git_config);
|
|
73
78
|
// Unlock also happens on timeout, so we need to check if the token was
|
|
74
79
|
// actually saved or not
|
|
75
80
|
if (!token) {
|
|
@@ -142,8 +147,9 @@ async function openUrl(url) {
|
|
|
142
147
|
}
|
|
143
148
|
/** Generates the URL to authenticate the user. */
|
|
144
149
|
async function getAuthenticationURL(state) {
|
|
150
|
+
logging_1.ze_log.auth('getAuthenticationURL', `${(0, zephyr_edge_contract_1.ZE_API_ENDPOINT)()}${zephyr_edge_contract_1.ze_api_gateway.authorize_link}?state=${state}`);
|
|
145
151
|
const [ok, cause, data] = await (0, http_request_1.makeRequest)({
|
|
146
|
-
path: zephyr_edge_contract_1.ze_api_gateway.
|
|
152
|
+
path: zephyr_edge_contract_1.ze_api_gateway.authorize_link,
|
|
147
153
|
base: (0, zephyr_edge_contract_1.ZE_API_ENDPOINT)(),
|
|
148
154
|
query: { state },
|
|
149
155
|
});
|
|
@@ -155,54 +161,12 @@ async function getAuthenticationURL(state) {
|
|
|
155
161
|
}
|
|
156
162
|
return data;
|
|
157
163
|
}
|
|
158
|
-
/** Waits for the access token to be received from the websocket. */
|
|
159
164
|
async function waitForAccessToken(sessionKey) {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
clearTimeout(timeoutHandle);
|
|
167
|
-
timeoutHandle = null;
|
|
168
|
-
}
|
|
169
|
-
socket.removeAllListeners();
|
|
170
|
-
socket.disconnect();
|
|
171
|
-
socket.close();
|
|
172
|
-
};
|
|
173
|
-
try {
|
|
174
|
-
socket.once('access-token', (token) => {
|
|
175
|
-
cleanupSocket();
|
|
176
|
-
resolve(token);
|
|
177
|
-
});
|
|
178
|
-
// Creating errors outside of the listener closure makes the stack trace point
|
|
179
|
-
// to waitForAccessToken fn instead of socket.io internals event emitter code.
|
|
180
|
-
socket.once('access-token-error', (cause) => {
|
|
181
|
-
cleanupSocket();
|
|
182
|
-
reject(new errors_1.ZephyrError(errors_1.ZeErrors.ERR_AUTH_ERROR, {
|
|
183
|
-
cause,
|
|
184
|
-
message: 'Error getting access token',
|
|
185
|
-
}));
|
|
186
|
-
});
|
|
187
|
-
socket.once('connect_error', (cause) => {
|
|
188
|
-
cleanupSocket();
|
|
189
|
-
reject(new errors_1.ZephyrError(errors_1.ZeErrors.ERR_AUTH_ERROR, {
|
|
190
|
-
message: 'Could not connect to socket.',
|
|
191
|
-
cause,
|
|
192
|
-
}));
|
|
193
|
-
});
|
|
194
|
-
socket.emit('joinAccessTokenRoom', { state: sessionKey });
|
|
195
|
-
// The user has a specified amount of time to log in through the browser.
|
|
196
|
-
timeoutHandle = setTimeout(() => {
|
|
197
|
-
cleanupSocket();
|
|
198
|
-
reject(new errors_1.ZephyrError(errors_1.ZeErrors.ERR_AUTH_ERROR, {
|
|
199
|
-
message: `Authentication timed out. Couldn't receive access token in ${auth_flags_1.DEFAULT_AUTH_COMPLETION_TIMEOUT_MS / 1000} seconds. Please try again.`,
|
|
200
|
-
}));
|
|
201
|
-
}, auth_flags_1.DEFAULT_AUTH_COMPLETION_TIMEOUT_MS);
|
|
202
|
-
return await promise;
|
|
203
|
-
}
|
|
204
|
-
finally {
|
|
205
|
-
cleanupSocket();
|
|
206
|
-
}
|
|
165
|
+
const url = new URL(zephyr_edge_contract_1.ze_api_gateway.websocket, (0, zephyr_edge_contract_1.ZE_API_ENDPOINT)());
|
|
166
|
+
url.searchParams.set('sessionId', sessionKey);
|
|
167
|
+
const authListener = new sse_1.AuthListener(url);
|
|
168
|
+
const resp = await authListener.waitForToken();
|
|
169
|
+
(0, logging_1.ze_debug)('waitForAccessToken', `Received token for session ${resp.sessionId}`);
|
|
170
|
+
return resp.token;
|
|
207
171
|
}
|
|
208
172
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/lib/auth/login.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/lib/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthListener = void 0;
|
|
4
|
+
const eventsource_1 = require("eventsource");
|
|
5
|
+
const logging_1 = require("../logging");
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
class AuthListener {
|
|
8
|
+
constructor(workerUrl) {
|
|
9
|
+
workerUrl.pathname = '/sse';
|
|
10
|
+
this.workerUrl = workerUrl;
|
|
11
|
+
}
|
|
12
|
+
async waitForToken(timeoutMs = 5 * 60 * 1000) {
|
|
13
|
+
const sessionId = this.workerUrl.searchParams.get('sessionId');
|
|
14
|
+
if (!sessionId) {
|
|
15
|
+
throw new errors_1.ZephyrError(errors_1.ZeErrors.ERR_UNKNOWN, {
|
|
16
|
+
message: 'Session ID is required',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
const eventSource = new eventsource_1.EventSource(this.workerUrl);
|
|
21
|
+
const timeout = setTimeout(() => {
|
|
22
|
+
eventSource.close();
|
|
23
|
+
reject(new errors_1.ZephyrError(errors_1.ZeErrors.ERR_UNKNOWN, {
|
|
24
|
+
message: 'Auth timeout',
|
|
25
|
+
}));
|
|
26
|
+
}, timeoutMs);
|
|
27
|
+
eventSource.onmessage = (event) => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
try {
|
|
30
|
+
const data = JSON.parse(event.data);
|
|
31
|
+
if (data.type === 'token') {
|
|
32
|
+
clearTimeout(timeout);
|
|
33
|
+
eventSource.close();
|
|
34
|
+
const token = (_a = data.token) !== null && _a !== void 0 ? _a : (_b = data.tokens) === null || _b === void 0 ? void 0 : _b.access_token;
|
|
35
|
+
resolve({ sessionId, token });
|
|
36
|
+
}
|
|
37
|
+
else if (data.type === 'error') {
|
|
38
|
+
clearTimeout(timeout);
|
|
39
|
+
eventSource.close();
|
|
40
|
+
reject(new Error(data.message));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
(0, logging_1.ze_debug)('AuthListener', `Unknown message type: ${data.type}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
clearTimeout(timeout);
|
|
48
|
+
eventSource.close();
|
|
49
|
+
reject(err);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
eventSource.onerror = (error) => {
|
|
53
|
+
clearTimeout(timeout);
|
|
54
|
+
eventSource.close();
|
|
55
|
+
reject(error);
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.AuthListener = AuthListener;
|
|
61
|
+
//# sourceMappingURL=sse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/lib/auth/sse.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAC1C,wCAAsC;AACtC,sCAAkD;AAElD,MAAa,YAAY;IAEvB,YAAY,SAAc;QACxB,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,oBAAW,CAAC,iBAAQ,CAAC,WAAW,EAAE;gBAC1C,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM,CACJ,IAAI,oBAAW,CAAC,iBAAQ,CAAC,WAAW,EAAE;oBACpC,OAAO,EAAE,cAAc;iBACxB,CAAC,CACH,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,WAAW,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;;gBAC9C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC;wBACtD,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACjC,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACN,IAAA,kBAAQ,EAAC,cAAc,EAAE,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,WAAW,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;YAEF,WAAW,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBACrC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA1DD,oCA0DC"}
|
|
@@ -71,7 +71,7 @@ async function getPackageJson(context) {
|
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
73
73
|
(0, ze_log_event_1.logFn)('info', 'No zephyr:dependencies found in package.json, to give you more control over your dependencies, check out our documentation:');
|
|
74
|
-
(0, ze_log_event_1.logFn)('info', 'https://docs.zephyr-cloud.io/
|
|
74
|
+
(0, ze_log_event_1.logFn)('info', 'https://docs.zephyr-cloud.io/features/remote-dependencies');
|
|
75
75
|
}
|
|
76
76
|
logging_1.ze_log.package('Successfully parsed package.json', {
|
|
77
77
|
name: parsed_package_json.name,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ManifestAssetResult {
|
|
2
|
+
content: string;
|
|
3
|
+
hash: string;
|
|
4
|
+
size: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Generate a zephyr-manifest.json asset for an environment Merges version-level and
|
|
8
|
+
* environment-level variables
|
|
9
|
+
*
|
|
10
|
+
* @param versionVars - Variables from the version's manifest
|
|
11
|
+
* @param envVars - Environment-specific variables (take priority)
|
|
12
|
+
* @returns Manifest content, hash, and size
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateEnvironmentManifest(versionVars: Record<string, string>, envVars: Record<string, string>): Promise<ManifestAssetResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Extract variables from a manifest content string
|
|
17
|
+
*
|
|
18
|
+
* @param manifestContent - JSON content of a zephyr-manifest.json file
|
|
19
|
+
* @returns The zeVars object from the manifest
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractManifestVars(manifestContent: string): Record<string, string>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateEnvironmentManifest = generateEnvironmentManifest;
|
|
4
|
+
exports.extractManifestVars = extractManifestVars;
|
|
5
|
+
const env_variables_1 = require("../env-variables");
|
|
6
|
+
/**
|
|
7
|
+
* Generate a zephyr-manifest.json asset for an environment Merges version-level and
|
|
8
|
+
* environment-level variables
|
|
9
|
+
*
|
|
10
|
+
* @param versionVars - Variables from the version's manifest
|
|
11
|
+
* @param envVars - Environment-specific variables (take priority)
|
|
12
|
+
* @returns Manifest content, hash, and size
|
|
13
|
+
*/
|
|
14
|
+
async function generateEnvironmentManifest(versionVars, envVars) {
|
|
15
|
+
// Merge variables with environment taking priority
|
|
16
|
+
const mergedVars = Object.assign(Object.assign({}, versionVars), envVars);
|
|
17
|
+
// Generate manifest content
|
|
18
|
+
const content = (0, env_variables_1.generateManifestContent)(mergedVars);
|
|
19
|
+
if (!content) {
|
|
20
|
+
// Return empty manifest if no variables
|
|
21
|
+
const emptyContent = JSON.stringify({ zeVars: {} }, null, 2);
|
|
22
|
+
return {
|
|
23
|
+
content: emptyContent,
|
|
24
|
+
hash: (0, env_variables_1.calculateManifestHash)(emptyContent),
|
|
25
|
+
size: Buffer.byteLength(emptyContent, 'utf8'),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const hash = (0, env_variables_1.calculateManifestHash)(content);
|
|
29
|
+
const size = Buffer.byteLength(content, 'utf8');
|
|
30
|
+
return {
|
|
31
|
+
content,
|
|
32
|
+
hash,
|
|
33
|
+
size,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Extract variables from a manifest content string
|
|
38
|
+
*
|
|
39
|
+
* @param manifestContent - JSON content of a zephyr-manifest.json file
|
|
40
|
+
* @returns The zeVars object from the manifest
|
|
41
|
+
*/
|
|
42
|
+
function extractManifestVars(manifestContent) {
|
|
43
|
+
try {
|
|
44
|
+
const manifest = JSON.parse(manifestContent);
|
|
45
|
+
return manifest.zeVars || {};
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('Failed to parse manifest content:', error);
|
|
49
|
+
return {};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=generate-manifest-asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-asset.js","sourceRoot":"","sources":["../../../src/lib/edge-actions/generate-manifest-asset.ts"],"names":[],"mappings":";;AAgBA,kEA4BC;AAQD,kDAQC;AA5DD,oDAAkF;AAQlF;;;;;;;GAOG;AACI,KAAK,UAAU,2BAA2B,CAC/C,WAAmC,EACnC,OAA+B;IAE/B,mDAAmD;IACnD,MAAM,UAAU,mCAAQ,WAAW,GAAK,OAAO,CAAE,CAAC;IAElD,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAA,uCAAuB,EAAC,UAAU,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,IAAA,qCAAqB,EAAC,YAAY,CAAC;YACzC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,qCAAqB,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO;QACL,OAAO;QACP,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,eAAuB;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -3,3 +3,5 @@ export { zeUploadAssets } from './ze-upload-assets';
|
|
|
3
3
|
export { zeUploadBuildStats } from './ze-upload-build-stats';
|
|
4
4
|
export { zeUploadSnapshot } from './ze-upload-snapshot';
|
|
5
5
|
export { zeEnableSnapshotOnPages } from './ze-enable-snapshot-on-pages';
|
|
6
|
+
export { generateEnvironmentManifest, extractManifestVars, } from './generate-manifest-asset';
|
|
7
|
+
export type { ManifestAssetResult } from './generate-manifest-asset';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zeEnableSnapshotOnPages = exports.zeUploadSnapshot = exports.zeUploadBuildStats = exports.zeUploadAssets = exports.zeEnableSnapshotOnEdge = void 0;
|
|
3
|
+
exports.extractManifestVars = exports.generateEnvironmentManifest = exports.zeEnableSnapshotOnPages = exports.zeUploadSnapshot = exports.zeUploadBuildStats = exports.zeUploadAssets = exports.zeEnableSnapshotOnEdge = void 0;
|
|
4
4
|
var ze_enable_snapshot_on_edge_1 = require("./ze-enable-snapshot-on-edge");
|
|
5
5
|
Object.defineProperty(exports, "zeEnableSnapshotOnEdge", { enumerable: true, get: function () { return ze_enable_snapshot_on_edge_1.zeEnableSnapshotOnEdge; } });
|
|
6
6
|
var ze_upload_assets_1 = require("./ze-upload-assets");
|
|
@@ -11,4 +11,7 @@ var ze_upload_snapshot_1 = require("./ze-upload-snapshot");
|
|
|
11
11
|
Object.defineProperty(exports, "zeUploadSnapshot", { enumerable: true, get: function () { return ze_upload_snapshot_1.zeUploadSnapshot; } });
|
|
12
12
|
var ze_enable_snapshot_on_pages_1 = require("./ze-enable-snapshot-on-pages");
|
|
13
13
|
Object.defineProperty(exports, "zeEnableSnapshotOnPages", { enumerable: true, get: function () { return ze_enable_snapshot_on_pages_1.zeEnableSnapshotOnPages; } });
|
|
14
|
+
var generate_manifest_asset_1 = require("./generate-manifest-asset");
|
|
15
|
+
Object.defineProperty(exports, "generateEnvironmentManifest", { enumerable: true, get: function () { return generate_manifest_asset_1.generateEnvironmentManifest; } });
|
|
16
|
+
Object.defineProperty(exports, "extractManifestVars", { enumerable: true, get: function () { return generate_manifest_asset_1.extractManifestVars; } });
|
|
14
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/edge-actions/index.ts"],"names":[],"mappings":";;;AAAA,2EAAsE;AAA7D,oIAAA,sBAAsB,OAAA;AAC/B,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AACvB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/edge-actions/index.ts"],"names":[],"mappings":";;;AAAA,2EAAsE;AAA7D,oIAAA,sBAAsB,OAAA;AAC/B,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AACvB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA;AAChC,qEAGmC;AAFjC,sIAAA,2BAA2B,OAAA;AAC3B,8HAAA,mBAAmB,OAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.zeUploadSnapshot = zeUploadSnapshot;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
4
5
|
const errors_1 = require("../errors");
|
|
5
6
|
const upload_snapshot_1 = require("../http/upload-snapshot");
|
|
6
7
|
const picocolor_1 = require("../logging/picocolor");
|
|
@@ -10,6 +11,31 @@ async function zeUploadSnapshot(zephyr_engine, { snapshot }) {
|
|
|
10
11
|
const application_uid = zephyr_engine.application_uid;
|
|
11
12
|
const logger = await zephyr_engine.logger;
|
|
12
13
|
const buildEnv = zephyr_engine.env.isCI ? 'ci' : 'local';
|
|
14
|
+
// Collect env vars for hash generation (needed by API)
|
|
15
|
+
// but don't store them in snapshot (they're in the manifest asset)
|
|
16
|
+
const envs = process.env;
|
|
17
|
+
const ze_envs = {};
|
|
18
|
+
for (const [key, value] of Object.entries(envs)) {
|
|
19
|
+
if (key.startsWith('ZE_PUBLIC_') && typeof value === 'string')
|
|
20
|
+
ze_envs[key] = value;
|
|
21
|
+
}
|
|
22
|
+
// Generate hash for environment variables with application scope
|
|
23
|
+
const zeVarsEntries = Object.entries(ze_envs);
|
|
24
|
+
if (zeVarsEntries.length > 0) {
|
|
25
|
+
const sortedVariables = zeVarsEntries
|
|
26
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
27
|
+
.sort()
|
|
28
|
+
.join('\n');
|
|
29
|
+
const canonicalString = `${application_uid}\n${sortedVariables}`;
|
|
30
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
31
|
+
hash.update(canonicalString, 'utf-8');
|
|
32
|
+
snapshot.ze_envs_hash = hash.digest('hex');
|
|
33
|
+
// Store env vars and hash temporarily on engine for API to use
|
|
34
|
+
// (not in snapshot, just for transmission to API)
|
|
35
|
+
zephyr_engine.ze_env_vars = ze_envs;
|
|
36
|
+
zephyr_engine.ze_env_vars_hash = snapshot.ze_envs_hash;
|
|
37
|
+
}
|
|
38
|
+
// Note: snapshot.ze_envs is no longer set - env vars are in manifest asset
|
|
13
39
|
const edgeTodo = await (0, upload_snapshot_1.uploadSnapshot)({
|
|
14
40
|
body: snapshot,
|
|
15
41
|
application_uid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ze-upload-snapshot.js","sourceRoot":"","sources":["../../../src/lib/edge-actions/ze-upload-snapshot.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ze-upload-snapshot.js","sourceRoot":"","sources":["../../../src/lib/edge-actions/ze-upload-snapshot.ts"],"names":[],"mappings":";;AAWA,4CA+DC;AA1ED,mCAAoC;AAGpC,sCAAkD;AAClD,6DAAyD;AACzD,oDAAqD;AAM9C,KAAK,UAAU,gBAAgB,CACpC,aAA2B,EAC3B,EAAE,QAAQ,EAAyB;;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;IAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzD,uDAAuD;IACvD,mEAAmE;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtF,CAAC;IAED,iEAAiE;IACjE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,aAAa;aAClC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,EAAE;aACN,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,eAAe,GAAG,GAAG,eAAe,KAAK,eAAe,EAAE,CAAC;QAEjE,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3C,+DAA+D;QAC/D,kDAAkD;QAClD,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC;QACpC,aAAa,CAAC,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IAED,2EAA2E;IAE3E,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAc,EAAC;QACpC,IAAI,EAAE,QAAQ;QACd,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,OAAO,CAAC;IAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC;YACL,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE,uBAAuB,QAAQ,qBAAqB;SAC9D,CAAC,CAAC;QAEH,MAAM,IAAI,oBAAW,CAAC,iBAAQ,CAAC,+BAA+B,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC;QACL,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,YAAY,IAAA,iBAAK,EAAC,QAAQ,CAAC,gBAAgB,IAAA,kBAAM,EAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KAC1F,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const VIRTUAL_SPECIFIER = "env:vars";
|
|
2
|
+
export declare function detectEnvReads(source: string): Set<string>;
|
|
3
|
+
export declare function rewriteEnvReadsToVirtualModule(source: string, specifier?: string): {
|
|
4
|
+
code: string;
|
|
5
|
+
used: Set<string>;
|
|
6
|
+
};
|
|
7
|
+
export declare function buildImportMap(specifier: string, url: string): string;
|
|
8
|
+
export declare function injectImportMap(html: string, importMapJson: string, opts?: {
|
|
9
|
+
injectTo?: 'head-prepend' | 'head' | 'body';
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function buildModulePreload(url: string): string;
|
|
12
|
+
export declare function injectBeforeHeadClose(html: string, snippet: string): string;
|
|
13
|
+
export declare function buildEnvJsonAsset(env: Record<string, string | undefined>): {
|
|
14
|
+
fileName: string;
|
|
15
|
+
source: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function generateManifestContent(envVars: Record<string, string>, dependencies?: Record<string, unknown>): string;
|
|
18
|
+
export declare function calculateManifestHash(content: string): string;
|
|
19
|
+
export declare function collectZEPublicVars(env: NodeJS.ProcessEnv | Record<string, string | undefined>): Record<string, string>;
|