@gitpod/gitpod-protocol 0.1.5-to-code-reading.1 → 0.1.5-to-monitor-delete.18
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/data/gitpod-schema.json +124 -5
- package/lib/accounting-protocol.d.ts +18 -10
- package/lib/accounting-protocol.d.ts.map +1 -1
- package/lib/accounting-protocol.js +34 -32
- package/lib/accounting-protocol.js.map +1 -1
- package/lib/admin-protocol.d.ts +19 -0
- package/lib/admin-protocol.d.ts.map +1 -1
- package/lib/admin-protocol.js.map +1 -1
- package/lib/analytics.d.ts +4 -5
- package/lib/analytics.d.ts.map +1 -1
- package/lib/analytics.js.map +1 -1
- package/lib/attribution.d.ts +24 -0
- package/lib/attribution.d.ts.map +1 -0
- package/lib/attribution.js +54 -0
- package/lib/attribution.js.map +1 -0
- package/lib/auth.d.ts.map +1 -1
- package/lib/billing-mode.d.ts +45 -0
- package/lib/billing-mode.d.ts.map +1 -0
- package/lib/billing-mode.js +44 -0
- package/lib/billing-mode.js.map +1 -0
- package/lib/blocked-repositories-protocol.d.ts +13 -0
- package/lib/blocked-repositories-protocol.d.ts.map +1 -0
- package/lib/blocked-repositories-protocol.js +8 -0
- package/lib/blocked-repositories-protocol.js.map +1 -0
- package/lib/context-url.d.ts +18 -5
- package/lib/context-url.d.ts.map +1 -1
- package/lib/context-url.js +59 -6
- package/lib/context-url.js.map +1 -1
- package/lib/context-url.spec.d.ts +2 -0
- package/lib/context-url.spec.d.ts.map +1 -1
- package/lib/context-url.spec.js +40 -4
- package/lib/context-url.spec.js.map +1 -1
- package/lib/encryption/container-module.d.ts.map +1 -1
- package/lib/encryption/container-module.js +1 -1
- package/lib/encryption/container-module.js.map +1 -1
- package/lib/encryption/encryption-engine.d.ts.map +1 -1
- package/lib/encryption/encryption-engine.js +9 -9
- package/lib/encryption/encryption-engine.js.map +1 -1
- package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
- package/lib/encryption/encryption-engine.spec.js +2 -3
- package/lib/encryption/encryption-engine.spec.js.map +1 -1
- package/lib/encryption/encryption-service.d.ts.map +1 -1
- package/lib/encryption/encryption-service.js +1 -1
- package/lib/encryption/encryption-service.js.map +1 -1
- package/lib/encryption/key-provider.d.ts.map +1 -1
- package/lib/encryption/key-provider.js +7 -9
- package/lib/encryption/key-provider.js.map +1 -1
- package/lib/env.d.ts +0 -5
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +1 -20
- package/lib/env.js.map +1 -1
- package/lib/experiments/always-default.d.ts +8 -0
- package/lib/experiments/always-default.d.ts.map +1 -0
- package/lib/experiments/always-default.js +20 -0
- package/lib/experiments/always-default.js.map +1 -0
- package/lib/experiments/configcat-server.d.ts +10 -0
- package/lib/experiments/configcat-server.d.ts.map +1 -0
- package/lib/experiments/configcat-server.js +36 -0
- package/lib/experiments/configcat-server.js.map +1 -0
- package/lib/experiments/configcat.d.ts +21 -0
- package/lib/experiments/configcat.d.ts.map +1 -0
- package/lib/experiments/configcat.js +51 -0
- package/lib/experiments/configcat.js.map +1 -0
- package/lib/experiments/types.d.ts +22 -0
- package/lib/experiments/types.d.ts.map +1 -0
- package/lib/experiments/types.js +10 -0
- package/lib/experiments/types.js.map +1 -0
- package/lib/gitpod-file-parser.d.ts.map +1 -1
- package/lib/gitpod-file-parser.js +6 -6
- package/lib/gitpod-file-parser.js.map +1 -1
- package/lib/gitpod-file-parser.spec.js +42 -39
- package/lib/gitpod-file-parser.spec.js.map +1 -1
- package/lib/gitpod-service.d.ts +83 -45
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +52 -33
- package/lib/gitpod-service.js.map +1 -1
- package/lib/headless-workspace-log.d.ts +1 -0
- package/lib/headless-workspace-log.d.ts.map +1 -1
- package/lib/headless-workspace-log.js +2 -1
- package/lib/headless-workspace-log.js.map +1 -1
- package/lib/ide-frontend-service.d.ts +1 -1
- package/lib/ide-protocol.d.ts +38 -6
- package/lib/ide-protocol.d.ts.map +1 -1
- package/lib/index.d.ts +16 -15
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/installation-admin-protocol.d.ts +30 -0
- package/lib/installation-admin-protocol.d.ts.map +1 -0
- package/lib/installation-admin-protocol.js +31 -0
- package/lib/installation-admin-protocol.js.map +1 -0
- package/lib/license-protocol.d.ts +7 -0
- package/lib/license-protocol.d.ts.map +1 -1
- package/lib/license-protocol.js.map +1 -1
- package/lib/messaging/browser/connection.d.ts +1 -1
- package/lib/messaging/browser/connection.d.ts.map +1 -1
- package/lib/messaging/browser/connection.js +19 -19
- package/lib/messaging/browser/connection.js.map +1 -1
- package/lib/messaging/browser/window-connection.d.ts +4 -4
- package/lib/messaging/browser/window-connection.d.ts.map +1 -1
- package/lib/messaging/browser/window-connection.js +9 -6
- package/lib/messaging/browser/window-connection.js.map +1 -1
- package/lib/messaging/client-call-metrics.d.ts +2 -18
- package/lib/messaging/client-call-metrics.d.ts.map +1 -1
- package/lib/messaging/client-call-metrics.js +21 -22
- package/lib/messaging/client-call-metrics.js.map +1 -1
- package/lib/messaging/error.d.ts +8 -1
- package/lib/messaging/error.d.ts.map +1 -1
- package/lib/messaging/error.js +17 -3
- package/lib/messaging/error.js.map +1 -1
- package/lib/messaging/handler.d.ts.map +1 -1
- package/lib/messaging/handler.js +1 -1
- package/lib/messaging/node/connection.js +8 -8
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/messaging/proxy-factory.d.ts +1 -1
- package/lib/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/messaging/proxy-factory.js +7 -9
- package/lib/messaging/proxy-factory.js.map +1 -1
- package/lib/payment-protocol.d.ts.map +1 -1
- package/lib/payment-protocol.js +1 -1
- package/lib/payment-protocol.js.map +1 -1
- package/lib/permission.d.ts +9 -3
- package/lib/permission.d.ts.map +1 -1
- package/lib/permission.js +34 -25
- package/lib/permission.js.map +1 -1
- package/lib/plans.d.ts +4 -3
- package/lib/plans.d.ts.map +1 -1
- package/lib/plans.js +210 -171
- package/lib/plans.js.map +1 -1
- package/lib/protocol.d.ts +192 -59
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +292 -104
- package/lib/protocol.js.map +1 -1
- package/{src/theia-plugins.ts → lib/protocol.spec.d.ts} +2 -6
- package/lib/protocol.spec.d.ts.map +1 -0
- package/lib/protocol.spec.js +127 -0
- package/lib/protocol.spec.js.map +1 -0
- package/lib/snapshot-url.spec.js.map +1 -1
- package/lib/team-subscription-protocol.d.ts +22 -3
- package/lib/team-subscription-protocol.d.ts.map +1 -1
- package/lib/team-subscription-protocol.js +20 -5
- package/lib/team-subscription-protocol.js.map +1 -1
- package/lib/teams-projects-protocol.d.ts +29 -5
- package/lib/teams-projects-protocol.d.ts.map +1 -1
- package/lib/teams-projects-protocol.js +8 -1
- package/lib/teams-projects-protocol.js.map +1 -1
- package/lib/typings/globals.d.ts +2 -2
- package/lib/typings/globals.d.ts.map +1 -1
- package/lib/usage.d.ts +61 -0
- package/lib/usage.d.ts.map +1 -0
- package/lib/usage.js +14 -0
- package/lib/usage.js.map +1 -0
- package/lib/util/analytics.d.ts.map +1 -1
- package/lib/util/analytics.js +12 -3
- package/lib/util/analytics.js.map +1 -1
- package/lib/util/async-iterator.d.ts.map +1 -1
- package/lib/util/async-iterator.js +3 -3
- package/lib/util/async-iterator.js.map +1 -1
- package/lib/util/cancelable.js.map +1 -1
- package/lib/util/date-time.js +6 -6
- package/lib/util/date-time.js.map +1 -1
- package/lib/util/debug-app.d.ts +25 -0
- package/lib/util/debug-app.d.ts.map +1 -0
- package/lib/util/debug-app.js +100 -0
- package/lib/util/debug-app.js.map +1 -0
- package/lib/util/deferred.js.map +1 -1
- package/lib/util/disposable.d.ts.map +1 -1
- package/lib/util/disposable.js +2 -2
- package/lib/util/disposable.js.map +1 -1
- package/lib/util/event.d.ts.map +1 -1
- package/lib/util/event.js +5 -3
- package/lib/util/event.js.map +1 -1
- package/lib/util/garbage-collected-cache.d.ts.map +1 -1
- package/lib/util/garbage-collected-cache.js +6 -1
- package/lib/util/garbage-collected-cache.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +5 -0
- package/lib/util/generate-workspace-id.d.ts.map +1 -1
- package/lib/util/generate-workspace-id.js +446 -442
- package/lib/util/generate-workspace-id.js.map +1 -1
- package/lib/util/generate-workspace-id.spec.js +18 -7
- package/lib/util/generate-workspace-id.spec.js.map +1 -1
- package/lib/util/gitpod-cookie.d.ts +1 -1
- package/lib/util/gitpod-cookie.d.ts.map +1 -1
- package/lib/util/gitpod-cookie.js +0 -3
- package/lib/util/gitpod-cookie.js.map +1 -1
- package/lib/util/gitpod-host-url.d.ts +3 -0
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +49 -29
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.spec.js +15 -5
- package/lib/util/gitpod-host-url.spec.js.map +1 -1
- package/lib/util/grpc.d.ts +19 -0
- package/lib/util/grpc.d.ts.map +1 -1
- package/lib/util/grpc.js +73 -1
- package/lib/util/grpc.js.map +1 -1
- package/lib/util/jaeger-client-types.d.ts.map +1 -1
- package/lib/util/logging.d.ts +1 -1
- package/lib/util/logging.d.ts.map +1 -1
- package/lib/util/logging.js +31 -25
- package/lib/util/logging.js.map +1 -1
- package/lib/util/logging.spec.d.ts +7 -0
- package/lib/util/logging.spec.d.ts.map +1 -0
- package/lib/util/logging.spec.js +52 -0
- package/lib/util/logging.spec.js.map +1 -0
- package/lib/util/make-link.js +5 -5
- package/lib/util/make-link.js.map +1 -1
- package/lib/util/nice-grpc.d.ts +9 -0
- package/lib/util/nice-grpc.d.ts.map +1 -0
- package/lib/util/nice-grpc.js +119 -0
- package/lib/util/nice-grpc.js.map +1 -0
- package/lib/util/parse-workspace-id.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.js +1 -2
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.spec.js.map +1 -1
- package/lib/util/queue.spec.js +9 -6
- package/lib/util/queue.spec.js.map +1 -1
- package/lib/util/semaphore.d.ts.map +1 -1
- package/lib/util/semaphore.js.map +1 -1
- package/lib/util/skip-if.d.ts.map +1 -1
- package/lib/util/skip-if.js.map +1 -1
- package/lib/util/timeutil.d.ts +2 -0
- package/lib/util/timeutil.d.ts.map +1 -1
- package/lib/util/timeutil.js +15 -3
- package/lib/util/timeutil.js.map +1 -1
- package/lib/util/timeutil.spec.d.ts +2 -0
- package/lib/util/timeutil.spec.d.ts.map +1 -1
- package/lib/util/timeutil.spec.js +34 -0
- package/lib/util/timeutil.spec.js.map +1 -1
- package/lib/util/tracing.d.ts +8 -8
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +19 -20
- package/lib/util/tracing.js.map +1 -1
- package/lib/util/tracing.spec.js +3 -3
- package/lib/util/tracing.spec.js.map +1 -1
- package/lib/util/workspace-port-authentication.d.ts +7 -7
- package/lib/util/workspace-port-authentication.d.ts.map +1 -1
- package/lib/util/workspace-port-authentication.js +8 -11
- package/lib/util/workspace-port-authentication.js.map +1 -1
- package/lib/webhook-event.d.ts +44 -0
- package/lib/webhook-event.d.ts.map +1 -0
- package/lib/{theia-plugins.js → webhook-event.js} +2 -2
- package/lib/webhook-event.js.map +1 -0
- package/lib/workspace-class.d.ts +14 -0
- package/lib/workspace-class.d.ts.map +1 -0
- package/lib/workspace-class.js +8 -0
- package/lib/workspace-class.js.map +1 -0
- package/lib/workspace-cluster.d.ts +18 -17
- package/lib/workspace-cluster.d.ts.map +1 -1
- package/lib/workspace-cluster.js +16 -1
- package/lib/workspace-cluster.js.map +1 -1
- package/lib/workspace-instance.d.ts +39 -3
- package/lib/workspace-instance.d.ts.map +1 -1
- package/lib/wsready.d.ts +1 -1
- package/lib/wsready.d.ts.map +1 -1
- package/lib/wsready.js +2 -2
- package/package.json +15 -7
- package/pkg-yarn.lock +11 -6
- package/provenance-bundle.jsonl +3 -1
- package/src/accounting-protocol.ts +66 -51
- package/src/admin-protocol.ts +45 -18
- package/src/analytics.ts +26 -28
- package/src/attribution.ts +63 -0
- package/src/auth.ts +2 -2
- package/src/billing-mode.ts +84 -0
- package/src/blocked-repositories-protocol.ts +13 -0
- package/src/context-url.spec.ts +37 -9
- package/src/context-url.ts +94 -36
- package/src/encryption/container-module.ts +2 -3
- package/src/encryption/encryption-engine.spec.ts +9 -8
- package/src/encryption/encryption-engine.ts +20 -16
- package/src/encryption/encryption-service.ts +4 -5
- package/src/encryption/key-provider.ts +16 -19
- package/src/env.ts +0 -22
- package/src/experiments/always-default.ts +24 -0
- package/src/experiments/configcat-server.ts +41 -0
- package/src/experiments/configcat.ts +56 -0
- package/src/experiments/types.ts +34 -0
- package/src/gitpod-file-parser.spec.ts +55 -61
- package/src/gitpod-file-parser.ts +16 -17
- package/src/gitpod-service.ts +228 -129
- package/src/headless-workspace-log.ts +6 -4
- package/src/ide-frontend-service.ts +2 -2
- package/src/ide-protocol.ts +43 -6
- package/src/index.ts +16 -15
- package/src/installation-admin-protocol.ts +45 -0
- package/src/license-protocol.ts +12 -6
- package/src/messaging/browser/connection.ts +45 -47
- package/src/messaging/browser/window-connection.ts +39 -29
- package/src/messaging/client-call-metrics.ts +62 -82
- package/src/messaging/error.ts +26 -7
- package/src/messaging/handler.ts +6 -6
- package/src/messaging/node/connection.ts +8 -8
- package/src/messaging/proxy-factory.ts +23 -30
- package/src/oss-allowlist.ts +3 -3
- package/src/payment-protocol.ts +2 -2
- package/src/permission.ts +40 -32
- package/src/plans.ts +240 -189
- package/src/protocol.spec.ts +97 -0
- package/src/protocol.ts +556 -258
- package/src/snapshot-url.spec.ts +9 -7
- package/src/team-subscription-protocol.ts +59 -22
- package/src/teams-projects-protocol.ts +43 -12
- package/src/typings/globals.ts +4 -4
- package/src/usage.ts +71 -0
- package/src/util/analytics.ts +46 -24
- package/src/util/async-iterator.ts +4 -5
- package/src/util/cancelable.ts +3 -3
- package/src/util/date-time.ts +8 -8
- package/src/util/debug-app.ts +81 -0
- package/src/util/deferred.ts +6 -6
- package/src/util/disposable.ts +3 -6
- package/src/util/event.ts +9 -11
- package/src/util/garbage-collected-cache.ts +8 -6
- package/src/util/generate-workspace-id.spec.ts +26 -16
- package/src/util/generate-workspace-id.ts +460 -454
- package/src/util/gitpod-cookie.ts +8 -9
- package/src/util/gitpod-host-url.spec.ts +40 -13
- package/src/util/gitpod-host-url.ts +57 -33
- package/src/util/grpc.ts +90 -1
- package/src/util/jaeger-client-types.ts +2 -2
- package/src/util/logging.spec.ts +23 -0
- package/src/util/logging.ts +60 -42
- package/src/util/make-link.ts +6 -7
- package/src/util/nice-grpc.ts +93 -0
- package/src/util/parse-workspace-id.spec.ts +17 -8
- package/src/util/parse-workspace-id.ts +5 -6
- package/src/util/queue.spec.ts +27 -25
- package/src/util/repeat.ts +1 -1
- package/src/util/semaphore.ts +4 -6
- package/src/util/skip-if.ts +9 -6
- package/src/util/timeutil.spec.ts +40 -14
- package/src/util/timeutil.ts +27 -11
- package/src/util/tracing.spec.ts +28 -23
- package/src/util/tracing.ts +58 -54
- package/src/util/workspace-port-authentication.ts +10 -13
- package/src/webhook-event.ts +55 -0
- package/src/workspace-class.ts +14 -0
- package/src/workspace-cluster.ts +34 -20
- package/src/workspace-instance.ts +76 -20
- package/src/wsready.ts +3 -3
- package/data/builtin-theia-plugins.json +0 -372
- package/lib/email-protocol.d.ts +0 -49
- package/lib/email-protocol.d.ts.map +0 -1
- package/lib/email-protocol.js +0 -28
- package/lib/email-protocol.js.map +0 -1
- package/lib/messaging/connection-error-handler.d.ts +0 -27
- package/lib/messaging/connection-error-handler.d.ts.map +0 -1
- package/lib/messaging/connection-error-handler.js +0 -34
- package/lib/messaging/connection-error-handler.js.map +0 -1
- package/lib/theia-plugins.d.ts +0 -11
- package/lib/theia-plugins.d.ts.map +0 -1
- package/lib/theia-plugins.js.map +0 -1
- package/lib/util/safe-promise.d.ts +0 -11
- package/lib/util/safe-promise.d.ts.map +0 -1
- package/lib/util/safe-promise.js +0 -31
- package/lib/util/safe-promise.js.map +0 -1
- package/src/email-protocol.ts +0 -66
- package/src/messaging/connection-error-handler.ts +0 -62
- package/src/util/safe-promise.ts +0 -26
package/lib/env.d.ts
CHANGED
|
@@ -3,13 +3,8 @@
|
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
4
|
* See License-AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
|
-
export declare function translateLegacyStagename(kubeStage: string): KubeStage;
|
|
7
6
|
export declare abstract class AbstractComponentEnv {
|
|
8
|
-
readonly kubeStage: KubeStage;
|
|
9
|
-
readonly installationLongname: string;
|
|
10
|
-
readonly installationShortname: string;
|
|
11
7
|
}
|
|
12
|
-
export declare type KubeStage = 'production' | 'prodcopy' | 'staging' | 'dev';
|
|
13
8
|
export declare function getEnvVar(name: string, defaultValue?: string): string;
|
|
14
9
|
export declare function filePathTelepresenceAware(filePath: string): string;
|
|
15
10
|
export declare function getEnvVarParsed<T>(name: string, parser: (value: string) => T, defaultValue?: string): T;
|
package/lib/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,8BACsB,oBAAoB;CACzC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAEvG"}
|
package/lib/env.js
CHANGED
|
@@ -11,28 +11,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.getEnvVarParsed = exports.filePathTelepresenceAware = exports.getEnvVar = exports.AbstractComponentEnv =
|
|
14
|
+
exports.getEnvVarParsed = exports.filePathTelepresenceAware = exports.getEnvVar = exports.AbstractComponentEnv = void 0;
|
|
15
15
|
const inversify_1 = require("inversify");
|
|
16
|
-
const legacyStagenameTranslation = {
|
|
17
|
-
"production": "production",
|
|
18
|
-
"staging": "prodcopy",
|
|
19
|
-
"devstaging": "dev",
|
|
20
|
-
"dev": "dev"
|
|
21
|
-
};
|
|
22
|
-
function translateLegacyStagename(kubeStage) {
|
|
23
|
-
const stage = legacyStagenameTranslation[kubeStage];
|
|
24
|
-
if (!stage) {
|
|
25
|
-
throw new Error(`Invalid KUBE_STAGE: ${kubeStage}`);
|
|
26
|
-
}
|
|
27
|
-
return stage;
|
|
28
|
-
}
|
|
29
|
-
exports.translateLegacyStagename = translateLegacyStagename;
|
|
30
16
|
let AbstractComponentEnv = class AbstractComponentEnv {
|
|
31
|
-
constructor() {
|
|
32
|
-
this.kubeStage = getEnvVarParsed('KUBE_STAGE', translateLegacyStagename);
|
|
33
|
-
this.installationLongname = getEnvVar("GITPOD_INSTALLATION_LONGNAME");
|
|
34
|
-
this.installationShortname = getEnvVar("GITPOD_INSTALLATION_SHORTNAME");
|
|
35
|
-
}
|
|
36
17
|
};
|
|
37
18
|
AbstractComponentEnv = __decorate([
|
|
38
19
|
(0, inversify_1.injectable)()
|
package/lib/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,yCAAuC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,yCAAuC;AAGvC,IAAsB,oBAAoB,GAA1C,MAAsB,oBAAoB;CACzC,CAAA;AADqB,oBAAoB;IADzC,IAAA,sBAAU,GAAE;GACS,oBAAoB,CACzC;AADqB,oDAAoB;AAG1C,SAAgB,SAAS,CAAC,IAAY,EAAE,YAAqB;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAND,8BAMC;AAED,SAAgB,yBAAyB,CAAC,QAAgB;IACtD,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC3C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACvD;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AALD,8DAKC;AAED,SAAgB,eAAe,CAAI,IAAY,EAAE,MAA4B,EAAE,YAAqB;IAChG,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,0CAEC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
+
* See License-AGPL.txt in the project root for license information.
|
|
5
|
+
*/
|
|
6
|
+
import { Client } from "./types";
|
|
7
|
+
export declare function newAlwaysReturningDefaultValueClient(): Client;
|
|
8
|
+
//# sourceMappingURL=always-default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"always-default.d.ts","sourceRoot":"","sources":["../../src/experiments/always-default.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAc,MAAM,EAAE,MAAM,SAAS,CAAC;AAgB7C,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newAlwaysReturningDefaultValueClient = void 0;
|
|
4
|
+
// AlwaysReturningDefaultValueClient is an implemention of an experiments.Client which performs no lookup/network operation
|
|
5
|
+
// and always returns the default value for a given experimentName.
|
|
6
|
+
// This client is used for non-SaaS version of Gitpod, in particular for self-hosted installations where external
|
|
7
|
+
// network connections are not desirable or even possible.
|
|
8
|
+
class AlwaysReturningDefaultValueClient {
|
|
9
|
+
getValueAsync(experimentName, defaultValue, attributes) {
|
|
10
|
+
return Promise.resolve(defaultValue);
|
|
11
|
+
}
|
|
12
|
+
dispose() {
|
|
13
|
+
// there is nothing to dispose, no-op.
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function newAlwaysReturningDefaultValueClient() {
|
|
17
|
+
return new AlwaysReturningDefaultValueClient();
|
|
18
|
+
}
|
|
19
|
+
exports.newAlwaysReturningDefaultValueClient = newAlwaysReturningDefaultValueClient;
|
|
20
|
+
//# sourceMappingURL=always-default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"always-default.js","sourceRoot":"","sources":["../../src/experiments/always-default.ts"],"names":[],"mappings":";;;AAOA,2HAA2H;AAC3H,mEAAmE;AACnE,iHAAiH;AACjH,0DAA0D;AAC1D,MAAM,iCAAiC;IACnC,aAAa,CAAI,cAAsB,EAAE,YAAe,EAAE,UAAsB;QAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,sCAAsC;IAC1C,CAAC;CACJ;AAED,SAAgB,oCAAoC;IAChD,OAAO,IAAI,iCAAiC,EAAE,CAAC;AACnD,CAAC;AAFD,oFAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
+
* See License-AGPL.txt in the project root for license information.
|
|
5
|
+
*/
|
|
6
|
+
import { Client } from "./types";
|
|
7
|
+
export declare type ConfigCatClientFactory = () => Client;
|
|
8
|
+
export declare const ConfigCatClientFactory: unique symbol;
|
|
9
|
+
export declare function getExperimentsClientForBackend(): Client;
|
|
10
|
+
//# sourceMappingURL=configcat-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configcat-server.d.ts","sourceRoot":"","sources":["../../src/experiments/configcat-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQjC,oBAAY,sBAAsB,GAAG,MAAM,MAAM,CAAC;AAClD,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,wBAAgB,8BAA8B,IAAI,MAAM,CAuBvD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
4
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
+
* See License-AGPL.txt in the project root for license information.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getExperimentsClientForBackend = exports.ConfigCatClientFactory = void 0;
|
|
9
|
+
const configcat = require("configcat-node");
|
|
10
|
+
const configcat_common_1 = require("configcat-common");
|
|
11
|
+
const configcat_1 = require("./configcat");
|
|
12
|
+
const always_default_1 = require("./always-default");
|
|
13
|
+
let client;
|
|
14
|
+
exports.ConfigCatClientFactory = Symbol("ConfigCatClientFactory");
|
|
15
|
+
function getExperimentsClientForBackend() {
|
|
16
|
+
// We have already instantiated a client, we can just re-use it.
|
|
17
|
+
if (client !== undefined) {
|
|
18
|
+
return client;
|
|
19
|
+
}
|
|
20
|
+
// Retrieve SDK key from ENV Variable
|
|
21
|
+
const sdkKey = process.env.CONFIGCAT_SDK_KEY;
|
|
22
|
+
// Self-hosted installations do not set the ConfigCat SDK key, so always use a client which returns the default value.
|
|
23
|
+
if (sdkKey === undefined || sdkKey === "") {
|
|
24
|
+
client = (0, always_default_1.newAlwaysReturningDefaultValueClient)();
|
|
25
|
+
return client;
|
|
26
|
+
}
|
|
27
|
+
const configCatClient = configcat.createClient(sdkKey, {
|
|
28
|
+
pollIntervalSeconds: 3 * 60,
|
|
29
|
+
logger: configcat.createConsoleLogger(configcat_common_1.LogLevel.Error),
|
|
30
|
+
maxInitWaitTimeSeconds: 0,
|
|
31
|
+
});
|
|
32
|
+
client = new configcat_1.ConfigCatClient(configCatClient);
|
|
33
|
+
return client;
|
|
34
|
+
}
|
|
35
|
+
exports.getExperimentsClientForBackend = getExperimentsClientForBackend;
|
|
36
|
+
//# sourceMappingURL=configcat-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configcat-server.js","sourceRoot":"","sources":["../../src/experiments/configcat-server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,4CAA4C;AAC5C,uDAA4C;AAC5C,2CAA8C;AAC9C,qDAAwE;AAExE,IAAI,MAA0B,CAAC;AAGlB,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEvE,SAAgB,8BAA8B;IAC1C,gEAAgE;IAChE,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,MAAM,CAAC;KACjB;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAE7C,sHAAsH;IACtH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;QACvC,MAAM,GAAG,IAAA,qDAAoC,GAAE,CAAC;QAChD,OAAO,MAAM,CAAC;KACjB;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE;QACnD,mBAAmB,EAAE,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,SAAS,CAAC,mBAAmB,CAAC,2BAAQ,CAAC,KAAK,CAAC;QACrD,sBAAsB,EAAE,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,GAAG,IAAI,2BAAe,CAAC,eAAe,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC;AAvBD,wEAuBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
+
* See License-AGPL.txt in the project root for license information.
|
|
5
|
+
*/
|
|
6
|
+
import { Attributes, Client } from "./types";
|
|
7
|
+
import { User as ConfigCatUser } from "configcat-common/lib/RolloutEvaluator";
|
|
8
|
+
import { IConfigCatClient } from "configcat-common/lib/ConfigCatClient";
|
|
9
|
+
export declare const USER_ID_ATTRIBUTE = "user_id";
|
|
10
|
+
export declare const PROJECT_ID_ATTRIBUTE = "project_id";
|
|
11
|
+
export declare const TEAM_ID_ATTRIBUTE = "team_id";
|
|
12
|
+
export declare const TEAM_NAME_ATTRIBUTE = "team_name";
|
|
13
|
+
export declare const BILLING_TIER_ATTRIBUTE = "billing_tier";
|
|
14
|
+
export declare class ConfigCatClient implements Client {
|
|
15
|
+
private client;
|
|
16
|
+
constructor(cc: IConfigCatClient);
|
|
17
|
+
getValueAsync<T>(experimentName: string, defaultValue: T, attributes: Attributes): Promise<T>;
|
|
18
|
+
dispose(): void;
|
|
19
|
+
}
|
|
20
|
+
export declare function attributesToUser(attributes: Attributes): ConfigCatUser;
|
|
21
|
+
//# sourceMappingURL=configcat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configcat.d.ts","sourceRoot":"","sources":["../../src/experiments/configcat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD,qBAAa,eAAgB,YAAW,MAAM;IAC1C,OAAO,CAAC,MAAM,CAAmB;gBAErB,EAAE,EAAE,gBAAgB;IAIhC,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7F,OAAO,IAAI,IAAI;CAGlB;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAsBtE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
4
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
+
* See License-AGPL.txt in the project root for license information.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.attributesToUser = exports.ConfigCatClient = exports.BILLING_TIER_ATTRIBUTE = exports.TEAM_NAME_ATTRIBUTE = exports.TEAM_ID_ATTRIBUTE = exports.PROJECT_ID_ATTRIBUTE = exports.USER_ID_ATTRIBUTE = void 0;
|
|
9
|
+
const RolloutEvaluator_1 = require("configcat-common/lib/RolloutEvaluator");
|
|
10
|
+
const protocol_1 = require("../protocol");
|
|
11
|
+
exports.USER_ID_ATTRIBUTE = "user_id";
|
|
12
|
+
exports.PROJECT_ID_ATTRIBUTE = "project_id";
|
|
13
|
+
exports.TEAM_ID_ATTRIBUTE = "team_id";
|
|
14
|
+
exports.TEAM_NAME_ATTRIBUTE = "team_name";
|
|
15
|
+
exports.BILLING_TIER_ATTRIBUTE = "billing_tier";
|
|
16
|
+
class ConfigCatClient {
|
|
17
|
+
constructor(cc) {
|
|
18
|
+
this.client = cc;
|
|
19
|
+
}
|
|
20
|
+
getValueAsync(experimentName, defaultValue, attributes) {
|
|
21
|
+
return this.client.getValueAsync(experimentName, defaultValue, attributesToUser(attributes));
|
|
22
|
+
}
|
|
23
|
+
dispose() {
|
|
24
|
+
return this.client.dispose();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.ConfigCatClient = ConfigCatClient;
|
|
28
|
+
function attributesToUser(attributes) {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
const userId = ((_a = attributes.user) === null || _a === void 0 ? void 0 : _a.id) || "";
|
|
31
|
+
const email = protocol_1.User.is(attributes.user) ? protocol_1.User.getPrimaryEmail(attributes.user) : ((_b = attributes.user) === null || _b === void 0 ? void 0 : _b.email) || "";
|
|
32
|
+
const custom = {};
|
|
33
|
+
if (userId) {
|
|
34
|
+
custom[exports.USER_ID_ATTRIBUTE] = userId;
|
|
35
|
+
}
|
|
36
|
+
if (attributes.projectId) {
|
|
37
|
+
custom[exports.PROJECT_ID_ATTRIBUTE] = attributes.projectId;
|
|
38
|
+
}
|
|
39
|
+
if (attributes.teamId) {
|
|
40
|
+
custom[exports.TEAM_ID_ATTRIBUTE] = attributes.teamId;
|
|
41
|
+
}
|
|
42
|
+
if (attributes.teamName) {
|
|
43
|
+
custom[exports.TEAM_NAME_ATTRIBUTE] = attributes.teamName;
|
|
44
|
+
}
|
|
45
|
+
if (attributes.billingTier) {
|
|
46
|
+
custom[exports.BILLING_TIER_ATTRIBUTE] = attributes.billingTier;
|
|
47
|
+
}
|
|
48
|
+
return new RolloutEvaluator_1.User(userId, email, "", custom);
|
|
49
|
+
}
|
|
50
|
+
exports.attributesToUser = attributesToUser;
|
|
51
|
+
//# sourceMappingURL=configcat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configcat.js","sourceRoot":"","sources":["../../src/experiments/configcat.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,4EAA8E;AAE9E,0CAAmC;AAEtB,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,oBAAoB,GAAG,YAAY,CAAC;AACpC,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAClC,QAAA,sBAAsB,GAAG,cAAc,CAAC;AAErD,MAAa,eAAe;IAGxB,YAAY,EAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CAAI,cAAsB,EAAE,YAAe,EAAE,UAAsB;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;CACJ;AAdD,0CAcC;AAED,SAAgB,gBAAgB,CAAC,UAAsB;;IACnD,MAAM,MAAM,GAAG,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,EAAE,KAAI,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,eAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE,CAAC;IAE9G,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,IAAI,MAAM,EAAE;QACR,MAAM,CAAC,yBAAiB,CAAC,GAAG,MAAM,CAAC;KACtC;IACD,IAAI,UAAU,CAAC,SAAS,EAAE;QACtB,MAAM,CAAC,4BAAoB,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;KACvD;IACD,IAAI,UAAU,CAAC,MAAM,EAAE;QACnB,MAAM,CAAC,yBAAiB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;KACjD;IACD,IAAI,UAAU,CAAC,QAAQ,EAAE;QACrB,MAAM,CAAC,2BAAmB,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC;KACrD;IACD,IAAI,UAAU,CAAC,WAAW,EAAE;QACxB,MAAM,CAAC,8BAAsB,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC;KAC3D;IAED,OAAO,IAAI,uBAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAtBD,4CAsBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
+
* See License-AGPL.txt in the project root for license information.
|
|
5
|
+
*/
|
|
6
|
+
import { BillingTier, User } from "../protocol";
|
|
7
|
+
export declare const Client: unique symbol;
|
|
8
|
+
export interface Attributes {
|
|
9
|
+
user?: User | {
|
|
10
|
+
id: string;
|
|
11
|
+
email?: string;
|
|
12
|
+
};
|
|
13
|
+
billingTier?: BillingTier;
|
|
14
|
+
projectId?: string;
|
|
15
|
+
teamId?: string;
|
|
16
|
+
teamName?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface Client {
|
|
19
|
+
getValueAsync<T>(experimentName: string, defaultValue: T, attributes: Attributes): Promise<T>;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/experiments/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,eAAmB,CAAC;AAIvC,MAAM,WAAW,UAAU;IAEvB,IAAI,CAAC,EAAE,IAAI,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAG7C,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACnB,aAAa,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAG9F,OAAO,IAAI,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
4
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
+
* See License-AGPL.txt in the project root for license information.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Client = void 0;
|
|
9
|
+
exports.Client = Symbol("Client");
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/experiments/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIU,QAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitpod-file-parser.d.ts","sourceRoot":"","sources":["../src/gitpod-file-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAE9D,oBAAY,WAAW,GAAG,eAAe,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"gitpod-file-parser.d.ts","sourceRoot":"","sources":["../src/gitpod-file-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAE9D,oBAAY,WAAW,GAAG,eAAe,GAAG,SAAS,CAAC;AAQtD,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,qBACa,gBAAgB;IAClB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,KAAK,EAAE,aAAa,GAAE,eAAoB,GAAG,WAAW;CAoCrG"}
|
|
@@ -17,7 +17,7 @@ const yaml = require("js-yaml");
|
|
|
17
17
|
const Ajv = require("ajv");
|
|
18
18
|
const logging_1 = require("./util/logging");
|
|
19
19
|
const protocol_1 = require("./protocol");
|
|
20
|
-
const schema = require(
|
|
20
|
+
const schema = require("../data/gitpod-schema.json");
|
|
21
21
|
const validate = new Ajv().compile(schema);
|
|
22
22
|
const defaultParseOptions = {
|
|
23
23
|
acceptPortRanges: false,
|
|
@@ -28,12 +28,12 @@ let GitpodFileParser = class GitpodFileParser {
|
|
|
28
28
|
try {
|
|
29
29
|
const parsedConfig = yaml.safeLoad(content);
|
|
30
30
|
validate(parsedConfig);
|
|
31
|
-
const validationErrors = validate.errors ? validate.errors.map(e => e.message || e.keyword) : undefined;
|
|
31
|
+
const validationErrors = validate.errors ? validate.errors.map((e) => e.message || e.keyword) : undefined;
|
|
32
32
|
if (validationErrors && validationErrors.length > 0) {
|
|
33
33
|
return {
|
|
34
34
|
config: defaultConfig,
|
|
35
35
|
parsedConfig,
|
|
36
|
-
validationErrors
|
|
36
|
+
validationErrors,
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
const overrides = {};
|
|
@@ -42,14 +42,14 @@ let GitpodFileParser = class GitpodFileParser {
|
|
|
42
42
|
}
|
|
43
43
|
return {
|
|
44
44
|
config: Object.assign(Object.assign(Object.assign({}, defaultConfig), parsedConfig), overrides),
|
|
45
|
-
parsedConfig
|
|
45
|
+
parsedConfig,
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
catch (err) {
|
|
49
|
-
logging_1.log.error(
|
|
49
|
+
logging_1.log.error("Unparsable Gitpod configuration", err, { content });
|
|
50
50
|
return {
|
|
51
51
|
config: defaultConfig,
|
|
52
|
-
validationErrors: [
|
|
52
|
+
validationErrors: ["Unparsable Gitpod configuration: " + err.toString()],
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitpod-file-parser.js","sourceRoot":"","sources":["../src/gitpod-file-parser.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,yCAAuC;AACvC,gCAAgC;AAChC,2BAA2B;AAC3B,4CAAqC;AACrC,yCAA8D;AAI9D,MAAM,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,mBAAmB,GAAG;IACxB,gBAAgB,EAAE,KAAK;CAC1B,CAAC;AASF,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"gitpod-file-parser.js","sourceRoot":"","sources":["../src/gitpod-file-parser.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,yCAAuC;AACvC,gCAAgC;AAChC,2BAA2B;AAC3B,4CAAqC;AACrC,yCAA8D;AAI9D,MAAM,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,mBAAmB,GAAG;IACxB,gBAAgB,EAAE,KAAK;CAC1B,CAAC;AASF,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAClB,KAAK,CAAC,OAAe,EAAE,YAAY,GAAG,EAAE,EAAE,gBAAiC,EAAE;QAChF,MAAM,OAAO,mCACN,mBAAmB,GACnB,YAAY,CAClB,CAAC;QACF,IAAI;YACA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAQ,CAAC;YACnD,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1G,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,OAAO;oBACH,MAAM,EAAE,aAAa;oBACrB,YAAY;oBACZ,gBAAgB;iBACnB,CAAC;aACL;YACD,MAAM,SAAS,GAAG,EAAS,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAChE,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,0BAAe,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aACzF;YACD,OAAO;gBACH,MAAM,gDACC,aAAa,GACb,YAAY,GACZ,SAAS,CACf;gBACD,YAAY;aACf,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,aAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,OAAO;gBACH,MAAM,EAAE,aAAa;gBACrB,gBAAgB,EAAE,CAAC,mCAAmC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC3E,CAAC;SACL;IACL,CAAC;CACJ,CAAA;AArCY,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAqC5B;AArCY,4CAAgB"}
|
|
@@ -25,51 +25,54 @@ let TestGitpodFileParser = class TestGitpodFileParser {
|
|
|
25
25
|
this.parser = new gitpod_file_parser_1.GitpodFileParser();
|
|
26
26
|
}
|
|
27
27
|
testOnlyOnePort() {
|
|
28
|
-
const content = `ports:\n` +
|
|
29
|
-
` - port: 5555`;
|
|
28
|
+
const content = `ports:\n` + ` - port: 5555`;
|
|
30
29
|
const result = this.parser.parse(content, {}, DEFAULT_CONFIG);
|
|
31
30
|
expect(result.config).to.deep.equal({
|
|
32
|
-
ports: [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
ports: [
|
|
32
|
+
{
|
|
33
|
+
port: 5555,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
image: DEFAULT_IMAGE,
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
39
|
testPortRange() {
|
|
39
|
-
const content = `ports:\n` +
|
|
40
|
-
` - port: 5555\n` +
|
|
41
|
-
` - port: 3000-3999`; // should be filtered out by default
|
|
40
|
+
const content = `ports:\n` + ` - port: 5555\n` + ` - port: 3000-3999`; // should be filtered out by default
|
|
42
41
|
const result = this.parser.parse(content, {}, DEFAULT_CONFIG);
|
|
43
42
|
expect(result.config).to.deep.equal({
|
|
44
|
-
ports: [
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
ports: [
|
|
44
|
+
{
|
|
45
|
+
port: 5555,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
image: DEFAULT_IMAGE,
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
testPortRangeAccepted() {
|
|
51
|
-
const content = `ports:\n` +
|
|
52
|
-
` - port: 5555\n` +
|
|
53
|
-
` - port: 3000-3999`; // should be included if explicitly supported
|
|
52
|
+
const content = `ports:\n` + ` - port: 5555\n` + ` - port: 3000-3999`; // should be included if explicitly supported
|
|
54
53
|
const result = this.parser.parse(content, { acceptPortRanges: true }, DEFAULT_CONFIG);
|
|
55
54
|
expect(result.config).to.deep.equal({
|
|
56
|
-
ports: [
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
ports: [
|
|
56
|
+
{
|
|
57
|
+
port: 5555,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
port: "3000-3999",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
image: DEFAULT_IMAGE,
|
|
62
64
|
});
|
|
63
65
|
}
|
|
64
66
|
testSimpleTask() {
|
|
65
|
-
const content = `tasks:\n` +
|
|
66
|
-
` - command: yarn`;
|
|
67
|
+
const content = `tasks:\n` + ` - command: yarn`;
|
|
67
68
|
const result = this.parser.parse(content, {}, DEFAULT_CONFIG);
|
|
68
69
|
expect(result.config).to.deep.equal({
|
|
69
|
-
tasks: [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
tasks: [
|
|
71
|
+
{
|
|
72
|
+
command: "yarn",
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
image: DEFAULT_IMAGE,
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
78
|
testSimpleImage() {
|
|
@@ -77,29 +80,29 @@ let TestGitpodFileParser = class TestGitpodFileParser {
|
|
|
77
80
|
const content = `image: "${imageName}"\n`;
|
|
78
81
|
const result = this.parser.parse(content);
|
|
79
82
|
expect(result.config).to.deep.equal({
|
|
80
|
-
image: imageName
|
|
83
|
+
image: imageName,
|
|
81
84
|
});
|
|
82
85
|
}
|
|
83
86
|
testComplexImageWithoutContext() {
|
|
84
|
-
const dockerFileName =
|
|
87
|
+
const dockerFileName = "Dockerfile";
|
|
85
88
|
const content = `image:\n file: ${dockerFileName}\n`;
|
|
86
89
|
const result = this.parser.parse(content);
|
|
87
90
|
expect(result.config).to.deep.equal({
|
|
88
91
|
image: {
|
|
89
|
-
file: dockerFileName
|
|
90
|
-
}
|
|
92
|
+
file: dockerFileName,
|
|
93
|
+
},
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
96
|
testComplexImageWithContext() {
|
|
94
|
-
const dockerFileName =
|
|
95
|
-
const dockerContext =
|
|
97
|
+
const dockerFileName = "Dockerfile";
|
|
98
|
+
const dockerContext = "docker";
|
|
96
99
|
const content = `image:\n file: ${dockerFileName}\n context: ${dockerContext}\n`;
|
|
97
100
|
const result = this.parser.parse(content);
|
|
98
101
|
expect(result.config).to.deep.equal({
|
|
99
102
|
image: {
|
|
100
103
|
file: dockerFileName,
|
|
101
|
-
context: dockerContext
|
|
102
|
-
}
|
|
104
|
+
context: dockerContext,
|
|
105
|
+
},
|
|
103
106
|
});
|
|
104
107
|
}
|
|
105
108
|
testGitconfig() {
|
|
@@ -110,16 +113,16 @@ gitConfig:
|
|
|
110
113
|
const result = this.parser.parse(content, {}, DEFAULT_CONFIG);
|
|
111
114
|
expect(result.config).to.deep.equal({
|
|
112
115
|
gitConfig: {
|
|
113
|
-
"core.autocrlf": "input"
|
|
116
|
+
"core.autocrlf": "input",
|
|
114
117
|
},
|
|
115
|
-
image: DEFAULT_IMAGE
|
|
118
|
+
image: DEFAULT_IMAGE,
|
|
116
119
|
});
|
|
117
120
|
}
|
|
118
121
|
testBrokenConfig() {
|
|
119
122
|
const content = `image: 42\n`;
|
|
120
123
|
const result = this.parser.parse(content, {}, DEFAULT_CONFIG);
|
|
121
124
|
expect(result.config).to.deep.equal({
|
|
122
|
-
image: DEFAULT_IMAGE
|
|
125
|
+
image: DEFAULT_IMAGE,
|
|
123
126
|
});
|
|
124
127
|
}
|
|
125
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitpod-file-parser.spec.js","sourceRoot":"","sources":["../src/gitpod-file-parser.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"gitpod-file-parser.spec.js","sourceRoot":"","sources":["../src/gitpod-file-parser.spec.ts"],"names":[],"mappings":"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"}
|