@teambit/typescript 1.0.188 → 1.0.190
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/artifacts/__bit_junit.xml +15 -15
- package/artifacts/preview/teambit_typescript_typescript-preview.js +1 -1
- package/artifacts/schema.json +15154 -0
- package/dist/cmds/check-types.cmd.js.map +1 -1
- package/dist/cmds/init.cmd.js.map +1 -1
- package/dist/cmds/write-tsconfig.cmd.js.map +1 -1
- package/dist/compiler-options.js.map +1 -1
- package/dist/dedupe-path.spec.js.map +1 -1
- package/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/transformer-not-found.js.map +1 -1
- package/dist/export-identifier.js.map +1 -1
- package/dist/extractor-options.js.map +1 -1
- package/dist/identifier-list.js.map +1 -1
- package/dist/identifier.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/preview-1710232535180.js +7 -0
- package/dist/remove-types-task.js.map +1 -1
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/schema-transformer.js.map +1 -1
- package/dist/schema-transformer.plugin.js.map +1 -1
- package/dist/sourceFileTransformers/class.js.map +1 -1
- package/dist/sourceFileTransformers/empty-line-encoder.js.map +1 -1
- package/dist/sourceFileTransformers/export.js.map +1 -1
- package/dist/sourceFileTransformers/expression-statement.js.map +1 -1
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/dist/sourceFileTransformers/index.js.map +1 -1
- package/dist/sourceFileTransformers/interface.js.map +1 -1
- package/dist/sourceFileTransformers/replaceName.js.map +1 -1
- package/dist/sourceFileTransformers/transform.js.map +1 -1
- package/dist/sourceFileTransformers/type-reference.js.map +1 -1
- package/dist/sourceFileTransformers/typeAlias.js.map +1 -1
- package/dist/sourceFileTransformers/variable.js.map +1 -1
- package/dist/transform-source-file.spec.js.map +1 -1
- package/dist/transformers/array-literal-expression.js.map +1 -1
- package/dist/transformers/array-type.js.map +1 -1
- package/dist/transformers/binding-element.js.map +1 -1
- package/dist/transformers/class-declaration.js.map +1 -1
- package/dist/transformers/conditional-type.js.map +1 -1
- package/dist/transformers/constructor.js.map +1 -1
- package/dist/transformers/decorator.js.map +1 -1
- package/dist/transformers/enum-declaration.js.map +1 -1
- package/dist/transformers/export-assignment.js.map +1 -1
- package/dist/transformers/export-declaration.js.map +1 -1
- package/dist/transformers/expression-statement.js.map +1 -1
- package/dist/transformers/function-like.js.map +1 -1
- package/dist/transformers/get-accessor.js.map +1 -1
- package/dist/transformers/import-declaration.js.map +1 -1
- package/dist/transformers/index-signature.js.map +1 -1
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/indexed-access-type.js.map +1 -1
- package/dist/transformers/interface-declaration.js.map +1 -1
- package/dist/transformers/intersection-type.js.map +1 -1
- package/dist/transformers/keyword-type.js.map +1 -1
- package/dist/transformers/literal-type.js.map +1 -1
- package/dist/transformers/literal-value.js.map +1 -1
- package/dist/transformers/module-declaration.js.map +1 -1
- package/dist/transformers/named-tuple.js.map +1 -1
- package/dist/transformers/object-literal-expression.js.map +1 -1
- package/dist/transformers/parameter.js.map +1 -1
- package/dist/transformers/parenthesized-type.js.map +1 -1
- package/dist/transformers/property-assignment.js.map +1 -1
- package/dist/transformers/property-declaration.js.map +1 -1
- package/dist/transformers/set-accessor.js.map +1 -1
- package/dist/transformers/source-file-transformer.js.map +1 -1
- package/dist/transformers/template-literal-type-span.js.map +1 -1
- package/dist/transformers/template-literal-type.js.map +1 -1
- package/dist/transformers/this-type.js.map +1 -1
- package/dist/transformers/tuple-type.js.map +1 -1
- package/dist/transformers/type-alias.js.map +1 -1
- package/dist/transformers/type-literal.js.map +1 -1
- package/dist/transformers/type-operator.js.map +1 -1
- package/dist/transformers/type-predicate.js.map +1 -1
- package/dist/transformers/type-query.js.map +1 -1
- package/dist/transformers/type-reference.js.map +1 -1
- package/dist/transformers/union-type.js.map +1 -1
- package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -1
- package/dist/transformers/utils/parse-type-from-quick-info.js.map +1 -1
- package/dist/transformers/variable-declaration.js.map +1 -1
- package/dist/transformers/variable-statement.js.map +1 -1
- package/dist/tsconfig-writer.js.map +1 -1
- package/dist/typescript.aspect.js.map +1 -1
- package/dist/typescript.composition.js.map +1 -1
- package/dist/typescript.extractor.js.map +1 -1
- package/dist/typescript.main.runtime.js.map +1 -1
- package/dist/typescript.parser.js.map +1 -1
- package/dist/typescript.parser.spec.js.map +1 -1
- package/package.json +18 -18
- package/dist/preview-1710040632859.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_workspace","data","require","_chalk","_interopRequireDefault","_constants","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CheckTypesCmd","constructor","typescript","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","strict","OutsideWorkspaceError","components","getComponentsByUserInput","setStatusLine","length","files","getSupportedFilesForTsserver","initTsserverClientFromWorkspace","printTypeErrors","tsserver","getTsserverClient","Error","start","Date","now","getDiagnostic","end","msg","killTsServer","lastDiagnostics","code","chalk","red","green","exports"],"sources":["check-types.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\nexport class CheckTypesCmd implements Command {\n name = 'check-types [component-pattern]';\n description = 'check typescript types';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n alias = '';\n group = 'development';\n options = [\n ['a', 'all', 'check-types for all components, not only modified and new'],\n ['', 'strict', 'in case issues found, exit with code 1'],\n ] as CommandOptions;\n\n constructor(private typescript: TypescriptMain, private workspace: Workspace, private logger: Logger) {}\n\n async report([pattern]: [string], { all = false, strict = false }: { all: boolean; strict: boolean }) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const components = await this.workspace.getComponentsByUserInput(all, pattern);\n this.logger.setStatusLine(`checking types for ${components.length} components`);\n const files = this.typescript.getSupportedFilesForTsserver(components);\n await this.typescript.initTsserverClientFromWorkspace({ printTypeErrors: true }, files);\n const tsserver = this.typescript.getTsserverClient();\n if (!tsserver) throw new Error(`unable to start tsserver`);\n const start = Date.now();\n await tsserver.getDiagnostic(files);\n const end = Date.now() - start;\n const msg = `completed type checking (${end / 1000} sec)`;\n tsserver.killTsServer();\n if (tsserver.lastDiagnostics.length) {\n return {\n code: strict ? 1 : 0,\n data: chalk.red(`${msg}. found errors in ${tsserver.lastDiagnostics.length} files.`),\n };\n }\n return {\n code: 0,\n data: chalk.green(`${msg}. no errors were found.`),\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_workspace","data","require","_chalk","_interopRequireDefault","_constants","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CheckTypesCmd","constructor","typescript","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","strict","OutsideWorkspaceError","components","getComponentsByUserInput","setStatusLine","length","files","getSupportedFilesForTsserver","initTsserverClientFromWorkspace","printTypeErrors","tsserver","getTsserverClient","Error","start","Date","now","getDiagnostic","end","msg","killTsServer","lastDiagnostics","code","chalk","red","green","exports"],"sources":["check-types.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\nexport class CheckTypesCmd implements Command {\n name = 'check-types [component-pattern]';\n description = 'check typescript types';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n alias = '';\n group = 'development';\n options = [\n ['a', 'all', 'check-types for all components, not only modified and new'],\n ['', 'strict', 'in case issues found, exit with code 1'],\n ] as CommandOptions;\n\n constructor(private typescript: TypescriptMain, private workspace: Workspace, private logger: Logger) {}\n\n async report([pattern]: [string], { all = false, strict = false }: { all: boolean; strict: boolean }) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const components = await this.workspace.getComponentsByUserInput(all, pattern);\n this.logger.setStatusLine(`checking types for ${components.length} components`);\n const files = this.typescript.getSupportedFilesForTsserver(components);\n await this.typescript.initTsserverClientFromWorkspace({ printTypeErrors: true }, files);\n const tsserver = this.typescript.getTsserverClient();\n if (!tsserver) throw new Error(`unable to start tsserver`);\n const start = Date.now();\n await tsserver.getDiagnostic(files);\n const end = Date.now() - start;\n const msg = `completed type checking (${end / 1000} sec)`;\n tsserver.killTsServer();\n if (tsserver.lastDiagnostics.length) {\n return {\n code: strict ? 1 : 0,\n data: chalk.red(`${msg}. found errors in ${tsserver.lastDiagnostics.length} files.`),\n };\n }\n return {\n code: 0,\n data: chalk.green(`${msg}. no errors were found.`),\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["init.cmd.ts"],"sourcesContent":[""],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["init.cmd.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_lodash","_chalk","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WriteTsconfigCmd","constructor","tsMain","report","_args","flags","cleanResults","writeResults","json","dryRunWithTsconfig","Error","isDryRun","dryRun","cleanResultsOutput","chalk","green","join","totalFiles","map","paths","length","reduce","acc","current","writeTitle","writeOutput","result","p","path","str","bold","envIds","clean","silent","noDedupe","writeTsconfigJson","dedupe","writeJson","s","omit","exports"],"sources":["write-tsconfig.cmd.ts"],"sourcesContent":["import path from 'path';\nimport { omit } from 'lodash';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\ntype Flags = { dryRun?: boolean; noDedupe?: boolean; dryRunWithTsconfig?: boolean; clean?: boolean; silent?: boolean };\n\nexport default class WriteTsconfigCmd implements Command {\n name = 'write-tsconfig';\n // description = 'EXPERIMENTAL. write tsconfig.json files in the component directories';\n description = 'DEPRECATED. use bit ws-config write instead';\n alias = '';\n group = 'development';\n private = true;\n options = [\n ['c', 'clean', 'delete tsconfig files from the workspace. highly recommended to run it with \"--dry-run\" first'],\n ['s', 'silent', 'do not prompt for confirmation'],\n ['', 'no-dedupe', \"write tsconfig.json inside each one of the component's dir, avoid deduping\"],\n ['', 'dry-run', 'show the paths that tsconfig will be written per env'],\n [\n '',\n 'dry-run-with-tsconfig',\n 'use with --json flag. show the tsconfig.json content and the paths it will be written per env',\n ],\n ['j', 'json', 'json format'],\n ] as CommandOptions;\n\n constructor(private tsMain: TypescriptMain) {}\n\n async report(_args, flags: Flags) {\n const { cleanResults, writeResults } = await this.json(_args, flags);\n if (flags.dryRunWithTsconfig) {\n throw new Error(`use --json flag along with --dry-run-with-tsconfig`);\n }\n const isDryRun = flags.dryRun;\n const cleanResultsOutput = cleanResults\n ? `${chalk.green(`the following paths ${isDryRun ? 'will be' : 'were'} deleted`)}\\n${cleanResults.join('\\n')}\\n\\n`\n : '';\n\n const totalFiles = writeResults.map((r) => r.paths.length).reduce((acc, current) => acc + current);\n const writeTitle = isDryRun\n ? chalk.green(`${totalFiles} files will be written`)\n : chalk.green(`${totalFiles} files have been written successfully`);\n const writeOutput = writeResults\n .map((result) => {\n const paths = result.paths\n .map((p) => path.join(p, 'tsconfig.json'))\n .map((str) => ` ${str}`)\n .join('\\n');\n return `The following paths are according to env(s) ${chalk.bold(result.envIds.join(', '))}\\n${paths}`;\n })\n .join('\\n\\n');\n return `${cleanResultsOutput}${writeTitle}\\n${writeOutput}`;\n }\n\n async json(_args, flags: Flags) {\n const { clean, silent, noDedupe, dryRunWithTsconfig } = flags;\n const dryRun = dryRunWithTsconfig ? true : flags.dryRun;\n const { cleanResults, writeResults } = await this.tsMain.writeTsconfigJson({\n clean,\n dedupe: !noDedupe,\n dryRun,\n dryRunWithTsconfig,\n silent,\n });\n\n if (dryRun) {\n const writeJson = dryRunWithTsconfig ? writeResults : writeResults.map((s) => omit(s, ['tsconfig']));\n // return JSON.stringify({ cleanResults, writeResults: writeJson }, undefined, 2);\n return { cleanResults, writeResults: writeJson };\n }\n return { cleanResults, writeResults };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_path","data","_interopRequireDefault","require","_lodash","_chalk","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WriteTsconfigCmd","constructor","tsMain","report","_args","flags","cleanResults","writeResults","json","dryRunWithTsconfig","Error","isDryRun","dryRun","cleanResultsOutput","chalk","green","join","totalFiles","map","paths","length","reduce","acc","current","writeTitle","writeOutput","result","p","path","str","bold","envIds","clean","silent","noDedupe","writeTsconfigJson","dedupe","writeJson","s","omit","exports"],"sources":["write-tsconfig.cmd.ts"],"sourcesContent":["import path from 'path';\nimport { omit } from 'lodash';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\ntype Flags = { dryRun?: boolean; noDedupe?: boolean; dryRunWithTsconfig?: boolean; clean?: boolean; silent?: boolean };\n\nexport default class WriteTsconfigCmd implements Command {\n name = 'write-tsconfig';\n // description = 'EXPERIMENTAL. write tsconfig.json files in the component directories';\n description = 'DEPRECATED. use bit ws-config write instead';\n alias = '';\n group = 'development';\n private = true;\n options = [\n ['c', 'clean', 'delete tsconfig files from the workspace. highly recommended to run it with \"--dry-run\" first'],\n ['s', 'silent', 'do not prompt for confirmation'],\n ['', 'no-dedupe', \"write tsconfig.json inside each one of the component's dir, avoid deduping\"],\n ['', 'dry-run', 'show the paths that tsconfig will be written per env'],\n [\n '',\n 'dry-run-with-tsconfig',\n 'use with --json flag. show the tsconfig.json content and the paths it will be written per env',\n ],\n ['j', 'json', 'json format'],\n ] as CommandOptions;\n\n constructor(private tsMain: TypescriptMain) {}\n\n async report(_args, flags: Flags) {\n const { cleanResults, writeResults } = await this.json(_args, flags);\n if (flags.dryRunWithTsconfig) {\n throw new Error(`use --json flag along with --dry-run-with-tsconfig`);\n }\n const isDryRun = flags.dryRun;\n const cleanResultsOutput = cleanResults\n ? `${chalk.green(`the following paths ${isDryRun ? 'will be' : 'were'} deleted`)}\\n${cleanResults.join('\\n')}\\n\\n`\n : '';\n\n const totalFiles = writeResults.map((r) => r.paths.length).reduce((acc, current) => acc + current);\n const writeTitle = isDryRun\n ? chalk.green(`${totalFiles} files will be written`)\n : chalk.green(`${totalFiles} files have been written successfully`);\n const writeOutput = writeResults\n .map((result) => {\n const paths = result.paths\n .map((p) => path.join(p, 'tsconfig.json'))\n .map((str) => ` ${str}`)\n .join('\\n');\n return `The following paths are according to env(s) ${chalk.bold(result.envIds.join(', '))}\\n${paths}`;\n })\n .join('\\n\\n');\n return `${cleanResultsOutput}${writeTitle}\\n${writeOutput}`;\n }\n\n async json(_args, flags: Flags) {\n const { clean, silent, noDedupe, dryRunWithTsconfig } = flags;\n const dryRun = dryRunWithTsconfig ? true : flags.dryRun;\n const { cleanResults, writeResults } = await this.tsMain.writeTsconfigJson({\n clean,\n dedupe: !noDedupe,\n dryRun,\n dryRunWithTsconfig,\n silent,\n });\n\n if (dryRun) {\n const writeJson = dryRunWithTsconfig ? writeResults : writeResults.map((s) => omit(s, ['tsconfig']));\n // return JSON.stringify({ cleanResults, writeResults: writeJson }, undefined, 2);\n return { cleanResults, writeResults: writeJson };\n }\n return { cleanResults, writeResults };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["compiler-options.ts"],"sourcesContent":["import type { CompilerOptions } from '@teambit/compiler';\n\nexport type TypeScriptCompilerOptions = {\n /**\n * tsconfig to use during compilation.\n */\n tsconfig: Record<string, any>;\n\n /**\n * path for .d.ts files to include during build.\n */\n types: string[];\n\n /**\n * Run the compiler for .js files. this will only affect whether to run the compiler on the files\n * or not. It won't change the tsconfig to support or not support js files.\n */\n compileJs?: boolean;\n\n /**\n * Run the compiler for .js files. this will only affect whether to run the compiler on the files\n * or not. It won't change the tsconfig to support or not support jsx files.\n */\n compileJsx?: boolean;\n} & Partial<CompilerOptions>;\n\nexport type TsCompilerOptionsWithoutTsConfig = Omit<TypeScriptCompilerOptions, 'tsconfig'>;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["compiler-options.ts"],"sourcesContent":["import type { CompilerOptions } from '@teambit/compiler';\n\nexport type TypeScriptCompilerOptions = {\n /**\n * tsconfig to use during compilation.\n */\n tsconfig: Record<string, any>;\n\n /**\n * path for .d.ts files to include during build.\n */\n types: string[];\n\n /**\n * Run the compiler for .js files. this will only affect whether to run the compiler on the files\n * or not. It won't change the tsconfig to support or not support js files.\n */\n compileJs?: boolean;\n\n /**\n * Run the compiler for .js files. this will only affect whether to run the compiler on the files\n * or not. It won't change the tsconfig to support or not support jsx files.\n */\n compileJsx?: boolean;\n} & Partial<CompilerOptions>;\n\nexport type TsCompilerOptionsWithoutTsConfig = Omit<TypeScriptCompilerOptions, 'tsconfig'>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chai","data","require","_tsconfigWriter","describe","it","input","ids","paths","output","dedupePaths","expect","to","deep","equal","length"],"sources":["dedupe-path.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { dedupePaths } from './tsconfig-writer';\n\ndescribe('dedupePath', () => {\n it('should return the root-dir if there is only one env involved', () => {\n const input = [{ ids: ['env1'], paths: ['p1/e1, p2'] }];\n const output = dedupePaths(input);\n expect(output).to.deep.equal([{ ids: ['env1'], paths: ['.'] }]);\n });\n it('should set the env with the most components', () => {\n const input = [\n { ids: ['env1'], paths: ['p1/e1', 'p1/e2'] },\n { ids: ['env2'], paths: ['p1/e3'] },\n ];\n const output = dedupePaths(input);\n // @ts-ignore\n expect(output).to.deep.equal([\n { ids: ['env2'], paths: ['p1/e3'] },\n { ids: ['env1'], paths: ['.'] },\n ]);\n });\n it('should not set any env to a shared dir if it no env has max components', () => {\n const input = [\n { ids: ['env1'], paths: ['p1/e1'] },\n { ids: ['env2'], paths: ['p1/e2'] },\n ];\n const output = dedupePaths(input);\n expect(output.length).to.equal(2);\n // @ts-ignore\n expect(output).to.deep.equal(input);\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAG,QAAQ,CAAC,YAAY,EAAE,MAAM;EAC3BC,EAAE,CAAC,8DAA8D,EAAE,MAAM;IACvE,MAAMC,KAAK,GAAG,CAAC;MAAEC,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,WAAW;IAAE,CAAC,CAAC;IACvD,MAAMC,MAAM,GAAG,IAAAC,6BAAW,EAACJ,KAAK,CAAC;IACjC,IAAAK,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC;MAAEP,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,GAAG;IAAE,CAAC,CAAC,CAAC;EACjE,CAAC,CAAC;EACFH,EAAE,CAAC,6CAA6C,EAAE,MAAM;IACtD,MAAMC,KAAK,GAAG,CACZ;MAAEC,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO;IAAE,CAAC,EAC5C;MAAED,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,CACpC;IACD,MAAMC,MAAM,GAAG,IAAAC,6BAAW,EAACJ,KAAK,CAAC;IACjC;IACA,IAAAK,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAC3B;MAAEP,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,EACnC;MAAED,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,GAAG;IAAE,CAAC,CAChC,CAAC;EACJ,CAAC,CAAC;EACFH,EAAE,CAAC,wEAAwE,EAAE,MAAM;IACjF,MAAMC,KAAK,GAAG,CACZ;MAAEC,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,EACnC;MAAED,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,CACpC;IACD,MAAMC,MAAM,GAAG,IAAAC,6BAAW,EAACJ,KAAK,CAAC;IACjC,IAAAK,cAAM,EAACF,MAAM,CAACM,MAAM,CAAC,CAACH,EAAE,CAACE,KAAK,CAAC,CAAC,CAAC;IACjC;IACA,IAAAH,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,KAAK,CAACR,KAAK,CAAC;EACrC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_tsconfigWriter","describe","it","input","ids","paths","output","dedupePaths","expect","to","deep","equal","length"],"sources":["dedupe-path.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { dedupePaths } from './tsconfig-writer';\n\ndescribe('dedupePath', () => {\n it('should return the root-dir if there is only one env involved', () => {\n const input = [{ ids: ['env1'], paths: ['p1/e1, p2'] }];\n const output = dedupePaths(input);\n expect(output).to.deep.equal([{ ids: ['env1'], paths: ['.'] }]);\n });\n it('should set the env with the most components', () => {\n const input = [\n { ids: ['env1'], paths: ['p1/e1', 'p1/e2'] },\n { ids: ['env2'], paths: ['p1/e3'] },\n ];\n const output = dedupePaths(input);\n // @ts-ignore\n expect(output).to.deep.equal([\n { ids: ['env2'], paths: ['p1/e3'] },\n { ids: ['env1'], paths: ['.'] },\n ]);\n });\n it('should not set any env to a shared dir if it no env has max components', () => {\n const input = [\n { ids: ['env1'], paths: ['p1/e1'] },\n { ids: ['env2'], paths: ['p1/e2'] },\n ];\n const output = dedupePaths(input);\n expect(output.length).to.equal(2);\n // @ts-ignore\n expect(output).to.deep.equal(input);\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAG,QAAQ,CAAC,YAAY,EAAE,MAAM;EAC3BC,EAAE,CAAC,8DAA8D,EAAE,MAAM;IACvE,MAAMC,KAAK,GAAG,CAAC;MAAEC,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,WAAW;IAAE,CAAC,CAAC;IACvD,MAAMC,MAAM,GAAG,IAAAC,6BAAW,EAACJ,KAAK,CAAC;IACjC,IAAAK,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC;MAAEP,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,GAAG;IAAE,CAAC,CAAC,CAAC;EACjE,CAAC,CAAC;EACFH,EAAE,CAAC,6CAA6C,EAAE,MAAM;IACtD,MAAMC,KAAK,GAAG,CACZ;MAAEC,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO;IAAE,CAAC,EAC5C;MAAED,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,CACpC;IACD,MAAMC,MAAM,GAAG,IAAAC,6BAAW,EAACJ,KAAK,CAAC;IACjC;IACA,IAAAK,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAC3B;MAAEP,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,EACnC;MAAED,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,GAAG;IAAE,CAAC,CAChC,CAAC;EACJ,CAAC,CAAC;EACFH,EAAE,CAAC,wEAAwE,EAAE,MAAM;IACjF,MAAMC,KAAK,GAAG,CACZ;MAAEC,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,EACnC;MAAED,GAAG,EAAE,CAAC,MAAM,CAAC;MAAEC,KAAK,EAAE,CAAC,OAAO;IAAE,CAAC,CACpC;IACD,MAAMC,MAAM,GAAG,IAAAC,6BAAW,EAACJ,KAAK,CAAC;IACjC,IAAAK,cAAM,EAACF,MAAM,CAACM,MAAM,CAAC,CAACH,EAAE,CAACE,KAAK,CAAC,CAAC,CAAC;IACjC;IACA,IAAAH,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,KAAK,CAACR,KAAK,CAAC;EACrC,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_transformerNotFound","data","require"],"sources":["index.ts"],"sourcesContent":["export { TransformerNotFound } from './transformer-not-found';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,qBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,oBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_transformerNotFound","data","require"],"sources":["index.ts"],"sourcesContent":["export { TransformerNotFound } from './transformer-not-found';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,qBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,oBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","TransformerNotFound","Error","constructor","node","component","location","kind","ts","SyntaxKind","id","toString","getSourceFile","fileName","line","character","getFullText","exports"],"sources":["transformer-not-found.ts"],"sourcesContent":["import ts, { Node } from 'typescript';\nimport { Component } from '@teambit/component';\nimport { Location } from '@teambit/semantics.entities.semantic-schema';\n\nexport class TransformerNotFound extends Error {\n constructor(readonly node: Node, readonly component: Component, location: Location) {\n super(\n `typescript: could not find schema transformer for node of kind ${node.kind} (${\n ts.SyntaxKind[node.kind]\n }) in component ${component.id.toString()}.\nlocation: ${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}.\nnode-text: ${node.getFullText()}`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAI/B,MAAMG,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAAUC,IAAU,EAAWC,SAAoB,EAAEC,QAAkB,EAAE;IAClF,KAAK,CACF,kEAAiEF,IAAI,CAACG,IAAK,KAC1EC,qBAAE,CAACC,UAAU,CAACL,IAAI,CAACG,IAAI,CACxB,kBAAiBF,SAAS,CAACK,EAAE,CAACC,QAAQ,CAAC,CAAE;AAChD,aAAaP,IAAI,CAACQ,aAAa,CAAC,CAAC,CAACC,QAAS,WAAUP,QAAQ,CAACQ,IAAK,gBAAeR,QAAQ,CAACS,SAAU;AACrG,aAAaX,IAAI,CAACY,WAAW,CAAC,CAAE,EAC5B,CAAC;IAAC,KAPiBZ,IAAU,GAAVA,IAAU;IAAA,KAAWC,SAAoB,GAApBA,SAAoB;EAQ9D;AACF;AAACY,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","TransformerNotFound","Error","constructor","node","component","location","kind","ts","SyntaxKind","id","toString","getSourceFile","fileName","line","character","getFullText","exports"],"sources":["transformer-not-found.ts"],"sourcesContent":["import ts, { Node } from 'typescript';\nimport { Component } from '@teambit/component';\nimport { Location } from '@teambit/semantics.entities.semantic-schema';\n\nexport class TransformerNotFound extends Error {\n constructor(readonly node: Node, readonly component: Component, location: Location) {\n super(\n `typescript: could not find schema transformer for node of kind ${node.kind} (${\n ts.SyntaxKind[node.kind]\n }) in component ${component.id.toString()}.\nlocation: ${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}.\nnode-text: ${node.getFullText()}`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAI/B,MAAMG,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAAUC,IAAU,EAAWC,SAAoB,EAAEC,QAAkB,EAAE;IAClF,KAAK,CACF,kEAAiEF,IAAI,CAACG,IAAK,KAC1EC,qBAAE,CAACC,UAAU,CAACL,IAAI,CAACG,IAAI,CACxB,kBAAiBF,SAAS,CAACK,EAAE,CAACC,QAAQ,CAAC,CAAE;AAChD,aAAaP,IAAI,CAACQ,aAAa,CAAC,CAAC,CAACC,QAAS,WAAUP,QAAQ,CAACQ,IAAK,gBAAeR,QAAQ,CAACS,SAAU;AACrG,aAAaX,IAAI,CAACY,WAAW,CAAC,CAAE,EAC5B,CAAC;IAAC,KAPiBZ,IAAU,GAAVA,IAAU;IAAA,KAAWC,SAAoB,GAApBA,SAAoB;EAQ9D;AACF;AAACY,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_identifier","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ExportIdentifier","Identifier","constructor","id","filePath","aliasId","sourceFilePath","exported","isExportIdentifier","identifier","exports"],"sources":["export-identifier.ts"],"sourcesContent":["import { Identifier } from './identifier';\n\nexport class ExportIdentifier extends Identifier {\n exported: true;\n\n constructor(id: string, filePath: string, aliasId?: string, sourceFilePath?: string) {\n super(id, filePath, aliasId, sourceFilePath);\n this.exported = true;\n }\n\n static isExportIdentifier(identifier: Identifier): identifier is ExportIdentifier {\n return 'exported' in identifier;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0C,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEnC,MAAMW,gBAAgB,SAASC,wBAAU,CAAC;EAG/CC,WAAWA,CAACC,EAAU,EAAEC,QAAgB,EAAEC,OAAgB,EAAEC,cAAuB,EAAE;IACnF,KAAK,CAACH,EAAE,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,cAAc,CAAC;IAAC3B,eAAA;IAC7C,IAAI,CAAC4B,QAAQ,GAAG,IAAI;EACtB;EAEA,OAAOC,kBAAkBA,CAACC,UAAsB,EAAkC;IAChF,OAAO,UAAU,IAAIA,UAAU;EACjC;AACF;AAACC,OAAA,CAAAV,gBAAA,GAAAA,gBAAA"}
|
|
1
|
+
{"version":3,"names":["_identifier","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ExportIdentifier","Identifier","constructor","id","filePath","aliasId","sourceFilePath","exported","isExportIdentifier","identifier","exports"],"sources":["export-identifier.ts"],"sourcesContent":["import { Identifier } from './identifier';\n\nexport class ExportIdentifier extends Identifier {\n exported: true;\n\n constructor(id: string, filePath: string, aliasId?: string, sourceFilePath?: string) {\n super(id, filePath, aliasId, sourceFilePath);\n this.exported = true;\n }\n\n static isExportIdentifier(identifier: Identifier): identifier is ExportIdentifier {\n return 'exported' in identifier;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0C,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEnC,MAAMW,gBAAgB,SAASC,wBAAU,CAAC;EAG/CC,WAAWA,CAACC,EAAU,EAAEC,QAAgB,EAAEC,OAAgB,EAAEC,cAAuB,EAAE;IACnF,KAAK,CAACH,EAAE,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,cAAc,CAAC;IAAC3B,eAAA;IAC7C,IAAI,CAAC4B,QAAQ,GAAG,IAAI;EACtB;EAEA,OAAOC,kBAAkBA,CAACC,UAAsB,EAAkC;IAChF,OAAO,UAAU,IAAIA,UAAU;EACjC;AACF;AAACC,OAAA,CAAAV,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["extractor-options.ts"],"sourcesContent":["import { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\n\nexport type ExtractorOptions = {\n /**\n * name of the string.\n */\n name?: string;\n\n /**\n * tsconfig string path.\n */\n tsconfig?: string;\n\n /**\n * TODO: support typescript module path.\n */\n // typescript?: string;\n\n /**\n * typescript compiler options. always overrides all.\n */\n compilerOptions?: string;\n\n /**\n * schema transformers.\n */\n schemaTransformers?: SchemaTransformer[];\n\n /**\n * api transformers.\n */\n apiTransformers?: SchemaNodeTransformer[];\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["extractor-options.ts"],"sourcesContent":["import { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\n\nexport type ExtractorOptions = {\n /**\n * name of the string.\n */\n name?: string;\n\n /**\n * tsconfig string path.\n */\n tsconfig?: string;\n\n /**\n * TODO: support typescript module path.\n */\n // typescript?: string;\n\n /**\n * typescript compiler options. always overrides all.\n */\n compilerOptions?: string;\n\n /**\n * schema transformers.\n */\n schemaTransformers?: SchemaTransformer[];\n\n /**\n * api transformers.\n */\n apiTransformers?: SchemaNodeTransformer[];\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IdentifierList","constructor","identifiers","find","identifier","result","_identifier","isEqual","includes","Boolean","exports"],"sources":["identifier-list.ts"],"sourcesContent":["import { Identifier } from './identifier';\n\nexport class IdentifierList {\n constructor(readonly identifiers: Identifier[]) {}\n\n find(identifier: Identifier) {\n const result = this.identifiers.find((_identifier) => _identifier.isEqual(identifier));\n return result;\n }\n\n includes(identifier: Identifier) {\n return Boolean(this.find(identifier));\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,cAAc,CAAC;EAC1BC,WAAWA,CAAUC,WAAyB,EAAE;IAAA,KAA3BA,WAAyB,GAAzBA,WAAyB;EAAG;EAEjDC,IAAIA,CAACC,UAAsB,EAAE;IAC3B,MAAMC,MAAM,GAAG,IAAI,CAACH,WAAW,CAACC,IAAI,CAAEG,WAAW,IAAKA,WAAW,CAACC,OAAO,CAACH,UAAU,CAAC,CAAC;IACtF,OAAOC,MAAM;EACf;EAEAG,QAAQA,CAACJ,UAAsB,EAAE;IAC/B,OAAOK,OAAO,CAAC,IAAI,CAACN,IAAI,CAACC,UAAU,CAAC,CAAC;EACvC;AACF;AAACM,OAAA,CAAAV,cAAA,GAAAA,cAAA"}
|
|
1
|
+
{"version":3,"names":["IdentifierList","constructor","identifiers","find","identifier","result","_identifier","isEqual","includes","Boolean","exports"],"sources":["identifier-list.ts"],"sourcesContent":["import { Identifier } from './identifier';\n\nexport class IdentifierList {\n constructor(readonly identifiers: Identifier[]) {}\n\n find(identifier: Identifier) {\n const result = this.identifiers.find((_identifier) => _identifier.isEqual(identifier));\n return result;\n }\n\n includes(identifier: Identifier) {\n return Boolean(this.find(identifier));\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,cAAc,CAAC;EAC1BC,WAAWA,CAAUC,WAAyB,EAAE;IAAA,KAA3BA,WAAyB,GAAzBA,WAAyB;EAAG;EAEjDC,IAAIA,CAACC,UAAsB,EAAE;IAC3B,MAAMC,MAAM,GAAG,IAAI,CAACH,WAAW,CAACC,IAAI,CAAEG,WAAW,IAAKA,WAAW,CAACC,OAAO,CAACH,UAAU,CAAC,CAAC;IACtF,OAAOC,MAAM;EACf;EAEAG,QAAQA,CAACJ,UAAsB,EAAE;IAC/B,OAAOK,OAAO,CAAC,IAAI,CAACN,IAAI,CAACC,UAAU,CAAC,CAAC;EACvC;AACF;AAACM,OAAA,CAAAV,cAAA,GAAAA,cAAA","ignoreList":[]}
|
package/dist/identifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Identifier","constructor","id","filePath","aliasId","sourceFilePath","isEqual","identifier","isDefault","exports"],"sources":["identifier.ts"],"sourcesContent":["export class Identifier {\n constructor(\n readonly id: string,\n readonly filePath: string,\n readonly aliasId?: string,\n readonly sourceFilePath?: string\n ) {}\n\n isEqual(identifier: Identifier): boolean {\n if (this.filePath !== identifier.filePath) return false;\n if (Identifier.isDefault(identifier) && Identifier.isDefault(this)) {\n return true;\n }\n if (Identifier.isDefault(identifier) || Identifier.isDefault(this)) {\n return false;\n }\n return this.id === identifier.id;\n }\n\n static isDefault(identifier: Identifier) {\n return identifier.id === 'default';\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,UAAU,CAAC;EACtBC,WAAWA,CACAC,EAAU,EACVC,QAAgB,EAChBC,OAAgB,EAChBC,cAAuB,EAChC;IAAA,KAJSH,EAAU,GAAVA,EAAU;IAAA,KACVC,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,cAAuB,GAAvBA,cAAuB;EAC/B;EAEHC,OAAOA,CAACC,UAAsB,EAAW;IACvC,IAAI,IAAI,CAACJ,QAAQ,KAAKI,UAAU,CAACJ,QAAQ,EAAE,OAAO,KAAK;IACvD,IAAIH,UAAU,CAACQ,SAAS,CAACD,UAAU,CAAC,IAAIP,UAAU,CAACQ,SAAS,CAAC,IAAI,CAAC,EAAE;MAClE,OAAO,IAAI;IACb;IACA,IAAIR,UAAU,CAACQ,SAAS,CAACD,UAAU,CAAC,IAAIP,UAAU,CAACQ,SAAS,CAAC,IAAI,CAAC,EAAE;MAClE,OAAO,KAAK;IACd;IACA,OAAO,IAAI,CAACN,EAAE,KAAKK,UAAU,CAACL,EAAE;EAClC;EAEA,OAAOM,SAASA,CAACD,UAAsB,EAAE;IACvC,OAAOA,UAAU,CAACL,EAAE,KAAK,SAAS;EACpC;AACF;AAACO,OAAA,CAAAT,UAAA,GAAAA,UAAA"}
|
|
1
|
+
{"version":3,"names":["Identifier","constructor","id","filePath","aliasId","sourceFilePath","isEqual","identifier","isDefault","exports"],"sources":["identifier.ts"],"sourcesContent":["export class Identifier {\n constructor(\n readonly id: string,\n readonly filePath: string,\n readonly aliasId?: string,\n readonly sourceFilePath?: string\n ) {}\n\n isEqual(identifier: Identifier): boolean {\n if (this.filePath !== identifier.filePath) return false;\n if (Identifier.isDefault(identifier) && Identifier.isDefault(this)) {\n return true;\n }\n if (Identifier.isDefault(identifier) || Identifier.isDefault(this)) {\n return false;\n }\n return this.id === identifier.id;\n }\n\n static isDefault(identifier: Identifier) {\n return identifier.id === 'default';\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,UAAU,CAAC;EACtBC,WAAWA,CACAC,EAAU,EACVC,QAAgB,EAChBC,OAAgB,EAChBC,cAAuB,EAChC;IAAA,KAJSH,EAAU,GAAVA,EAAU;IAAA,KACVC,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,cAAuB,GAAvBA,cAAuB;EAC/B;EAEHC,OAAOA,CAACC,UAAsB,EAAW;IACvC,IAAI,IAAI,CAACJ,QAAQ,KAAKI,UAAU,CAACJ,QAAQ,EAAE,OAAO,KAAK;IACvD,IAAIH,UAAU,CAACQ,SAAS,CAACD,UAAU,CAAC,IAAIP,UAAU,CAACQ,SAAS,CAAC,IAAI,CAAC,EAAE;MAClE,OAAO,IAAI;IACb;IACA,IAAIR,UAAU,CAACQ,SAAS,CAACD,UAAU,CAAC,IAAIP,UAAU,CAACQ,SAAS,CAAC,IAAI,CAAC,EAAE;MAClE,OAAO,KAAK;IACd;IACA,OAAO,IAAI,CAACN,EAAE,KAAKK,UAAU,CAACL,EAAE;EAClC;EAEA,OAAOM,SAASA,CAACD,UAAsB,EAAE;IACvC,OAAOA,UAAU,CAACL,EAAE,KAAK,SAAS;EACpC;AACF;AAACO,OAAA,CAAAT,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescriptModules","data","require","_typescript","_typescript2","_typescript3","_sourceFileTransformers","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_schemaExtractorContext"],"sources":["index.ts"],"sourcesContent":["export { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nexport { TypeScriptExtractor } from './typescript.extractor';\nexport { TypescriptCompiler } from '@teambit/typescript.typescript-compiler';\nexport type {\n TypescriptMain,\n TsConfigTransformer,\n SchemaTransformerSlot,\n APITransformerSlot,\n} from './typescript.main.runtime';\nexport type { TypeScriptCompilerOptions, TsCompilerOptionsWithoutTsConfig } from './compiler-options';\nexport { TypescriptAspect } from './typescript.aspect';\nexport * from './sourceFileTransformers';\nexport type { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\nexport { SchemaExtractorContext } from './schema-extractor-context';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAK,uBAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,uBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,uBAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,uBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,SAAAS,wBAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,uBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_typescriptModules","data","require","_typescript","_typescript2","_typescript3","_sourceFileTransformers","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_schemaExtractorContext"],"sources":["index.ts"],"sourcesContent":["export { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nexport { TypeScriptExtractor } from './typescript.extractor';\nexport { TypescriptCompiler } from '@teambit/typescript.typescript-compiler';\nexport type {\n TypescriptMain,\n TsConfigTransformer,\n SchemaTransformerSlot,\n APITransformerSlot,\n} from './typescript.main.runtime';\nexport type { TypeScriptCompilerOptions, TsCompilerOptionsWithoutTsConfig } from './compiler-options';\nexport { TypescriptAspect } from './typescript.aspect';\nexport * from './sourceFileTransformers';\nexport type { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\nexport { SchemaExtractorContext } from './schema-extractor-context';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,IAAAK,uBAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,uBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,uBAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,uBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,SAAAS,wBAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,uBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as compositions_0 from '/Users/giladshoham/Library/Caches/Bit/capsules/root/b5ea46ec36fa42b9dbedfc12ecb7bb63e03fcfe6/teambit.typescript_typescript@1.0.190/dist/typescript.composition.js';
|
|
2
|
+
import * as overview_0 from '/Users/giladshoham/Library/Caches/Bit/capsules/root/b5ea46ec36fa42b9dbedfc12ecb7bb63e03fcfe6/teambit.typescript_typescript@1.0.190/dist/typescript.docs.mdx';
|
|
3
|
+
|
|
4
|
+
export const compositions = [compositions_0];
|
|
5
|
+
export const overview = [overview_0];
|
|
6
|
+
|
|
7
|
+
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_packageJsonFile","data","_interopRequireDefault","require","_typescript","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","RemoveTypesTask","constructor","TypescriptAspect","id","execute","context","removeTypesFromPkgJson","capsuleNetwork","result","componentsResults","Promise","all","seedersCapsules","map","capsule","packageJson","PackageJsonFile","loadFromCapsuleSync","path","packageJsonObject","types","main","write","exports"],"sources":["remove-types-task.ts"],"sourcesContent":["import PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\nimport { Network } from '@teambit/isolator';\nimport { BuildContext, BuildTask, BuiltTaskResult } from '@teambit/builder';\nimport { TypescriptAspect } from './typescript.aspect';\n\nexport class RemoveTypesTask implements BuildTask {\n readonly aspectId = TypescriptAspect.id;\n readonly name = 'RemoveTypesProp';\n readonly description = 'remove the types prop from package.json';\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n await this.removeTypesFromPkgJson(context.capsuleNetwork);\n\n const result = {\n componentsResults: [],\n };\n\n return result;\n }\n private async removeTypesFromPkgJson(capsuleNetwork: Network) {\n await Promise.all(\n capsuleNetwork.seedersCapsules.map(async (capsule) => {\n const packageJson = PackageJsonFile.loadFromCapsuleSync(capsule.path);\n // the types['index.ts'] is needed only during the build to avoid errors when tsc finds the\n // same type once in the d.ts and once in the ts file.\n // the reason for `packageJson.packageJsonObject.main` is that .d.ts components don't have a main file and they do need the types prop\n if (packageJson.packageJsonObject.types && packageJson.packageJsonObject.main) {\n delete packageJson.packageJsonObject.types;\n await packageJson.write();\n }\n })\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEhD,MAAMW,eAAe,CAAsB;EAAAC,YAAA;IAAArB,eAAA,mBAC5BsB,8BAAgB,CAACC,EAAE;IAAAvB,eAAA,eACvB,iBAAiB;IAAAA,eAAA,sBACV,yCAAyC;EAAA;EAChE,MAAMwB,OAAOA,CAACC,OAAqB,EAA4B;IAC7D,MAAM,IAAI,CAACC,sBAAsB,CAACD,OAAO,CAACE,cAAc,CAAC;IAEzD,MAAMC,MAAM,GAAG;MACbC,iBAAiB,EAAE;IACrB,CAAC;IAED,OAAOD,MAAM;EACf;EACA,MAAcF,sBAAsBA,CAACC,cAAuB,EAAE;IAC5D,MAAMG,OAAO,CAACC,GAAG,CACfJ,cAAc,CAACK,eAAe,CAACC,GAAG,CAAC,MAAOC,OAAO,IAAK;MACpD,MAAMC,WAAW,GAAGC,0BAAe,CAACC,mBAAmB,CAACH,OAAO,CAACI,IAAI,CAAC;MACrE;MACA;MACA;MACA,IAAIH,WAAW,CAACI,iBAAiB,CAACC,KAAK,IAAIL,WAAW,CAACI,iBAAiB,CAACE,IAAI,EAAE;QAC7E,OAAON,WAAW,CAACI,iBAAiB,CAACC,KAAK;QAC1C,MAAML,WAAW,CAACO,KAAK,CAAC,CAAC;MAC3B;IACF,CAAC,CACH,CAAC;EACH;AACF;AAACC,OAAA,CAAAvB,eAAA,GAAAA,eAAA"}
|
|
1
|
+
{"version":3,"names":["_packageJsonFile","data","_interopRequireDefault","require","_typescript","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","RemoveTypesTask","constructor","TypescriptAspect","id","execute","context","removeTypesFromPkgJson","capsuleNetwork","result","componentsResults","Promise","all","seedersCapsules","map","capsule","packageJson","PackageJsonFile","loadFromCapsuleSync","path","packageJsonObject","types","main","write","exports"],"sources":["remove-types-task.ts"],"sourcesContent":["import PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\nimport { Network } from '@teambit/isolator';\nimport { BuildContext, BuildTask, BuiltTaskResult } from '@teambit/builder';\nimport { TypescriptAspect } from './typescript.aspect';\n\nexport class RemoveTypesTask implements BuildTask {\n readonly aspectId = TypescriptAspect.id;\n readonly name = 'RemoveTypesProp';\n readonly description = 'remove the types prop from package.json';\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n await this.removeTypesFromPkgJson(context.capsuleNetwork);\n\n const result = {\n componentsResults: [],\n };\n\n return result;\n }\n private async removeTypesFromPkgJson(capsuleNetwork: Network) {\n await Promise.all(\n capsuleNetwork.seedersCapsules.map(async (capsule) => {\n const packageJson = PackageJsonFile.loadFromCapsuleSync(capsule.path);\n // the types['index.ts'] is needed only during the build to avoid errors when tsc finds the\n // same type once in the d.ts and once in the ts file.\n // the reason for `packageJson.packageJsonObject.main` is that .d.ts components don't have a main file and they do need the types prop\n if (packageJson.packageJsonObject.types && packageJson.packageJsonObject.main) {\n delete packageJson.packageJsonObject.types;\n await packageJson.write();\n }\n })\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEhD,MAAMW,eAAe,CAAsB;EAAAC,YAAA;IAAArB,eAAA,mBAC5BsB,8BAAgB,CAACC,EAAE;IAAAvB,eAAA,eACvB,iBAAiB;IAAAA,eAAA,sBACV,yCAAyC;EAAA;EAChE,MAAMwB,OAAOA,CAACC,OAAqB,EAA4B;IAC7D,MAAM,IAAI,CAACC,sBAAsB,CAACD,OAAO,CAACE,cAAc,CAAC;IAEzD,MAAMC,MAAM,GAAG;MACbC,iBAAiB,EAAE;IACrB,CAAC;IAED,OAAOD,MAAM;EACf;EACA,MAAcF,sBAAsBA,CAACC,cAAuB,EAAE;IAC5D,MAAMG,OAAO,CAACC,GAAG,CACfJ,cAAc,CAACK,eAAe,CAACC,GAAG,CAAC,MAAOC,OAAO,IAAK;MACpD,MAAMC,WAAW,GAAGC,0BAAe,CAACC,mBAAmB,CAACH,OAAO,CAACI,IAAI,CAAC;MACrE;MACA;MACA;MACA,IAAIH,WAAW,CAACI,iBAAiB,CAACC,KAAK,IAAIL,WAAW,CAACI,iBAAiB,CAACE,IAAI,EAAE;QAC7E,OAAON,WAAW,CAACI,iBAAiB,CAACC,KAAK;QAC1C,MAAML,WAAW,CAACO,KAAK,CAAC,CAAC;MAC3B;IACF,CAAC,CACH,CAAC;EACH;AACF;AAACC,OAAA,CAAAvB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_tsutils","data","require","_typescript","_interopRequireWildcard","_lodash","_utils","_path","_semanticsEntities","_isRelativeImport","_interopRequireDefault","_pMapSeries","_identifierList","_parseTypeFromQuickInfo","_jsdocToDocSchema","_identifier","_exportIdentifier","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","SchemaExtractorContext","mainFile","pathNormalizeToLinux","getPathRelativeToComponent","component","path","identifiers","_identifiers","internalIdentifiers","_internalIdentifiers","computed","_computed","mainFileIdentifierKey","getIdentifierKey","mainModuleIdentifiers","constructor","tsserver","extractor","componentDeps","componentRootPath","hostRootPath","formatter","Map","getComputedNodeKey","filePath","line","character","schema","getIdentifierKeyForNode","node","getSourceFile","fileName","setComputed","location","__schema","setIdentifiers","setInternalIdentifiers","existing","uniqueIdentifiers","uniqBy","concat","k","aliasId","id","IdentifierList","findComputedSchemaByName","name","Array","from","values","filter","computeSchema","getLocation","SyntaxKind","kind","existingComputedSchema","computedSchema","transformSchemaNode","transformAPI","targetSourceFile","absolutePath","sourceFile","position","getLineAndCharacterOfPosition","getStart","getLocationAsString","basePath","filesystem","files","base","relative","getSignature","getSignatureHelp","getPath","getPosition","offset","getPositionOfLineAndCharacter","startsWith","join","getQuickInfo","err","message","Error","getQuickInfoDisplayString","quickInfo","body","displayString","typeDefinition","getTypeDefinition","visitTypeDefinition","getPathWithoutExtension","knownExtensions","fileExtension","extname","substring","filePathWithoutExtension","includes","replace","RegExp","isAbsolute","isIndexFile","currentFilePath","indexFilePath","findFileInComponent","normalizedFilePath","pathToCompareWithoutExtension","matchingFile","find","file","currentFilePathWithoutExtension","isSameFilePath","matches","parsePackageNameFromPath","parts","split","length","lastPart","sep","pkgParts","pkgName","getSourceFileInsideComponent","parseSourceFile","getSourceFileFromNode","getFilePathByNode","undefined","def","getDefinition","firstDef","head","definitionInfo","definition","startPosition","start","pos","nodeAtPos","getTokenAtPosition","visitDefinition","getTypeRefForExternalNode","visit","parent","Identifier","SourceFile","references","isExported","isFromComponent","getFileIdentifiers","exportDec","specifierPathStr","ExportDeclaration","moduleSpecifier","getText","specifierPath","absPath","resolve","getIdentifiers","getFileExports","identifier","ExportIdentifier","isExportIdentifier","getFileInternals","computeIdentifiers","headTypeDefinition","headDefinition","unknownExactType","typeStr","isTypeStrFromQuickInfo","InferenceTypeSchema","info","type","parseTypeFromQuickInfo","isDefInSameLocation","loc","resolveType","internalRef","getTypeRef","ts","isTypeNode","definitionNode","definitionNodeName","definitionInternalRef","transformer","getTransformer","getTypeRefForExternalPath","schemaNode","apiTransformer","getAPITransformer","transformedApi","transform","IgnoredSchema","getCompIdByPkgName","dep","packageName","componentId","nodeIdentifierKey","nodeIdentifierList","mainIdentifierList","nodeIdentifier","mainIdentifier","parsedNodeIdentifier","parsedMainIdentifier","isExportedFromMain","resolveTypeRef","sourceFilePath","isRelativeImport","TypeRefSchema","compIdByPkg","compIdByPath","getComponentIDByPath","relativeDir","lastIndexOf","absFilePath","compFilePath","idKey","exportedIdentifier","jsDocToDocSchema","canHaveJsDoc","jsDocs","getJsDoc","jsDoc","comment","getTextOfJSDocComment","tags","pMapSeries","tag","tagParser","DocSchema","exports"],"sources":["schema-extractor-context.ts"],"sourcesContent":["import { TsserverClient } from '@teambit/ts-server';\nimport { getTokenAtPosition, canHaveJsDoc, getJsDoc } from 'tsutils';\nimport ts, { ExportAssignment, getTextOfJSDocComment, ExportDeclaration, Node, SyntaxKind, TypeNode } from 'typescript';\nimport { head, uniqBy } from 'lodash';\n// @ts-ignore david we should figure fix this.\n// eslint-disable-next-line import/no-unresolved\nimport protocol from 'typescript/lib/protocol';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { resolve, sep, relative, join, isAbsolute, extname } from 'path';\nimport { Component, ComponentID } from '@teambit/component';\nimport {\n TypeRefSchema,\n SchemaNode,\n InferenceTypeSchema,\n Location,\n DocSchema,\n IgnoredSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport isRelativeImport from '@teambit/legacy/dist/utils/is-relative-import';\nimport { ComponentDependency } from '@teambit/dependency-resolver';\nimport { Formatter } from '@teambit/formatter';\nimport pMapSeries from 'p-map-series';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { IdentifierList } from './identifier-list';\nimport { parseTypeFromQuickInfo } from './transformers/utils/parse-type-from-quick-info';\nimport { tagParser } from './transformers/utils/jsdoc-to-doc-schema';\nimport { Identifier } from './identifier';\nimport { ExportIdentifier } from './export-identifier';\n\nexport class SchemaExtractorContext {\n /**\n * list of all declared identifiers (exported and internal) by filename\n */\n private _identifiers = new Map<string, IdentifierList>();\n private _internalIdentifiers = new Map<string, IdentifierList>();\n\n /**\n * computed nodes by filename and (position (line:character))\n */\n private _computed = new Map<string, SchemaNode>();\n\n get mainFile() {\n return pathNormalizeToLinux(this.getPathRelativeToComponent(this.component.mainFile.path));\n }\n\n get identifiers() {\n return this._identifiers;\n }\n\n get internalIdentifiers() {\n return this._internalIdentifiers;\n }\n\n get computed() {\n return this._computed;\n }\n\n get mainFileIdentifierKey() {\n const mainFile = this.component.mainFile;\n return this.getIdentifierKey(mainFile.path);\n }\n\n get mainModuleIdentifiers() {\n return this.identifiers.get(this.mainFileIdentifierKey);\n }\n\n constructor(\n readonly tsserver: TsserverClient,\n readonly component: Component,\n readonly extractor: TypeScriptExtractor,\n readonly componentDeps: ComponentDependency[],\n readonly componentRootPath: string,\n readonly hostRootPath: string,\n readonly formatter?: Formatter\n ) {\n this.componentRootPath = pathNormalizeToLinux(componentRootPath);\n this.hostRootPath = pathNormalizeToLinux(hostRootPath);\n }\n\n getComputedNodeKey({ filePath, line, character }: Location, schema: string) {\n return `${filePath}:${line}:${character}__${schema}`;\n }\n\n getIdentifierKeyForNode(node: Node) {\n const filePath = node.getSourceFile().fileName;\n return this.getIdentifierKey(filePath);\n }\n\n getIdentifierKey(filePath: string) {\n return pathNormalizeToLinux(filePath);\n }\n\n setComputed(node: SchemaNode) {\n const { location, __schema } = node;\n const key = this.getComputedNodeKey(location, __schema);\n this.computed.set(key, node);\n }\n\n setIdentifiers(filePath: string, identifiers: IdentifierList) {\n this._identifiers.set(this.getIdentifierKey(filePath), identifiers);\n }\n\n setInternalIdentifiers(filePath: string, identifiers: IdentifierList) {\n const existing = this._internalIdentifiers.get(filePath);\n if (!existing) {\n this._internalIdentifiers.set(filePath, identifiers);\n } else {\n const uniqueIdentifiers = uniqBy(existing.identifiers.concat(identifiers.identifiers), (k) => k.aliasId || k.id);\n this._internalIdentifiers.set(filePath, new IdentifierList(uniqueIdentifiers));\n }\n }\n\n findComputedSchemaByName(name: string) {\n const computed = Array.from(this.computed.values());\n return computed.filter((schema) => schema.name === name);\n }\n\n async computeSchema(node: Node): Promise<SchemaNode> {\n const location = this.getLocation(node);\n const key = this.getComputedNodeKey(location, SyntaxKind[node.kind]);\n const existingComputedSchema = this.computed.get(key);\n if (existingComputedSchema) {\n return existingComputedSchema;\n }\n const computedSchema = await this.extractor.computeSchema(node, this);\n this.setComputed(computedSchema);\n return computedSchema;\n }\n\n async transformSchemaNode(schema: SchemaNode) {\n return this.extractor.transformAPI(schema, this);\n }\n\n /**\n * returns the location of a node in a source file.\n */\n getLocation(node: Node, targetSourceFile?: ts.SourceFile, absolutePath = false): Location {\n const sourceFile = targetSourceFile || node.getSourceFile();\n const filePath = absolutePath ? sourceFile.fileName : this.getPathRelativeToComponent(sourceFile.fileName);\n const position = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n const line = position.line + 1;\n const character = position.character + 1;\n\n return {\n filePath: pathNormalizeToLinux(filePath),\n line,\n character,\n };\n }\n\n getLocationAsString(node: Node): string {\n const location = this.getLocation(node);\n return `${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}`;\n }\n\n getPathRelativeToComponent(filePath: string): string {\n const basePath = this.component.filesystem.files[0].base;\n return relative(basePath, filePath);\n }\n\n /**\n * returns a signature for a node.\n */\n async getSignature(node: Node) {\n return this.tsserver.getSignatureHelp(this.getPath(node), this.getLocation(node));\n }\n\n /**\n * get the position for the tsserver.\n */\n getPosition(sourceFile: ts.SourceFile, line: number, offset: number): number {\n return sourceFile.getPositionOfLineAndCharacter(line - 1, offset - 1);\n }\n\n /**\n * get the path for a source file.\n */\n getPath(node: Node) {\n const sourceFile = node.getSourceFile();\n\n const fileName = sourceFile.fileName;\n\n if (!fileName.startsWith(this.componentRootPath) && !fileName.startsWith(this.hostRootPath)) {\n return join(this.componentRootPath, fileName);\n }\n\n return sourceFile.fileName;\n }\n\n async getQuickInfo(node: Node) {\n const location = this.getLocation(node);\n try {\n return await this.tsserver.getQuickInfo(this.getPath(node), location);\n } catch (err: any) {\n if (err.message === 'No content available.') {\n throw new Error(\n `unable to get quickinfo data from tsserver at ${this.getPath(node)}, Ln ${location.line}, Col ${\n location.character\n }`\n );\n }\n throw err;\n }\n }\n\n async getQuickInfoDisplayString(node: Node): Promise<string> {\n const quickInfo = await this.getQuickInfo(node);\n return quickInfo?.body?.displayString || '';\n }\n\n /**\n * returns the type definition for a type.\n */\n typeDefinition(node: Node) {\n return this.tsserver.getTypeDefinition(this.getPath(node), this.getLocation(node));\n }\n\n visitTypeDefinition() {}\n\n private getPathWithoutExtension(filePath: string) {\n const knownExtensions = ['ts', 'js', 'jsx', 'tsx'];\n const fileExtension = extname(filePath).substring(1);\n\n const filePathWithoutExtension = () => {\n if (knownExtensions.includes(fileExtension)) {\n return filePath.replace(new RegExp(`\\\\.${fileExtension}$`), '');\n }\n return filePath;\n };\n\n if (!isAbsolute(filePath)) {\n return filePathWithoutExtension();\n }\n\n if (filePath.startsWith(this.componentRootPath)) {\n return relative(this.componentRootPath, filePathWithoutExtension());\n }\n if (filePath.startsWith(this.hostRootPath)) {\n return relative(this.hostRootPath, filePathWithoutExtension());\n }\n return filePathWithoutExtension();\n }\n\n private isIndexFile(filePath: string, currentFilePath: string) {\n const indexFilePath = join(filePath, 'index');\n return pathNormalizeToLinux(indexFilePath) === currentFilePath;\n }\n\n findFileInComponent(filePath: string) {\n const normalizedFilePath = pathNormalizeToLinux(filePath);\n const pathToCompareWithoutExtension = this.getPathWithoutExtension(normalizedFilePath);\n\n const matchingFile = this.component.filesystem.files.find((file) => {\n const currentFilePath = pathNormalizeToLinux(file.path);\n const currentFilePathWithoutExtension = this.getPathWithoutExtension(currentFilePath);\n\n const isSameFilePath = pathToCompareWithoutExtension === currentFilePathWithoutExtension;\n\n const matches =\n isSameFilePath || this.isIndexFile(pathToCompareWithoutExtension, currentFilePathWithoutExtension);\n\n return matches;\n });\n return matchingFile;\n }\n\n private parsePackageNameFromPath(path: string) {\n const parts = path.split('node_modules');\n\n if (parts.length === 1) {\n return path;\n }\n\n const lastPart = parts[parts.length - 1].replace(sep, '');\n const pkgParts = lastPart.split('/');\n if (lastPart.startsWith('@')) {\n // scoped package\n return `${pkgParts[0]}/${pkgParts[1]}`;\n }\n const pkgName = pkgParts[0];\n if (pkgName === 'typescript') {\n // it's a built-in type, such as \"string\".\n return '';\n }\n return pkgName;\n }\n\n /**\n * return the file if part of the component.\n * otherwise, a reference to the target package and the type name.\n */\n getSourceFileInsideComponent(filePath: string) {\n const file = this.findFileInComponent(filePath);\n return file && this.extractor.parseSourceFile(file);\n }\n\n async getSourceFileFromNode(node: Node) {\n const filePath = await this.getFilePathByNode(node);\n if (!filePath) {\n return undefined;\n }\n return this.getSourceFileInsideComponent(filePath);\n }\n\n async getFilePathByNode(node: Node) {\n const def = await this.tsserver.getDefinition(this.getPath(node), this.getLocation(node));\n\n const firstDef = head(def?.body);\n return firstDef?.file;\n }\n\n async definitionInfo(node: Node): Promise<protocol.DefinitionInfo | undefined> {\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n\n const def = await this.tsserver.getDefinition(filePath, location);\n\n const firstDef = head(def?.body);\n\n return firstDef;\n }\n\n /**\n * get a definition for a given node.\n */\n async definition(definition: protocol.DefinitionInfo): Promise<Node | undefined> {\n const startPosition = definition.start;\n const sourceFile = this.getSourceFileInsideComponent(definition.file);\n if (!sourceFile) {\n // it might be an external reference, cant get the node\n return undefined;\n }\n const pos = this.getPosition(sourceFile, startPosition.line, startPosition.offset);\n const nodeAtPos = getTokenAtPosition(sourceFile, pos);\n return nodeAtPos;\n }\n\n /**\n * visit a definition for node - e.g. return it's schema.\n */\n async visitDefinition(node: Node): Promise<SchemaNode | undefined> {\n const definitionInfo = await this.definitionInfo(node);\n if (!definitionInfo) {\n return undefined;\n }\n\n const definition = await this.definition(definitionInfo);\n if (!definition) {\n return this.getTypeRefForExternalNode(node);\n }\n\n return this.visit(definition.parent);\n }\n\n async visit(node: Node): Promise<SchemaNode> {\n if (node.kind === SyntaxKind.Identifier && node.parent.parent.kind !== SyntaxKind.SourceFile) {\n return this.visit(node.parent);\n }\n return this.extractor.computeSchema(node, this);\n }\n\n references() {}\n\n isExported() {}\n\n isFromComponent() {}\n\n async getFileIdentifiers(exportDec: ExportDeclaration | ExportAssignment) {\n const file = exportDec.getSourceFile().fileName;\n const specifierPathStr =\n (exportDec.kind === SyntaxKind.ExportDeclaration && exportDec.moduleSpecifier?.getText()) || '';\n const specifierPath = specifierPathStr.substring(1, specifierPathStr.length - 1);\n const absPath = resolve(file, '..', specifierPath);\n const sourceFile = this.getSourceFileInsideComponent(absPath);\n if (!sourceFile) return [];\n return this.getIdentifiers(sourceFile);\n }\n\n async getFileExports(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => ExportIdentifier.isExportIdentifier(identifier));\n }\n\n async getFileInternals(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => !ExportIdentifier.isExportIdentifier(identifier));\n }\n\n getIdentifiers(node: Node) {\n return this.extractor.computeIdentifiers(node, this);\n }\n\n /**\n * tsserver has two different calls: \"definition\" and \"typeDefinition\".\n * normally, we need the \"typeDefinition\" to get the type data of a node.\n * sometimes, it has no data, for example when the node is of type TypeReference, and then using \"definition\" is\n * helpful. (couldn't find a rule when to use each one. e.g. \"VariableDeclaration\" sometimes has data only in\n * \"definition\" but it's not clear when/why).\n */\n async getDefinition(node: Node) {\n const typeDefinition = await this.typeDefinition(node);\n const headTypeDefinition = head(typeDefinition?.body);\n if (headTypeDefinition) {\n return headTypeDefinition;\n }\n\n const definition = await this.tsserver.getDefinition(node.getSourceFile().fileName, this.getLocation(node));\n const headDefinition = head(definition?.body);\n\n return headDefinition;\n }\n\n // when we can't figure out the component/package/type of this node, we'll use the typeStr as the type.\n private async unknownExactType(node: Node, location: Location, typeStr = 'any', isTypeStrFromQuickInfo = true) {\n if (isTypeStrFromQuickInfo) {\n return new InferenceTypeSchema(location, typeStr || 'any');\n }\n const info = await this.getQuickInfo(node);\n const type = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(location, type, typeStr);\n }\n\n // the reason for this check is to avoid infinite loop when calling `this.jump` with the same file+location\n private isDefInSameLocation(node: Node, definition: protocol.FileSpanWithContext) {\n if (definition.file !== node.getSourceFile().fileName) {\n return false;\n }\n const loc = this.getLocation(node);\n\n return loc.line === definition.start.line && loc.character === definition.start.offset;\n }\n\n /**\n * resolve a type by a node and its identifier.\n */\n async resolveType(\n node: Node & { type?: TypeNode },\n typeStr: string,\n isTypeStrFromQuickInfo = true\n ): Promise<SchemaNode> {\n const location = this.getLocation(node);\n\n // check if internal ref with typeInfo\n const internalRef = await this.getTypeRef(typeStr, this.getIdentifierKeyForNode(node), location);\n\n if (internalRef) return internalRef;\n\n // if a node has \"type\" prop, it has the type data of the node. this normally happens when the code has the type\n // explicitly, e.g. `const str: string` vs implicitly `const str = 'some-string'`, which the node won't have \"type\"\n if (node.type && ts.isTypeNode(node.type)) {\n return this.computeSchema(node.type);\n }\n\n const definition = await this.getDefinition(node);\n\n if (!definition) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n if (this.isDefInSameLocation(node, definition)) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNode = await this.definition(definition);\n\n if (!definitionNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNodeName = definitionNode?.getText();\n\n // check if internal ref with definition info\n const definitionInternalRef = await this.getTypeRef(\n definitionNodeName,\n this.getIdentifierKeyForNode(definitionNode),\n location\n );\n\n if (definitionInternalRef) return definitionInternalRef;\n\n const transformer = this.extractor.getTransformer(definitionNode, this);\n\n if (transformer === undefined) {\n const file = this.findFileInComponent(definition.file);\n if (!file) return this.getTypeRefForExternalPath(typeStr, definition.file, location);\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const schemaNode = await this.visit(definitionNode);\n\n if (!schemaNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const apiTransformer = this.extractor.getAPITransformer(schemaNode);\n let transformedApi = apiTransformer ? await apiTransformer.transform(schemaNode, this) : schemaNode;\n if (!transformedApi) {\n transformedApi = new IgnoredSchema(schemaNode);\n }\n return transformedApi;\n }\n\n private getCompIdByPkgName(pkgName: string): ComponentID | undefined {\n return this.componentDeps.find((dep) => dep.packageName === pkgName)?.componentId;\n }\n\n async getTypeRef(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema | undefined> {\n const nodeIdentifierKey = this.getIdentifierKey(filePath);\n const mainFileIdentifierKey = this.mainFileIdentifierKey;\n\n const nodeIdentifierList = this.identifiers.get(nodeIdentifierKey);\n const mainIdentifierList = this.identifiers.get(mainFileIdentifierKey);\n\n const nodeIdentifier = new Identifier(typeStr, nodeIdentifierKey);\n const mainIdentifier = new Identifier(typeStr, mainFileIdentifierKey);\n\n const parsedNodeIdentifier = nodeIdentifierList?.find(nodeIdentifier);\n const parsedMainIdentifier = mainIdentifierList?.find(mainIdentifier);\n const isExportedFromMain = parsedMainIdentifier && ExportIdentifier.isExportIdentifier(parsedMainIdentifier);\n\n if (!parsedNodeIdentifier) return undefined;\n\n const internalRef = !isExportedFromMain;\n\n if (internalRef) {\n this.setInternalIdentifiers(filePath, new IdentifierList([parsedNodeIdentifier]));\n }\n\n return this.resolveTypeRef(parsedNodeIdentifier, location, isExportedFromMain);\n }\n\n async resolveTypeRef(\n identifier: Identifier,\n location: Location,\n isExportedFromMain?: boolean\n ): Promise<TypeRefSchema> {\n const sourceFilePath = identifier.sourceFilePath;\n\n if (!sourceFilePath || (isExportedFromMain && isRelativeImport(sourceFilePath))) {\n return new TypeRefSchema(\n location,\n identifier.id,\n undefined,\n undefined,\n !isExportedFromMain ? this.getPathRelativeToComponent(identifier.filePath) : undefined\n );\n }\n\n if (!isRelativeImport(sourceFilePath)) {\n const pkgName = this.parsePackageNameFromPath(sourceFilePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n\n const compIdByPath = await this.extractor.getComponentIDByPath(sourceFilePath);\n\n if (compIdByPath) {\n return new TypeRefSchema(location, identifier.id, compIdByPath);\n }\n\n if (compIdByPkg) {\n return new TypeRefSchema(location, identifier.id, compIdByPkg);\n }\n\n // package without comp id\n return new TypeRefSchema(location, identifier.id, undefined, pkgName);\n }\n\n const relativeDir = identifier.filePath.substring(0, identifier.filePath.lastIndexOf('/'));\n const absFilePath = resolve(this.componentRootPath, relativeDir, sourceFilePath);\n\n const compFilePath = this.findFileInComponent(absFilePath);\n if (!compFilePath) {\n // @todo handle this better\n throw new Error(\n `cannot find file in component \\n source file path ${sourceFilePath}\\n \n identifier file path ${identifier.filePath}\\nrelative dir ${relativeDir}\\n\n absFilePath ${absFilePath}`\n );\n return new TypeRefSchema(location, identifier.id);\n }\n\n const idKey = this.getIdentifierKey(compFilePath?.path);\n\n // if re exported from a file, recurse until definition\n const exportedIdentifier = (this.identifiers.get(idKey)?.identifiers || []).find((i) => i.id === identifier.id);\n\n if (exportedIdentifier) {\n return this.resolveTypeRef(exportedIdentifier, location, isExportedFromMain);\n }\n\n return new TypeRefSchema(location, identifier.id);\n }\n\n async getTypeRefForExternalNode(node: Node): Promise<TypeRefSchema> {\n const info = await this.getQuickInfo(node);\n const typeStr = parseTypeFromQuickInfo(info);\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n return this.getTypeRefForExternalPath(typeStr, filePath, location);\n }\n\n async getTypeRefForExternalPath(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema> {\n const compIdByPath = await this.extractor.getComponentIDByPath(filePath);\n if (compIdByPath) {\n return new TypeRefSchema(location, typeStr, compIdByPath);\n }\n const pkgName = this.parsePackageNameFromPath(filePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n if (compIdByPkg) {\n return new TypeRefSchema(location, typeStr, compIdByPkg);\n }\n return new TypeRefSchema(location, typeStr, undefined, pkgName);\n }\n\n async jsDocToDocSchema(node: Node): Promise<DocSchema | undefined> {\n if (!canHaveJsDoc(node)) {\n return undefined;\n }\n const jsDocs = getJsDoc(node);\n if (!jsDocs.length) {\n return undefined;\n }\n // not sure how common it is to have multiple JSDocs. never seen it before.\n // regardless, in typescript implementation of methods like `getJSDocDeprecatedTag()`, they use the first one. (`getFirstJSDocTag()`)\n const jsDoc = jsDocs[0];\n const location = this.getLocation(jsDoc);\n const comment = getTextOfJSDocComment(jsDoc.comment);\n const tags = jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, this, this.formatter)) : undefined;\n return new DocSchema(location, jsDoc.getText(), comment, tags);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_tsutils","data","require","_typescript","_interopRequireWildcard","_lodash","_utils","_path","_semanticsEntities","_isRelativeImport","_interopRequireDefault","_pMapSeries","_identifierList","_parseTypeFromQuickInfo","_jsdocToDocSchema","_identifier","_exportIdentifier","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","SchemaExtractorContext","mainFile","pathNormalizeToLinux","getPathRelativeToComponent","component","path","identifiers","_identifiers","internalIdentifiers","_internalIdentifiers","computed","_computed","mainFileIdentifierKey","getIdentifierKey","mainModuleIdentifiers","constructor","tsserver","extractor","componentDeps","componentRootPath","hostRootPath","formatter","Map","getComputedNodeKey","filePath","line","character","schema","getIdentifierKeyForNode","node","getSourceFile","fileName","setComputed","location","__schema","setIdentifiers","setInternalIdentifiers","existing","uniqueIdentifiers","uniqBy","concat","k","aliasId","id","IdentifierList","findComputedSchemaByName","name","Array","from","values","filter","computeSchema","getLocation","SyntaxKind","kind","existingComputedSchema","computedSchema","transformSchemaNode","transformAPI","targetSourceFile","absolutePath","sourceFile","position","getLineAndCharacterOfPosition","getStart","getLocationAsString","basePath","filesystem","files","base","relative","getSignature","getSignatureHelp","getPath","getPosition","offset","getPositionOfLineAndCharacter","startsWith","join","getQuickInfo","err","message","Error","getQuickInfoDisplayString","quickInfo","body","displayString","typeDefinition","getTypeDefinition","visitTypeDefinition","getPathWithoutExtension","knownExtensions","fileExtension","extname","substring","filePathWithoutExtension","includes","replace","RegExp","isAbsolute","isIndexFile","currentFilePath","indexFilePath","findFileInComponent","normalizedFilePath","pathToCompareWithoutExtension","matchingFile","find","file","currentFilePathWithoutExtension","isSameFilePath","matches","parsePackageNameFromPath","parts","split","length","lastPart","sep","pkgParts","pkgName","getSourceFileInsideComponent","parseSourceFile","getSourceFileFromNode","getFilePathByNode","undefined","def","getDefinition","firstDef","head","definitionInfo","definition","startPosition","start","pos","nodeAtPos","getTokenAtPosition","visitDefinition","getTypeRefForExternalNode","visit","parent","Identifier","SourceFile","references","isExported","isFromComponent","getFileIdentifiers","exportDec","specifierPathStr","ExportDeclaration","moduleSpecifier","getText","specifierPath","absPath","resolve","getIdentifiers","getFileExports","identifier","ExportIdentifier","isExportIdentifier","getFileInternals","computeIdentifiers","headTypeDefinition","headDefinition","unknownExactType","typeStr","isTypeStrFromQuickInfo","InferenceTypeSchema","info","type","parseTypeFromQuickInfo","isDefInSameLocation","loc","resolveType","internalRef","getTypeRef","ts","isTypeNode","definitionNode","definitionNodeName","definitionInternalRef","transformer","getTransformer","getTypeRefForExternalPath","schemaNode","apiTransformer","getAPITransformer","transformedApi","transform","IgnoredSchema","getCompIdByPkgName","dep","packageName","componentId","nodeIdentifierKey","nodeIdentifierList","mainIdentifierList","nodeIdentifier","mainIdentifier","parsedNodeIdentifier","parsedMainIdentifier","isExportedFromMain","resolveTypeRef","sourceFilePath","isRelativeImport","TypeRefSchema","compIdByPkg","compIdByPath","getComponentIDByPath","relativeDir","lastIndexOf","absFilePath","compFilePath","idKey","exportedIdentifier","jsDocToDocSchema","canHaveJsDoc","jsDocs","getJsDoc","jsDoc","comment","getTextOfJSDocComment","tags","pMapSeries","tag","tagParser","DocSchema","exports"],"sources":["schema-extractor-context.ts"],"sourcesContent":["import { TsserverClient } from '@teambit/ts-server';\nimport { getTokenAtPosition, canHaveJsDoc, getJsDoc } from 'tsutils';\nimport ts, { ExportAssignment, getTextOfJSDocComment, ExportDeclaration, Node, SyntaxKind, TypeNode } from 'typescript';\nimport { head, uniqBy } from 'lodash';\n// @ts-ignore david we should figure fix this.\n// eslint-disable-next-line import/no-unresolved\nimport protocol from 'typescript/lib/protocol';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { resolve, sep, relative, join, isAbsolute, extname } from 'path';\nimport { Component, ComponentID } from '@teambit/component';\nimport {\n TypeRefSchema,\n SchemaNode,\n InferenceTypeSchema,\n Location,\n DocSchema,\n IgnoredSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport isRelativeImport from '@teambit/legacy/dist/utils/is-relative-import';\nimport { ComponentDependency } from '@teambit/dependency-resolver';\nimport { Formatter } from '@teambit/formatter';\nimport pMapSeries from 'p-map-series';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { IdentifierList } from './identifier-list';\nimport { parseTypeFromQuickInfo } from './transformers/utils/parse-type-from-quick-info';\nimport { tagParser } from './transformers/utils/jsdoc-to-doc-schema';\nimport { Identifier } from './identifier';\nimport { ExportIdentifier } from './export-identifier';\n\nexport class SchemaExtractorContext {\n /**\n * list of all declared identifiers (exported and internal) by filename\n */\n private _identifiers = new Map<string, IdentifierList>();\n private _internalIdentifiers = new Map<string, IdentifierList>();\n\n /**\n * computed nodes by filename and (position (line:character))\n */\n private _computed = new Map<string, SchemaNode>();\n\n get mainFile() {\n return pathNormalizeToLinux(this.getPathRelativeToComponent(this.component.mainFile.path));\n }\n\n get identifiers() {\n return this._identifiers;\n }\n\n get internalIdentifiers() {\n return this._internalIdentifiers;\n }\n\n get computed() {\n return this._computed;\n }\n\n get mainFileIdentifierKey() {\n const mainFile = this.component.mainFile;\n return this.getIdentifierKey(mainFile.path);\n }\n\n get mainModuleIdentifiers() {\n return this.identifiers.get(this.mainFileIdentifierKey);\n }\n\n constructor(\n readonly tsserver: TsserverClient,\n readonly component: Component,\n readonly extractor: TypeScriptExtractor,\n readonly componentDeps: ComponentDependency[],\n readonly componentRootPath: string,\n readonly hostRootPath: string,\n readonly formatter?: Formatter\n ) {\n this.componentRootPath = pathNormalizeToLinux(componentRootPath);\n this.hostRootPath = pathNormalizeToLinux(hostRootPath);\n }\n\n getComputedNodeKey({ filePath, line, character }: Location, schema: string) {\n return `${filePath}:${line}:${character}__${schema}`;\n }\n\n getIdentifierKeyForNode(node: Node) {\n const filePath = node.getSourceFile().fileName;\n return this.getIdentifierKey(filePath);\n }\n\n getIdentifierKey(filePath: string) {\n return pathNormalizeToLinux(filePath);\n }\n\n setComputed(node: SchemaNode) {\n const { location, __schema } = node;\n const key = this.getComputedNodeKey(location, __schema);\n this.computed.set(key, node);\n }\n\n setIdentifiers(filePath: string, identifiers: IdentifierList) {\n this._identifiers.set(this.getIdentifierKey(filePath), identifiers);\n }\n\n setInternalIdentifiers(filePath: string, identifiers: IdentifierList) {\n const existing = this._internalIdentifiers.get(filePath);\n if (!existing) {\n this._internalIdentifiers.set(filePath, identifiers);\n } else {\n const uniqueIdentifiers = uniqBy(existing.identifiers.concat(identifiers.identifiers), (k) => k.aliasId || k.id);\n this._internalIdentifiers.set(filePath, new IdentifierList(uniqueIdentifiers));\n }\n }\n\n findComputedSchemaByName(name: string) {\n const computed = Array.from(this.computed.values());\n return computed.filter((schema) => schema.name === name);\n }\n\n async computeSchema(node: Node): Promise<SchemaNode> {\n const location = this.getLocation(node);\n const key = this.getComputedNodeKey(location, SyntaxKind[node.kind]);\n const existingComputedSchema = this.computed.get(key);\n if (existingComputedSchema) {\n return existingComputedSchema;\n }\n const computedSchema = await this.extractor.computeSchema(node, this);\n this.setComputed(computedSchema);\n return computedSchema;\n }\n\n async transformSchemaNode(schema: SchemaNode) {\n return this.extractor.transformAPI(schema, this);\n }\n\n /**\n * returns the location of a node in a source file.\n */\n getLocation(node: Node, targetSourceFile?: ts.SourceFile, absolutePath = false): Location {\n const sourceFile = targetSourceFile || node.getSourceFile();\n const filePath = absolutePath ? sourceFile.fileName : this.getPathRelativeToComponent(sourceFile.fileName);\n const position = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n const line = position.line + 1;\n const character = position.character + 1;\n\n return {\n filePath: pathNormalizeToLinux(filePath),\n line,\n character,\n };\n }\n\n getLocationAsString(node: Node): string {\n const location = this.getLocation(node);\n return `${node.getSourceFile().fileName}, line: ${location.line}, character: ${location.character}`;\n }\n\n getPathRelativeToComponent(filePath: string): string {\n const basePath = this.component.filesystem.files[0].base;\n return relative(basePath, filePath);\n }\n\n /**\n * returns a signature for a node.\n */\n async getSignature(node: Node) {\n return this.tsserver.getSignatureHelp(this.getPath(node), this.getLocation(node));\n }\n\n /**\n * get the position for the tsserver.\n */\n getPosition(sourceFile: ts.SourceFile, line: number, offset: number): number {\n return sourceFile.getPositionOfLineAndCharacter(line - 1, offset - 1);\n }\n\n /**\n * get the path for a source file.\n */\n getPath(node: Node) {\n const sourceFile = node.getSourceFile();\n\n const fileName = sourceFile.fileName;\n\n if (!fileName.startsWith(this.componentRootPath) && !fileName.startsWith(this.hostRootPath)) {\n return join(this.componentRootPath, fileName);\n }\n\n return sourceFile.fileName;\n }\n\n async getQuickInfo(node: Node) {\n const location = this.getLocation(node);\n try {\n return await this.tsserver.getQuickInfo(this.getPath(node), location);\n } catch (err: any) {\n if (err.message === 'No content available.') {\n throw new Error(\n `unable to get quickinfo data from tsserver at ${this.getPath(node)}, Ln ${location.line}, Col ${\n location.character\n }`\n );\n }\n throw err;\n }\n }\n\n async getQuickInfoDisplayString(node: Node): Promise<string> {\n const quickInfo = await this.getQuickInfo(node);\n return quickInfo?.body?.displayString || '';\n }\n\n /**\n * returns the type definition for a type.\n */\n typeDefinition(node: Node) {\n return this.tsserver.getTypeDefinition(this.getPath(node), this.getLocation(node));\n }\n\n visitTypeDefinition() {}\n\n private getPathWithoutExtension(filePath: string) {\n const knownExtensions = ['ts', 'js', 'jsx', 'tsx'];\n const fileExtension = extname(filePath).substring(1);\n\n const filePathWithoutExtension = () => {\n if (knownExtensions.includes(fileExtension)) {\n return filePath.replace(new RegExp(`\\\\.${fileExtension}$`), '');\n }\n return filePath;\n };\n\n if (!isAbsolute(filePath)) {\n return filePathWithoutExtension();\n }\n\n if (filePath.startsWith(this.componentRootPath)) {\n return relative(this.componentRootPath, filePathWithoutExtension());\n }\n if (filePath.startsWith(this.hostRootPath)) {\n return relative(this.hostRootPath, filePathWithoutExtension());\n }\n return filePathWithoutExtension();\n }\n\n private isIndexFile(filePath: string, currentFilePath: string) {\n const indexFilePath = join(filePath, 'index');\n return pathNormalizeToLinux(indexFilePath) === currentFilePath;\n }\n\n findFileInComponent(filePath: string) {\n const normalizedFilePath = pathNormalizeToLinux(filePath);\n const pathToCompareWithoutExtension = this.getPathWithoutExtension(normalizedFilePath);\n\n const matchingFile = this.component.filesystem.files.find((file) => {\n const currentFilePath = pathNormalizeToLinux(file.path);\n const currentFilePathWithoutExtension = this.getPathWithoutExtension(currentFilePath);\n\n const isSameFilePath = pathToCompareWithoutExtension === currentFilePathWithoutExtension;\n\n const matches =\n isSameFilePath || this.isIndexFile(pathToCompareWithoutExtension, currentFilePathWithoutExtension);\n\n return matches;\n });\n return matchingFile;\n }\n\n private parsePackageNameFromPath(path: string) {\n const parts = path.split('node_modules');\n\n if (parts.length === 1) {\n return path;\n }\n\n const lastPart = parts[parts.length - 1].replace(sep, '');\n const pkgParts = lastPart.split('/');\n if (lastPart.startsWith('@')) {\n // scoped package\n return `${pkgParts[0]}/${pkgParts[1]}`;\n }\n const pkgName = pkgParts[0];\n if (pkgName === 'typescript') {\n // it's a built-in type, such as \"string\".\n return '';\n }\n return pkgName;\n }\n\n /**\n * return the file if part of the component.\n * otherwise, a reference to the target package and the type name.\n */\n getSourceFileInsideComponent(filePath: string) {\n const file = this.findFileInComponent(filePath);\n return file && this.extractor.parseSourceFile(file);\n }\n\n async getSourceFileFromNode(node: Node) {\n const filePath = await this.getFilePathByNode(node);\n if (!filePath) {\n return undefined;\n }\n return this.getSourceFileInsideComponent(filePath);\n }\n\n async getFilePathByNode(node: Node) {\n const def = await this.tsserver.getDefinition(this.getPath(node), this.getLocation(node));\n\n const firstDef = head(def?.body);\n return firstDef?.file;\n }\n\n async definitionInfo(node: Node): Promise<protocol.DefinitionInfo | undefined> {\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n\n const def = await this.tsserver.getDefinition(filePath, location);\n\n const firstDef = head(def?.body);\n\n return firstDef;\n }\n\n /**\n * get a definition for a given node.\n */\n async definition(definition: protocol.DefinitionInfo): Promise<Node | undefined> {\n const startPosition = definition.start;\n const sourceFile = this.getSourceFileInsideComponent(definition.file);\n if (!sourceFile) {\n // it might be an external reference, cant get the node\n return undefined;\n }\n const pos = this.getPosition(sourceFile, startPosition.line, startPosition.offset);\n const nodeAtPos = getTokenAtPosition(sourceFile, pos);\n return nodeAtPos;\n }\n\n /**\n * visit a definition for node - e.g. return it's schema.\n */\n async visitDefinition(node: Node): Promise<SchemaNode | undefined> {\n const definitionInfo = await this.definitionInfo(node);\n if (!definitionInfo) {\n return undefined;\n }\n\n const definition = await this.definition(definitionInfo);\n if (!definition) {\n return this.getTypeRefForExternalNode(node);\n }\n\n return this.visit(definition.parent);\n }\n\n async visit(node: Node): Promise<SchemaNode> {\n if (node.kind === SyntaxKind.Identifier && node.parent.parent.kind !== SyntaxKind.SourceFile) {\n return this.visit(node.parent);\n }\n return this.extractor.computeSchema(node, this);\n }\n\n references() {}\n\n isExported() {}\n\n isFromComponent() {}\n\n async getFileIdentifiers(exportDec: ExportDeclaration | ExportAssignment) {\n const file = exportDec.getSourceFile().fileName;\n const specifierPathStr =\n (exportDec.kind === SyntaxKind.ExportDeclaration && exportDec.moduleSpecifier?.getText()) || '';\n const specifierPath = specifierPathStr.substring(1, specifierPathStr.length - 1);\n const absPath = resolve(file, '..', specifierPath);\n const sourceFile = this.getSourceFileInsideComponent(absPath);\n if (!sourceFile) return [];\n return this.getIdentifiers(sourceFile);\n }\n\n async getFileExports(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => ExportIdentifier.isExportIdentifier(identifier));\n }\n\n async getFileInternals(exportDec: ExportDeclaration | ExportAssignment) {\n const identifiers = await this.getFileIdentifiers(exportDec);\n return identifiers.filter((identifier) => !ExportIdentifier.isExportIdentifier(identifier));\n }\n\n getIdentifiers(node: Node) {\n return this.extractor.computeIdentifiers(node, this);\n }\n\n /**\n * tsserver has two different calls: \"definition\" and \"typeDefinition\".\n * normally, we need the \"typeDefinition\" to get the type data of a node.\n * sometimes, it has no data, for example when the node is of type TypeReference, and then using \"definition\" is\n * helpful. (couldn't find a rule when to use each one. e.g. \"VariableDeclaration\" sometimes has data only in\n * \"definition\" but it's not clear when/why).\n */\n async getDefinition(node: Node) {\n const typeDefinition = await this.typeDefinition(node);\n const headTypeDefinition = head(typeDefinition?.body);\n if (headTypeDefinition) {\n return headTypeDefinition;\n }\n\n const definition = await this.tsserver.getDefinition(node.getSourceFile().fileName, this.getLocation(node));\n const headDefinition = head(definition?.body);\n\n return headDefinition;\n }\n\n // when we can't figure out the component/package/type of this node, we'll use the typeStr as the type.\n private async unknownExactType(node: Node, location: Location, typeStr = 'any', isTypeStrFromQuickInfo = true) {\n if (isTypeStrFromQuickInfo) {\n return new InferenceTypeSchema(location, typeStr || 'any');\n }\n const info = await this.getQuickInfo(node);\n const type = parseTypeFromQuickInfo(info);\n return new InferenceTypeSchema(location, type, typeStr);\n }\n\n // the reason for this check is to avoid infinite loop when calling `this.jump` with the same file+location\n private isDefInSameLocation(node: Node, definition: protocol.FileSpanWithContext) {\n if (definition.file !== node.getSourceFile().fileName) {\n return false;\n }\n const loc = this.getLocation(node);\n\n return loc.line === definition.start.line && loc.character === definition.start.offset;\n }\n\n /**\n * resolve a type by a node and its identifier.\n */\n async resolveType(\n node: Node & { type?: TypeNode },\n typeStr: string,\n isTypeStrFromQuickInfo = true\n ): Promise<SchemaNode> {\n const location = this.getLocation(node);\n\n // check if internal ref with typeInfo\n const internalRef = await this.getTypeRef(typeStr, this.getIdentifierKeyForNode(node), location);\n\n if (internalRef) return internalRef;\n\n // if a node has \"type\" prop, it has the type data of the node. this normally happens when the code has the type\n // explicitly, e.g. `const str: string` vs implicitly `const str = 'some-string'`, which the node won't have \"type\"\n if (node.type && ts.isTypeNode(node.type)) {\n return this.computeSchema(node.type);\n }\n\n const definition = await this.getDefinition(node);\n\n if (!definition) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n if (this.isDefInSameLocation(node, definition)) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNode = await this.definition(definition);\n\n if (!definitionNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const definitionNodeName = definitionNode?.getText();\n\n // check if internal ref with definition info\n const definitionInternalRef = await this.getTypeRef(\n definitionNodeName,\n this.getIdentifierKeyForNode(definitionNode),\n location\n );\n\n if (definitionInternalRef) return definitionInternalRef;\n\n const transformer = this.extractor.getTransformer(definitionNode, this);\n\n if (transformer === undefined) {\n const file = this.findFileInComponent(definition.file);\n if (!file) return this.getTypeRefForExternalPath(typeStr, definition.file, location);\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const schemaNode = await this.visit(definitionNode);\n\n if (!schemaNode) {\n return this.unknownExactType(node, location, typeStr, isTypeStrFromQuickInfo);\n }\n\n const apiTransformer = this.extractor.getAPITransformer(schemaNode);\n let transformedApi = apiTransformer ? await apiTransformer.transform(schemaNode, this) : schemaNode;\n if (!transformedApi) {\n transformedApi = new IgnoredSchema(schemaNode);\n }\n return transformedApi;\n }\n\n private getCompIdByPkgName(pkgName: string): ComponentID | undefined {\n return this.componentDeps.find((dep) => dep.packageName === pkgName)?.componentId;\n }\n\n async getTypeRef(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema | undefined> {\n const nodeIdentifierKey = this.getIdentifierKey(filePath);\n const mainFileIdentifierKey = this.mainFileIdentifierKey;\n\n const nodeIdentifierList = this.identifiers.get(nodeIdentifierKey);\n const mainIdentifierList = this.identifiers.get(mainFileIdentifierKey);\n\n const nodeIdentifier = new Identifier(typeStr, nodeIdentifierKey);\n const mainIdentifier = new Identifier(typeStr, mainFileIdentifierKey);\n\n const parsedNodeIdentifier = nodeIdentifierList?.find(nodeIdentifier);\n const parsedMainIdentifier = mainIdentifierList?.find(mainIdentifier);\n const isExportedFromMain = parsedMainIdentifier && ExportIdentifier.isExportIdentifier(parsedMainIdentifier);\n\n if (!parsedNodeIdentifier) return undefined;\n\n const internalRef = !isExportedFromMain;\n\n if (internalRef) {\n this.setInternalIdentifiers(filePath, new IdentifierList([parsedNodeIdentifier]));\n }\n\n return this.resolveTypeRef(parsedNodeIdentifier, location, isExportedFromMain);\n }\n\n async resolveTypeRef(\n identifier: Identifier,\n location: Location,\n isExportedFromMain?: boolean\n ): Promise<TypeRefSchema> {\n const sourceFilePath = identifier.sourceFilePath;\n\n if (!sourceFilePath || (isExportedFromMain && isRelativeImport(sourceFilePath))) {\n return new TypeRefSchema(\n location,\n identifier.id,\n undefined,\n undefined,\n !isExportedFromMain ? this.getPathRelativeToComponent(identifier.filePath) : undefined\n );\n }\n\n if (!isRelativeImport(sourceFilePath)) {\n const pkgName = this.parsePackageNameFromPath(sourceFilePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n\n const compIdByPath = await this.extractor.getComponentIDByPath(sourceFilePath);\n\n if (compIdByPath) {\n return new TypeRefSchema(location, identifier.id, compIdByPath);\n }\n\n if (compIdByPkg) {\n return new TypeRefSchema(location, identifier.id, compIdByPkg);\n }\n\n // package without comp id\n return new TypeRefSchema(location, identifier.id, undefined, pkgName);\n }\n\n const relativeDir = identifier.filePath.substring(0, identifier.filePath.lastIndexOf('/'));\n const absFilePath = resolve(this.componentRootPath, relativeDir, sourceFilePath);\n\n const compFilePath = this.findFileInComponent(absFilePath);\n if (!compFilePath) {\n // @todo handle this better\n throw new Error(\n `cannot find file in component \\n source file path ${sourceFilePath}\\n \n identifier file path ${identifier.filePath}\\nrelative dir ${relativeDir}\\n\n absFilePath ${absFilePath}`\n );\n return new TypeRefSchema(location, identifier.id);\n }\n\n const idKey = this.getIdentifierKey(compFilePath?.path);\n\n // if re exported from a file, recurse until definition\n const exportedIdentifier = (this.identifiers.get(idKey)?.identifiers || []).find((i) => i.id === identifier.id);\n\n if (exportedIdentifier) {\n return this.resolveTypeRef(exportedIdentifier, location, isExportedFromMain);\n }\n\n return new TypeRefSchema(location, identifier.id);\n }\n\n async getTypeRefForExternalNode(node: Node): Promise<TypeRefSchema> {\n const info = await this.getQuickInfo(node);\n const typeStr = parseTypeFromQuickInfo(info);\n const location = this.getLocation(node);\n const filePath = this.getPath(node);\n return this.getTypeRefForExternalPath(typeStr, filePath, location);\n }\n\n async getTypeRefForExternalPath(typeStr: string, filePath: string, location: Location): Promise<TypeRefSchema> {\n const compIdByPath = await this.extractor.getComponentIDByPath(filePath);\n if (compIdByPath) {\n return new TypeRefSchema(location, typeStr, compIdByPath);\n }\n const pkgName = this.parsePackageNameFromPath(filePath);\n const compIdByPkg = this.getCompIdByPkgName(pkgName);\n if (compIdByPkg) {\n return new TypeRefSchema(location, typeStr, compIdByPkg);\n }\n return new TypeRefSchema(location, typeStr, undefined, pkgName);\n }\n\n async jsDocToDocSchema(node: Node): Promise<DocSchema | undefined> {\n if (!canHaveJsDoc(node)) {\n return undefined;\n }\n const jsDocs = getJsDoc(node);\n if (!jsDocs.length) {\n return undefined;\n }\n // not sure how common it is to have multiple JSDocs. never seen it before.\n // regardless, in typescript implementation of methods like `getJSDocDeprecatedTag()`, they use the first one. (`getFirstJSDocTag()`)\n const jsDoc = jsDocs[0];\n const location = this.getLocation(jsDoc);\n const comment = getTextOfJSDocComment(jsDoc.comment);\n const tags = jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, this, this.formatter)) : undefined;\n return new DocSchema(location, jsDoc.getText(), comment, tags);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["schema-transformer.ts"],"sourcesContent":["import { Node } from 'typescript';\nimport { SchemaNode } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaExtractorContext } from './schema-extractor-context';\nimport { Identifier } from './identifier';\n\nexport type SchemaTransformer = {\n /**\n * determine whether to apply schema on given node.\n */\n predicate(node: Node): boolean;\n\n getIdentifiers(node: Node, context: SchemaExtractorContext): Promise<Identifier[]>;\n /**\n * transform the node into JSONSchema.\n */\n transform(node: Node, context: SchemaExtractorContext): Promise<SchemaNode>;\n};\n\nexport type SchemaNodeTransformer = {\n predicate(node: SchemaNode): boolean;\n transform(node: SchemaNode, context: SchemaExtractorContext): Promise<SchemaNode | null>;\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["schema-transformer.ts"],"sourcesContent":["import { Node } from 'typescript';\nimport { SchemaNode } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaExtractorContext } from './schema-extractor-context';\nimport { Identifier } from './identifier';\n\nexport type SchemaTransformer = {\n /**\n * determine whether to apply schema on given node.\n */\n predicate(node: Node): boolean;\n\n getIdentifiers(node: Node, context: SchemaExtractorContext): Promise<Identifier[]>;\n /**\n * transform the node into JSONSchema.\n */\n transform(node: Node, context: SchemaExtractorContext): Promise<SchemaNode>;\n};\n\nexport type SchemaNodeTransformer = {\n predicate(node: SchemaNode): boolean;\n transform(node: SchemaNode, context: SchemaExtractorContext): Promise<SchemaNode | null>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SchemaTransformerPlugin","constructor","schemaTransformerSlot","_defineProperty","register","object","exports"],"sources":["schema-transformer.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { SchemaTransformerSlot } from './typescript.main.runtime';\n\nexport class SchemaTransformerPlugin implements PluginDefinition {\n constructor(private schemaTransformerSlot: SchemaTransformerSlot) {}\n\n pattern = '*.schema-extractor.*';\n\n runtimes = ['main'];\n\n register(object: any) {\n return this.schemaTransformerSlot.register([object]);\n }\n}\n"],"mappings":";;;;;;;;;AAGO,MAAMA,uBAAuB,CAA6B;EAC/DC,WAAWA,CAASC,qBAA4C,EAAE;IAAA,KAA9CA,qBAA4C,GAA5CA,qBAA4C;IAAAC,eAAA,kBAEtD,sBAAsB;IAAAA,eAAA,mBAErB,CAAC,MAAM,CAAC;EAJgD;EAMnEC,QAAQA,CAACC,MAAW,EAAE;IACpB,OAAO,IAAI,CAACH,qBAAqB,CAACE,QAAQ,CAAC,CAACC,MAAM,CAAC,CAAC;EACtD;AACF;AAACC,OAAA,CAAAN,uBAAA,GAAAA,uBAAA"}
|
|
1
|
+
{"version":3,"names":["SchemaTransformerPlugin","constructor","schemaTransformerSlot","_defineProperty","register","object","exports"],"sources":["schema-transformer.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { SchemaTransformerSlot } from './typescript.main.runtime';\n\nexport class SchemaTransformerPlugin implements PluginDefinition {\n constructor(private schemaTransformerSlot: SchemaTransformerSlot) {}\n\n pattern = '*.schema-extractor.*';\n\n runtimes = ['main'];\n\n register(object: any) {\n return this.schemaTransformerSlot.register([object]);\n }\n}\n"],"mappings":";;;;;;;;;AAGO,MAAMA,uBAAuB,CAA6B;EAC/DC,WAAWA,CAASC,qBAA4C,EAAE;IAAA,KAA9CA,qBAA4C,GAA5CA,qBAA4C;IAAAC,eAAA,kBAEtD,sBAAsB;IAAAA,eAAA,mBAErB,CAAC,MAAM,CAAC;EAJgD;EAMnEC,QAAQA,CAACC,MAAW,EAAE;IACpB,OAAO,IAAI,CAACH,qBAAqB,CAACE,QAAQ,CAAC,CAACC,MAAM,CAAC,CAAC;EACtD;AACF;AAACC,OAAA,CAAAN,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","obj","__esModule","default","classNamesTransformer","nameMapping","context","factory","visit","node","ts","isClassDeclaration","name","oldName","text","newName","replaceName","updatedMembers","members","map","member","isPropertyDeclaration","oldMemberName","getText","newMemberName","updatePropertyDeclaration","modifiers","createIdentifier","questionToken","type","initializer","isMethodDeclaration","updatedParameters","parameters","param","updateParameterDeclaration","dotDotDotToken","updateMethodDeclaration","asteriskToken","typeParameters","body","updateClassDeclaration","heritageClauses","visitEachChild","visitNode"],"sources":["class.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function classNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context: ts.TransformationContext) => {\n const { factory } = context;\n\n const visit: ts.Visitor = (node) => {\n if (ts.isClassDeclaration(node) && node.name) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n\n if (newName) {\n const updatedMembers = node.members.map((member) => {\n if (ts.isPropertyDeclaration(member)) {\n const oldMemberName = member.name.getText();\n const newMemberName = replaceName(oldMemberName, nameMapping);\n return factory.updatePropertyDeclaration(\n member,\n member.modifiers,\n newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,\n member.questionToken,\n member.type,\n member.initializer\n );\n }\n\n if (ts.isMethodDeclaration(member)) {\n const oldMemberName = member.name.getText();\n const newMemberName = replaceName(oldMemberName, nameMapping);\n\n const updatedParameters = member.parameters.map((param) => {\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n param.name,\n param.questionToken,\n param.type,\n param.initializer\n );\n });\n\n return factory.updateMethodDeclaration(\n member,\n member.modifiers,\n member.asteriskToken,\n newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,\n member.questionToken,\n member.typeParameters,\n updatedParameters,\n member.type,\n member.body\n );\n }\n return member;\n });\n\n return factory.updateClassDeclaration(\n node,\n node.modifiers,\n factory.createIdentifier(newName),\n node.typeParameters,\n node.heritageClauses,\n updatedMembers\n );\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","obj","__esModule","default","classNamesTransformer","nameMapping","context","factory","visit","node","ts","isClassDeclaration","name","oldName","text","newName","replaceName","updatedMembers","members","map","member","isPropertyDeclaration","oldMemberName","getText","newMemberName","updatePropertyDeclaration","modifiers","createIdentifier","questionToken","type","initializer","isMethodDeclaration","updatedParameters","parameters","param","updateParameterDeclaration","dotDotDotToken","updateMethodDeclaration","asteriskToken","typeParameters","body","updateClassDeclaration","heritageClauses","visitEachChild","visitNode"],"sources":["class.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function classNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context: ts.TransformationContext) => {\n const { factory } = context;\n\n const visit: ts.Visitor = (node) => {\n if (ts.isClassDeclaration(node) && node.name) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n\n if (newName) {\n const updatedMembers = node.members.map((member) => {\n if (ts.isPropertyDeclaration(member)) {\n const oldMemberName = member.name.getText();\n const newMemberName = replaceName(oldMemberName, nameMapping);\n return factory.updatePropertyDeclaration(\n member,\n member.modifiers,\n newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,\n member.questionToken,\n member.type,\n member.initializer\n );\n }\n\n if (ts.isMethodDeclaration(member)) {\n const oldMemberName = member.name.getText();\n const newMemberName = replaceName(oldMemberName, nameMapping);\n\n const updatedParameters = member.parameters.map((param) => {\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n param.name,\n param.questionToken,\n param.type,\n param.initializer\n );\n });\n\n return factory.updateMethodDeclaration(\n member,\n member.modifiers,\n member.asteriskToken,\n newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,\n member.questionToken,\n member.typeParameters,\n updatedParameters,\n member.type,\n member.body\n );\n }\n return member;\n });\n\n return factory.updateClassDeclaration(\n node,\n node.modifiers,\n factory.createIdentifier(newName),\n node.typeParameters,\n node.heritageClauses,\n updatedMembers\n );\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EmptyLineEncoder","constructor","emptyLineMarker","newLine","defaultEmptyLineMarker","defaultNewLine","encode","text","encodeEmptyLines","decode","decodeEmptyLines","addLeadingEmptyLineMarker","node","exports","marker","toComment","lines","split","commentedLines","map","line","trim","join","uncommentedLines","ts","addSyntheticLeadingComment","SyntaxKind","MultiLineCommentTrivia"],"sources":["empty-line-encoder.ts"],"sourcesContent":["import ts from 'typescript';\n\nexport class EmptyLineEncoder {\n static readonly defaultEmptyLineMarker: string = '!--empty-line--!';\n static readonly defaultNewLine: string = '\\r\\n';\n constructor(emptyLineMarker?: string, newLine?: string) {\n this.emptyLineMarker = emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker;\n this.newLine = newLine || EmptyLineEncoder.defaultNewLine;\n }\n emptyLineMarker: string;\n newLine: string;\n\n encode(text: string) {\n return encodeEmptyLines(text, this.emptyLineMarker, this.newLine);\n }\n decode(text: string) {\n return decodeEmptyLines(text, this.emptyLineMarker, this.newLine);\n }\n addLeadingEmptyLineMarker<T extends ts.Node>(node: T) {\n return addLeadingEmptyLineMarker(node, this.emptyLineMarker);\n }\n}\n\nexport function encodeEmptyLines(text: string, emptyLineMarker?: string, newLine?: string) {\n const marker = toComment(emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker);\n\n const lines = text.split(/\\r?\\n/);\n\n const commentedLines = lines.map((line) => (line.trim() === '' ? marker : line));\n\n return commentedLines.join(newLine || EmptyLineEncoder.defaultNewLine);\n}\n\nexport function decodeEmptyLines(text: string, emptyLineMarker?: string, newLine?: string) {\n const marker = toComment(emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker);\n\n const lines = text.split(/\\r?\\n/);\n\n const uncommentedLines = lines.map((line) => (line.trim() === marker ? '' : line));\n\n return uncommentedLines.join(newLine || EmptyLineEncoder.defaultNewLine);\n}\n\nexport function addLeadingEmptyLineMarker<T extends ts.Node>(node: T, emptyLineMarker?: string) {\n return ts.addSyntheticLeadingComment(\n node,\n ts.SyntaxKind.MultiLineCommentTrivia,\n emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker,\n // hasTrailingNewLine\n true\n );\n}\n\nfunction toComment(marker: string) {\n return `/*${marker}*/`;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EmptyLineEncoder","constructor","emptyLineMarker","newLine","defaultEmptyLineMarker","defaultNewLine","encode","text","encodeEmptyLines","decode","decodeEmptyLines","addLeadingEmptyLineMarker","node","exports","marker","toComment","lines","split","commentedLines","map","line","trim","join","uncommentedLines","ts","addSyntheticLeadingComment","SyntaxKind","MultiLineCommentTrivia"],"sources":["empty-line-encoder.ts"],"sourcesContent":["import ts from 'typescript';\n\nexport class EmptyLineEncoder {\n static readonly defaultEmptyLineMarker: string = '!--empty-line--!';\n static readonly defaultNewLine: string = '\\r\\n';\n constructor(emptyLineMarker?: string, newLine?: string) {\n this.emptyLineMarker = emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker;\n this.newLine = newLine || EmptyLineEncoder.defaultNewLine;\n }\n emptyLineMarker: string;\n newLine: string;\n\n encode(text: string) {\n return encodeEmptyLines(text, this.emptyLineMarker, this.newLine);\n }\n decode(text: string) {\n return decodeEmptyLines(text, this.emptyLineMarker, this.newLine);\n }\n addLeadingEmptyLineMarker<T extends ts.Node>(node: T) {\n return addLeadingEmptyLineMarker(node, this.emptyLineMarker);\n }\n}\n\nexport function encodeEmptyLines(text: string, emptyLineMarker?: string, newLine?: string) {\n const marker = toComment(emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker);\n\n const lines = text.split(/\\r?\\n/);\n\n const commentedLines = lines.map((line) => (line.trim() === '' ? marker : line));\n\n return commentedLines.join(newLine || EmptyLineEncoder.defaultNewLine);\n}\n\nexport function decodeEmptyLines(text: string, emptyLineMarker?: string, newLine?: string) {\n const marker = toComment(emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker);\n\n const lines = text.split(/\\r?\\n/);\n\n const uncommentedLines = lines.map((line) => (line.trim() === marker ? '' : line));\n\n return uncommentedLines.join(newLine || EmptyLineEncoder.defaultNewLine);\n}\n\nexport function addLeadingEmptyLineMarker<T extends ts.Node>(node: T, emptyLineMarker?: string) {\n return ts.addSyntheticLeadingComment(\n node,\n ts.SyntaxKind.MultiLineCommentTrivia,\n emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker,\n // hasTrailingNewLine\n true\n );\n}\n\nfunction toComment(marker: string) {\n return `/*${marker}*/`;\n}\n"],"mappings":";;;;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAErB,MAAMW,gBAAgB,CAAC;EAG5BC,WAAWA,CAACC,eAAwB,EAAEC,OAAgB,EAAE;IAAAvB,eAAA;IAAAA,eAAA;IACtD,IAAI,CAACsB,eAAe,GAAGA,eAAe,IAAIF,gBAAgB,CAACI,sBAAsB;IACjF,IAAI,CAACD,OAAO,GAAGA,OAAO,IAAIH,gBAAgB,CAACK,cAAc;EAC3D;EAIAC,MAAMA,CAACC,IAAY,EAAE;IACnB,OAAOC,gBAAgB,CAACD,IAAI,EAAE,IAAI,CAACL,eAAe,EAAE,IAAI,CAACC,OAAO,CAAC;EACnE;EACAM,MAAMA,CAACF,IAAY,EAAE;IACnB,OAAOG,gBAAgB,CAACH,IAAI,EAAE,IAAI,CAACL,eAAe,EAAE,IAAI,CAACC,OAAO,CAAC;EACnE;EACAQ,yBAAyBA,CAAoBC,IAAO,EAAE;IACpD,OAAOD,yBAAyB,CAACC,IAAI,EAAE,IAAI,CAACV,eAAe,CAAC;EAC9D;AACF;AAACW,OAAA,CAAAb,gBAAA,GAAAA,gBAAA;AAAApB,eAAA,CAnBYoB,gBAAgB,4BACsB,kBAAkB;AAAApB,eAAA,CADxDoB,gBAAgB,oBAEc,MAAM;AAmB1C,SAASQ,gBAAgBA,CAACD,IAAY,EAAEL,eAAwB,EAAEC,OAAgB,EAAE;EACzF,MAAMW,MAAM,GAAGC,SAAS,CAACb,eAAe,IAAIF,gBAAgB,CAACI,sBAAsB,CAAC;EAEpF,MAAMY,KAAK,GAAGT,IAAI,CAACU,KAAK,CAAC,OAAO,CAAC;EAEjC,MAAMC,cAAc,GAAGF,KAAK,CAACG,GAAG,CAAEC,IAAI,IAAMA,IAAI,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAGP,MAAM,GAAGM,IAAK,CAAC;EAEhF,OAAOF,cAAc,CAACI,IAAI,CAACnB,OAAO,IAAIH,gBAAgB,CAACK,cAAc,CAAC;AACxE;AAEO,SAASK,gBAAgBA,CAACH,IAAY,EAAEL,eAAwB,EAAEC,OAAgB,EAAE;EACzF,MAAMW,MAAM,GAAGC,SAAS,CAACb,eAAe,IAAIF,gBAAgB,CAACI,sBAAsB,CAAC;EAEpF,MAAMY,KAAK,GAAGT,IAAI,CAACU,KAAK,CAAC,OAAO,CAAC;EAEjC,MAAMM,gBAAgB,GAAGP,KAAK,CAACG,GAAG,CAAEC,IAAI,IAAMA,IAAI,CAACC,IAAI,CAAC,CAAC,KAAKP,MAAM,GAAG,EAAE,GAAGM,IAAK,CAAC;EAElF,OAAOG,gBAAgB,CAACD,IAAI,CAACnB,OAAO,IAAIH,gBAAgB,CAACK,cAAc,CAAC;AAC1E;AAEO,SAASM,yBAAyBA,CAAoBC,IAAO,EAAEV,eAAwB,EAAE;EAC9F,OAAOsB,qBAAE,CAACC,0BAA0B,CAClCb,IAAI,EACJY,qBAAE,CAACE,UAAU,CAACC,sBAAsB,EACpCzB,eAAe,IAAIF,gBAAgB,CAACI,sBAAsB;EAC1D;EACA,IACF,CAAC;AACH;AAEA,SAASW,SAASA,CAACD,MAAc,EAAE;EACjC,OAAQ,KAAIA,MAAO,IAAG;AACxB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","exportTransformer","mapping","context","visit","node","ts","isExportDeclaration","moduleSpecifier","getText","slice","oldName","newName","Object","entries","includes","replace","updatedExportClause","exportClause","isNamedExports","transformedElements","elements","map","element","newElementName","name","text","startsWith","endsWith","factory","updateExportSpecifier","propertyName","createIdentifier","updateNamedExports","updateExportDeclaration","modifiers","isTypeOnly","createStringLiteral","undefined","isExportAssignment","expression","isIdentifier","updateExportAssignment","visitEachChild","visitNode","exports"],"sources":["export.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from '.';\n\nexport const exportTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {\n return (context) => {\n const visit: ts.Visitor = (node) => {\n if (ts.isExportDeclaration(node)) {\n let moduleSpecifier = node.moduleSpecifier?.getText().slice(1, -1);\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (moduleSpecifier && moduleSpecifier.includes(oldName)) {\n moduleSpecifier = moduleSpecifier.replace(oldName, newName);\n }\n }\n let updatedExportClause;\n\n if (node.exportClause && ts.isNamedExports(node.exportClause)) {\n const transformedElements = node.exportClause.elements.map((element) => {\n let newElementName = element.name.text;\n\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (newElementName.startsWith(oldName) || newElementName.endsWith(oldName)) {\n newElementName = newElementName.replace(oldName, newName);\n }\n }\n\n return ts.factory.updateExportSpecifier(\n element,\n false,\n element.propertyName,\n ts.factory.createIdentifier(newElementName)\n );\n });\n\n updatedExportClause = ts.factory.updateNamedExports(node.exportClause, transformedElements);\n }\n\n return ts.factory.updateExportDeclaration(\n node,\n node.modifiers,\n node.isTypeOnly,\n updatedExportClause,\n node.moduleSpecifier ? ts.factory.createStringLiteral(moduleSpecifier || '') : undefined,\n undefined\n );\n }\n\n if (ts.isExportAssignment(node)) {\n let expression = node.expression;\n\n if (ts.isIdentifier(expression)) {\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (expression.getText().startsWith(oldName) || expression.getText().endsWith(oldName)) {\n expression = ts.factory.createIdentifier(expression.getText().replace(oldName, newName));\n }\n }\n }\n\n return ts.factory.updateExportAssignment(node, node.modifiers, expression);\n }\n\n return ts.visitEachChild(node, visit, context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","exportTransformer","mapping","context","visit","node","ts","isExportDeclaration","moduleSpecifier","getText","slice","oldName","newName","Object","entries","includes","replace","updatedExportClause","exportClause","isNamedExports","transformedElements","elements","map","element","newElementName","name","text","startsWith","endsWith","factory","updateExportSpecifier","propertyName","createIdentifier","updateNamedExports","updateExportDeclaration","modifiers","isTypeOnly","createStringLiteral","undefined","isExportAssignment","expression","isIdentifier","updateExportAssignment","visitEachChild","visitNode","exports"],"sources":["export.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from '.';\n\nexport const exportTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {\n return (context) => {\n const visit: ts.Visitor = (node) => {\n if (ts.isExportDeclaration(node)) {\n let moduleSpecifier = node.moduleSpecifier?.getText().slice(1, -1);\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (moduleSpecifier && moduleSpecifier.includes(oldName)) {\n moduleSpecifier = moduleSpecifier.replace(oldName, newName);\n }\n }\n let updatedExportClause;\n\n if (node.exportClause && ts.isNamedExports(node.exportClause)) {\n const transformedElements = node.exportClause.elements.map((element) => {\n let newElementName = element.name.text;\n\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (newElementName.startsWith(oldName) || newElementName.endsWith(oldName)) {\n newElementName = newElementName.replace(oldName, newName);\n }\n }\n\n return ts.factory.updateExportSpecifier(\n element,\n false,\n element.propertyName,\n ts.factory.createIdentifier(newElementName)\n );\n });\n\n updatedExportClause = ts.factory.updateNamedExports(node.exportClause, transformedElements);\n }\n\n return ts.factory.updateExportDeclaration(\n node,\n node.modifiers,\n node.isTypeOnly,\n updatedExportClause,\n node.moduleSpecifier ? ts.factory.createStringLiteral(moduleSpecifier || '') : undefined,\n undefined\n );\n }\n\n if (ts.isExportAssignment(node)) {\n let expression = node.expression;\n\n if (ts.isIdentifier(expression)) {\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (expression.getText().startsWith(oldName) || expression.getText().endsWith(oldName)) {\n expression = ts.factory.createIdentifier(expression.getText().replace(oldName, newName));\n }\n }\n }\n\n return ts.factory.updateExportAssignment(node, node.modifiers, expression);\n }\n\n return ts.visitEachChild(node, visit, context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n};\n"],"mappings":"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","ignoreList":[]}
|