@teambit/typescript 1.0.258 → 1.0.260
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 +18 -21
- package/artifacts/preview/teambit_typescript_typescript-preview.js +1 -1
- package/artifacts/schema.json +14779 -62
- package/dist/preview-1714620113654.js +7 -0
- package/dist/sourceFileTransformers/export.d.ts +1 -1
- package/dist/sourceFileTransformers/export.js.map +1 -1
- package/dist/sourceFileTransformers/expression-statement.d.ts +1 -1
- package/dist/sourceFileTransformers/expression-statement.js.map +1 -1
- package/dist/sourceFileTransformers/function.d.ts +1 -1
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.d.ts +1 -1
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/dist/typescript.main.runtime.d.ts +1 -8
- package/dist/typescript.main.runtime.js +3 -41
- package/dist/typescript.main.runtime.js.map +1 -1
- package/package.json +20 -21
- package/sourceFileTransformers/export.ts +1 -1
- package/sourceFileTransformers/expression-statement.ts +1 -1
- package/sourceFileTransformers/function.ts +1 -1
- package/sourceFileTransformers/import.ts +1 -1
- package/cmds/write-tsconfig.cmd.ts +0 -75
- package/dist/cmds/write-tsconfig.cmd.d.ts +0 -26
- package/dist/cmds/write-tsconfig.cmd.js +0 -95
- package/dist/cmds/write-tsconfig.cmd.js.map +0 -1
- package/dist/dedupe-path.spec.d.ts +0 -1
- package/dist/dedupe-path.spec.js +0 -62
- package/dist/dedupe-path.spec.js.map +0 -1
- package/dist/preview-1714472366682.js +0 -7
- package/dist/tsconfig-writer.d.ts +0 -49
- package/dist/tsconfig-writer.js +0 -284
- package/dist/tsconfig-writer.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.typescript_typescript@1.0.260/dist/typescript.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.typescript_typescript@1.0.260/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,2 +1,2 @@
|
|
|
1
|
-
import { SourceFileTransformer } from '
|
|
1
|
+
import { SourceFileTransformer } from './index';
|
|
2
2
|
export declare const exportTransformer: SourceFileTransformer;
|
|
@@ -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 '
|
|
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 './index';\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":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SourceFileTransformer } from '
|
|
1
|
+
import { SourceFileTransformer } from './index';
|
|
2
2
|
export declare const expressionStatementTransformer: SourceFileTransformer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","obj","__esModule","default","expressionStatementTransformer","mapping","context","replaceIdentifierText","identifier","ts","isIdentifier","oldName","getText","newName","replaceName","factory","createIdentifier","e","visit","node","isExpressionStatement","updateExpressionStatement","visitNode","expression","isPropertyAccessExpression","name","updatePropertyAccessExpression","visitEachChild","exports"],"sources":["expression-statement.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from '
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","obj","__esModule","default","expressionStatementTransformer","mapping","context","replaceIdentifierText","identifier","ts","isIdentifier","oldName","getText","newName","replaceName","factory","createIdentifier","e","visit","node","isExpressionStatement","updateExpressionStatement","visitNode","expression","isPropertyAccessExpression","name","updatePropertyAccessExpression","visitEachChild","exports"],"sources":["expression-statement.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from './index';\nimport { replaceName } from './replaceName';\n\nexport const expressionStatementTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {\n return (context) => {\n const replaceIdentifierText = (identifier: ts.Identifier) => {\n try {\n if (!identifier || !ts.isIdentifier(identifier)) return identifier;\n const oldName = identifier.getText();\n const newName = replaceName(oldName, mapping);\n\n if (newName) {\n return ts.factory.createIdentifier(newName);\n }\n return identifier;\n } catch (e) {\n return identifier;\n }\n };\n\n const visit: ts.Visitor = (node) => {\n if (ts.isExpressionStatement(node)) {\n return ts.factory.updateExpressionStatement(node, ts.visitNode(node.expression, visit) as ts.Expression);\n }\n\n if (ts.isPropertyAccessExpression(node)) {\n let newName = node.name;\n if (ts.isIdentifier(node.name)) {\n newName = replaceIdentifierText(node.name);\n }\n return ts.factory.updatePropertyAccessExpression(\n node,\n ts.visitNode(node.expression, visit) as ts.Expression,\n newName\n );\n }\n\n if (ts.isIdentifier(node)) {\n return replaceIdentifierText(node);\n }\n\n return ts.visitEachChild(node, visit, context);\n };\n\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\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;AAEA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAErC,MAAMG,8BAAqD,GAAIC,OAA+B,IAAK;EACxG,OAAQC,OAAO,IAAK;IAClB,MAAMC,qBAAqB,GAAIC,UAAyB,IAAK;MAC3D,IAAI;QACF,IAAI,CAACA,UAAU,IAAI,CAACC,qBAAE,CAACC,YAAY,CAACF,UAAU,CAAC,EAAE,OAAOA,UAAU;QAClE,MAAMG,OAAO,GAAGH,UAAU,CAACI,OAAO,CAAC,CAAC;QACpC,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACH,OAAO,EAAEN,OAAO,CAAC;QAE7C,IAAIQ,OAAO,EAAE;UACX,OAAOJ,qBAAE,CAACM,OAAO,CAACC,gBAAgB,CAACH,OAAO,CAAC;QAC7C;QACA,OAAOL,UAAU;MACnB,CAAC,CAAC,OAAOS,CAAC,EAAE;QACV,OAAOT,UAAU;MACnB;IACF,CAAC;IAED,MAAMU,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIV,qBAAE,CAACW,qBAAqB,CAACD,IAAI,CAAC,EAAE;QAClC,OAAOV,qBAAE,CAACM,OAAO,CAACM,yBAAyB,CAACF,IAAI,EAAEV,qBAAE,CAACa,SAAS,CAACH,IAAI,CAACI,UAAU,EAAEL,KAAK,CAAkB,CAAC;MAC1G;MAEA,IAAIT,qBAAE,CAACe,0BAA0B,CAACL,IAAI,CAAC,EAAE;QACvC,IAAIN,OAAO,GAAGM,IAAI,CAACM,IAAI;QACvB,IAAIhB,qBAAE,CAACC,YAAY,CAACS,IAAI,CAACM,IAAI,CAAC,EAAE;UAC9BZ,OAAO,GAAGN,qBAAqB,CAACY,IAAI,CAACM,IAAI,CAAC;QAC5C;QACA,OAAOhB,qBAAE,CAACM,OAAO,CAACW,8BAA8B,CAC9CP,IAAI,EACJV,qBAAE,CAACa,SAAS,CAACH,IAAI,CAACI,UAAU,EAAEL,KAAK,CAAC,EACpCL,OACF,CAAC;MACH;MAEA,IAAIJ,qBAAE,CAACC,YAAY,CAACS,IAAI,CAAC,EAAE;QACzB,OAAOZ,qBAAqB,CAACY,IAAI,CAAC;MACpC;MAEA,OAAOV,qBAAE,CAACkB,cAAc,CAACR,IAAI,EAAED,KAAK,EAAEZ,OAAO,CAAC;IAChD,CAAC;IAED,OAAQa,IAAI,IAAKV,qBAAE,CAACa,SAAS,CAACH,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH,CAAC;AAACU,OAAA,CAAAxB,8BAAA,GAAAA,8BAAA","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SourceFileTransformer } from '
|
|
1
|
+
import { SourceFileTransformer } from './index';
|
|
2
2
|
export declare const functionNamesTransformer: SourceFileTransformer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","obj","__esModule","default","functionNamesTransformer","mapping","context","updateTypeReference","node","ts","isTypeReferenceNode","typeName","getText","getSourceFile","newTypeName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","e","visit","isFunctionDeclaration","isArrowFunction","isFunctionExpression","functionName","name","newName","Object","entries","find","key","includes","parameters","map","param","newParamType","type","visitNode","isIdentifier","oldName","newParamName","keys","updateParameterDeclaration","modifiers","dotDotDotToken","questionToken","initializer","isObjectBindingPattern","elements","element","newElementName","updateBindingElement","propertyName","createObjectBindingPattern","updatedBody","body","isBlock","updateReturnStatement","updateFunctionDeclaration","asteriskToken","typeParameters","updateArrowFunction","equalsGreaterThanToken","updateFunctionExpression","updatedStatements","statement","statements","isReturnStatement","expression","isJsxElement","jsxElement","openingElement","tagName","newTagName","updatedTagName","updatedOpeningElement","updateJsxOpeningElement","attributes","updatedClosingElement","closingElement","updateJsxClosingElement","createJsxClosingElement","updatedJsxElement","createJsxElement","children","updatedStatement","createReturnStatement","push","updateBlock","isExpressionStatement","text","updatedExpression","updatedReturnStatement","createBlock","exports"],"sources":["function.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from '.';\nimport { replaceName } from './replaceName';\n\nexport const functionNamesTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {\n return (context) => {\n const updateTypeReference: ts.Visitor = (node) => {\n try {\n if (ts.isTypeReferenceNode(node) && node.typeName) {\n const typeName = node.typeName.getText(node.getSourceFile());\n const newTypeName = replaceName(typeName, mapping);\n if (newTypeName) {\n return ts.factory.updateTypeReferenceNode(\n node,\n ts.factory.createIdentifier(newTypeName),\n node.typeArguments\n );\n }\n }\n return ts.visitEachChild(node, updateTypeReference, context);\n } catch (e) {\n return node;\n }\n };\n\n const visit: ts.Visitor = (node) => {\n if (ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {\n const functionName = node.name?.getText() ?? '';\n const newName = Object.entries(mapping).find(([key]) => functionName.includes(key))?.[1] ?? functionName;\n const parameters = node.parameters.map((param) => {\n const newParamType = param.type ? (ts.visitNode(param.type, updateTypeReference) as ts.TypeNode) : param.type;\n if (ts.isIdentifier(param.name)) {\n const oldName = param.name.getText();\n const newParamName = Object.keys(mapping).find((key) => oldName.includes(key));\n if (newParamName) {\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n ts.factory.createIdentifier(newParamName),\n param.questionToken,\n newParamType,\n param.initializer\n );\n }\n } else if (ts.isObjectBindingPattern(param.name)) {\n const elements = param.name.elements.map((element) => {\n const newElementName = mapping[element.name.getText()];\n if (newElementName) {\n return ts.factory.updateBindingElement(\n element,\n element.dotDotDotToken,\n element.propertyName,\n ts.factory.createIdentifier(newElementName),\n element.initializer\n );\n }\n return element;\n });\n const newParamName = ts.factory.createObjectBindingPattern(elements);\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n newParamName,\n param.questionToken,\n newParamType,\n param.initializer\n );\n }\n return param;\n });\n\n if (ts.isFunctionDeclaration(node)) {\n const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;\n return ts.factory.updateFunctionDeclaration(\n node,\n node.modifiers,\n node.asteriskToken,\n newName ? ts.factory.createIdentifier(newName) : node.name,\n node.typeParameters,\n parameters,\n node.type,\n updatedBody\n );\n }\n if (ts.isArrowFunction(node)) {\n const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;\n return ts.factory.updateArrowFunction(\n node,\n node.modifiers,\n node.typeParameters,\n parameters,\n node.type,\n node.equalsGreaterThanToken,\n updatedBody\n );\n }\n if (ts.isFunctionExpression(node)) {\n const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;\n return ts.factory.updateFunctionExpression(\n node,\n node.modifiers,\n node.asteriskToken,\n newName ? ts.factory.createIdentifier(newName) : node.name,\n node.typeParameters,\n parameters,\n node.type,\n updatedBody\n );\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n\n function updateReturnStatement(body: ts.ConciseBody): ts.Block {\n if (ts.isBlock(body)) {\n const updatedStatements: ts.Statement[] = [];\n for (const statement of body.statements) {\n if (ts.isReturnStatement(statement) && statement.expression && ts.isJsxElement(statement.expression)) {\n const jsxElement = statement.expression;\n const openingElement = jsxElement.openingElement;\n const tagName = openingElement.tagName.getText();\n const newTagName = mapping[tagName];\n if (newTagName) {\n const updatedTagName = ts.factory.createIdentifier(newTagName);\n const updatedOpeningElement = ts.factory.updateJsxOpeningElement(\n openingElement,\n updatedTagName,\n openingElement.typeArguments,\n openingElement.attributes\n );\n const updatedClosingElement = jsxElement.closingElement\n ? ts.factory.updateJsxClosingElement(jsxElement.closingElement, updatedTagName)\n : ts.factory.createJsxClosingElement(updatedTagName);\n const updatedJsxElement = ts.factory.createJsxElement(\n updatedOpeningElement,\n jsxElement.children,\n updatedClosingElement\n );\n const updatedStatement = ts.factory.createReturnStatement(updatedJsxElement);\n updatedStatements.push(updatedStatement);\n } else {\n updatedStatements.push(statement);\n }\n } else {\n updatedStatements.push(statement);\n }\n }\n return ts.factory.updateBlock(body, updatedStatements);\n }\n if (\n ts.isExpressionStatement(body) &&\n ts.isReturnStatement(body.expression) &&\n body.expression.expression &&\n ts.isIdentifier(body.expression.expression)\n ) {\n const oldName = body.expression.expression.text;\n const newName = mapping[oldName];\n if (newName) {\n const updatedExpression = ts.factory.createIdentifier(newName);\n const updatedReturnStatement = ts.factory.createReturnStatement(updatedExpression);\n return ts.factory.createBlock([updatedReturnStatement], true);\n }\n }\n return ts.factory.createBlock([], true);\n }\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","obj","__esModule","default","functionNamesTransformer","mapping","context","updateTypeReference","node","ts","isTypeReferenceNode","typeName","getText","getSourceFile","newTypeName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","e","visit","isFunctionDeclaration","isArrowFunction","isFunctionExpression","functionName","name","newName","Object","entries","find","key","includes","parameters","map","param","newParamType","type","visitNode","isIdentifier","oldName","newParamName","keys","updateParameterDeclaration","modifiers","dotDotDotToken","questionToken","initializer","isObjectBindingPattern","elements","element","newElementName","updateBindingElement","propertyName","createObjectBindingPattern","updatedBody","body","isBlock","updateReturnStatement","updateFunctionDeclaration","asteriskToken","typeParameters","updateArrowFunction","equalsGreaterThanToken","updateFunctionExpression","updatedStatements","statement","statements","isReturnStatement","expression","isJsxElement","jsxElement","openingElement","tagName","newTagName","updatedTagName","updatedOpeningElement","updateJsxOpeningElement","attributes","updatedClosingElement","closingElement","updateJsxClosingElement","createJsxClosingElement","updatedJsxElement","createJsxElement","children","updatedStatement","createReturnStatement","push","updateBlock","isExpressionStatement","text","updatedExpression","updatedReturnStatement","createBlock","exports"],"sources":["function.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from './index';\nimport { replaceName } from './replaceName';\n\nexport const functionNamesTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {\n return (context) => {\n const updateTypeReference: ts.Visitor = (node) => {\n try {\n if (ts.isTypeReferenceNode(node) && node.typeName) {\n const typeName = node.typeName.getText(node.getSourceFile());\n const newTypeName = replaceName(typeName, mapping);\n if (newTypeName) {\n return ts.factory.updateTypeReferenceNode(\n node,\n ts.factory.createIdentifier(newTypeName),\n node.typeArguments\n );\n }\n }\n return ts.visitEachChild(node, updateTypeReference, context);\n } catch (e) {\n return node;\n }\n };\n\n const visit: ts.Visitor = (node) => {\n if (ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {\n const functionName = node.name?.getText() ?? '';\n const newName = Object.entries(mapping).find(([key]) => functionName.includes(key))?.[1] ?? functionName;\n const parameters = node.parameters.map((param) => {\n const newParamType = param.type ? (ts.visitNode(param.type, updateTypeReference) as ts.TypeNode) : param.type;\n if (ts.isIdentifier(param.name)) {\n const oldName = param.name.getText();\n const newParamName = Object.keys(mapping).find((key) => oldName.includes(key));\n if (newParamName) {\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n ts.factory.createIdentifier(newParamName),\n param.questionToken,\n newParamType,\n param.initializer\n );\n }\n } else if (ts.isObjectBindingPattern(param.name)) {\n const elements = param.name.elements.map((element) => {\n const newElementName = mapping[element.name.getText()];\n if (newElementName) {\n return ts.factory.updateBindingElement(\n element,\n element.dotDotDotToken,\n element.propertyName,\n ts.factory.createIdentifier(newElementName),\n element.initializer\n );\n }\n return element;\n });\n const newParamName = ts.factory.createObjectBindingPattern(elements);\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n newParamName,\n param.questionToken,\n newParamType,\n param.initializer\n );\n }\n return param;\n });\n\n if (ts.isFunctionDeclaration(node)) {\n const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;\n return ts.factory.updateFunctionDeclaration(\n node,\n node.modifiers,\n node.asteriskToken,\n newName ? ts.factory.createIdentifier(newName) : node.name,\n node.typeParameters,\n parameters,\n node.type,\n updatedBody\n );\n }\n if (ts.isArrowFunction(node)) {\n const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;\n return ts.factory.updateArrowFunction(\n node,\n node.modifiers,\n node.typeParameters,\n parameters,\n node.type,\n node.equalsGreaterThanToken,\n updatedBody\n );\n }\n if (ts.isFunctionExpression(node)) {\n const updatedBody = node.body && ts.isBlock(node.body) ? updateReturnStatement(node.body) : node.body;\n return ts.factory.updateFunctionExpression(\n node,\n node.modifiers,\n node.asteriskToken,\n newName ? ts.factory.createIdentifier(newName) : node.name,\n node.typeParameters,\n parameters,\n node.type,\n updatedBody\n );\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n\n function updateReturnStatement(body: ts.ConciseBody): ts.Block {\n if (ts.isBlock(body)) {\n const updatedStatements: ts.Statement[] = [];\n for (const statement of body.statements) {\n if (ts.isReturnStatement(statement) && statement.expression && ts.isJsxElement(statement.expression)) {\n const jsxElement = statement.expression;\n const openingElement = jsxElement.openingElement;\n const tagName = openingElement.tagName.getText();\n const newTagName = mapping[tagName];\n if (newTagName) {\n const updatedTagName = ts.factory.createIdentifier(newTagName);\n const updatedOpeningElement = ts.factory.updateJsxOpeningElement(\n openingElement,\n updatedTagName,\n openingElement.typeArguments,\n openingElement.attributes\n );\n const updatedClosingElement = jsxElement.closingElement\n ? ts.factory.updateJsxClosingElement(jsxElement.closingElement, updatedTagName)\n : ts.factory.createJsxClosingElement(updatedTagName);\n const updatedJsxElement = ts.factory.createJsxElement(\n updatedOpeningElement,\n jsxElement.children,\n updatedClosingElement\n );\n const updatedStatement = ts.factory.createReturnStatement(updatedJsxElement);\n updatedStatements.push(updatedStatement);\n } else {\n updatedStatements.push(statement);\n }\n } else {\n updatedStatements.push(statement);\n }\n }\n return ts.factory.updateBlock(body, updatedStatements);\n }\n if (\n ts.isExpressionStatement(body) &&\n ts.isReturnStatement(body.expression) &&\n body.expression.expression &&\n ts.isIdentifier(body.expression.expression)\n ) {\n const oldName = body.expression.expression.text;\n const newName = mapping[oldName];\n if (newName) {\n const updatedExpression = ts.factory.createIdentifier(newName);\n const updatedReturnStatement = ts.factory.createReturnStatement(updatedExpression);\n return ts.factory.createBlock([updatedReturnStatement], true);\n }\n }\n return ts.factory.createBlock([], true);\n }\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SourceFileTransformer } from '
|
|
1
|
+
import { SourceFileTransformer } from './index';
|
|
2
2
|
export declare const importTransformer: SourceFileTransformer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","importTransformer","mapping","context","visit","node","ts","isImportDeclaration","moduleSpecifier","getText","slice","oldName","newName","Object","entries","includes","replace","importClause","namedBindings","isNamedImports","transformedBindings","elements","map","element","originalName","propertyName","text","name","aliasName","startsWith","endsWith","factory","updateImportSpecifier","createIdentifier","undefined","updatedImportClause","updateImportClause","isTypeOnly","createNamedImports","updateImportDeclaration","modifiers","createStringLiteral","isImportEqualsDeclaration","moduleReference","updatedImportEqualsDeclaration","updateImportEqualsDeclaration","createExternalModuleReference","isCallExpression","isIdentifier","expression","firstArg","arguments","isStringLiteral","updatedArg","updateCallExpression","typeArguments","visitEachChild","visitNode","exports"],"sources":["import.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from '
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","obj","__esModule","default","importTransformer","mapping","context","visit","node","ts","isImportDeclaration","moduleSpecifier","getText","slice","oldName","newName","Object","entries","includes","replace","importClause","namedBindings","isNamedImports","transformedBindings","elements","map","element","originalName","propertyName","text","name","aliasName","startsWith","endsWith","factory","updateImportSpecifier","createIdentifier","undefined","updatedImportClause","updateImportClause","isTypeOnly","createNamedImports","updateImportDeclaration","modifiers","createStringLiteral","isImportEqualsDeclaration","moduleReference","updatedImportEqualsDeclaration","updateImportEqualsDeclaration","createExternalModuleReference","isCallExpression","isIdentifier","expression","firstArg","arguments","isStringLiteral","updatedArg","updateCallExpression","typeArguments","visitEachChild","visitNode","exports"],"sources":["import.ts"],"sourcesContent":["import ts from 'typescript';\nimport { SourceFileTransformer } from './index';\n\nexport const importTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {\n return (context) => {\n const visit: ts.Visitor = (node) => {\n if (ts.isImportDeclaration(node)) {\n let moduleSpecifier = node.moduleSpecifier.getText().slice(1, -1);\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (moduleSpecifier.includes(oldName)) {\n moduleSpecifier = moduleSpecifier.replace(oldName, newName);\n }\n }\n\n if (node.importClause?.namedBindings && ts.isNamedImports(node.importClause.namedBindings)) {\n const transformedBindings = node.importClause.namedBindings.elements.map((element) => {\n let originalName = element.propertyName ? element.propertyName.text : element.name.text;\n const aliasName = element.name.text;\n\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (originalName.startsWith(oldName) || originalName.endsWith(oldName)) {\n originalName = originalName.replace(oldName, newName);\n }\n }\n\n return ts.factory.updateImportSpecifier(\n element,\n false,\n element.propertyName ? ts.factory.createIdentifier(originalName) : undefined,\n ts.factory.createIdentifier(aliasName)\n );\n });\n\n const updatedImportClause = ts.factory.updateImportClause(\n node.importClause,\n node.importClause.isTypeOnly,\n node.importClause.name,\n ts.factory.createNamedImports(transformedBindings)\n );\n\n return ts.factory.updateImportDeclaration(\n node,\n node.modifiers,\n updatedImportClause,\n ts.factory.createStringLiteral(moduleSpecifier),\n undefined\n );\n }\n\n return ts.factory.updateImportDeclaration(\n node,\n node.modifiers,\n node.importClause,\n ts.factory.createStringLiteral(moduleSpecifier),\n undefined\n );\n }\n if (ts.isImportEqualsDeclaration(node)) {\n let moduleSpecifier = node.moduleReference.getText().slice(1, -1);\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (moduleSpecifier.includes(oldName)) {\n moduleSpecifier = moduleSpecifier.replace(oldName, newName);\n }\n }\n\n const updatedImportEqualsDeclaration = ts.factory.updateImportEqualsDeclaration(\n node,\n node.modifiers,\n node.isTypeOnly,\n node.name,\n ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(moduleSpecifier))\n );\n\n return updatedImportEqualsDeclaration;\n }\n\n if (ts.isCallExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === 'require') {\n const [firstArg] = node.arguments;\n\n if (ts.isStringLiteral(firstArg)) {\n let moduleSpecifier = firstArg.text;\n\n for (const [oldName, newName] of Object.entries(mapping)) {\n if (moduleSpecifier.includes(oldName)) {\n moduleSpecifier = moduleSpecifier.replace(oldName, newName);\n }\n }\n\n const updatedArg = ts.factory.createStringLiteral(moduleSpecifier);\n return ts.factory.updateCallExpression(node, node.expression, node.typeArguments, [\n updatedArg,\n ...node.arguments.slice(1),\n ]);\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":[]}
|
|
@@ -17,7 +17,6 @@ import { EnvsMain } from '@teambit/envs';
|
|
|
17
17
|
import { ScopeMain } from '@teambit/scope';
|
|
18
18
|
import { TypeScriptCompilerOptions } from './compiler-options';
|
|
19
19
|
import { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';
|
|
20
|
-
import { TsconfigPathsPerEnv, TsconfigWriter } from './tsconfig-writer';
|
|
21
20
|
export type TsMode = 'build' | 'dev';
|
|
22
21
|
export type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;
|
|
23
22
|
export type APITransformerSlot = SlotRegistry<SchemaNodeTransformer[]>;
|
|
@@ -38,9 +37,8 @@ export declare class TypescriptMain {
|
|
|
38
37
|
readonly scope: ScopeMain;
|
|
39
38
|
readonly depResolver: DependencyResolverMain;
|
|
40
39
|
private envs;
|
|
41
|
-
private tsConfigWriter;
|
|
42
40
|
private aspectLoader;
|
|
43
|
-
constructor(logger: Logger, schemaTransformerSlot: SchemaTransformerSlot, apiTransformerSlot: APITransformerSlot, workspace: Workspace, scope: ScopeMain, depResolver: DependencyResolverMain, envs: EnvsMain,
|
|
41
|
+
constructor(logger: Logger, schemaTransformerSlot: SchemaTransformerSlot, apiTransformerSlot: APITransformerSlot, workspace: Workspace, scope: ScopeMain, depResolver: DependencyResolverMain, envs: EnvsMain, aspectLoader: AspectLoaderMain);
|
|
44
42
|
private tsServer;
|
|
45
43
|
/**
|
|
46
44
|
* create a new compiler.
|
|
@@ -108,11 +106,6 @@ export declare class TypescriptMain {
|
|
|
108
106
|
*/
|
|
109
107
|
getEsmPackageJsonProps(): PackageJsonProps;
|
|
110
108
|
getSupportedFilesForTsserver(components: Component[]): string[];
|
|
111
|
-
cleanTsconfigJson(options?: TsconfigWriterOptions): Promise<string[]>;
|
|
112
|
-
writeTsconfigJson(options?: TsconfigWriterOptions): Promise<{
|
|
113
|
-
cleanResults?: string[];
|
|
114
|
-
writeResults: TsconfigPathsPerEnv[];
|
|
115
|
-
}>;
|
|
116
109
|
private onPreWatch;
|
|
117
110
|
private onComponentChange;
|
|
118
111
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
@@ -166,20 +166,6 @@ function _checkTypes() {
|
|
|
166
166
|
};
|
|
167
167
|
return data;
|
|
168
168
|
}
|
|
169
|
-
function _tsconfigWriter() {
|
|
170
|
-
const data = require("./tsconfig-writer");
|
|
171
|
-
_tsconfigWriter = function () {
|
|
172
|
-
return data;
|
|
173
|
-
};
|
|
174
|
-
return data;
|
|
175
|
-
}
|
|
176
|
-
function _writeTsconfig() {
|
|
177
|
-
const data = _interopRequireDefault(require("./cmds/write-tsconfig.cmd"));
|
|
178
|
-
_writeTsconfig = function () {
|
|
179
|
-
return data;
|
|
180
|
-
};
|
|
181
|
-
return data;
|
|
182
|
-
}
|
|
183
169
|
function _removeTypesTask() {
|
|
184
170
|
const data = require("./remove-types-task");
|
|
185
171
|
_removeTypesTask = function () {
|
|
@@ -194,7 +180,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
194
180
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
195
181
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
196
182
|
class TypescriptMain {
|
|
197
|
-
constructor(logger, schemaTransformerSlot, apiTransformerSlot, workspace, scope, depResolver, envs,
|
|
183
|
+
constructor(logger, schemaTransformerSlot, apiTransformerSlot, workspace, scope, depResolver, envs, aspectLoader) {
|
|
198
184
|
this.logger = logger;
|
|
199
185
|
this.schemaTransformerSlot = schemaTransformerSlot;
|
|
200
186
|
this.apiTransformerSlot = apiTransformerSlot;
|
|
@@ -202,7 +188,6 @@ class TypescriptMain {
|
|
|
202
188
|
this.scope = scope;
|
|
203
189
|
this.depResolver = depResolver;
|
|
204
190
|
this.envs = envs;
|
|
205
|
-
this.tsConfigWriter = tsConfigWriter;
|
|
206
191
|
this.aspectLoader = aspectLoader;
|
|
207
192
|
_defineProperty(this, "tsServer", void 0);
|
|
208
193
|
}
|
|
@@ -346,27 +331,6 @@ class TypescriptMain {
|
|
|
346
331
|
const files = components.map(c => c.filesystem.files).flat().map(f => f.path);
|
|
347
332
|
return files.filter(f => f.endsWith('.ts') || f.endsWith('.tsx'));
|
|
348
333
|
}
|
|
349
|
-
async cleanTsconfigJson(options = {}) {
|
|
350
|
-
const components = await this.workspace.list();
|
|
351
|
-
const runtime = await this.envs.createEnvironment(components);
|
|
352
|
-
const execContext = runtime.getEnvExecutionContext();
|
|
353
|
-
const results = await new (_tsconfigWriter().TsconfigWriter)(this.workspace, this.logger).clean(execContext, options);
|
|
354
|
-
return results;
|
|
355
|
-
}
|
|
356
|
-
async writeTsconfigJson(options = {}) {
|
|
357
|
-
const components = await this.workspace.list();
|
|
358
|
-
const runtime = await this.envs.createEnvironment(components);
|
|
359
|
-
const execContext = runtime.getEnvExecutionContext();
|
|
360
|
-
let cleanResults;
|
|
361
|
-
if (options.clean) {
|
|
362
|
-
cleanResults = await this.tsConfigWriter.clean(execContext, options);
|
|
363
|
-
}
|
|
364
|
-
const writeResults = await this.tsConfigWriter.write(execContext, options);
|
|
365
|
-
return {
|
|
366
|
-
writeResults,
|
|
367
|
-
cleanResults
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
334
|
async onPreWatch(componentIds, watchOpts) {
|
|
371
335
|
const workspace = this.workspace;
|
|
372
336
|
if (!workspace || !watchOpts.spawnTSServer) {
|
|
@@ -399,8 +363,7 @@ class TypescriptMain {
|
|
|
399
363
|
schema.registerParser(new (_typescript5().TypeScriptParser)());
|
|
400
364
|
const logger = loggerExt.createLogger(_typescript4().TypescriptAspect.id);
|
|
401
365
|
aspectLoader.registerPlugins([new (_schemaTransformer().SchemaTransformerPlugin)(schemaTransformerSlot)]);
|
|
402
|
-
const
|
|
403
|
-
const tsMain = new TypescriptMain(logger, schemaTransformerSlot, apiTransformerSlot, workspace, scope, depResolver, envs, tsconfigWriter, aspectLoader);
|
|
366
|
+
const tsMain = new TypescriptMain(logger, schemaTransformerSlot, apiTransformerSlot, workspace, scope, depResolver, envs, aspectLoader);
|
|
404
367
|
tsMain.registerSchemaTransformer([new (_transformers().ExportDeclarationTransformer)(), new (_transformers().ExportAssignmentTransformer)(), new (_transformers().FunctionLikeTransformer)(), new (_transformers().ParameterTransformer)(), new (_transformers().SetAccessorTransformer)(), new (_transformers().GetAccessorTransformer)(), new (_transformers().IndexSignatureTransformer)(), new (_transformers().PropertyDeclarationTransformer)(), new (_transformers().VariableStatementTransformer)(), new (_transformers().VariableDeclaration)(), new (_transformers().SourceFileTransformer)(), new (_transformers().TypeAliasTransformer)(), new (_transformers().ClassDeclarationTransformer)(), new (_transformers().InterfaceDeclarationTransformer)(), new (_transformers().EnumDeclarationTransformer)(), new (_transformers().BindingElementTransformer)(), new (_transformers().IntersectionTypeTransformer)(), new (_transformers().UnionTypeTransformer)(), new (_transformers().TypeReferenceTransformer)(), new (_transformers().TypeLiteralTransformer)(), new (_transformers().LiteralTypeTransformer)(), new (_transformers().TypeQueryTransformer)(), new (_transformers().ArrayTypeTransformer)(), new (_transformers().TypeOperatorTransformer)(), new (_transformers().KeywordTypeTransformer)(), new (_transformers().TupleTypeTransformer)(), new (_transformers().ParenthesizedTypeTransformer)(), new (_transformers().TypePredicateTransformer)(), new (_transformers().IndexedAccessTypeTransformer)(), new (_transformers().TemplateLiteralTypeSpanTransformer)(), new (_transformers().TemplateLiteralTypeTransformer)(), new (_transformers().ThisTypeTransformer)(), new (_transformers().ConditionalTypeTransformer)(), new (_transformers().NamedTupleTransformer)(), new (_transformers().ConstructorTransformer)(), new (_transformers().ImportDeclarationTransformer)(), new (_transformers().ExpressionStatementTransformer)(), new (_transformers().ModuleDeclarationTransformer)(), new (_transformers().DecoratorTransformer)(), new (_transformers().ObjectLiteralExpressionTransformer)(), new (_transformers().ArrayLiteralExpressionTransformer)(), new (_transformers().PropertyAssignmentTransformer)(), new (_transformers().LiteralValueTransformer)()]);
|
|
405
368
|
if (workspace) {
|
|
406
369
|
watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));
|
|
@@ -411,8 +374,7 @@ class TypescriptMain {
|
|
|
411
374
|
builder.registerSnapTasks([removeTypesTask]);
|
|
412
375
|
builder.registerTagTasks([removeTypesTask]);
|
|
413
376
|
const checkTypesCmd = new (_checkTypes().CheckTypesCmd)(tsMain, workspace, logger);
|
|
414
|
-
|
|
415
|
-
cli.register(checkTypesCmd, writeTsconfigCmd);
|
|
377
|
+
cli.register(checkTypesCmd);
|
|
416
378
|
return tsMain;
|
|
417
379
|
}
|
|
418
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_harmony","_cli","_logger","_schema","_typescriptModules","_workspace","_dependencyResolver","_pMapSeries","_tsServer","_typescript2","_aspectLoader","_watcher","_builder","_envs","_scope","_lodash","_typescript3","_typescript4","_typescript5","_schemaTransformer","_transformers","_checkTypes","_tsconfigWriter","_writeTsconfig","_removeTypesTask","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TypescriptMain","constructor","logger","schemaTransformerSlot","apiTransformerSlot","workspace","scope","depResolver","envs","tsConfigWriter","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","afterMutationWithoutTsconfig","raw","tsconfig","TypescriptCompiler","TypescriptAspect","id","getTsserverClient","tsServer","registerSchemaTransformer","register","registerApiTransformer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","compilerOptions","module","lib","createSchemaExtractor","tsserverPath","contextPath","schemaTransformers","apiTransformers","schemaTransformersFromSlot","flatten","Array","from","values","apiTransformersFromSlot","allSchemaTransformers","concat","allApiTransformers","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","endsWith","cleanTsconfigJson","list","runtime","createEnvironment","execContext","getEnvExecutionContext","results","TsconfigWriter","clean","writeTsconfigJson","cleanResults","writeResults","write","onPreWatch","componentIds","watchOpts","spawnTSServer","verbose","checkTypes","getMany","printTypeErrors","Boolean","onComponentChange","component","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","builder","registerParser","TypeScriptParser","createLogger","registerPlugins","SchemaTransformerPlugin","tsconfigWriter","tsMain","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","ExpressionStatementTransformer","ModuleDeclarationTransformer","DecoratorTransformer","ObjectLiteralExpressionTransformer","ArrayLiteralExpressionTransformer","PropertyAssignmentTransformer","LiteralValueTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","removeTypesTask","RemoveTypesTask","registerSnapTasks","registerTagTasks","checkTypesCmd","CheckTypesCmd","writeTsconfigCmd","WriteTsconfigCmd","exports","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","ScopeAspect","BuilderAspect","Slot","withType","addRuntime","context","isArray","newConfig","reduce","acc","transformer","_default"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport { TypescriptCompiler } from '@teambit/typescript.typescript-compiler';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { WatcherAspect, WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { flatten } from 'lodash';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n ExpressionStatementTransformer,\n ModuleDeclarationTransformer,\n ObjectLiteralExpressionTransformer,\n ArrayLiteralExpressionTransformer,\n PropertyAssignmentTransformer,\n DecoratorTransformer,\n LiteralValueTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { TsconfigPathsPerEnv, TsconfigWriter } from './tsconfig-writer';\nimport WriteTsconfigCmd from './cmds/write-tsconfig.cmd';\nimport { RemoveTypesTask } from './remove-types-task';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\nexport type APITransformerSlot = SlotRegistry<SchemaNodeTransformer[]>;\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 apiTransformerSlot: APITransformerSlot,\n readonly workspace: Workspace,\n readonly scope: ScopeMain,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\n private tsConfigWriter: TsconfigWriter,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n private tsServer: TsserverClient;\n /**\n * create a new compiler.\n */\n createCompiler(\n options: TypeScriptCompilerOptions,\n transformers: TsConfigTransformer[] = [],\n tsModule = ts\n ): Compiler {\n const configMutator = new TypescriptConfigMutator(options);\n const transformerContext: TsConfigTransformContext = {};\n const afterMutation = runTransformersWithContext(configMutator.clone(), transformers, transformerContext);\n const afterMutationWithoutTsconfig = { ...afterMutation.raw, tsconfig: '' };\n\n return new TypescriptCompiler(\n TypescriptAspect.id,\n this.logger,\n afterMutationWithoutTsconfig,\n afterMutation.raw.tsconfig,\n tsModule as any\n );\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 registerSchemaTransformer(transformers: SchemaTransformer[]) {\n this.schemaTransformerSlot.register(transformers);\n return this;\n }\n\n registerApiTransformer(transformers: SchemaNodeTransformer[]) {\n this.apiTransformerSlot.register(transformers);\n return this;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n await this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(\n tsconfig: any,\n tsserverPath?: string,\n contextPath?: string,\n schemaTransformers: SchemaTransformer[] = [],\n apiTransformers: SchemaNodeTransformer[] = []\n ): SchemaExtractor {\n const schemaTransformersFromSlot = flatten(Array.from(this.schemaTransformerSlot.values()));\n const apiTransformersFromSlot = flatten(Array.from(this.apiTransformerSlot.values()));\n\n const allSchemaTransformers = schemaTransformers.concat(schemaTransformersFromSlot);\n const allApiTransformers = apiTransformers.concat(apiTransformersFromSlot);\n\n return new TypeScriptExtractor(\n tsconfig,\n allSchemaTransformers,\n allApiTransformers,\n this,\n tsserverPath || this.workspace?.path || '',\n contextPath || this.workspace?.path || '',\n this.depResolver,\n this.workspace,\n this.scope,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n async cleanTsconfigJson(options: TsconfigWriterOptions = {}) {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n const results = await new TsconfigWriter(this.workspace, this.logger).clean(execContext, options);\n\n return results;\n }\n\n async writeTsconfigJson(options: TsconfigWriterOptions = {}): Promise<{\n cleanResults?: string[];\n writeResults: TsconfigPathsPerEnv[];\n }> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n\n let cleanResults: string[] | undefined;\n if (options.clean) {\n cleanResults = await this.tsConfigWriter.clean(execContext, options);\n }\n\n const writeResults = await this.tsConfigWriter.write(execContext, options);\n\n return { writeResults, cleanResults };\n }\n\n private async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(await workspace.getMany(componentIds)) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n ScopeAspect,\n BuilderAspect,\n ];\n static slots = [Slot.withType<SchemaTransformer[]>(), Slot.withType<SchemaNodeTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, scope, builder]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n ScopeMain,\n BuilderMain\n ],\n config,\n [schemaTransformerSlot, apiTransformerSlot]: [SchemaTransformerSlot, APITransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsconfigWriter = new TsconfigWriter(workspace, logger);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n apiTransformerSlot,\n workspace,\n scope,\n depResolver,\n envs,\n tsconfigWriter,\n aspectLoader\n );\n tsMain.registerSchemaTransformer([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n new ExpressionStatementTransformer(),\n new ModuleDeclarationTransformer(),\n new DecoratorTransformer(),\n new ObjectLiteralExpressionTransformer(),\n new ArrayLiteralExpressionTransformer(),\n new PropertyAssignmentTransformer(),\n new LiteralValueTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const removeTypesTask = new RemoveTypesTask();\n builder.registerSnapTasks([removeTypesTask]);\n builder.registerTagTasks([removeTypesTask]);\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n const writeTsconfigCmd = new WriteTsconfigCmd(tsMain);\n cli.register(checkTypesCmd, writeTsconfigCmd);\n\n return tsMain;\n }\n}\n\nTypescriptAspect.addRuntime(TypescriptMain);\n\nexport function runTransformersWithContext(\n config: TypescriptConfigMutator,\n transformers: TsConfigTransformer[] = [],\n context: TsConfigTransformContext\n): TypescriptConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n\nexport default TypescriptMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_harmony","_cli","_logger","_schema","_typescriptModules","_workspace","_dependencyResolver","_pMapSeries","_tsServer","_typescript2","_aspectLoader","_watcher","_builder","_envs","_scope","_lodash","_typescript3","_typescript4","_typescript5","_schemaTransformer","_transformers","_checkTypes","_removeTypesTask","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TypescriptMain","constructor","logger","schemaTransformerSlot","apiTransformerSlot","workspace","scope","depResolver","envs","aspectLoader","createCompiler","options","transformers","tsModule","ts","configMutator","TypescriptConfigMutator","transformerContext","afterMutation","runTransformersWithContext","clone","afterMutationWithoutTsconfig","raw","tsconfig","TypescriptCompiler","TypescriptAspect","id","getTsserverClient","tsServer","registerSchemaTransformer","register","registerApiTransformer","initTsserverClient","projectPath","files","TsserverClient","init","initTsserverClientFromWorkspace","Error","path","createCjsCompiler","getCjsTransformer","createEsmCompiler","getEsmTransformer","cjsTransformer","config","setModule","esmTransformer","setTarget","compilerOptions","module","lib","createSchemaExtractor","tsserverPath","contextPath","schemaTransformers","apiTransformers","schemaTransformersFromSlot","flatten","Array","from","values","apiTransformersFromSlot","allSchemaTransformers","concat","allApiTransformers","TypeScriptExtractor","getCjsPackageJsonProps","main","types","getEsmPackageJsonProps","type","getSupportedFilesForTsserver","components","map","c","filesystem","flat","f","endsWith","onPreWatch","componentIds","watchOpts","spawnTSServer","verbose","checkTypes","getMany","printTypeErrors","Boolean","onComponentChange","component","results","pMapSeries","file","onFileChange","provider","schema","loggerExt","cli","watcher","builder","registerParser","TypeScriptParser","createLogger","registerPlugins","SchemaTransformerPlugin","tsMain","ExportDeclarationTransformer","ExportAssignmentTransformer","FunctionLikeTransformer","ParameterTransformer","SetAccessorTransformer","GetAccessorTransformer","IndexSignatureTransformer","PropertyDeclarationTransformer","VariableStatementTransformer","VariableDeclaration","SourceFileTransformer","TypeAliasTransformer","ClassDeclarationTransformer","InterfaceDeclarationTransformer","EnumDeclarationTransformer","BindingElementTransformer","IntersectionTypeTransformer","UnionTypeTransformer","TypeReferenceTransformer","TypeLiteralTransformer","LiteralTypeTransformer","TypeQueryTransformer","ArrayTypeTransformer","TypeOperatorTransformer","KeywordTypeTransformer","TupleTypeTransformer","ParenthesizedTypeTransformer","TypePredicateTransformer","IndexedAccessTypeTransformer","TemplateLiteralTypeSpanTransformer","TemplateLiteralTypeTransformer","ThisTypeTransformer","ConditionalTypeTransformer","NamedTupleTransformer","ConstructorTransformer","ImportDeclarationTransformer","ExpressionStatementTransformer","ModuleDeclarationTransformer","DecoratorTransformer","ObjectLiteralExpressionTransformer","ArrayLiteralExpressionTransformer","PropertyAssignmentTransformer","LiteralValueTransformer","registerOnPreWatch","bind","registerOnComponentChange","registerOnComponentAdd","removeTypesTask","RemoveTypesTask","registerSnapTasks","registerTagTasks","checkTypesCmd","CheckTypesCmd","exports","MainRuntime","SchemaAspect","LoggerAspect","AspectLoaderAspect","WorkspaceAspect","CLIAspect","DependencyResolverAspect","EnvsAspect","WatcherAspect","ScopeAspect","BuilderAspect","Slot","withType","addRuntime","context","isArray","newConfig","reduce","acc","transformer","_default"],"sources":["typescript.main.runtime.ts"],"sourcesContent":["import ts from 'typescript';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Compiler } from '@teambit/compiler';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { SchemaAspect, SchemaExtractor, SchemaMain } from '@teambit/schema';\nimport { PackageJsonProps } from '@teambit/pkg';\nimport { TypescriptConfigMutator } from '@teambit/typescript.modules.ts-config-mutator';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport pMapSeries from 'p-map-series';\nimport { TsserverClient, TsserverClientOpts } from '@teambit/ts-server';\nimport { TypescriptCompiler } from '@teambit/typescript.typescript-compiler';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { WatcherAspect, WatcherMain, WatchOptions } from '@teambit/watcher';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { flatten } from 'lodash';\nimport { TypeScriptExtractor } from './typescript.extractor';\nimport { TypeScriptCompilerOptions } from './compiler-options';\nimport { TypescriptAspect } from './typescript.aspect';\nimport { TypeScriptParser } from './typescript.parser';\nimport { SchemaNodeTransformer, SchemaTransformer } from './schema-transformer';\nimport { SchemaTransformerPlugin } from './schema-transformer.plugin';\nimport {\n ExportDeclarationTransformer,\n TypeAliasTransformer,\n FunctionLikeTransformer,\n SetAccessorTransformer,\n GetAccessorTransformer,\n IndexSignatureTransformer,\n PropertyDeclarationTransformer,\n ParameterTransformer,\n VariableStatementTransformer,\n VariableDeclaration,\n SourceFileTransformer,\n ClassDeclarationTransformer,\n InterfaceDeclarationTransformer,\n EnumDeclarationTransformer,\n BindingElementTransformer,\n ExportAssignmentTransformer,\n ImportDeclarationTransformer,\n IntersectionTypeTransformer,\n UnionTypeTransformer,\n TypeReferenceTransformer,\n TypeLiteralTransformer,\n LiteralTypeTransformer,\n TypeQueryTransformer,\n ArrayTypeTransformer,\n TypeOperatorTransformer,\n KeywordTypeTransformer,\n TupleTypeTransformer,\n ParenthesizedTypeTransformer,\n TypePredicateTransformer,\n IndexedAccessTypeTransformer,\n TemplateLiteralTypeSpanTransformer,\n TemplateLiteralTypeTransformer,\n ThisTypeTransformer,\n ConditionalTypeTransformer,\n NamedTupleTransformer,\n ConstructorTransformer,\n ExpressionStatementTransformer,\n ModuleDeclarationTransformer,\n ObjectLiteralExpressionTransformer,\n ArrayLiteralExpressionTransformer,\n PropertyAssignmentTransformer,\n DecoratorTransformer,\n LiteralValueTransformer,\n} from './transformers';\nimport { CheckTypesCmd } from './cmds/check-types.cmd';\nimport { RemoveTypesTask } from './remove-types-task';\n\nexport type TsMode = 'build' | 'dev';\n\nexport type SchemaTransformerSlot = SlotRegistry<SchemaTransformer[]>;\nexport type APITransformerSlot = SlotRegistry<SchemaNodeTransformer[]>;\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 apiTransformerSlot: APITransformerSlot,\n readonly workspace: Workspace,\n readonly scope: ScopeMain,\n readonly depResolver: DependencyResolverMain,\n private envs: EnvsMain,\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 const afterMutationWithoutTsconfig = { ...afterMutation.raw, tsconfig: '' };\n\n return new TypescriptCompiler(\n TypescriptAspect.id,\n this.logger,\n afterMutationWithoutTsconfig,\n afterMutation.raw.tsconfig,\n tsModule as any\n );\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 registerSchemaTransformer(transformers: SchemaTransformer[]) {\n this.schemaTransformerSlot.register(transformers);\n return this;\n }\n\n registerApiTransformer(transformers: SchemaNodeTransformer[]) {\n this.apiTransformerSlot.register(transformers);\n return this;\n }\n\n /**\n * starts a tsserver process to communicate with its API.\n * @param projectPath absolute path of the project root directory\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClient(\n projectPath: string,\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n this.tsServer = new TsserverClient(projectPath, this.logger, options, files);\n await this.tsServer.init();\n return this.tsServer;\n }\n\n /**\n * starts a tsserver process to communicate with its API. use only when running on the workspace.\n * @param options TsserverClientOpts\n * @param files optionally, if check-types is enabled, provide files to open and type check.\n * @returns TsserverClient\n */\n async initTsserverClientFromWorkspace(\n options: TsserverClientOpts = {},\n files: string[] = []\n ): Promise<TsserverClient> {\n if (!this.workspace) {\n throw new Error(`initTsserverClientFromWorkspace: workspace was not found`);\n }\n return this.initTsserverClient(this.workspace.path, options, files);\n }\n\n /**\n * Create a compiler instance and run the cjs transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getCjsTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a compiler instance and run the esm transformer for it\n * @param options\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompiler(options: TypeScriptCompilerOptions, transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCompiler(options, [this.getEsmTransformer(), ...transformers], tsModule);\n }\n\n /**\n * Create a transformer that change the ts module to CommonJS\n * @returns\n */\n getCjsTransformer(): TsConfigTransformer {\n const cjsTransformer = (config: TypescriptConfigMutator) => {\n config.setModule('CommonJS');\n return config;\n };\n return cjsTransformer;\n }\n\n /**\n * Create a transformer that change the ts module to ES2020\n * @returns\n */\n getEsmTransformer(): TsConfigTransformer {\n const esmTransformer = (config: TypescriptConfigMutator) => {\n config.setTarget('ES2017');\n config.raw.tsconfig.compilerOptions.module = 'es2020';\n config.raw.tsconfig.compilerOptions.lib = ['es2021', 'dom', 'ESNext.String', 'dom.Iterable'];\n return config;\n };\n return esmTransformer;\n }\n\n /**\n * create an instance of a typescript semantic schema extractor.\n */\n createSchemaExtractor(\n tsconfig: any,\n tsserverPath?: string,\n contextPath?: string,\n schemaTransformers: SchemaTransformer[] = [],\n apiTransformers: SchemaNodeTransformer[] = []\n ): SchemaExtractor {\n const schemaTransformersFromSlot = flatten(Array.from(this.schemaTransformerSlot.values()));\n const apiTransformersFromSlot = flatten(Array.from(this.apiTransformerSlot.values()));\n\n const allSchemaTransformers = schemaTransformers.concat(schemaTransformersFromSlot);\n const allApiTransformers = apiTransformers.concat(apiTransformersFromSlot);\n\n return new TypeScriptExtractor(\n tsconfig,\n allSchemaTransformers,\n allApiTransformers,\n this,\n tsserverPath || this.workspace?.path || '',\n contextPath || this.workspace?.path || '',\n this.depResolver,\n this.workspace,\n this.scope,\n this.aspectLoader,\n this.logger\n );\n }\n\n /**\n * add the default package json properties to the component\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return {\n main: 'dist/{main}.js',\n types: '{main}.ts',\n };\n }\n\n /**\n * add type: module to the package.json props and the default props\n * :TODO @gilad why do we need this DSL? can't I just get the args here.\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return {\n // main: 'dist-esm/{main}.js',\n main: 'dist/{main}.js',\n type: 'module',\n types: '{main}.ts',\n };\n }\n\n getSupportedFilesForTsserver(components: Component[]): string[] {\n const files = components\n .map((c) => c.filesystem.files)\n .flat()\n .map((f) => f.path);\n return files.filter((f) => f.endsWith('.ts') || f.endsWith('.tsx'));\n }\n\n private async onPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const workspace = this.workspace;\n if (!workspace || !watchOpts.spawnTSServer) {\n return;\n }\n const { verbose, checkTypes } = watchOpts;\n const files = checkTypes ? this.getSupportedFilesForTsserver(await workspace.getMany(componentIds)) : [];\n const printTypeErrors = Boolean(checkTypes);\n await this.initTsserverClientFromWorkspace({ verbose, checkTypes, printTypeErrors }, files);\n }\n\n private async onComponentChange(component: Component, files: string[]) {\n if (!this.tsServer) {\n return {\n results: 'N/A',\n };\n }\n await pMapSeries(files, (file) => this.tsServer.onFileChange(file));\n return {\n results: 'succeed',\n };\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n SchemaAspect,\n LoggerAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n CLIAspect,\n DependencyResolverAspect,\n EnvsAspect,\n WatcherAspect,\n ScopeAspect,\n BuilderAspect,\n ];\n static slots = [Slot.withType<SchemaTransformer[]>(), Slot.withType<SchemaNodeTransformer[]>()];\n\n static async provider(\n [schema, loggerExt, aspectLoader, workspace, cli, depResolver, envs, watcher, scope, builder]: [\n SchemaMain,\n LoggerMain,\n AspectLoaderMain,\n Workspace,\n CLIMain,\n DependencyResolverMain,\n EnvsMain,\n WatcherMain,\n ScopeMain,\n BuilderMain\n ],\n config,\n [schemaTransformerSlot, apiTransformerSlot]: [SchemaTransformerSlot, APITransformerSlot]\n ) {\n schema.registerParser(new TypeScriptParser());\n const logger = loggerExt.createLogger(TypescriptAspect.id);\n\n aspectLoader.registerPlugins([new SchemaTransformerPlugin(schemaTransformerSlot)]);\n const tsMain = new TypescriptMain(\n logger,\n schemaTransformerSlot,\n apiTransformerSlot,\n workspace,\n scope,\n depResolver,\n envs,\n aspectLoader\n );\n tsMain.registerSchemaTransformer([\n new ExportDeclarationTransformer(),\n new ExportAssignmentTransformer(),\n new FunctionLikeTransformer(),\n new ParameterTransformer(),\n new SetAccessorTransformer(),\n new GetAccessorTransformer(),\n new IndexSignatureTransformer(),\n new PropertyDeclarationTransformer(),\n new VariableStatementTransformer(),\n new VariableDeclaration(),\n new SourceFileTransformer(),\n new TypeAliasTransformer(),\n new ClassDeclarationTransformer(),\n new InterfaceDeclarationTransformer(),\n new EnumDeclarationTransformer(),\n new BindingElementTransformer(),\n new IntersectionTypeTransformer(),\n new UnionTypeTransformer(),\n new TypeReferenceTransformer(),\n new TypeLiteralTransformer(),\n new LiteralTypeTransformer(),\n new TypeQueryTransformer(),\n new ArrayTypeTransformer(),\n new TypeOperatorTransformer(),\n new KeywordTypeTransformer(),\n new TupleTypeTransformer(),\n new ParenthesizedTypeTransformer(),\n new TypePredicateTransformer(),\n new IndexedAccessTypeTransformer(),\n new TemplateLiteralTypeSpanTransformer(),\n new TemplateLiteralTypeTransformer(),\n new ThisTypeTransformer(),\n new ConditionalTypeTransformer(),\n new NamedTupleTransformer(),\n new ConstructorTransformer(),\n new ImportDeclarationTransformer(),\n new ExpressionStatementTransformer(),\n new ModuleDeclarationTransformer(),\n new DecoratorTransformer(),\n new ObjectLiteralExpressionTransformer(),\n new ArrayLiteralExpressionTransformer(),\n new PropertyAssignmentTransformer(),\n new LiteralValueTransformer(),\n ]);\n\n if (workspace) {\n watcher.registerOnPreWatch(tsMain.onPreWatch.bind(tsMain));\n workspace.registerOnComponentChange(tsMain.onComponentChange.bind(tsMain));\n workspace.registerOnComponentAdd(tsMain.onComponentChange.bind(tsMain));\n }\n\n const removeTypesTask = new RemoveTypesTask();\n builder.registerSnapTasks([removeTypesTask]);\n builder.registerTagTasks([removeTypesTask]);\n\n const checkTypesCmd = new CheckTypesCmd(tsMain, workspace, logger);\n cli.register(checkTypesCmd);\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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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,47 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/typescript",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.260",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/typescript/typescript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.typescript",
|
|
8
8
|
"name": "typescript",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.260"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
13
13
|
"p-map-series": "2.1.0",
|
|
14
14
|
"tsutils": "3.21.0",
|
|
15
15
|
"typescript": "5.3.3",
|
|
16
|
-
"chalk": "2.4.2",
|
|
17
|
-
"fs-extra": "10.0.0",
|
|
18
|
-
"yesno": "0.4.0",
|
|
19
16
|
"get-tsconfig": "4.2.0",
|
|
17
|
+
"fs-extra": "10.0.0",
|
|
18
|
+
"chalk": "2.4.2",
|
|
20
19
|
"@teambit/typescript.typescript-compiler": "2.0.22",
|
|
21
20
|
"@teambit/harmony": "0.4.6",
|
|
22
|
-
"@teambit/compiler": "1.0.
|
|
21
|
+
"@teambit/compiler": "1.0.260",
|
|
23
22
|
"@teambit/typescript.modules.ts-config-mutator": "0.0.83",
|
|
24
|
-
"@teambit/builder": "1.0.
|
|
25
|
-
"@teambit/isolator": "1.0.
|
|
26
|
-
"@teambit/component": "1.0.
|
|
27
|
-
"@teambit/dependency-resolver": "1.0.
|
|
28
|
-
"@teambit/formatter": "1.0.
|
|
23
|
+
"@teambit/builder": "1.0.260",
|
|
24
|
+
"@teambit/isolator": "1.0.260",
|
|
25
|
+
"@teambit/component": "1.0.260",
|
|
26
|
+
"@teambit/dependency-resolver": "1.0.260",
|
|
27
|
+
"@teambit/formatter": "1.0.260",
|
|
29
28
|
"@teambit/semantics.entities.semantic-schema": "0.0.69",
|
|
30
29
|
"@teambit/ts-server": "0.0.56",
|
|
31
|
-
"@teambit/aspect-loader": "1.0.
|
|
32
|
-
"@teambit/envs": "1.0.
|
|
33
|
-
"@teambit/logger": "0.0.
|
|
34
|
-
"@teambit/
|
|
35
|
-
"@teambit/
|
|
36
|
-
"@teambit/
|
|
37
|
-
"@teambit/cli": "0.0.
|
|
38
|
-
"@teambit/pkg": "1.0.
|
|
39
|
-
"@teambit/watcher": "1.0.
|
|
30
|
+
"@teambit/aspect-loader": "1.0.260",
|
|
31
|
+
"@teambit/envs": "1.0.260",
|
|
32
|
+
"@teambit/logger": "0.0.956",
|
|
33
|
+
"@teambit/schema": "1.0.260",
|
|
34
|
+
"@teambit/scope": "1.0.260",
|
|
35
|
+
"@teambit/workspace": "1.0.260",
|
|
36
|
+
"@teambit/cli": "0.0.863",
|
|
37
|
+
"@teambit/pkg": "1.0.260",
|
|
38
|
+
"@teambit/watcher": "1.0.260"
|
|
40
39
|
},
|
|
41
40
|
"devDependencies": {
|
|
41
|
+
"@types/lodash": "4.14.165",
|
|
42
42
|
"@types/chai": "4.2.15",
|
|
43
43
|
"chai": "4.3.0",
|
|
44
|
-
"@types/lodash": "4.14.165",
|
|
45
44
|
"@types/fs-extra": "9.0.7",
|
|
46
45
|
"@types/mocha": "9.1.0",
|
|
47
46
|
"@teambit/harmony.envs.core-aspect-env": "0.0.33",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
import { SourceFileTransformer } from '
|
|
2
|
+
import { SourceFileTransformer } from './index';
|
|
3
3
|
import { replaceName } from './replaceName';
|
|
4
4
|
|
|
5
5
|
export const expressionStatementTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
import { SourceFileTransformer } from '
|
|
2
|
+
import { SourceFileTransformer } from './index';
|
|
3
3
|
import { replaceName } from './replaceName';
|
|
4
4
|
|
|
5
5
|
export const functionNamesTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {
|