@teambit/refactoring 1.0.157 → 1.0.159

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.
@@ -31,13 +31,14 @@ export declare class RefactoringMain {
31
31
  refactorVariableAndClasses(component: Component, sourceId: ComponentID, targetId: ComponentID, options?: {
32
32
  ast?: boolean;
33
33
  }): Promise<void>;
34
+ getStringReplacementsForVariablesAndClasses(sourceId: ComponentID, targetId: ComponentID): MultipleStringsReplacement;
34
35
  refactorVariableAndClassesUsingAST(component: Component, sourceId: ComponentID, targetId: ComponentID): Promise<void>;
35
36
  refactorFilenames(component: Component, sourceId: ComponentID, targetId: ComponentID): void;
36
37
  /**
37
38
  * rename multiple packages dependencies.
38
39
  * this method changes the source code of the component, but doesn't write to the filesystem.
39
40
  */
40
- replaceMultipleStrings(components: Component[], stringsToReplace?: MultipleStringsReplacement, transformers?: SourceFileTransformer[]): Promise<{
41
+ replaceMultipleStrings(components: Component[], stringsToReplace?: MultipleStringsReplacement, transformers?: SourceFileTransformer[], shouldAvoidPackageNames?: boolean): Promise<{
41
42
  changedComponents: Component[];
42
43
  }>;
43
44
  private getPackageNameByUnknownId;
@@ -141,22 +141,25 @@ class RefactoringMain {
141
141
  if (options?.ast) {
142
142
  await this.refactorVariableAndClassesUsingAST(component, sourceId, targetId);
143
143
  } else {
144
- await this.replaceMultipleStrings([component], [{
145
- oldStr: sourceId.name,
146
- newStr: targetId.name
147
- }, {
148
- oldStr: (0, _camelcase().default)(sourceId.name),
149
- newStr: (0, _camelcase().default)(targetId.name)
150
- }, {
151
- oldStr: (0, _camelcase().default)(sourceId.name, {
152
- pascalCase: true
153
- }),
154
- newStr: (0, _camelcase().default)(targetId.name, {
155
- pascalCase: true
156
- })
157
- }]);
144
+ await this.replaceMultipleStrings([component], this.getStringReplacementsForVariablesAndClasses(sourceId, targetId));
158
145
  }
159
146
  }
147
+ getStringReplacementsForVariablesAndClasses(sourceId, targetId) {
148
+ return [{
149
+ oldStr: sourceId.name,
150
+ newStr: targetId.name
151
+ }, {
152
+ oldStr: (0, _camelcase().default)(sourceId.name),
153
+ newStr: (0, _camelcase().default)(targetId.name)
154
+ }, {
155
+ oldStr: (0, _camelcase().default)(sourceId.name, {
156
+ pascalCase: true
157
+ }),
158
+ newStr: (0, _camelcase().default)(targetId.name, {
159
+ pascalCase: true
160
+ })
161
+ }];
162
+ }
160
163
  async refactorVariableAndClassesUsingAST(component, sourceId, targetId) {
161
164
  // transform kebabCase importPaths and PascalCase importNames
162
165
  await this.replaceMultipleStrings([component], [{
@@ -208,9 +211,9 @@ class RefactoringMain {
208
211
  * rename multiple packages dependencies.
209
212
  * this method changes the source code of the component, but doesn't write to the filesystem.
210
213
  */
211
- async replaceMultipleStrings(components, stringsToReplace = [], transformers) {
214
+ async replaceMultipleStrings(components, stringsToReplace = [], transformers, shouldAvoidPackageNames = false) {
212
215
  const changedComponents = await Promise.all(components.map(async comp => {
213
- const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers);
216
+ const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers, shouldAvoidPackageNames);
214
217
  return hasChanged ? comp : null;
215
218
  }));
216
219
  return {
@@ -287,14 +290,44 @@ class RefactoringMain {
287
290
  }
288
291
  });
289
292
  }
290
- async replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers) {
293
+ async replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers, shouldAvoidPackageNames = false) {
291
294
  const updates = stringsToReplace.reduce((acc, {
292
295
  oldStr,
293
296
  newStr
294
297
  }) => _objectSpread(_objectSpread({}, acc), {}, {
295
298
  [oldStr]: newStr
296
299
  }), {});
297
- const changed = await Promise.all(comp.filesystem.files.map(async file => {
300
+ const getContent = newContent => {
301
+ stringsToReplace.forEach(({
302
+ oldStr,
303
+ newStr
304
+ }) => {
305
+ const oldStringRegex = new RegExp(oldStr, 'g');
306
+ if (!shouldAvoidPackageNames) {
307
+ newContent = newContent.replace(oldStringRegex, newStr);
308
+ return;
309
+ }
310
+ // this is a super ugly hack to avoid replacing package names in import/require statements.
311
+ // obviously, the AST parsing is the way to go, but it's not stable yet.
312
+ // the reason to avoid package names is that when replacing variable/classes we can by mistake replace part
313
+ // of a package-name which is not intended.
314
+ // normally the package-names are replaced before that and are replaced by the entire name.
315
+ const newContentSplit = newContent.split('\n');
316
+ newContentSplit.forEach((line, index) => {
317
+ if ((line.startsWith('import ') || line.startsWith('export ')) && line.includes(' from ')) {
318
+ const [rest, pkgName] = line.split(' from ');
319
+ const newRest = rest.replace(oldStringRegex, newStr);
320
+ const newPkgName = pkgName.includes('@') ? pkgName : pkgName.replace(oldStringRegex, newStr);
321
+ newContentSplit[index] = [newRest, newPkgName].join(' from ');
322
+ } else {
323
+ newContentSplit[index] = line.replace(oldStringRegex, newStr);
324
+ }
325
+ });
326
+ newContent = newContentSplit.join('\n');
327
+ });
328
+ return newContent;
329
+ };
330
+ const updateFile = async file => {
298
331
  const isBinary = await (0, _isbinaryfile().isBinaryFile)(file.contents);
299
332
  if (isBinary) return false;
300
333
  const strContent = file.contents.toString();
@@ -303,20 +336,15 @@ class RefactoringMain {
303
336
  const transformerFactories = transformers.map(t => t(updates));
304
337
  newContent = await (0, _typescript().transformSourceFile)(file.path, strContent, transformerFactories, undefined, updates);
305
338
  } else {
306
- stringsToReplace.forEach(({
307
- oldStr,
308
- newStr
309
- }) => {
310
- const oldStringRegex = new RegExp(oldStr, 'g');
311
- newContent = newContent.replace(oldStringRegex, newStr);
312
- });
339
+ newContent = getContent(newContent);
313
340
  }
314
341
  if (strContent !== newContent) {
315
342
  file.contents = Buffer.from(newContent);
316
343
  return true;
317
344
  }
318
345
  return false;
319
- }));
346
+ };
347
+ const changed = await Promise.all(comp.filesystem.files.map(async file => updateFile(file)));
320
348
  return changed.some(c => c);
321
349
  }
322
350
  static async provider([componentMain, pkg, cli, envMain, prettierMain]) {
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_isbinaryfile","_camelcase","_interopRequireDefault","_lodash","_replacePackageName","_component","_interopRequireWildcard","_bitError","_pkg","_envs","_typescript","_prettier","_refactoring","_refactor","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","RefactoringMain","constructor","componentMain","pkg","envs","prettierMain","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replacePackageNameInComponent","compact","refactorVariableAndClasses","component","sourceId","targetId","options","ast","refactorVariableAndClassesUsingAST","replaceMultipleStrings","oldStr","name","newStr","camelCase","pascalCase","importTransformer","exportTransformer","variableNamesTransformer","functionNamesTransformer","typeReferenceTransformer","typeAliasNamesTransformer","interfaceNamesTransformer","classNamesTransformer","expressionStatementTransformer","refactorFilenames","filesystem","files","file","relative","includes","updatePaths","newRelative","replace","stringsToReplace","transformers","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","toString","getPackageName","startsWith","replaceString","oldString","newString","changed","isBinary","isBinaryFile","contents","strContent","oldStringRegex","RegExp","newContent","Buffer","from","some","c","oldPkg","newPkg","newStrContent","replacePackageName","getDefaultFormatter","createFormatter","check","config","parser","trailingComma","tabWidth","singleQuote","updates","reduce","acc","transformerFactories","transformSourceFile","path","undefined","provider","cli","envMain","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","exports","ComponentAspect","PkgAspect","CLIAspect","EnvsAspect","PrettierAspect","MainRuntime","RefactoringAspect","addRuntime"],"sources":["refactoring.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isBinaryFile } from 'isbinaryfile';\nimport camelCase from 'camelcase';\nimport { compact } from 'lodash';\nimport replacePackageName from '@teambit/legacy/dist/utils/string/replace-package-name';\nimport ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';\nimport { BitError } from '@teambit/bit-error';\nimport PkgAspect, { PkgMain } from '@teambit/pkg';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport {\n SourceFileTransformer,\n classNamesTransformer,\n functionNamesTransformer,\n importTransformer,\n exportTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\n transformSourceFile,\n expressionStatementTransformer,\n typeReferenceTransformer,\n} from '@teambit/typescript';\nimport PrettierAspect, { PrettierMain } from '@teambit/prettier';\nimport { Formatter } from '@teambit/formatter';\nimport { RefactoringAspect } from './refactoring.aspect';\nimport { DependencyNameRefactorCmd, RefactorCmd } from './refactor.cmd';\n\nexport type MultipleStringsReplacement = Array<{ oldStr: string; newStr: string }>;\n\nexport class RefactoringMain {\n constructor(\n private componentMain: ComponentMain,\n private pkg: PkgMain,\n private envs: EnvsMain,\n private prettierMain: PrettierMain\n ) {}\n\n /**\n * refactor the dependency name of a component.\n * oldId and newId can be either a component-id or a package-name.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async refactorDependencyName(\n components: Component[],\n oldId: ComponentID | string,\n newId: ComponentID | string\n ): Promise<{ oldPackageName: string; newPackageName: string; changedComponents: Component[] }> {\n const oldPackageName = await this.getPackageNameByUnknownId(oldId);\n const newPackageName = await this.getPackageNameByUnknownId(newId);\n if (oldPackageName === newPackageName) {\n throw new BitError(`refactoring: the old package-name and the new package-name are the same: ${oldPackageName}`);\n }\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replacePackageNameInComponent(comp, oldPackageName, newPackageName);\n return hasChanged ? comp : null;\n })\n );\n return { oldPackageName, newPackageName, changedComponents: compact(changedComponents) };\n }\n\n /**\n * replaces the old-name inside the source code of the given component with the new name.\n * helpful when renaming/forking an aspect/env where the component-name is used as the class-name and variable-name.\n */\n async refactorVariableAndClasses(\n component: Component,\n sourceId: ComponentID,\n targetId: ComponentID,\n options?: { ast?: boolean }\n ) {\n if (options?.ast) {\n await this.refactorVariableAndClassesUsingAST(component, sourceId, targetId);\n } else {\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: sourceId.name,\n newStr: targetId.name,\n },\n {\n oldStr: camelCase(sourceId.name),\n newStr: camelCase(targetId.name),\n },\n {\n oldStr: camelCase(sourceId.name, { pascalCase: true }),\n newStr: camelCase(targetId.name, { pascalCase: true }),\n },\n ]\n );\n }\n }\n\n async refactorVariableAndClassesUsingAST(component: Component, sourceId: ComponentID, targetId: ComponentID) {\n // transform kebabCase importPaths and PascalCase importNames\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: sourceId.name,\n newStr: targetId.name,\n },\n {\n oldStr: camelCase(sourceId.name, { pascalCase: true }),\n newStr: camelCase(targetId.name, { pascalCase: true }),\n },\n ],\n [importTransformer, exportTransformer]\n );\n\n // transform camelCase variable and function names\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: camelCase(sourceId.name),\n newStr: camelCase(targetId.name),\n },\n ],\n [variableNamesTransformer, functionNamesTransformer]\n );\n\n // transform PascalCase ClassNames\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: camelCase(sourceId.name, { pascalCase: true }),\n newStr: camelCase(targetId.name, { pascalCase: true }),\n },\n {\n oldStr: camelCase(`${sourceId.name}Props`, { pascalCase: true }),\n newStr: camelCase(`${targetId.name}Props`, { pascalCase: true }),\n },\n ],\n [\n typeReferenceTransformer,\n typeAliasNamesTransformer,\n functionNamesTransformer,\n interfaceNamesTransformer,\n variableNamesTransformer,\n classNamesTransformer,\n expressionStatementTransformer,\n ]\n );\n }\n\n refactorFilenames(component: Component, sourceId: ComponentID, targetId: ComponentID) {\n component.filesystem.files.forEach((file) => {\n if (file.relative.includes(sourceId.name)) {\n file.updatePaths({ newRelative: file.relative.replace(sourceId.name, targetId.name) });\n }\n });\n }\n\n /**\n * rename multiple packages dependencies.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async replaceMultipleStrings(\n components: Component[],\n stringsToReplace: MultipleStringsReplacement = [],\n transformers?: SourceFileTransformer[]\n ): Promise<{\n changedComponents: Component[];\n }> {\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers);\n return hasChanged ? comp : null;\n })\n );\n return { changedComponents: compact(changedComponents) };\n }\n\n private async getPackageNameByUnknownId(id: ComponentID | string): Promise<string> {\n if (id instanceof ComponentID) {\n return this.getPackageNameByComponentID(id);\n }\n if (typeof id !== 'string') {\n throw new Error(`getPackageNameByUnknownId expects id to be either string or ComponentID, got ${typeof id}`);\n }\n try {\n const host = this.componentMain.getHost();\n const componentID = await host.resolveComponentId(id);\n return await this.getPackageNameByComponentID(componentID);\n } catch (err) {\n if (this.isValidScopedPackageName(id)) {\n return id; // assume this is a package-name\n }\n throw new BitError(\n `refactoring: the id \"${id}\" is neither a valid scoped-package-name nor an existing component-id`\n );\n }\n }\n\n private async getPackageNameByComponentID(id: ComponentID) {\n const host = this.componentMain.getHost();\n const comp = await host.get(id);\n if (!comp) throw new Error(`unable to find a component: \"${id.toString()}\"`);\n return this.pkg.getPackageName(comp);\n }\n\n private isValidScopedPackageName(name: string) {\n return (\n name.startsWith('@') && name.includes('/') && name.length <= 214 && !name.includes('\\\\') && !name.includes('..')\n );\n }\n\n private async replaceString(comp: Component, oldString: string, newString: string): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n if (strContent.includes(oldString)) {\n const oldStringRegex = new RegExp(oldString, 'g');\n const newContent = strContent.replace(oldStringRegex, newString);\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n private async replacePackageNameInComponent(comp: Component, oldPkg: string, newPkg: string): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) {\n return false;\n }\n const strContent = file.contents.toString();\n const newStrContent = replacePackageName(strContent, oldPkg, newPkg);\n if (strContent === newStrContent) {\n return false;\n }\n file.contents = Buffer.from(newStrContent);\n return true;\n })\n );\n return changed.some((c) => c);\n }\n\n private getDefaultFormatter(): Formatter {\n return this.prettierMain.createFormatter(\n { check: false },\n {\n config: {\n parser: 'typescript',\n trailingComma: 'es5',\n tabWidth: 2,\n singleQuote: true,\n },\n }\n );\n }\n\n private async replaceMultipleStringsInOneComp(\n comp: Component,\n stringsToReplace: MultipleStringsReplacement,\n transformers?: SourceFileTransformer[]\n ): Promise<boolean> {\n const updates = stringsToReplace.reduce((acc, { oldStr, newStr }) => ({ ...acc, [oldStr]: newStr }), {});\n\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n let newContent = strContent;\n if (transformers?.length) {\n const transformerFactories = transformers.map((t) => t(updates));\n newContent = await transformSourceFile(file.path, strContent, transformerFactories, undefined, updates);\n } else {\n stringsToReplace.forEach(({ oldStr, newStr }) => {\n const oldStringRegex = new RegExp(oldStr, 'g');\n newContent = newContent.replace(oldStringRegex, newStr);\n });\n }\n if (strContent !== newContent) {\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n static slots = [];\n static dependencies = [ComponentAspect, PkgAspect, CLIAspect, EnvsAspect, PrettierAspect];\n static runtime = MainRuntime;\n static async provider([componentMain, pkg, cli, envMain, prettierMain]: [\n ComponentMain,\n PkgMain,\n CLIMain,\n EnvsMain,\n PrettierMain\n ]) {\n const refactoringMain = new RefactoringMain(componentMain, pkg, envMain, prettierMain);\n const subCommands = [new DependencyNameRefactorCmd(refactoringMain, componentMain)];\n const refactorCmd = new RefactorCmd();\n refactorCmd.commands = subCommands;\n cli.register(refactorCmd);\n return refactoringMain;\n }\n}\n\nRefactoringAspect.addRuntime(RefactoringMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cli","data","require","_isbinaryfile","_camelcase","_interopRequireDefault","_lodash","_replacePackageName","_component","_interopRequireWildcard","_bitError","_pkg","_envs","_typescript","_prettier","_refactoring","_refactor","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","RefactoringMain","constructor","componentMain","pkg","envs","prettierMain","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replacePackageNameInComponent","compact","refactorVariableAndClasses","component","sourceId","targetId","options","ast","refactorVariableAndClassesUsingAST","replaceMultipleStrings","getStringReplacementsForVariablesAndClasses","oldStr","name","newStr","camelCase","pascalCase","importTransformer","exportTransformer","variableNamesTransformer","functionNamesTransformer","typeReferenceTransformer","typeAliasNamesTransformer","interfaceNamesTransformer","classNamesTransformer","expressionStatementTransformer","refactorFilenames","filesystem","files","file","relative","includes","updatePaths","newRelative","replace","stringsToReplace","transformers","shouldAvoidPackageNames","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","toString","getPackageName","startsWith","replaceString","oldString","newString","changed","isBinary","isBinaryFile","contents","strContent","oldStringRegex","RegExp","newContent","Buffer","from","some","c","oldPkg","newPkg","newStrContent","replacePackageName","getDefaultFormatter","createFormatter","check","config","parser","trailingComma","tabWidth","singleQuote","updates","reduce","acc","getContent","newContentSplit","split","line","index","rest","pkgName","newRest","newPkgName","join","updateFile","transformerFactories","transformSourceFile","path","undefined","provider","cli","envMain","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","exports","ComponentAspect","PkgAspect","CLIAspect","EnvsAspect","PrettierAspect","MainRuntime","RefactoringAspect","addRuntime"],"sources":["refactoring.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isBinaryFile } from 'isbinaryfile';\nimport camelCase from 'camelcase';\nimport { compact } from 'lodash';\nimport replacePackageName from '@teambit/legacy/dist/utils/string/replace-package-name';\nimport ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';\nimport { BitError } from '@teambit/bit-error';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport PkgAspect, { PkgMain } from '@teambit/pkg';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport {\n SourceFileTransformer,\n classNamesTransformer,\n functionNamesTransformer,\n importTransformer,\n exportTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\n transformSourceFile,\n expressionStatementTransformer,\n typeReferenceTransformer,\n} from '@teambit/typescript';\nimport PrettierAspect, { PrettierMain } from '@teambit/prettier';\nimport { Formatter } from '@teambit/formatter';\nimport { RefactoringAspect } from './refactoring.aspect';\nimport { DependencyNameRefactorCmd, RefactorCmd } from './refactor.cmd';\n\nexport type MultipleStringsReplacement = Array<{ oldStr: string; newStr: string }>;\n\nexport class RefactoringMain {\n constructor(\n private componentMain: ComponentMain,\n private pkg: PkgMain,\n private envs: EnvsMain,\n private prettierMain: PrettierMain\n ) {}\n\n /**\n * refactor the dependency name of a component.\n * oldId and newId can be either a component-id or a package-name.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async refactorDependencyName(\n components: Component[],\n oldId: ComponentID | string,\n newId: ComponentID | string\n ): Promise<{ oldPackageName: string; newPackageName: string; changedComponents: Component[] }> {\n const oldPackageName = await this.getPackageNameByUnknownId(oldId);\n const newPackageName = await this.getPackageNameByUnknownId(newId);\n if (oldPackageName === newPackageName) {\n throw new BitError(`refactoring: the old package-name and the new package-name are the same: ${oldPackageName}`);\n }\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replacePackageNameInComponent(comp, oldPackageName, newPackageName);\n return hasChanged ? comp : null;\n })\n );\n return { oldPackageName, newPackageName, changedComponents: compact(changedComponents) };\n }\n\n /**\n * replaces the old-name inside the source code of the given component with the new name.\n * helpful when renaming/forking an aspect/env where the component-name is used as the class-name and variable-name.\n */\n async refactorVariableAndClasses(\n component: Component,\n sourceId: ComponentID,\n targetId: ComponentID,\n options?: { ast?: boolean }\n ) {\n if (options?.ast) {\n await this.refactorVariableAndClassesUsingAST(component, sourceId, targetId);\n } else {\n await this.replaceMultipleStrings(\n [component],\n this.getStringReplacementsForVariablesAndClasses(sourceId, targetId)\n );\n }\n }\n\n getStringReplacementsForVariablesAndClasses(\n sourceId: ComponentID,\n targetId: ComponentID\n ): MultipleStringsReplacement {\n return [\n {\n oldStr: sourceId.name,\n newStr: targetId.name,\n },\n {\n oldStr: camelCase(sourceId.name),\n newStr: camelCase(targetId.name),\n },\n {\n oldStr: camelCase(sourceId.name, { pascalCase: true }),\n newStr: camelCase(targetId.name, { pascalCase: true }),\n },\n ];\n }\n\n async refactorVariableAndClassesUsingAST(component: Component, sourceId: ComponentID, targetId: ComponentID) {\n // transform kebabCase importPaths and PascalCase importNames\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: sourceId.name,\n newStr: targetId.name,\n },\n {\n oldStr: camelCase(sourceId.name, { pascalCase: true }),\n newStr: camelCase(targetId.name, { pascalCase: true }),\n },\n ],\n [importTransformer, exportTransformer]\n );\n\n // transform camelCase variable and function names\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: camelCase(sourceId.name),\n newStr: camelCase(targetId.name),\n },\n ],\n [variableNamesTransformer, functionNamesTransformer]\n );\n\n // transform PascalCase ClassNames\n await this.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: camelCase(sourceId.name, { pascalCase: true }),\n newStr: camelCase(targetId.name, { pascalCase: true }),\n },\n {\n oldStr: camelCase(`${sourceId.name}Props`, { pascalCase: true }),\n newStr: camelCase(`${targetId.name}Props`, { pascalCase: true }),\n },\n ],\n [\n typeReferenceTransformer,\n typeAliasNamesTransformer,\n functionNamesTransformer,\n interfaceNamesTransformer,\n variableNamesTransformer,\n classNamesTransformer,\n expressionStatementTransformer,\n ]\n );\n }\n\n refactorFilenames(component: Component, sourceId: ComponentID, targetId: ComponentID) {\n component.filesystem.files.forEach((file) => {\n if (file.relative.includes(sourceId.name)) {\n file.updatePaths({ newRelative: file.relative.replace(sourceId.name, targetId.name) });\n }\n });\n }\n\n /**\n * rename multiple packages dependencies.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async replaceMultipleStrings(\n components: Component[],\n stringsToReplace: MultipleStringsReplacement = [],\n transformers?: SourceFileTransformer[],\n shouldAvoidPackageNames = false\n ): Promise<{\n changedComponents: Component[];\n }> {\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceMultipleStringsInOneComp(\n comp,\n stringsToReplace,\n transformers,\n shouldAvoidPackageNames\n );\n return hasChanged ? comp : null;\n })\n );\n return { changedComponents: compact(changedComponents) };\n }\n\n private async getPackageNameByUnknownId(id: ComponentID | string): Promise<string> {\n if (id instanceof ComponentID) {\n return this.getPackageNameByComponentID(id);\n }\n if (typeof id !== 'string') {\n throw new Error(`getPackageNameByUnknownId expects id to be either string or ComponentID, got ${typeof id}`);\n }\n try {\n const host = this.componentMain.getHost();\n const componentID = await host.resolveComponentId(id);\n return await this.getPackageNameByComponentID(componentID);\n } catch (err) {\n if (this.isValidScopedPackageName(id)) {\n return id; // assume this is a package-name\n }\n throw new BitError(\n `refactoring: the id \"${id}\" is neither a valid scoped-package-name nor an existing component-id`\n );\n }\n }\n\n private async getPackageNameByComponentID(id: ComponentID) {\n const host = this.componentMain.getHost();\n const comp = await host.get(id);\n if (!comp) throw new Error(`unable to find a component: \"${id.toString()}\"`);\n return this.pkg.getPackageName(comp);\n }\n\n private isValidScopedPackageName(name: string) {\n return (\n name.startsWith('@') && name.includes('/') && name.length <= 214 && !name.includes('\\\\') && !name.includes('..')\n );\n }\n\n private async replaceString(comp: Component, oldString: string, newString: string): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n if (strContent.includes(oldString)) {\n const oldStringRegex = new RegExp(oldString, 'g');\n const newContent = strContent.replace(oldStringRegex, newString);\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n private async replacePackageNameInComponent(comp: Component, oldPkg: string, newPkg: string): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) {\n return false;\n }\n const strContent = file.contents.toString();\n const newStrContent = replacePackageName(strContent, oldPkg, newPkg);\n if (strContent === newStrContent) {\n return false;\n }\n file.contents = Buffer.from(newStrContent);\n return true;\n })\n );\n return changed.some((c) => c);\n }\n\n private getDefaultFormatter(): Formatter {\n return this.prettierMain.createFormatter(\n { check: false },\n {\n config: {\n parser: 'typescript',\n trailingComma: 'es5',\n tabWidth: 2,\n singleQuote: true,\n },\n }\n );\n }\n\n private async replaceMultipleStringsInOneComp(\n comp: Component,\n stringsToReplace: MultipleStringsReplacement,\n transformers?: SourceFileTransformer[],\n shouldAvoidPackageNames = false\n ): Promise<boolean> {\n const updates = stringsToReplace.reduce((acc, { oldStr, newStr }) => ({ ...acc, [oldStr]: newStr }), {});\n\n const getContent = (newContent: string) => {\n stringsToReplace.forEach(({ oldStr, newStr }) => {\n const oldStringRegex = new RegExp(oldStr, 'g');\n if (!shouldAvoidPackageNames) {\n newContent = newContent.replace(oldStringRegex, newStr);\n return;\n }\n // this is a super ugly hack to avoid replacing package names in import/require statements.\n // obviously, the AST parsing is the way to go, but it's not stable yet.\n // the reason to avoid package names is that when replacing variable/classes we can by mistake replace part\n // of a package-name which is not intended.\n // normally the package-names are replaced before that and are replaced by the entire name.\n const newContentSplit = newContent.split('\\n');\n newContentSplit.forEach((line, index) => {\n if ((line.startsWith('import ') || line.startsWith('export ')) && line.includes(' from ')) {\n const [rest, pkgName] = line.split(' from ');\n const newRest = rest.replace(oldStringRegex, newStr);\n const newPkgName = pkgName.includes('@') ? pkgName : pkgName.replace(oldStringRegex, newStr);\n newContentSplit[index] = [newRest, newPkgName].join(' from ');\n } else {\n newContentSplit[index] = line.replace(oldStringRegex, newStr);\n }\n });\n newContent = newContentSplit.join('\\n');\n });\n return newContent;\n };\n\n const updateFile = async (file: AbstractVinyl) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n let newContent = strContent;\n if (transformers?.length) {\n const transformerFactories = transformers.map((t) => t(updates));\n newContent = await transformSourceFile(file.path, strContent, transformerFactories, undefined, updates);\n } else {\n newContent = getContent(newContent);\n }\n if (strContent !== newContent) {\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n };\n\n const changed = await Promise.all(comp.filesystem.files.map(async (file) => updateFile(file)));\n return changed.some((c) => c);\n }\n\n static slots = [];\n static dependencies = [ComponentAspect, PkgAspect, CLIAspect, EnvsAspect, PrettierAspect];\n static runtime = MainRuntime;\n static async provider([componentMain, pkg, cli, envMain, prettierMain]: [\n ComponentMain,\n PkgMain,\n CLIMain,\n EnvsMain,\n PrettierMain\n ]) {\n const refactoringMain = new RefactoringMain(componentMain, pkg, envMain, prettierMain);\n const subCommands = [new DependencyNameRefactorCmd(refactoringMain, componentMain)];\n const refactorCmd = new RefactorCmd();\n refactorCmd.commands = subCommands;\n cli.register(refactorCmd);\n return refactoringMain;\n }\n}\n\nRefactoringAspect.addRuntime(RefactoringMain);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/refactoring",
3
- "version": "1.0.157",
3
+ "version": "1.0.159",
4
4
  "homepage": "https://bit.cloud/teambit/component/refactoring",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "refactoring",
9
- "version": "1.0.157"
9
+ "version": "1.0.159"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -15,19 +15,19 @@
15
15
  "lodash": "4.17.21",
16
16
  "@teambit/harmony": "0.4.6",
17
17
  "@teambit/bit-error": "0.0.404",
18
- "@teambit/cli": "0.0.850",
19
- "@teambit/component": "1.0.157",
20
- "@teambit/envs": "1.0.157",
21
- "@teambit/formatter": "1.0.157",
22
- "@teambit/pkg": "1.0.157",
23
- "@teambit/prettier": "1.0.157",
24
- "@teambit/typescript": "1.0.157"
18
+ "@teambit/cli": "0.0.851",
19
+ "@teambit/component": "1.0.159",
20
+ "@teambit/envs": "1.0.159",
21
+ "@teambit/formatter": "1.0.159",
22
+ "@teambit/pkg": "1.0.159",
23
+ "@teambit/prettier": "1.0.159",
24
+ "@teambit/typescript": "1.0.159"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/lodash": "4.14.165",
28
28
  "@types/mocha": "9.1.0",
29
29
  "chai": "4.3.0",
30
- "@teambit/harmony.envs.core-aspect-env": "0.0.24"
30
+ "@teambit/harmony.envs.core-aspect-env": "0.0.25"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@teambit/legacy": "1.0.624"