@teambit/refactoring 0.0.406 → 0.0.408

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.
@@ -3,6 +3,7 @@ import { Component, ComponentID, ComponentMain } from '@teambit/component';
3
3
  import { PkgMain } from '@teambit/pkg';
4
4
  import { EnvsMain } from '@teambit/envs';
5
5
  import { SourceFileTransformer } from '@teambit/typescript';
6
+ import { PrettierMain } from '@teambit/prettier';
6
7
  export declare type MultipleStringsReplacement = Array<{
7
8
  oldStr: string;
8
9
  newStr: string;
@@ -11,7 +12,8 @@ export declare class RefactoringMain {
11
12
  private componentMain;
12
13
  private pkg;
13
14
  private envs;
14
- constructor(componentMain: ComponentMain, pkg: PkgMain, envs: EnvsMain);
15
+ private prettierMain;
16
+ constructor(componentMain: ComponentMain, pkg: PkgMain, envs: EnvsMain, prettierMain: PrettierMain);
15
17
  /**
16
18
  * refactor the dependency name of a component.
17
19
  * oldId and newId can be either a component-id or a package-name.
@@ -40,9 +42,16 @@ export declare class RefactoringMain {
40
42
  private isValidScopedPackageName;
41
43
  private replaceString;
42
44
  private replacePackageNameInComponent;
45
+ private getDefaultFormatter;
43
46
  private replaceMultipleStringsInOneComp;
44
47
  static slots: never[];
45
48
  static dependencies: import("@teambit/harmony").Aspect[];
46
49
  static runtime: import("@teambit/harmony").RuntimeDefinition;
47
- static provider([componentMain, pkg, cli, envMain]: [ComponentMain, PkgMain, CLIMain, EnvsMain]): Promise<RefactoringMain>;
50
+ static provider([componentMain, pkg, cli, envMain, prettierMain]: [
51
+ ComponentMain,
52
+ PkgMain,
53
+ CLIMain,
54
+ EnvsMain,
55
+ PrettierMain
56
+ ]): Promise<RefactoringMain>;
48
57
  }
@@ -87,6 +87,13 @@ function _typescript() {
87
87
  };
88
88
  return data;
89
89
  }
90
+ function _prettier() {
91
+ const data = _interopRequireDefault(require("@teambit/prettier"));
92
+ _prettier = function () {
93
+ return data;
94
+ };
95
+ return data;
96
+ }
90
97
  function _refactoring() {
91
98
  const data = require("./refactoring.aspect");
92
99
  _refactoring = function () {
@@ -106,10 +113,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
106
113
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
107
114
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
108
115
  class RefactoringMain {
109
- constructor(componentMain, pkg, envs) {
116
+ constructor(componentMain, pkg, envs, prettierMain) {
110
117
  this.componentMain = componentMain;
111
118
  this.pkg = pkg;
112
119
  this.envs = envs;
120
+ this.prettierMain = prettierMain;
113
121
  }
114
122
 
115
123
  /**
@@ -257,19 +265,42 @@ class RefactoringMain {
257
265
  }));
258
266
  return changed.some(c => c);
259
267
  }
268
+ getDefaultFormatter() {
269
+ return this.prettierMain.createFormatter({
270
+ check: false
271
+ }, {
272
+ config: {
273
+ parser: 'typescript',
274
+ trailingComma: 'es5',
275
+ tabWidth: 2,
276
+ singleQuote: true
277
+ }
278
+ });
279
+ }
260
280
  async replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers) {
261
- var _env$getFormatter;
262
281
  const updates = stringsToReplace.reduce((acc, {
263
282
  oldStr,
264
283
  newStr
265
284
  }) => _objectSpread(_objectSpread({}, acc), {}, {
266
285
  [oldStr]: newStr
267
286
  }), {});
268
- const env = this.envs.getEnv(comp).env;
269
- const formatter = (_env$getFormatter = env.getFormatter) === null || _env$getFormatter === void 0 ? void 0 : _env$getFormatter.call(env, null, [config => {
270
- config.setKey('parser', 'typescript');
271
- return config;
272
- }]);
287
+ let formatter;
288
+ // We might not be able to load the real env during bit new for example
289
+ try {
290
+ var _env$getFormatter;
291
+ const env = this.envs.getEnv(comp).env;
292
+ formatter = (_env$getFormatter = env.getFormatter) === null || _env$getFormatter === void 0 ? void 0 : _env$getFormatter.call(env, null, [config => {
293
+ config.setKey('parser', 'typescript');
294
+ return config;
295
+ }]);
296
+ // We only need the env for the formatter, so we can dispose it right away
297
+ } catch (err) {
298
+ // ignore
299
+ // TODO: log the error
300
+ }
301
+ if (!formatter) {
302
+ formatter = this.getDefaultFormatter();
303
+ }
273
304
  const changed = await Promise.all(comp.filesystem.files.map(async file => {
274
305
  const isBinary = await (0, _isbinaryfile().isBinaryFile)(file.contents);
275
306
  if (isBinary) return false;
@@ -285,8 +316,8 @@ class RefactoringMain {
285
316
  }));
286
317
  return changed.some(c => c);
287
318
  }
288
- static async provider([componentMain, pkg, cli, envMain]) {
289
- const refactoringMain = new RefactoringMain(componentMain, pkg, envMain);
319
+ static async provider([componentMain, pkg, cli, envMain, prettierMain]) {
320
+ const refactoringMain = new RefactoringMain(componentMain, pkg, envMain, prettierMain);
290
321
  const subCommands = [new (_refactor().DependencyNameRefactorCmd)(refactoringMain, componentMain)];
291
322
  const refactorCmd = new (_refactor().RefactorCmd)();
292
323
  refactorCmd.commands = subCommands;
@@ -296,7 +327,7 @@ class RefactoringMain {
296
327
  }
297
328
  exports.RefactoringMain = RefactoringMain;
298
329
  (0, _defineProperty2().default)(RefactoringMain, "slots", []);
299
- (0, _defineProperty2().default)(RefactoringMain, "dependencies", [_component().default, _pkg().default, _cli().CLIAspect, _envs().EnvsAspect]);
330
+ (0, _defineProperty2().default)(RefactoringMain, "dependencies", [_component().default, _pkg().default, _cli().CLIAspect, _envs().EnvsAspect, _prettier().default]);
300
331
  (0, _defineProperty2().default)(RefactoringMain, "runtime", _cli().MainRuntime);
301
332
  _refactoring().RefactoringAspect.addRuntime(RefactoringMain);
302
333
 
@@ -1 +1 @@
1
- {"version":3,"names":["RefactoringMain","constructor","componentMain","pkg","envs","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replacePackageNameInComponent","compact","refactorVariableAndClasses","component","sourceId","targetId","replaceMultipleStrings","oldStr","name","newStr","camelCase","pascalCase","importTransformer","exportTransformer","variableNamesTransformer","functionNamesTransformer","classNamesTransformer","interfaceNamesTransformer","typeAliasNamesTransformer","expressionStatementTransformer","refactorFilenames","filesystem","files","forEach","file","relative","includes","updatePaths","newRelative","replace","stringsToReplace","transformers","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","get","toString","getPackageName","startsWith","length","replaceString","oldString","newString","changed","isBinary","isBinaryFile","contents","strContent","oldStringRegex","RegExp","newContent","Buffer","from","some","c","oldPkg","newPkg","newStrContent","replacePackageName","updates","reduce","acc","env","getEnv","formatter","getFormatter","config","setKey","transformerFactories","t","transformSourceFile","path","provider","cli","envMain","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","ComponentAspect","PkgAspect","CLIAspect","EnvsAspect","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 { Formatter } from '@teambit/formatter';\nimport { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\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} from '@teambit/typescript';\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(private componentMain: ComponentMain, private pkg: PkgMain, private envs: EnvsMain) {}\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(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 classNamesTransformer,\n functionNamesTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\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 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 const env = this.envs.getEnv(comp).env;\n const formatter: Formatter | undefined = env.getFormatter?.(null, [\n (config: PrettierConfigMutator) => {\n config.setKey('parser', 'typescript');\n return config;\n },\n ]);\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 const transformerFactories = transformers.map((t) => t(updates));\n newContent = await transformSourceFile(file.path, strContent, transformerFactories, formatter, updates);\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];\n static runtime = MainRuntime;\n static async provider([componentMain, pkg, cli, envMain]: [ComponentMain, PkgMain, CLIMain, EnvsMain]) {\n const refactoringMain = new RefactoringMain(componentMain, pkg, envMain);\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":["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","replaceMultipleStrings","oldStr","name","newStr","camelCase","pascalCase","importTransformer","exportTransformer","variableNamesTransformer","functionNamesTransformer","classNamesTransformer","interfaceNamesTransformer","typeAliasNamesTransformer","expressionStatementTransformer","refactorFilenames","filesystem","files","forEach","file","relative","includes","updatePaths","newRelative","replace","stringsToReplace","transformers","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","get","toString","getPackageName","startsWith","length","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","formatter","env","getEnv","getFormatter","setKey","transformerFactories","t","transformSourceFile","path","provider","cli","envMain","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","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 { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\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} 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(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 classNamesTransformer,\n functionNamesTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\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 let formatter: Formatter | undefined;\n // We might not be able to load the real env during bit new for example\n try {\n const env = this.envs.getEnv(comp).env;\n formatter = env.getFormatter?.(null, [\n (config: PrettierConfigMutator) => {\n config.setKey('parser', 'typescript');\n return config;\n },\n ]);\n // We only need the env for the formatter, so we can dispose it right away\n } catch (err) {\n // ignore\n // TODO: log the error\n }\n if (!formatter) {\n formatter = this.getDefaultFormatter();\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 const transformerFactories = transformers.map((t) => t(updates));\n newContent = await transformSourceFile(file.path, strContent, transformerFactories, formatter, updates);\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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/refactoring",
3
- "version": "0.0.406",
3
+ "version": "0.0.408",
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": "0.0.406"
9
+ "version": "0.0.408"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,14 +16,15 @@
16
16
  "core-js": "^3.0.0",
17
17
  "@babel/runtime": "7.20.0",
18
18
  "@teambit/harmony": "0.4.6",
19
- "@teambit/cli": "0.0.741",
20
- "@teambit/component": "0.0.1109",
19
+ "@teambit/cli": "0.0.743",
20
+ "@teambit/component": "0.0.1111",
21
21
  "@teambit/bit-error": "0.0.402",
22
22
  "@teambit/defender.prettier.config-mutator": "0.0.90",
23
- "@teambit/envs": "0.0.1109",
24
- "@teambit/formatter": "0.0.660",
25
- "@teambit/pkg": "0.0.1109",
26
- "@teambit/typescript": "0.0.1109"
23
+ "@teambit/envs": "0.0.1111",
24
+ "@teambit/formatter": "0.0.662",
25
+ "@teambit/pkg": "0.0.1111",
26
+ "@teambit/prettier": "0.0.662",
27
+ "@teambit/typescript": "0.0.1111"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@types/lodash": "4.14.165",
@@ -35,7 +36,7 @@
35
36
  "@types/testing-library__jest-dom": "5.9.5"
36
37
  },
37
38
  "peerDependencies": {
38
- "@teambit/legacy": "1.0.522",
39
+ "@teambit/legacy": "1.0.523",
39
40
  "react": "^16.8.0 || ^17.0.0",
40
41
  "react-dom": "^16.8.0 || ^17.0.0"
41
42
  },