Skip to content

Commit 5d539f8

Browse files
committed
run cxx-gen-lsp as a typescript app
This is an internal tool, there is no need to compile it to JavaScript, instead run it directly with modern node.js with type stripping enabled.
1 parent c72c627 commit 5d539f8

File tree

13 files changed

+53
-69
lines changed

13 files changed

+53
-69
lines changed

package-lock.json

Lines changed: 0 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"setup-venv": "zx scripts/setup-venv.mjs",
4141
"update-tests": "zx scripts/update-tests.mjs",
4242
"cxx-gen-ast": "node --no-warnings packages/cxx-gen-ast/src/gen.ts",
43-
"cxx-gen-lsp": "node packages/cxx-gen-lsp packages/cxx-gen-lsp/metaModel.json packages/cxx-gen-lsp -o src/lsp/cxx/lsp",
43+
"cxx-gen-lsp": "node --no-warnings packages/cxx-gen-lsp/src/main.ts packages/cxx-gen-lsp/metaModel.json packages/cxx-gen-lsp -o src/lsp/cxx/lsp",
4444
"download-lsp-model": "zx scripts/download-lsp-model.mjs",
4545
"download-mlir": "gh run download -n mlir --dir build.em/llvm-project/install/"
4646
}

packages/cxx-gen-lsp/.eslintrc.json

Lines changed: 0 additions & 14 deletions
This file was deleted.

packages/cxx-gen-lsp/package.json

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,8 @@
44
"private": true,
55
"type": "module",
66
"description": "Scripts to generate the LSP server for C++",
7-
"main": "./dist/main.js",
8-
"bin": {
9-
"cxx-gen-lsp": "./dist/main.js"
10-
},
117
"scripts": {
12-
"postinstall": "npm run build",
13-
"build": "tsc",
14-
"watch": "tsc -w"
8+
"check": "tsc"
159
},
1610
"keywords": [],
1711
"author": {
@@ -25,9 +19,6 @@
2519
"license": "MIT",
2620
"devDependencies": {
2721
"@types/node": "^24.0.10",
28-
"@typescript-eslint/eslint-plugin": "^8.35.1",
29-
"@typescript-eslint/parser": "^8.35.1",
30-
"eslint": "^9.30.1",
3122
"prettier": "^3.6.2",
3223
"typescript": "^5.8.3"
3324
}

packages/cxx-gen-lsp/src/gen_enums_cc.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1919
// SOFTWARE.
2020

21-
import { getEnumeratorName, MetaModel } from "./MetaModel.js";
21+
import { getEnumeratorName, type MetaModel } from "./MetaModel.ts";
2222

2323
import path from "node:path";
2424
import { writeFileSync } from "node:fs";
25-
import { copyrightHeader } from "./copyrightHeader.js";
25+
import { copyrightHeader } from "./copyrightHeader.ts";
2626

2727
export function gen_enums_cc({ model, outputDirectory }: { model: MetaModel; outputDirectory: string }) {
2828
let out = "";

packages/cxx-gen-lsp/src/gen_enums_h.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1919
// SOFTWARE.
2020

21-
import { getEnumBaseType, getEnumeratorInitializer, getEnumeratorName, MetaModel } from "./MetaModel.js";
21+
import { getEnumBaseType, getEnumeratorInitializer, getEnumeratorName, type MetaModel } from "./MetaModel.ts";
2222

2323
import path from "node:path";
2424
import { writeFileSync } from "node:fs";
25-
import { copyrightHeader } from "./copyrightHeader.js";
25+
import { copyrightHeader } from "./copyrightHeader.ts";
2626

2727
export function gen_enums_h({ model, outputDirectory }: { model: MetaModel; outputDirectory: string }) {
2828
let out = "";

packages/cxx-gen-lsp/src/gen_fwd_h.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
// SOFTWARE.
2020

2121
import * as path from "node:path";
22-
import { getEnumBaseType, MetaModel, toCppType, Type, Request, Notification, isRequest } from "./MetaModel.js";
22+
import type { MetaModel, Type, Request, Notification } from "./MetaModel.ts";
23+
import { getEnumBaseType, toCppType, isRequest } from "./MetaModel.ts";
2324
import { writeFileSync } from "node:fs";
24-
import { copyrightHeader } from "./copyrightHeader.js";
25+
import { copyrightHeader } from "./copyrightHeader.ts";
2526

2627
const fragment = `
2728

packages/cxx-gen-lsp/src/gen_requests_cc.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
// SOFTWARE.
2020

2121
import * as path from "node:path";
22-
import { isRequest, MetaModel, Structure, toCppType, Type } from "./MetaModel.js";
22+
import type { MetaModel, Structure, Type } from "./MetaModel.ts";
23+
import { isRequest, toCppType } from "./MetaModel.ts";
2324
import { writeFileSync } from "node:fs";
24-
import { copyrightHeader } from "./copyrightHeader.js";
25-
import { TypeGenerator } from "./gen_types_cc.js";
25+
import { copyrightHeader } from "./copyrightHeader.ts";
26+
import { TypeGenerator } from "./gen_types_cc.ts";
2627

2728
class RequestGenerator extends TypeGenerator {
2829
constructor({ model, outputDirectory }: { model: MetaModel; outputDirectory: string }) {

packages/cxx-gen-lsp/src/gen_requests_h.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
// SOFTWARE.
2020

2121
import * as path from "node:path";
22-
import { MetaModel, toCppType, Request, Notification, isRequest, Property, Structure } from "./MetaModel.js";
22+
import type { MetaModel, Request, Notification, Structure } from "./MetaModel.ts";
23+
import { toCppType, isRequest } from "./MetaModel.ts";
2324
import { writeFileSync } from "node:fs";
24-
import { copyrightHeader } from "./copyrightHeader.js";
25+
import { copyrightHeader } from "./copyrightHeader.ts";
2526

2627
const beginHeaderFragment = `
2728
#pragma once

packages/cxx-gen-lsp/src/gen_types_cc.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,10 @@
1919
// SOFTWARE.
2020

2121
import * as path from "node:path";
22-
import {
23-
Enumeration,
24-
getStructureProperties,
25-
MetaModel,
26-
Property,
27-
Structure,
28-
toCppType,
29-
Type,
30-
TypeAlias,
31-
} from "./MetaModel.js";
22+
import type { Enumeration, MetaModel, Property, Structure, Type, TypeAlias } from "./MetaModel.ts";
23+
import { getStructureProperties, toCppType } from "./MetaModel.ts";
3224
import { writeFileSync } from "node:fs";
33-
import { copyrightHeader } from "./copyrightHeader.js";
25+
import { copyrightHeader } from "./copyrightHeader.ts";
3426

3527
export class TypeGenerator {
3628
readonly structByName: Map<string, Structure>;

0 commit comments

Comments
 (0)