Skip to content

Commit ccd9d41

Browse files
committed
chore: some minor refactors and linter checks
1 parent 8c2da63 commit ccd9d41

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

src/common/config.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ export const config = setupUserConfig({
139139
env: process.env,
140140
});
141141

142-
export const defaultDriverOptions: ConnectionInfo["driverOptions"] = {
142+
const defaultDriverOptions: ConnectionInfo["driverOptions"] = {
143143
readConcern: {
144144
level: "local",
145145
},
@@ -152,6 +152,11 @@ export const defaultDriverOptions: ConnectionInfo["driverOptions"] = {
152152
applyProxyToOIDC: true,
153153
};
154154

155+
export const driverOptions = setupDriverConfig({
156+
config,
157+
defaults: defaultDriverOptions,
158+
});
159+
155160
function getLogPath(): string {
156161
const localDataPath =
157162
process.platform === "win32"
@@ -292,3 +297,17 @@ export function setupUserConfig({
292297

293298
return userConfig;
294299
}
300+
301+
export function setupDriverConfig({
302+
config,
303+
defaults,
304+
}: {
305+
config: UserConfig;
306+
defaults: ConnectionInfo["driverOptions"];
307+
}): ConnectionInfo["driverOptions"] {
308+
const { driverOptions } = generateConnectionInfoFromCliArgs(config);
309+
return {
310+
...defaults,
311+
...driverOptions,
312+
};
313+
}

src/common/connectionManager.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { defaultDriverOptions } from "./config.js";
1+
import { driverOptions } from "./config.js";
22
import { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
33
import EventEmitter from "events";
44
import { setAppNameParamIfMissing } from "../helpers/connectionOptions.js";
@@ -92,7 +92,7 @@ export class ConnectionManager extends EventEmitter<ConnectionManagerEvents> {
9292
serviceProvider = await NodeDriverServiceProvider.connect(settings.connectionString, {
9393
productDocsLink: "https://github.com/mongodb-js/mongodb-mcp-server/",
9494
productName: "MongoDB MCP",
95-
...defaultDriverOptions,
95+
...driverOptions,
9696
});
9797
} catch (error: unknown) {
9898
const errorReason = error instanceof Error ? error.message : `${error as string}`;

src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ main().catch((error: unknown) => {
8888
process.exit(1);
8989
});
9090

91-
function assertFIPSMode() {
91+
function assertFIPSMode(): void | never {
9292
let fipsError: Error | undefined = undefined;
9393
if (config.tlsFIPSMode) {
9494
if (!fipsError && !crypto.getFips()) {
@@ -110,15 +110,15 @@ function assertFIPSMode() {
110110
}
111111
}
112112

113-
function assertHelpMode() {
113+
function assertHelpMode(): void | never {
114114
if (config.help) {
115115
console.log("For usage information refer to the README.md:");
116116
console.log("https://github.com/mongodb-js/mongodb-mcp-server?tab=readme-ov-file#quick-start");
117117
process.exit(0);
118118
}
119119
}
120120

121-
function assertVersionMode() {
121+
function assertVersionMode(): void | never {
122122
if (config.version) {
123123
console.log(packageInfo.version);
124124
process.exit(0);

src/resources/common/config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ReactiveResource } from "../resource.js";
2-
import { config, defaultDriverOptions } from "../../common/config.js";
2+
import { config, driverOptions } from "../../common/config.js";
33
import type { UserConfig } from "../../common/config.js";
44
import type { Server } from "../../server.js";
55
import type { Telemetry } from "../../telemetry/telemetry.js";
@@ -37,7 +37,7 @@ export class ConfigResource extends ReactiveResource<UserConfig, readonly []> {
3737
connectionString: this.current.connectionString
3838
? "set; access to MongoDB tools are currently available to use"
3939
: "not set; before using any MongoDB tool, you need to configure a connection string, alternatively you can setup MongoDB Atlas access, more info at 'https://github.com/mongodb-js/mongodb-mcp-server'.",
40-
connectOptions: defaultDriverOptions,
40+
connectOptions: driverOptions,
4141
atlas:
4242
this.current.apiClientId && this.current.apiClientSecret
4343
? "set; MongoDB Atlas tools are currently available to use"

0 commit comments

Comments
 (0)