UNPKG

@jqassistant/ts-lce

Version:

Tool to extract language concepts from a TypeScript codebase and export them to a JSON file.

203 lines (202 loc) 16.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PROCESSORS = exports.POST_PROCESSORS = exports.TRAVERSERS = void 0; const utils_1 = require("@typescript-eslint/utils"); const class_declaration_processor_1 = require("./processors/class-declaration.processor"); const class_like_declaration_processor_1 = require("./processors/class-like-declaration.processor"); const decorator_processor_1 = require("./processors/decorator.processor"); const dependency_resolution_processor_1 = require("./processors/dependency-resolution.processor"); const enum_declaration_processor_1 = require("./processors/enum-declaration.processor"); const export_declaration_processor_1 = require("./processors/export-declaration.processor"); const function_declaration_processor_1 = require("./processors/function-declaration.processor"); const import_declaration_processor_1 = require("./processors/import-declaration.processor"); const instructional_code_processor_1 = require("./processors/instructional-code.processor"); const interface_declaration_processor_1 = require("./processors/interface-declaration.processor"); const type_alias_declaration_processor_1 = require("./processors/type-alias-declaration.processor"); const value_processor_1 = require("./processors/value.processor"); const variable_declaration_processor_1 = require("./processors/variable-declaration.processor"); const traverser_1 = require("./traverser"); const class_traverser_1 = require("./traversers/class.traverser"); const decorator_traverser_1 = require("./traversers/decorator.traverser"); const enum_traverser_1 = require("./traversers/enum.traverser"); const export_declaration_traverser_1 = require("./traversers/export-declaration.traverser"); const expression_traverser_1 = require("./traversers/expression.traverser"); const function_traverser_1 = require("./traversers/function.traverser"); const interface_declaration_traverser_1 = require("./traversers/interface-declaration.traverser"); const method_traverser_1 = require("./traversers/method.traverser"); const program_traverser_1 = require("./traversers/program.traverser"); const property_traverser_1 = require("./traversers/property.traverser"); const statement_traverser_1 = require("./traversers/statement.traverser"); const type_alias_declaration_traverser_1 = require("./traversers/type-alias-declaration.traverser"); const type_parameter_traverser_1 = require("./traversers/type-parameter.traverser"); const variable_declaration_traverser_1 = require("./traversers/variable-declaration.traverser"); const typescript_module_processor_1 = require("./processors/typescript-module.processor"); const external_dependencies_post_processor_1 = require("./post-processors/external-dependencies.post-processor"); const jsx_traverser_1 = require("./traversers/jsx.traverser"); const exports_post_processor_1 = require("./post-processors/exports.post-processor"); const type_traverser_1 = require("./traversers/type.traverser"); const type_annotation_processor_1 = require("./processors/type-annotation.processor"); /** * Central index of all traversers natively supported by the LCE. * Maps AST node types to their corresponding traverser. */ exports.TRAVERSERS = new Map([ [utils_1.AST_NODE_TYPES.AccessorProperty, new property_traverser_1.AccessorPropertyTraverser()], [utils_1.AST_NODE_TYPES.ArrayExpression, new expression_traverser_1.ArrayExpressionTraverser()], [utils_1.AST_NODE_TYPES.ArrayPattern, new expression_traverser_1.ArrayPatternTraverser()], [utils_1.AST_NODE_TYPES.ArrowFunctionExpression, new expression_traverser_1.ArrowFunctionExpressionTraverser()], [utils_1.AST_NODE_TYPES.AssignmentExpression, new expression_traverser_1.AssignmentExpressionTraverser()], [utils_1.AST_NODE_TYPES.AwaitExpression, new expression_traverser_1.AwaitExpressionTraverser()], [utils_1.AST_NODE_TYPES.BinaryExpression, new expression_traverser_1.BinaryExpressionTraverser()], [utils_1.AST_NODE_TYPES.BlockStatement, new statement_traverser_1.BlockStatementTraverser()], [utils_1.AST_NODE_TYPES.CallExpression, new expression_traverser_1.CallExpressionTraverser()], [utils_1.AST_NODE_TYPES.ChainExpression, new expression_traverser_1.ChainExpressionTraverser()], [utils_1.AST_NODE_TYPES.ClassBody, new class_traverser_1.ClassBodyTraverser()], [utils_1.AST_NODE_TYPES.ClassDeclaration, new class_traverser_1.ClassTraverser()], [utils_1.AST_NODE_TYPES.ClassExpression, new class_traverser_1.ClassTraverser()], [utils_1.AST_NODE_TYPES.ConditionalExpression, new expression_traverser_1.ConditionalExpressionTraverser()], [utils_1.AST_NODE_TYPES.Decorator, new decorator_traverser_1.DecoratorTraverser()], [utils_1.AST_NODE_TYPES.DoWhileStatement, new statement_traverser_1.DoWhileStatementTraverser()], [utils_1.AST_NODE_TYPES.ExportAllDeclaration, new traverser_1.SimpleTraverser()], [utils_1.AST_NODE_TYPES.ExportDefaultDeclaration, new export_declaration_traverser_1.ExportDefaultDeclarationTraverser()], [utils_1.AST_NODE_TYPES.ExportNamedDeclaration, new export_declaration_traverser_1.ExportNamedDeclarationTraverser()], [utils_1.AST_NODE_TYPES.ExpressionStatement, new statement_traverser_1.ExpressionStatementTraverser()], [utils_1.AST_NODE_TYPES.ForInStatement, new statement_traverser_1.ForInStatementTraverser()], [utils_1.AST_NODE_TYPES.ForOfStatement, new statement_traverser_1.ForOfStatementTraverser()], [utils_1.AST_NODE_TYPES.ForStatement, new statement_traverser_1.ForStatementTraverser()], [utils_1.AST_NODE_TYPES.FunctionDeclaration, new function_traverser_1.FunctionTraverser()], [utils_1.AST_NODE_TYPES.FunctionExpression, new function_traverser_1.FunctionTraverser()], [utils_1.AST_NODE_TYPES.Identifier, new expression_traverser_1.IdentifierTraverser()], [utils_1.AST_NODE_TYPES.IfStatement, new statement_traverser_1.IfStatementTraverser()], [utils_1.AST_NODE_TYPES.ImportDeclaration, new traverser_1.SimpleTraverser()], [utils_1.AST_NODE_TYPES.ImportExpression, new expression_traverser_1.ImportExpressionTraverser()], [utils_1.AST_NODE_TYPES.JSXElement, new jsx_traverser_1.JSXElementTraverser()], [utils_1.AST_NODE_TYPES.JSXEmptyExpression, new traverser_1.SimpleTraverser()], [utils_1.AST_NODE_TYPES.JSXOpeningElement, new jsx_traverser_1.JSXOpeningElementTraverser()], [utils_1.AST_NODE_TYPES.JSXAttribute, new jsx_traverser_1.JSXAttributeTraverser()], [utils_1.AST_NODE_TYPES.JSXFragment, new jsx_traverser_1.JSXFragmentTraverser()], [utils_1.AST_NODE_TYPES.JSXSpreadAttribute, new jsx_traverser_1.JSXSpreadAttributeTraverser()], [utils_1.AST_NODE_TYPES.JSXSpreadChild, new jsx_traverser_1.JSXSpreadChildTraverser()], [utils_1.AST_NODE_TYPES.JSXExpressionContainer, new jsx_traverser_1.JSXExpressionContainerTraverser()], [utils_1.AST_NODE_TYPES.LabeledStatement, new statement_traverser_1.LabeledStatementTraverser()], [utils_1.AST_NODE_TYPES.Literal, new traverser_1.SimpleTraverser()], [utils_1.AST_NODE_TYPES.LogicalExpression, new expression_traverser_1.LogicalExpressionTraverser()], [utils_1.AST_NODE_TYPES.MemberExpression, new expression_traverser_1.MemberExpressionTraverser()], [utils_1.AST_NODE_TYPES.MethodDefinition, new method_traverser_1.MethodTraverser()], [utils_1.AST_NODE_TYPES.NewExpression, new expression_traverser_1.NewExpressionTraverser()], [utils_1.AST_NODE_TYPES.ObjectExpression, new expression_traverser_1.ObjectExpressionTraverser()], [utils_1.AST_NODE_TYPES.ObjectPattern, new expression_traverser_1.ObjectPatternTraverser()], [utils_1.AST_NODE_TYPES.Program, new program_traverser_1.ProgramTraverser()], [utils_1.AST_NODE_TYPES.Property, new property_traverser_1.PropertyTraverser()], [utils_1.AST_NODE_TYPES.PropertyDefinition, new property_traverser_1.PropertyTraverser()], [utils_1.AST_NODE_TYPES.ReturnStatement, new statement_traverser_1.ReturnStatementTraverser()], [utils_1.AST_NODE_TYPES.SequenceExpression, new expression_traverser_1.SequenceExpressionTraverser()], [utils_1.AST_NODE_TYPES.SpreadElement, new expression_traverser_1.SpreadElementTraverser()], [utils_1.AST_NODE_TYPES.StaticBlock, new class_traverser_1.StaticBlockTraverser()], [utils_1.AST_NODE_TYPES.SwitchCase, new statement_traverser_1.SwitchCaseTraverser()], [utils_1.AST_NODE_TYPES.SwitchStatement, new statement_traverser_1.SwitchStatementTraverser()], [utils_1.AST_NODE_TYPES.TaggedTemplateExpression, new expression_traverser_1.TaggedTemplateExpressionTraverser()], [utils_1.AST_NODE_TYPES.TemplateElement, new traverser_1.SimpleTraverser()], [utils_1.AST_NODE_TYPES.TemplateLiteral, new expression_traverser_1.TemplateLiteralTraverser()], [utils_1.AST_NODE_TYPES.ThrowStatement, new statement_traverser_1.ThrowStatementTraverser()], [utils_1.AST_NODE_TYPES.TryStatement, new statement_traverser_1.TryStatementTraverser()], [utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty, new property_traverser_1.AccessorPropertyTraverser()], [utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition, new method_traverser_1.MethodTraverser()], [utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition, new property_traverser_1.PropertyTraverser()], [utils_1.AST_NODE_TYPES.TSArrayType, new type_traverser_1.ArrayTypeTraverser()], [utils_1.AST_NODE_TYPES.TSAsExpression, new expression_traverser_1.AsExpressionTraverser()], [utils_1.AST_NODE_TYPES.TSClassImplements, new traverser_1.SimpleTraverser()], [utils_1.AST_NODE_TYPES.TSConditionalType, new type_traverser_1.ConditionalTypeTraverser()], [utils_1.AST_NODE_TYPES.TSConstructorType, new type_traverser_1.ConstructorTypeTraverser()], [utils_1.AST_NODE_TYPES.TSDeclareFunction, new function_traverser_1.FunctionTraverser()], [utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression, new function_traverser_1.FunctionTraverser()], [utils_1.AST_NODE_TYPES.TSEnumBody, new enum_traverser_1.EnumBodyTraverser()], [utils_1.AST_NODE_TYPES.TSEnumDeclaration, new enum_traverser_1.EnumDeclarationTraverser()], [utils_1.AST_NODE_TYPES.TSEnumMember, new enum_traverser_1.EnumMemberTraverser()], [utils_1.AST_NODE_TYPES.TSFunctionType, new type_traverser_1.FunctionTypeTraverser()], [utils_1.AST_NODE_TYPES.TSExportAssignment, new export_declaration_traverser_1.ExportAssignmentTraverser()], [utils_1.AST_NODE_TYPES.TSImportType, new type_traverser_1.ImportTypeTraverser()], [utils_1.AST_NODE_TYPES.TSIndexedAccessType, new type_traverser_1.IndexedAccessTypeTraverser()], [utils_1.AST_NODE_TYPES.TSInferType, new type_traverser_1.InferTypeTraverser()], [utils_1.AST_NODE_TYPES.TSInterfaceBody, new interface_declaration_traverser_1.InterfaceBodyTraverser()], [utils_1.AST_NODE_TYPES.TSInterfaceDeclaration, new interface_declaration_traverser_1.InterfaceDeclarationTraverser()], [utils_1.AST_NODE_TYPES.TSInterfaceHeritage, new interface_declaration_traverser_1.InterfaceHeritageTraverser()], [utils_1.AST_NODE_TYPES.TSIntersectionType, new type_traverser_1.IntersectionTypeTraverser()], [utils_1.AST_NODE_TYPES.TSLiteralType, new type_traverser_1.LiteralTypeTraverser()], [utils_1.AST_NODE_TYPES.TSMappedType, new type_traverser_1.MappedTypeTraverser()], [utils_1.AST_NODE_TYPES.TSMethodSignature, new method_traverser_1.MethodTraverser()], [utils_1.AST_NODE_TYPES.TSNamedTupleMember, new type_traverser_1.NamedTupleMemberTraverser()], [utils_1.AST_NODE_TYPES.TSNonNullExpression, new expression_traverser_1.NonNullExpressionTraverser()], [utils_1.AST_NODE_TYPES.TSOptionalType, new type_traverser_1.OptionalTypeTraverser()], [utils_1.AST_NODE_TYPES.TSParameterProperty, new method_traverser_1.ParameterPropertyTraverser()], [utils_1.AST_NODE_TYPES.TSPropertySignature, new property_traverser_1.PropertyTraverser()], [utils_1.AST_NODE_TYPES.TSQualifiedName, new type_traverser_1.QualifiedNameTraverser()], [utils_1.AST_NODE_TYPES.TSRestType, new type_traverser_1.RestTypeTraverser()], [utils_1.AST_NODE_TYPES.TSTemplateLiteralType, new type_traverser_1.TemplateLiteralTypeTraverser()], [utils_1.AST_NODE_TYPES.TSTupleType, new type_traverser_1.TupleTypeTraverser()], [utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration, new type_alias_declaration_traverser_1.TypeAliasDeclarationTraverser()], [utils_1.AST_NODE_TYPES.TSTypeAnnotation, new type_traverser_1.TypeAnnotationTraverser()], [utils_1.AST_NODE_TYPES.TSTypeAssertion, new expression_traverser_1.TypeAssertionTraverser()], [utils_1.AST_NODE_TYPES.TSTypeLiteral, new type_traverser_1.TypeLiteralTraverser()], [utils_1.AST_NODE_TYPES.TSTypeOperator, new type_traverser_1.TypeOperatorTraverser()], [utils_1.AST_NODE_TYPES.TSTypePredicate, new type_traverser_1.TypePredicateTraverser()], [utils_1.AST_NODE_TYPES.TSTypeParameter, new type_parameter_traverser_1.TypeParameterTraverser()], [utils_1.AST_NODE_TYPES.TSTypeParameterDeclaration, new type_parameter_traverser_1.TypeParameterDeclarationTraverser()], [utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation, new type_parameter_traverser_1.TypeParameterInstantiationTraverser()], [utils_1.AST_NODE_TYPES.TSTypeQuery, new type_traverser_1.TypeQueryTraverser()], [utils_1.AST_NODE_TYPES.TSTypeReference, new type_traverser_1.TypeReferenceTraverser()], [utils_1.AST_NODE_TYPES.TSUnionType, new type_traverser_1.UnionTypeTraverser()], [utils_1.AST_NODE_TYPES.UnaryExpression, new expression_traverser_1.UnaryExpressionTraverser()], [utils_1.AST_NODE_TYPES.UpdateExpression, new expression_traverser_1.UpdateExpressionTraverser()], [utils_1.AST_NODE_TYPES.VariableDeclaration, new variable_declaration_traverser_1.VariableDeclarationTraverser()], [utils_1.AST_NODE_TYPES.VariableDeclarator, new variable_declaration_traverser_1.VariableDeclaratorTraverser()], [utils_1.AST_NODE_TYPES.WhileStatement, new statement_traverser_1.WhileStatementTraverser()], [utils_1.AST_NODE_TYPES.WithStatement, new statement_traverser_1.WithStatementTraverser()], [utils_1.AST_NODE_TYPES.YieldExpression, new expression_traverser_1.YieldExpressionTraverser()], ]); exports.POST_PROCESSORS = [ new external_dependencies_post_processor_1.ExternalDependenciesPostProcessor(), new exports_post_processor_1.ExportsPostProcessor(), ]; /** * Central index of all processors provided natively by the LCE. */ exports.PROCESSORS = [ new value_processor_1.ArrayValueProcessor(), new class_like_declaration_processor_1.AutoAccessorDeclarationProcessor(), new value_processor_1.CallValueProcessor(), new class_declaration_processor_1.ClassDeclarationProcessor(), new value_processor_1.ClassValueProcessor(), new value_processor_1.ComplexValueProcessor(), new instructional_code_processor_1.DeclarationScopeProcessor(), new decorator_processor_1.DecoratorProcessor(), new dependency_resolution_processor_1.DependencyResolutionProcessor(), new enum_declaration_processor_1.EnumDeclarationProcessor(), new enum_declaration_processor_1.EnumMemberProcessor(), new export_declaration_processor_1.ExportDeclarationProcessor(), new function_declaration_processor_1.FunctionDeclarationProcessor(), new function_declaration_processor_1.FunctionParameterProcessor(), new value_processor_1.FunctionValueProcessor(), new instructional_code_processor_1.IdentifierDependencyProcessor(), new value_processor_1.IdentifierValueProcessor(), new class_declaration_processor_1.ImplementsDeclarationProcessor(), new import_declaration_processor_1.ImportDeclarationProcessor(), new type_annotation_processor_1.IndexedAccessTypeProcessor(), new type_annotation_processor_1.IndexedAccessTypeCleanupProcessor(), new interface_declaration_processor_1.InterfaceDeclarationProcessor(), new value_processor_1.LiteralValueProcessor(), new instructional_code_processor_1.MemberExpressionDependencyProcessor(), new value_processor_1.MemberValueProcessor(), new class_like_declaration_processor_1.MethodParameterProcessor(), new class_like_declaration_processor_1.MethodProcessor(), new typescript_module_processor_1.ModuleProcessor(), new value_processor_1.ObjectValueProcessor(), new value_processor_1.ObjectValuePropertyProcessor(), new class_like_declaration_processor_1.PropertyProcessor(), new instructional_code_processor_1.ScopeProcessor(), new class_declaration_processor_1.SuperClassDeclarationProcessor(), new interface_declaration_processor_1.SuperInterfaceDeclarationProcessor(), new type_alias_declaration_processor_1.TypeAliasDeclarationProcessor(), new variable_declaration_processor_1.VariableDeclarationProcessor(), new variable_declaration_processor_1.VariableDeclaratorProcessor(), ];