@teambit/typescript 1.0.281 → 1.0.283
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 +12 -12
- package/artifacts/preview/teambit_typescript_typescript-preview.js +1 -1
- package/artifacts/schema.json +3 -3
- package/dist/cmds/check-types.cmd.js +2 -2
- package/dist/cmds/check-types.cmd.js.map +1 -1
- package/dist/exceptions/transformer-not-found.js +1 -1
- package/dist/exceptions/transformer-not-found.js.map +1 -1
- package/dist/export-identifier.js +1 -1
- package/dist/export-identifier.js.map +1 -1
- package/dist/{preview-1716434516635.js → preview-1716607230882.js} +2 -2
- package/dist/remove-types-task.js +2 -2
- package/dist/remove-types-task.js.map +1 -1
- package/dist/schema-extractor-context.js +2 -2
- package/dist/schema-extractor-context.js.map +1 -1
- package/dist/schema-transformer.plugin.js +1 -1
- package/dist/sourceFileTransformers/class.js +1 -1
- package/dist/sourceFileTransformers/class.js.map +1 -1
- package/dist/sourceFileTransformers/empty-line-encoder.js +2 -2
- package/dist/sourceFileTransformers/empty-line-encoder.js.map +1 -1
- package/dist/sourceFileTransformers/export.js +1 -1
- package/dist/sourceFileTransformers/export.js.map +1 -1
- package/dist/sourceFileTransformers/expression-statement.js +1 -1
- package/dist/sourceFileTransformers/expression-statement.js.map +1 -1
- package/dist/sourceFileTransformers/function.js +1 -1
- package/dist/sourceFileTransformers/function.js.map +1 -1
- package/dist/sourceFileTransformers/import.js +1 -1
- package/dist/sourceFileTransformers/import.js.map +1 -1
- package/dist/sourceFileTransformers/interface.js +1 -1
- package/dist/sourceFileTransformers/interface.js.map +1 -1
- package/dist/sourceFileTransformers/replaceName.js.map +1 -1
- package/dist/sourceFileTransformers/transform.js +1 -1
- package/dist/sourceFileTransformers/transform.js.map +1 -1
- package/dist/sourceFileTransformers/type-reference.js +1 -1
- package/dist/sourceFileTransformers/type-reference.js.map +1 -1
- package/dist/sourceFileTransformers/typeAlias.js +1 -1
- package/dist/sourceFileTransformers/typeAlias.js.map +1 -1
- package/dist/sourceFileTransformers/variable.js +1 -1
- package/dist/sourceFileTransformers/variable.js.map +1 -1
- package/dist/transform-source-file.spec.js +1 -1
- package/dist/transform-source-file.spec.js.map +1 -1
- package/dist/transformers/array-literal-expression.js +1 -1
- package/dist/transformers/array-literal-expression.js.map +1 -1
- package/dist/transformers/array-type.js +1 -1
- package/dist/transformers/array-type.js.map +1 -1
- package/dist/transformers/binding-element.js +1 -1
- package/dist/transformers/binding-element.js.map +1 -1
- package/dist/transformers/class-declaration.js +2 -2
- package/dist/transformers/class-declaration.js.map +1 -1
- package/dist/transformers/constructor.js +1 -1
- package/dist/transformers/constructor.js.map +1 -1
- package/dist/transformers/decorator.js +1 -1
- package/dist/transformers/decorator.js.map +1 -1
- package/dist/transformers/enum-declaration.js +1 -1
- package/dist/transformers/enum-declaration.js.map +1 -1
- package/dist/transformers/export-declaration.js.map +1 -1
- package/dist/transformers/expression-statement.js +1 -1
- package/dist/transformers/expression-statement.js.map +1 -1
- package/dist/transformers/function-like.js +1 -1
- package/dist/transformers/function-like.js.map +1 -1
- package/dist/transformers/get-accessor.js +1 -1
- package/dist/transformers/get-accessor.js.map +1 -1
- package/dist/transformers/index-signature.js +1 -1
- package/dist/transformers/index-signature.js.map +1 -1
- package/dist/transformers/interface-declaration.js +2 -2
- package/dist/transformers/interface-declaration.js.map +1 -1
- package/dist/transformers/intersection-type.js +1 -1
- package/dist/transformers/intersection-type.js.map +1 -1
- package/dist/transformers/literal-type.js +1 -1
- package/dist/transformers/literal-type.js.map +1 -1
- package/dist/transformers/literal-value.js +1 -1
- package/dist/transformers/literal-value.js.map +1 -1
- package/dist/transformers/module-declaration.js +1 -1
- package/dist/transformers/module-declaration.js.map +1 -1
- package/dist/transformers/object-literal-expression.js +1 -1
- package/dist/transformers/object-literal-expression.js.map +1 -1
- package/dist/transformers/parameter.js +1 -1
- package/dist/transformers/parameter.js.map +1 -1
- package/dist/transformers/property-assignment.js +1 -1
- package/dist/transformers/property-assignment.js.map +1 -1
- package/dist/transformers/set-accessor.js +1 -1
- package/dist/transformers/set-accessor.js.map +1 -1
- package/dist/transformers/source-file-transformer.js +1 -1
- package/dist/transformers/source-file-transformer.js.map +1 -1
- package/dist/transformers/template-literal-type.js +1 -1
- package/dist/transformers/template-literal-type.js.map +1 -1
- package/dist/transformers/tuple-type.js +1 -1
- package/dist/transformers/tuple-type.js.map +1 -1
- package/dist/transformers/type-alias.js +1 -1
- package/dist/transformers/type-alias.js.map +1 -1
- package/dist/transformers/type-literal.js +1 -1
- package/dist/transformers/type-literal.js.map +1 -1
- package/dist/transformers/type-operator.js.map +1 -1
- package/dist/transformers/type-query.js +1 -1
- package/dist/transformers/type-query.js.map +1 -1
- package/dist/transformers/type-reference.js +1 -1
- package/dist/transformers/type-reference.js.map +1 -1
- package/dist/transformers/union-type.js +1 -1
- package/dist/transformers/union-type.js.map +1 -1
- package/dist/transformers/utils/parse-type-from-quick-info.js.map +1 -1
- package/dist/transformers/variable-declaration.js +1 -1
- package/dist/transformers/variable-declaration.js.map +1 -1
- package/dist/transformers/variable-statement.js +1 -1
- package/dist/transformers/variable-statement.js.map +1 -1
- package/dist/typescript.composition.js +1 -1
- package/dist/typescript.composition.js.map +1 -1
- package/dist/typescript.extractor.js +2 -2
- package/dist/typescript.extractor.js.map +1 -1
- package/dist/typescript.main.runtime.js +2 -2
- package/dist/typescript.main.runtime.js.map +1 -1
- package/dist/typescript.parser.js +2 -2
- package/dist/typescript.parser.js.map +1 -1
- package/dist/typescript.parser.spec.js +1 -1
- package/dist/typescript.parser.spec.js.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","classNamesTransformer","nameMapping","context","factory","visit","node","ts","isClassDeclaration","name","oldName","text","newName","replaceName","updatedMembers","members","map","member","isPropertyDeclaration","oldMemberName","getText","newMemberName","updatePropertyDeclaration","modifiers","createIdentifier","questionToken","type","initializer","isMethodDeclaration","updatedParameters","parameters","param","updateParameterDeclaration","dotDotDotToken","updateMethodDeclaration","asteriskToken","typeParameters","body","updateClassDeclaration","heritageClauses","visitEachChild","visitNode"],"sources":["class.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function classNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context: ts.TransformationContext) => {\n const { factory } = context;\n\n const visit: ts.Visitor = (node) => {\n if (ts.isClassDeclaration(node) && node.name) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n\n if (newName) {\n const updatedMembers = node.members.map((member) => {\n if (ts.isPropertyDeclaration(member)) {\n const oldMemberName = member.name.getText();\n const newMemberName = replaceName(oldMemberName, nameMapping);\n return factory.updatePropertyDeclaration(\n member,\n member.modifiers,\n newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,\n member.questionToken,\n member.type,\n member.initializer\n );\n }\n\n if (ts.isMethodDeclaration(member)) {\n const oldMemberName = member.name.getText();\n const newMemberName = replaceName(oldMemberName, nameMapping);\n\n const updatedParameters = member.parameters.map((param) => {\n return ts.factory.updateParameterDeclaration(\n param,\n param.modifiers,\n param.dotDotDotToken,\n param.name,\n param.questionToken,\n param.type,\n param.initializer\n );\n });\n\n return factory.updateMethodDeclaration(\n member,\n member.modifiers,\n member.asteriskToken,\n newMemberName ? ts.factory.createIdentifier(newMemberName) : member.name,\n member.questionToken,\n member.typeParameters,\n updatedParameters,\n member.type,\n member.body\n );\n }\n return member;\n });\n\n return factory.updateClassDeclaration(\n node,\n node.modifiers,\n factory.createIdentifier(newName),\n node.typeParameters,\n node.heritageClauses,\n updatedMembers\n );\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,8 +14,8 @@ function _typescript() {
|
|
|
14
14
|
};
|
|
15
15
|
return data;
|
|
16
16
|
}
|
|
17
|
-
function _interopRequireDefault(
|
|
18
|
-
function _defineProperty(
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
20
20
|
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); }
|
|
21
21
|
class EmptyLineEncoder {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","EmptyLineEncoder","constructor","emptyLineMarker","newLine","defaultEmptyLineMarker","defaultNewLine","encode","text","encodeEmptyLines","decode","decodeEmptyLines","addLeadingEmptyLineMarker","node","exports","marker","toComment","lines","split","commentedLines","map","line","trim","join","uncommentedLines","ts","addSyntheticLeadingComment","SyntaxKind","MultiLineCommentTrivia"],"sources":["empty-line-encoder.ts"],"sourcesContent":["import ts from 'typescript';\n\nexport class EmptyLineEncoder {\n static readonly defaultEmptyLineMarker: string = '!--empty-line--!';\n static readonly defaultNewLine: string = '\\r\\n';\n constructor(emptyLineMarker?: string, newLine?: string) {\n this.emptyLineMarker = emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker;\n this.newLine = newLine || EmptyLineEncoder.defaultNewLine;\n }\n emptyLineMarker: string;\n newLine: string;\n\n encode(text: string) {\n return encodeEmptyLines(text, this.emptyLineMarker, this.newLine);\n }\n decode(text: string) {\n return decodeEmptyLines(text, this.emptyLineMarker, this.newLine);\n }\n addLeadingEmptyLineMarker<T extends ts.Node>(node: T) {\n return addLeadingEmptyLineMarker(node, this.emptyLineMarker);\n }\n}\n\nexport function encodeEmptyLines(text: string, emptyLineMarker?: string, newLine?: string) {\n const marker = toComment(emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker);\n\n const lines = text.split(/\\r?\\n/);\n\n const commentedLines = lines.map((line) => (line.trim() === '' ? marker : line));\n\n return commentedLines.join(newLine || EmptyLineEncoder.defaultNewLine);\n}\n\nexport function decodeEmptyLines(text: string, emptyLineMarker?: string, newLine?: string) {\n const marker = toComment(emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker);\n\n const lines = text.split(/\\r?\\n/);\n\n const uncommentedLines = lines.map((line) => (line.trim() === marker ? '' : line));\n\n return uncommentedLines.join(newLine || EmptyLineEncoder.defaultNewLine);\n}\n\nexport function addLeadingEmptyLineMarker<T extends ts.Node>(node: T, emptyLineMarker?: string) {\n return ts.addSyntheticLeadingComment(\n node,\n ts.SyntaxKind.MultiLineCommentTrivia,\n emptyLineMarker || EmptyLineEncoder.defaultEmptyLineMarker,\n // hasTrailingNewLine\n true\n );\n}\n\nfunction toComment(marker: string) {\n return `/*${marker}*/`;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ function _typescript() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const exportTransformer = mapping => {
|
|
16
16
|
return context => {
|
|
17
17
|
const visit = node => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","e","__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":[]}
|
|
@@ -18,7 +18,7 @@ function _replaceName() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function _interopRequireDefault(
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
const expressionStatementTransformer = mapping => {
|
|
23
23
|
return context => {
|
|
24
24
|
const replaceIdentifierText = identifier => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","expressionStatementTransformer","mapping","context","replaceIdentifierText","identifier","ts","isIdentifier","oldName","getText","newName","replaceName","factory","createIdentifier","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,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;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,OAAOP,CAAC,EAAE;QACV,OAAOO,UAAU;MACnB;IACF,CAAC;IAED,MAAMS,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIT,qBAAE,CAACU,qBAAqB,CAACD,IAAI,CAAC,EAAE;QAClC,OAAOT,qBAAE,CAACM,OAAO,CAACK,yBAAyB,CAACF,IAAI,EAAET,qBAAE,CAACY,SAAS,CAACH,IAAI,CAACI,UAAU,EAAEL,KAAK,CAAkB,CAAC;MAC1G;MAEA,IAAIR,qBAAE,CAACc,0BAA0B,CAACL,IAAI,CAAC,EAAE;QACvC,IAAIL,OAAO,GAAGK,IAAI,CAACM,IAAI;QACvB,IAAIf,qBAAE,CAACC,YAAY,CAACQ,IAAI,CAACM,IAAI,CAAC,EAAE;UAC9BX,OAAO,GAAGN,qBAAqB,CAACW,IAAI,CAACM,IAAI,CAAC;QAC5C;QACA,OAAOf,qBAAE,CAACM,OAAO,CAACU,8BAA8B,CAC9CP,IAAI,EACJT,qBAAE,CAACY,SAAS,CAACH,IAAI,CAACI,UAAU,EAAEL,KAAK,CAAC,EACpCJ,OACF,CAAC;MACH;MAEA,IAAIJ,qBAAE,CAACC,YAAY,CAACQ,IAAI,CAAC,EAAE;QACzB,OAAOX,qBAAqB,CAACW,IAAI,CAAC;MACpC;MAEA,OAAOT,qBAAE,CAACiB,cAAc,CAACR,IAAI,EAAED,KAAK,EAAEX,OAAO,CAAC;IAChD,CAAC;IAED,OAAQY,IAAI,IAAKT,qBAAE,CAACY,SAAS,CAACH,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH,CAAC;AAACU,OAAA,CAAAvB,8BAAA,GAAAA,8BAAA","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ function _replaceName() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function _interopRequireDefault(
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
const functionNamesTransformer = mapping => {
|
|
23
23
|
return context => {
|
|
24
24
|
const updateTypeReference = node => {
|
|
@@ -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 './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":";;;;;;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,wBAA+C,GAAIC,OAA+B,IAAK;EAClG,OAAQC,OAAO,IAAK;IAClB,MAAMC,mBAA+B,GAAIC,IAAI,IAAK;MAChD,IAAI;QACF,IAAIC,qBAAE,CAACC,mBAAmB,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,QAAQ,EAAE;UACjD,MAAMA,QAAQ,GAAGH,IAAI,CAACG,QAAQ,CAACC,OAAO,CAACJ,IAAI,CAACK,aAAa,CAAC,CAAC,CAAC;UAC5D,MAAMC,WAAW,GAAG,IAAAC,0BAAW,EAACJ,QAAQ,EAAEN,OAAO,CAAC;UAClD,IAAIS,WAAW,EAAE;YACf,OAAOL,qBAAE,CAACO,OAAO,CAACC,uBAAuB,CACvCT,IAAI,EACJC,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACJ,WAAW,CAAC,EACxCN,IAAI,CAACW,aACP,CAAC;UACH;QACF;QACA,OAAOV,qBAAE,CAACW,cAAc,CAACZ,IAAI,EAAED,mBAAmB,EAAED,OAAO,CAAC;MAC9D,CAAC,CAAC,OAAOe,CAAC,EAAE;QACV,OAAOb,IAAI;MACb;IACF,CAAC;IAED,MAAMc,KAAiB,GAAId,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACc,qBAAqB,CAACf,IAAI,CAAC,IAAIC,qBAAE,CAACe,eAAe,CAAChB,IAAI,CAAC,IAAIC,qBAAE,CAACgB,oBAAoB,CAACjB,IAAI,CAAC,EAAE;QAC/F,MAAMkB,YAAY,GAAGlB,IAAI,CAACmB,IAAI,EAAEf,OAAO,CAAC,CAAC,IAAI,EAAE;QAC/C,MAAMgB,OAAO,GAAGC,MAAM,CAACC,OAAO,CAACzB,OAAO,CAAC,CAAC0B,IAAI,CAAC,CAAC,CAACC,GAAG,CAAC,KAAKN,YAAY,CAACO,QAAQ,CAACD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAIN,YAAY;QACxG,MAAMQ,UAAU,GAAG1B,IAAI,CAAC0B,UAAU,CAACC,GAAG,CAAEC,KAAK,IAAK;UAChD,MAAMC,YAAY,GAAGD,KAAK,CAACE,IAAI,GAAI7B,qBAAE,CAAC8B,SAAS,CAACH,KAAK,CAACE,IAAI,EAAE/B,mBAAmB,CAAC,GAAmB6B,KAAK,CAACE,IAAI;UAC7G,IAAI7B,qBAAE,CAAC+B,YAAY,CAACJ,KAAK,CAACT,IAAI,CAAC,EAAE;YAC/B,MAAMc,OAAO,GAAGL,KAAK,CAACT,IAAI,CAACf,OAAO,CAAC,CAAC;YACpC,MAAM8B,YAAY,GAAGb,MAAM,CAACc,IAAI,CAACtC,OAAO,CAAC,CAAC0B,IAAI,CAAEC,GAAG,IAAKS,OAAO,CAACR,QAAQ,CAACD,GAAG,CAAC,CAAC;YAC9E,IAAIU,YAAY,EAAE;cAChB,OAAOjC,qBAAE,CAACO,OAAO,CAAC4B,0BAA0B,CAC1CR,KAAK,EACLA,KAAK,CAACS,SAAS,EACfT,KAAK,CAACU,cAAc,EACpBrC,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACwB,YAAY,CAAC,EACzCN,KAAK,CAACW,aAAa,EACnBV,YAAY,EACZD,KAAK,CAACY,WACR,CAAC;YACH;UACF,CAAC,MAAM,IAAIvC,qBAAE,CAACwC,sBAAsB,CAACb,KAAK,CAACT,IAAI,CAAC,EAAE;YAChD,MAAMuB,QAAQ,GAAGd,KAAK,CAACT,IAAI,CAACuB,QAAQ,CAACf,GAAG,CAAEgB,OAAO,IAAK;cACpD,MAAMC,cAAc,GAAG/C,OAAO,CAAC8C,OAAO,CAACxB,IAAI,CAACf,OAAO,CAAC,CAAC,CAAC;cACtD,IAAIwC,cAAc,EAAE;gBAClB,OAAO3C,qBAAE,CAACO,OAAO,CAACqC,oBAAoB,CACpCF,OAAO,EACPA,OAAO,CAACL,cAAc,EACtBK,OAAO,CAACG,YAAY,EACpB7C,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACkC,cAAc,CAAC,EAC3CD,OAAO,CAACH,WACV,CAAC;cACH;cACA,OAAOG,OAAO;YAChB,CAAC,CAAC;YACF,MAAMT,YAAY,GAAGjC,qBAAE,CAACO,OAAO,CAACuC,0BAA0B,CAACL,QAAQ,CAAC;YACpE,OAAOzC,qBAAE,CAACO,OAAO,CAAC4B,0BAA0B,CAC1CR,KAAK,EACLA,KAAK,CAACS,SAAS,EACfT,KAAK,CAACU,cAAc,EACpBJ,YAAY,EACZN,KAAK,CAACW,aAAa,EACnBV,YAAY,EACZD,KAAK,CAACY,WACR,CAAC;UACH;UACA,OAAOZ,KAAK;QACd,CAAC,CAAC;QAEF,IAAI3B,qBAAE,CAACc,qBAAqB,CAACf,IAAI,CAAC,EAAE;UAClC,MAAMgD,WAAW,GAAGhD,IAAI,CAACiD,IAAI,IAAIhD,qBAAE,CAACiD,OAAO,CAAClD,IAAI,CAACiD,IAAI,CAAC,GAAGE,qBAAqB,CAACnD,IAAI,CAACiD,IAAI,CAAC,GAAGjD,IAAI,CAACiD,IAAI;UACrG,OAAOhD,qBAAE,CAACO,OAAO,CAAC4C,yBAAyB,CACzCpD,IAAI,EACJA,IAAI,CAACqC,SAAS,EACdrC,IAAI,CAACqD,aAAa,EAClBjC,OAAO,GAAGnB,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACU,OAAO,CAAC,GAAGpB,IAAI,CAACmB,IAAI,EAC1DnB,IAAI,CAACsD,cAAc,EACnB5B,UAAU,EACV1B,IAAI,CAAC8B,IAAI,EACTkB,WACF,CAAC;QACH;QACA,IAAI/C,qBAAE,CAACe,eAAe,CAAChB,IAAI,CAAC,EAAE;UAC5B,MAAMgD,WAAW,GAAGhD,IAAI,CAACiD,IAAI,IAAIhD,qBAAE,CAACiD,OAAO,CAAClD,IAAI,CAACiD,IAAI,CAAC,GAAGE,qBAAqB,CAACnD,IAAI,CAACiD,IAAI,CAAC,GAAGjD,IAAI,CAACiD,IAAI;UACrG,OAAOhD,qBAAE,CAACO,OAAO,CAAC+C,mBAAmB,CACnCvD,IAAI,EACJA,IAAI,CAACqC,SAAS,EACdrC,IAAI,CAACsD,cAAc,EACnB5B,UAAU,EACV1B,IAAI,CAAC8B,IAAI,EACT9B,IAAI,CAACwD,sBAAsB,EAC3BR,WACF,CAAC;QACH;QACA,IAAI/C,qBAAE,CAACgB,oBAAoB,CAACjB,IAAI,CAAC,EAAE;UACjC,MAAMgD,WAAW,GAAGhD,IAAI,CAACiD,IAAI,IAAIhD,qBAAE,CAACiD,OAAO,CAAClD,IAAI,CAACiD,IAAI,CAAC,GAAGE,qBAAqB,CAACnD,IAAI,CAACiD,IAAI,CAAC,GAAGjD,IAAI,CAACiD,IAAI;UACrG,OAAOhD,qBAAE,CAACO,OAAO,CAACiD,wBAAwB,CACxCzD,IAAI,EACJA,IAAI,CAACqC,SAAS,EACdrC,IAAI,CAACqD,aAAa,EAClBjC,OAAO,GAAGnB,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACU,OAAO,CAAC,GAAGpB,IAAI,CAACmB,IAAI,EAC1DnB,IAAI,CAACsD,cAAc,EACnB5B,UAAU,EACV1B,IAAI,CAAC8B,IAAI,EACTkB,WACF,CAAC;QACH;MACF;MACA,OAAO/C,qBAAE,CAACW,cAAc,CAACZ,IAAI,EAAEc,KAAK,EAAEhB,OAAO,CAAC;IAChD,CAAC;IAED,SAASqD,qBAAqBA,CAACF,IAAoB,EAAY;MAC7D,IAAIhD,qBAAE,CAACiD,OAAO,CAACD,IAAI,CAAC,EAAE;QACpB,MAAMS,iBAAiC,GAAG,EAAE;QAC5C,KAAK,MAAMC,SAAS,IAAIV,IAAI,CAACW,UAAU,EAAE;UACvC,IAAI3D,qBAAE,CAAC4D,iBAAiB,CAACF,SAAS,CAAC,IAAIA,SAAS,CAACG,UAAU,IAAI7D,qBAAE,CAAC8D,YAAY,CAACJ,SAAS,CAACG,UAAU,CAAC,EAAE;YACpG,MAAME,UAAU,GAAGL,SAAS,CAACG,UAAU;YACvC,MAAMG,cAAc,GAAGD,UAAU,CAACC,cAAc;YAChD,MAAMC,OAAO,GAAGD,cAAc,CAACC,OAAO,CAAC9D,OAAO,CAAC,CAAC;YAChD,MAAM+D,UAAU,GAAGtE,OAAO,CAACqE,OAAO,CAAC;YACnC,IAAIC,UAAU,EAAE;cACd,MAAMC,cAAc,GAAGnE,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACyD,UAAU,CAAC;cAC9D,MAAME,qBAAqB,GAAGpE,qBAAE,CAACO,OAAO,CAAC8D,uBAAuB,CAC9DL,cAAc,EACdG,cAAc,EACdH,cAAc,CAACtD,aAAa,EAC5BsD,cAAc,CAACM,UACjB,CAAC;cACD,MAAMC,qBAAqB,GAAGR,UAAU,CAACS,cAAc,GACnDxE,qBAAE,CAACO,OAAO,CAACkE,uBAAuB,CAACV,UAAU,CAACS,cAAc,EAAEL,cAAc,CAAC,GAC7EnE,qBAAE,CAACO,OAAO,CAACmE,uBAAuB,CAACP,cAAc,CAAC;cACtD,MAAMQ,iBAAiB,GAAG3E,qBAAE,CAACO,OAAO,CAACqE,gBAAgB,CACnDR,qBAAqB,EACrBL,UAAU,CAACc,QAAQ,EACnBN,qBACF,CAAC;cACD,MAAMO,gBAAgB,GAAG9E,qBAAE,CAACO,OAAO,CAACwE,qBAAqB,CAACJ,iBAAiB,CAAC;cAC5ElB,iBAAiB,CAACuB,IAAI,CAACF,gBAAgB,CAAC;YAC1C,CAAC,MAAM;cACLrB,iBAAiB,CAACuB,IAAI,CAACtB,SAAS,CAAC;YACnC;UACF,CAAC,MAAM;YACLD,iBAAiB,CAACuB,IAAI,CAACtB,SAAS,CAAC;UACnC;QACF;QACA,OAAO1D,qBAAE,CAACO,OAAO,CAAC0E,WAAW,CAACjC,IAAI,EAAES,iBAAiB,CAAC;MACxD;MACA,IACEzD,qBAAE,CAACkF,qBAAqB,CAAClC,IAAI,CAAC,IAC9BhD,qBAAE,CAAC4D,iBAAiB,CAACZ,IAAI,CAACa,UAAU,CAAC,IACrCb,IAAI,CAACa,UAAU,CAACA,UAAU,IAC1B7D,qBAAE,CAAC+B,YAAY,CAACiB,IAAI,CAACa,UAAU,CAACA,UAAU,CAAC,EAC3C;QACA,MAAM7B,OAAO,GAAGgB,IAAI,CAACa,UAAU,CAACA,UAAU,CAACsB,IAAI;QAC/C,MAAMhE,OAAO,GAAGvB,OAAO,CAACoC,OAAO,CAAC;QAChC,IAAIb,OAAO,EAAE;UACX,MAAMiE,iBAAiB,GAAGpF,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACU,OAAO,CAAC;UAC9D,MAAMkE,sBAAsB,GAAGrF,qBAAE,CAACO,OAAO,CAACwE,qBAAqB,CAACK,iBAAiB,CAAC;UAClF,OAAOpF,qBAAE,CAACO,OAAO,CAAC+E,WAAW,CAAC,CAACD,sBAAsB,CAAC,EAAE,IAAI,CAAC;QAC/D;MACF;MACA,OAAOrF,qBAAE,CAACO,OAAO,CAAC+E,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;IACzC;IACA,OAAQvF,IAAI,IAAKC,qBAAE,CAAC8B,SAAS,CAAC/B,IAAI,EAAEc,KAAK,CAAkB;EAC7D,CAAC;AACH,CAAC;AAAC0E,OAAA,CAAA5F,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","functionNamesTransformer","mapping","context","updateTypeReference","node","ts","isTypeReferenceNode","typeName","getText","getSourceFile","newTypeName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","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":[]}
|
|
@@ -11,7 +11,7 @@ function _typescript() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const importTransformer = mapping => {
|
|
16
16
|
return context => {
|
|
17
17
|
const visit = node => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","e","__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":[]}
|
|
@@ -18,7 +18,7 @@ function _replaceName() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function _interopRequireDefault(
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
function interfaceNamesTransformer(nameMapping) {
|
|
23
23
|
return context => {
|
|
24
24
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","interfaceNamesTransformer","nameMapping","context","factory","visit","node","ts","isInterfaceDeclaration","oldName","name","text","newName","replaceName","newMembers","members","map","member","isPropertySignature","isIdentifier","memberName","updatePropertySignature","modifiers","createIdentifier","questionToken","type","updateInterfaceDeclaration","typeParameters","heritageClauses","visitEachChild","child","visitNode"],"sources":["interface.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function interfaceNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const { factory } = context;\n const visit: ts.Visitor = (node) => {\n if (ts.isInterfaceDeclaration(node)) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n if (newName) {\n const newMembers = node.members.map((member) => {\n if (ts.isPropertySignature(member) && ts.isIdentifier(member.name)) {\n const memberName = member.name.text;\n if (nameMapping[memberName]) {\n return factory.updatePropertySignature(\n member,\n member.modifiers,\n factory.createIdentifier(nameMapping[memberName]),\n member.questionToken,\n member.type\n );\n }\n }\n return member;\n });\n return factory.updateInterfaceDeclaration(\n node,\n node.modifiers,\n factory.createIdentifier(newName),\n node.typeParameters,\n node.heritageClauses,\n newMembers\n );\n }\n }\n return ts.visitEachChild(node, (child) => visit(child), context);\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;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,yBAAyBA,CAACC,WAAmC,EAAwC;EACnH,OAAQC,OAAO,IAAK;IAClB,MAAM;MAAEC;IAAQ,CAAC,GAAGD,OAAO;IAC3B,MAAME,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,sBAAsB,CAACF,IAAI,CAAC,EAAE;QACnC,MAAMG,OAAO,GAAGH,IAAI,CAACI,IAAI,CAACC,IAAI;QAC9B,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACJ,OAAO,EAAEP,WAAW,CAAC;QACjD,IAAIU,OAAO,EAAE;UACX,MAAME,UAAU,GAAGR,IAAI,CAACS,OAAO,CAACC,GAAG,CAAEC,MAAM,IAAK;YAC9C,IAAIV,qBAAE,CAACW,mBAAmB,CAACD,MAAM,CAAC,IAAIV,qBAAE,CAACY,YAAY,CAACF,MAAM,CAACP,IAAI,CAAC,EAAE;cAClE,MAAMU,UAAU,GAAGH,MAAM,CAACP,IAAI,CAACC,IAAI;cACnC,IAAIT,WAAW,CAACkB,UAAU,CAAC,EAAE;gBAC3B,OAAOhB,OAAO,CAACiB,uBAAuB,CACpCJ,MAAM,EACNA,MAAM,CAACK,SAAS,EAChBlB,OAAO,CAACmB,gBAAgB,CAACrB,WAAW,CAACkB,UAAU,CAAC,CAAC,EACjDH,MAAM,CAACO,aAAa,EACpBP,MAAM,CAACQ,IACT,CAAC;cACH;YACF;YACA,OAAOR,MAAM;UACf,CAAC,CAAC;UACF,OAAOb,OAAO,CAACsB,0BAA0B,CACvCpB,IAAI,EACJA,IAAI,CAACgB,SAAS,EACdlB,OAAO,CAACmB,gBAAgB,CAACX,OAAO,CAAC,EACjCN,IAAI,CAACqB,cAAc,EACnBrB,IAAI,CAACsB,eAAe,EACpBd,UACF,CAAC;QACH;MACF;MACA,OAAOP,qBAAE,CAACsB,cAAc,CAACvB,IAAI,EAAGwB,KAAK,IAAKzB,KAAK,CAACyB,KAAK,CAAC,EAAE3B,OAAO,CAAC;IAClE,CAAC;IACD,OAAQG,IAAI,IAAKC,qBAAE,CAACwB,SAAS,CAACzB,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["replaceName","oldName","nameMapping","old","Object","keys","startsWith","replace","RegExp","endsWith","undefined"],"sources":["replaceName.ts"],"sourcesContent":["export function replaceName(oldName: string, nameMapping: Record<string, string>): string | undefined {\n for (const old of Object.keys(nameMapping)) {\n if (oldName.startsWith(old) || oldName === old) {\n return oldName.replace(new RegExp(`^${old}`), nameMapping[old]);\n }\n if (oldName.endsWith(old)) {\n return oldName.replace(new RegExp(`${old}$`), nameMapping[old]);\n }\n }\n return undefined;\n}\n"],"mappings":";;;;;;AAAO,SAASA,WAAWA,CAACC,OAAe,EAAEC,WAAmC,EAAsB;EACpG,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACH,WAAW,CAAC,EAAE;IAC1C,IAAID,OAAO,CAACK,UAAU,CAACH,GAAG,CAAC,IAAIF,OAAO,KAAKE,GAAG,EAAE;MAC9C,OAAOF,OAAO,CAACM,OAAO,CAAC,IAAIC,MAAM,
|
|
1
|
+
{"version":3,"names":["replaceName","oldName","nameMapping","old","Object","keys","startsWith","replace","RegExp","endsWith","undefined"],"sources":["replaceName.ts"],"sourcesContent":["export function replaceName(oldName: string, nameMapping: Record<string, string>): string | undefined {\n for (const old of Object.keys(nameMapping)) {\n if (oldName.startsWith(old) || oldName === old) {\n return oldName.replace(new RegExp(`^${old}`), nameMapping[old]);\n }\n if (oldName.endsWith(old)) {\n return oldName.replace(new RegExp(`${old}$`), nameMapping[old]);\n }\n }\n return undefined;\n}\n"],"mappings":";;;;;;AAAO,SAASA,WAAWA,CAACC,OAAe,EAAEC,WAAmC,EAAsB;EACpG,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACH,WAAW,CAAC,EAAE;IAC1C,IAAID,OAAO,CAACK,UAAU,CAACH,GAAG,CAAC,IAAIF,OAAO,KAAKE,GAAG,EAAE;MAC9C,OAAOF,OAAO,CAACM,OAAO,CAAC,IAAIC,MAAM,CAAC,IAAIL,GAAG,EAAE,CAAC,EAAED,WAAW,CAACC,GAAG,CAAC,CAAC;IACjE;IACA,IAAIF,OAAO,CAACQ,QAAQ,CAACN,GAAG,CAAC,EAAE;MACzB,OAAOF,OAAO,CAACM,OAAO,CAAC,IAAIC,MAAM,CAAC,GAAGL,GAAG,GAAG,CAAC,EAAED,WAAW,CAACC,GAAG,CAAC,CAAC;IACjE;EACF;EACA,OAAOO,SAAS;AAClB","ignoreList":[]}
|
|
@@ -27,7 +27,7 @@ function _emptyLineEncoder() {
|
|
|
27
27
|
}
|
|
28
28
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
29
29
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
30
|
-
function _interopRequireDefault(
|
|
30
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
31
31
|
/**
|
|
32
32
|
* Transforms a TypeScript source file using the provided transformer.
|
|
33
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","path","_interopRequireWildcard","_emptyLineEncoder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","path","_interopRequireWildcard","_emptyLineEncoder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","transformSourceFile","sourceFilePath","sourceFileContent","transformers","formatter","updates","ext","extname","compatibleExts","includes","transformed","entries","forEach","oldStr","newStr","oldStringRegex","RegExp","replace","encoder","EmptyLineEncoder","encode","sourceFile","ts","createSourceFile","ScriptTarget","Latest","ScriptKind","TSX","transformedResult","transform","transformedSourceFile","printer","createPrinter","removeComments","transformedSourceFileStr","printFile","decode","emptyLineComment","emptyLineMarker","regex","formattedSourceFileStr","formatSnippet"],"sources":["transform.ts"],"sourcesContent":["import { Formatter } from '@teambit/formatter';\nimport ts from 'typescript';\nimport * as path from 'path';\nimport { EmptyLineEncoder } from './empty-line-encoder';\n/**\n * Transforms a TypeScript source file using the provided transformer.\n *\n * @param sourceFilePath Path to the TypeScript source file.\n * @param sourceFileContent The content of the source file.\n * @param transformers The transformers to be applied on the source file.\n * @param formatter (Optional) An optional formatter to format the transformed code. If no formatter is provided, the function returns the transformed source file as a string without any formatting.\n * @returns A promise that resolves to the transformed source file as a string.\n */\nexport async function transformSourceFile(\n sourceFilePath: string,\n sourceFileContent: string,\n transformers: ts.TransformerFactory<ts.SourceFile>[],\n formatter?: Formatter,\n updates?: Record<string, string>\n): Promise<string> {\n const ext = path.extname(sourceFilePath);\n const compatibleExts = ['.ts', '.tsx', '.js', '.jsx'];\n if (!compatibleExts.includes(ext)) {\n if (!updates) return sourceFileContent;\n let transformed = sourceFileContent;\n Object.entries(updates).forEach(([oldStr, newStr]) => {\n const oldStringRegex = new RegExp(oldStr, 'g');\n transformed = transformed.replace(oldStringRegex, newStr);\n });\n return transformed;\n }\n\n const encoder = new EmptyLineEncoder();\n sourceFileContent = encoder.encode(sourceFileContent);\n\n const sourceFile = ts.createSourceFile(\n sourceFilePath,\n sourceFileContent,\n ts.ScriptTarget.Latest,\n true,\n ts.ScriptKind.TSX\n );\n\n const transformedResult: ts.TransformationResult<ts.SourceFile> = ts.transform<ts.SourceFile>(\n sourceFile,\n transformers\n );\n const transformedSourceFile: ts.SourceFile = transformedResult.transformed[0] as ts.SourceFile;\n\n const printer: ts.Printer = ts.createPrinter({\n removeComments: false,\n });\n\n let transformedSourceFileStr = printer.printFile(transformedSourceFile);\n transformedSourceFileStr = encoder.decode(transformedSourceFileStr);\n // Remove trailing empty line markers\n const emptyLineComment = `\\\\s*\\\\/\\\\*${encoder.emptyLineMarker}\\\\*\\\\/\\\\s*$`;\n const regex = new RegExp(emptyLineComment, 'g');\n transformedSourceFileStr = transformedSourceFileStr.replace(regex, '');\n\n try {\n const formattedSourceFileStr = await formatter?.formatSnippet(transformedSourceFileStr, sourceFilePath);\n return formattedSourceFileStr || transformedSourceFileStr;\n } catch {\n // We can ignore if the formatter fails\n // TODO: log the error\n // ignore\n }\n return transformedSourceFileStr;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ function _replaceName() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function _interopRequireDefault(
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
function typeReferenceTransformer(mapping) {
|
|
23
23
|
return context => {
|
|
24
24
|
const visit = node => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","typeReferenceTransformer","mapping","context","visit","node","ts","isTypeReferenceNode","oldName","typeName","getText","newName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","visitNode"],"sources":["type-reference.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function typeReferenceTransformer(mapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const visit: ts.Visitor = (node) => {\n if (ts.isTypeReferenceNode(node)) {\n const oldName = node.typeName.getText();\n const newName = replaceName(oldName, mapping);\n if (newName) {\n return ts.factory.updateTypeReferenceNode(node, ts.factory.createIdentifier(newName), node.typeArguments);\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;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,wBAAwBA,CAACC,OAA+B,EAAwC;EAC9G,OAAQC,OAAO,IAAK;IAClB,MAAMC,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,mBAAmB,CAACF,IAAI,CAAC,EAAE;QAChC,MAAMG,OAAO,GAAGH,IAAI,CAACI,QAAQ,CAACC,OAAO,CAAC,CAAC;QACvC,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACJ,OAAO,EAAEN,OAAO,CAAC;QAC7C,IAAIS,OAAO,EAAE;UACX,OAAOL,qBAAE,CAACO,OAAO,CAACC,uBAAuB,CAACT,IAAI,EAAEC,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACJ,OAAO,CAAC,EAAEN,IAAI,CAACW,aAAa,CAAC;QAC3G;MACF;MACA,OAAOV,qBAAE,CAACW,cAAc,CAACZ,IAAI,EAAED,KAAK,EAAED,OAAO,CAAC;IAChD,CAAC;IAED,OAAQE,IAAI,IAAKC,qBAAE,CAACY,SAAS,CAACb,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ function _replaceName() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function _interopRequireDefault(
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
function typeAliasNamesTransformer(nameMapping) {
|
|
23
23
|
return context => {
|
|
24
24
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","typeAliasNamesTransformer","nameMapping","context","factory","visit","node","ts","isTypeAliasDeclaration","oldName","name","text","newName","replaceName","updateTypeAliasDeclaration","modifiers","createIdentifier","typeParameters","type","visitEachChild","child","visitNode"],"sources":["typeAlias.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function typeAliasNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const { factory } = context;\n const visit: ts.Visitor = (node) => {\n if (ts.isTypeAliasDeclaration(node)) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n if (newName) {\n return factory.updateTypeAliasDeclaration(\n node,\n node.modifiers,\n factory.createIdentifier(newName),\n node.typeParameters,\n node.type\n );\n }\n }\n return ts.visitEachChild(node, (child) => visit(child), context);\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;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,yBAAyBA,CAACC,WAAmC,EAAwC;EACnH,OAAQC,OAAO,IAAK;IAClB,MAAM;MAAEC;IAAQ,CAAC,GAAGD,OAAO;IAC3B,MAAME,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,sBAAsB,CAACF,IAAI,CAAC,EAAE;QACnC,MAAMG,OAAO,GAAGH,IAAI,CAACI,IAAI,CAACC,IAAI;QAC9B,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACJ,OAAO,EAAEP,WAAW,CAAC;QACjD,IAAIU,OAAO,EAAE;UACX,OAAOR,OAAO,CAACU,0BAA0B,CACvCR,IAAI,EACJA,IAAI,CAACS,SAAS,EACdX,OAAO,CAACY,gBAAgB,CAACJ,OAAO,CAAC,EACjCN,IAAI,CAACW,cAAc,EACnBX,IAAI,CAACY,IACP,CAAC;QACH;MACF;MACA,OAAOX,qBAAE,CAACY,cAAc,CAACb,IAAI,EAAGc,KAAK,IAAKf,KAAK,CAACe,KAAK,CAAC,EAAEjB,OAAO,CAAC;IAClE,CAAC;IACD,OAAQG,IAAI,IAAKC,qBAAE,CAACc,SAAS,CAACf,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ function _replaceName() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function _interopRequireDefault(
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
function variableNamesTransformer(nameMapping) {
|
|
23
23
|
return context => {
|
|
24
24
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","
|
|
1
|
+
{"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","variableNamesTransformer","nameMapping","context","factory","visit","node","ts","isVariableDeclaration","name","kind","SyntaxKind","Identifier","oldName","text","newName","replaceName","updateVariableDeclaration","createIdentifier","exclamationToken","type","initializer","visitEachChild","child","visitNode"],"sources":["variable.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function variableNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const { factory } = context;\n const visit: ts.Visitor = (node) => {\n if (ts.isVariableDeclaration(node) && node.name.kind === ts.SyntaxKind.Identifier) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n if (newName) {\n return factory.updateVariableDeclaration(\n node,\n factory.createIdentifier(newName),\n node.exclamationToken,\n node.type,\n node.initializer\n );\n }\n }\n return ts.visitEachChild(node, (child) => visit(child), context);\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;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,wBAAwBA,CAACC,WAAmC,EAAwC;EAClH,OAAQC,OAAO,IAAK;IAClB,MAAM;MAAEC;IAAQ,CAAC,GAAGD,OAAO;IAC3B,MAAME,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,qBAAqB,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,IAAI,CAACC,IAAI,KAAKH,qBAAE,CAACI,UAAU,CAACC,UAAU,EAAE;QACjF,MAAMC,OAAO,GAAGP,IAAI,CAACG,IAAI,CAACK,IAAI;QAC9B,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACH,OAAO,EAAEX,WAAW,CAAC;QACjD,IAAIa,OAAO,EAAE;UACX,OAAOX,OAAO,CAACa,yBAAyB,CACtCX,IAAI,EACJF,OAAO,CAACc,gBAAgB,CAACH,OAAO,CAAC,EACjCT,IAAI,CAACa,gBAAgB,EACrBb,IAAI,CAACc,IAAI,EACTd,IAAI,CAACe,WACP,CAAC;QACH;MACF;MACA,OAAOd,qBAAE,CAACe,cAAc,CAAChB,IAAI,EAAGiB,KAAK,IAAKlB,KAAK,CAACkB,KAAK,CAAC,EAAEpB,OAAO,CAAC;IAClE,CAAC;IACD,OAAQG,IAAI,IAAKC,qBAAE,CAACiB,SAAS,CAAClB,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
|
|
@@ -21,7 +21,7 @@ function _sourceFileTransformers() {
|
|
|
21
21
|
};
|
|
22
22
|
return data;
|
|
23
23
|
}
|
|
24
|
-
function _interopRequireDefault(
|
|
24
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
25
|
function normalizeFormatting(code) {
|
|
26
26
|
const sourceFile = _typescript().default.createSourceFile('temp.ts', code, _typescript().default.ScriptTarget.Latest, true);
|
|
27
27
|
const printer = _typescript().default.createPrinter({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chai","data","require","_typescript","_interopRequireDefault","_sourceFileTransformers","obj","__esModule","default","normalizeFormatting","code","sourceFile","ts","createSourceFile","ScriptTarget","Latest","printer","createPrinter","newLine","NewLineKind","LineFeed","removeComments","printFile","describe","createTransformerTest","sourceCode","nameMapping","transformer","expectedCode","it","name","result","transformSourceFile","normalizedResult","normalizedExpectedCode","expect","to","equal","testCases","classNamesTransformer","TestClass","functionNamesTransformer","testFunction","importTransformer","interfaceNamesTransformer","TestInterface","typeAliasNamesTransformer","TestType","variableNamesTransformer","testVariable","oldMethod","oldMember","expressionStatementTransformer","staticMethod","method","exportTransformer","normalizedSourceCode"],"sources":["transform-source-file.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport ts from 'typescript';\nimport {\n transformSourceFile,\n classNamesTransformer,\n functionNamesTransformer,\n importTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\n expressionStatementTransformer,\n exportTransformer,\n} from './sourceFileTransformers';\n\nfunction normalizeFormatting(code: string): string {\n const sourceFile = ts.createSourceFile('temp.ts', code, ts.ScriptTarget.Latest, true);\n const printer = ts.createPrinter({\n newLine: ts.NewLineKind.LineFeed,\n removeComments: false,\n });\n return printer.printFile(sourceFile);\n}\n\ndescribe('transformSourceFile', () => {\n const createTransformerTest = (\n sourceCode: string,\n nameMapping: any,\n transformer: (nameMapping: any) => ts.TransformerFactory<ts.SourceFile>,\n expectedCode: string\n ) => {\n it(`should correctly transform source code with ${transformer.name}`, async () => {\n const result = await transformSourceFile('test.ts', sourceCode, [transformer(nameMapping)]);\n const normalizedResult = normalizeFormatting(result);\n const normalizedExpectedCode = normalizeFormatting(expectedCode);\n\n expect(normalizedResult).to.equal(normalizedExpectedCode);\n });\n };\n\n const testCases = [\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass {}',\n nameMapping: { TestClass: 'NewClassName' },\n expectedCode: 'class NewClassName {}',\n },\n {\n transformer: functionNamesTransformer,\n sourceCode: 'function testFunction() {}',\n nameMapping: { testFunction: 'newFunctionName' },\n expectedCode: 'function newFunctionName() {}',\n },\n {\n transformer: importTransformer,\n sourceCode: 'import { Test } from \"./test\";',\n nameMapping: { './test': './newTest' },\n expectedCode: 'import { Test } from \"./newTest\";',\n },\n {\n transformer: interfaceNamesTransformer,\n sourceCode: 'interface TestInterface {}',\n nameMapping: { TestInterface: 'NewInterfaceName' },\n expectedCode: 'interface NewInterfaceName {}',\n },\n {\n transformer: typeAliasNamesTransformer,\n sourceCode: 'type TestType = string;',\n nameMapping: { TestType: 'NewTypeName' },\n expectedCode: 'type NewTypeName = string;',\n },\n {\n transformer: variableNamesTransformer,\n sourceCode: 'let testVariable = \"test\";',\n nameMapping: { testVariable: 'newVariableName' },\n expectedCode: 'let newVariableName = \"test\";',\n },\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass { oldMethod() {} }',\n nameMapping: { TestClass: 'NewClassName', oldMethod: 'newMethodName' },\n expectedCode: 'class NewClassName { newMethodName() {} }',\n },\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass { oldMember: string; }',\n nameMapping: { TestClass: 'NewClassName', oldMember: 'newMember' },\n expectedCode: 'class NewClassName { newMember: string; }',\n },\n {\n transformer: expressionStatementTransformer,\n sourceCode: 'TestClass.staticMethod();',\n nameMapping: { TestClass: 'NewClassName', staticMethod: 'newMethodName' },\n expectedCode: 'NewClassName.newMethodName();',\n },\n {\n transformer: expressionStatementTransformer,\n sourceCode: 'let instance = new TestClass(); instance.method();',\n nameMapping: { TestClass: 'NewClassName', method: 'newMethodName' },\n expectedCode: 'let instance = new NewClassName(); instance.newMethodName();',\n },\n {\n transformer: interfaceNamesTransformer,\n sourceCode: 'interface TestInterface { oldMember: string; }',\n nameMapping: { TestInterface: 'NewInterfaceName', oldMember: 'newMember' },\n expectedCode: 'interface NewInterfaceName { newMember: string; }',\n },\n {\n transformer: importTransformer,\n sourceCode: 'const UI = require(\"@xxx/ui-library\");',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'const UI = require(\"@abc/ui-library\");',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export { Component } from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export { Component } from \"@abc/ui-library\";',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export * from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export * from \"@abc/ui-library\";',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export { default as UI } from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export { default as UI } from \"@abc/ui-library\";',\n },\n ];\n\n for (const { transformer, sourceCode, nameMapping, expectedCode } of testCases) {\n createTransformerTest(sourceCode, nameMapping, transformer, expectedCode);\n }\n\n it('should return original source code if no transformations are applied', async () => {\n const sourceCode = 'class TestClass {} function testFunction() {}';\n const result = await transformSourceFile('test.ts', sourceCode, []);\n const normalizedResult = normalizeFormatting(result);\n const normalizedSourceCode = normalizeFormatting(sourceCode);\n expect(normalizedResult).to.equal(normalizedSourceCode);\n });\n\n it('should handle multiple transformers', async () => {\n const sourceCode = 'class TestClass {} function testFunction() {}';\n const expectedCode = 'class NewClassName {} function newFunctionName() {}';\n const result = await transformSourceFile('test.ts', sourceCode, [\n classNamesTransformer({ TestClass: 'NewClassName' }),\n functionNamesTransformer({ testFunction: 'newFunctionName' }),\n ]);\n const normalizedResult = normalizeFormatting(result);\n const normalizedExpectedCode = normalizeFormatting(expectedCode);\n expect(normalizedResult).to.equal(normalizedExpectedCode);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_typescript","_interopRequireDefault","_sourceFileTransformers","e","__esModule","default","normalizeFormatting","code","sourceFile","ts","createSourceFile","ScriptTarget","Latest","printer","createPrinter","newLine","NewLineKind","LineFeed","removeComments","printFile","describe","createTransformerTest","sourceCode","nameMapping","transformer","expectedCode","it","name","result","transformSourceFile","normalizedResult","normalizedExpectedCode","expect","to","equal","testCases","classNamesTransformer","TestClass","functionNamesTransformer","testFunction","importTransformer","interfaceNamesTransformer","TestInterface","typeAliasNamesTransformer","TestType","variableNamesTransformer","testVariable","oldMethod","oldMember","expressionStatementTransformer","staticMethod","method","exportTransformer","normalizedSourceCode"],"sources":["transform-source-file.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport ts from 'typescript';\nimport {\n transformSourceFile,\n classNamesTransformer,\n functionNamesTransformer,\n importTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\n expressionStatementTransformer,\n exportTransformer,\n} from './sourceFileTransformers';\n\nfunction normalizeFormatting(code: string): string {\n const sourceFile = ts.createSourceFile('temp.ts', code, ts.ScriptTarget.Latest, true);\n const printer = ts.createPrinter({\n newLine: ts.NewLineKind.LineFeed,\n removeComments: false,\n });\n return printer.printFile(sourceFile);\n}\n\ndescribe('transformSourceFile', () => {\n const createTransformerTest = (\n sourceCode: string,\n nameMapping: any,\n transformer: (nameMapping: any) => ts.TransformerFactory<ts.SourceFile>,\n expectedCode: string\n ) => {\n it(`should correctly transform source code with ${transformer.name}`, async () => {\n const result = await transformSourceFile('test.ts', sourceCode, [transformer(nameMapping)]);\n const normalizedResult = normalizeFormatting(result);\n const normalizedExpectedCode = normalizeFormatting(expectedCode);\n\n expect(normalizedResult).to.equal(normalizedExpectedCode);\n });\n };\n\n const testCases = [\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass {}',\n nameMapping: { TestClass: 'NewClassName' },\n expectedCode: 'class NewClassName {}',\n },\n {\n transformer: functionNamesTransformer,\n sourceCode: 'function testFunction() {}',\n nameMapping: { testFunction: 'newFunctionName' },\n expectedCode: 'function newFunctionName() {}',\n },\n {\n transformer: importTransformer,\n sourceCode: 'import { Test } from \"./test\";',\n nameMapping: { './test': './newTest' },\n expectedCode: 'import { Test } from \"./newTest\";',\n },\n {\n transformer: interfaceNamesTransformer,\n sourceCode: 'interface TestInterface {}',\n nameMapping: { TestInterface: 'NewInterfaceName' },\n expectedCode: 'interface NewInterfaceName {}',\n },\n {\n transformer: typeAliasNamesTransformer,\n sourceCode: 'type TestType = string;',\n nameMapping: { TestType: 'NewTypeName' },\n expectedCode: 'type NewTypeName = string;',\n },\n {\n transformer: variableNamesTransformer,\n sourceCode: 'let testVariable = \"test\";',\n nameMapping: { testVariable: 'newVariableName' },\n expectedCode: 'let newVariableName = \"test\";',\n },\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass { oldMethod() {} }',\n nameMapping: { TestClass: 'NewClassName', oldMethod: 'newMethodName' },\n expectedCode: 'class NewClassName { newMethodName() {} }',\n },\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass { oldMember: string; }',\n nameMapping: { TestClass: 'NewClassName', oldMember: 'newMember' },\n expectedCode: 'class NewClassName { newMember: string; }',\n },\n {\n transformer: expressionStatementTransformer,\n sourceCode: 'TestClass.staticMethod();',\n nameMapping: { TestClass: 'NewClassName', staticMethod: 'newMethodName' },\n expectedCode: 'NewClassName.newMethodName();',\n },\n {\n transformer: expressionStatementTransformer,\n sourceCode: 'let instance = new TestClass(); instance.method();',\n nameMapping: { TestClass: 'NewClassName', method: 'newMethodName' },\n expectedCode: 'let instance = new NewClassName(); instance.newMethodName();',\n },\n {\n transformer: interfaceNamesTransformer,\n sourceCode: 'interface TestInterface { oldMember: string; }',\n nameMapping: { TestInterface: 'NewInterfaceName', oldMember: 'newMember' },\n expectedCode: 'interface NewInterfaceName { newMember: string; }',\n },\n {\n transformer: importTransformer,\n sourceCode: 'const UI = require(\"@xxx/ui-library\");',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'const UI = require(\"@abc/ui-library\");',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export { Component } from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export { Component } from \"@abc/ui-library\";',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export * from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export * from \"@abc/ui-library\";',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export { default as UI } from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export { default as UI } from \"@abc/ui-library\";',\n },\n ];\n\n for (const { transformer, sourceCode, nameMapping, expectedCode } of testCases) {\n createTransformerTest(sourceCode, nameMapping, transformer, expectedCode);\n }\n\n it('should return original source code if no transformations are applied', async () => {\n const sourceCode = 'class TestClass {} function testFunction() {}';\n const result = await transformSourceFile('test.ts', sourceCode, []);\n const normalizedResult = normalizeFormatting(result);\n const normalizedSourceCode = normalizeFormatting(sourceCode);\n expect(normalizedResult).to.equal(normalizedSourceCode);\n });\n\n it('should handle multiple transformers', async () => {\n const sourceCode = 'class TestClass {} function testFunction() {}';\n const expectedCode = 'class NewClassName {} function newFunctionName() {}';\n const result = await transformSourceFile('test.ts', sourceCode, [\n classNamesTransformer({ TestClass: 'NewClassName' }),\n functionNamesTransformer({ testFunction: 'newFunctionName' }),\n ]);\n const normalizedResult = normalizeFormatting(result);\n const normalizedExpectedCode = normalizeFormatting(expectedCode);\n expect(normalizedResult).to.equal(normalizedExpectedCode);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,7 +25,7 @@ function _typescript() {
|
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
-
function _interopRequireDefault(
|
|
28
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
29
|
class ArrayLiteralExpressionTransformer {
|
|
30
30
|
predicate(node) {
|
|
31
31
|
return node.kind === _typescript().default.SyntaxKind.ArrayLiteralExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semanticsEntities","data","require","_pMapSeries","_interopRequireDefault","_typescript","
|
|
1
|
+
{"version":3,"names":["_semanticsEntities","data","require","_pMapSeries","_interopRequireDefault","_typescript","e","__esModule","default","ArrayLiteralExpressionTransformer","predicate","node","kind","ts","SyntaxKind","ArrayLiteralExpression","getIdentifiers","transform","context","members","pMapSeries","elements","element","schema","computeSchema","UnImplementedSchema","typeRef","resolveType","getText","location","getLocation","ArrayLiteralExpressionSchema","exports"],"sources":["array-literal-expression.ts"],"sourcesContent":["import {\n ArrayLiteralExpressionSchema,\n SchemaNode,\n UnImplementedSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport ts, { ArrayLiteralExpression, Node } from 'typescript';\nimport type { SchemaExtractorContext } from '../schema-extractor-context';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { Identifier } from '../identifier';\n\nexport class ArrayLiteralExpressionTransformer implements SchemaTransformer {\n predicate(node: Node): boolean {\n return node.kind === ts.SyntaxKind.ArrayLiteralExpression;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: ArrayLiteralExpression, context: SchemaExtractorContext): Promise<SchemaNode> {\n const members = await pMapSeries(node.elements, async (element) => {\n const schema = await context.computeSchema(element);\n if (schema instanceof UnImplementedSchema) {\n const typeRef = await context.resolveType(element, element.getText());\n return typeRef;\n }\n return schema;\n });\n const location = context.getLocation(node);\n return new ArrayLiteralExpressionSchema(members, location);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8D,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKvD,MAAMG,iCAAiC,CAA8B;EAC1EC,SAASA,CAACC,IAAU,EAAW;IAC7B,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,sBAAsB;EAC3D;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAA4B,EAAEO,OAA+B,EAAuB;IAClG,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAACT,IAAI,CAACU,QAAQ,EAAE,MAAOC,OAAO,IAAK;MACjE,MAAMC,MAAM,GAAG,MAAML,OAAO,CAACM,aAAa,CAACF,OAAO,CAAC;MACnD,IAAIC,MAAM,YAAYE,wCAAmB,EAAE;QACzC,MAAMC,OAAO,GAAG,MAAMR,OAAO,CAACS,WAAW,CAACL,OAAO,EAAEA,OAAO,CAACM,OAAO,CAAC,CAAC,CAAC;QACrE,OAAOF,OAAO;MAChB;MACA,OAAOH,MAAM;IACf,CAAC,CAAC;IACF,MAAMM,QAAQ,GAAGX,OAAO,CAACY,WAAW,CAACnB,IAAI,CAAC;IAC1C,OAAO,KAAIoB,iDAA4B,EAACZ,OAAO,EAAEU,QAAQ,CAAC;EAC5D;AACF;AAACG,OAAA,CAAAvB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
|