@depup/babel__eslint-parser 7.28.6-depup.0

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.
Files changed (43) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +32 -0
  3. package/changes.json +14 -0
  4. package/lib/analyze-scope.cjs +325 -0
  5. package/lib/analyze-scope.cjs.map +1 -0
  6. package/lib/client.cjs +104 -0
  7. package/lib/client.cjs.map +1 -0
  8. package/lib/configuration.cjs +23 -0
  9. package/lib/configuration.cjs.map +1 -0
  10. package/lib/convert/convertAST.cjs +134 -0
  11. package/lib/convert/convertAST.cjs.map +1 -0
  12. package/lib/convert/convertComments.cjs +10 -0
  13. package/lib/convert/convertComments.cjs.map +1 -0
  14. package/lib/convert/convertTokens.cjs +158 -0
  15. package/lib/convert/convertTokens.cjs.map +1 -0
  16. package/lib/convert/index.cjs +25 -0
  17. package/lib/convert/index.cjs.map +1 -0
  18. package/lib/experimental-worker.cjs +32 -0
  19. package/lib/experimental-worker.cjs.map +1 -0
  20. package/lib/index.cjs +32 -0
  21. package/lib/index.cjs.map +1 -0
  22. package/lib/parse.cjs +37 -0
  23. package/lib/parse.cjs.map +1 -0
  24. package/lib/utils/eslint-version.cjs +5 -0
  25. package/lib/utils/eslint-version.cjs.map +1 -0
  26. package/lib/worker/ast-info.cjs +38 -0
  27. package/lib/worker/ast-info.cjs.map +1 -0
  28. package/lib/worker/babel-core.cjs +19 -0
  29. package/lib/worker/babel-core.cjs.map +1 -0
  30. package/lib/worker/configuration.cjs +99 -0
  31. package/lib/worker/configuration.cjs.map +1 -0
  32. package/lib/worker/extract-parser-options-plugin.cjs +11 -0
  33. package/lib/worker/extract-parser-options-plugin.cjs.map +1 -0
  34. package/lib/worker/handle-message.cjs +31 -0
  35. package/lib/worker/handle-message.cjs.map +1 -0
  36. package/lib/worker/index.cjs +39 -0
  37. package/lib/worker/index.cjs.map +1 -0
  38. package/lib/worker/maybeParse.cjs +56 -0
  39. package/lib/worker/maybeParse.cjs.map +1 -0
  40. package/lib/worker/maybeParseSync.cjs +48 -0
  41. package/lib/worker/maybeParseSync.cjs.map +1 -0
  42. package/package.json +75 -0
  43. package/types.d.cts +9 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ const ESLINT_VERSION = require("../utils/eslint-version.cjs");
4
+ function* it(children) {
5
+ if (Array.isArray(children)) yield* children;else yield children;
6
+ }
7
+ function traverse(node, visitorKeys, visitor) {
8
+ const {
9
+ type
10
+ } = node;
11
+ if (!type) return;
12
+ const keys = visitorKeys[type];
13
+ if (!keys) return;
14
+ for (const key of keys) {
15
+ for (const child of it(node[key])) {
16
+ if (child && typeof child === "object") {
17
+ visitor.enter(child);
18
+ traverse(child, visitorKeys, visitor);
19
+ visitor.exit(child);
20
+ }
21
+ }
22
+ }
23
+ }
24
+ const convertNodesVisitor = {
25
+ enter(node) {
26
+ if (node.innerComments) {
27
+ delete node.innerComments;
28
+ }
29
+ if (node.trailingComments) {
30
+ delete node.trailingComments;
31
+ }
32
+ if (node.leadingComments) {
33
+ delete node.leadingComments;
34
+ }
35
+ },
36
+ exit(node) {
37
+ if (node.extra) {
38
+ delete node.extra;
39
+ }
40
+ if (node.loc.identifierName) {
41
+ delete node.loc.identifierName;
42
+ }
43
+ if (node.type === "TypeParameter") {
44
+ node.type = "Identifier";
45
+ node.typeAnnotation = node.bound;
46
+ delete node.bound;
47
+ }
48
+ if (node.type === "QualifiedTypeIdentifier") {
49
+ delete node.id;
50
+ }
51
+ if (node.type === "ObjectTypeProperty") {
52
+ delete node.key;
53
+ }
54
+ if (node.type === "ObjectTypeIndexer") {
55
+ delete node.id;
56
+ }
57
+ if (node.type === "FunctionTypeParam") {
58
+ delete node.name;
59
+ }
60
+ if (node.type === "ImportDeclaration") {
61
+ delete node.isType;
62
+ }
63
+ if (node.type === "TemplateLiteral" || node.type === "TSTemplateLiteralType") {
64
+ for (let i = 0; i < node.quasis.length; i++) {
65
+ const q = node.quasis[i];
66
+ q.range[0] -= 1;
67
+ if (q.tail) {
68
+ q.range[1] += 1;
69
+ } else {
70
+ q.range[1] += 2;
71
+ }
72
+ q.loc.start.column -= 1;
73
+ if (q.tail) {
74
+ q.loc.end.column += 1;
75
+ } else {
76
+ q.loc.end.column += 2;
77
+ }
78
+ if (ESLINT_VERSION >= 8) {
79
+ q.start -= 1;
80
+ if (q.tail) {
81
+ q.end += 1;
82
+ } else {
83
+ q.end += 2;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+ };
90
+ function convertNodes(ast, visitorKeys) {
91
+ traverse(ast, visitorKeys, convertNodesVisitor);
92
+ }
93
+ function convertProgramNode(ast) {
94
+ const body = ast.program.body;
95
+ Object.assign(ast, {
96
+ type: "Program",
97
+ sourceType: ast.program.sourceType,
98
+ body
99
+ });
100
+ delete ast.program;
101
+ delete ast.errors;
102
+ if (ast.comments.length) {
103
+ const lastComment = ast.comments[ast.comments.length - 1];
104
+ if (ast.tokens.length) {
105
+ const lastToken = ast.tokens[ast.tokens.length - 1];
106
+ if (lastComment.end > lastToken.end) {
107
+ ast.range[1] = lastToken.end;
108
+ ast.loc.end.line = lastToken.loc.end.line;
109
+ ast.loc.end.column = lastToken.loc.end.column;
110
+ if (ESLINT_VERSION >= 8) {
111
+ ast.end = lastToken.end;
112
+ }
113
+ }
114
+ }
115
+ } else {
116
+ if (!ast.tokens.length) {
117
+ ast.loc.start.line = 1;
118
+ ast.loc.end.line = 1;
119
+ }
120
+ }
121
+ if (body != null && body.length) {
122
+ ast.loc.start.line = body[0].loc.start.line;
123
+ ast.range[0] = body[0].start;
124
+ if (ESLINT_VERSION >= 8) {
125
+ ast.start = body[0].start;
126
+ }
127
+ }
128
+ }
129
+ module.exports = function convertAST(ast, visitorKeys) {
130
+ convertNodes(ast, visitorKeys);
131
+ convertProgramNode(ast);
132
+ };
133
+
134
+ //# sourceMappingURL=convertAST.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ESLINT_VERSION","require","it","children","Array","isArray","traverse","node","visitorKeys","visitor","type","keys","key","child","enter","exit","convertNodesVisitor","innerComments","trailingComments","leadingComments","extra","loc","identifierName","typeAnnotation","bound","id","name","isType","i","quasis","length","q","range","tail","start","column","end","convertNodes","ast","convertProgramNode","body","program","Object","assign","sourceType","errors","comments","lastComment","tokens","lastToken","line","module","exports","convertAST"],"sources":["../../src/convert/convertAST.cts"],"sourcesContent":["import type * as t from \"@babel/types\";\nimport ESLINT_VERSION = require(\"../utils/eslint-version.cts\");\nimport type { ParseResult } from \"../types.d.cts\";\n\nfunction* it<T>(children: T | T[]) {\n if (Array.isArray(children)) yield* children;\n else yield children;\n}\n\nfunction traverse(\n node: t.Node,\n visitorKeys: Record<string, string[]>,\n visitor: typeof convertNodesVisitor,\n) {\n const { type } = node;\n if (!type) return;\n const keys = visitorKeys[type];\n if (!keys) return;\n\n for (const key of keys) {\n for (const child of it(\n node[key as keyof t.Node] as unknown as t.Node | t.Node[],\n )) {\n if (child && typeof child === \"object\") {\n visitor.enter(child);\n traverse(child, visitorKeys, visitor);\n visitor.exit(child);\n }\n }\n }\n}\n\nconst convertNodesVisitor = {\n enter(node: t.Node) {\n if (node.innerComments) {\n delete node.innerComments;\n }\n\n if (node.trailingComments) {\n delete node.trailingComments;\n }\n\n if (node.leadingComments) {\n delete node.leadingComments;\n }\n },\n exit(node: t.Node) {\n // Used internally by @babel/parser.\n if (node.extra) {\n delete node.extra;\n }\n\n if (process.env.IS_PUBLISH) {\n if (node.loc.identifierName) {\n delete node.loc.identifierName;\n }\n } else {\n // To minimize the jest-diff noise comparing Babel AST and third-party AST,\n // here we generate a deep copy of loc without identifierName and index\n if (node.loc) {\n node.loc = {\n end: {\n column: node.loc.end.column,\n line: node.loc.end.line,\n },\n start: {\n column: node.loc.start.column,\n line: node.loc.start.line,\n },\n } as any;\n }\n }\n\n if (node.type === \"TypeParameter\") {\n // @ts-expect-error eslint\n node.type = \"Identifier\";\n // @ts-expect-error eslint\n node.typeAnnotation = node.bound;\n delete node.bound;\n }\n\n // flow: prevent \"no-undef\"\n // for \"Component\" in: \"let x: React.Component\"\n if (node.type === \"QualifiedTypeIdentifier\") {\n delete node.id;\n }\n // for \"b\" in: \"var a: { b: Foo }\"\n if (node.type === \"ObjectTypeProperty\") {\n delete node.key;\n }\n // for \"indexer\" in: \"var a: {[indexer: string]: number}\"\n if (node.type === \"ObjectTypeIndexer\") {\n delete node.id;\n }\n // for \"param\" in: \"var a: { func(param: Foo): Bar };\"\n if (node.type === \"FunctionTypeParam\") {\n delete node.name;\n }\n\n // modules\n if (node.type === \"ImportDeclaration\") {\n // @ts-expect-error legacy?\n delete node.isType;\n }\n\n // template string range fixes\n if (\n node.type === \"TemplateLiteral\" ||\n node.type === \"TSTemplateLiteralType\"\n ) {\n for (let i = 0; i < node.quasis.length; i++) {\n const q = node.quasis[i];\n q.range[0] -= 1;\n if (q.tail) {\n q.range[1] += 1;\n } else {\n q.range[1] += 2;\n }\n q.loc.start.column -= 1;\n if (q.tail) {\n q.loc.end.column += 1;\n } else {\n q.loc.end.column += 2;\n }\n\n if (ESLINT_VERSION >= 8) {\n q.start -= 1;\n if (q.tail) {\n q.end += 1;\n } else {\n q.end += 2;\n }\n }\n }\n }\n },\n};\n\nfunction convertNodes(ast: ParseResult, visitorKeys: Record<string, string[]>) {\n traverse(ast as unknown as t.Program, visitorKeys, convertNodesVisitor);\n}\n\nfunction convertProgramNode(ast: ParseResult) {\n const body = ast.program.body;\n Object.assign(ast, {\n type: \"Program\",\n sourceType: ast.program.sourceType,\n body,\n });\n delete ast.program;\n delete ast.errors;\n\n if (ast.comments.length) {\n const lastComment = ast.comments[ast.comments.length - 1];\n\n if (ast.tokens.length) {\n const lastToken = ast.tokens[ast.tokens.length - 1];\n\n if (lastComment.end > lastToken.end) {\n // If there is a comment after the last token, the program ends at the\n // last token and not the comment\n ast.range[1] = lastToken.end;\n ast.loc.end.line = lastToken.loc.end.line;\n ast.loc.end.column = lastToken.loc.end.column;\n\n if (ESLINT_VERSION >= 8) {\n ast.end = lastToken.end;\n }\n }\n }\n } else {\n if (!ast.tokens.length) {\n ast.loc.start.line = 1;\n ast.loc.end.line = 1;\n }\n }\n\n if (body?.length) {\n ast.loc.start.line = body[0].loc.start.line;\n ast.range[0] = body[0].start;\n\n if (ESLINT_VERSION >= 8) {\n ast.start = body[0].start;\n }\n }\n}\n\nexport = function convertAST(\n ast: ParseResult,\n visitorKeys: Record<string, string[]>,\n) {\n convertNodes(ast, visitorKeys);\n convertProgramNode(ast);\n};\n"],"mappings":";;MACOA,cAAc,GAAAC,OAAA,CAAW,6BAA6B;AAG7D,UAAUC,EAAEA,CAAIC,QAAiB,EAAE;EACjC,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE,OAAOA,QAAQ,CAAC,KACxC,MAAMA,QAAQ;AACrB;AAEA,SAASG,QAAQA,CACfC,IAAY,EACZC,WAAqC,EACrCC,OAAmC,EACnC;EACA,MAAM;IAAEC;EAAK,CAAC,GAAGH,IAAI;EACrB,IAAI,CAACG,IAAI,EAAE;EACX,MAAMC,IAAI,GAAGH,WAAW,CAACE,IAAI,CAAC;EAC9B,IAAI,CAACC,IAAI,EAAE;EAEX,KAAK,MAAMC,GAAG,IAAID,IAAI,EAAE;IACtB,KAAK,MAAME,KAAK,IAAIX,EAAE,CACpBK,IAAI,CAACK,GAAG,CACV,CAAC,EAAE;MACD,IAAIC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QACtCJ,OAAO,CAACK,KAAK,CAACD,KAAK,CAAC;QACpBP,QAAQ,CAACO,KAAK,EAAEL,WAAW,EAAEC,OAAO,CAAC;QACrCA,OAAO,CAACM,IAAI,CAACF,KAAK,CAAC;MACrB;IACF;EACF;AACF;AAEA,MAAMG,mBAAmB,GAAG;EAC1BF,KAAKA,CAACP,IAAY,EAAE;IAClB,IAAIA,IAAI,CAACU,aAAa,EAAE;MACtB,OAAOV,IAAI,CAACU,aAAa;IAC3B;IAEA,IAAIV,IAAI,CAACW,gBAAgB,EAAE;MACzB,OAAOX,IAAI,CAACW,gBAAgB;IAC9B;IAEA,IAAIX,IAAI,CAACY,eAAe,EAAE;MACxB,OAAOZ,IAAI,CAACY,eAAe;IAC7B;EACF,CAAC;EACDJ,IAAIA,CAACR,IAAY,EAAE;IAEjB,IAAIA,IAAI,CAACa,KAAK,EAAE;MACd,OAAOb,IAAI,CAACa,KAAK;IACnB;IAGE,IAAIb,IAAI,CAACc,GAAG,CAACC,cAAc,EAAE;MAC3B,OAAOf,IAAI,CAACc,GAAG,CAACC,cAAc;IAChC;IAkBF,IAAIf,IAAI,CAACG,IAAI,KAAK,eAAe,EAAE;MAEjCH,IAAI,CAACG,IAAI,GAAG,YAAY;MAExBH,IAAI,CAACgB,cAAc,GAAGhB,IAAI,CAACiB,KAAK;MAChC,OAAOjB,IAAI,CAACiB,KAAK;IACnB;IAIA,IAAIjB,IAAI,CAACG,IAAI,KAAK,yBAAyB,EAAE;MAC3C,OAAOH,IAAI,CAACkB,EAAE;IAChB;IAEA,IAAIlB,IAAI,CAACG,IAAI,KAAK,oBAAoB,EAAE;MACtC,OAAOH,IAAI,CAACK,GAAG;IACjB;IAEA,IAAIL,IAAI,CAACG,IAAI,KAAK,mBAAmB,EAAE;MACrC,OAAOH,IAAI,CAACkB,EAAE;IAChB;IAEA,IAAIlB,IAAI,CAACG,IAAI,KAAK,mBAAmB,EAAE;MACrC,OAAOH,IAAI,CAACmB,IAAI;IAClB;IAGA,IAAInB,IAAI,CAACG,IAAI,KAAK,mBAAmB,EAAE;MAErC,OAAOH,IAAI,CAACoB,MAAM;IACpB;IAGA,IACEpB,IAAI,CAACG,IAAI,KAAK,iBAAiB,IAC/BH,IAAI,CAACG,IAAI,KAAK,uBAAuB,EACrC;MACA,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrB,IAAI,CAACsB,MAAM,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;QAC3C,MAAMG,CAAC,GAAGxB,IAAI,CAACsB,MAAM,CAACD,CAAC,CAAC;QACxBG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACf,IAAID,CAAC,CAACE,IAAI,EAAE;UACVF,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjB,CAAC,MAAM;UACLD,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjB;QACAD,CAAC,CAACV,GAAG,CAACa,KAAK,CAACC,MAAM,IAAI,CAAC;QACvB,IAAIJ,CAAC,CAACE,IAAI,EAAE;UACVF,CAAC,CAACV,GAAG,CAACe,GAAG,CAACD,MAAM,IAAI,CAAC;QACvB,CAAC,MAAM;UACLJ,CAAC,CAACV,GAAG,CAACe,GAAG,CAACD,MAAM,IAAI,CAAC;QACvB;QAEA,IAAInC,cAAc,IAAI,CAAC,EAAE;UACvB+B,CAAC,CAACG,KAAK,IAAI,CAAC;UACZ,IAAIH,CAAC,CAACE,IAAI,EAAE;YACVF,CAAC,CAACK,GAAG,IAAI,CAAC;UACZ,CAAC,MAAM;YACLL,CAAC,CAACK,GAAG,IAAI,CAAC;UACZ;QACF;MACF;IACF;EACF;AACF,CAAC;AAED,SAASC,YAAYA,CAACC,GAAgB,EAAE9B,WAAqC,EAAE;EAC7EF,QAAQ,CAACgC,GAAG,EAA0B9B,WAAW,EAAEQ,mBAAmB,CAAC;AACzE;AAEA,SAASuB,kBAAkBA,CAACD,GAAgB,EAAE;EAC5C,MAAME,IAAI,GAAGF,GAAG,CAACG,OAAO,CAACD,IAAI;EAC7BE,MAAM,CAACC,MAAM,CAACL,GAAG,EAAE;IACjB5B,IAAI,EAAE,SAAS;IACfkC,UAAU,EAAEN,GAAG,CAACG,OAAO,CAACG,UAAU;IAClCJ;EACF,CAAC,CAAC;EACF,OAAOF,GAAG,CAACG,OAAO;EAClB,OAAOH,GAAG,CAACO,MAAM;EAEjB,IAAIP,GAAG,CAACQ,QAAQ,CAAChB,MAAM,EAAE;IACvB,MAAMiB,WAAW,GAAGT,GAAG,CAACQ,QAAQ,CAACR,GAAG,CAACQ,QAAQ,CAAChB,MAAM,GAAG,CAAC,CAAC;IAEzD,IAAIQ,GAAG,CAACU,MAAM,CAAClB,MAAM,EAAE;MACrB,MAAMmB,SAAS,GAAGX,GAAG,CAACU,MAAM,CAACV,GAAG,CAACU,MAAM,CAAClB,MAAM,GAAG,CAAC,CAAC;MAEnD,IAAIiB,WAAW,CAACX,GAAG,GAAGa,SAAS,CAACb,GAAG,EAAE;QAGnCE,GAAG,CAACN,KAAK,CAAC,CAAC,CAAC,GAAGiB,SAAS,CAACb,GAAG;QAC5BE,GAAG,CAACjB,GAAG,CAACe,GAAG,CAACc,IAAI,GAAGD,SAAS,CAAC5B,GAAG,CAACe,GAAG,CAACc,IAAI;QACzCZ,GAAG,CAACjB,GAAG,CAACe,GAAG,CAACD,MAAM,GAAGc,SAAS,CAAC5B,GAAG,CAACe,GAAG,CAACD,MAAM;QAE7C,IAAInC,cAAc,IAAI,CAAC,EAAE;UACvBsC,GAAG,CAACF,GAAG,GAAGa,SAAS,CAACb,GAAG;QACzB;MACF;IACF;EACF,CAAC,MAAM;IACL,IAAI,CAACE,GAAG,CAACU,MAAM,CAAClB,MAAM,EAAE;MACtBQ,GAAG,CAACjB,GAAG,CAACa,KAAK,CAACgB,IAAI,GAAG,CAAC;MACtBZ,GAAG,CAACjB,GAAG,CAACe,GAAG,CAACc,IAAI,GAAG,CAAC;IACtB;EACF;EAEA,IAAIV,IAAI,YAAJA,IAAI,CAAEV,MAAM,EAAE;IAChBQ,GAAG,CAACjB,GAAG,CAACa,KAAK,CAACgB,IAAI,GAAGV,IAAI,CAAC,CAAC,CAAC,CAACnB,GAAG,CAACa,KAAK,CAACgB,IAAI;IAC3CZ,GAAG,CAACN,KAAK,CAAC,CAAC,CAAC,GAAGQ,IAAI,CAAC,CAAC,CAAC,CAACN,KAAK;IAE5B,IAAIlC,cAAc,IAAI,CAAC,EAAE;MACvBsC,GAAG,CAACJ,KAAK,GAAGM,IAAI,CAAC,CAAC,CAAC,CAACN,KAAK;IAC3B;EACF;AACF;AAACiB,MAAA,CAAAC,OAAA,GAEQ,SAASC,UAAUA,CAC1Bf,GAAgB,EAChB9B,WAAqC,EACrC;EACA6B,YAAY,CAACC,GAAG,EAAE9B,WAAW,CAAC;EAC9B+B,kBAAkB,CAACD,GAAG,CAAC;AACzB,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ module.exports = function convertComments(comments) {
4
+ for (const comment of comments) {
5
+ comment.type = comment.type === "CommentBlock" ? "Block" : "Line";
6
+ comment.range || (comment.range = [comment.start, comment.end]);
7
+ }
8
+ };
9
+
10
+ //# sourceMappingURL=convertComments.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertComments","comments","comment","type","range","start","end"],"sources":["../../src/convert/convertComments.cts"],"sourcesContent":["import type { Comment } from \"@babel/types\";\n\nexport = function convertComments(comments: Comment[]) {\n for (const comment of comments) {\n // @ts-expect-error eslint\n comment.type = comment.type === \"CommentBlock\" ? \"Block\" : \"Line\";\n\n // sometimes comments don't get ranges computed,\n // even with options.ranges === true\n\n // @ts-expect-error eslint\n comment.range ||= [comment.start, comment.end];\n }\n};\n"],"mappings":";;iBAES,SAASA,eAAeA,CAACC,QAAmB,EAAE;EACrD,KAAK,MAAMC,OAAO,IAAID,QAAQ,EAAE;IAE9BC,OAAO,CAACC,IAAI,GAAGD,OAAO,CAACC,IAAI,KAAK,cAAc,GAAG,OAAO,GAAG,MAAM;IAMjED,OAAO,CAACE,KAAK,KAAbF,OAAO,CAACE,KAAK,GAAK,CAACF,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACI,GAAG,CAAC;EAChD;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ const ESLINT_VERSION = require("../utils/eslint-version.cjs");
4
+ function convertTemplateType(tokens, tl) {
5
+ let curlyBrace = null;
6
+ let templateTokens = [];
7
+ const result = [];
8
+ function addTemplateType() {
9
+ const start = templateTokens[0];
10
+ const end = templateTokens[templateTokens.length - 1];
11
+ const value = templateTokens.reduce((result, token) => {
12
+ if (token.value) {
13
+ result += token.value;
14
+ } else if (token.type.label !== tl.template) {
15
+ result += token.type.label;
16
+ }
17
+ return result;
18
+ }, "");
19
+ result.push({
20
+ type: "Template",
21
+ value: value,
22
+ start: start.start,
23
+ end: end.end,
24
+ loc: {
25
+ start: start.loc.start,
26
+ end: end.loc.end
27
+ }
28
+ });
29
+ templateTokens = [];
30
+ }
31
+ tokens.forEach(token => {
32
+ switch (token.type.label) {
33
+ case tl.backQuote:
34
+ if (curlyBrace) {
35
+ result.push(curlyBrace);
36
+ curlyBrace = null;
37
+ }
38
+ templateTokens.push(token);
39
+ if (templateTokens.length > 1) {
40
+ addTemplateType();
41
+ }
42
+ break;
43
+ case tl.dollarBraceL:
44
+ templateTokens.push(token);
45
+ addTemplateType();
46
+ break;
47
+ case tl.braceR:
48
+ if (curlyBrace) {
49
+ result.push(curlyBrace);
50
+ }
51
+ curlyBrace = token;
52
+ break;
53
+ case tl.template:
54
+ if (curlyBrace) {
55
+ templateTokens.push(curlyBrace);
56
+ curlyBrace = null;
57
+ }
58
+ templateTokens.push(token);
59
+ break;
60
+ default:
61
+ if (curlyBrace) {
62
+ result.push(curlyBrace);
63
+ curlyBrace = null;
64
+ }
65
+ result.push(token);
66
+ }
67
+ });
68
+ return result;
69
+ }
70
+ function convertToken(token, source, tl) {
71
+ const {
72
+ type
73
+ } = token;
74
+ const {
75
+ label
76
+ } = type;
77
+ const newToken = token;
78
+ newToken.range = [token.start, token.end];
79
+ if (label === tl.name) {
80
+ const tokenValue = token.value;
81
+ if (tokenValue === "let" || tokenValue === "static" || tokenValue === "yield") {
82
+ newToken.type = "Keyword";
83
+ } else {
84
+ newToken.type = "Identifier";
85
+ }
86
+ } else if (label === tl.semi || label === tl.comma || label === tl.parenL || label === tl.parenR || label === tl.braceL || label === tl.braceR || label === tl.slash || label === tl.dot || label === tl.bracketL || label === tl.bracketR || label === tl.ellipsis || label === tl.arrow || label === tl.pipeline || label === tl.star || label === tl.incDec || label === tl.colon || label === tl.question || label === tl.template || label === tl.backQuote || label === tl.dollarBraceL || label === tl.at || label === tl.logicalOR || label === tl.logicalAND || label === tl.nullishCoalescing || label === tl.bitwiseOR || label === tl.bitwiseXOR || label === tl.bitwiseAND || label === tl.equality || label === tl.relational || label === tl.bitShift || label === tl.plusMin || label === tl.modulo || label === tl.exponent || label === tl.bang || label === tl.tilde || label === tl.doubleColon || label === tl.hash || label === tl.questionDot || label === tl.braceHashL || label === tl.braceBarL || label === tl.braceBarR || label === tl.bracketHashL || label === tl.bracketBarL || label === tl.bracketBarR || label === tl.doubleCaret || label === tl.doubleAt || type.isAssign) {
87
+ var _newToken$value;
88
+ newToken.type = "Punctuator";
89
+ (_newToken$value = newToken.value) != null ? _newToken$value : newToken.value = label;
90
+ } else if (label === tl.jsxTagStart) {
91
+ newToken.type = "Punctuator";
92
+ newToken.value = "<";
93
+ } else if (label === tl.jsxTagEnd) {
94
+ newToken.type = "Punctuator";
95
+ newToken.value = ">";
96
+ } else if (label === tl.jsxName) {
97
+ newToken.type = "JSXIdentifier";
98
+ } else if (label === tl.jsxText) {
99
+ newToken.type = "JSXText";
100
+ } else if (type.keyword === "null") {
101
+ newToken.type = "Null";
102
+ } else if (type.keyword === "false" || type.keyword === "true") {
103
+ newToken.type = "Boolean";
104
+ } else if (type.keyword) {
105
+ newToken.type = "Keyword";
106
+ } else if (label === tl.num) {
107
+ newToken.type = "Numeric";
108
+ newToken.value = source.slice(token.start, token.end);
109
+ } else if (label === tl.string) {
110
+ newToken.type = "String";
111
+ newToken.value = source.slice(token.start, token.end);
112
+ } else if (label === tl.regexp) {
113
+ newToken.type = "RegularExpression";
114
+ const value = token.value;
115
+ newToken.regex = {
116
+ pattern: value.pattern,
117
+ flags: value.flags
118
+ };
119
+ newToken.value = `/${value.pattern}/${value.flags}`;
120
+ } else if (label === tl.bigint) {
121
+ newToken.type = "Numeric";
122
+ newToken.value = `${token.value}n`;
123
+ } else if (label === tl.privateName) {
124
+ newToken.type = "PrivateIdentifier";
125
+ } else if (label === tl.templateNonTail || label === tl.templateTail || label === tl.Template) {
126
+ newToken.type = "Template";
127
+ }
128
+ return newToken;
129
+ }
130
+ module.exports = function convertTokens(tokens, code, tokLabels) {
131
+ const result = [];
132
+ const templateTypeMergedTokens = convertTemplateType(tokens, tokLabels);
133
+ for (let i = 0, {
134
+ length
135
+ } = templateTypeMergedTokens; i < length - 1; i++) {
136
+ const token = templateTypeMergedTokens[i];
137
+ const tokenType = token.type;
138
+ if (tokenType === "CommentLine" || tokenType === "CommentBlock") {
139
+ continue;
140
+ }
141
+ if (ESLINT_VERSION >= 8 && i + 1 < length && tokenType.label === tokLabels.hash) {
142
+ const nextToken = templateTypeMergedTokens[i + 1];
143
+ if (nextToken.type.label === tokLabels.name && token.end === nextToken.start) {
144
+ i++;
145
+ nextToken.type = "PrivateIdentifier";
146
+ nextToken.start -= 1;
147
+ nextToken.loc.start.column -= 1;
148
+ nextToken.range = [nextToken.start, nextToken.end];
149
+ result.push(nextToken);
150
+ continue;
151
+ }
152
+ }
153
+ result.push(convertToken(token, code, tokLabels));
154
+ }
155
+ return result;
156
+ };
157
+
158
+ //# sourceMappingURL=convertTokens.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ESLINT_VERSION","require","convertTemplateType","tokens","tl","curlyBrace","templateTokens","result","addTemplateType","start","end","length","value","reduce","token","type","label","template","push","loc","forEach","backQuote","dollarBraceL","braceR","convertToken","source","newToken","range","name","tokenValue","semi","comma","parenL","parenR","braceL","slash","dot","bracketL","bracketR","ellipsis","arrow","pipeline","star","incDec","colon","question","at","logicalOR","logicalAND","nullishCoalescing","bitwiseOR","bitwiseXOR","bitwiseAND","equality","relational","bitShift","plusMin","modulo","exponent","bang","tilde","doubleColon","hash","questionDot","braceHashL","braceBarL","braceBarR","bracketHashL","bracketBarL","bracketBarR","doubleCaret","doubleAt","isAssign","_newToken$value","jsxTagStart","jsxTagEnd","jsxName","jsxText","keyword","num","slice","string","regexp","regex","pattern","flags","bigint","privateName","templateNonTail","templateTail","Template","module","exports","convertTokens","code","tokLabels","templateTypeMergedTokens","i","tokenType","nextToken","column"],"sources":["../../src/convert/convertTokens.cts"],"sourcesContent":["import type { BabelToken } from \"../types.cts\";\nimport type * as t from \"@babel/types\";\nimport ESLINT_VERSION = require(\"../utils/eslint-version.cjs\");\n\nfunction convertTemplateType(tokens: BabelToken[], tl: Record<string, any>) {\n let curlyBrace: BabelToken = null;\n let templateTokens: BabelToken[] = [];\n const result: any[] = [];\n\n function addTemplateType() {\n const start = templateTokens[0];\n const end = templateTokens[templateTokens.length - 1];\n\n const value = templateTokens.reduce((result, token) => {\n if (token.value) {\n result += token.value;\n } else if (token.type.label !== tl.template) {\n result += token.type.label;\n }\n\n return result;\n }, \"\");\n\n result.push({\n type: \"Template\",\n value: value,\n start: start.start,\n end: end.end,\n loc: {\n start: start.loc.start,\n end: end.loc.end,\n },\n });\n\n templateTokens = [];\n }\n\n tokens.forEach(token => {\n switch (token.type.label) {\n case tl.backQuote:\n if (curlyBrace) {\n result.push(curlyBrace);\n curlyBrace = null;\n }\n\n templateTokens.push(token);\n\n if (templateTokens.length > 1) {\n addTemplateType();\n }\n\n break;\n\n case tl.dollarBraceL:\n templateTokens.push(token);\n addTemplateType();\n break;\n\n case tl.braceR:\n if (curlyBrace) {\n result.push(curlyBrace);\n }\n\n curlyBrace = token;\n break;\n\n case tl.template:\n if (curlyBrace) {\n templateTokens.push(curlyBrace);\n curlyBrace = null;\n }\n\n templateTokens.push(token);\n break;\n\n default:\n if (curlyBrace) {\n result.push(curlyBrace);\n curlyBrace = null;\n }\n\n result.push(token);\n }\n });\n\n return result;\n}\n\nfunction convertToken(\n token: BabelToken,\n source: string,\n tl: Record<string, any>,\n) {\n const { type } = token;\n const { label } = type;\n\n const newToken: {\n type: string;\n range?: [number, number];\n value?: string;\n regex?: {\n pattern: string;\n flags: string;\n };\n loc?: t.SourceLocation | null;\n } = token as any;\n newToken.range = [token.start, token.end];\n\n if (label === tl.name) {\n const tokenValue = token.value;\n if (\n tokenValue === \"let\" ||\n tokenValue === \"static\" ||\n tokenValue === \"yield\"\n ) {\n newToken.type = \"Keyword\";\n } else {\n newToken.type = \"Identifier\";\n }\n } else if (\n label === tl.semi ||\n label === tl.comma ||\n label === tl.parenL ||\n label === tl.parenR ||\n label === tl.braceL ||\n label === tl.braceR ||\n label === tl.slash ||\n label === tl.dot ||\n label === tl.bracketL ||\n label === tl.bracketR ||\n label === tl.ellipsis ||\n label === tl.arrow ||\n label === tl.pipeline ||\n label === tl.star ||\n label === tl.incDec ||\n label === tl.colon ||\n label === tl.question ||\n label === tl.template ||\n label === tl.backQuote ||\n label === tl.dollarBraceL ||\n label === tl.at ||\n label === tl.logicalOR ||\n label === tl.logicalAND ||\n label === tl.nullishCoalescing ||\n label === tl.bitwiseOR ||\n label === tl.bitwiseXOR ||\n label === tl.bitwiseAND ||\n label === tl.equality ||\n label === tl.relational ||\n label === tl.bitShift ||\n label === tl.plusMin ||\n label === tl.modulo ||\n label === tl.exponent ||\n label === tl.bang ||\n label === tl.tilde ||\n label === tl.doubleColon ||\n label === tl.hash ||\n label === tl.questionDot ||\n label === tl.braceHashL ||\n label === tl.braceBarL ||\n label === tl.braceBarR ||\n label === tl.bracketHashL ||\n label === tl.bracketBarL ||\n label === tl.bracketBarR ||\n label === tl.doubleCaret ||\n label === tl.doubleAt ||\n type.isAssign\n ) {\n newToken.type = \"Punctuator\";\n newToken.value ??= label;\n } else if (label === tl.jsxTagStart) {\n newToken.type = \"Punctuator\";\n newToken.value = \"<\";\n } else if (label === tl.jsxTagEnd) {\n newToken.type = \"Punctuator\";\n newToken.value = \">\";\n } else if (label === tl.jsxName) {\n newToken.type = \"JSXIdentifier\";\n } else if (label === tl.jsxText) {\n newToken.type = \"JSXText\";\n } else if (type.keyword === \"null\") {\n newToken.type = \"Null\";\n } else if (type.keyword === \"false\" || type.keyword === \"true\") {\n newToken.type = \"Boolean\";\n } else if (type.keyword) {\n newToken.type = \"Keyword\";\n } else if (label === tl.num) {\n newToken.type = \"Numeric\";\n newToken.value = source.slice(token.start, token.end);\n } else if (label === tl.string) {\n newToken.type = \"String\";\n newToken.value = source.slice(token.start, token.end);\n } else if (label === tl.regexp) {\n newToken.type = \"RegularExpression\";\n const value = token.value;\n newToken.regex = {\n pattern: value.pattern,\n flags: value.flags,\n };\n newToken.value = `/${value.pattern}/${value.flags}`;\n } else if (label === tl.bigint) {\n newToken.type = \"Numeric\";\n newToken.value = `${token.value}n`;\n } else if (label === tl.privateName) {\n newToken.type = \"PrivateIdentifier\";\n } else if (\n label === tl.templateNonTail ||\n label === tl.templateTail ||\n label === tl.Template\n ) {\n newToken.type = \"Template\";\n }\n if (!process.env.IS_PUBLISH) {\n // To minimize the jest-diff noise comparing Babel AST and third-party AST,\n // here we generate a deep copy of loc without identifierName and index\n newToken.loc = {\n end: {\n column: newToken.loc.end.column,\n line: newToken.loc.end.line,\n },\n start: {\n column: newToken.loc.start.column,\n line: newToken.loc.start.line,\n },\n } as any;\n }\n return newToken;\n}\n\nexport = function convertTokens(\n tokens: BabelToken[],\n code: string,\n tokLabels: Record<string, any>,\n) {\n const result = [];\n const templateTypeMergedTokens = process.env.BABEL_8_BREAKING\n ? tokens\n : convertTemplateType(tokens, tokLabels);\n // The last token is always tt.eof and should be skipped\n for (let i = 0, { length } = templateTypeMergedTokens; i < length - 1; i++) {\n const token = templateTypeMergedTokens[i];\n const tokenType = token.type;\n if (tokenType === \"CommentLine\" || tokenType === \"CommentBlock\") {\n continue;\n }\n\n if (!process.env.BABEL_8_BREAKING) {\n // Babel 8 already produces a single token\n\n if (\n ESLINT_VERSION >= 8 &&\n i + 1 < length &&\n tokenType.label === tokLabels.hash\n ) {\n const nextToken = templateTypeMergedTokens[i + 1];\n\n // We must disambiguate private identifier from the hack pipes topic token\n if (\n nextToken.type.label === tokLabels.name &&\n token.end === nextToken.start\n ) {\n i++;\n\n nextToken.type = \"PrivateIdentifier\";\n nextToken.start -= 1;\n nextToken.loc.start.column -= 1;\n nextToken.range = [nextToken.start, nextToken.end];\n\n result.push(nextToken);\n continue;\n }\n }\n }\n\n result.push(convertToken(token, code, tokLabels));\n }\n\n return result;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.convertError = convertError;
7
+ exports.convertFile = convertFile;
8
+ const convertTokens = require("./convertTokens.cjs");
9
+ const convertComments = require("./convertComments.cjs");
10
+ const convertAST = require("./convertAST.cjs");
11
+ function convertFile(ast, code, tokLabels, visitorKeys) {
12
+ ast.tokens = convertTokens(ast.tokens, code, tokLabels);
13
+ convertComments(ast.comments);
14
+ convertAST(ast, visitorKeys);
15
+ return ast;
16
+ }
17
+ function convertError(err) {
18
+ if (err instanceof SyntaxError) {
19
+ err.lineNumber = err.loc.line;
20
+ err.column = err.loc.column;
21
+ }
22
+ return err;
23
+ }
24
+
25
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertTokens","require","convertComments","convertAST","convertFile","ast","code","tokLabels","visitorKeys","tokens","comments","convertError","err","SyntaxError","lineNumber","loc","line","column"],"sources":["../../src/convert/index.cts"],"sourcesContent":["import convertTokens = require(\"./convertTokens.cts\");\nimport convertComments = require(\"./convertComments.cts\");\nimport convertAST = require(\"./convertAST.cts\");\nimport type { AST, ParseResult } from \"../types.cts\";\n\nexport function convertFile(\n ast: ParseResult,\n code: string,\n tokLabels: Record<string, any>,\n visitorKeys: Record<string, string[]>,\n) {\n ast.tokens = convertTokens(ast.tokens as any, code, tokLabels);\n convertComments(ast.comments);\n convertAST(ast, visitorKeys);\n return ast as unknown as AST.Program;\n}\n\nexport function convertError(err: Error) {\n if (err instanceof SyntaxError) {\n // @ts-expect-error eslint\n err.lineNumber = err.loc.line;\n // @ts-expect-error eslint\n err.column = err.loc.column;\n }\n return err;\n}\n"],"mappings":";;;;;;;MAAOA,aAAa,GAAAC,OAAA,CAAW,qBAAqB;AAAA,MAC7CC,eAAe,GAAAD,OAAA,CAAW,uBAAuB;AAAA,MACjDE,UAAU,GAAAF,OAAA,CAAW,kBAAkB;AAGvC,SAASG,WAAWA,CACzBC,GAAgB,EAChBC,IAAY,EACZC,SAA8B,EAC9BC,WAAqC,EACrC;EACAH,GAAG,CAACI,MAAM,GAAGT,aAAa,CAACK,GAAG,CAACI,MAAM,EAASH,IAAI,EAAEC,SAAS,CAAC;EAC9DL,eAAe,CAACG,GAAG,CAACK,QAAQ,CAAC;EAC7BP,UAAU,CAACE,GAAG,EAAEG,WAAW,CAAC;EAC5B,OAAOH,GAAG;AACZ;AAEO,SAASM,YAAYA,CAACC,GAAU,EAAE;EACvC,IAAIA,GAAG,YAAYC,WAAW,EAAE;IAE9BD,GAAG,CAACE,UAAU,GAAGF,GAAG,CAACG,GAAG,CAACC,IAAI;IAE7BJ,GAAG,CAACK,MAAM,GAAGL,GAAG,CAACG,GAAG,CAACE,MAAM;EAC7B;EACA,OAAOL,GAAG;AACZ","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.meta = void 0;
7
+ exports.parseForESLint = parseForESLint;
8
+ const [major, minor] = process.versions.node.split(".").map(Number);
9
+ if (major < 12 || major === 12 && minor < 3) {
10
+ throw new Error("@babel/eslint-parser/experimental-worker requires Node.js >= 12.3.0");
11
+ }
12
+ const normalizeESLintConfig = require("./configuration.cjs");
13
+ const analyzeScope = require("./analyze-scope.cjs");
14
+ const baseParse = require("./parse.cjs");
15
+ const Clients = require("./client.cjs");
16
+ const client = new Clients.WorkerClient();
17
+ const meta = exports.meta = {
18
+ name: "@babel/eslint-parser/experimental-worker",
19
+ version: "7.28.6"
20
+ };
21
+ function parseForESLint(code, options = {}) {
22
+ const normalizedOptions = normalizeESLintConfig(options);
23
+ const ast = baseParse(code, normalizedOptions, client);
24
+ const scopeManager = analyzeScope(ast, normalizedOptions, client);
25
+ return {
26
+ ast,
27
+ scopeManager,
28
+ visitorKeys: client.getVisitorKeys()
29
+ };
30
+ }
31
+
32
+ //# sourceMappingURL=experimental-worker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["major","minor","process","versions","node","split","map","Number","Error","normalizeESLintConfig","require","analyzeScope","baseParse","Clients","client","WorkerClient","meta","exports","name","version","parseForESLint","code","options","normalizedOptions","ast","scopeManager","visitorKeys","getVisitorKeys"],"sources":["../src/experimental-worker.cts"],"sourcesContent":["const [major, minor] = process.versions.node.split(\".\").map(Number);\n\nif (major < 12 || (major === 12 && minor < 3)) {\n throw new Error(\n \"@babel/eslint-parser/experimental-worker requires Node.js >= 12.3.0\",\n );\n}\n\nimport normalizeESLintConfig = require(\"./configuration.cts\");\nimport analyzeScope = require(\"./analyze-scope.cts\");\nimport baseParse = require(\"./parse.cts\");\n\nimport Clients = require(\"./client.cts\");\n\nconst client = new Clients.WorkerClient();\n\nexport const meta = {\n name: \"@babel/eslint-parser/experimental-worker\",\n version: PACKAGE_JSON.version,\n};\n\nexport function parseForESLint(code: string, options = {}) {\n const normalizedOptions = normalizeESLintConfig(options);\n const ast = baseParse(code, normalizedOptions, client);\n const scopeManager = analyzeScope(ast, normalizedOptions, client);\n\n return { ast, scopeManager, visitorKeys: client.getVisitorKeys() };\n}\n"],"mappings":";;;;;;;AAAA,MAAM,CAACA,KAAK,EAAEC,KAAK,CAAC,GAAGC,OAAO,CAACC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;AAEnE,IAAIP,KAAK,GAAG,EAAE,IAAKA,KAAK,KAAK,EAAE,IAAIC,KAAK,GAAG,CAAE,EAAE;EAC7C,MAAM,IAAIO,KAAK,CACb,qEACF,CAAC;AACH;AAAC,MAEMC,qBAAqB,GAAAC,OAAA,CAAW,qBAAqB;AAAA,MACrDC,YAAY,GAAAD,OAAA,CAAW,qBAAqB;AAAA,MAC5CE,SAAS,GAAAF,OAAA,CAAW,aAAa;AAAA,MAEjCG,OAAO,GAAAH,OAAA,CAAW,cAAc;AAEvC,MAAMI,MAAM,GAAG,IAAID,OAAO,CAACE,YAAY,CAAC,CAAC;AAElC,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,IAAI,EAAE,0CAA0C;EAChDC,OAAO;AACT,CAAC;AAEM,SAASC,cAAcA,CAACC,IAAY,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACzD,MAAMC,iBAAiB,GAAGd,qBAAqB,CAACa,OAAO,CAAC;EACxD,MAAME,GAAG,GAAGZ,SAAS,CAACS,IAAI,EAAEE,iBAAiB,EAAET,MAAM,CAAC;EACtD,MAAMW,YAAY,GAAGd,YAAY,CAACa,GAAG,EAAED,iBAAiB,EAAET,MAAM,CAAC;EAEjE,OAAO;IAAEU,GAAG;IAAEC,YAAY;IAAEC,WAAW,EAAEZ,MAAM,CAACa,cAAc,CAAC;EAAE,CAAC;AACpE","ignoreList":[]}
package/lib/index.cjs ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.meta = void 0;
7
+ exports.parse = parse;
8
+ exports.parseForESLint = parseForESLint;
9
+ var _client = require("./client.cjs");
10
+ const normalizeESLintConfig = require("./configuration.cjs");
11
+ const analyzeScope = require("./analyze-scope.cjs");
12
+ const baseParse = require("./parse.cjs");
13
+ const client = new _client.LocalClient();
14
+ const meta = exports.meta = {
15
+ name: "@babel/eslint-parser",
16
+ version: "7.28.6"
17
+ };
18
+ function parse(code, options = {}) {
19
+ return baseParse(code, normalizeESLintConfig(options), client);
20
+ }
21
+ function parseForESLint(code, options = {}) {
22
+ const normalizedOptions = normalizeESLintConfig(options);
23
+ const ast = baseParse(code, normalizedOptions, client);
24
+ const scopeManager = analyzeScope(ast, normalizedOptions, client);
25
+ return {
26
+ ast,
27
+ scopeManager,
28
+ visitorKeys: client.getVisitorKeys()
29
+ };
30
+ }
31
+
32
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_client","require","normalizeESLintConfig","analyzeScope","baseParse","client","LocalClient","meta","exports","name","version","parse","code","options","parseForESLint","normalizedOptions","ast","scopeManager","visitorKeys","getVisitorKeys"],"sources":["../src/index.cts"],"sourcesContent":["import normalizeESLintConfig = require(\"./configuration.cts\");\nimport analyzeScope = require(\"./analyze-scope.cts\");\nimport baseParse = require(\"./parse.cts\");\n\n// @ts-expect-error LocalClient only exists in the cjs build\nimport { LocalClient, WorkerClient } from \"./client.cts\";\nconst client = new (USE_ESM ? WorkerClient : LocalClient)();\n\nexport const meta = {\n name: PACKAGE_JSON.name,\n version: PACKAGE_JSON.version,\n};\n\nexport function parse(code: string, options = {}) {\n return baseParse(code, normalizeESLintConfig(options), client);\n}\n\nexport function parseForESLint(code: string, options = {}) {\n const normalizedOptions = normalizeESLintConfig(options);\n const ast = baseParse(code, normalizedOptions, client);\n const scopeManager = analyzeScope(ast, normalizedOptions, client);\n\n return { ast, scopeManager, visitorKeys: client.getVisitorKeys() };\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,OAAA,GAAAC,OAAA;AAAyD,MALlDC,qBAAqB,GAAAD,OAAA,CAAW,qBAAqB;AAAA,MACrDE,YAAY,GAAAF,OAAA,CAAW,qBAAqB;AAAA,MAC5CG,SAAS,GAAAH,OAAA,CAAW,aAAa;AAIxC,MAAMI,MAAM,GAAG,IAA8BC,mBAAW,CAAE,CAAC;AAEpD,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,IAAI,wBAAmB;EACvBC,OAAO;AACT,CAAC;AAEM,SAASC,KAAKA,CAACC,IAAY,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EAChD,OAAOT,SAAS,CAACQ,IAAI,EAAEV,qBAAqB,CAACW,OAAO,CAAC,EAAER,MAAM,CAAC;AAChE;AAEO,SAASS,cAAcA,CAACF,IAAY,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACzD,MAAME,iBAAiB,GAAGb,qBAAqB,CAACW,OAAO,CAAC;EACxD,MAAMG,GAAG,GAAGZ,SAAS,CAACQ,IAAI,EAAEG,iBAAiB,EAAEV,MAAM,CAAC;EACtD,MAAMY,YAAY,GAAGd,YAAY,CAACa,GAAG,EAAED,iBAAiB,EAAEV,MAAM,CAAC;EAEjE,OAAO;IAAEW,GAAG;IAAEC,YAAY;IAAEC,WAAW,EAAEb,MAAM,CAACc,cAAc,CAAC;EAAE,CAAC;AACpE","ignoreList":[]}
package/lib/parse.cjs ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ const semver = require("semver");
4
+ const convert = require("./convert/index.cjs");
5
+ const babelParser = require((((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, {
6
+ paths: [b]
7
+ }, M = require("module")) => {
8
+ let f = M._findPath(r, M._nodeModulePaths(b).concat(b));
9
+ if (f) return f;
10
+ f = new Error(`Cannot resolve module '${r}'`);
11
+ f.code = "MODULE_NOT_FOUND";
12
+ throw f;
13
+ })("@babel/parser", {
14
+ paths: [require.resolve("@babel/core/package.json")]
15
+ }));
16
+ let isRunningMinSupportedCoreVersion = null;
17
+ module.exports = function parse(code, options, client) {
18
+ const minSupportedCoreVersion = ">=7.2.0";
19
+ if (typeof isRunningMinSupportedCoreVersion !== "boolean") {
20
+ isRunningMinSupportedCoreVersion = semver.satisfies(client.getVersion(), minSupportedCoreVersion);
21
+ }
22
+ if (!isRunningMinSupportedCoreVersion) {
23
+ throw new Error(`@babel/eslint-parser@${"7.28.6"} does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`);
24
+ }
25
+ const {
26
+ ast,
27
+ parserOptions
28
+ } = client.maybeParse(code, options);
29
+ if (ast) return ast;
30
+ try {
31
+ return convert.convertFile(babelParser.parse(code, parserOptions), code, client.getTokLabels(), client.getVisitorKeys());
32
+ } catch (err) {
33
+ throw convert.convertError(err);
34
+ }
35
+ };
36
+
37
+ //# sourceMappingURL=parse.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["semver","require","convert","babelParser","v","w","split","process","versions","node","resolve","r","paths","b","M","f","_findPath","_nodeModulePaths","concat","Error","code","isRunningMinSupportedCoreVersion","module","exports","parse","options","client","minSupportedCoreVersion","satisfies","getVersion","ast","parserOptions","maybeParse","convertFile","getTokLabels","getVisitorKeys","err","convertError"],"sources":["../src/parse.cts"],"sourcesContent":["\"use strict\";\n\nimport semver = require(\"semver\");\nimport convert = require(\"./convert/index.cts\");\nimport type { Options } from \"./types.cts\";\nimport type { Client } from \"./client.cts\";\n\nconst babelParser = require(\n require.resolve(\"@babel/parser\", {\n paths: [require.resolve(\"@babel/core/package.json\")],\n }),\n);\n\nlet isRunningMinSupportedCoreVersion: boolean = null;\n\nexport = function parse(code: string, options: Options, client: Client) {\n // Ensure we're using a version of `@babel/core` that includes `parse()` and `tokTypes`.\n const minSupportedCoreVersion = REQUIRED_VERSION(\">=7.2.0\");\n\n if (typeof isRunningMinSupportedCoreVersion !== \"boolean\") {\n isRunningMinSupportedCoreVersion = semver.satisfies(\n client.getVersion(),\n minSupportedCoreVersion,\n );\n }\n\n if (!isRunningMinSupportedCoreVersion) {\n throw new Error(\n `@babel/eslint-parser@${\n PACKAGE_JSON.version\n } does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`,\n );\n }\n\n const { ast, parserOptions } = client.maybeParse(code, options);\n\n if (ast) return ast;\n\n try {\n return convert.convertFile(\n babelParser.parse(code, parserOptions),\n code,\n client.getTokLabels(),\n client.getVisitorKeys(),\n );\n } catch (err) {\n throw convert.convertError(err);\n }\n};\n"],"mappings":"AAAA,YAAY;;AAAC,MAENA,MAAM,GAAAC,OAAA,CAAW,QAAQ;AAAA,MACzBC,OAAO,GAAAD,OAAA,CAAW,qBAAqB;AAI9C,MAAME,WAAW,GAAGF,OAAO,CACzB,GAAAG,CAAA,EAAAC,CAAA,MAAAD,CAAA,GAAAA,CAAA,CAAAE,KAAA,OAAAD,CAAA,GAAAA,CAAA,CAAAC,KAAA,QAAAF,CAAA,OAAAC,CAAA,OAAAD,CAAA,OAAAC,CAAA,QAAAD,CAAA,QAAAC,CAAA,MAAAE,OAAA,CAAAC,QAAA,CAAAC,IAAA,WAAAR,OAAA,CAAAS,OAAA,IAAAC,CAAA;EAAAC,KAAA,GAAAC,CAAA;AAAA,GAAAC,CAAA,GAAAb,OAAA;EAAA,IAAAc,CAAA,GAAAD,CAAA,CAAAE,SAAA,CAAAL,CAAA,EAAAG,CAAA,CAAAG,gBAAA,CAAAJ,CAAA,EAAAK,MAAA,CAAAL,CAAA;EAAA,IAAAE,CAAA,SAAAA,CAAA;EAAAA,CAAA,OAAAI,KAAA,2BAAAR,CAAA;EAAAI,CAAA,CAAAK,IAAA;EAAA,MAAAL,CAAA;AAAA,GAAgB,eAAe,EAAE;EAC/BH,KAAK,EAAE,CAACX,OAAO,CAACS,OAAO,CAAC,0BAA0B,CAAC;AACrD,CAAC,CACH,CAAC;AAED,IAAIW,gCAAyC,GAAG,IAAI;AAACC,MAAA,CAAAC,OAAA,GAE5C,SAASC,KAAKA,CAACJ,IAAY,EAAEK,OAAgB,EAAEC,MAAc,EAAE;EAEtE,MAAMC,uBAAuB,GAAoB,SAAU;EAE3D,IAAI,OAAON,gCAAgC,KAAK,SAAS,EAAE;IACzDA,gCAAgC,GAAGrB,MAAM,CAAC4B,SAAS,CACjDF,MAAM,CAACG,UAAU,CAAC,CAAC,EACnBF,uBACF,CAAC;EACH;EAEA,IAAI,CAACN,gCAAgC,EAAE;IACrC,MAAM,IAAIF,KAAK,CACb,iEAEiCO,MAAM,CAACG,UAAU,CAAC,CAAC,mCAAmCF,uBAAuB,GAChH,CAAC;EACH;EAEA,MAAM;IAAEG,GAAG;IAAEC;EAAc,CAAC,GAAGL,MAAM,CAACM,UAAU,CAACZ,IAAI,EAAEK,OAAO,CAAC;EAE/D,IAAIK,GAAG,EAAE,OAAOA,GAAG;EAEnB,IAAI;IACF,OAAO5B,OAAO,CAAC+B,WAAW,CACxB9B,WAAW,CAACqB,KAAK,CAACJ,IAAI,EAAEW,aAAa,CAAC,EACtCX,IAAI,EACJM,MAAM,CAACQ,YAAY,CAAC,CAAC,EACrBR,MAAM,CAACS,cAAc,CAAC,CACxB,CAAC;EACH,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,MAAMlC,OAAO,CAACmC,YAAY,CAACD,GAAG,CAAC;EACjC;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ module.exports = parseInt(require("eslint/package.json").version, 10);
4
+
5
+ //# sourceMappingURL=eslint-version.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseInt","require","version"],"sources":["../../src/utils/eslint-version.cts"],"sourcesContent":["export = parseInt(require(\"eslint/package.json\").version, 10);\n"],"mappings":";;iBAASA,QAAQ,CAACC,OAAO,CAAC,qBAAqB,CAAC,CAACC,OAAO,EAAE,EAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTokLabels = getTokLabels;
7
+ exports.getVisitorKeys = getVisitorKeys;
8
+ const _ESLINT_VISITOR_KEYS = require("eslint-visitor-keys");
9
+ const babel = require("./babel-core.cjs");
10
+ const ESLINT_VISITOR_KEYS = _ESLINT_VISITOR_KEYS.KEYS;
11
+ let visitorKeys;
12
+ function getVisitorKeys() {
13
+ if (!visitorKeys) {
14
+ const newTypes = {
15
+ ChainExpression: ESLINT_VISITOR_KEYS.ChainExpression,
16
+ ImportExpression: ESLINT_VISITOR_KEYS.ImportExpression,
17
+ Literal: ESLINT_VISITOR_KEYS.Literal,
18
+ MethodDefinition: ["decorators"].concat(ESLINT_VISITOR_KEYS.MethodDefinition),
19
+ Property: ["decorators"].concat(ESLINT_VISITOR_KEYS.Property),
20
+ PropertyDefinition: ["decorators", "typeAnnotation"].concat(ESLINT_VISITOR_KEYS.PropertyDefinition)
21
+ };
22
+ const conflictTypes = {
23
+ ExportAllDeclaration: ESLINT_VISITOR_KEYS.ExportAllDeclaration
24
+ };
25
+ visitorKeys = Object.assign({}, newTypes, babel.types.VISITOR_KEYS, conflictTypes, {
26
+ ClassPrivateMethod: ["decorators"].concat(ESLINT_VISITOR_KEYS.MethodDefinition)
27
+ });
28
+ }
29
+ return visitorKeys;
30
+ }
31
+ let tokLabels;
32
+ function getTokLabels() {
33
+ return tokLabels || (tokLabels = (p => p.reduce((o, [k, v]) => Object.assign({}, o, {
34
+ [k]: v
35
+ }), {}))((Object.entries || (o => Object.keys(o).map(k => [k, o[k]])))(babel.tokTypes).map(([key, tok]) => [key, tok.label])));
36
+ }
37
+
38
+ //# sourceMappingURL=ast-info.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ESLINT_VISITOR_KEYS","require","babel","ESLINT_VISITOR_KEYS","KEYS","visitorKeys","getVisitorKeys","newTypes","ChainExpression","ImportExpression","Literal","MethodDefinition","concat","Property","PropertyDefinition","conflictTypes","ExportAllDeclaration","Object","assign","types","VISITOR_KEYS","ClassPrivateMethod","tokLabels","getTokLabels","p","reduce","o","k","v","entries","keys","map","tokTypes","key","tok","label"],"sources":["../../src/worker/ast-info.cts"],"sourcesContent":["// @ts-expect-error no types\nimport _ESLINT_VISITOR_KEYS = require(\"eslint-visitor-keys\");\nimport babel = require(\"./babel-core.cts\");\n\nconst ESLINT_VISITOR_KEYS = _ESLINT_VISITOR_KEYS.KEYS;\n\nlet visitorKeys: Record<string, string[]>;\nexport function getVisitorKeys() {\n if (!visitorKeys) {\n // AST Types that are not presented in Babel AST\n const newTypes = {\n ChainExpression: ESLINT_VISITOR_KEYS.ChainExpression,\n ImportExpression: ESLINT_VISITOR_KEYS.ImportExpression,\n Literal: ESLINT_VISITOR_KEYS.Literal,\n MethodDefinition: [\"decorators\"].concat(\n ESLINT_VISITOR_KEYS.MethodDefinition,\n ),\n Property: [\"decorators\"].concat(ESLINT_VISITOR_KEYS.Property),\n PropertyDefinition: [\"decorators\", \"typeAnnotation\"].concat(\n ESLINT_VISITOR_KEYS.PropertyDefinition,\n ),\n };\n\n // AST Types that shares `\"type\"` property with Babel but have different shape\n const conflictTypes = {\n ExportAllDeclaration: ESLINT_VISITOR_KEYS.ExportAllDeclaration,\n };\n\n visitorKeys = {\n ...newTypes,\n ...babel.types.VISITOR_KEYS,\n ...conflictTypes,\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n ClassPrivateMethod: [\"decorators\"].concat(\n ESLINT_VISITOR_KEYS.MethodDefinition,\n ),\n }),\n };\n }\n return visitorKeys;\n}\n\nlet tokLabels;\nexport function getTokLabels() {\n return (tokLabels ||= (\n process.env.BABEL_8_BREAKING\n ? Object.fromEntries\n : (p: any[]) => p.reduce((o, [k, v]) => ({ ...o, [k]: v }), {})\n )(Object.entries(babel.tokTypes).map(([key, tok]) => [key, tok.label])));\n}\n"],"mappings":";;;;;;;MACOA,oBAAoB,GAAAC,OAAA,CAAW,qBAAqB;AAAA,MACpDC,KAAK,GAAAD,OAAA,CAAW,kBAAkB;AAEzC,MAAME,mBAAmB,GAAGH,oBAAoB,CAACI,IAAI;AAErD,IAAIC,WAAqC;AAClC,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAI,CAACD,WAAW,EAAE;IAEhB,MAAME,QAAQ,GAAG;MACfC,eAAe,EAAEL,mBAAmB,CAACK,eAAe;MACpDC,gBAAgB,EAAEN,mBAAmB,CAACM,gBAAgB;MACtDC,OAAO,EAAEP,mBAAmB,CAACO,OAAO;MACpCC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAACC,MAAM,CACrCT,mBAAmB,CAACQ,gBACtB,CAAC;MACDE,QAAQ,EAAE,CAAC,YAAY,CAAC,CAACD,MAAM,CAACT,mBAAmB,CAACU,QAAQ,CAAC;MAC7DC,kBAAkB,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAACF,MAAM,CACzDT,mBAAmB,CAACW,kBACtB;IACF,CAAC;IAGD,MAAMC,aAAa,GAAG;MACpBC,oBAAoB,EAAEb,mBAAmB,CAACa;IAC5C,CAAC;IAEDX,WAAW,GAAAY,MAAA,CAAAC,MAAA,KACNX,QAAQ,EACRL,KAAK,CAACiB,KAAK,CAACC,YAAY,EACxBL,aAAa,EAGZ;MACEM,kBAAkB,EAAE,CAAC,YAAY,CAAC,CAACT,MAAM,CACvCT,mBAAmB,CAACQ,gBACtB;IACF,CAAC,CACN;EACH;EACA,OAAON,WAAW;AACpB;AAEA,IAAIiB,SAAS;AACN,SAASC,YAAYA,CAAA,EAAG;EAC7B,OAAQD,SAAS,KAATA,SAAS,GAAK,CAGfE,CAAQ,IAAKA,CAAC,CAACC,MAAM,CAAC,CAACC,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAAX,MAAA,CAAAC,MAAA,KAAWQ,CAAC;IAAE,CAACC,CAAC,GAAGC;EAAC,EAAG,EAAE,CAAC,CAAC,CAAC,EACjE,CAAAX,MAAA,CAAAY,OAAA,KAAAH,CAAA,IAAAT,MAAA,CAAAa,IAAA,CAAAJ,CAAA,EAAAK,GAAA,CAAAJ,CAAA,KAAAA,CAAA,EAAAD,CAAA,CAAAC,CAAA,MAAezB,KAAK,CAAC8B,QAAQ,CAAC,CAACD,GAAG,CAAC,CAAC,CAACE,GAAG,EAAEC,GAAG,CAAC,KAAK,CAACD,GAAG,EAAEC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC;AACzE","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ module.exports = exports;
4
+ function initialize(babel) {
5
+ exports.init = null;
6
+ exports.version = babel.version;
7
+ exports.traverse = babel.traverse;
8
+ exports.types = babel.types;
9
+ exports.tokTypes = babel.tokTypes;
10
+ exports.parseSync = babel.parseSync;
11
+ exports.parseAsync = babel.parseAsync;
12
+ exports.loadPartialConfigSync = babel.loadPartialConfigSync;
13
+ exports.loadPartialConfigAsync = babel.loadPartialConfigAsync;
14
+ exports.createConfigItemAsync = babel.createConfigItemAsync;
15
+ exports.createConfigItemSync = babel.createConfigItemSync || babel.createConfigItem;
16
+ }
17
+ initialize(require("@babel/core"));
18
+
19
+ //# sourceMappingURL=babel-core.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exports","initialize","babel","init","version","traverse","types","tokTypes","parseSync","parseAsync","loadPartialConfigSync","loadPartialConfigAsync","createConfigItemAsync","createConfigItemSync","createConfigItem","require"],"sources":["../../src/worker/babel-core.cts"],"sourcesContent":["export = exports as typeof import(\"@babel/core\") & {\n init: Promise<void> | null;\n};\n\nfunction initialize(babel: typeof import(\"@babel/core\")) {\n exports.init = null;\n exports.version = babel.version;\n exports.traverse = babel.traverse;\n exports.types = babel.types;\n exports.tokTypes = babel.tokTypes;\n exports.parseSync = babel.parseSync;\n exports.parseAsync = babel.parseAsync;\n exports.loadPartialConfigSync = babel.loadPartialConfigSync;\n exports.loadPartialConfigAsync = babel.loadPartialConfigAsync;\n exports.createConfigItemAsync = babel.createConfigItemAsync;\n\n if (process.env.BABEL_8_BREAKING) {\n exports.createConfigItemSync = babel.createConfigItemSync;\n } else {\n // babel.createConfigItemSync is available on 7.13+\n // we support Babel 7.11+\n exports.createConfigItemSync =\n babel.createConfigItemSync || babel.createConfigItem;\n }\n}\n\nif (USE_ESM) {\n exports.init = import(\"@babel/core\").then(initialize);\n} else {\n initialize(require(\"@babel/core\"));\n}\n"],"mappings":";;iBAASA,OAAO;AAIhB,SAASC,UAAUA,CAACC,KAAmC,EAAE;EACvDF,OAAO,CAACG,IAAI,GAAG,IAAI;EACnBH,OAAO,CAACI,OAAO,GAAGF,KAAK,CAACE,OAAO;EAC/BJ,OAAO,CAACK,QAAQ,GAAGH,KAAK,CAACG,QAAQ;EACjCL,OAAO,CAACM,KAAK,GAAGJ,KAAK,CAACI,KAAK;EAC3BN,OAAO,CAACO,QAAQ,GAAGL,KAAK,CAACK,QAAQ;EACjCP,OAAO,CAACQ,SAAS,GAAGN,KAAK,CAACM,SAAS;EACnCR,OAAO,CAACS,UAAU,GAAGP,KAAK,CAACO,UAAU;EACrCT,OAAO,CAACU,qBAAqB,GAAGR,KAAK,CAACQ,qBAAqB;EAC3DV,OAAO,CAACW,sBAAsB,GAAGT,KAAK,CAACS,sBAAsB;EAC7DX,OAAO,CAACY,qBAAqB,GAAGV,KAAK,CAACU,qBAAqB;EAOzDZ,OAAO,CAACa,oBAAoB,GAC1BX,KAAK,CAACW,oBAAoB,IAAIX,KAAK,CAACY,gBAAgB;AAE1D;AAKEb,UAAU,CAACc,OAAO,CAAC,aAAa,CAAC,CAAC","ignoreList":[]}