Skip to content

Commit 7813bc6

Browse files
committed
Added @babel/typescript & parsed typescript "the recast way"
1 parent 42fcde9 commit 7813bc6

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed
382 Bytes
Binary file not shown.

rocket-chatter-ingestion-server/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"typescript": "^5.4.2"
1515
},
1616
"dependencies": {
17+
"@babel/parser": "^7.24.7",
1718
"@huggingface/inference": "^2.6.6",
1819
"@types/cli-progress": "^3.11.5",
1920
"@types/cors": "^2.8.17",

rocket-chatter-ingestion-server/src/process/prepare/processor/file.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { parse } from "@typescript-eslint/typescript-estree"
21
import { namedTypes } from "ast-types"
32
import path from "path"
3+
import { parse } from "recast"
4+
import * as tsParser from "recast/parsers/typescript"
45

56
import { DBNode } from "../../../core/dbNode"
67
import { ISourceFile } from "../sourceFile.types"
@@ -18,10 +19,12 @@ import { VariableDeclarations } from "./syntax/variableDeclarations"
1819
export class FileProcessor implements IFileProcessor {
1920
process(sourceFile: ISourceFile, nodesRef: Record<string, DBNode>): void {
2021
const fileContent = sourceFile.read()
21-
const ast = parse(fileContent)
22+
const ast = parse(fileContent, {
23+
parser: tsParser,
24+
})
2225

2326
let treeNodes: TreeNode[] = []
24-
for (let node of ast.body) {
27+
for (let node of ast.program.body) {
2528
if (namedTypes.ExportNamedDeclaration.check(node))
2629
node = (node as any).declaration
2730

@@ -30,13 +33,13 @@ export class FileProcessor implements IFileProcessor {
3033
treeNodes.push(Functions.Handle(node))
3134
else if (namedTypes.TSInterfaceDeclaration.check(node))
3235
/* Interfaces */
33-
treeNodes.push(Interface.Handle(node))
36+
treeNodes.push(Interface.Handle(node as any))
3437
else if (namedTypes.TSTypeAliasDeclaration.check(node))
3538
/* Type Aliases */
3639
treeNodes.push(TypeAlias.Handle(node))
3740
else if (namedTypes.TSEnumDeclaration.check(node))
3841
/* Enums */
39-
treeNodes.push(Enums.Handle(node))
42+
treeNodes.push(Enums.Handle(node as any))
4043
else if (namedTypes.ClassDeclaration.check(node))
4144
/* Classes */
4245
treeNodes.push(Classes.Handle(node))
@@ -51,9 +54,9 @@ export class FileProcessor implements IFileProcessor {
5154
// Resolve imports
5255
const parsedImports = new Map<string, string>() // { importName: absolutePath }
5356
{
54-
const imports = ast.body
55-
.filter((node) => namedTypes.ImportDeclaration.check(node)) // Filter out all non-import nodes
56-
.filter((node) => (node as any).source.value.startsWith(".")) // Filter out all library/non-relative imports
57+
const imports = ast.program.body
58+
.filter((node: any) => namedTypes.ImportDeclaration.check(node)) // Filter out all non-import nodes
59+
.filter((node: any) => node.source.value.startsWith(".")) // Filter out all library/non-relative imports
5760
for (const i of imports) {
5861
const importName = (i as any).specifiers[0].local.name
5962

0 commit comments

Comments
 (0)