@teambit/typescript 0.0.1125 → 0.0.1126
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/{preview-1690973995513.js → preview-1691523857630.js} +2 -2
- package/dist/sourceFileTransformers/function.js +10 -6
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.js +5 -4
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/package-tar/teambit-typescript-0.0.1126.tgz +0 -0
- package/package.json +18 -18
- package/sourceFileTransformers/function.ts +14 -6
- package/sourceFileTransformers/import.ts +6 -5
- package/package-tar/teambit-typescript-0.0.1125.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.1126/dist/typescript.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.1126/dist/typescript.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -23,14 +23,18 @@ function _replaceName() {
|
|
|
23
23
|
const functionNamesTransformer = mapping => {
|
|
24
24
|
return context => {
|
|
25
25
|
const updateTypeReference = node => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
try {
|
|
27
|
+
if (_typescript().default.isTypeReferenceNode(node) && node.typeName) {
|
|
28
|
+
const typeName = node.typeName.getText(node.getSourceFile());
|
|
29
|
+
const newTypeName = (0, _replaceName().replaceName)(typeName, mapping);
|
|
30
|
+
if (newTypeName) {
|
|
31
|
+
return _typescript().default.factory.updateTypeReferenceNode(node, _typescript().default.factory.createIdentifier(newTypeName), node.typeArguments);
|
|
32
|
+
}
|
|
31
33
|
}
|
|
34
|
+
return _typescript().default.visitEachChild(node, updateTypeReference, context);
|
|
35
|
+
} catch (e) {
|
|
36
|
+
return node;
|
|
32
37
|
}
|
|
33
|
-
return _typescript().default.visitEachChild(node, updateTypeReference, context);
|
|
34
38
|
};
|
|
35
39
|
const visit = node => {
|
|
36
40
|
if (_typescript().default.isFunctionDeclaration(node) || _typescript().default.isArrowFunction(node) || _typescript().default.isFunctionExpression(node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","functionNamesTransformer","mapping","context","updateTypeReference","node","ts","isTypeReferenceNode","typeName","getText","newTypeName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","visit","isFunctionDeclaration","isArrowFunction","isFunctionExpression","_node$name$getText","_node$name","_Object$entries$find$","_Object$entries$find","functionName","name","newName","Object","entries","find","key","includes","parameters","map","param","newParamType","type","visitNode","isIdentifier","oldName","newParamName","keys","updateParameterDeclaration","decorators","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 if (ts.isTypeReferenceNode(node)) {\n const typeName = node.typeName.getText();\n const newTypeName = replaceName(typeName, mapping);\n if (newTypeName) {\n return ts.factory.updateTypeReferenceNode(node, ts.factory.createIdentifier(newTypeName), node.typeArguments);\n }\n }\n return ts.visitEachChild(node, updateTypeReference, context);\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) : 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.decorators,\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.decorators,\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.decorators,\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);\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","functionNamesTransformer","mapping","context","updateTypeReference","node","ts","isTypeReferenceNode","typeName","getText","getSourceFile","newTypeName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","e","visit","isFunctionDeclaration","isArrowFunction","isFunctionExpression","_node$name$getText","_node$name","_Object$entries$find$","_Object$entries$find","functionName","name","newName","Object","entries","find","key","includes","parameters","map","param","newParamType","type","visitNode","isIdentifier","oldName","newParamName","keys","updateParameterDeclaration","decorators","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) : 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.decorators,\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.decorators,\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.decorators,\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);\n };\n};\n"],"mappings":"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"}
|
|
@@ -28,13 +28,14 @@ const importTransformer = mapping => {
|
|
|
28
28
|
}
|
|
29
29
|
if ((_node$importClause = node.importClause) !== null && _node$importClause !== void 0 && _node$importClause.namedBindings && _typescript().default.isNamedImports(node.importClause.namedBindings)) {
|
|
30
30
|
const transformedBindings = node.importClause.namedBindings.elements.map(element => {
|
|
31
|
-
let
|
|
31
|
+
let originalName = element.propertyName ? element.propertyName.text : element.name.text;
|
|
32
|
+
const aliasName = element.name.text;
|
|
32
33
|
for (const [oldName, newName] of Object.entries(mapping)) {
|
|
33
|
-
if (
|
|
34
|
-
|
|
34
|
+
if (originalName.startsWith(oldName) || originalName.endsWith(oldName)) {
|
|
35
|
+
originalName = originalName.replace(oldName, newName);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
return _typescript().default.factory.updateImportSpecifier(element, false, element.propertyName ? _typescript().default.factory.createIdentifier(
|
|
38
|
+
return _typescript().default.factory.updateImportSpecifier(element, false, element.propertyName ? _typescript().default.factory.createIdentifier(originalName) : undefined, _typescript().default.factory.createIdentifier(aliasName));
|
|
38
39
|
});
|
|
39
40
|
const updatedImportClause = _typescript().default.factory.updateImportClause(node.importClause, node.importClause.isTypeOnly, node.importClause.name, _typescript().default.factory.createNamedImports(transformedBindings));
|
|
40
41
|
return _typescript().default.factory.updateImportDeclaration(node, node.decorators, node.modifiers, updatedImportClause, _typescript().default.factory.createStringLiteral(moduleSpecifier), undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","importTransformer","mapping","context","visit","node","ts","isImportDeclaration","_node$importClause","moduleSpecifier","getText","slice","oldName","newName","Object","entries","includes","replace","importClause","namedBindings","isNamedImports","transformedBindings","elements","map","element","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","importTransformer","mapping","context","visit","node","ts","isImportDeclaration","_node$importClause","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","decorators","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 '.';\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.decorators,\n node.modifiers,\n updatedImportClause,\n ts.factory.createStringLiteral(moduleSpecifier),\n undefined\n );\n }\n\n return ts.factory.updateImportDeclaration(\n node,\n node.decorators,\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.decorators,\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);\n };\n};\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/typescript",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1126",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/typescript/typescript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.typescript",
|
|
8
8
|
"name": "typescript",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.1126"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -20,25 +20,25 @@
|
|
|
20
20
|
"core-js": "^3.0.0",
|
|
21
21
|
"@babel/runtime": "7.20.0",
|
|
22
22
|
"@teambit/harmony": "0.4.6",
|
|
23
|
-
"@teambit/compiler": "0.0.
|
|
23
|
+
"@teambit/compiler": "0.0.1126",
|
|
24
24
|
"@teambit/typescript.modules.ts-config-mutator": "0.0.76",
|
|
25
|
-
"@teambit/builder": "0.0.
|
|
26
|
-
"@teambit/isolator": "0.0.
|
|
27
|
-
"@teambit/component": "0.0.
|
|
28
|
-
"@teambit/dependency-resolver": "0.0.
|
|
29
|
-
"@teambit/formatter": "0.0.
|
|
25
|
+
"@teambit/builder": "0.0.1126",
|
|
26
|
+
"@teambit/isolator": "0.0.1126",
|
|
27
|
+
"@teambit/component": "0.0.1126",
|
|
28
|
+
"@teambit/dependency-resolver": "0.0.1126",
|
|
29
|
+
"@teambit/formatter": "0.0.677",
|
|
30
30
|
"@teambit/semantics.entities.semantic-schema": "0.0.53",
|
|
31
31
|
"@teambit/ts-server": "0.0.48",
|
|
32
|
-
"@teambit/aspect-loader": "0.0.
|
|
33
|
-
"@teambit/envs": "0.0.
|
|
34
|
-
"@teambit/logger": "0.0.
|
|
35
|
-
"@teambit/workspace": "0.0.
|
|
32
|
+
"@teambit/aspect-loader": "0.0.1126",
|
|
33
|
+
"@teambit/envs": "0.0.1126",
|
|
34
|
+
"@teambit/logger": "0.0.846",
|
|
35
|
+
"@teambit/workspace": "0.0.1126",
|
|
36
36
|
"@teambit/bit-error": "0.0.402",
|
|
37
|
-
"@teambit/schema": "0.0.
|
|
38
|
-
"@teambit/scope": "0.0.
|
|
39
|
-
"@teambit/cli": "0.0.
|
|
40
|
-
"@teambit/pkg": "0.0.
|
|
41
|
-
"@teambit/watcher": "0.0.
|
|
37
|
+
"@teambit/schema": "0.0.1126",
|
|
38
|
+
"@teambit/scope": "0.0.1126",
|
|
39
|
+
"@teambit/cli": "0.0.753",
|
|
40
|
+
"@teambit/pkg": "0.0.1126",
|
|
41
|
+
"@teambit/watcher": "0.0.138"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/lodash": "4.14.165",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@teambit/typescript.aspect-docs.typescript": "0.0.154"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@teambit/legacy": "1.0.
|
|
57
|
+
"@teambit/legacy": "1.0.535",
|
|
58
58
|
"react": "^16.8.0 || ^17.0.0",
|
|
59
59
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
60
60
|
},
|
|
@@ -5,14 +5,22 @@ import { replaceName } from './replaceName';
|
|
|
5
5
|
export const functionNamesTransformer: SourceFileTransformer = (mapping: Record<string, string>) => {
|
|
6
6
|
return (context) => {
|
|
7
7
|
const updateTypeReference: ts.Visitor = (node) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
try {
|
|
9
|
+
if (ts.isTypeReferenceNode(node) && node.typeName) {
|
|
10
|
+
const typeName = node.typeName.getText(node.getSourceFile());
|
|
11
|
+
const newTypeName = replaceName(typeName, mapping);
|
|
12
|
+
if (newTypeName) {
|
|
13
|
+
return ts.factory.updateTypeReferenceNode(
|
|
14
|
+
node,
|
|
15
|
+
ts.factory.createIdentifier(newTypeName),
|
|
16
|
+
node.typeArguments
|
|
17
|
+
);
|
|
18
|
+
}
|
|
13
19
|
}
|
|
20
|
+
return ts.visitEachChild(node, updateTypeReference, context);
|
|
21
|
+
} catch (e) {
|
|
22
|
+
return node;
|
|
14
23
|
}
|
|
15
|
-
return ts.visitEachChild(node, updateTypeReference, context);
|
|
16
24
|
};
|
|
17
25
|
|
|
18
26
|
const visit: ts.Visitor = (node) => {
|
|
@@ -14,19 +14,20 @@ export const importTransformer: SourceFileTransformer = (mapping: Record<string,
|
|
|
14
14
|
|
|
15
15
|
if (node.importClause?.namedBindings && ts.isNamedImports(node.importClause.namedBindings)) {
|
|
16
16
|
const transformedBindings = node.importClause.namedBindings.elements.map((element) => {
|
|
17
|
-
let
|
|
17
|
+
let originalName = element.propertyName ? element.propertyName.text : element.name.text;
|
|
18
|
+
const aliasName = element.name.text;
|
|
18
19
|
|
|
19
20
|
for (const [oldName, newName] of Object.entries(mapping)) {
|
|
20
|
-
if (
|
|
21
|
-
|
|
21
|
+
if (originalName.startsWith(oldName) || originalName.endsWith(oldName)) {
|
|
22
|
+
originalName = originalName.replace(oldName, newName);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
return ts.factory.updateImportSpecifier(
|
|
26
27
|
element,
|
|
27
28
|
false,
|
|
28
|
-
element.propertyName ? ts.factory.createIdentifier(
|
|
29
|
-
ts.factory.createIdentifier(
|
|
29
|
+
element.propertyName ? ts.factory.createIdentifier(originalName) : undefined,
|
|
30
|
+
ts.factory.createIdentifier(aliasName)
|
|
30
31
|
);
|
|
31
32
|
});
|
|
32
33
|
|
|
Binary file
|