@mongodb-js/connection-info 0.6.1 → 0.9.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.
@@ -1,22 +1,90 @@
1
1
  import type { ConnectionOptions } from 'mongodb-data-service';
2
2
  export interface AtlasClusterMetadata {
3
3
  orgId: string;
4
+ /**
5
+ * Project ID that uniquely identifies an Atlas project. Legacy name is "groupId"
6
+ * as projects were previously identified as "groups".
7
+ * https://www.mongodb.com/docs/atlas/api/atlas-admin-api-ref/#project-id
8
+ */
4
9
  projectId: string;
5
- clusterId: string;
10
+ /**
11
+ * Unique id returned with the clusterDescription
12
+ */
13
+ clusterUniqueId: string;
14
+ /**
15
+ * Cluster name, unique inside same project
16
+ */
6
17
  clusterName: string;
7
- clusterType: 'host' | 'replicaSet' | 'cluster' | 'serverless';
18
+ /**
19
+ * A special id and type that are only relevant in context of mms metrics
20
+ * features. These are deployment items props (with a special exception for
21
+ * serverless, where id is just name, and type is `serverless` that doesn't
22
+ * make sense in context of deployments), not cluster description props.
23
+
24
+ * https://github.com/10gen/mms/blob/43b0049a85196b44e465feb9b96ef942d6f2c8f4/client/js/legacy/core/models/deployment
25
+ */
26
+ metricsId: string;
27
+ /**
28
+ * Somewhat related to the clusterType provided as part of clusterDescription,
29
+ * but way less granular:
30
+ *
31
+ * - `host`: CM/OM clusters not managed by Atlas (in theory should
32
+ * never appear in our runtime)
33
+ * - `cluster`: any sharded cluster type (sharded or geo sharded /
34
+ * "global writes" one)
35
+ * - `replicaSet`: anything that is not sharded (both dedicated or "free
36
+ * tier" / MTM)
37
+ * - `serverless`: specifically for serverless clusters
38
+ */
39
+ metricsType: 'host' | 'replicaSet' | 'cluster' | 'serverless';
40
+ /**
41
+ * Atlas API base url to be used when making control plane requests for a
42
+ * regionalized cluster
43
+ */
8
44
  regionalBaseUrl: string;
45
+ instanceSize?: string;
46
+ /**
47
+ * Possible types of Atlas clusters.
48
+ * Copied from:
49
+ * https://github.com/10gen/mms/blob/9e6bf2d81d4d85b5ac68a15bf471dcddc5922323/client/packages/types/nds/clusterDescription.ts#L12-L16
50
+ */
51
+ clusterType: 'REPLICASET' | 'SHARDED' | 'GEOSHARDED';
9
52
  }
10
53
  export interface ConnectionInfo {
54
+ /**
55
+ * Unique ID of the connection.
56
+ */
11
57
  readonly id: string;
58
+ /**
59
+ * Date and time when the connection was last used, i.e. connected with.
60
+ */
12
61
  lastUsed?: Date;
62
+ /**
63
+ * If present the connection is marked as a favorite by the user.
64
+ */
13
65
  favorite?: ConnectionFavoriteOptions;
66
+ /**
67
+ * Saved connection type. Legacy favorite connections will be mapped as
68
+ * 'favorite'
69
+ */
14
70
  savedConnectionType?: 'favorite' | 'recent';
71
+ /**
72
+ * The options used to connect
73
+ */
15
74
  connectionOptions: ConnectionOptions;
75
+ /**
76
+ * The metdata for the Atlas cluster
77
+ */
16
78
  atlasMetadata?: AtlasClusterMetadata;
17
79
  }
18
80
  export interface ConnectionFavoriteOptions {
81
+ /**
82
+ * User-defined name of the connection.
83
+ */
19
84
  name: string;
85
+ /**
86
+ * Hex-code of the user-defined color.
87
+ */
20
88
  color?: string;
21
89
  }
22
90
  //# sourceMappingURL=connection-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-info.d.ts","sourceRoot":"","sources":["../src/connection-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IAMd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAC9D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAI7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAKhB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAMrC,mBAAmB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAK5C,iBAAiB,EAAE,iBAAiB,CAAC;IAKrC,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IAIxC,IAAI,EAAE,MAAM,CAAC;IAKb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"connection-info.d.ts","sourceRoot":"","sources":["../src/connection-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAC9D;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IAMxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAErC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAE5C;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection-secrets.d.ts","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,cAAc,CAmEhB;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CA6FA"}
1
+ {"version":3,"file":"connection-secrets.d.ts","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAIV,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,cAAc,CAmEhB;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAmFA"}
@@ -112,21 +112,17 @@ function extractSecrets(connectionInfo) {
112
112
  connectionInfoWithoutSecrets.connectionOptions.connectionString = uri.href;
113
113
  if (connectionOptions.fleOptions?.autoEncryption) {
114
114
  const { autoEncryption } = connectionOptions.fleOptions;
115
- const kmsProviders = ['aws', 'local', 'azure', 'gcp', 'kmip'];
116
- const secretPaths = [
117
- 'kmsProviders.aws.secretAccessKey',
118
- 'kmsProviders.aws.sessionToken',
119
- 'kmsProviders.local.key',
120
- 'kmsProviders.azure.clientSecret',
121
- 'kmsProviders.gcp.privateKey',
122
- ...kmsProviders.map((p) => `tlsOptions.${p}.tlsCertificateKeyFilePassword`),
123
- ];
124
- connectionOptions.fleOptions.autoEncryption = lodash_1.default.omit(autoEncryption, secretPaths);
115
+ const { data: autoEncryptionWithoutSecrets, secrets: autoEncryptionSecrets, } = extractAutoEncryptionSecrets(autoEncryption);
116
+ connectionOptions.fleOptions.autoEncryption = autoEncryptionWithoutSecrets;
117
+ // Remove potentially empty KMS provider options objects,
118
+ // since libmongocrypt assumes that, if a KMS provider options
119
+ // object is present but empty, the caller will be able
120
+ // to provide credentials on demand.
125
121
  if (connectionOptions.fleOptions.autoEncryption.kmsProviders)
126
122
  connectionOptions.fleOptions.autoEncryption.kmsProviders =
127
123
  omitPropertiesWhoseValuesAreEmptyObjects(connectionOptions.fleOptions.autoEncryption.kmsProviders);
128
124
  if (connectionOptions.fleOptions.storeCredentials) {
129
- secrets.autoEncryption = lodash_1.default.pick(autoEncryption, secretPaths);
125
+ secrets.autoEncryption = autoEncryptionSecrets;
130
126
  }
131
127
  }
132
128
  if (connectionOptions.oidc?.serializedState) {
@@ -139,4 +135,42 @@ exports.extractSecrets = extractSecrets;
139
135
  function omitPropertiesWhoseValuesAreEmptyObjects(obj) {
140
136
  return Object.fromEntries(Object.entries(obj).filter(([, value]) => Object.keys(value).length > 0));
141
137
  }
138
+ const KMS_PROVIDER_SECRET_PATHS = {
139
+ local: ['key'],
140
+ aws: ['secretAccessKey', 'sessionToken'],
141
+ azure: ['clientSecret'],
142
+ gcp: ['privateKey'],
143
+ // kmip does not have any kms secrets, but tlsOptions
144
+ kmip: undefined,
145
+ };
146
+ function extractAutoEncryptionSecrets(data) {
147
+ const secrets = {};
148
+ // Secrets are stored in a kmsProviders and tlsOptions
149
+ const { kmsProviders, tlsOptions, ...result } = data;
150
+ for (const kmsProviderName of Object.keys(kmsProviders ?? {})) {
151
+ const key = kmsProviderName.split(':')[0];
152
+ if (!key) {
153
+ continue;
154
+ }
155
+ const data = (kmsProviders ?? {})[kmsProviderName];
156
+ const secretPaths = KMS_PROVIDER_SECRET_PATHS[key];
157
+ if (!secretPaths) {
158
+ continue;
159
+ }
160
+ lodash_1.default.set(secrets, `kmsProviders.${kmsProviderName}`, lodash_1.default.pick(data, secretPaths));
161
+ for (const secretKey of secretPaths) {
162
+ lodash_1.default.unset(data, secretKey);
163
+ }
164
+ }
165
+ for (const key of Object.keys(tlsOptions ?? {})) {
166
+ const data = (tlsOptions ?? {})[key];
167
+ if (data?.tlsCertificateKeyFilePassword) {
168
+ lodash_1.default.set(secrets, `tlsOptions.${key}`, {
169
+ tlsCertificateKeyFilePassword: data.tlsCertificateKeyFilePassword,
170
+ });
171
+ delete data.tlsCertificateKeyFilePassword;
172
+ }
173
+ }
174
+ return { data: lodash_1.default.merge(result, { kmsProviders, tlsOptions }), secrets };
175
+ }
142
176
  //# sourceMappingURL=connection-secrets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-secrets.js","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-secrets.js","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,+FAEuC;AAoBvC,SAAgB,YAAY,CAC1B,cAAwC,EACxC,OAAsC;IAEtC,MAAM,yBAAyB,GAAG,gBAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE9D,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,yBAAyB,CAAC;KAClC;IAED,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,iBAAiB,CAAC;IAEtE,MAAM,GAAG,GAAG,IAAI,uCAAgB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAErE,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,EAAsB,CAAC;IAEjE,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;KACjC;IAED,IAAI,OAAO,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,SAAS,EAAE;QAC5D,iBAAiB,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;KAClE;IAED,IAAI,OAAO,CAAC,mBAAmB,IAAI,iBAAiB,CAAC,SAAS,EAAE;QAC9D,iBAAiB,CAAC,SAAS,CAAC,qBAAqB;YAC/C,OAAO,CAAC,mBAAmB,CAAC;KAC/B;IAED,IAAI,OAAO,CAAC,cAAc,IAAI,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE;QAC1E,gBAAC,CAAC,KAAK,CACL,iBAAiB,CAAC,UAAU,CAAC,cAAc,EAC3C,OAAO,CAAC,cAAc,CACvB,CAAC;KACH;IAED,IAAI,OAAO,CAAC,mBAAmB,EAAE;QAC/B,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,KAAK,EAAE,CAAC;QACxD,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe;YAC9D,OAAO,CAAC,mBAAmB,CAAC;KAC/B;IAED,IAAI,OAAO,CAAC,6BAA6B,EAAE;QACzC,YAAY,CAAC,GAAG,CACd,+BAA+B,EAC/B,OAAO,CAAC,6BAA6B,CACtC,CAAC;KACH;IAED,IAAI,OAAO,CAAC,aAAa,EAAE;QACzB,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;KAC1D;IAED,IAAI,OAAO,CAAC,eAAe,EAAE;QAC3B,MAAM,uBAAuB,GAC3B,IAAI,4DAA4B,CAC9B,YAAY,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAC5C,CAAC;QAEJ,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAE1E,YAAY,CAAC,GAAG,CACd,yBAAyB,EACzB,uBAAuB,CAAC,QAAQ,EAAE,CACnC,CAAC;KACH;IAED,yBAAyB,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC;IAExE,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAtED,oCAsEC;AAED,SAAgB,cAAc,CAAC,cAAwC;IAIrE,MAAM,4BAA4B,GAAG,gBAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,iBAAiB,CAAC;IACzE,MAAM,GAAG,GAAG,IAAI,uCAAgB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,iBAAiB,EAAsB,CAAC;IAEjE,IAAI,GAAG,CAAC,QAAQ,EAAE;QAChB,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAChC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;KACnB;IAED,IAAI,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE;QACzC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;QACjE,OAAO,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;KAC7C;IAED,IAAI,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,EAAE;QACtD,OAAO,CAAC,mBAAmB;YACzB,iBAAiB,CAAC,SAAS,CAAC,qBAAqB,CAAC;QACpD,OAAO,iBAAiB,CAAC,SAAS,CAAC,qBAAqB,CAAC;KAC1D;IAED,IAAI,YAAY,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE;QACrD,OAAO,CAAC,6BAA6B;YACnC,YAAY,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,SAAS,CAAC;QACjE,YAAY,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;KACtD;IAED,IAAI,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;QACrC,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;QACvE,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KACtC;IAED,MAAM,uBAAuB,GAC3B,IAAI,4DAA4B,CAC9B,YAAY,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAC5C,CAAC;IAEJ,IAAI,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;QACpD,OAAO,CAAC,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC3E,uBAAuB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpD,IAAI,uBAAuB,CAAC,QAAQ,EAAE,EAAE;YACtC,YAAY,CAAC,GAAG,CACd,yBAAyB,EACzB,uBAAuB,CAAC,QAAQ,EAAE,CACnC,CAAC;SACH;aAAM;YACL,YAAY,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;SAChD;KACF;IAED,4BAA4B,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC;IAE3E,IAAI,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE;QAChD,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC;QACxD,MAAM,EACJ,IAAI,EAAE,4BAA4B,EAClC,OAAO,EAAE,qBAAqB,GAC/B,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;QACjD,iBAAiB,CAAC,UAAU,CAAC,cAAc,GAAG,4BAA4B,CAAC;QAC3E,yDAAyD;QACzD,8DAA8D;QAC9D,uDAAuD;QACvD,oCAAoC;QACpC,IAAI,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY;YAC1D,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY;gBACtD,wCAAwC,CACtC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CACzD,CAAC;QACN,IAAI,iBAAiB,CAAC,UAAU,CAAC,gBAAgB,EAAE;YACjD,OAAO,CAAC,cAAc,GAAG,qBAAqB,CAAC;SAChD;KACF;IAED,IAAI,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE;QAC3C,OAAO,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;QACrE,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;KAC/C;IAED,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC;AAtFD,wCAsFC;AAED,SAAS,wCAAwC,CAAqB,GAAM;IAC1E,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3D,CAAC;AAClB,CAAC;AAED,MAAM,yBAAyB,GAAG;IAChC,KAAK,EAAE,CAAC,KAAK,CAAC;IACd,GAAG,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;IACxC,KAAK,EAAE,CAAC,cAAc,CAAC;IACvB,GAAG,EAAE,CAAC,YAAY,CAAC;IACnB,qDAAqD;IACrD,IAAI,EAAE,SAAS;CAChB,CAAC;AAMF,SAAS,4BAA4B,CAAC,IAA2B;IAI/D,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,sDAAsD;IACtD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAErD,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;QAC7D,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAE3B,CAAC;QACd,IAAI,CAAC,GAAG,EAAE;YACR,SAAS;SACV;QAED,MAAM,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAC/B,eAA4C,CAC7C,CAAC;QACF,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE;YAChB,SAAS;SACV;QACD,gBAAC,CAAC,GAAG,CACH,OAAO,EACP,gBAAgB,eAAe,EAAE,EACjC,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAC1B,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;YACnC,gBAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC1B;KACF;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;QAC/C,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,6BAA6B,EAAE;YACvC,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,EAAE,EAAE;gBAClC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;aAClE,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,6BAA6B,CAAC;SAC3C;KACF;IAED,OAAO,EAAE,IAAI,EAAE,gBAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1E,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import type { ConnectionInfo } from './connection-info';
2
2
  type ConnectionInfoForTitle = Pick<ConnectionInfo, 'favorite' | 'connectionOptions' | 'atlasMetadata'>;
3
+ /**
4
+ * Returns the title for connection info. It is called often in various parts of
5
+ * the application, including render methods, so to save some runtime, the
6
+ * result is cached based on the connection info value by referece
7
+ */
3
8
  export declare function getConnectionTitle(info: ConnectionInfoForTitle): string;
4
9
  export {};
5
10
  //# sourceMappingURL=connection-title.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-title.d.ts","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,sBAAsB,GAAG,IAAI,CAChC,cAAc,EACd,UAAU,GAAG,mBAAmB,GAAG,eAAe,CACnD,CAAC;AASF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAuBvE"}
1
+ {"version":3,"file":"connection-title.d.ts","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,sBAAsB,GAAG,IAAI,CAChC,cAAc,EACd,UAAU,GAAG,mBAAmB,GAAG,eAAe,CACnD,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAuBvE"}
@@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getConnectionTitle = void 0;
7
7
  const mongodb_connection_string_url_1 = __importDefault(require("mongodb-connection-string-url"));
8
8
  const ConnectionInfoTitleCache = new WeakMap();
9
+ /**
10
+ * Returns the title for connection info. It is called often in various parts of
11
+ * the application, including render methods, so to save some runtime, the
12
+ * result is cached based on the connection info value by referece
13
+ */
9
14
  function getConnectionTitle(info) {
10
15
  let title = ConnectionInfoTitleCache.get(info);
11
16
  if (title) {
@@ -23,6 +28,7 @@ function getConnectionTitle(info) {
23
28
  title = url.hosts.join(',');
24
29
  }
25
30
  catch (e) {
31
+ // When parsing a connection for its title fails we default the title.
26
32
  title = info.connectionOptions.connectionString || 'Connection';
27
33
  }
28
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection-title.js","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":";;;;;;AAAA,kGAA6D;AAQ7D,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAkC,CAAC;AAO/E,SAAgB,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,KAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE;QACnC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;KACxC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC9B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC5B;SAAM;QACL,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,uCAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC1E,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,CAAC,EAAE;YAEV,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,IAAI,YAAY,CAAC;SACjE;KACF;IAED,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,gDAuBC"}
1
+ {"version":3,"file":"connection-title.js","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":";;;;;;AAAA,kGAA6D;AAQ7D,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAkC,CAAC;AAE/E;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,KAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE;QACnC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;KACxC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC9B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC5B;SAAM;QACL,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,uCAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC1E,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,CAAC,EAAE;YACV,sEAAsE;YACtE,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,IAAI,YAAY,CAAC;SACjE;KACF;IAED,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,gDAuBC"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "email": "compass@mongodb.com"
14
14
  },
15
15
  "homepage": "https://github.com/mongodb-js/compass",
16
- "version": "0.6.1",
16
+ "version": "0.9.0",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/compass.git"
@@ -54,13 +54,13 @@
54
54
  "lodash": "^4.17.21",
55
55
  "mongodb": "^6.8.0",
56
56
  "mongodb-connection-string-url": "^3.0.1",
57
- "mongodb-data-service": "^22.23.1"
57
+ "mongodb-data-service": "^22.23.4"
58
58
  },
59
59
  "devDependencies": {
60
- "@mongodb-js/eslint-config-compass": "^1.1.5",
61
- "@mongodb-js/mocha-config-compass": "^1.4.0",
60
+ "@mongodb-js/eslint-config-compass": "^1.1.7",
61
+ "@mongodb-js/mocha-config-compass": "^1.4.2",
62
62
  "@mongodb-js/prettier-config-compass": "^1.0.2",
63
- "@mongodb-js/tsconfig-compass": "^1.0.4",
63
+ "@mongodb-js/tsconfig-compass": "^1.0.5",
64
64
  "@types/chai": "^4.2.21",
65
65
  "@types/mocha": "^9.0.0",
66
66
  "@types/sinon-chai": "^3.2.5",
@@ -75,5 +75,5 @@
75
75
  "sinon": "^17.0.1",
76
76
  "typescript": "^5.0.4"
77
77
  },
78
- "gitHead": "7f83eae627de08d740b1546adcf21816b1f21ec7"
78
+ "gitHead": "7bb0ec47c90909273d5cf0a63a39f12fc31e8d42"
79
79
  }