Skip to content

Commit bf23cea

Browse files
committedNov 27, 2024
Update deps to maximum possible versions & migrate eslint
1 parent b4c0a3b commit bf23cea

12 files changed

+2402
-6519
lines changed
 

‎.eslintrc.json

-51
This file was deleted.

‎eslint.config.mjs

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import typescriptEslint from "@typescript-eslint/eslint-plugin";
2+
import prettier from "eslint-plugin-prettier";
3+
import tsParser from "@typescript-eslint/parser";
4+
import path from "node:path";
5+
import { fileURLToPath } from "node:url";
6+
import js from "@eslint/js";
7+
import { FlatCompat } from "@eslint/eslintrc";
8+
9+
const __filename = fileURLToPath(import.meta.url);
10+
const __dirname = path.dirname(__filename);
11+
const compat = new FlatCompat({
12+
baseDirectory: __dirname,
13+
recommendedConfig: js.configs.recommended,
14+
allConfig: js.configs.all
15+
});
16+
17+
export default [{
18+
ignores: ["**/out", "**/dist", "**/*.d.ts"],
19+
}, ...compat.extends("prettier"), {
20+
plugins: {
21+
"@typescript-eslint": typescriptEslint,
22+
prettier,
23+
},
24+
25+
languageOptions: {
26+
parser: tsParser,
27+
ecmaVersion: 6,
28+
sourceType: "module",
29+
},
30+
31+
files: ["**/*.ts"],
32+
33+
rules: {
34+
"@typescript-eslint/naming-convention": ["warn", {
35+
selector: "default",
36+
format: ["camelCase", "PascalCase"],
37+
}, {
38+
selector: "variable",
39+
format: ["camelCase", "UPPER_CASE"],
40+
leadingUnderscore: "allow",
41+
}, {
42+
selector: "property",
43+
format: ["camelCase", "UPPER_CASE"],
44+
leadingUnderscore: "allow",
45+
}, {
46+
selector: "parameter",
47+
format: ["camelCase"],
48+
leadingUnderscore: "allow",
49+
}, {
50+
selector: "typeLike",
51+
format: ["PascalCase"],
52+
}, {
53+
selector: "enumMember",
54+
format: ["UPPER_CASE"],
55+
}],
56+
57+
"@/semi": "warn",
58+
curly: "warn",
59+
eqeqeq: "warn",
60+
"no-throw-literal": "warn",
61+
semi: "off",
62+
"prettier/prettier": "warn",
63+
},
64+
}];

‎package-lock.json

+2,277-6,409
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

+27-26
Original file line numberDiff line numberDiff line change
@@ -385,8 +385,8 @@
385385
"vscode:prepublish": "npm run compile",
386386
"compile": "tsc -p ./",
387387
"watch": "tsc -watch -p ./",
388-
"lint": "eslint \"src/**/*.{ts,js}\" --ext .ts",
389-
"format": "prettier --write \"src/**/*.{ts,js}\" && eslint \"src/**/*.{ts,js}\" --ext .ts --fix",
388+
"lint": "eslint \"src/**/*.{ts,js}\"",
389+
"format": "prettier --write \"src/**/*.{ts,js}\" && eslint \"src/**/*.{ts,js}\" --fix",
390390
"test-executables-unsafe": "node ./out/test/runTest.js",
391391
"test-only": "npm run test-executables-unsafe -- -r=\"\\[SourceExecutable\\] *\" -i=true",
392392
"pretest": "npm run compile && npm run lint",
@@ -409,45 +409,46 @@
409409
"legacy-benchmark": "npm run test-executables-unsafe -- -g=\"[SourceExecutable] Legacy Benchmark\""
410410
},
411411
"devDependencies": {
412+
"@eslint/eslintrc": "^3.2.0",
413+
"@eslint/js": "^9.15.0",
412414
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
413-
"@types/cli-progress": "^3.11.3",
415+
"@types/cli-progress": "^3.11.6",
414416
"@types/event-source-polyfill": "^1.0.5",
415417
"@types/expect.js": "^0.3.32",
416-
"@types/glob": "^8.1.0",
417-
"@types/mocha": "^10.0.1",
418-
"@types/node": "20.2.5",
418+
"@types/mocha": "^10.0.10",
419+
"@types/node": "22.10.0",
419420
"@types/node-ipc": "^9.2.3",
420421
"@types/tmp": "^0.2.6",
421-
"@types/vscode": "^1.82.0",
422-
"@types/yargs": "^17.0.24",
423-
"@typescript-eslint/eslint-plugin": "^5.62.0",
424-
"@typescript-eslint/parser": "^5.62.0",
425-
"@vscode/test-electron": "^2.3.2",
426-
"earl": "^1.1.0",
427-
"eslint": "^8.56.0",
422+
"@types/vscode": "^1.95.0",
423+
"@types/yargs": "^17.0.33",
424+
"@typescript-eslint/eslint-plugin": "^8.0.0",
425+
"@typescript-eslint/parser": "^8.0.0",
426+
"@vscode/test-electron": "^2.4.1",
427+
"earl": "^1.3.0",
428+
"eslint": "^9.0.0",
428429
"eslint-config-prettier": "^9.1.0",
429430
"eslint-plugin-prettier": "^5.1.3",
430-
"glob": "^8.1.0",
431-
"mocha": "^10.2.0",
432-
"prettier": "^3.2.5",
433-
"typescript": "^5.3.3"
431+
"glob": "11.0.0",
432+
"mocha": "^11.0.0",
433+
"prettier": "^3.4.1",
434+
"typescript": "^5.7.2"
434435
},
435436
"dependencies": {
436-
"@codemirror/autocomplete": "^6.9.1",
437-
"ajv": "^8.12.0",
438-
"async-mutex": "^0.4.1",
439-
"axios": "^1.6.2",
437+
"@codemirror/autocomplete": "^6.18.3",
438+
"ajv": "^8.17.1",
439+
"async-mutex": "^0.5.0",
440+
"axios": "^1.7.8",
440441
"cli-progress": "^3.12.0",
441-
"dedent": "^1.5.1",
442+
"dedent": "^1.5.3",
442443
"event-source-polyfill": "^1.0.31",
443444
"i": "^0.3.7",
444445
"mocha-param": "^2.0.1",
445446
"node-ipc": "^12.0.0",
446-
"npm": "^10.4.0",
447-
"openai": "^4.6.0",
447+
"npm": "^10.9.1",
448+
"openai": "^4.73.1",
448449
"path": "^0.12.7",
449-
"pino": "^8.15.1",
450-
"pino-pretty": "^10.2.0",
450+
"pino": "^9.5.0",
451+
"pino-pretty": "^13.0.0",
451452
"tiktoken": "^1.0.17",
452453
"tmp": "^0.2.3",
453454
"toml": "^3.0.0",

‎src/llm/llmServices/grazie/grazieModelParamsResolver.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import { GrazieService } from "./grazieService";
88

99
export class GrazieModelParamsResolver
1010
extends BasicModelParamsResolver<GrazieUserModelParams, GrazieModelParams>
11-
implements
12-
ValidParamsResolverImpl<GrazieUserModelParams, GrazieModelParams>
11+
implements ValidParamsResolverImpl<GrazieUserModelParams, GrazieModelParams>
1312
{
1413
constructor() {
1514
super(grazieModelParamsSchema, "GrazieModelParams");

‎src/llm/llmServices/grazie/grazieService.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,10 @@ class GrazieServiceInternal extends LLMServiceInternal<
120120
chat: ChatHistory,
121121
modelParams: GrazieModelParams
122122
): GrazieFormattedHistory {
123-
const o1CompatibleChatHistory = toO1CompatibleChatHistory(chat, modelParams.modelName);
123+
const o1CompatibleChatHistory = toO1CompatibleChatHistory(
124+
chat,
125+
modelParams.modelName
126+
);
124127

125128
return o1CompatibleChatHistory.map((message: ChatMessage) => {
126129
const grazieRoleName =

‎src/llm/llmServices/openai/openAiModelParamsResolver.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { ValidParamsResolverImpl } from "../utils/paramsResolvers/paramsResolver
66

77
export class OpenAiModelParamsResolver
88
extends BasicModelParamsResolver<OpenAiUserModelParams, OpenAiModelParams>
9-
implements
10-
ValidParamsResolverImpl<OpenAiUserModelParams, OpenAiModelParams>
9+
implements ValidParamsResolverImpl<OpenAiUserModelParams, OpenAiModelParams>
1110
{
1211
constructor() {
1312
super(openAiModelParamsSchema, "OpenAiModelParams");

‎src/llm/llmServices/openai/openAiService.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ import { GeneratedProofImpl } from "../generatedProof";
1414
import { LLMServiceImpl } from "../llmService";
1515
import { LLMServiceInternal } from "../llmServiceInternal";
1616
import { OpenAiModelParams } from "../modelParams";
17+
import { toO1CompatibleChatHistory } from "../utils/o1ClassModels";
1718

1819
import { OpenAiModelParamsResolver } from "./openAiModelParamsResolver";
19-
import { toO1CompatibleChatHistory } from "../utils/o1ClassModels";
2020

2121
export class OpenAiService extends LLMServiceImpl<
2222
OpenAiUserModelParams,
@@ -219,7 +219,7 @@ class OpenAiServiceInternal extends LLMServiceInternal<
219219
private static readonly connectionErrorPattern = /^Connection error\.$/;
220220

221221
private formatChatHistory(
222-
chat: ChatHistory,
222+
chat: ChatHistory,
223223
modelParams: OpenAiModelParams
224224
): ChatHistory {
225225
return toO1CompatibleChatHistory(chat, modelParams.modelName);

‎src/llm/llmServices/utils/o1ClassModels.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
import { ChatHistory, ChatMessage } from "../commonStructures/chat";
22

3-
const o1ClassModels = ['o1-preview', 'o1-preview-2024-09-12', 'o1-mini', 'o1-mini-2024-09-12'];
3+
const o1ClassModels = [
4+
"o1-preview",
5+
"o1-preview-2024-09-12",
6+
"o1-mini",
7+
"o1-mini-2024-09-12",
8+
];
49

510
/**
611
* As of November 2024, o1 model requires a different format of chat history.
712
* It doesn't support the system prompt, therefore we manually
8-
* change system prompt to a user's message in case of this specific
13+
* change system prompt to a user's message in case of this specific
914
* model usage.
1015
*/
1116
export function toO1CompatibleChatHistory(
12-
chatHistory: ChatHistory,
17+
chatHistory: ChatHistory,
1318
modelName: string
1419
): ChatHistory {
1520
if (o1ClassModels.includes(modelName)) {
@@ -22,4 +27,4 @@ export function toO1CompatibleChatHistory(
2227
} else {
2328
return chatHistory;
2429
}
25-
}
30+
}

‎src/llm/llmServices/utils/paramsResolvers/basicModelParamsResolvers.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ import {
1616

1717
export class BasicMultiroundProfileResolver
1818
extends ParamsResolverImpl<UserMultiroundProfile, MultiroundProfile>
19-
implements
20-
ValidParamsResolverImpl<UserMultiroundProfile, MultiroundProfile>
19+
implements ValidParamsResolverImpl<UserMultiroundProfile, MultiroundProfile>
2120
{
2221
constructor() {
2322
super(multiroundProfileSchema, "MultiroundProfile");

‎src/test/index.ts

+14-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as glob from "glob";
1+
import { globSync } from "glob";
22
import * as Mocha from "mocha";
33
import * as path from "path";
44

@@ -16,25 +16,20 @@ export function run(): Promise<void> {
1616
const testsRoot = path.resolve(__dirname);
1717

1818
return new Promise((c, e) => {
19-
glob("**/**.test.js", { cwd: testsRoot }, (err, files) => {
20-
if (err) {
21-
return e(err);
22-
}
23-
19+
try {
20+
const files = globSync("**/**.test.js", { cwd: testsRoot });
2421
files.forEach((f) => mocha.addFile(path.resolve(testsRoot, f)));
2522

26-
try {
27-
mocha.run((failures) => {
28-
if (failures > 0) {
29-
e(Error(`${failures} tests failed.`));
30-
} else {
31-
c();
32-
}
33-
});
34-
} catch (err) {
35-
console.error(err);
36-
e(err);
37-
}
38-
});
23+
mocha.run((failures) => {
24+
if (failures > 0) {
25+
e(Error(`${failures} tests failed.`));
26+
} else {
27+
c();
28+
}
29+
});
30+
} catch (err) {
31+
console.error(err);
32+
e(err);
33+
}
3934
});
4035
}

‎tsconfig.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
},
4343
"exclude": [
4444
"./_opam/**/*",
45-
"./out/**/*"
45+
"./out/**/*",
46+
"./eslint.config.mjs"
4647
],
4748
}

0 commit comments

Comments
 (0)
Please sign in to comment.