@tsrx/eslint-parser 0.3.74 → 0.3.76

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 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["BaseNodeWithoutComments","SourceLocation","type","loc","range","BaseNode","Comment","leadingComments","trailingComments","NodeMap","AssignmentProperty","CatchClause","Class","ClassBody","Expression","Function","Identifier","Literal","MethodDefinition","ModuleDeclaration","ModuleSpecifier","Pattern","PrivateIdentifier","Program","Property","PropertyDefinition","SpreadElement","Statement","Super","SwitchCase","TemplateElement","VariableDeclarator","Node","value","Position","source","start","end","line","column","Directive","Array","sourceType","body","comments","expression","directive","BaseFunction","BlockStatement","params","generator","async","FunctionDeclaration","FunctionExpression","ArrowFunctionExpression","ExpressionStatement","StaticBlock","EmptyStatement","DebuggerStatement","WithStatement","ReturnStatement","LabeledStatement","BreakStatement","ContinueStatement","IfStatement","SwitchStatement","ThrowStatement","TryStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement","Declaration","BaseStatement","innerComments","Omit","test","consequent","alternate","label","object","discriminant","cases","argument","block","handler","finalizer","VariableDeclaration","init","update","BaseForXStatement","left","right","ClassDeclaration","BaseDeclaration","MaybeNamedFunctionDeclaration","id","declarations","kind","ExpressionMap","ArrayExpression","AssignmentExpression","AwaitExpression","BinaryExpression","CallExpression","ChainExpression","ClassExpression","ConditionalExpression","ImportExpression","LogicalExpression","MemberExpression","MetaProperty","NewExpression","ObjectExpression","SequenceExpression","TaggedTemplateExpression","TemplateLiteral","ThisExpression","UnaryExpression","UpdateExpression","YieldExpression","BaseExpression","ChainElement","SimpleCallExpression","elements","properties","name","key","method","shorthand","computed","static","expressions","UnaryOperator","operator","prefix","BinaryOperator","AssignmentOperator","UpdateOperator","LogicalOperator","BaseCallExpression","callee","arguments","optional","BasePattern","property","ObjectPattern","ArrayPattern","RestElement","AssignmentPattern","param","SimpleLiteral","RegExpLiteral","BigIntLiteral","raw","RegExp","regex","pattern","flags","bigint","await","delegate","quasis","tag","quasi","tail","cooked","BaseClass","superClass","MaybeNamedClassDeclaration","meta","ImportDeclaration","ExportNamedDeclaration","ExportDefaultDeclaration","ExportAllDeclaration","BaseModuleDeclaration","ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier","ExportSpecifier","BaseModuleSpecifier","local","ImportAttribute","specifiers","attributes","imported","options","declaration","exported"],"sources":["../../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../src/index.ts"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["BaseNodeWithoutComments","SourceLocation","type","loc","range","BaseNode","Comment","leadingComments","trailingComments","NodeMap","AssignmentProperty","CatchClause","Class","ClassBody","Expression","Function","Identifier","Literal","MethodDefinition","ModuleDeclaration","ModuleSpecifier","Pattern","PrivateIdentifier","Program","Property","PropertyDefinition","SpreadElement","Statement","Super","SwitchCase","TemplateElement","VariableDeclarator","Node","value","Position","source","start","end","line","column","Directive","Array","sourceType","body","comments","expression","directive","BaseFunction","BlockStatement","params","generator","async","FunctionDeclaration","FunctionExpression","ArrowFunctionExpression","ExpressionStatement","StaticBlock","EmptyStatement","DebuggerStatement","WithStatement","ReturnStatement","LabeledStatement","BreakStatement","ContinueStatement","IfStatement","SwitchStatement","ThrowStatement","TryStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","ForOfStatement","Declaration","BaseStatement","innerComments","Omit","test","consequent","alternate","label","object","discriminant","cases","argument","block","handler","finalizer","VariableDeclaration","init","update","BaseForXStatement","left","right","ClassDeclaration","BaseDeclaration","MaybeNamedFunctionDeclaration","id","declarations","kind","ExpressionMap","ArrayExpression","AssignmentExpression","AwaitExpression","BinaryExpression","CallExpression","ChainExpression","ClassExpression","ConditionalExpression","ImportExpression","LogicalExpression","MemberExpression","MetaProperty","NewExpression","ObjectExpression","SequenceExpression","TaggedTemplateExpression","TemplateLiteral","ThisExpression","UnaryExpression","UpdateExpression","YieldExpression","BaseExpression","ChainElement","SimpleCallExpression","elements","properties","name","key","method","shorthand","computed","static","expressions","UnaryOperator","operator","prefix","BinaryOperator","AssignmentOperator","UpdateOperator","LogicalOperator","BaseCallExpression","callee","arguments","optional","BasePattern","property","ObjectPattern","ArrayPattern","RestElement","AssignmentPattern","param","SimpleLiteral","RegExpLiteral","BigIntLiteral","raw","RegExp","regex","pattern","flags","bigint","await","delegate","quasis","tag","quasi","tail","cooked","BaseClass","superClass","MaybeNamedClassDeclaration","meta","ImportDeclaration","ExportNamedDeclaration","ExportDefaultDeclaration","ExportAllDeclaration","BaseModuleDeclaration","ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier","ExportSpecifier","BaseModuleSpecifier","local","ImportAttribute","specifiers","attributes","imported","options","declaration","exported"],"sources":["../../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../src/index.ts"],"x_google_ignoreList":[0],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { parseModule } from "@tsrx/core";
1
+ import { DIAGNOSTIC_CODES, parseModule } from "@tsrx/core";
2
2
  //#region src/index.ts
3
3
  const visitorKeys = {
4
4
  Program: ["body"],
@@ -128,6 +128,19 @@ function ensure_node_properties(node, code) {
128
128
  else if (value && typeof value === "object" && value.type) ensure_node_properties(value, code);
129
129
  }
130
130
  }
131
+ function is_fatal_parser_diagnostic(error) {
132
+ return error?.code === DIAGNOSTIC_CODES.UNCLOSED_TAG || error?.code === DIAGNOSTIC_CODES.MISMATCHED_CLOSING_TAG;
133
+ }
134
+ function to_eslint_parse_error(error) {
135
+ const parse_error = new SyntaxError(error?.message || String(error));
136
+ const loc = error?.loc?.start;
137
+ if (loc) {
138
+ parse_error.lineNumber = loc.line;
139
+ parse_error.column = loc.column + 1;
140
+ }
141
+ if (typeof error?.start === "number") parse_error.index = error.start;
142
+ return parse_error;
143
+ }
131
144
  /**
132
145
  * ESLint parser for TSRX (.tsrx) files
133
146
  *
@@ -136,8 +149,14 @@ function ensure_node_properties(node, code) {
136
149
  */
137
150
  function parseForESLint(code, options) {
138
151
  try {
139
- const ast = parseModule(code, options?.filePath);
152
+ const errors = [];
153
+ const ast = parseModule(code, options?.filePath, {
154
+ collect: true,
155
+ errors
156
+ });
140
157
  if (!ast) throw new Error("Parser returned null or undefined AST");
158
+ const fatal_error = errors.find(is_fatal_parser_diagnostic);
159
+ if (fatal_error) throw to_eslint_parse_error(fatal_error);
141
160
  normalize_tsrx_ast_for_eslint(ast);
142
161
  ensure_node_properties(ast, code);
143
162
  return {
@@ -161,10 +180,11 @@ function parseForESLint(code, options) {
161
180
  comments: ast.comments || [],
162
181
  tokens: ast.tokens || []
163
182
  },
164
- services: {},
183
+ services: { tsrxDiagnostics: errors },
165
184
  visitorKeys
166
185
  };
167
186
  } catch (error) {
187
+ if (error instanceof SyntaxError && error.lineNumber != null) throw error;
168
188
  throw new SyntaxError(`Failed to parse TSRX file: ${error.message || error}`);
169
189
  }
170
190
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["parse_module"],"sources":["../src/index.ts"],"sourcesContent":["import type { Program } from 'estree';\nimport type { Linter } from 'eslint';\nimport { parseModule as parse_module } from '@tsrx/core';\n\ninterface ParseResult {\n\tast: Program;\n\tservices?: Record<string, any>;\n\tscopeManager?: any;\n\tvisitorKeys?: Record<string, string[]>;\n}\n\nconst visitorKeys: Record<string, string[]> = {\n\tProgram: ['body'],\n\tJSXElement: ['openingElement', 'children', 'closingElement'],\n\tJSXOpeningElement: ['name', 'attributes'],\n\tJSXClosingElement: ['name'],\n\tJSXFragment: ['openingFragment', 'children', 'closingFragment'],\n\tJSXOpeningFragment: [],\n\tJSXClosingFragment: [],\n\tJSXExpressionContainer: ['expression'],\n\tJSXAttribute: ['name', 'value'],\n\tJSXSpreadAttribute: ['argument'],\n\tJSXIdentifier: [],\n\tJSXMemberExpression: ['object', 'property'],\n\tJSXNamespacedName: ['namespace', 'name'],\n\tJSXText: [],\n\tJSXStyleElement: ['openingElement', 'children', 'closingElement'],\n\tJSXIfExpression: ['test', 'consequent', 'alternate'],\n\tJSXForExpression: ['init', 'test', 'update', 'left', 'right', 'body', 'index', 'key', 'empty'],\n\tJSXSwitchExpression: ['discriminant', 'cases'],\n\tJSXTryExpression: ['block', 'handler', 'finalizer', 'pending'],\n\tJSXCodeBlock: ['body', 'render'],\n\tStyleSheet: [],\n\tForOfStatement: ['left', 'right', 'body'],\n};\n\n/**\n * Keep this hook for small ESLint-only AST normalizations.\n */\nfunction normalize_tsrx_ast_for_eslint(ast: any): void {\n\tconst seen = new Set<any>();\n\tconst visit = (node: any) => {\n\t\tif (!node || typeof node !== 'object') return;\n\t\tif (seen.has(node)) return;\n\t\tseen.add(node);\n\n\t\tfor (const key of Object.keys(node)) {\n\t\t\tif (key === 'parent' || key === 'loc' || key === 'range') continue;\n\t\t\tconst value = node[key];\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tfor (const child of value) visit(child);\n\t\t\t} else if (value && typeof value === 'object') {\n\t\t\t\tvisit(value);\n\t\t\t}\n\t\t}\n\t};\n\n\tvisit(ast);\n}\n\n/**\n * Recursively walks the AST and ensures all nodes have range and loc properties\n * ESLint's scope analyzer requires these properties on ALL nodes\n */\nfunction ensure_node_properties(node: any, code: string): void {\n\tif (!node || typeof node !== 'object') {\n\t\treturn;\n\t}\n\n\t// Ensure range property exists\n\tif (node.start !== undefined && node.end !== undefined && !node.range) {\n\t\tnode.range = [node.start, node.end];\n\t}\n\n\t// Ensure loc property exists\n\tif (!node.loc && node.start !== undefined && node.end !== undefined) {\n\t\tconst lines = code.split('\\n');\n\t\tlet current_pos = 0;\n\t\tlet start_line = 1;\n\t\tlet start_column = 0;\n\t\tlet end_line = 1;\n\t\tlet end_column = 0;\n\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line_length = lines[i].length + 1;\n\t\t\tif (current_pos + line_length > node.start) {\n\t\t\t\tstart_line = i + 1;\n\t\t\t\tstart_column = node.start - current_pos;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_pos += line_length;\n\t\t}\n\n\t\tcurrent_pos = 0;\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line_length = lines[i].length + 1;\n\t\t\tif (current_pos + line_length > node.end) {\n\t\t\t\tend_line = i + 1;\n\t\t\t\tend_column = node.end - current_pos;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_pos += line_length;\n\t\t}\n\n\t\tnode.loc = {\n\t\t\tstart: { line: start_line, column: start_column },\n\t\t\tend: { line: end_line, column: end_column },\n\t\t};\n\t}\n\n\tfor (const key in node) {\n\t\tif (key === 'parent' || key === 'loc' || key === 'range') {\n\t\t\tcontinue; // Skip these to avoid infinite loops\n\t\t}\n\n\t\tconst value = node[key];\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach((child) => ensure_node_properties(child, code));\n\t\t} else if (value && typeof value === 'object' && value.type) {\n\t\t\tensure_node_properties(value, code);\n\t\t}\n\t}\n}\n\n/**\n * ESLint parser for TSRX (.tsrx) files\n *\n * This parser uses the shared TSRX parser to parse .tsrx files\n * and returns an ESTree-compatible AST for ESLint to analyze.\n */\nexport function parseForESLint(code: string, options?: Linter.ParserOptions): ParseResult {\n\ttry {\n\t\t// Parse the TSRX source code using the shared TSRX parser\n\t\tconst ast = parse_module(code, options?.filePath) as any;\n\t\tif (!ast) throw new Error('Parser returned null or undefined AST');\n\n\t\t// Normalize for ESLint traversal (avoid duplicate node visits)\n\t\tnormalize_tsrx_ast_for_eslint(ast);\n\n\t\t// Recursively ensure all nodes have range and loc properties\n\t\tensure_node_properties(ast, code);\n\n\t\t// Create a properly structured AST object ensuring all required properties exist\n\t\tconst result: any = {\n\t\t\ttype: ast.type || 'Program',\n\t\t\tstart: ast.start !== undefined ? ast.start : 0,\n\t\t\tend: ast.end !== undefined ? ast.end : code.length,\n\t\t\tloc: ast.loc || {\n\t\t\t\tstart: { line: 1, column: 0 },\n\t\t\t\tend: { line: code.split('\\n').length, column: 0 },\n\t\t\t},\n\t\t\trange: ast.range || [0, code.length],\n\t\t\tbody: ast.body || [],\n\t\t\tsourceType: ast.sourceType || 'module',\n\t\t\tcomments: ast.comments || [],\n\t\t\ttokens: ast.tokens || [],\n\t\t};\n\n\t\treturn {\n\t\t\tast: result,\n\t\t\tservices: {},\n\t\t\tvisitorKeys,\n\t\t};\n\t} catch (error: any) {\n\t\t// Transform TSRX parse errors to ESLint-compatible format\n\t\tthrow new SyntaxError(`Failed to parse TSRX file: ${error.message || error}`);\n\t}\n}\n\n/**\n * Legacy parse function for older ESLint versions\n */\nexport function parse(code: string, options?: Linter.ParserOptions): Program {\n\tconst result = parseForESLint(code, options);\n\treturn result.ast;\n}\n\nexport default {\n\tparseForESLint,\n\tparse,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["parse_module"],"sources":["../src/index.ts"],"sourcesContent":["import type { Program } from 'estree';\nimport type { Linter } from 'eslint';\nimport { DIAGNOSTIC_CODES, parseModule as parse_module } from '@tsrx/core';\n\ninterface ParseResult {\n\tast: Program;\n\tservices?: Record<string, any>;\n\tscopeManager?: any;\n\tvisitorKeys?: Record<string, string[]>;\n}\n\nconst visitorKeys: Record<string, string[]> = {\n\tProgram: ['body'],\n\tJSXElement: ['openingElement', 'children', 'closingElement'],\n\tJSXOpeningElement: ['name', 'attributes'],\n\tJSXClosingElement: ['name'],\n\tJSXFragment: ['openingFragment', 'children', 'closingFragment'],\n\tJSXOpeningFragment: [],\n\tJSXClosingFragment: [],\n\tJSXExpressionContainer: ['expression'],\n\tJSXAttribute: ['name', 'value'],\n\tJSXSpreadAttribute: ['argument'],\n\tJSXIdentifier: [],\n\tJSXMemberExpression: ['object', 'property'],\n\tJSXNamespacedName: ['namespace', 'name'],\n\tJSXText: [],\n\tJSXStyleElement: ['openingElement', 'children', 'closingElement'],\n\tJSXIfExpression: ['test', 'consequent', 'alternate'],\n\tJSXForExpression: ['init', 'test', 'update', 'left', 'right', 'body', 'index', 'key', 'empty'],\n\tJSXSwitchExpression: ['discriminant', 'cases'],\n\tJSXTryExpression: ['block', 'handler', 'finalizer', 'pending'],\n\tJSXCodeBlock: ['body', 'render'],\n\tStyleSheet: [],\n\tForOfStatement: ['left', 'right', 'body'],\n};\n\n/**\n * Keep this hook for small ESLint-only AST normalizations.\n */\nfunction normalize_tsrx_ast_for_eslint(ast: any): void {\n\tconst seen = new Set<any>();\n\tconst visit = (node: any) => {\n\t\tif (!node || typeof node !== 'object') return;\n\t\tif (seen.has(node)) return;\n\t\tseen.add(node);\n\n\t\tfor (const key of Object.keys(node)) {\n\t\t\tif (key === 'parent' || key === 'loc' || key === 'range') continue;\n\t\t\tconst value = node[key];\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tfor (const child of value) visit(child);\n\t\t\t} else if (value && typeof value === 'object') {\n\t\t\t\tvisit(value);\n\t\t\t}\n\t\t}\n\t};\n\n\tvisit(ast);\n}\n\n/**\n * Recursively walks the AST and ensures all nodes have range and loc properties\n * ESLint's scope analyzer requires these properties on ALL nodes\n */\nfunction ensure_node_properties(node: any, code: string): void {\n\tif (!node || typeof node !== 'object') {\n\t\treturn;\n\t}\n\n\t// Ensure range property exists\n\tif (node.start !== undefined && node.end !== undefined && !node.range) {\n\t\tnode.range = [node.start, node.end];\n\t}\n\n\t// Ensure loc property exists\n\tif (!node.loc && node.start !== undefined && node.end !== undefined) {\n\t\tconst lines = code.split('\\n');\n\t\tlet current_pos = 0;\n\t\tlet start_line = 1;\n\t\tlet start_column = 0;\n\t\tlet end_line = 1;\n\t\tlet end_column = 0;\n\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line_length = lines[i].length + 1;\n\t\t\tif (current_pos + line_length > node.start) {\n\t\t\t\tstart_line = i + 1;\n\t\t\t\tstart_column = node.start - current_pos;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_pos += line_length;\n\t\t}\n\n\t\tcurrent_pos = 0;\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line_length = lines[i].length + 1;\n\t\t\tif (current_pos + line_length > node.end) {\n\t\t\t\tend_line = i + 1;\n\t\t\t\tend_column = node.end - current_pos;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_pos += line_length;\n\t\t}\n\n\t\tnode.loc = {\n\t\t\tstart: { line: start_line, column: start_column },\n\t\t\tend: { line: end_line, column: end_column },\n\t\t};\n\t}\n\n\tfor (const key in node) {\n\t\tif (key === 'parent' || key === 'loc' || key === 'range') {\n\t\t\tcontinue; // Skip these to avoid infinite loops\n\t\t}\n\n\t\tconst value = node[key];\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach((child) => ensure_node_properties(child, code));\n\t\t} else if (value && typeof value === 'object' && value.type) {\n\t\t\tensure_node_properties(value, code);\n\t\t}\n\t}\n}\n\nfunction is_fatal_parser_diagnostic(error: any): boolean {\n\treturn (\n\t\terror?.code === DIAGNOSTIC_CODES.UNCLOSED_TAG ||\n\t\terror?.code === DIAGNOSTIC_CODES.MISMATCHED_CLOSING_TAG\n\t);\n}\n\nfunction to_eslint_parse_error(error: any): SyntaxError {\n\tconst parse_error: any = new SyntaxError(error?.message || String(error));\n\tconst loc = error?.loc?.start;\n\tif (loc) {\n\t\tparse_error.lineNumber = loc.line;\n\t\tparse_error.column = loc.column + 1;\n\t}\n\tif (typeof error?.start === 'number') {\n\t\tparse_error.index = error.start;\n\t}\n\treturn parse_error;\n}\n\n/**\n * ESLint parser for TSRX (.tsrx) files\n *\n * This parser uses the shared TSRX parser to parse .tsrx files\n * and returns an ESTree-compatible AST for ESLint to analyze.\n */\nexport function parseForESLint(code: string, options?: Linter.ParserOptions): ParseResult {\n\ttry {\n\t\tconst errors: any[] = [];\n\t\t// Parse the TSRX source code using the shared TSRX parser\n\t\tconst ast = parse_module(code, options?.filePath, { collect: true, errors }) as any;\n\t\tif (!ast) throw new Error('Parser returned null or undefined AST');\n\n\t\tconst fatal_error = errors.find(is_fatal_parser_diagnostic);\n\t\tif (fatal_error) {\n\t\t\tthrow to_eslint_parse_error(fatal_error);\n\t\t}\n\n\t\t// Normalize for ESLint traversal (avoid duplicate node visits)\n\t\tnormalize_tsrx_ast_for_eslint(ast);\n\n\t\t// Recursively ensure all nodes have range and loc properties\n\t\tensure_node_properties(ast, code);\n\n\t\t// Create a properly structured AST object ensuring all required properties exist\n\t\tconst result: any = {\n\t\t\ttype: ast.type || 'Program',\n\t\t\tstart: ast.start !== undefined ? ast.start : 0,\n\t\t\tend: ast.end !== undefined ? ast.end : code.length,\n\t\t\tloc: ast.loc || {\n\t\t\t\tstart: { line: 1, column: 0 },\n\t\t\t\tend: { line: code.split('\\n').length, column: 0 },\n\t\t\t},\n\t\t\trange: ast.range || [0, code.length],\n\t\t\tbody: ast.body || [],\n\t\t\tsourceType: ast.sourceType || 'module',\n\t\t\tcomments: ast.comments || [],\n\t\t\ttokens: ast.tokens || [],\n\t\t};\n\n\t\treturn {\n\t\t\tast: result,\n\t\t\tservices: {\n\t\t\t\ttsrxDiagnostics: errors,\n\t\t\t},\n\t\t\tvisitorKeys,\n\t\t};\n\t} catch (error: any) {\n\t\tif (error instanceof SyntaxError && (error as any).lineNumber != null) {\n\t\t\tthrow error;\n\t\t}\n\t\t// Transform TSRX parse errors to ESLint-compatible format\n\t\tthrow new SyntaxError(`Failed to parse TSRX file: ${error.message || error}`);\n\t}\n}\n\n/**\n * Legacy parse function for older ESLint versions\n */\nexport function parse(code: string, options?: Linter.ParserOptions): Program {\n\tconst result = parseForESLint(code, options);\n\treturn result.ast;\n}\n\nexport default {\n\tparseForESLint,\n\tparse,\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsrx/eslint-parser",
3
- "version": "0.3.74",
3
+ "version": "0.3.76",
4
4
  "description": "ESLint parser for Ripple (.tsrx files)",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -33,7 +33,7 @@
33
33
  "eslint": ">=9.0.0"
34
34
  },
35
35
  "dependencies": {
36
- "@tsrx/core": "0.1.22"
36
+ "@tsrx/core": "0.1.24"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/eslint": "^9.6.1",
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Program } from 'estree';
2
2
  import type { Linter } from 'eslint';
3
- import { parseModule as parse_module } from '@tsrx/core';
3
+ import { DIAGNOSTIC_CODES, parseModule as parse_module } from '@tsrx/core';
4
4
 
5
5
  interface ParseResult {
6
6
  ast: Program;
@@ -122,6 +122,26 @@ function ensure_node_properties(node: any, code: string): void {
122
122
  }
123
123
  }
124
124
 
125
+ function is_fatal_parser_diagnostic(error: any): boolean {
126
+ return (
127
+ error?.code === DIAGNOSTIC_CODES.UNCLOSED_TAG ||
128
+ error?.code === DIAGNOSTIC_CODES.MISMATCHED_CLOSING_TAG
129
+ );
130
+ }
131
+
132
+ function to_eslint_parse_error(error: any): SyntaxError {
133
+ const parse_error: any = new SyntaxError(error?.message || String(error));
134
+ const loc = error?.loc?.start;
135
+ if (loc) {
136
+ parse_error.lineNumber = loc.line;
137
+ parse_error.column = loc.column + 1;
138
+ }
139
+ if (typeof error?.start === 'number') {
140
+ parse_error.index = error.start;
141
+ }
142
+ return parse_error;
143
+ }
144
+
125
145
  /**
126
146
  * ESLint parser for TSRX (.tsrx) files
127
147
  *
@@ -130,10 +150,16 @@ function ensure_node_properties(node: any, code: string): void {
130
150
  */
131
151
  export function parseForESLint(code: string, options?: Linter.ParserOptions): ParseResult {
132
152
  try {
153
+ const errors: any[] = [];
133
154
  // Parse the TSRX source code using the shared TSRX parser
134
- const ast = parse_module(code, options?.filePath) as any;
155
+ const ast = parse_module(code, options?.filePath, { collect: true, errors }) as any;
135
156
  if (!ast) throw new Error('Parser returned null or undefined AST');
136
157
 
158
+ const fatal_error = errors.find(is_fatal_parser_diagnostic);
159
+ if (fatal_error) {
160
+ throw to_eslint_parse_error(fatal_error);
161
+ }
162
+
137
163
  // Normalize for ESLint traversal (avoid duplicate node visits)
138
164
  normalize_tsrx_ast_for_eslint(ast);
139
165
 
@@ -158,10 +184,15 @@ export function parseForESLint(code: string, options?: Linter.ParserOptions): Pa
158
184
 
159
185
  return {
160
186
  ast: result,
161
- services: {},
187
+ services: {
188
+ tsrxDiagnostics: errors,
189
+ },
162
190
  visitorKeys,
163
191
  };
164
192
  } catch (error: any) {
193
+ if (error instanceof SyntaxError && (error as any).lineNumber != null) {
194
+ throw error;
195
+ }
165
196
  // Transform TSRX parse errors to ESLint-compatible format
166
197
  throw new SyntaxError(`Failed to parse TSRX file: ${error.message || error}`);
167
198
  }