@teambit/refactoring 0.0.397 → 0.0.399

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.
@@ -1,6 +1,8 @@
1
1
  import { CLIMain } from '@teambit/cli';
2
2
  import { Component, ComponentID, ComponentMain } from '@teambit/component';
3
3
  import { PkgMain } from '@teambit/pkg';
4
+ import { EnvsMain } from '@teambit/envs';
5
+ import { SourceFileTransformer } from '@teambit/typescript';
4
6
  export declare type MultipleStringsReplacement = Array<{
5
7
  oldStr: string;
6
8
  newStr: string;
@@ -8,7 +10,8 @@ export declare type MultipleStringsReplacement = Array<{
8
10
  export declare class RefactoringMain {
9
11
  private componentMain;
10
12
  private pkg;
11
- constructor(componentMain: ComponentMain, pkg: PkgMain);
13
+ private envs;
14
+ constructor(componentMain: ComponentMain, pkg: PkgMain, envs: EnvsMain);
12
15
  /**
13
16
  * refactor the dependency name of a component.
14
17
  * oldId and newId can be either a component-id or a package-name.
@@ -29,7 +32,7 @@ export declare class RefactoringMain {
29
32
  * rename multiple packages dependencies.
30
33
  * this method changes the source code of the component, but doesn't write to the filesystem.
31
34
  */
32
- replaceMultipleStrings(components: Component[], stringsToReplace: MultipleStringsReplacement): Promise<{
35
+ replaceMultipleStrings(components: Component[], stringsToReplace: MultipleStringsReplacement | undefined, transformers: SourceFileTransformer[]): Promise<{
33
36
  changedComponents: Component[];
34
37
  }>;
35
38
  private getPackageNameByUnknownId;
@@ -41,5 +44,5 @@ export declare class RefactoringMain {
41
44
  static slots: never[];
42
45
  static dependencies: import("@teambit/harmony").Aspect[];
43
46
  static runtime: import("@teambit/harmony").RuntimeDefinition;
44
- static provider([componentMain, pkg, cli]: [ComponentMain, PkgMain, CLIMain]): Promise<RefactoringMain>;
47
+ static provider([componentMain, pkg, cli, envMain]: [ComponentMain, PkgMain, CLIMain, EnvsMain]): Promise<RefactoringMain>;
45
48
  }
@@ -73,6 +73,20 @@ function _pkg() {
73
73
  };
74
74
  return data;
75
75
  }
76
+ function _envs() {
77
+ const data = require("@teambit/envs");
78
+ _envs = function () {
79
+ return data;
80
+ };
81
+ return data;
82
+ }
83
+ function _typescript() {
84
+ const data = require("@teambit/typescript");
85
+ _typescript = function () {
86
+ return data;
87
+ };
88
+ return data;
89
+ }
76
90
  function _refactoring() {
77
91
  const data = require("./refactoring.aspect");
78
92
  _refactoring = function () {
@@ -89,10 +103,13 @@ function _refactor() {
89
103
  }
90
104
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
91
105
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
106
+ 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
+ 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; }
92
108
  class RefactoringMain {
93
- constructor(componentMain, pkg) {
109
+ constructor(componentMain, pkg, envs) {
94
110
  this.componentMain = componentMain;
95
111
  this.pkg = pkg;
112
+ this.envs = envs;
96
113
  }
97
114
 
98
115
  /**
@@ -122,20 +139,41 @@ class RefactoringMain {
122
139
  * helpful when renaming/forking an aspect/env where the component-name is used as the class-name and variable-name.
123
140
  */
124
141
  async refactorVariableAndClasses(component, sourceId, targetId) {
142
+ // transform kebabCase importPaths and PascalCase importNames
125
143
  await this.replaceMultipleStrings([component], [{
126
144
  oldStr: sourceId.name,
127
145
  newStr: targetId.name
128
146
  }, {
147
+ oldStr: (0, _camelcase().default)(sourceId.name, {
148
+ pascalCase: true
149
+ }),
150
+ newStr: (0, _camelcase().default)(targetId.name, {
151
+ pascalCase: true
152
+ })
153
+ }], [_typescript().importTransformer, _typescript().exportTransformer]);
154
+
155
+ // transform camelCase variable and function names
156
+ await this.replaceMultipleStrings([component], [{
129
157
  oldStr: (0, _camelcase().default)(sourceId.name),
130
158
  newStr: (0, _camelcase().default)(targetId.name)
131
- }, {
159
+ }], [_typescript().variableNamesTransformer, _typescript().functionNamesTransformer]);
160
+
161
+ // transform PascalCase ClassNames
162
+ await this.replaceMultipleStrings([component], [{
132
163
  oldStr: (0, _camelcase().default)(sourceId.name, {
133
164
  pascalCase: true
134
165
  }),
135
166
  newStr: (0, _camelcase().default)(targetId.name, {
136
167
  pascalCase: true
137
168
  })
138
- }]);
169
+ }, {
170
+ oldStr: (0, _camelcase().default)(`${sourceId.name}Props`, {
171
+ pascalCase: true
172
+ }),
173
+ newStr: (0, _camelcase().default)(`${targetId.name}Props`, {
174
+ pascalCase: true
175
+ })
176
+ }], [_typescript().classNamesTransformer, _typescript().functionNamesTransformer, _typescript().interfaceNamesTransformer, _typescript().typeAliasNamesTransformer, _typescript().variableNamesTransformer, _typescript().identifierTransformer]);
139
177
  }
140
178
  refactorFilenames(component, sourceId, targetId) {
141
179
  component.filesystem.files.forEach(file => {
@@ -151,9 +189,9 @@ class RefactoringMain {
151
189
  * rename multiple packages dependencies.
152
190
  * this method changes the source code of the component, but doesn't write to the filesystem.
153
191
  */
154
- async replaceMultipleStrings(components, stringsToReplace) {
192
+ async replaceMultipleStrings(components, stringsToReplace = [], transformers) {
155
193
  const changedComponents = await Promise.all(components.map(async comp => {
156
- const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace);
194
+ const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers);
157
195
  return hasChanged ? comp : null;
158
196
  }));
159
197
  return {
@@ -219,19 +257,26 @@ class RefactoringMain {
219
257
  }));
220
258
  return changed.some(c => c);
221
259
  }
222
- async replaceMultipleStringsInOneComp(comp, stringsToReplace) {
260
+ async replaceMultipleStringsInOneComp(comp, stringsToReplace, transformers) {
261
+ var _env$getFormatter;
262
+ const updates = stringsToReplace.reduce((acc, {
263
+ oldStr,
264
+ newStr
265
+ }) => _objectSpread(_objectSpread({}, acc), {}, {
266
+ [oldStr]: newStr
267
+ }), {});
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
+ }]);
223
273
  const changed = await Promise.all(comp.filesystem.files.map(async file => {
224
274
  const isBinary = await (0, _isbinaryfile().isBinaryFile)(file.contents);
225
275
  if (isBinary) return false;
226
276
  const strContent = file.contents.toString();
227
277
  let newContent = strContent;
228
- stringsToReplace.forEach(({
229
- oldStr,
230
- newStr
231
- }) => {
232
- const oldStringRegex = new RegExp(oldStr, 'g');
233
- newContent = newContent.replace(oldStringRegex, newStr);
234
- });
278
+ const transformerFactories = transformers.map(t => t(updates));
279
+ newContent = await (0, _typescript().transformSourceFile)(file.path, strContent, transformerFactories, formatter, updates);
235
280
  if (strContent !== newContent) {
236
281
  file.contents = Buffer.from(newContent);
237
282
  return true;
@@ -240,8 +285,8 @@ class RefactoringMain {
240
285
  }));
241
286
  return changed.some(c => c);
242
287
  }
243
- static async provider([componentMain, pkg, cli]) {
244
- const refactoringMain = new RefactoringMain(componentMain, pkg);
288
+ static async provider([componentMain, pkg, cli, envMain]) {
289
+ const refactoringMain = new RefactoringMain(componentMain, pkg, envMain);
245
290
  const subCommands = [new (_refactor().DependencyNameRefactorCmd)(refactoringMain, componentMain)];
246
291
  const refactorCmd = new (_refactor().RefactorCmd)();
247
292
  refactorCmd.commands = subCommands;
@@ -251,7 +296,7 @@ class RefactoringMain {
251
296
  }
252
297
  exports.RefactoringMain = RefactoringMain;
253
298
  (0, _defineProperty2().default)(RefactoringMain, "slots", []);
254
- (0, _defineProperty2().default)(RefactoringMain, "dependencies", [_component().default, _pkg().default, _cli().CLIAspect]);
299
+ (0, _defineProperty2().default)(RefactoringMain, "dependencies", [_component().default, _pkg().default, _cli().CLIAspect, _envs().EnvsAspect]);
255
300
  (0, _defineProperty2().default)(RefactoringMain, "runtime", _cli().MainRuntime);
256
301
  _refactoring().RefactoringAspect.addRuntime(RefactoringMain);
257
302
 
@@ -1 +1 @@
1
- {"version":3,"names":["RefactoringMain","constructor","componentMain","pkg","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","refactorFilenames","filesystem","files","forEach","file","relative","includes","updatePaths","newRelative","replace","stringsToReplace","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","provider","cli","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","ComponentAspect","PkgAspect","CLIAspect","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 { 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) {}\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 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 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 ): Promise<{\n changedComponents: Component[];\n }> {\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace);\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 ): 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 let newContent = strContent;\n stringsToReplace.forEach(({ oldStr, newStr }) => {\n const oldStringRegex = new RegExp(oldStr, 'g');\n newContent = newContent.replace(oldStringRegex, newStr);\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];\n static runtime = MainRuntime;\n static async provider([componentMain, pkg, cli]: [ComponentMain, PkgMain, CLIMain]) {\n const refactoringMain = new RefactoringMain(componentMain, pkg);\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","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","identifierTransformer","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 identifierTransformer,\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 identifierTransformer,\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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/refactoring",
3
- "version": "0.0.397",
3
+ "version": "0.0.399",
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.397"
9
+ "version": "0.0.399"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,10 +16,14 @@
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.738",
20
- "@teambit/component": "0.0.1100",
19
+ "@teambit/cli": "0.0.739",
20
+ "@teambit/component": "0.0.1102",
21
21
  "@teambit/bit-error": "0.0.402",
22
- "@teambit/pkg": "0.0.1100"
22
+ "@teambit/defender.prettier.config-mutator": "0.0.90",
23
+ "@teambit/envs": "0.0.1102",
24
+ "@teambit/formatter": "0.0.653",
25
+ "@teambit/pkg": "0.0.1102",
26
+ "@teambit/typescript": "0.0.1102"
23
27
  },
24
28
  "devDependencies": {
25
29
  "@types/lodash": "4.14.165",
@@ -31,7 +35,7 @@
31
35
  "@types/testing-library__jest-dom": "5.9.5"
32
36
  },
33
37
  "peerDependencies": {
34
- "@teambit/legacy": "1.0.519",
38
+ "@teambit/legacy": "1.0.520",
35
39
  "react": "^16.8.0 || ^17.0.0",
36
40
  "react-dom": "^16.8.0 || ^17.0.0"
37
41
  },