@teambit/refactoring 0.0.177 → 0.0.179
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/refactor.cmd.js +3 -17
- package/dist/refactor.cmd.js.map +1 -1
- package/dist/refactoring.aspect.js +0 -5
- package/dist/refactoring.aspect.js.map +1 -1
- package/dist/refactoring.main.runtime.js +2 -57
- package/dist/refactoring.main.runtime.js.map +1 -1
- package/package-tar/teambit-refactoring-0.0.179.tgz +0 -0
- package/package.json +6 -6
- /package/{preview-1666312873430.js → preview-1666496165706.js} +0 -0
- package/package-tar/teambit-refactoring-0.0.177.tgz +0 -0
package/dist/index.js
CHANGED
|
@@ -10,19 +10,14 @@ Object.defineProperty(exports, "RefactoringAspect", {
|
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
exports.default = void 0;
|
|
13
|
-
|
|
14
13
|
function _refactoring() {
|
|
15
14
|
const data = require("./refactoring.aspect");
|
|
16
|
-
|
|
17
15
|
_refactoring = function () {
|
|
18
16
|
return data;
|
|
19
17
|
};
|
|
20
|
-
|
|
21
18
|
return data;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
20
|
var _default = _refactoring().RefactoringAspect;
|
|
25
|
-
|
|
26
21
|
exports.default = _default;
|
|
27
22
|
|
|
28
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RefactoringAspect"],"sources":["index.ts"],"sourcesContent":["import { RefactoringAspect } from './refactoring.aspect';\n\nexport type { RefactoringMain, MultipleStringsReplacement } from './refactoring.main.runtime';\nexport default RefactoringAspect;\nexport { RefactoringAspect };\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["RefactoringAspect"],"sources":["index.ts"],"sourcesContent":["import { RefactoringAspect } from './refactoring.aspect';\n\nexport type { RefactoringMain, MultipleStringsReplacement } from './refactoring.main.runtime';\nexport default RefactoringAspect;\nexport { RefactoringAspect };\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAyD,eAG1CA,gCAAiB;AAAA"}
|
package/dist/refactor.cmd.js
CHANGED
|
@@ -1,40 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.promise.js");
|
|
8
|
-
|
|
9
6
|
Object.defineProperty(exports, "__esModule", {
|
|
10
7
|
value: true
|
|
11
8
|
});
|
|
12
9
|
exports.RefactorCmd = exports.DependencyNameRefactorCmd = void 0;
|
|
13
|
-
|
|
14
10
|
function _defineProperty2() {
|
|
15
11
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
12
|
_defineProperty2 = function () {
|
|
18
13
|
return data;
|
|
19
14
|
};
|
|
20
|
-
|
|
21
15
|
return data;
|
|
22
16
|
}
|
|
23
|
-
|
|
24
17
|
function _chalk() {
|
|
25
18
|
const data = _interopRequireDefault(require("chalk"));
|
|
26
|
-
|
|
27
19
|
_chalk = function () {
|
|
28
20
|
return data;
|
|
29
21
|
};
|
|
30
|
-
|
|
31
22
|
return data;
|
|
32
23
|
}
|
|
33
|
-
|
|
34
24
|
// eslint-disable-next-line max-classes-per-file
|
|
25
|
+
|
|
35
26
|
// import { PATTERN_HELP } from '@teambit/legacy/dist/constants';
|
|
27
|
+
|
|
36
28
|
class DependencyNameRefactorCmd {
|
|
37
29
|
// extendedDescription = `${PATTERN_HELP('refactor dependency-name')}`;
|
|
30
|
+
|
|
38
31
|
constructor(refactoringMain, componentMain) {
|
|
39
32
|
this.refactoringMain = refactoringMain;
|
|
40
33
|
this.componentMain = componentMain;
|
|
@@ -44,7 +37,6 @@ class DependencyNameRefactorCmd {
|
|
|
44
37
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
45
38
|
(0, _defineProperty2().default)(this, "extendedDescription", `the \`<old-id>\` and \`<new-id>\` arguments can be either a component-id or a package-name.`);
|
|
46
39
|
}
|
|
47
|
-
|
|
48
40
|
async report([oldId, newId]) {
|
|
49
41
|
const host = this.componentMain.getHost();
|
|
50
42
|
const allComps = await host.list();
|
|
@@ -56,11 +48,8 @@ class DependencyNameRefactorCmd {
|
|
|
56
48
|
await Promise.all(changedComponents.map(comp => host.write(comp)));
|
|
57
49
|
return `the following components have been changed (${oldPackageName} => ${newPackageName}):\n${changedComponents.map(c => c.id.toString()).join('\n')}`;
|
|
58
50
|
}
|
|
59
|
-
|
|
60
51
|
}
|
|
61
|
-
|
|
62
52
|
exports.DependencyNameRefactorCmd = DependencyNameRefactorCmd;
|
|
63
|
-
|
|
64
53
|
class RefactorCmd {
|
|
65
54
|
constructor() {
|
|
66
55
|
(0, _defineProperty2().default)(this, "name", 'refactor <sub-command>');
|
|
@@ -70,13 +59,10 @@ class RefactorCmd {
|
|
|
70
59
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
71
60
|
(0, _defineProperty2().default)(this, "commands", []);
|
|
72
61
|
}
|
|
73
|
-
|
|
74
62
|
async report([unrecognizedSubcommand]) {
|
|
75
63
|
return _chalk().default.red(`"${unrecognizedSubcommand}" is not a subcommand of "refactor", please run "bit refactor --help" to list the subcommands`);
|
|
76
64
|
}
|
|
77
|
-
|
|
78
65
|
}
|
|
79
|
-
|
|
80
66
|
exports.RefactorCmd = RefactorCmd;
|
|
81
67
|
|
|
82
68
|
//# sourceMappingURL=refactor.cmd.js.map
|
package/dist/refactor.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DependencyNameRefactorCmd","constructor","refactoringMain","componentMain","report","oldId","newId","host","getHost","allComps","list","changedComponents","oldPackageName","newPackageName","refactorDependencyName","Promise","all","map","comp","write","c","id","toString","join","RefactorCmd","unrecognizedSubcommand","chalk","red"],"sources":["refactor.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentMain } from '@teambit/component';\n// import { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { RefactoringMain } from './refactoring.main.runtime';\n\nexport class DependencyNameRefactorCmd implements Command {\n name = 'dependency-name <old-id> <new-id>';\n description = \"replace the dependency's old package-name with a new one in the code\";\n options = [] as CommandOptions;\n group = 'development';\n // extendedDescription = `${PATTERN_HELP('refactor dependency-name')}`;\n extendedDescription = `the \\`<old-id>\\` and \\`<new-id>\\` arguments can be either a component-id or a package-name.`;\n\n constructor(private refactoringMain: RefactoringMain, private componentMain: ComponentMain) {}\n\n async report([oldId, newId]: [string, string]) {\n const host = this.componentMain.getHost();\n const allComps = await host.list();\n const { changedComponents, oldPackageName, newPackageName } = await this.refactoringMain.refactorDependencyName(\n allComps,\n oldId,\n newId\n );\n await Promise.all(changedComponents.map((comp) => host.write(comp)));\n return `the following components have been changed (${oldPackageName} => ${newPackageName}):\\n${changedComponents\n .map((c) => c.id.toString())\n .join('\\n')}`;\n }\n}\n\nexport class RefactorCmd implements Command {\n name = 'refactor <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. source code refactoring / codemod';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"refactor\", please run \"bit refactor --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["DependencyNameRefactorCmd","constructor","refactoringMain","componentMain","report","oldId","newId","host","getHost","allComps","list","changedComponents","oldPackageName","newPackageName","refactorDependencyName","Promise","all","map","comp","write","c","id","toString","join","RefactorCmd","unrecognizedSubcommand","chalk","red"],"sources":["refactor.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentMain } from '@teambit/component';\n// import { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { RefactoringMain } from './refactoring.main.runtime';\n\nexport class DependencyNameRefactorCmd implements Command {\n name = 'dependency-name <old-id> <new-id>';\n description = \"replace the dependency's old package-name with a new one in the code\";\n options = [] as CommandOptions;\n group = 'development';\n // extendedDescription = `${PATTERN_HELP('refactor dependency-name')}`;\n extendedDescription = `the \\`<old-id>\\` and \\`<new-id>\\` arguments can be either a component-id or a package-name.`;\n\n constructor(private refactoringMain: RefactoringMain, private componentMain: ComponentMain) {}\n\n async report([oldId, newId]: [string, string]) {\n const host = this.componentMain.getHost();\n const allComps = await host.list();\n const { changedComponents, oldPackageName, newPackageName } = await this.refactoringMain.refactorDependencyName(\n allComps,\n oldId,\n newId\n );\n await Promise.all(changedComponents.map((comp) => host.write(comp)));\n return `the following components have been changed (${oldPackageName} => ${newPackageName}):\\n${changedComponents\n .map((c) => c.id.toString())\n .join('\\n')}`;\n }\n}\n\nexport class RefactorCmd implements Command {\n name = 'refactor <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. source code refactoring / codemod';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"refactor\", please run \"bit refactor --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAJA;;AAGA;;AAIO,MAAMA,yBAAyB,CAAoB;EAKxD;;EAGAC,WAAW,CAASC,eAAgC,EAAUC,aAA4B,EAAE;IAAA,KAAxED,eAAgC,GAAhCA,eAAgC;IAAA,KAAUC,aAA4B,GAA5BA,aAA4B;IAAA,8CAPnF,mCAAmC;IAAA,qDAC5B,sEAAsE;IAAA,iDAC1E,EAAE;IAAA,+CACJ,aAAa;IAAA,6DAEE,6FAA4F;EAEtB;EAE7F,MAAMC,MAAM,CAAC,CAACC,KAAK,EAAEC,KAAK,CAAmB,EAAE;IAC7C,MAAMC,IAAI,GAAG,IAAI,CAACJ,aAAa,CAACK,OAAO,EAAE;IACzC,MAAMC,QAAQ,GAAG,MAAMF,IAAI,CAACG,IAAI,EAAE;IAClC,MAAM;MAAEC,iBAAiB;MAAEC,cAAc;MAAEC;IAAe,CAAC,GAAG,MAAM,IAAI,CAACX,eAAe,CAACY,sBAAsB,CAC7GL,QAAQ,EACRJ,KAAK,EACLC,KAAK,CACN;IACD,MAAMS,OAAO,CAACC,GAAG,CAACL,iBAAiB,CAACM,GAAG,CAAEC,IAAI,IAAKX,IAAI,CAACY,KAAK,CAACD,IAAI,CAAC,CAAC,CAAC;IACpE,OAAQ,+CAA8CN,cAAe,OAAMC,cAAe,OAAMF,iBAAiB,CAC9GM,GAAG,CAAEG,CAAC,IAAKA,CAAC,CAACC,EAAE,CAACC,QAAQ,EAAE,CAAC,CAC3BC,IAAI,CAAC,IAAI,CAAE,EAAC;EACjB;AACF;AAAC;AAEM,MAAMC,WAAW,CAAoB;EAAA;IAAA,8CACnC,wBAAwB;IAAA,+CACvB,EAAE;IAAA,qDACI,iDAAiD;IAAA,iDACrD,EAAE;IAAA,+CACJ,aAAa;IAAA,kDACC,EAAE;EAAA;EAExB,MAAMpB,MAAM,CAAC,CAACqB,sBAAsB,CAAW,EAAE;IAC/C,OAAOC,gBAAK,CAACC,GAAG,CACb,IAAGF,sBAAuB,+FAA8F,CAC1H;EACH;AACF;AAAC"}
|
|
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.RefactoringAspect = void 0;
|
|
7
|
-
|
|
8
7
|
function _harmony() {
|
|
9
8
|
const data = require("@teambit/harmony");
|
|
10
|
-
|
|
11
9
|
_harmony = function () {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
const RefactoringAspect = _harmony().Aspect.create({
|
|
19
15
|
id: 'teambit.component/refactoring'
|
|
20
16
|
});
|
|
21
|
-
|
|
22
17
|
exports.RefactoringAspect = RefactoringAspect;
|
|
23
18
|
|
|
24
19
|
//# sourceMappingURL=refactoring.aspect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RefactoringAspect","Aspect","create","id"],"sources":["refactoring.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const RefactoringAspect = Aspect.create({\n id: 'teambit.component/refactoring',\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["RefactoringAspect","Aspect","create","id"],"sources":["refactoring.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const RefactoringAspect = Aspect.create({\n id: 'teambit.component/refactoring',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,iBAAiB,GAAGC,iBAAM,CAACC,MAAM,CAAC;EAC7CC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
|
|
@@ -1,136 +1,97 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.promise.js");
|
|
8
|
-
|
|
9
6
|
require("core-js/modules/es.regexp.constructor.js");
|
|
10
|
-
|
|
11
7
|
require("core-js/modules/es.regexp.exec.js");
|
|
12
|
-
|
|
13
8
|
require("core-js/modules/es.string.replace.js");
|
|
14
|
-
|
|
15
9
|
Object.defineProperty(exports, "__esModule", {
|
|
16
10
|
value: true
|
|
17
11
|
});
|
|
18
12
|
exports.RefactoringMain = void 0;
|
|
19
|
-
|
|
20
13
|
function _defineProperty2() {
|
|
21
14
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
22
|
-
|
|
23
15
|
_defineProperty2 = function () {
|
|
24
16
|
return data;
|
|
25
17
|
};
|
|
26
|
-
|
|
27
18
|
return data;
|
|
28
19
|
}
|
|
29
|
-
|
|
30
20
|
function _cli() {
|
|
31
21
|
const data = require("@teambit/cli");
|
|
32
|
-
|
|
33
22
|
_cli = function () {
|
|
34
23
|
return data;
|
|
35
24
|
};
|
|
36
|
-
|
|
37
25
|
return data;
|
|
38
26
|
}
|
|
39
|
-
|
|
40
27
|
function _isbinaryfile() {
|
|
41
28
|
const data = require("isbinaryfile");
|
|
42
|
-
|
|
43
29
|
_isbinaryfile = function () {
|
|
44
30
|
return data;
|
|
45
31
|
};
|
|
46
|
-
|
|
47
32
|
return data;
|
|
48
33
|
}
|
|
49
|
-
|
|
50
34
|
function _lodash() {
|
|
51
35
|
const data = require("lodash");
|
|
52
|
-
|
|
53
36
|
_lodash = function () {
|
|
54
37
|
return data;
|
|
55
38
|
};
|
|
56
|
-
|
|
57
39
|
return data;
|
|
58
40
|
}
|
|
59
|
-
|
|
60
41
|
function _component() {
|
|
61
42
|
const data = _interopRequireWildcard(require("@teambit/component"));
|
|
62
|
-
|
|
63
43
|
_component = function () {
|
|
64
44
|
return data;
|
|
65
45
|
};
|
|
66
|
-
|
|
67
46
|
return data;
|
|
68
47
|
}
|
|
69
|
-
|
|
70
48
|
function _bitError() {
|
|
71
49
|
const data = require("@teambit/bit-error");
|
|
72
|
-
|
|
73
50
|
_bitError = function () {
|
|
74
51
|
return data;
|
|
75
52
|
};
|
|
76
|
-
|
|
77
53
|
return data;
|
|
78
54
|
}
|
|
79
|
-
|
|
80
55
|
function _pkg() {
|
|
81
56
|
const data = _interopRequireDefault(require("@teambit/pkg"));
|
|
82
|
-
|
|
83
57
|
_pkg = function () {
|
|
84
58
|
return data;
|
|
85
59
|
};
|
|
86
|
-
|
|
87
60
|
return data;
|
|
88
61
|
}
|
|
89
|
-
|
|
90
62
|
function _refactoring() {
|
|
91
63
|
const data = require("./refactoring.aspect");
|
|
92
|
-
|
|
93
64
|
_refactoring = function () {
|
|
94
65
|
return data;
|
|
95
66
|
};
|
|
96
|
-
|
|
97
67
|
return data;
|
|
98
68
|
}
|
|
99
|
-
|
|
100
69
|
function _refactor() {
|
|
101
70
|
const data = require("./refactor.cmd");
|
|
102
|
-
|
|
103
71
|
_refactor = function () {
|
|
104
72
|
return data;
|
|
105
73
|
};
|
|
106
|
-
|
|
107
74
|
return data;
|
|
108
75
|
}
|
|
109
|
-
|
|
110
76
|
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); }
|
|
111
|
-
|
|
112
77
|
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; }
|
|
113
|
-
|
|
114
78
|
class RefactoringMain {
|
|
115
79
|
constructor(componentMain, pkg) {
|
|
116
80
|
this.componentMain = componentMain;
|
|
117
81
|
this.pkg = pkg;
|
|
118
82
|
}
|
|
83
|
+
|
|
119
84
|
/**
|
|
120
85
|
* refactor the dependency name of a component.
|
|
121
86
|
* oldId and newId can be either a component-id or a package-name.
|
|
122
87
|
* this method changes the source code of the component, but doesn't write to the filesystem.
|
|
123
88
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
89
|
async refactorDependencyName(components, oldId, newId) {
|
|
127
90
|
const oldPackageName = await this.getPackageNameByUnknownId(oldId);
|
|
128
91
|
const newPackageName = await this.getPackageNameByUnknownId(newId);
|
|
129
|
-
|
|
130
92
|
if (oldPackageName === newPackageName) {
|
|
131
93
|
throw new (_bitError().BitError)(`refactoring: the old package-name and the new package-name are the same: ${oldPackageName}`);
|
|
132
94
|
}
|
|
133
|
-
|
|
134
95
|
const changedComponents = await Promise.all(components.map(async comp => {
|
|
135
96
|
const hasChanged = await this.replaceString(comp, oldPackageName, newPackageName);
|
|
136
97
|
return hasChanged ? comp : null;
|
|
@@ -141,12 +102,11 @@ class RefactoringMain {
|
|
|
141
102
|
changedComponents: (0, _lodash().compact)(changedComponents)
|
|
142
103
|
};
|
|
143
104
|
}
|
|
105
|
+
|
|
144
106
|
/**
|
|
145
107
|
* rename multiple packages dependencies.
|
|
146
108
|
* this method changes the source code of the component, but doesn't write to the filesystem.
|
|
147
109
|
*/
|
|
148
|
-
|
|
149
|
-
|
|
150
110
|
async replaceMultipleStrings(components, stringsToReplace) {
|
|
151
111
|
const changedComponents = await Promise.all(components.map(async comp => {
|
|
152
112
|
const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace);
|
|
@@ -156,16 +116,13 @@ class RefactoringMain {
|
|
|
156
116
|
changedComponents: (0, _lodash().compact)(changedComponents)
|
|
157
117
|
};
|
|
158
118
|
}
|
|
159
|
-
|
|
160
119
|
async getPackageNameByUnknownId(id) {
|
|
161
120
|
if (id instanceof _component().ComponentID) {
|
|
162
121
|
return this.getPackageNameByComponentID(id);
|
|
163
122
|
}
|
|
164
|
-
|
|
165
123
|
if (typeof id !== 'string') {
|
|
166
124
|
throw new Error(`getPackageNameByUnknownId expects id to be either string or ComponentID, got ${typeof id}`);
|
|
167
125
|
}
|
|
168
|
-
|
|
169
126
|
try {
|
|
170
127
|
const host = this.componentMain.getHost();
|
|
171
128
|
const componentID = await host.resolveComponentId(id);
|
|
@@ -178,36 +135,30 @@ class RefactoringMain {
|
|
|
178
135
|
throw new (_bitError().BitError)(`refactoring: the id "${id}" is neither a valid scoped-package-name nor an existing component-id`);
|
|
179
136
|
}
|
|
180
137
|
}
|
|
181
|
-
|
|
182
138
|
async getPackageNameByComponentID(id) {
|
|
183
139
|
const host = this.componentMain.getHost();
|
|
184
140
|
const comp = await host.get(id);
|
|
185
141
|
if (!comp) throw new Error(`unable to find a component: "${id.toString()}"`);
|
|
186
142
|
return this.pkg.getPackageName(comp);
|
|
187
143
|
}
|
|
188
|
-
|
|
189
144
|
isValidScopedPackageName(name) {
|
|
190
145
|
return name.startsWith('@') && name.includes('/') && name.length <= 214 && !name.includes('\\') && !name.includes('..');
|
|
191
146
|
}
|
|
192
|
-
|
|
193
147
|
async replaceString(comp, oldString, newString) {
|
|
194
148
|
const changed = await Promise.all(comp.filesystem.files.map(async file => {
|
|
195
149
|
const isBinary = await (0, _isbinaryfile().isBinaryFile)(file.contents);
|
|
196
150
|
if (isBinary) return false;
|
|
197
151
|
const strContent = file.contents.toString();
|
|
198
|
-
|
|
199
152
|
if (strContent.includes(oldString)) {
|
|
200
153
|
const oldStringRegex = new RegExp(oldString, 'g');
|
|
201
154
|
const newContent = strContent.replace(oldStringRegex, newString);
|
|
202
155
|
file.contents = Buffer.from(newContent);
|
|
203
156
|
return true;
|
|
204
157
|
}
|
|
205
|
-
|
|
206
158
|
return false;
|
|
207
159
|
}));
|
|
208
160
|
return changed.some(c => c);
|
|
209
161
|
}
|
|
210
|
-
|
|
211
162
|
async replaceMultipleStringsInOneComp(comp, stringsToReplace) {
|
|
212
163
|
const changed = await Promise.all(comp.filesystem.files.map(async file => {
|
|
213
164
|
const isBinary = await (0, _isbinaryfile().isBinaryFile)(file.contents);
|
|
@@ -221,17 +172,14 @@ class RefactoringMain {
|
|
|
221
172
|
const oldStringRegex = new RegExp(oldStr, 'g');
|
|
222
173
|
newContent = newContent.replace(oldStringRegex, newStr);
|
|
223
174
|
});
|
|
224
|
-
|
|
225
175
|
if (strContent !== newContent) {
|
|
226
176
|
file.contents = Buffer.from(newContent);
|
|
227
177
|
return true;
|
|
228
178
|
}
|
|
229
|
-
|
|
230
179
|
return false;
|
|
231
180
|
}));
|
|
232
181
|
return changed.some(c => c);
|
|
233
182
|
}
|
|
234
|
-
|
|
235
183
|
static async provider([componentMain, pkg, cli]) {
|
|
236
184
|
const refactoringMain = new RefactoringMain(componentMain, pkg);
|
|
237
185
|
const subCommands = [new (_refactor().DependencyNameRefactorCmd)(refactoringMain, componentMain)];
|
|
@@ -240,14 +188,11 @@ class RefactoringMain {
|
|
|
240
188
|
cli.register(refactorCmd);
|
|
241
189
|
return refactoringMain;
|
|
242
190
|
}
|
|
243
|
-
|
|
244
191
|
}
|
|
245
|
-
|
|
246
192
|
exports.RefactoringMain = RefactoringMain;
|
|
247
193
|
(0, _defineProperty2().default)(RefactoringMain, "slots", []);
|
|
248
194
|
(0, _defineProperty2().default)(RefactoringMain, "dependencies", [_component().default, _pkg().default, _cli().CLIAspect]);
|
|
249
195
|
(0, _defineProperty2().default)(RefactoringMain, "runtime", _cli().MainRuntime);
|
|
250
|
-
|
|
251
196
|
_refactoring().RefactoringAspect.addRuntime(RefactoringMain);
|
|
252
197
|
|
|
253
198
|
//# sourceMappingURL=refactoring.main.runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RefactoringMain","constructor","componentMain","pkg","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replaceString","compact","replaceMultipleStrings","stringsToReplace","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","get","toString","getPackageName","name","startsWith","includes","length","oldString","newString","changed","filesystem","files","file","isBinary","isBinaryFile","contents","strContent","oldStringRegex","RegExp","newContent","replace","Buffer","from","some","c","forEach","oldStr","newStr","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 { compact } from 'lodash';\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.replaceString(comp, oldPackageName, newPackageName);\n return hasChanged ? comp : null;\n })\n );\n return { oldPackageName, newPackageName, changedComponents: compact(changedComponents) };\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 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","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replaceString","compact","replaceMultipleStrings","stringsToReplace","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","get","toString","getPackageName","name","startsWith","includes","length","oldString","newString","changed","filesystem","files","file","isBinary","isBinaryFile","contents","strContent","oldStringRegex","RegExp","newContent","replace","Buffer","from","some","c","forEach","oldStr","newStr","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 { compact } from 'lodash';\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.replaceString(comp, oldPackageName, newPackageName);\n return hasChanged ? comp : null;\n })\n );\n return { oldPackageName, newPackageName, changedComponents: compact(changedComponents) };\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 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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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/refactoring",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.179",
|
|
4
4
|
"homepage": "https://bit.dev/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.
|
|
9
|
+
"version": "0.0.179"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"@babel/runtime": "7.12.18",
|
|
16
16
|
"core-js": "^3.0.0",
|
|
17
17
|
"@teambit/harmony": "0.3.3",
|
|
18
|
-
"@teambit/cli": "0.0.
|
|
19
|
-
"@teambit/component": "0.0.
|
|
18
|
+
"@teambit/cli": "0.0.591",
|
|
19
|
+
"@teambit/component": "0.0.882",
|
|
20
20
|
"@teambit/bit-error": "0.0.400",
|
|
21
|
-
"@teambit/pkg": "0.0.
|
|
21
|
+
"@teambit/pkg": "0.0.882"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/lodash": "4.14.165",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@types/node": "12.20.4"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@teambit/legacy": "1.0.
|
|
33
|
+
"@teambit/legacy": "1.0.374",
|
|
34
34
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
35
35
|
"react": "^16.8.0 || ^17.0.0"
|
|
36
36
|
},
|
|
File without changes
|
|
Binary file
|