@teambit/typescript 0.0.1022 → 0.0.1023

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.1022/dist/typescript.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.1022/dist/typescript.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.1023/dist/typescript.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.1023/dist/typescript.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,11 +1,13 @@
1
1
  import { ExecutionContext } from '@teambit/envs';
2
2
  import type { ConfigWriterEntry, WrittenConfigFile, ExtendingConfigFile, ConfigFile, EnvMapValue, PostProcessExtendingConfigFilesArgs } from '@teambit/workspace-config-files';
3
3
  import { CompilerMain } from '@teambit/compiler';
4
+ import { Logger } from '@teambit/logger';
4
5
  export declare class TypescriptConfigWriter implements ConfigWriterEntry {
5
6
  private compiler;
7
+ private logger;
6
8
  name: string;
7
9
  cliName: string;
8
- constructor(compiler: CompilerMain);
10
+ constructor(compiler: CompilerMain, logger: Logger);
9
11
  patterns: string[];
10
12
  calcConfigFiles(executionContext: ExecutionContext): ConfigFile[] | undefined;
11
13
  private getGlobalTypesConfigFiles;
@@ -55,8 +55,9 @@ const CONFIG_NAME = 'tsconfig.json';
55
55
  const BIT_GENERATED_TS_CONFIG_COMMENT = '// bit-generated-typescript-config';
56
56
  const GLOBAL_TYPES_DIR = 'global-types';
57
57
  class TypescriptConfigWriter {
58
- constructor(compiler) {
58
+ constructor(compiler, logger) {
59
59
  this.compiler = compiler;
60
+ this.logger = logger;
60
61
  (0, _defineProperty2().default)(this, "name", 'TypescriptConfigWriter');
61
62
  (0, _defineProperty2().default)(this, "cliName", 'ts');
62
63
  (0, _defineProperty2().default)(this, "patterns", [`**/${CONFIG_NAME}`]);
@@ -96,6 +97,11 @@ class TypescriptConfigWriter {
96
97
  const tsConfigFile = writtenConfigFiles.find(file => file.name.includes('tsconfig.bit'));
97
98
  if (!tsConfigFile) return Promise.resolve();
98
99
  const tsConfigPath = tsConfigFile.filePath;
100
+ const exists = await _fsExtra().default.pathExists(tsConfigPath);
101
+ if (!exists) {
102
+ this.logger.warn(`TypescriptConfigWriter, tsconfig file ${tsConfigPath} was not found for post process. if it is part of --dry-run, it is ok.`);
103
+ return Promise.resolve();
104
+ }
99
105
  const tsConfig = await _fsExtra().default.readJson(tsConfigPath);
100
106
  const compDirs = envMapValue.paths;
101
107
  const newTsConfig = (0, _expandIncludeExclude().expandIncludeExclude)(tsConfigPath, tsConfig, compDirs);
@@ -118,6 +124,7 @@ class TypescriptConfigWriter {
118
124
  };
119
125
  }
120
126
  async postProcessExtendingConfigFiles(args) {
127
+ if (!args.configsRootDir || args.dryRun) return;
121
128
  const {
122
129
  workspaceDir,
123
130
  configsRootDir
@@ -1 +1 @@
1
- {"version":3,"names":["CONFIG_NAME","BIT_GENERATED_TS_CONFIG_COMMENT","GLOBAL_TYPES_DIR","TypescriptConfigWriter","constructor","compiler","calcConfigFiles","executionContext","getCompiler","undefined","id","toLowerCase","includes","config","generateIdeConfig","tsconfig","tsConfigContent","JSON","stringify","tsConfigHash","sha1","tsConfigName","typescriptConfigFile","content","hash","name","globalTypesConfigFiles","getGlobalTypesConfigFiles","files","globalTypesPaths","map","path","fs","readFileSync","toString","origName","basename","nameWithHash","replace","postProcessConfigFiles","writtenConfigFiles","envMapValue","tsConfigFile","find","file","Promise","resolve","tsConfigPath","filePath","tsConfig","readJson","compDirs","paths","newTsConfig","expandIncludeExclude","outputJSONSync","spaces","generateExtendingFile","tsconfigFile","extends","extendingTarget","postProcessExtendingConfigFiles","args","workspaceDir","configsRootDir","rootTsConfigPath","join","exists","pathExists","readFile","parse","typeRoots","push","assign","outputFile","isBitGenerated"],"sources":["ts-config-writer.ts"],"sourcesContent":["import { stringify, parse, assign } from 'comment-json';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport fs from 'fs-extra';\nimport { ExecutionContext } from '@teambit/envs';\nimport { basename, join } from 'path';\nimport type {\n ConfigWriterEntry,\n WrittenConfigFile,\n ExtendingConfigFile,\n ConfigFile,\n EnvMapValue,\n PostProcessExtendingConfigFilesArgs,\n} from '@teambit/workspace-config-files';\nimport { CompilerMain } from '@teambit/compiler';\nimport { IdeConfig, TypescriptCompilerInterface } from './typescript-compiler-interface';\nimport { expandIncludeExclude } from './expand-include-exclude';\n\nconst CONFIG_NAME = 'tsconfig.json';\nconst BIT_GENERATED_TS_CONFIG_COMMENT = '// bit-generated-typescript-config';\nconst GLOBAL_TYPES_DIR = 'global-types';\n\nexport class TypescriptConfigWriter implements ConfigWriterEntry {\n name = 'TypescriptConfigWriter';\n cliName = 'ts';\n\n constructor(private compiler: CompilerMain) {}\n patterns: string[] = [`**/${CONFIG_NAME}`];\n\n calcConfigFiles(executionContext: ExecutionContext): ConfigFile[] | undefined {\n const compiler = this.compiler.getCompiler(executionContext) as TypescriptCompilerInterface;\n if (!compiler) return undefined;\n if (!compiler.id.toLowerCase().includes('typescript')) return undefined;\n const config = compiler.generateIdeConfig?.();\n if (!config || !config.tsconfig) return undefined;\n const tsConfigContent = JSON.stringify(config.tsconfig, null, 2);\n const tsConfigHash = sha1(tsConfigContent);\n const tsConfigName = `tsconfig.bit.${tsConfigHash}.json`;\n const typescriptConfigFile = {\n content: tsConfigContent,\n hash: tsConfigHash,\n name: tsConfigName,\n };\n const globalTypesConfigFiles = this.getGlobalTypesConfigFiles(config);\n return [typescriptConfigFile, ...globalTypesConfigFiles];\n }\n\n private getGlobalTypesConfigFiles(config: IdeConfig) {\n const files = config.globalTypesPaths.map((path) => {\n const content = fs.readFileSync(path).toString();\n const origName = basename(path);\n const nameWithHash = origName.replace(/\\.d\\.ts$/, '.{hash}.d.ts');\n const name = `${GLOBAL_TYPES_DIR}/${nameWithHash}`;\n return {\n content,\n name\n }\n });\n return files;\n }\n\n async postProcessConfigFiles(\n writtenConfigFiles: WrittenConfigFile[],\n executionContext: ExecutionContext,\n envMapValue: EnvMapValue\n ): Promise<void> {\n const tsConfigFile = writtenConfigFiles.find((file) => file.name.includes('tsconfig.bit'));\n if (!tsConfigFile) return Promise.resolve();\n const tsConfigPath = tsConfigFile.filePath;\n const tsConfig = await fs.readJson(tsConfigPath);\n const compDirs: string[] = envMapValue.paths;\n\n const newTsConfig = expandIncludeExclude(tsConfigPath, tsConfig, compDirs);\n\n fs.outputJSONSync(tsConfigPath, newTsConfig, { spaces: 2 });\n return Promise.resolve();\n }\n\n generateExtendingFile(writtenConfigFiles: WrittenConfigFile[]): ExtendingConfigFile | undefined {\n const tsconfigFile = writtenConfigFiles.find((file) => file.name.includes('tsconfig.bit'));\n if (!tsconfigFile) return undefined;\n const config = {\n extends: tsconfigFile.filePath,\n };\n const content = `${BIT_GENERATED_TS_CONFIG_COMMENT}\\n\\n${JSON.stringify(config, null, 2)}`;\n return { content, name: 'tsconfig.json', extendingTarget: tsconfigFile.filePath };\n }\n\n async postProcessExtendingConfigFiles?(args: PostProcessExtendingConfigFilesArgs): Promise<void> {\n const { workspaceDir, configsRootDir } = args;\n const rootTsConfigPath = join(workspaceDir, 'tsconfig.json');\n const exists = await fs.pathExists(rootTsConfigPath);\n let tsConfig = {};\n if (exists) {\n const content = (await fs.readFile(rootTsConfigPath)).toString();\n tsConfig = parse(content);\n }\n // @ts-ignore\n const typeRoots = tsConfig.typeRoots || [];\n typeRoots.push(join(configsRootDir, GLOBAL_TYPES_DIR));\n assign(tsConfig, { typeRoots });\n await fs.outputFile(rootTsConfigPath, stringify(tsConfig, null, 2));\n }\n\n isBitGenerated(filePath: string): boolean {\n const content = fs.readFileSync(filePath).toString();\n return content.includes(BIT_GENERATED_TS_CONFIG_COMMENT);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["CONFIG_NAME","BIT_GENERATED_TS_CONFIG_COMMENT","GLOBAL_TYPES_DIR","TypescriptConfigWriter","constructor","compiler","logger","calcConfigFiles","executionContext","getCompiler","undefined","id","toLowerCase","includes","config","generateIdeConfig","tsconfig","tsConfigContent","JSON","stringify","tsConfigHash","sha1","tsConfigName","typescriptConfigFile","content","hash","name","globalTypesConfigFiles","getGlobalTypesConfigFiles","files","globalTypesPaths","map","path","fs","readFileSync","toString","origName","basename","nameWithHash","replace","postProcessConfigFiles","writtenConfigFiles","envMapValue","tsConfigFile","find","file","Promise","resolve","tsConfigPath","filePath","exists","pathExists","warn","tsConfig","readJson","compDirs","paths","newTsConfig","expandIncludeExclude","outputJSONSync","spaces","generateExtendingFile","tsconfigFile","extends","extendingTarget","postProcessExtendingConfigFiles","args","configsRootDir","dryRun","workspaceDir","rootTsConfigPath","join","readFile","parse","typeRoots","push","assign","outputFile","isBitGenerated"],"sources":["ts-config-writer.ts"],"sourcesContent":["import { stringify, parse, assign } from 'comment-json';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport fs from 'fs-extra';\nimport { ExecutionContext } from '@teambit/envs';\nimport { basename, join } from 'path';\nimport type {\n ConfigWriterEntry,\n WrittenConfigFile,\n ExtendingConfigFile,\n ConfigFile,\n EnvMapValue,\n PostProcessExtendingConfigFilesArgs,\n} from '@teambit/workspace-config-files';\nimport { CompilerMain } from '@teambit/compiler';\nimport { Logger } from '@teambit/logger';\nimport { IdeConfig, TypescriptCompilerInterface } from './typescript-compiler-interface';\nimport { expandIncludeExclude } from './expand-include-exclude';\n\nconst CONFIG_NAME = 'tsconfig.json';\nconst BIT_GENERATED_TS_CONFIG_COMMENT = '// bit-generated-typescript-config';\nconst GLOBAL_TYPES_DIR = 'global-types';\n\nexport class TypescriptConfigWriter implements ConfigWriterEntry {\n name = 'TypescriptConfigWriter';\n cliName = 'ts';\n\n constructor(private compiler: CompilerMain, private logger: Logger) {}\n patterns: string[] = [`**/${CONFIG_NAME}`];\n\n calcConfigFiles(executionContext: ExecutionContext): ConfigFile[] | undefined {\n const compiler = this.compiler.getCompiler(executionContext) as TypescriptCompilerInterface;\n if (!compiler) return undefined;\n if (!compiler.id.toLowerCase().includes('typescript')) return undefined;\n const config = compiler.generateIdeConfig?.();\n if (!config || !config.tsconfig) return undefined;\n const tsConfigContent = JSON.stringify(config.tsconfig, null, 2);\n const tsConfigHash = sha1(tsConfigContent);\n const tsConfigName = `tsconfig.bit.${tsConfigHash}.json`;\n const typescriptConfigFile = {\n content: tsConfigContent,\n hash: tsConfigHash,\n name: tsConfigName,\n };\n const globalTypesConfigFiles = this.getGlobalTypesConfigFiles(config);\n return [typescriptConfigFile, ...globalTypesConfigFiles];\n }\n\n private getGlobalTypesConfigFiles(config: IdeConfig) {\n const files = config.globalTypesPaths.map((path) => {\n const content = fs.readFileSync(path).toString();\n const origName = basename(path);\n const nameWithHash = origName.replace(/\\.d\\.ts$/, '.{hash}.d.ts');\n const name = `${GLOBAL_TYPES_DIR}/${nameWithHash}`;\n return {\n content,\n name\n }\n });\n return files;\n }\n\n async postProcessConfigFiles(\n writtenConfigFiles: WrittenConfigFile[],\n executionContext: ExecutionContext,\n envMapValue: EnvMapValue\n ): Promise<void> {\n const tsConfigFile = writtenConfigFiles.find((file) => file.name.includes('tsconfig.bit'));\n if (!tsConfigFile) return Promise.resolve();\n const tsConfigPath = tsConfigFile.filePath;\n const exists = await fs.pathExists(tsConfigPath);\n\n if (!exists) {\n this.logger.warn(`TypescriptConfigWriter, tsconfig file ${tsConfigPath} was not found for post process. if it is part of --dry-run, it is ok.`);\n return Promise.resolve();\n }\n const tsConfig = await fs.readJson(tsConfigPath);\n const compDirs: string[] = envMapValue.paths;\n\n const newTsConfig = expandIncludeExclude(tsConfigPath, tsConfig, compDirs);\n\n fs.outputJSONSync(tsConfigPath, newTsConfig, { spaces: 2 });\n return Promise.resolve();\n }\n\n generateExtendingFile(writtenConfigFiles: WrittenConfigFile[]): ExtendingConfigFile | undefined {\n const tsconfigFile = writtenConfigFiles.find((file) => file.name.includes('tsconfig.bit'));\n if (!tsconfigFile) return undefined;\n const config = {\n extends: tsconfigFile.filePath,\n };\n const content = `${BIT_GENERATED_TS_CONFIG_COMMENT}\\n\\n${JSON.stringify(config, null, 2)}`;\n return { content, name: 'tsconfig.json', extendingTarget: tsconfigFile.filePath };\n }\n\n async postProcessExtendingConfigFiles?(args: PostProcessExtendingConfigFilesArgs): Promise<void> {\n if (!args.configsRootDir || args.dryRun) return;\n const { workspaceDir, configsRootDir } = args;\n const rootTsConfigPath = join(workspaceDir, 'tsconfig.json');\n const exists = await fs.pathExists(rootTsConfigPath);\n let tsConfig = {};\n if (exists) {\n const content = (await fs.readFile(rootTsConfigPath)).toString();\n tsConfig = parse(content);\n }\n // @ts-ignore\n const typeRoots = tsConfig.typeRoots || [];\n typeRoots.push(join(configsRootDir, GLOBAL_TYPES_DIR));\n assign(tsConfig, { typeRoots });\n await fs.outputFile(rootTsConfigPath, stringify(tsConfig, null, 2));\n }\n\n isBitGenerated(filePath: string): boolean {\n const content = fs.readFileSync(filePath).toString();\n return content.includes(BIT_GENERATED_TS_CONFIG_COMMENT);\n }\n}\n"],"mappings":"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"}
@@ -380,7 +380,7 @@ class TypescriptMain {
380
380
  static async provider([schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, workspaceConfigFiles, compiler], config, [schemaTransformerSlot]) {
381
381
  schema.registerParser(new (_typescript5().TypeScriptParser)());
382
382
  const logger = loggerExt.createLogger(_typescript3().TypescriptAspect.id);
383
- workspaceConfigFiles.registerConfigWriter(new (_tsConfigWriter().TypescriptConfigWriter)(compiler));
383
+ workspaceConfigFiles.registerConfigWriter(new (_tsConfigWriter().TypescriptConfigWriter)(compiler, logger));
384
384
  aspectLoader.registerPlugins([new (_schemaTransformer().SchemaTransformerPlugin)(schemaTransformerSlot)]);
385
385
  const tsconfigWriter = new (_tsconfigWriter().TsconfigWriter)(workspace, logger);
386
386
  const tsMain = new TypescriptMain(logger, schemaTransformerSlot, workspace, depResolver, envs, tsconfigWriter, aspectLoader);
@@ -1 +1 @@
1
- {"version":3,"names":["TypescriptMain","constructor","logger","schemaTransformerSlot","workspace","depResolver","envs","tsConfigWriter","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","TypescriptCompiler","TypescriptAspect","id","raw","getTsserverClient","tsServer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","tsconfig","compilerOptions","module","lib","createSchemaExtractor","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","filter","endsWith","cleanTsconfigJson","list","runtime","createEnvironment","execContext","getEnvExecutionContext","results","TsconfigWriter","clean","writeTsconfigJson","cleanResults","writeResults","write","onPreWatch","watchOpts","spawnTSServer","verbose","checkTypes","printTypeErrors","Boolean","onComponentChange","component","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","workspaceConfigFiles","compiler","registerParser","TypeScriptParser","createLogger","registerConfigWriter","TypescriptConfigWriter","registerPlugins","SchemaTransformerPlugin","tsconfigWriter","tsMain","register","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","checkTypesCmd","CheckTypesCmd","writeTsconfigCmd","WriteTsconfigCmd","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","WorkspaceConfigFilesAspect","CompilerAspect","Slot","withType","addRuntime","context","Array","isArray","newConfig","reduce","acc","transformer"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler, CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport WorkspaceConfigFilesAspect, { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport WatcherAspect, { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component } from '@teambit/component';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypescriptCompiler } from './typescript.compiler';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { TsconfigPathsPerEnv, TsconfigWriter } from './tsconfig-writer';\nimport WriteTsconfigCmd from './cmds/write-tsconfig.cmd';\nimport { TypescriptConfigWriter } from './ts-config-writer';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsconfigWriterOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n dryRunWithTsconfig?: boolean;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n constructor(\n private logger: Logger,\n readonly schemaTransformerSlot: SchemaTransformerSlot,\n readonly workspace: Workspace,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private tsConfigWriter: TsconfigWriter,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return new TypescriptCompiler(TypescriptAspect.id, this.logger, afterMutation.raw, tsModule);\n }\n\n /**\n * get TsserverClient instance if initiated already, otherwise, return undefined.\n */\n getTsserverClient(): TsserverClient | undefined {\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(tsconfig: any, path?: string): SchemaExtractor {\n return new TypeScriptExtractor(\n tsconfig,\n this.schemaTransformerSlot,\n this,\n path || this.workspace.path,\n this.depResolver,\n this.workspace,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n async cleanTsconfigJson(options: TsconfigWriterOptions = {}) {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n const results = await new TsconfigWriter(this.workspace, this.logger).clean(execContext, options);\n\n return results;\n }\n\n async writeTsconfigJson(options: TsconfigWriterOptions = {}): Promise<{\n cleanResults?: string[];\n writeResults: TsconfigPathsPerEnv[];\n }> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n let cleanResults: string[] | undefined;\n if (options.clean) {\n cleanResults = await this.tsConfigWriter.clean(execContext, options);\n }\n\n const writeResults = await this.tsConfigWriter.write(execContext, options);\n\n return { writeResults, cleanResults };\n }\n\n private async onPreWatch(components: Component[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(components) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n WorkspaceConfigFilesAspect,\n CompilerAspect\n ];\n static slots = [Slot.withType<SchemaTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, workspaceConfigFiles, compiler]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n WorkspaceConfigFilesMain,\n CompilerMain\n ],\n config,\n [schemaTransformerSlot]: [SchemaTransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n workspaceConfigFiles.registerConfigWriter(new TypescriptConfigWriter(compiler));\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsconfigWriter = new TsconfigWriter(workspace, logger);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n workspace,\n depResolver,\n envs,\n tsconfigWriter,\n aspectLoader\n );\n schemaTransformerSlot.register([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n const writeTsconfigCmd = new WriteTsconfigCmd(tsMain);\n cli.register(checkTypesCmd, writeTsconfigCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["TypescriptMain","constructor","logger","schemaTransformerSlot","workspace","depResolver","envs","tsConfigWriter","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","TypescriptCompiler","TypescriptAspect","id","raw","getTsserverClient","tsServer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","tsconfig","compilerOptions","module","lib","createSchemaExtractor","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","filter","endsWith","cleanTsconfigJson","list","runtime","createEnvironment","execContext","getEnvExecutionContext","results","TsconfigWriter","clean","writeTsconfigJson","cleanResults","writeResults","write","onPreWatch","watchOpts","spawnTSServer","verbose","checkTypes","printTypeErrors","Boolean","onComponentChange","component","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","workspaceConfigFiles","compiler","registerParser","TypeScriptParser","createLogger","registerConfigWriter","TypescriptConfigWriter","registerPlugins","SchemaTransformerPlugin","tsconfigWriter","tsMain","register","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","checkTypesCmd","CheckTypesCmd","writeTsconfigCmd","WriteTsconfigCmd","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","WorkspaceConfigFilesAspect","CompilerAspect","Slot","withType","addRuntime","context","Array","isArray","newConfig","reduce","acc","transformer"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler, CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport AspectLoaderAspect, { AspectLoaderMain } from '@teambit/aspect-loader';\nimport WorkspaceConfigFilesAspect, { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';\nimport WatcherAspect, { WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component } from '@teambit/component';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypescriptCompiler } from './typescript.compiler';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { TsconfigPathsPerEnv, TsconfigWriter } from './tsconfig-writer';\nimport WriteTsconfigCmd from './cmds/write-tsconfig.cmd';\nimport { TypescriptConfigWriter } from './ts-config-writer';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsconfigWriterOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n dryRunWithTsconfig?: boolean;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n constructor(\n private logger: Logger,\n readonly schemaTransformerSlot: SchemaTransformerSlot,\n readonly workspace: Workspace,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private tsConfigWriter: TsconfigWriter,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n return new TypescriptCompiler(TypescriptAspect.id, this.logger, afterMutation.raw, tsModule);\n }\n\n /**\n * get TsserverClient instance if initiated already, otherwise, return undefined.\n */\n getTsserverClient(): TsserverClient | undefined {\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(tsconfig: any, path?: string): SchemaExtractor {\n return new TypeScriptExtractor(\n tsconfig,\n this.schemaTransformerSlot,\n this,\n path || this.workspace.path,\n this.depResolver,\n this.workspace,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n async cleanTsconfigJson(options: TsconfigWriterOptions = {}) {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n const results = await new TsconfigWriter(this.workspace, this.logger).clean(execContext, options);\n\n return results;\n }\n\n async writeTsconfigJson(options: TsconfigWriterOptions = {}): Promise<{\n cleanResults?: string[];\n writeResults: TsconfigPathsPerEnv[];\n }> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n let cleanResults: string[] | undefined;\n if (options.clean) {\n cleanResults = await this.tsConfigWriter.clean(execContext, options);\n }\n\n const writeResults = await this.tsConfigWriter.write(execContext, options);\n\n return { writeResults, cleanResults };\n }\n\n private async onPreWatch(components: Component[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(components) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n WorkspaceConfigFilesAspect,\n CompilerAspect\n ];\n static slots = [Slot.withType<SchemaTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, workspaceConfigFiles, compiler]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n WorkspaceConfigFilesMain,\n CompilerMain\n ],\n config,\n [schemaTransformerSlot]: [SchemaTransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n workspaceConfigFiles.registerConfigWriter(new TypescriptConfigWriter(compiler, logger));\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsconfigWriter = new TsconfigWriter(workspace, logger);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n workspace,\n depResolver,\n envs,\n tsconfigWriter,\n aspectLoader\n );\n schemaTransformerSlot.register([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n const writeTsconfigCmd = new WriteTsconfigCmd(tsMain);\n cli.register(checkTypesCmd, writeTsconfigCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/typescript",
3
- "version": "0.0.1022",
3
+ "version": "0.0.1023",
4
4
  "homepage": "https://bit.dev/teambit/typescript/typescript",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.typescript",
8
8
  "name": "typescript",
9
- "version": "0.0.1022"
9
+ "version": "0.0.1023"
10
10
  },
11
11
  "dependencies": {
12
12
  "get-tsconfig": "4.2.0",
@@ -21,25 +21,25 @@
21
21
  "core-js": "^3.0.0",
22
22
  "@babel/runtime": "7.20.0",
23
23
  "@teambit/harmony": "0.4.6",
24
- "@teambit/compiler": "0.0.1022",
24
+ "@teambit/compiler": "0.0.1023",
25
25
  "@teambit/typescript.modules.ts-config-mutator": "0.0.76",
26
- "@teambit/component": "0.0.1022",
27
- "@teambit/dependency-resolver": "0.0.1022",
28
- "@teambit/formatter": "0.0.573",
26
+ "@teambit/component": "0.0.1023",
27
+ "@teambit/dependency-resolver": "0.0.1023",
28
+ "@teambit/formatter": "0.0.574",
29
29
  "@teambit/semantics.entities.semantic-schema": "0.0.53",
30
30
  "@teambit/ts-server": "0.0.43",
31
- "@teambit/aspect-loader": "0.0.1022",
32
- "@teambit/envs": "0.0.1022",
33
- "@teambit/workspace-config-files": "0.0.2",
34
- "@teambit/logger": "0.0.778",
35
- "@teambit/workspace": "0.0.1022",
31
+ "@teambit/aspect-loader": "0.0.1023",
32
+ "@teambit/envs": "0.0.1023",
33
+ "@teambit/logger": "0.0.779",
34
+ "@teambit/workspace-config-files": "0.0.3",
35
+ "@teambit/workspace": "0.0.1023",
36
36
  "@teambit/bit-error": "0.0.402",
37
- "@teambit/builder": "0.0.1022",
38
- "@teambit/isolator": "0.0.1022",
39
- "@teambit/schema": "0.0.1022",
40
- "@teambit/cli": "0.0.685",
41
- "@teambit/pkg": "0.0.1022",
42
- "@teambit/watcher": "0.0.34"
37
+ "@teambit/builder": "0.0.1023",
38
+ "@teambit/isolator": "0.0.1023",
39
+ "@teambit/schema": "0.0.1023",
40
+ "@teambit/cli": "0.0.686",
41
+ "@teambit/pkg": "0.0.1023",
42
+ "@teambit/watcher": "0.0.35"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/lodash": "4.14.165",
@@ -55,7 +55,7 @@
55
55
  "@teambit/typescript.aspect-docs.typescript": "0.0.151"
56
56
  },
57
57
  "peerDependencies": {
58
- "@teambit/legacy": "1.0.465",
58
+ "@teambit/legacy": "1.0.466",
59
59
  "react": "^16.8.0 || ^17.0.0",
60
60
  "react-dom": "^16.8.0 || ^17.0.0"
61
61
  },