@teambit/typescript 0.0.558 → 0.0.562
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cmds/check-types.cmd.d.ts +22 -0
- package/dist/cmds/check-types.cmd.js +92 -0
- package/dist/cmds/check-types.cmd.js.map +1 -0
- package/dist/typescript.main.runtime.d.ts +4 -2
- package/dist/typescript.main.runtime.js +21 -6
- package/dist/typescript.main.runtime.js.map +1 -1
- package/package.json +29 -21
- package/typescript.docs.mdx +8 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import { Logger } from '@teambit/logger';
|
|
3
|
+
import { Workspace } from '@teambit/workspace';
|
|
4
|
+
import { TypescriptMain } from '../typescript.main.runtime';
|
|
5
|
+
export declare class CheckTypesCmd implements Command {
|
|
6
|
+
private typescript;
|
|
7
|
+
private workspace;
|
|
8
|
+
private logger;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
alias: string;
|
|
12
|
+
group: string;
|
|
13
|
+
options: CommandOptions;
|
|
14
|
+
constructor(typescript: TypescriptMain, workspace: Workspace, logger: Logger);
|
|
15
|
+
report([userPattern]: [string], { all, strict }: {
|
|
16
|
+
all: boolean;
|
|
17
|
+
strict: boolean;
|
|
18
|
+
}): Promise<{
|
|
19
|
+
code: number;
|
|
20
|
+
data: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.iterator.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.promise.js");
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "__esModule", {
|
|
10
|
+
value: true
|
|
11
|
+
});
|
|
12
|
+
exports.CheckTypesCmd = void 0;
|
|
13
|
+
|
|
14
|
+
function _defineProperty2() {
|
|
15
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
|
|
17
|
+
_defineProperty2 = function () {
|
|
18
|
+
return data;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function _exceptions() {
|
|
25
|
+
const data = require("@teambit/legacy/dist/consumer/exceptions");
|
|
26
|
+
|
|
27
|
+
_exceptions = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function _chalk() {
|
|
35
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
36
|
+
|
|
37
|
+
_chalk = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
class CheckTypesCmd {
|
|
45
|
+
constructor(typescript, workspace, logger) {
|
|
46
|
+
this.typescript = typescript;
|
|
47
|
+
this.workspace = workspace;
|
|
48
|
+
this.logger = logger;
|
|
49
|
+
(0, _defineProperty2().default)(this, "name", 'check-types [pattern]');
|
|
50
|
+
(0, _defineProperty2().default)(this, "description", 'check typescript types');
|
|
51
|
+
(0, _defineProperty2().default)(this, "alias", '');
|
|
52
|
+
(0, _defineProperty2().default)(this, "group", 'development');
|
|
53
|
+
(0, _defineProperty2().default)(this, "options", [['a', 'all', 'check-types for all components, not only modified and new'], ['', 'strict', 'in case issues found, exit with code 1']]);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async report([userPattern], {
|
|
57
|
+
all = false,
|
|
58
|
+
strict = false
|
|
59
|
+
}) {
|
|
60
|
+
if (!this.workspace) throw new (_exceptions().ConsumerNotFound)();
|
|
61
|
+
const components = await this.workspace.getComponentsByUserInput(all, userPattern);
|
|
62
|
+
this.logger.setStatusLine(`checking types for ${components.length} components`);
|
|
63
|
+
const files = this.typescript.getSupportedFilesForTsserver(components);
|
|
64
|
+
await this.typescript.initTsserverClientFromWorkspace({
|
|
65
|
+
printTypeErrors: true
|
|
66
|
+
}, files);
|
|
67
|
+
const tsserver = this.typescript.getTsserverClient();
|
|
68
|
+
if (!tsserver) throw new Error(`unable to start tsserver`);
|
|
69
|
+
const start = Date.now();
|
|
70
|
+
await tsserver.getDiagnostic(files);
|
|
71
|
+
const end = Date.now() - start;
|
|
72
|
+
const msg = `completed type checking (${end / 1000} sec)`;
|
|
73
|
+
tsserver.killTsServer();
|
|
74
|
+
|
|
75
|
+
if (tsserver.lastDiagnostics.length) {
|
|
76
|
+
return {
|
|
77
|
+
code: strict ? 1 : 0,
|
|
78
|
+
data: _chalk().default.red(`${msg}. found errors in ${tsserver.lastDiagnostics.length} files.`)
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
code: 0,
|
|
84
|
+
data: _chalk().default.green(`${msg}. no errors were found.`)
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
exports.CheckTypesCmd = CheckTypesCmd;
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=check-types.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["check-types.cmd.ts"],"names":["CheckTypesCmd","constructor","typescript","workspace","logger","report","userPattern","all","strict","ConsumerNotFound","components","getComponentsByUserInput","setStatusLine","length","files","getSupportedFilesForTsserver","initTsserverClientFromWorkspace","printTypeErrors","tsserver","getTsserverClient","Error","start","Date","now","getDiagnostic","end","msg","killTsServer","lastDiagnostics","code","data","chalk","red","green"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,aAAN,CAAuC;AAU5CC,EAAAA,WAAW,CAASC,UAAT,EAA6CC,SAA7C,EAA2EC,MAA3E,EAA2F;AAAA,SAAlFF,UAAkF,GAAlFA,UAAkF;AAAA,SAA9CC,SAA8C,GAA9CA,SAA8C;AAAA,SAAhBC,MAAgB,GAAhBA,MAAgB;AAAA,kDAT/F,uBAS+F;AAAA,yDARxF,wBAQwF;AAAA,mDAP9F,EAO8F;AAAA,mDAN9F,aAM8F;AAAA,qDAL5F,CACR,CAAC,GAAD,EAAM,KAAN,EAAa,2DAAb,CADQ,EAER,CAAC,EAAD,EAAK,QAAL,EAAe,wCAAf,CAFQ,CAK4F;AAAE;;AAE5F,QAANC,MAAM,CAAC,CAACC,WAAD,CAAD,EAA0B;AAAEC,IAAAA,GAAG,GAAG,KAAR;AAAeC,IAAAA,MAAM,GAAG;AAAxB,GAA1B,EAA8F;AACxG,QAAI,CAAC,KAAKL,SAAV,EAAqB,MAAM,KAAIM,8BAAJ,GAAN;AACrB,UAAMC,UAAU,GAAG,MAAM,KAAKP,SAAL,CAAeQ,wBAAf,CAAwCJ,GAAxC,EAA6CD,WAA7C,CAAzB;AACA,SAAKF,MAAL,CAAYQ,aAAZ,CAA2B,sBAAqBF,UAAU,CAACG,MAAO,aAAlE;AACA,UAAMC,KAAK,GAAG,KAAKZ,UAAL,CAAgBa,4BAAhB,CAA6CL,UAA7C,CAAd;AACA,UAAM,KAAKR,UAAL,CAAgBc,+BAAhB,CAAgD;AAAEC,MAAAA,eAAe,EAAE;AAAnB,KAAhD,EAA2EH,KAA3E,CAAN;AACA,UAAMI,QAAQ,GAAG,KAAKhB,UAAL,CAAgBiB,iBAAhB,EAAjB;AACA,QAAI,CAACD,QAAL,EAAe,MAAM,IAAIE,KAAJ,CAAW,0BAAX,CAAN;AACf,UAAMC,KAAK,GAAGC,IAAI,CAACC,GAAL,EAAd;AACA,UAAML,QAAQ,CAACM,aAAT,CAAuBV,KAAvB,CAAN;AACA,UAAMW,GAAG,GAAGH,IAAI,CAACC,GAAL,KAAaF,KAAzB;AACA,UAAMK,GAAG,GAAI,4BAA2BD,GAAG,GAAG,IAAK,OAAnD;AACAP,IAAAA,QAAQ,CAACS,YAAT;;AACA,QAAIT,QAAQ,CAACU,eAAT,CAAyBf,MAA7B,EAAqC;AACnC,aAAO;AACLgB,QAAAA,IAAI,EAAErB,MAAM,GAAG,CAAH,GAAO,CADd;AAELsB,QAAAA,IAAI,EAAEC,iBAAMC,GAAN,CAAW,GAAEN,GAAI,qBAAoBR,QAAQ,CAACU,eAAT,CAAyBf,MAAO,SAArE;AAFD,OAAP;AAID;;AACD,WAAO;AACLgB,MAAAA,IAAI,EAAE,CADD;AAELC,MAAAA,IAAI,EAAEC,iBAAME,KAAN,CAAa,GAAEP,GAAI,yBAAnB;AAFD,KAAP;AAID;;AAnC2C","sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { TypescriptMain } from '../typescript.main.runtime';\n\nexport class CheckTypesCmd implements Command {\n name = 'check-types [pattern]';\n description = 'check typescript types';\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([userPattern]: [string], { all = false, strict = false }: { all: boolean; strict: boolean }) {\n if (!this.workspace) throw new ConsumerNotFound();\n const components = await this.workspace.getComponentsByUserInput(all, userPattern);\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"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ts, { TsConfigSourceFile } from 'typescript';
|
|
2
|
+
import { CLIMain } from '@teambit/cli';
|
|
2
3
|
import { Compiler } from '@teambit/compiler';
|
|
3
4
|
import { Logger, LoggerMain } from '@teambit/logger';
|
|
4
5
|
import { SchemaExtractor, SchemaMain } from '@teambit/schema';
|
|
@@ -6,6 +7,7 @@ import { PackageJsonProps } from '@teambit/pkg';
|
|
|
6
7
|
import { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';
|
|
7
8
|
import type { Workspace } from '@teambit/workspace';
|
|
8
9
|
import { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';
|
|
10
|
+
import type { Component } from '@teambit/component';
|
|
9
11
|
import { TypeScriptCompilerOptions } from './compiler-options';
|
|
10
12
|
export declare type TsMode = 'build' | 'dev';
|
|
11
13
|
export declare type TsConfigTransformContext = {};
|
|
@@ -47,11 +49,11 @@ export declare class TypescriptMain {
|
|
|
47
49
|
* :TODO @gilad why do we need this DSL? can't I just get the args here.
|
|
48
50
|
*/
|
|
49
51
|
getPackageJsonProps(): PackageJsonProps;
|
|
50
|
-
|
|
52
|
+
getSupportedFilesForTsserver(components: Component[]): string[];
|
|
51
53
|
private onPreWatch;
|
|
52
54
|
private onComponentChange;
|
|
53
55
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
54
56
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
55
|
-
static provider([schema, loggerExt, workspace]: [SchemaMain, LoggerMain, Workspace]): Promise<TypescriptMain>;
|
|
57
|
+
static provider([schema, loggerExt, workspace, cli]: [SchemaMain, LoggerMain, Workspace, CLIMain]): Promise<TypescriptMain>;
|
|
56
58
|
}
|
|
57
59
|
export declare function runTransformersWithContext(config: TypescriptConfigMutator, transformers: TsConfigTransformer[] | undefined, context: TsConfigTransformContext): TypescriptConfigMutator;
|
|
@@ -146,6 +146,16 @@ function _typescript5() {
|
|
|
146
146
|
return data;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
+
function _checkTypes() {
|
|
150
|
+
const data = require("./cmds/check-types.cmd");
|
|
151
|
+
|
|
152
|
+
_checkTypes = function () {
|
|
153
|
+
return data;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
return data;
|
|
157
|
+
}
|
|
158
|
+
|
|
149
159
|
class TypescriptMain {
|
|
150
160
|
constructor(logger, workspace) {
|
|
151
161
|
this.logger = logger;
|
|
@@ -227,7 +237,7 @@ class TypescriptMain {
|
|
|
227
237
|
};
|
|
228
238
|
}
|
|
229
239
|
|
|
230
|
-
|
|
240
|
+
getSupportedFilesForTsserver(components) {
|
|
231
241
|
const files = components.map(c => c.filesystem.files).flat().map(f => f.path);
|
|
232
242
|
return files.filter(f => f.endsWith('.ts') || f.endsWith('.tsx'));
|
|
233
243
|
}
|
|
@@ -243,10 +253,12 @@ class TypescriptMain {
|
|
|
243
253
|
verbose,
|
|
244
254
|
checkTypes
|
|
245
255
|
} = watchOpts;
|
|
246
|
-
const files = checkTypes ? this.
|
|
256
|
+
const files = checkTypes ? this.getSupportedFilesForTsserver(components) : [];
|
|
257
|
+
const printTypeErrors = Boolean(checkTypes);
|
|
247
258
|
await this.initTsserverClientFromWorkspace({
|
|
248
259
|
verbose,
|
|
249
|
-
checkTypes
|
|
260
|
+
checkTypes,
|
|
261
|
+
printTypeErrors
|
|
250
262
|
}, files);
|
|
251
263
|
}
|
|
252
264
|
|
|
@@ -263,18 +275,21 @@ class TypescriptMain {
|
|
|
263
275
|
};
|
|
264
276
|
}
|
|
265
277
|
|
|
266
|
-
static async provider([schema, loggerExt, workspace]) {
|
|
278
|
+
static async provider([schema, loggerExt, workspace, cli]) {
|
|
267
279
|
schema.registerParser(new (_typescript5().TypeScriptParser)());
|
|
268
280
|
const logger = loggerExt.createLogger(_typescript3().TypescriptAspect.id);
|
|
269
281
|
schema.registerParser(new (_typescript5().TypeScriptParser)(logger));
|
|
270
|
-
|
|
282
|
+
const typescriptMain = new TypescriptMain(logger, workspace);
|
|
283
|
+
const checkTypesCmd = new (_checkTypes().CheckTypesCmd)(typescriptMain, workspace, logger);
|
|
284
|
+
cli.register(checkTypesCmd);
|
|
285
|
+
return typescriptMain;
|
|
271
286
|
}
|
|
272
287
|
|
|
273
288
|
}
|
|
274
289
|
|
|
275
290
|
exports.TypescriptMain = TypescriptMain;
|
|
276
291
|
(0, _defineProperty2().default)(TypescriptMain, "runtime", _cli().MainRuntime);
|
|
277
|
-
(0, _defineProperty2().default)(TypescriptMain, "dependencies", [_schema().SchemaAspect, _logger().LoggerAspect, _workspace().default]);
|
|
292
|
+
(0, _defineProperty2().default)(TypescriptMain, "dependencies", [_schema().SchemaAspect, _logger().LoggerAspect, _workspace().default, _cli().CLIAspect]);
|
|
278
293
|
|
|
279
294
|
_typescript3().TypescriptAspect.addRuntime(TypescriptMain);
|
|
280
295
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["typescript.main.runtime.ts"],"names":["TypescriptMain","constructor","logger","workspace","registerOnPreWatch","onPreWatch","bind","registerOnComponentChange","onComponentChange","registerOnComponentAdd","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","createSchemaExtractor","tsconfig","TypeScriptExtractor","getPackageJsonProps","main","types","getAllFilesForTsserver","components","map","c","filesystem","flat","f","filter","endsWith","watchOpts","spawnTSServer","verbose","checkTypes","component","results","file","onFileChange","provider","schema","loggerExt","registerParser","TypeScriptParser","createLogger","MainRuntime","SchemaAspect","LoggerAspect","WorkspaceAspect","addRuntime","config","context","Array","isArray","newConfig","reduce","acc","transformer"],"mappings":"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","sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport WorkspaceAspect from '@teambit/workspace';\nimport type { WatchOptions, Workspace } from '@teambit/workspace';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport type { Component } from '@teambit/component';\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';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n private tsServer: TsserverClient;\n constructor(private logger: Logger, private workspace?: Workspace) {\n if (this.workspace) {\n this.workspace.registerOnPreWatch(this.onPreWatch.bind(this));\n this.workspace.registerOnComponentChange(this.onComponentChange.bind(this));\n this.workspace.registerOnComponentAdd(this.onComponentChange.bind(this));\n }\n }\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 an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(tsconfig: TsConfigSourceFile): SchemaExtractor {\n return new TypeScriptExtractor(tsconfig);\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 getPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n private getAllFilesForTsserver(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 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.getAllFilesForTsserver(components) : [];\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes }, 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 = [SchemaAspect, LoggerAspect, WorkspaceAspect];\n\n static async provider([schema, loggerExt, workspace]: [SchemaMain, LoggerMain, Workspace]) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n schema.registerParser(new TypeScriptParser(logger));\n\n return new TypescriptMain(logger, workspace);\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"]}
|
|
1
|
+
{"version":3,"sources":["typescript.main.runtime.ts"],"names":["TypescriptMain","constructor","logger","workspace","registerOnPreWatch","onPreWatch","bind","registerOnComponentChange","onComponentChange","registerOnComponentAdd","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","createSchemaExtractor","tsconfig","TypeScriptExtractor","getPackageJsonProps","main","types","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","filter","endsWith","watchOpts","spawnTSServer","verbose","checkTypes","printTypeErrors","Boolean","component","results","file","onFileChange","provider","schema","loggerExt","cli","registerParser","TypeScriptParser","createLogger","typescriptMain","checkTypesCmd","CheckTypesCmd","register","MainRuntime","SchemaAspect","LoggerAspect","WorkspaceAspect","CLIAspect","addRuntime","config","context","Array","isArray","newConfig","reduce","acc","transformer"],"mappings":"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","sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport WorkspaceAspect from '@teambit/workspace';\nimport type { WatchOptions, Workspace } from '@teambit/workspace';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport type { Component } from '@teambit/component';\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 { CheckTypesCmd } from './cmds/check-types.cmd';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type TsConfigTransformContext = {\n // mode: TsMode;\n};\n\nexport type TsConfigTransformer = (\n config: TypescriptConfigMutator,\n context: TsConfigTransformContext\n) => TypescriptConfigMutator;\n\nexport class TypescriptMain {\n private tsServer: TsserverClient;\n constructor(private logger: Logger, private workspace?: Workspace) {\n if (this.workspace) {\n this.workspace.registerOnPreWatch(this.onPreWatch.bind(this));\n this.workspace.registerOnComponentChange(this.onComponentChange.bind(this));\n this.workspace.registerOnComponentAdd(this.onComponentChange.bind(this));\n }\n }\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 an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(tsconfig: TsConfigSourceFile): SchemaExtractor {\n return new TypeScriptExtractor(tsconfig);\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 getPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n public 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 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 = [SchemaAspect, LoggerAspect, WorkspaceAspect, CLIAspect];\n\n static async provider([schema, loggerExt, workspace, cli]: [SchemaMain, LoggerMain, Workspace, CLIMain]) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n schema.registerParser(new TypeScriptParser(logger));\n const typescriptMain = new TypescriptMain(logger, workspace);\n const checkTypesCmd = new CheckTypesCmd(typescriptMain, workspace, logger);\n cli.register(checkTypesCmd);\n\n return typescriptMain;\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"]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/typescript",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.562",
|
|
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.
|
|
9
|
+
"version": "0.0.562"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@teambit/harmony": "0.2.11",
|
|
@@ -14,20 +14,21 @@
|
|
|
14
14
|
"typescript": "4.4.2",
|
|
15
15
|
"typedoc": "0.22.5",
|
|
16
16
|
"p-map-series": "2.1.0",
|
|
17
|
+
"chalk": "2.4.2",
|
|
17
18
|
"@babel/runtime": "7.12.18",
|
|
18
19
|
"core-js": "^3.0.0",
|
|
19
|
-
"@teambit/compiler": "0.0.
|
|
20
|
-
"@teambit/typescript.modules.ts-config-mutator": "0.0.
|
|
21
|
-
"@teambit/bit-error": "0.0.
|
|
22
|
-
"@teambit/builder": "0.0.
|
|
23
|
-
"@teambit/isolator": "0.0.
|
|
24
|
-
"@teambit/logger": "0.0.
|
|
25
|
-
"@teambit/component": "0.0.
|
|
26
|
-
"@teambit/schema": "0.0.
|
|
27
|
-
"@teambit/cli": "0.0.
|
|
28
|
-
"@teambit/pkg": "0.0.
|
|
29
|
-
"@teambit/ts-server": "0.0.
|
|
30
|
-
"@teambit/workspace": "0.0.
|
|
20
|
+
"@teambit/compiler": "0.0.562",
|
|
21
|
+
"@teambit/typescript.modules.ts-config-mutator": "0.0.47",
|
|
22
|
+
"@teambit/bit-error": "0.0.376",
|
|
23
|
+
"@teambit/builder": "0.0.562",
|
|
24
|
+
"@teambit/isolator": "0.0.562",
|
|
25
|
+
"@teambit/logger": "0.0.475",
|
|
26
|
+
"@teambit/component": "0.0.562",
|
|
27
|
+
"@teambit/schema": "0.0.562",
|
|
28
|
+
"@teambit/cli": "0.0.390",
|
|
29
|
+
"@teambit/pkg": "0.0.562",
|
|
30
|
+
"@teambit/ts-server": "0.0.13",
|
|
31
|
+
"@teambit/workspace": "0.0.562"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
34
|
"chai": "4.3.0",
|
|
@@ -39,10 +40,10 @@
|
|
|
39
40
|
"@types/jest": "^26.0.0",
|
|
40
41
|
"@types/react-dom": "^17.0.5",
|
|
41
42
|
"@types/node": "12.20.4",
|
|
42
|
-
"@teambit/typescript.aspect-docs.typescript": "0.0.
|
|
43
|
+
"@teambit/typescript.aspect-docs.typescript": "0.0.109"
|
|
43
44
|
},
|
|
44
45
|
"peerDependencies": {
|
|
45
|
-
"@teambit/legacy": "1.0.
|
|
46
|
+
"@teambit/legacy": "1.0.176",
|
|
46
47
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
47
48
|
"react": "^16.8.0 || ^17.0.0"
|
|
48
49
|
},
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
"react": "-"
|
|
71
72
|
},
|
|
72
73
|
"peerDependencies": {
|
|
73
|
-
"@teambit/legacy": "1.0.
|
|
74
|
+
"@teambit/legacy": "1.0.176",
|
|
74
75
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
75
76
|
"react": "^16.8.0 || ^17.0.0"
|
|
76
77
|
}
|
|
@@ -79,10 +80,17 @@
|
|
|
79
80
|
"files": [
|
|
80
81
|
"dist",
|
|
81
82
|
"!dist/tsconfig.tsbuildinfo",
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
83
|
+
"**/*.md",
|
|
84
|
+
"**/*.mdx",
|
|
85
|
+
"**/*.js",
|
|
86
|
+
"**/*.json",
|
|
87
|
+
"**/*.sass",
|
|
88
|
+
"**/*.scss",
|
|
89
|
+
"**/*.less",
|
|
90
|
+
"**/*.css",
|
|
91
|
+
"**/*.css",
|
|
92
|
+
"**/*.jpeg",
|
|
93
|
+
"**/*.gif"
|
|
86
94
|
],
|
|
87
95
|
"private": false,
|
|
88
96
|
"engines": {
|