@teambit/typescript 0.0.1157 → 0.0.1159
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.
- package/dist/cmds/check-types.cmd.js +10 -16
- package/dist/cmds/check-types.cmd.js.map +1 -1
- package/dist/cmds/write-tsconfig.cmd.js +10 -15
- package/dist/cmds/write-tsconfig.cmd.js.map +1 -1
- package/dist/exceptions/transformer-not-found.js +1 -1
- package/dist/exceptions/transformer-not-found.js.map +1 -1
- package/dist/export-identifier.js +4 -9
- package/dist/export-identifier.js.map +1 -1
- package/dist/{preview-1694488626516.js → preview-1694624356552.js} +2 -2
- package/dist/remove-types-task.js +7 -13
- package/dist/remove-types-task.js.map +1 -1
- package/dist/schema-extractor-context.js +7 -18
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/schema-transformer.plugin.js +5 -10
- package/dist/schema-transformer.plugin.js.map +1 -1
- package/dist/sourceFileTransformers/class.js +1 -1
- package/dist/sourceFileTransformers/class.js.map +1 -1
- package/dist/sourceFileTransformers/empty-line-encoder.js +8 -14
- package/dist/sourceFileTransformers/empty-line-encoder.js.map +1 -1
- package/dist/sourceFileTransformers/export.js +1 -4
- package/dist/sourceFileTransformers/export.js.map +1 -1
- package/dist/sourceFileTransformers/expression-statement.js +1 -1
- package/dist/sourceFileTransformers/expression-statement.js.map +1 -1
- package/dist/sourceFileTransformers/function.js +4 -5
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.js +1 -4
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/dist/sourceFileTransformers/interface.js +1 -1
- package/dist/sourceFileTransformers/interface.js.map +1 -1
- package/dist/sourceFileTransformers/replaceName.js +0 -4
- package/dist/sourceFileTransformers/replaceName.js.map +1 -1
- package/dist/sourceFileTransformers/transform.js +2 -7
- package/dist/sourceFileTransformers/transform.js.map +1 -1
- package/dist/sourceFileTransformers/type-reference.js +1 -1
- package/dist/sourceFileTransformers/type-reference.js.map +1 -1
- package/dist/sourceFileTransformers/typeAlias.js +1 -1
- package/dist/sourceFileTransformers/typeAlias.js.map +1 -1
- package/dist/sourceFileTransformers/variable.js +1 -1
- package/dist/sourceFileTransformers/variable.js.map +1 -1
- package/dist/transform-source-file.spec.js +1 -3
- package/dist/transform-source-file.spec.js.map +1 -1
- package/dist/transformers/array-type.js +1 -2
- package/dist/transformers/array-type.js.map +1 -1
- package/dist/transformers/binding-element.js +1 -2
- package/dist/transformers/binding-element.js.map +1 -1
- package/dist/transformers/class-declaration.js +5 -12
- package/dist/transformers/class-declaration.js.map +1 -1
- package/dist/transformers/conditional-type.js +0 -1
- package/dist/transformers/conditional-type.js.map +1 -1
- package/dist/transformers/constructor.js +1 -2
- package/dist/transformers/constructor.js.map +1 -1
- package/dist/transformers/enum-declaration.js +1 -2
- package/dist/transformers/enum-declaration.js.map +1 -1
- package/dist/transformers/export-assignment.js +0 -1
- package/dist/transformers/export-assignment.js.map +1 -1
- package/dist/transformers/export-declaration.js +0 -2
- package/dist/transformers/export-declaration.js.map +1 -1
- package/dist/transformers/expression-statement.js +1 -2
- package/dist/transformers/expression-statement.js.map +1 -1
- package/dist/transformers/function-like.js +1 -2
- package/dist/transformers/function-like.js.map +1 -1
- package/dist/transformers/get-accessor.js +1 -2
- package/dist/transformers/get-accessor.js.map +1 -1
- package/dist/transformers/import-declaration.js +0 -1
- package/dist/transformers/import-declaration.js.map +1 -1
- package/dist/transformers/index-signature.js +1 -2
- package/dist/transformers/index-signature.js.map +1 -1
- package/dist/transformers/indexed-access-type.js +0 -1
- package/dist/transformers/indexed-access-type.js.map +1 -1
- package/dist/transformers/interface-declaration.js +5 -12
- package/dist/transformers/interface-declaration.js.map +1 -1
- package/dist/transformers/intersection-type.js +1 -2
- package/dist/transformers/intersection-type.js.map +1 -1
- package/dist/transformers/keyword-type.js +0 -1
- package/dist/transformers/keyword-type.js.map +1 -1
- package/dist/transformers/literal-type.js +1 -2
- package/dist/transformers/literal-type.js.map +1 -1
- package/dist/transformers/module-declaration.js +1 -2
- package/dist/transformers/module-declaration.js.map +1 -1
- package/dist/transformers/named-tuple.js +0 -1
- package/dist/transformers/named-tuple.js.map +1 -1
- package/dist/transformers/parameter.js +1 -2
- package/dist/transformers/parameter.js.map +1 -1
- package/dist/transformers/parenthesized-type.js +0 -1
- package/dist/transformers/parenthesized-type.js.map +1 -1
- package/dist/transformers/property-declaration.js +0 -1
- package/dist/transformers/property-declaration.js.map +1 -1
- package/dist/transformers/set-accessor.js +1 -2
- package/dist/transformers/set-accessor.js.map +1 -1
- package/dist/transformers/source-file-transformer.js +1 -3
- package/dist/transformers/source-file-transformer.js.map +1 -1
- package/dist/transformers/template-literal-type-span.js +0 -1
- package/dist/transformers/template-literal-type-span.js.map +1 -1
- package/dist/transformers/template-literal-type.js +1 -2
- package/dist/transformers/template-literal-type.js.map +1 -1
- package/dist/transformers/this-type.js +0 -1
- package/dist/transformers/this-type.js.map +1 -1
- package/dist/transformers/tuple-type.js +1 -2
- package/dist/transformers/tuple-type.js.map +1 -1
- package/dist/transformers/type-alias.js +1 -2
- package/dist/transformers/type-alias.js.map +1 -1
- package/dist/transformers/type-literal.js +1 -2
- package/dist/transformers/type-literal.js.map +1 -1
- package/dist/transformers/type-operator.js +0 -1
- package/dist/transformers/type-operator.js.map +1 -1
- package/dist/transformers/type-predicate.js +0 -1
- package/dist/transformers/type-predicate.js.map +1 -1
- package/dist/transformers/type-query.js +1 -2
- package/dist/transformers/type-query.js.map +1 -1
- package/dist/transformers/type-reference.js +1 -2
- package/dist/transformers/type-reference.js.map +1 -1
- package/dist/transformers/union-type.js +1 -2
- package/dist/transformers/union-type.js.map +1 -1
- package/dist/transformers/utils/jsdoc-to-doc-schema.js +0 -1
- package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -1
- package/dist/transformers/utils/parse-type-from-quick-info.js +0 -4
- package/dist/transformers/utils/parse-type-from-quick-info.js.map +1 -1
- package/dist/transformers/variable-declaration.js +1 -2
- package/dist/transformers/variable-declaration.js.map +1 -1
- package/dist/transformers/variable-statement.js +1 -2
- package/dist/transformers/variable-statement.js.map +1 -1
- package/dist/tsconfig-writer.js +1 -6
- package/dist/tsconfig-writer.js.map +1 -1
- package/dist/typescript.compiler.js +13 -23
- package/dist/typescript.compiler.js.map +1 -1
- package/dist/typescript.compiler.spec.js +5 -9
- package/dist/typescript.compiler.spec.js.map +1 -1
- package/dist/typescript.composition.js +1 -1
- package/dist/typescript.composition.js.map +1 -1
- package/dist/typescript.extractor.js +5 -11
- package/dist/typescript.extractor.js.map +1 -1
- package/dist/typescript.main.runtime.js +8 -16
- package/dist/typescript.main.runtime.js.map +1 -1
- package/dist/typescript.parser.js +5 -10
- package/dist/typescript.parser.js.map +1 -1
- package/dist/typescript.parser.spec.js +1 -1
- package/dist/typescript.parser.spec.js.map +1 -1
- package/package.json +19 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireWildcard","require","_getTsconfig2","_semanticsEntities","_aspectLoader","_pMapSeries","_interopRequireDefault","_lodash","_exceptions","_schemaExtractorContext","_identifierList","_typescript2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeScriptExtractor","constructor","tsconfig","schemaTransformerSlot","tsMain","rootTsserverPath","rootContextPath","depResolver","workspace","scope","aspectLoader","logger","_defineProperty2","undefined","parseSourceFile","file","sourceFile","ts","createSourceFile","path","contents","toString","ScriptTarget","Latest","extract","component","formatter","tsserver","getTsServer","mainFile","compatibleExts","internalFiles","filesystem","files","filter","includes","extname","allFiles","context","createContext","pMapSeries","ast","identifiers","computeIdentifiers","cacheKey","getIdentifierKeyForNode","setIdentifiers","IdentifierList","mainAst","moduleSchema","computeSchema","flatExportsRecursively","apiScheme","internals","computeInternalModules","location","getLocation","APISchema","id","compact","Promise","all","internalIdentifiers","entries","map","filePath","find","internalFile","fileAst","dispose","killTsServer","node","transformer","getTransformer","getIdentifiers","warn","TransformerNotFound","_this$workspace","componentDeps","getComponentDeps","SchemaExtractorContext","deps","getDependencies","getComponentDependencies","getTsserverClient","initTsserverClient","UnImplementedSchema","getText","SyntaxKind","kind","transform","getComponentIDByPath","coreAspectIds","getCoreAspectIds","matchingCoreAspect","c","getCoreAspectPackageName","resolveComponentId","getComponentIdByPath","transformers","flatten","values","singleTransformer","predicate","from","options","_getTsconfig","_tsMain$workspace","getTsconfig","config","compilerOptions","getAspect","TypescriptAspect","aspectLoaderMain","AspectLoaderAspect","rootPath","createLogger","name","exports"],"sources":["typescript.extractor.ts"],"sourcesContent":["import ts, { Node, SourceFile, SyntaxKind } from 'typescript';\nimport { getTsconfig } from 'get-tsconfig';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { TsserverClient } from '@teambit/ts-server';\nimport type { Workspace } from '@teambit/workspace';\nimport { ComponentDependency, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { SchemaNode, APISchema, ModuleSchema, UnImplementedSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { Component } from '@teambit/component';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { EnvContext } from '@teambit/envs';\nimport { Formatter } from '@teambit/formatter';\nimport { Logger } from '@teambit/logger';\nimport AspectLoaderAspect, { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { ScopeMain } from '@teambit/scope';\nimport pMapSeries from 'p-map-series';\nimport { compact, flatten } from 'lodash';\nimport { TypescriptMain, SchemaTransformerSlot } from './typescript.main.runtime';\nimport { TransformerNotFound } from './exceptions';\nimport { SchemaExtractorContext } from './schema-extractor-context';\nimport { Identifier } from './identifier';\nimport { IdentifierList } from './identifier-list';\nimport { ExtractorOptions } from './extractor-options';\nimport { TypescriptAspect } from './typescript.aspect';\n\nexport class TypeScriptExtractor implements SchemaExtractor {\n constructor(\n private tsconfig: any,\n private schemaTransformerSlot: SchemaTransformerSlot,\n private tsMain: TypescriptMain,\n private rootTsserverPath: string,\n private rootContextPath: string,\n private depResolver: DependencyResolverMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private logger: Logger\n ) {}\n\n parseSourceFile(file: AbstractVinyl): SourceFile {\n const sourceFile = ts.createSourceFile(\n file.path,\n file.contents.toString('utf8'),\n ts.ScriptTarget.Latest,\n true\n /** don't pass the scriptKind, it'll be determined automatically by typescript by the filepath */\n );\n // leave this commented out, it's helpful when there are issues with ASTs. consider throwing in this case.\n // console.log(\"sourceFile Errors\", file.path, sourceFile.parseDiagnostics);\n return sourceFile;\n }\n\n /**\n * extract a component schema.\n */\n async extract(component: Component, formatter?: Formatter): Promise<APISchema> {\n const tsserver = await this.getTsServer();\n const mainFile = component.mainFile;\n const compatibleExts = ['.tsx', '.ts'];\n const internalFiles = component.filesystem.files.filter(\n (file) => compatibleExts.includes(file.extname) && file.path !== mainFile.path\n );\n const allFiles = [mainFile, ...internalFiles];\n\n const context = await this.createContext(tsserver, component, formatter);\n\n await pMapSeries(allFiles, async (file) => {\n const ast = this.parseSourceFile(file);\n const identifiers = await this.computeIdentifiers(ast, context); // compute for every file\n const cacheKey = context.getIdentifierKeyForNode(ast);\n context.setIdentifiers(cacheKey, new IdentifierList(identifiers));\n });\n\n const mainAst = this.parseSourceFile(mainFile);\n const moduleSchema = (await this.computeSchema(mainAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n const apiScheme = moduleSchema;\n const internals = await this.computeInternalModules(context, internalFiles);\n\n const location = context.getLocation(mainAst);\n\n return new APISchema(location, apiScheme, internals, component.id);\n }\n\n async computeInternalModules(context: SchemaExtractorContext, internalFiles: AbstractVinyl[]) {\n const internals = compact(\n await Promise.all(\n [...context.internalIdentifiers.entries()].map(async ([filePath]) => {\n const file = internalFiles.find((internalFile) => internalFile.path === filePath);\n if (!file) return undefined;\n const fileAst = this.parseSourceFile(file);\n const moduleSchema = (await this.computeSchema(fileAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n return moduleSchema;\n })\n )\n );\n return internals;\n }\n\n dispose() {\n if (!this.tsserver) return;\n this.tsserver.killTsServer();\n }\n\n async computeIdentifiers(node: Node, context: SchemaExtractorContext) {\n const transformer = this.getTransformer(node, context);\n let identifiers: Identifier[] = [];\n if (!transformer || !transformer.getIdentifiers) {\n this.logger.warn(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n } else {\n identifiers = await transformer.getIdentifiers(node, context);\n }\n return identifiers;\n }\n\n private async createContext(\n tsserver: TsserverClient,\n component: Component,\n formatter?: Formatter\n ): Promise<SchemaExtractorContext> {\n const componentDeps = await this.getComponentDeps(component);\n return new SchemaExtractorContext(\n tsserver,\n component,\n this,\n componentDeps,\n this.rootContextPath,\n this.workspace?.path || this.scope.path,\n formatter\n );\n }\n\n private async getComponentDeps(component: Component): Promise<ComponentDependency[]> {\n const deps = await this.depResolver.getDependencies(component);\n const componentDeps = deps.getComponentDependencies();\n return componentDeps;\n }\n\n private tsserver: TsserverClient | undefined = undefined;\n\n private async getTsServer() {\n if (!this.tsserver) {\n const tsserver = this.tsMain.getTsserverClient();\n if (tsserver) {\n this.tsserver = tsserver;\n return tsserver;\n }\n\n this.tsserver = await this.tsMain.initTsserverClient(this.rootTsserverPath);\n return this.tsserver;\n }\n\n return this.tsserver;\n }\n\n async computeSchema(node: Node, context: SchemaExtractorContext): Promise<SchemaNode> {\n const transformer = this.getTransformer(node, context);\n\n if (!transformer) {\n return new UnImplementedSchema(context.getLocation(node), node.getText(), SyntaxKind[node.kind]);\n }\n return transformer.transform(node, context);\n }\n\n async getComponentIDByPath(file: string) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const matchingCoreAspect = coreAspectIds.find((c) => file === getCoreAspectPackageName(c));\n\n if (matchingCoreAspect) {\n return (this.workspace || this.scope).resolveComponentId(matchingCoreAspect);\n }\n\n if (this.workspace) {\n return this.workspace.getComponentIdByPath(file);\n }\n return null;\n }\n\n /**\n * select the correct transformer for a node.\n */\n getTransformer(node: Node, context: SchemaExtractorContext) {\n const transformers = flatten(this.schemaTransformerSlot.values());\n const transformer = transformers.find((singleTransformer) => {\n return singleTransformer.predicate(node);\n });\n if (!transformer) {\n this.logger.warn(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n return undefined;\n }\n\n return transformer;\n }\n\n static from(options: ExtractorOptions) {\n return (context: EnvContext) => {\n const tsconfig = getTsconfig(options.tsconfig)?.config || { compilerOptions: options.compilerOptions };\n const tsMain = context.getAspect<TypescriptMain>(TypescriptAspect.id);\n const aspectLoaderMain = context.getAspect<AspectLoaderMain>(AspectLoaderAspect.id);\n\n // When loading the env from a scope you don't have a workspace\n const rootPath = tsMain.workspace?.path || tsMain.scope.path || '';\n\n return new TypeScriptExtractor(\n tsconfig,\n tsMain.schemaTransformerSlot,\n tsMain,\n rootPath,\n rootPath,\n tsMain.depResolver,\n tsMain.workspace,\n tsMain.scope,\n aspectLoaderMain,\n context.createLogger(options.name)\n );\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireWildcard","require","_getTsconfig2","_semanticsEntities","_aspectLoader","_pMapSeries","_interopRequireDefault","_lodash","_exceptions","_schemaExtractorContext","_identifierList","_typescript2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","TypeScriptExtractor","constructor","tsconfig","schemaTransformerSlot","tsMain","rootTsserverPath","rootContextPath","depResolver","workspace","scope","aspectLoader","logger","parseSourceFile","file","sourceFile","ts","createSourceFile","path","contents","toString","ScriptTarget","Latest","extract","component","formatter","tsserver","getTsServer","mainFile","compatibleExts","internalFiles","filesystem","files","filter","includes","extname","allFiles","context","createContext","pMapSeries","ast","identifiers","computeIdentifiers","cacheKey","getIdentifierKeyForNode","setIdentifiers","IdentifierList","mainAst","moduleSchema","computeSchema","flatExportsRecursively","apiScheme","internals","computeInternalModules","location","getLocation","APISchema","id","compact","Promise","all","internalIdentifiers","entries","map","filePath","find","internalFile","fileAst","dispose","killTsServer","node","transformer","getTransformer","getIdentifiers","warn","TransformerNotFound","_this$workspace","componentDeps","getComponentDeps","SchemaExtractorContext","deps","getDependencies","getComponentDependencies","getTsserverClient","initTsserverClient","UnImplementedSchema","getText","SyntaxKind","kind","transform","getComponentIDByPath","coreAspectIds","getCoreAspectIds","matchingCoreAspect","c","getCoreAspectPackageName","resolveComponentId","getComponentIdByPath","transformers","flatten","values","singleTransformer","predicate","from","options","_getTsconfig","_tsMain$workspace","getTsconfig","config","compilerOptions","getAspect","TypescriptAspect","aspectLoaderMain","AspectLoaderAspect","rootPath","createLogger","name","exports"],"sources":["typescript.extractor.ts"],"sourcesContent":["import ts, { Node, SourceFile, SyntaxKind } from 'typescript';\nimport { getTsconfig } from 'get-tsconfig';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { TsserverClient } from '@teambit/ts-server';\nimport type { Workspace } from '@teambit/workspace';\nimport { ComponentDependency, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { SchemaNode, APISchema, ModuleSchema, UnImplementedSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { Component } from '@teambit/component';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { EnvContext } from '@teambit/envs';\nimport { Formatter } from '@teambit/formatter';\nimport { Logger } from '@teambit/logger';\nimport AspectLoaderAspect, { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { ScopeMain } from '@teambit/scope';\nimport pMapSeries from 'p-map-series';\nimport { compact, flatten } from 'lodash';\nimport { TypescriptMain, SchemaTransformerSlot } from './typescript.main.runtime';\nimport { TransformerNotFound } from './exceptions';\nimport { SchemaExtractorContext } from './schema-extractor-context';\nimport { Identifier } from './identifier';\nimport { IdentifierList } from './identifier-list';\nimport { ExtractorOptions } from './extractor-options';\nimport { TypescriptAspect } from './typescript.aspect';\n\nexport class TypeScriptExtractor implements SchemaExtractor {\n constructor(\n private tsconfig: any,\n private schemaTransformerSlot: SchemaTransformerSlot,\n private tsMain: TypescriptMain,\n private rootTsserverPath: string,\n private rootContextPath: string,\n private depResolver: DependencyResolverMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private logger: Logger\n ) {}\n\n parseSourceFile(file: AbstractVinyl): SourceFile {\n const sourceFile = ts.createSourceFile(\n file.path,\n file.contents.toString('utf8'),\n ts.ScriptTarget.Latest,\n true\n /** don't pass the scriptKind, it'll be determined automatically by typescript by the filepath */\n );\n // leave this commented out, it's helpful when there are issues with ASTs. consider throwing in this case.\n // console.log(\"sourceFile Errors\", file.path, sourceFile.parseDiagnostics);\n return sourceFile;\n }\n\n /**\n * extract a component schema.\n */\n async extract(component: Component, formatter?: Formatter): Promise<APISchema> {\n const tsserver = await this.getTsServer();\n const mainFile = component.mainFile;\n const compatibleExts = ['.tsx', '.ts'];\n const internalFiles = component.filesystem.files.filter(\n (file) => compatibleExts.includes(file.extname) && file.path !== mainFile.path\n );\n const allFiles = [mainFile, ...internalFiles];\n\n const context = await this.createContext(tsserver, component, formatter);\n\n await pMapSeries(allFiles, async (file) => {\n const ast = this.parseSourceFile(file);\n const identifiers = await this.computeIdentifiers(ast, context); // compute for every file\n const cacheKey = context.getIdentifierKeyForNode(ast);\n context.setIdentifiers(cacheKey, new IdentifierList(identifiers));\n });\n\n const mainAst = this.parseSourceFile(mainFile);\n const moduleSchema = (await this.computeSchema(mainAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n const apiScheme = moduleSchema;\n const internals = await this.computeInternalModules(context, internalFiles);\n\n const location = context.getLocation(mainAst);\n\n return new APISchema(location, apiScheme, internals, component.id);\n }\n\n async computeInternalModules(context: SchemaExtractorContext, internalFiles: AbstractVinyl[]) {\n const internals = compact(\n await Promise.all(\n [...context.internalIdentifiers.entries()].map(async ([filePath]) => {\n const file = internalFiles.find((internalFile) => internalFile.path === filePath);\n if (!file) return undefined;\n const fileAst = this.parseSourceFile(file);\n const moduleSchema = (await this.computeSchema(fileAst, context)) as ModuleSchema;\n moduleSchema.flatExportsRecursively();\n return moduleSchema;\n })\n )\n );\n return internals;\n }\n\n dispose() {\n if (!this.tsserver) return;\n this.tsserver.killTsServer();\n }\n\n async computeIdentifiers(node: Node, context: SchemaExtractorContext) {\n const transformer = this.getTransformer(node, context);\n let identifiers: Identifier[] = [];\n if (!transformer || !transformer.getIdentifiers) {\n this.logger.warn(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n } else {\n identifiers = await transformer.getIdentifiers(node, context);\n }\n return identifiers;\n }\n\n private async createContext(\n tsserver: TsserverClient,\n component: Component,\n formatter?: Formatter\n ): Promise<SchemaExtractorContext> {\n const componentDeps = await this.getComponentDeps(component);\n return new SchemaExtractorContext(\n tsserver,\n component,\n this,\n componentDeps,\n this.rootContextPath,\n this.workspace?.path || this.scope.path,\n formatter\n );\n }\n\n private async getComponentDeps(component: Component): Promise<ComponentDependency[]> {\n const deps = await this.depResolver.getDependencies(component);\n const componentDeps = deps.getComponentDependencies();\n return componentDeps;\n }\n\n private tsserver: TsserverClient | undefined = undefined;\n\n private async getTsServer() {\n if (!this.tsserver) {\n const tsserver = this.tsMain.getTsserverClient();\n if (tsserver) {\n this.tsserver = tsserver;\n return tsserver;\n }\n\n this.tsserver = await this.tsMain.initTsserverClient(this.rootTsserverPath);\n return this.tsserver;\n }\n\n return this.tsserver;\n }\n\n async computeSchema(node: Node, context: SchemaExtractorContext): Promise<SchemaNode> {\n const transformer = this.getTransformer(node, context);\n\n if (!transformer) {\n return new UnImplementedSchema(context.getLocation(node), node.getText(), SyntaxKind[node.kind]);\n }\n return transformer.transform(node, context);\n }\n\n async getComponentIDByPath(file: string) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const matchingCoreAspect = coreAspectIds.find((c) => file === getCoreAspectPackageName(c));\n\n if (matchingCoreAspect) {\n return (this.workspace || this.scope).resolveComponentId(matchingCoreAspect);\n }\n\n if (this.workspace) {\n return this.workspace.getComponentIdByPath(file);\n }\n return null;\n }\n\n /**\n * select the correct transformer for a node.\n */\n getTransformer(node: Node, context: SchemaExtractorContext) {\n const transformers = flatten(this.schemaTransformerSlot.values());\n const transformer = transformers.find((singleTransformer) => {\n return singleTransformer.predicate(node);\n });\n if (!transformer) {\n this.logger.warn(new TransformerNotFound(node, context.component, context.getLocation(node)).toString());\n return undefined;\n }\n\n return transformer;\n }\n\n static from(options: ExtractorOptions) {\n return (context: EnvContext) => {\n const tsconfig = getTsconfig(options.tsconfig)?.config || { compilerOptions: options.compilerOptions };\n const tsMain = context.getAspect<TypescriptMain>(TypescriptAspect.id);\n const aspectLoaderMain = context.getAspect<AspectLoaderMain>(AspectLoaderAspect.id);\n\n // When loading the env from a scope you don't have a workspace\n const rootPath = tsMain.workspace?.path || tsMain.scope.path || '';\n\n return new TypeScriptExtractor(\n tsconfig,\n tsMain.schemaTransformerSlot,\n tsMain,\n rootPath,\n rootPath,\n tsMain.depResolver,\n tsMain.workspace,\n tsMain.scope,\n aspectLoaderMain,\n context.createLogger(options.name)\n );\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.flat.js");
|
|
5
|
-
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
require("core-js/modules/es.array.unscopables.flat.js");
|
|
7
|
-
require("core-js/modules/es.promise.js");
|
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
|
9
4
|
value: true
|
|
10
5
|
});
|
|
11
6
|
exports.default = exports.TypescriptMain = void 0;
|
|
12
7
|
exports.runTransformersWithContext = runTransformersWithContext;
|
|
13
|
-
function _defineProperty2() {
|
|
14
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
_defineProperty2 = function () {
|
|
16
|
-
return data;
|
|
17
|
-
};
|
|
18
|
-
return data;
|
|
19
|
-
}
|
|
20
8
|
function _typescript() {
|
|
21
9
|
const data = _interopRequireDefault(require("typescript"));
|
|
22
10
|
_typescript = function () {
|
|
@@ -192,6 +180,10 @@ function _removeTypesTask() {
|
|
|
192
180
|
};
|
|
193
181
|
return data;
|
|
194
182
|
}
|
|
183
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
184
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
185
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
186
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
195
187
|
class TypescriptMain {
|
|
196
188
|
constructor(logger, schemaTransformerSlot, workspace, scope, depResolver, envs, tsConfigWriter, aspectLoader) {
|
|
197
189
|
this.logger = logger;
|
|
@@ -202,7 +194,7 @@ class TypescriptMain {
|
|
|
202
194
|
this.envs = envs;
|
|
203
195
|
this.tsConfigWriter = tsConfigWriter;
|
|
204
196
|
this.aspectLoader = aspectLoader;
|
|
205
|
-
(
|
|
197
|
+
_defineProperty(this, "tsServer", void 0);
|
|
206
198
|
}
|
|
207
199
|
/**
|
|
208
200
|
* create a new compiler.
|
|
@@ -401,9 +393,9 @@ class TypescriptMain {
|
|
|
401
393
|
}
|
|
402
394
|
}
|
|
403
395
|
exports.TypescriptMain = TypescriptMain;
|
|
404
|
-
(
|
|
405
|
-
(
|
|
406
|
-
(
|
|
396
|
+
_defineProperty(TypescriptMain, "runtime", _cli().MainRuntime);
|
|
397
|
+
_defineProperty(TypescriptMain, "dependencies", [_schema().SchemaAspect, _logger().LoggerAspect, _aspectLoader().default, _workspace().WorkspaceAspect, _cli().CLIAspect, _dependencyResolver().DependencyResolverAspect, _envs().default, _watcher().default, _scope().ScopeAspect, _builder().BuilderAspect]);
|
|
398
|
+
_defineProperty(TypescriptMain, "slots", [_harmony().Slot.withType()]);
|
|
407
399
|
_typescript3().TypescriptAspect.addRuntime(TypescriptMain);
|
|
408
400
|
function runTransformersWithContext(config, transformers = [], context) {
|
|
409
401
|
if (!Array.isArray(transformers)) return config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_harmony","_cli","_logger","_schema","_typescriptModules","_workspace","_dependencyResolver","_pMapSeries","_tsServer","_aspectLoader","_watcher","_builder","_envs","_scope","_typescript2","_typescript3","_typescript4","_typescript5","_schemaTransformer","_transformers","_checkTypes","_tsconfigWriter","_writeTsconfig","_removeTypesTask","TypescriptMain","constructor","logger","schemaTransformerSlot","workspace","scope","depResolver","envs","tsConfigWriter","aspectLoader","_defineProperty2","default","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","TypescriptCompiler","TypescriptAspect","id","raw","getTsserverClient","tsServer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","tsconfig","compilerOptions","module","lib","createSchemaExtractor","tsserverPath","contextPath","_this$workspace","_this$workspace2","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","filter","endsWith","cleanTsconfigJson","list","runtime","createEnvironment","execContext","getEnvExecutionContext","results","TsconfigWriter","clean","writeTsconfigJson","cleanResults","writeResults","write","onPreWatch","componentIds","watchOpts","spawnTSServer","verbose","checkTypes","getMany","printTypeErrors","Boolean","onComponentChange","component","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","builder","registerParser","TypeScriptParser","createLogger","registerPlugins","SchemaTransformerPlugin","tsconfigWriter","tsMain","register","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","ExpressionStatementTransformer","ModuleDeclarationTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","removeTypesTask","RemoveTypesTask","registerSnapTasks","registerTagTasks","checkTypesCmd","CheckTypesCmd","writeTsconfigCmd","WriteTsconfigCmd","exports","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","ScopeAspect","BuilderAspect","Slot","withType","addRuntime","context","Array","isArray","newConfig","reduce","acc","transformer","_default"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport WatcherAspect, { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypescriptCompiler } from './typescript.compiler';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n ExpressionStatementTransformer,\n ModuleDeclarationTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { TsconfigPathsPerEnv, TsconfigWriter } from './tsconfig-writer';\nimport WriteTsconfigCmd from './cmds/write-tsconfig.cmd';\nimport { RemoveTypesTask } from './remove-types-task';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsconfigWriterOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n dryRunWithTsconfig?: boolean;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n constructor(\n private logger: Logger,\n readonly schemaTransformerSlot: SchemaTransformerSlot,\n readonly workspace: Workspace,\n readonly scope: ScopeMain,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private tsConfigWriter: TsconfigWriter,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return new TypescriptCompiler(TypescriptAspect.id, this.logger, afterMutation.raw, tsModule);\n }\n\n /**\n * get TsserverClient instance if initiated already, otherwise, return undefined.\n */\n getTsserverClient(): TsserverClient | undefined {\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n await this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(tsconfig: any, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return new TypeScriptExtractor(\n tsconfig,\n this.schemaTransformerSlot,\n this,\n tsserverPath || this.workspace?.path || '',\n contextPath || this.workspace?.path || '',\n this.depResolver,\n this.workspace,\n this.scope,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n async cleanTsconfigJson(options: TsconfigWriterOptions = {}) {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n const results = await new TsconfigWriter(this.workspace, this.logger).clean(execContext, options);\n\n return results;\n }\n\n async writeTsconfigJson(options: TsconfigWriterOptions = {}): Promise<{\n cleanResults?: string[];\n writeResults: TsconfigPathsPerEnv[];\n }> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n let cleanResults: string[] | undefined;\n if (options.clean) {\n cleanResults = await this.tsConfigWriter.clean(execContext, options);\n }\n\n const writeResults = await this.tsConfigWriter.write(execContext, options);\n\n return { writeResults, cleanResults };\n }\n\n private async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(await workspace.getMany(componentIds)) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n ScopeAspect,\n BuilderAspect,\n ];\n static slots = [Slot.withType<SchemaTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, scope, builder]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n ScopeMain,\n BuilderMain\n ],\n config,\n [schemaTransformerSlot]: [SchemaTransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsconfigWriter = new TsconfigWriter(workspace, logger);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n workspace,\n scope,\n depResolver,\n envs,\n tsconfigWriter,\n aspectLoader\n );\n schemaTransformerSlot.register([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n new ExpressionStatementTransformer(),\n new ModuleDeclarationTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const removeTypesTask = new RemoveTypesTask();\n builder.registerSnapTasks([removeTypesTask]);\n builder.registerTagTasks([removeTypesTask]);\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n const writeTsconfigCmd = new WriteTsconfigCmd(tsMain);\n cli.register(checkTypesCmd, writeTsconfigCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_harmony","_cli","_logger","_schema","_typescriptModules","_workspace","_dependencyResolver","_pMapSeries","_tsServer","_aspectLoader","_watcher","_builder","_envs","_scope","_typescript2","_typescript3","_typescript4","_typescript5","_schemaTransformer","_transformers","_checkTypes","_tsconfigWriter","_writeTsconfig","_removeTypesTask","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","TypescriptMain","constructor","logger","schemaTransformerSlot","workspace","scope","depResolver","envs","tsConfigWriter","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","TypescriptCompiler","TypescriptAspect","id","raw","getTsserverClient","tsServer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","tsconfig","compilerOptions","module","lib","createSchemaExtractor","tsserverPath","contextPath","_this$workspace","_this$workspace2","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","filter","endsWith","cleanTsconfigJson","list","runtime","createEnvironment","execContext","getEnvExecutionContext","results","TsconfigWriter","clean","writeTsconfigJson","cleanResults","writeResults","write","onPreWatch","componentIds","watchOpts","spawnTSServer","verbose","checkTypes","getMany","printTypeErrors","Boolean","onComponentChange","component","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","builder","registerParser","TypeScriptParser","createLogger","registerPlugins","SchemaTransformerPlugin","tsconfigWriter","tsMain","register","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","ExpressionStatementTransformer","ModuleDeclarationTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","removeTypesTask","RemoveTypesTask","registerSnapTasks","registerTagTasks","checkTypesCmd","CheckTypesCmd","writeTsconfigCmd","WriteTsconfigCmd","exports","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","ScopeAspect","BuilderAspect","Slot","withType","addRuntime","context","Array","isArray","newConfig","reduce","acc","transformer","_default"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport WatcherAspect, { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypescriptCompiler } from './typescript.compiler';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n ExpressionStatementTransformer,\n ModuleDeclarationTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { TsconfigPathsPerEnv, TsconfigWriter } from './tsconfig-writer';\nimport WriteTsconfigCmd from './cmds/write-tsconfig.cmd';\nimport { RemoveTypesTask } from './remove-types-task';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsconfigWriterOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n dryRunWithTsconfig?: boolean;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n constructor(\n private logger: Logger,\n readonly schemaTransformerSlot: SchemaTransformerSlot,\n readonly workspace: Workspace,\n readonly scope: ScopeMain,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private tsConfigWriter: TsconfigWriter,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return new TypescriptCompiler(TypescriptAspect.id, this.logger, afterMutation.raw, tsModule);\n }\n\n /**\n * get TsserverClient instance if initiated already, otherwise, return undefined.\n */\n getTsserverClient(): TsserverClient | undefined {\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n await this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(tsconfig: any, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return new TypeScriptExtractor(\n tsconfig,\n this.schemaTransformerSlot,\n this,\n tsserverPath || this.workspace?.path || '',\n contextPath || this.workspace?.path || '',\n this.depResolver,\n this.workspace,\n this.scope,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n async cleanTsconfigJson(options: TsconfigWriterOptions = {}) {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n const results = await new TsconfigWriter(this.workspace, this.logger).clean(execContext, options);\n\n return results;\n }\n\n async writeTsconfigJson(options: TsconfigWriterOptions = {}): Promise<{\n cleanResults?: string[];\n writeResults: TsconfigPathsPerEnv[];\n }> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n let cleanResults: string[] | undefined;\n if (options.clean) {\n cleanResults = await this.tsConfigWriter.clean(execContext, options);\n }\n\n const writeResults = await this.tsConfigWriter.write(execContext, options);\n\n return { writeResults, cleanResults };\n }\n\n private async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(await workspace.getMany(componentIds)) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n ScopeAspect,\n BuilderAspect,\n ];\n static slots = [Slot.withType<SchemaTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, scope, builder]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n ScopeMain,\n BuilderMain\n ],\n config,\n [schemaTransformerSlot]: [SchemaTransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsconfigWriter = new TsconfigWriter(workspace, logger);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n workspace,\n scope,\n depResolver,\n envs,\n tsconfigWriter,\n aspectLoader\n );\n schemaTransformerSlot.register([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n new ExpressionStatementTransformer(),\n new ModuleDeclarationTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const removeTypesTask = new RemoveTypesTask();\n builder.registerSnapTasks([removeTypesTask]);\n builder.registerTagTasks([removeTypesTask]);\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n const writeTsconfigCmd = new WriteTsconfigCmd(tsMain);\n cli.register(checkTypesCmd, writeTsconfigCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":"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"}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.TypeScriptParser = void 0;
|
|
9
|
-
function _defineProperty2() {
|
|
10
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
_defineProperty2 = function () {
|
|
12
|
-
return data;
|
|
13
|
-
};
|
|
14
|
-
return data;
|
|
15
|
-
}
|
|
16
7
|
function _semanticsEntities() {
|
|
17
8
|
const data = require("@teambit/semantics.entities.semantic-schema");
|
|
18
9
|
_semanticsEntities = function () {
|
|
@@ -34,6 +25,10 @@ function _typescript() {
|
|
|
34
25
|
};
|
|
35
26
|
return data;
|
|
36
27
|
}
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
30
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
31
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
37
32
|
class TypeScriptParser {
|
|
38
33
|
getExports(sourceFile) {
|
|
39
34
|
const staticProperties = this.parseStaticProperties(sourceFile);
|
|
@@ -138,7 +133,7 @@ class TypeScriptParser {
|
|
|
138
133
|
}
|
|
139
134
|
constructor(logger) {
|
|
140
135
|
this.logger = logger;
|
|
141
|
-
(
|
|
136
|
+
_defineProperty(this, "extension", /^.*\.(js|jsx|ts|tsx)$/);
|
|
142
137
|
}
|
|
143
138
|
}
|
|
144
139
|
exports.TypeScriptParser = TypeScriptParser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semanticsEntities","data","require","_fsExtra","_typescript","_interopRequireDefault","TypeScriptParser","getExports","sourceFile","staticProperties","parseStaticProperties","exportModels","statements","forEach","statement","ts","isExportAssignment","isExportDeclaration","exportClause","isNamedExports","elements","element","name","escapedText","toString","push","Export","get","isNamespaceExport","modifiers","some","modifier","kind","SyntaxKind","ExportKeyword","isVariableStatement","child","declarationList","declarations","isIdentifier","isFunctionDeclaration","isClassDeclaration","withoutEmpty","filter","exportModel","undefined","parseModule","modulePath","ast","createSourceFile","readFileSync","ScriptTarget","Latest","moduleExports","exportStaticProperties","Map","isExpressionStatement","isBinaryExpression","expression","operatorToken","EqualsToken","isPropertyAccessExpression","left","targetName","text","propertyName","has","set","existingProperties","isStringLiteral","right","isNumericLiteral","UndefinedKeyword","NullKeyword","TrueKeyword","FalseKeyword","err","_this$logger","logger","error","constructor","_defineProperty2","default","exports"],"sources":["typescript.parser.ts"],"sourcesContent":["import { Parser } from '@teambit/schema';\nimport { Export, StaticProperties } from '@teambit/semantics.entities.semantic-schema';\nimport { Logger } from '@teambit/logger';\nimport { readFileSync } from 'fs-extra';\nimport ts from 'typescript';\n\nexport class TypeScriptParser implements Parser {\n public extension = /^.*\\.(js|jsx|ts|tsx)$/;\n\n getExports(sourceFile: ts.SourceFile): Export[] {\n const staticProperties = this.parseStaticProperties(sourceFile);\n const exportModels: Export[] = [];\n\n sourceFile.statements.forEach((statement) => {\n // export default\n if (ts.isExportAssignment(statement)) {\n // export default\n }\n\n // export declarations or re-exports\n if (ts.isExportDeclaration(statement)) {\n if (statement.exportClause) {\n if (ts.isNamedExports(statement.exportClause)) {\n statement.exportClause.elements.forEach((element) => {\n const name = element.name.escapedText.toString();\n if (name !== 'default') {\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n });\n }\n if (ts.isNamespaceExport(statement.exportClause)) {\n const name = statement.exportClause.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n }\n }\n\n // export modifiers\n // - variable statement\n // - function statement\n // - class statement\n if (statement.modifiers) {\n statement.modifiers.some((modifier) => {\n if (modifier.kind === ts.SyntaxKind.ExportKeyword) {\n if (ts.isVariableStatement(statement)) {\n const child = statement.declarationList.declarations[0];\n if (ts.isIdentifier(child.name)) {\n const name = child.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n } else if (ts.isFunctionDeclaration(statement)) {\n if (statement.name) {\n const name = statement.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n } else if (ts.isClassDeclaration(statement)) {\n if (statement.name) {\n const name = statement.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n }\n return true;\n }\n return false;\n });\n }\n });\n\n const withoutEmpty = exportModels.filter((exportModel) => exportModel !== undefined);\n // @ts-ignore\n return withoutEmpty;\n }\n\n parseModule(modulePath: string) {\n const ast = ts.createSourceFile(modulePath, readFileSync(modulePath, 'utf8'), ts.ScriptTarget.Latest);\n\n const moduleExports = this.getExports(ast);\n return moduleExports;\n }\n\n parseStaticProperties(sourceFile: ts.SourceFile) {\n // TODO - should we also parse staticProperties inside classes / objects?\n\n const exportStaticProperties = new Map<string, StaticProperties>();\n\n sourceFile.statements.forEach((statement) => {\n try {\n if (!ts.isExpressionStatement(statement)) return;\n if (!ts.isBinaryExpression(statement.expression)) return;\n if (statement.expression.operatorToken.kind !== ts.SyntaxKind.EqualsToken) return;\n if (!ts.isPropertyAccessExpression(statement.expression.left)) return;\n if (!ts.isIdentifier(statement.expression.left.expression)) return;\n\n const targetName = statement.expression.left.expression.text;\n const propertyName = statement.expression.left.name.text;\n\n if (!exportStaticProperties.has(targetName)) exportStaticProperties.set(targetName, new Map());\n\n const existingProperties = exportStaticProperties.get(targetName);\n\n if (ts.isStringLiteral(statement.expression.right)) {\n existingProperties?.set(propertyName, statement.expression.right.text);\n } else if (ts.isNumericLiteral(statement.expression.right)) {\n existingProperties?.set(propertyName, +statement.expression.right.text);\n } else if (statement.expression.right.kind === ts.SyntaxKind.UndefinedKeyword) {\n existingProperties?.set(propertyName, undefined);\n } else if (statement.expression.right.kind === ts.SyntaxKind.NullKeyword) {\n existingProperties?.set(propertyName, null);\n } else if (statement.expression.right.kind === ts.SyntaxKind.TrueKeyword) {\n existingProperties?.set(propertyName, true);\n } else if (statement.expression.right.kind === ts.SyntaxKind.FalseKeyword) {\n existingProperties?.set(propertyName, false);\n }\n } catch (err) {\n this.logger?.error('failed parsing static properties', err);\n }\n });\n\n return exportStaticProperties;\n }\n\n constructor(private logger?: Logger | undefined) {}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_semanticsEntities","data","require","_fsExtra","_typescript","_interopRequireDefault","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","TypeScriptParser","getExports","sourceFile","staticProperties","parseStaticProperties","exportModels","statements","forEach","statement","ts","isExportAssignment","isExportDeclaration","exportClause","isNamedExports","elements","element","name","escapedText","toString","push","Export","get","isNamespaceExport","modifiers","some","modifier","kind","SyntaxKind","ExportKeyword","isVariableStatement","child","declarationList","declarations","isIdentifier","isFunctionDeclaration","isClassDeclaration","withoutEmpty","filter","exportModel","parseModule","modulePath","ast","createSourceFile","readFileSync","ScriptTarget","Latest","moduleExports","exportStaticProperties","Map","isExpressionStatement","isBinaryExpression","expression","operatorToken","EqualsToken","isPropertyAccessExpression","left","targetName","text","propertyName","has","set","existingProperties","isStringLiteral","right","isNumericLiteral","UndefinedKeyword","NullKeyword","TrueKeyword","FalseKeyword","err","_this$logger","logger","error","constructor","exports"],"sources":["typescript.parser.ts"],"sourcesContent":["import { Parser } from '@teambit/schema';\nimport { Export, StaticProperties } from '@teambit/semantics.entities.semantic-schema';\nimport { Logger } from '@teambit/logger';\nimport { readFileSync } from 'fs-extra';\nimport ts from 'typescript';\n\nexport class TypeScriptParser implements Parser {\n public extension = /^.*\\.(js|jsx|ts|tsx)$/;\n\n getExports(sourceFile: ts.SourceFile): Export[] {\n const staticProperties = this.parseStaticProperties(sourceFile);\n const exportModels: Export[] = [];\n\n sourceFile.statements.forEach((statement) => {\n // export default\n if (ts.isExportAssignment(statement)) {\n // export default\n }\n\n // export declarations or re-exports\n if (ts.isExportDeclaration(statement)) {\n if (statement.exportClause) {\n if (ts.isNamedExports(statement.exportClause)) {\n statement.exportClause.elements.forEach((element) => {\n const name = element.name.escapedText.toString();\n if (name !== 'default') {\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n });\n }\n if (ts.isNamespaceExport(statement.exportClause)) {\n const name = statement.exportClause.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n }\n }\n\n // export modifiers\n // - variable statement\n // - function statement\n // - class statement\n if (statement.modifiers) {\n statement.modifiers.some((modifier) => {\n if (modifier.kind === ts.SyntaxKind.ExportKeyword) {\n if (ts.isVariableStatement(statement)) {\n const child = statement.declarationList.declarations[0];\n if (ts.isIdentifier(child.name)) {\n const name = child.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n } else if (ts.isFunctionDeclaration(statement)) {\n if (statement.name) {\n const name = statement.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n } else if (ts.isClassDeclaration(statement)) {\n if (statement.name) {\n const name = statement.name.escapedText.toString();\n exportModels.push(new Export(name, staticProperties.get(name)));\n }\n }\n return true;\n }\n return false;\n });\n }\n });\n\n const withoutEmpty = exportModels.filter((exportModel) => exportModel !== undefined);\n // @ts-ignore\n return withoutEmpty;\n }\n\n parseModule(modulePath: string) {\n const ast = ts.createSourceFile(modulePath, readFileSync(modulePath, 'utf8'), ts.ScriptTarget.Latest);\n\n const moduleExports = this.getExports(ast);\n return moduleExports;\n }\n\n parseStaticProperties(sourceFile: ts.SourceFile) {\n // TODO - should we also parse staticProperties inside classes / objects?\n\n const exportStaticProperties = new Map<string, StaticProperties>();\n\n sourceFile.statements.forEach((statement) => {\n try {\n if (!ts.isExpressionStatement(statement)) return;\n if (!ts.isBinaryExpression(statement.expression)) return;\n if (statement.expression.operatorToken.kind !== ts.SyntaxKind.EqualsToken) return;\n if (!ts.isPropertyAccessExpression(statement.expression.left)) return;\n if (!ts.isIdentifier(statement.expression.left.expression)) return;\n\n const targetName = statement.expression.left.expression.text;\n const propertyName = statement.expression.left.name.text;\n\n if (!exportStaticProperties.has(targetName)) exportStaticProperties.set(targetName, new Map());\n\n const existingProperties = exportStaticProperties.get(targetName);\n\n if (ts.isStringLiteral(statement.expression.right)) {\n existingProperties?.set(propertyName, statement.expression.right.text);\n } else if (ts.isNumericLiteral(statement.expression.right)) {\n existingProperties?.set(propertyName, +statement.expression.right.text);\n } else if (statement.expression.right.kind === ts.SyntaxKind.UndefinedKeyword) {\n existingProperties?.set(propertyName, undefined);\n } else if (statement.expression.right.kind === ts.SyntaxKind.NullKeyword) {\n existingProperties?.set(propertyName, null);\n } else if (statement.expression.right.kind === ts.SyntaxKind.TrueKeyword) {\n existingProperties?.set(propertyName, true);\n } else if (statement.expression.right.kind === ts.SyntaxKind.FalseKeyword) {\n existingProperties?.set(propertyName, false);\n }\n } catch (err) {\n this.logger?.error('failed parsing static properties', err);\n }\n });\n\n return exportStaticProperties;\n }\n\n constructor(private logger?: Logger | undefined) {}\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
function _typescript() {
|
|
5
4
|
const data = _interopRequireDefault(require("typescript"));
|
|
6
5
|
_typescript = function () {
|
|
@@ -22,6 +21,7 @@ function _typescript2() {
|
|
|
22
21
|
};
|
|
23
22
|
return data;
|
|
24
23
|
}
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
25
|
describe('TypescriptParser', () => {
|
|
26
26
|
describe('getExports', () => {
|
|
27
27
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_chai","_typescript2","describe","exampleArrowFunction","exampleFunction","exampleClass","exampleStatement","exampleRenamedStatement","exampleReExport","exampleReExportDefault","exampleRenamedReExportAll","exampleExportDefault","it","ast","ts","createSourceFile","ScriptTarget","Latest","exports","TypeScriptParser","getExports","exportArrow","find","x","identifier","expect","to","exist","exportFunction","exportClass","exportVariable","exportFunction1","exportFunction2","not","length","equal","_exportArrow$staticPr","staticProperties","get","_exportClass$staticPr","_exportClass$staticPr2","exampleFile","parseStaticProperties","exportHello","undefined","has","be","false"],"sources":["typescript.parser.spec.ts"],"sourcesContent":["import ts from 'typescript';\nimport { expect } from 'chai';\n\nimport { TypeScriptParser } from './typescript.parser';\n\ndescribe('TypescriptParser', () => {\n describe('getExports', () => {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export\n // https://www.typescriptlang.org/docs/handbook/modules.html#export\n\n const exampleArrowFunction = `\n export const arrow = () => { return 3; }\n arrow.textProperty = \"propertyValue\";\n `;\n\n const exampleFunction = `\n export function func() { return 3; }\n func.textProperty = \"propertyValue\";\n `;\n\n const exampleClass = `\n export class classy{ render() { return 3; } }\n classy.textProperty = \"propertyValue\";\n `;\n\n const exampleStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 };\n `;\n\n const exampleRenamedStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 as myVariable2Alias };\n `;\n\n const exampleReExport = `\n export { default as function1, function2 } from \"bar.js\";\n `;\n\n const exampleReExportDefault = `\n export { default, function2 } from \"bar.js\";\n `;\n\n const exampleRenamedReExportAll = `\n export * as ns from \"mod\";\n `;\n\n const exampleExportDefault = `\n const a: number = 1\n export default { a };\n `;\n\n it('should parse arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow).to.exist;\n });\n\n it('should parse function exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'func');\n\n expect(exportFunction).to.exist;\n });\n\n it('should parse classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass).to.exist;\n });\n\n it('should parse declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse renamed declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2Alias');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse re-exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExport, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'function1');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse re-exports with default', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'default');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).not.to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse renamed re-exports all', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedReExportAll, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'ns');\n\n expect(exportFunction1).to.exist;\n });\n\n it('should parse default exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n expect(exports.length).to.equal(0);\n });\n\n describe('staticProperties', () => {\n it('should include staticProperties, when on arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on regular functions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'func');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n });\n });\n\n describe('collectStaticProperties', () => {\n const exampleFile = `\n export const hello = () => { return 3; }\n\n hello.text = \"is\";\n hello.count = 3;\n hello.nullish = null;\n hello.undef = undefined;\n hello.disable = false;\n hello.enable = true;\n hello.complextLiteral = \\`what \\${hello.text} it?\\`;\n hello.nonAssignedProperty += 'value';\n `;\n\n it('should parse all primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n\n expect(staticProperties).to.exist;\n\n const exportHello = staticProperties.get('hello');\n expect(exportHello).to.exist;\n\n expect(exportHello?.get('text')).to.equal('is');\n expect(exportHello?.get('count')).to.equal(3);\n expect(exportHello?.get('nullish')).to.equal(null);\n expect(exportHello?.get('undef')).to.equal(undefined);\n expect(exportHello?.get('disable')).to.equal(false);\n expect(exportHello?.get('enable')).to.equal(true);\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non assignment statements', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('nonAssignedProperty')).to.be.false;\n });\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_chai","_typescript2","obj","__esModule","default","describe","exampleArrowFunction","exampleFunction","exampleClass","exampleStatement","exampleRenamedStatement","exampleReExport","exampleReExportDefault","exampleRenamedReExportAll","exampleExportDefault","it","ast","ts","createSourceFile","ScriptTarget","Latest","exports","TypeScriptParser","getExports","exportArrow","find","x","identifier","expect","to","exist","exportFunction","exportClass","exportVariable","exportFunction1","exportFunction2","not","length","equal","_exportArrow$staticPr","staticProperties","get","_exportClass$staticPr","_exportClass$staticPr2","exampleFile","parseStaticProperties","exportHello","undefined","has","be","false"],"sources":["typescript.parser.spec.ts"],"sourcesContent":["import ts from 'typescript';\nimport { expect } from 'chai';\n\nimport { TypeScriptParser } from './typescript.parser';\n\ndescribe('TypescriptParser', () => {\n describe('getExports', () => {\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export\n // https://www.typescriptlang.org/docs/handbook/modules.html#export\n\n const exampleArrowFunction = `\n export const arrow = () => { return 3; }\n arrow.textProperty = \"propertyValue\";\n `;\n\n const exampleFunction = `\n export function func() { return 3; }\n func.textProperty = \"propertyValue\";\n `;\n\n const exampleClass = `\n export class classy{ render() { return 3; } }\n classy.textProperty = \"propertyValue\";\n `;\n\n const exampleStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 };\n `;\n\n const exampleRenamedStatement = `\n function myFunction2 () { return 3; }\n const myVariable2 = 3;\n export { myFunction2, myVariable2 as myVariable2Alias };\n `;\n\n const exampleReExport = `\n export { default as function1, function2 } from \"bar.js\";\n `;\n\n const exampleReExportDefault = `\n export { default, function2 } from \"bar.js\";\n `;\n\n const exampleRenamedReExportAll = `\n export * as ns from \"mod\";\n `;\n\n const exampleExportDefault = `\n const a: number = 1\n export default { a };\n `;\n\n it('should parse arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow).to.exist;\n });\n\n it('should parse function exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'func');\n\n expect(exportFunction).to.exist;\n });\n\n it('should parse classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass).to.exist;\n });\n\n it('should parse declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse renamed declarations', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedStatement, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction = exports.find((x) => x.identifier === 'myFunction2');\n const exportVariable = exports.find((x) => x.identifier === 'myVariable2Alias');\n\n expect(exportFunction).to.exist;\n expect(exportVariable).to.exist;\n });\n\n it('should parse re-exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExport, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'function1');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse re-exports with default', () => {\n const ast = ts.createSourceFile('example.tsx', exampleReExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'default');\n const exportFunction2 = exports.find((x) => x.identifier === 'function2');\n\n expect(exportFunction1).not.to.exist;\n expect(exportFunction2).to.exist;\n });\n\n it('should parse renamed re-exports all', () => {\n const ast = ts.createSourceFile('example.tsx', exampleRenamedReExportAll, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportFunction1 = exports.find((x) => x.identifier === 'ns');\n\n expect(exportFunction1).to.exist;\n });\n\n it('should parse default exports', () => {\n const ast = ts.createSourceFile('example.tsx', exampleExportDefault, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n expect(exports.length).to.equal(0);\n });\n\n describe('staticProperties', () => {\n it('should include staticProperties, when on arrowFunctions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleArrowFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportArrow = exports.find((x) => x.identifier === 'arrow');\n\n expect(exportArrow?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on regular functions', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFunction, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'func');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n\n it('should include staticProperties, when on classes', () => {\n const ast = ts.createSourceFile('example.tsx', exampleClass, ts.ScriptTarget.Latest);\n const exports = new TypeScriptParser().getExports(ast);\n\n const exportClass = exports.find((x) => x.identifier === 'classy');\n\n expect(exportClass?.staticProperties?.get('textProperty')).to.equal('propertyValue');\n });\n });\n });\n\n describe('collectStaticProperties', () => {\n const exampleFile = `\n export const hello = () => { return 3; }\n\n hello.text = \"is\";\n hello.count = 3;\n hello.nullish = null;\n hello.undef = undefined;\n hello.disable = false;\n hello.enable = true;\n hello.complextLiteral = \\`what \\${hello.text} it?\\`;\n hello.nonAssignedProperty += 'value';\n `;\n\n it('should parse all primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n\n expect(staticProperties).to.exist;\n\n const exportHello = staticProperties.get('hello');\n expect(exportHello).to.exist;\n\n expect(exportHello?.get('text')).to.equal('is');\n expect(exportHello?.get('count')).to.equal(3);\n expect(exportHello?.get('nullish')).to.equal(null);\n expect(exportHello?.get('undef')).to.equal(undefined);\n expect(exportHello?.get('disable')).to.equal(false);\n expect(exportHello?.get('enable')).to.equal(true);\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non primitive values', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('complextLiteral')).to.be.false;\n });\n\n it('should skip non assignment statements', () => {\n const ast = ts.createSourceFile('example.tsx', exampleFile, ts.ScriptTarget.Latest);\n const staticProperties = new TypeScriptParser().parseStaticProperties(ast);\n const exportHello = staticProperties.get('hello');\n\n expect(exportHello?.has('nonAssignedProperty')).to.be.false;\n });\n });\n});\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/typescript",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1159",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/typescript/typescript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.typescript",
|
|
8
8
|
"name": "typescript",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.1159"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -17,28 +17,26 @@
|
|
|
17
17
|
"fs-extra": "10.0.0",
|
|
18
18
|
"yesno": "0.4.0",
|
|
19
19
|
"get-tsconfig": "4.2.0",
|
|
20
|
-
"core-js": "^3.0.0",
|
|
21
|
-
"@babel/runtime": "7.20.0",
|
|
22
20
|
"@teambit/harmony": "0.4.6",
|
|
23
|
-
"@teambit/compiler": "0.0.
|
|
21
|
+
"@teambit/compiler": "0.0.1159",
|
|
24
22
|
"@teambit/typescript.modules.ts-config-mutator": "0.0.76",
|
|
25
|
-
"@teambit/builder": "0.0.
|
|
26
|
-
"@teambit/isolator": "0.0.
|
|
27
|
-
"@teambit/component": "0.0.
|
|
28
|
-
"@teambit/dependency-resolver": "0.0.
|
|
29
|
-
"@teambit/formatter": "0.0.
|
|
23
|
+
"@teambit/builder": "0.0.1159",
|
|
24
|
+
"@teambit/isolator": "0.0.1159",
|
|
25
|
+
"@teambit/component": "0.0.1159",
|
|
26
|
+
"@teambit/dependency-resolver": "0.0.1159",
|
|
27
|
+
"@teambit/formatter": "0.0.710",
|
|
30
28
|
"@teambit/semantics.entities.semantic-schema": "0.0.53",
|
|
31
29
|
"@teambit/ts-server": "0.0.48",
|
|
32
|
-
"@teambit/aspect-loader": "0.0.
|
|
33
|
-
"@teambit/envs": "0.0.
|
|
34
|
-
"@teambit/logger": "0.0.
|
|
35
|
-
"@teambit/workspace": "0.0.
|
|
30
|
+
"@teambit/aspect-loader": "0.0.1159",
|
|
31
|
+
"@teambit/envs": "0.0.1159",
|
|
32
|
+
"@teambit/logger": "0.0.866",
|
|
33
|
+
"@teambit/workspace": "0.0.1159",
|
|
36
34
|
"@teambit/bit-error": "0.0.402",
|
|
37
|
-
"@teambit/schema": "0.0.
|
|
38
|
-
"@teambit/scope": "0.0.
|
|
39
|
-
"@teambit/cli": "0.0.
|
|
40
|
-
"@teambit/pkg": "0.0.
|
|
41
|
-
"@teambit/watcher": "0.0.
|
|
35
|
+
"@teambit/schema": "0.0.1159",
|
|
36
|
+
"@teambit/scope": "0.0.1159",
|
|
37
|
+
"@teambit/cli": "0.0.773",
|
|
38
|
+
"@teambit/pkg": "0.0.1159",
|
|
39
|
+
"@teambit/watcher": "0.0.171"
|
|
42
40
|
},
|
|
43
41
|
"devDependencies": {
|
|
44
42
|
"@types/lodash": "4.14.165",
|
|
@@ -51,10 +49,10 @@
|
|
|
51
49
|
"@types/react-dom": "^17.0.5",
|
|
52
50
|
"@types/jest": "^26.0.0",
|
|
53
51
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
54
|
-
"@teambit/typescript.aspect-docs.typescript": "0.0.
|
|
52
|
+
"@teambit/typescript.aspect-docs.typescript": "0.0.157"
|
|
55
53
|
},
|
|
56
54
|
"peerDependencies": {
|
|
57
|
-
"@teambit/legacy": "1.0.
|
|
55
|
+
"@teambit/legacy": "1.0.558",
|
|
58
56
|
"react": "^16.8.0 || ^17.0.0",
|
|
59
57
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
60
58
|
},
|