@teambit/snapping 1.0.486 → 1.0.488
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +13 -9
- package/artifacts/schema.json +1491 -1431
- package/dist/flattened-edges.d.ts +2 -2
- package/dist/flattened-edges.js.map +1 -1
- package/dist/generate-comp-from-scope.js +16 -31
- package/dist/generate-comp-from-scope.js.map +1 -1
- package/dist/get-flattened-dependencies.d.ts +32 -0
- package/dist/get-flattened-dependencies.js +190 -0
- package/dist/get-flattened-dependencies.js.map +1 -0
- package/dist/message-per-component.d.ts +17 -0
- package/dist/message-per-component.js +204 -0
- package/dist/message-per-component.js.map +1 -0
- package/dist/message-per-component.spec.d.ts +1 -0
- package/dist/message-per-component.spec.js +63 -0
- package/dist/message-per-component.spec.js.map +1 -0
- package/dist/reset-cmd.js +5 -5
- package/dist/reset-cmd.js.map +1 -1
- package/dist/reset-component.d.ts +3 -3
- package/dist/reset-component.js +8 -9
- package/dist/reset-component.js.map +1 -1
- package/dist/snap-cmd.js +7 -7
- package/dist/snap-cmd.js.map +1 -1
- package/dist/snapping.main.runtime.d.ts +4 -8
- package/dist/snapping.main.runtime.js +50 -64
- package/dist/snapping.main.runtime.js.map +1 -1
- package/dist/snapping.spec.js +5 -5
- package/dist/snapping.spec.js.map +1 -1
- package/dist/tag-cmd.js +6 -6
- package/dist/tag-cmd.js.map +1 -1
- package/dist/tag-model-component.d.ts +3 -4
- package/dist/tag-model-component.js +26 -40
- package/dist/tag-model-component.js.map +1 -1
- package/package.json +48 -36
- /package/dist/{preview-1733541556857.js → preview-1733830651067.js} +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MessagePerComponentFetcher = void 0;
|
|
7
|
+
function _openEditor() {
|
|
8
|
+
const data = _interopRequireDefault(require("open-editor"));
|
|
9
|
+
_openEditor = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _fsExtra() {
|
|
15
|
+
const data = _interopRequireDefault(require("fs-extra"));
|
|
16
|
+
_fsExtra = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _child_process() {
|
|
22
|
+
const data = require("child_process");
|
|
23
|
+
_child_process = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _legacy() {
|
|
29
|
+
const data = require("@teambit/legacy.loader");
|
|
30
|
+
_legacy = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
36
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
37
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
38
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
39
|
+
const DEFAULT_MESSAGE = 'DEFAULT:';
|
|
40
|
+
const DEFAULT_AUTO_TAG_MESSAGE = 'DEFAULT-AUTO-TAG:';
|
|
41
|
+
const formatId = id => `${id}:`;
|
|
42
|
+
const addSpace = str => `${str} `;
|
|
43
|
+
const DEFAULT_EDITOR = 'vim';
|
|
44
|
+
class MessagePerComponentFetcher {
|
|
45
|
+
constructor(idsToTag, idsToAutoTag) {
|
|
46
|
+
_defineProperty(this, "idsToTagObject", void 0);
|
|
47
|
+
_defineProperty(this, "idsToAutoTagObject", void 0);
|
|
48
|
+
this.idsToTagObject = idsToTag.toObject();
|
|
49
|
+
this.idsToAutoTagObject = idsToAutoTag.toObject();
|
|
50
|
+
}
|
|
51
|
+
async getMessagesFromEditor(tmp, editor) {
|
|
52
|
+
const template = this.getTemplate();
|
|
53
|
+
const templateFilePath = await tmp.save(template);
|
|
54
|
+
const editorName = typeof editor === 'string' ? editor : undefined;
|
|
55
|
+
await this.openEditor(templateFilePath, editorName);
|
|
56
|
+
const afterSave = await _fsExtra().default.readFile(templateFilePath, 'utf-8');
|
|
57
|
+
if (template === afterSave) {
|
|
58
|
+
throw new Error(`no changes have been done to the messages templates. consider using "--message" flag instead`);
|
|
59
|
+
}
|
|
60
|
+
await tmp.remove(templateFilePath);
|
|
61
|
+
return this.parseFileWithMessages(afterSave);
|
|
62
|
+
}
|
|
63
|
+
getTemplate() {
|
|
64
|
+
const idsToTag = this.getIdsToTagStr();
|
|
65
|
+
const idsToAutoTag = this.getIdsToAutoTagStr();
|
|
66
|
+
const idsStr = ids => ids.map(formatId).map(addSpace).join('\n');
|
|
67
|
+
const getAutoTagTemplate = () => {
|
|
68
|
+
if (!idsToAutoTag.length) return '';
|
|
69
|
+
return `
|
|
70
|
+
# The following components will be auto-tagged (due to dependencies bump)
|
|
71
|
+
# You can leave the following default message to avoid setting messages for these components
|
|
72
|
+
${DEFAULT_AUTO_TAG_MESSAGE} bump dependencies versions
|
|
73
|
+
${idsStr(idsToAutoTag)}
|
|
74
|
+
`;
|
|
75
|
+
};
|
|
76
|
+
return `# Please set the messages for the following components.
|
|
77
|
+
# You can enter a default-message to be applied to all empty components. this is optional.
|
|
78
|
+
${addSpace(DEFAULT_MESSAGE)}
|
|
79
|
+
${idsStr(idsToTag)}
|
|
80
|
+
${getAutoTagTemplate()}
|
|
81
|
+
`;
|
|
82
|
+
}
|
|
83
|
+
parseFileWithMessages(messagesFileContent) {
|
|
84
|
+
let defaultMessage = null;
|
|
85
|
+
let defaultAutoTagMessage = null;
|
|
86
|
+
const results = [];
|
|
87
|
+
const idsToTagStr = this.getIdsToTagStr();
|
|
88
|
+
const idsToAutoTagStr = this.getIdsToAutoTagStr();
|
|
89
|
+
const messagesSplit = messagesFileContent.split('\n');
|
|
90
|
+
|
|
91
|
+
// there are 4 sections in the template file. these 4 variables keep track in what section we're at.
|
|
92
|
+
let startedDefaultMessage = false;
|
|
93
|
+
let startedIdsToTag = false;
|
|
94
|
+
let startedAutoTagDefaultMessage = false;
|
|
95
|
+
let startedIdsToAutoTag = false;
|
|
96
|
+
messagesSplit.forEach(line => {
|
|
97
|
+
line = line.trim();
|
|
98
|
+
if (!line) {
|
|
99
|
+
return; // an empty line
|
|
100
|
+
}
|
|
101
|
+
if (line.startsWith('#')) {
|
|
102
|
+
return; // it's a comment
|
|
103
|
+
}
|
|
104
|
+
if (line.startsWith(DEFAULT_MESSAGE)) {
|
|
105
|
+
defaultMessage = line.replace(DEFAULT_MESSAGE, '').trim();
|
|
106
|
+
startedDefaultMessage = true;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const idToTag = idsToTagStr.find(id => line.startsWith(formatId(id)));
|
|
110
|
+
const removeId = id => line.replace(formatId(id), '').trim();
|
|
111
|
+
if (idToTag) {
|
|
112
|
+
startedIdsToTag = true;
|
|
113
|
+
const msg = removeId(idToTag) || defaultMessage;
|
|
114
|
+
if (!msg) {
|
|
115
|
+
throw new Error(`error: "${idToTag}" has no message and the default-message was not set`);
|
|
116
|
+
}
|
|
117
|
+
results.push({
|
|
118
|
+
id: this.idsToTagObject[idToTag],
|
|
119
|
+
msg
|
|
120
|
+
});
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (line.startsWith(DEFAULT_AUTO_TAG_MESSAGE)) {
|
|
124
|
+
startedAutoTagDefaultMessage = true;
|
|
125
|
+
defaultAutoTagMessage = line.replace(DEFAULT_AUTO_TAG_MESSAGE, '').trim();
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const idToAutoTag = idsToAutoTagStr.find(id => line.startsWith(formatId(id)));
|
|
129
|
+
if (idToAutoTag) {
|
|
130
|
+
startedIdsToAutoTag = true;
|
|
131
|
+
const msg = removeId(idToAutoTag) || defaultAutoTagMessage;
|
|
132
|
+
if (!msg) {
|
|
133
|
+
throw new Error(`error: "${idToTag}" has no message and the default-auto-message was not set`);
|
|
134
|
+
}
|
|
135
|
+
results.push({
|
|
136
|
+
id: this.idsToAutoTagObject[idToAutoTag],
|
|
137
|
+
msg
|
|
138
|
+
});
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// must be another line of one of the strings above. let's figure out what was it.
|
|
142
|
+
// the template starts with the default-message, followed by the ids to tag, followed by the
|
|
143
|
+
// auto-tag-default-message, followed by the ids to auto-tag.
|
|
144
|
+
if (!startedDefaultMessage) {
|
|
145
|
+
throw new Error(`error: the following line was added "${line}". please add the messages to the ids and default fields only`);
|
|
146
|
+
}
|
|
147
|
+
if (!startedIdsToTag) {
|
|
148
|
+
defaultMessage += `\n${line}`;
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (!startedAutoTagDefaultMessage) {
|
|
152
|
+
const lastEnteredId = results[results.length - 1];
|
|
153
|
+
lastEnteredId.msg += `\n${line}`;
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (!startedIdsToAutoTag) {
|
|
157
|
+
defaultAutoTagMessage += `\n${line}`;
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const lastEnteredId = results[results.length - 1];
|
|
161
|
+
lastEnteredId.msg += `\n${line}`;
|
|
162
|
+
});
|
|
163
|
+
return results;
|
|
164
|
+
}
|
|
165
|
+
async openEditor(templateFilePath, editor) {
|
|
166
|
+
const file = {
|
|
167
|
+
file: templateFilePath,
|
|
168
|
+
column: DEFAULT_MESSAGE.length + 1,
|
|
169
|
+
line: 3
|
|
170
|
+
};
|
|
171
|
+
const editorFromEnvVar = process.env.EDITOR || process.env.VISUAL; // taken from env-editor package
|
|
172
|
+
if (!editorFromEnvVar && !editor) {
|
|
173
|
+
editor = DEFAULT_EDITOR;
|
|
174
|
+
}
|
|
175
|
+
const editorData = _openEditor().default.make([file], {
|
|
176
|
+
editor
|
|
177
|
+
});
|
|
178
|
+
if (!editorData.isTerminalEditor) {
|
|
179
|
+
throw new Error(`your editor "${editorData.binary}" is not a terminal editor. either set $EDITOR in your env variable or pass "--editor" with a terminal editor (e.g. "nano", "vim")`);
|
|
180
|
+
}
|
|
181
|
+
_legacy().loader.stop();
|
|
182
|
+
return new Promise((resolve, reject) => {
|
|
183
|
+
const editorProcess = (0, _child_process().spawn)(editorData.binary, editorData.arguments, {
|
|
184
|
+
stdio: 'inherit'
|
|
185
|
+
});
|
|
186
|
+
editorProcess.on('exit', code => {
|
|
187
|
+
if (code === 0) {
|
|
188
|
+
resolve('completed');
|
|
189
|
+
} else {
|
|
190
|
+
reject(new Error(`${editor} had non zero exit code: ${code}`));
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
getIdsToTagStr() {
|
|
196
|
+
return Object.keys(this.idsToTagObject);
|
|
197
|
+
}
|
|
198
|
+
getIdsToAutoTagStr() {
|
|
199
|
+
return Object.keys(this.idsToAutoTagObject);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.MessagePerComponentFetcher = MessagePerComponentFetcher;
|
|
203
|
+
|
|
204
|
+
//# sourceMappingURL=message-per-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_openEditor","data","_interopRequireDefault","require","_fsExtra","_child_process","_legacy","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_MESSAGE","DEFAULT_AUTO_TAG_MESSAGE","formatId","id","addSpace","str","DEFAULT_EDITOR","MessagePerComponentFetcher","constructor","idsToTag","idsToAutoTag","idsToTagObject","toObject","idsToAutoTagObject","getMessagesFromEditor","tmp","editor","template","getTemplate","templateFilePath","save","editorName","undefined","openEditor","afterSave","fs","readFile","Error","remove","parseFileWithMessages","getIdsToTagStr","getIdsToAutoTagStr","idsStr","ids","map","join","getAutoTagTemplate","length","messagesFileContent","defaultMessage","defaultAutoTagMessage","results","idsToTagStr","idsToAutoTagStr","messagesSplit","split","startedDefaultMessage","startedIdsToTag","startedAutoTagDefaultMessage","startedIdsToAutoTag","forEach","line","trim","startsWith","replace","idToTag","find","removeId","msg","push","idToAutoTag","lastEnteredId","file","column","editorFromEnvVar","process","env","EDITOR","VISUAL","editorData","make","isTerminalEditor","binary","loader","stop","Promise","resolve","reject","editorProcess","spawn","arguments","stdio","on","code","keys","exports"],"sources":["message-per-component.ts"],"sourcesContent":["import openEditor from 'open-editor';\nimport fs from 'fs-extra';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { spawn } from 'child_process';\nimport { Tmp } from '@teambit/legacy.scope';\nimport { loader } from '@teambit/legacy.loader';\n\nconst DEFAULT_MESSAGE = 'DEFAULT:';\nconst DEFAULT_AUTO_TAG_MESSAGE = 'DEFAULT-AUTO-TAG:';\nconst formatId = (id: string) => `${id}:`;\nconst addSpace = (str: string) => `${str} `;\nconst DEFAULT_EDITOR = 'vim';\n\nexport type MessagePerComponent = { id: ComponentID; msg: string };\n\nexport class MessagePerComponentFetcher {\n private idsToTagObject: { [bitIdStr: string]: ComponentID };\n private idsToAutoTagObject: { [bitIdStr: string]: ComponentID };\n constructor(idsToTag: ComponentIdList, idsToAutoTag: ComponentIdList) {\n this.idsToTagObject = idsToTag.toObject();\n this.idsToAutoTagObject = idsToAutoTag.toObject();\n }\n\n async getMessagesFromEditor(tmp: Tmp, editor: string | boolean): Promise<MessagePerComponent[]> {\n const template = this.getTemplate();\n const templateFilePath = await tmp.save(template);\n const editorName = typeof editor === 'string' ? editor : undefined;\n await this.openEditor(templateFilePath, editorName);\n const afterSave = await fs.readFile(templateFilePath, 'utf-8');\n if (template === afterSave) {\n throw new Error(`no changes have been done to the messages templates. consider using \"--message\" flag instead`);\n }\n await tmp.remove(templateFilePath);\n return this.parseFileWithMessages(afterSave);\n }\n\n getTemplate() {\n const idsToTag = this.getIdsToTagStr();\n const idsToAutoTag = this.getIdsToAutoTagStr();\n const idsStr = (ids: string[]) => ids.map(formatId).map(addSpace).join('\\n');\n const getAutoTagTemplate = () => {\n if (!idsToAutoTag.length) return '';\n return `\n# The following components will be auto-tagged (due to dependencies bump)\n# You can leave the following default message to avoid setting messages for these components\n${DEFAULT_AUTO_TAG_MESSAGE} bump dependencies versions\n${idsStr(idsToAutoTag)}\n`;\n };\n return `# Please set the messages for the following components.\n# You can enter a default-message to be applied to all empty components. this is optional.\n${addSpace(DEFAULT_MESSAGE)}\n${idsStr(idsToTag)}\n${getAutoTagTemplate()}\n`;\n }\n\n parseFileWithMessages(messagesFileContent: string): MessagePerComponent[] {\n let defaultMessage: string | null = null;\n let defaultAutoTagMessage: string | null = null;\n const results: MessagePerComponent[] = [];\n\n const idsToTagStr = this.getIdsToTagStr();\n const idsToAutoTagStr = this.getIdsToAutoTagStr();\n const messagesSplit = messagesFileContent.split('\\n');\n\n // there are 4 sections in the template file. these 4 variables keep track in what section we're at.\n let startedDefaultMessage = false;\n let startedIdsToTag = false;\n let startedAutoTagDefaultMessage = false;\n let startedIdsToAutoTag = false;\n\n messagesSplit.forEach((line) => {\n line = line.trim();\n if (!line) {\n return; // an empty line\n }\n if (line.startsWith('#')) {\n return; // it's a comment\n }\n if (line.startsWith(DEFAULT_MESSAGE)) {\n defaultMessage = line.replace(DEFAULT_MESSAGE, '').trim();\n startedDefaultMessage = true;\n return;\n }\n const idToTag = idsToTagStr.find((id) => line.startsWith(formatId(id)));\n const removeId = (id: string) => line.replace(formatId(id), '').trim();\n if (idToTag) {\n startedIdsToTag = true;\n const msg = removeId(idToTag) || defaultMessage;\n if (!msg) {\n throw new Error(`error: \"${idToTag}\" has no message and the default-message was not set`);\n }\n results.push({\n id: this.idsToTagObject[idToTag],\n msg,\n });\n return;\n }\n if (line.startsWith(DEFAULT_AUTO_TAG_MESSAGE)) {\n startedAutoTagDefaultMessage = true;\n defaultAutoTagMessage = line.replace(DEFAULT_AUTO_TAG_MESSAGE, '').trim();\n return;\n }\n const idToAutoTag = idsToAutoTagStr.find((id) => line.startsWith(formatId(id)));\n if (idToAutoTag) {\n startedIdsToAutoTag = true;\n const msg = removeId(idToAutoTag) || defaultAutoTagMessage;\n if (!msg) {\n throw new Error(`error: \"${idToTag}\" has no message and the default-auto-message was not set`);\n }\n results.push({\n id: this.idsToAutoTagObject[idToAutoTag],\n msg,\n });\n return;\n }\n // must be another line of one of the strings above. let's figure out what was it.\n // the template starts with the default-message, followed by the ids to tag, followed by the\n // auto-tag-default-message, followed by the ids to auto-tag.\n if (!startedDefaultMessage) {\n throw new Error(\n `error: the following line was added \"${line}\". please add the messages to the ids and default fields only`\n );\n }\n if (!startedIdsToTag) {\n defaultMessage += `\\n${line}`;\n return;\n }\n if (!startedAutoTagDefaultMessage) {\n const lastEnteredId = results[results.length - 1];\n lastEnteredId.msg += `\\n${line}`;\n return;\n }\n if (!startedIdsToAutoTag) {\n defaultAutoTagMessage += `\\n${line}`;\n return;\n }\n const lastEnteredId = results[results.length - 1];\n lastEnteredId.msg += `\\n${line}`;\n });\n\n return results;\n }\n\n private async openEditor(templateFilePath: string, editor?: string) {\n const file = { file: templateFilePath, column: DEFAULT_MESSAGE.length + 1, line: 3 };\n\n const editorFromEnvVar = process.env.EDITOR || process.env.VISUAL; // taken from env-editor package\n if (!editorFromEnvVar && !editor) {\n editor = DEFAULT_EDITOR;\n }\n const editorData = openEditor.make([file], { editor });\n if (!editorData.isTerminalEditor) {\n throw new Error(\n `your editor \"${editorData.binary}\" is not a terminal editor. either set $EDITOR in your env variable or pass \"--editor\" with a terminal editor (e.g. \"nano\", \"vim\")`\n );\n }\n loader.stop();\n return new Promise((resolve, reject) => {\n const editorProcess = spawn(editorData.binary, editorData.arguments, { stdio: 'inherit' });\n editorProcess.on('exit', (code) => {\n if (code === 0) {\n resolve('completed');\n } else {\n reject(new Error(`${editor} had non zero exit code: ${code}`));\n }\n });\n });\n }\n\n private getIdsToTagStr() {\n return Object.keys(this.idsToTagObject);\n }\n private getIdsToAutoTagStr() {\n return Object.keys(this.idsToAutoTagObject);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _chai() {
|
|
4
|
+
const data = require("chai");
|
|
5
|
+
_chai = function () {
|
|
6
|
+
return data;
|
|
7
|
+
};
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
10
|
+
function _componentId() {
|
|
11
|
+
const data = require("@teambit/component-id");
|
|
12
|
+
_componentId = function () {
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
function _messagePerComponent() {
|
|
18
|
+
const data = require("./message-per-component");
|
|
19
|
+
_messagePerComponent = function () {
|
|
20
|
+
return data;
|
|
21
|
+
};
|
|
22
|
+
return data;
|
|
23
|
+
}
|
|
24
|
+
function getInstance() {
|
|
25
|
+
return new (_messagePerComponent().MessagePerComponentFetcher)(new (_componentId().ComponentIdList)(_componentId().ComponentID.fromObject({
|
|
26
|
+
name: 'bar',
|
|
27
|
+
scope: 'some-scope'
|
|
28
|
+
})), new (_componentId().ComponentIdList)());
|
|
29
|
+
}
|
|
30
|
+
describe('MessagePerComponent', () => {
|
|
31
|
+
describe('parseFileWithMessages', () => {
|
|
32
|
+
it('should throw an error when the file has no changes', () => {
|
|
33
|
+
const messagePerComponent = getInstance();
|
|
34
|
+
const template = messagePerComponent.getTemplate();
|
|
35
|
+
(0, _chai().expect)(() => messagePerComponent.parseFileWithMessages(template)).to.throw();
|
|
36
|
+
});
|
|
37
|
+
it('should assign the default message to the component if empty', () => {
|
|
38
|
+
const messagePerComponent = getInstance();
|
|
39
|
+
const template = messagePerComponent.getTemplate();
|
|
40
|
+
const templateChanged = template.replace('DEFAULT:', `DEFAULT: my default msg`);
|
|
41
|
+
const parsed = messagePerComponent.parseFileWithMessages(templateChanged);
|
|
42
|
+
(0, _chai().expect)(parsed[0].msg).to.equal('my default msg');
|
|
43
|
+
});
|
|
44
|
+
it('should support multiple lines per id', () => {
|
|
45
|
+
const messagePerComponent = getInstance();
|
|
46
|
+
const template = messagePerComponent.getTemplate();
|
|
47
|
+
const msgWithNewLine = 'msg for bar\nAnother line';
|
|
48
|
+
const templateChanged = template.replace('bar:', `bar: ${msgWithNewLine}`);
|
|
49
|
+
const parsed = messagePerComponent.parseFileWithMessages(templateChanged);
|
|
50
|
+
(0, _chai().expect)(parsed[0].msg).to.equal(msgWithNewLine);
|
|
51
|
+
});
|
|
52
|
+
it('should support multiple lines for the default message', () => {
|
|
53
|
+
const messagePerComponent = getInstance();
|
|
54
|
+
const template = messagePerComponent.getTemplate();
|
|
55
|
+
const msgWithNewLine = 'default msg\nAnother line';
|
|
56
|
+
const templateChanged = template.replace('DEFAULT:', `DEFAULT: ${msgWithNewLine}`);
|
|
57
|
+
const parsed = messagePerComponent.parseFileWithMessages(templateChanged);
|
|
58
|
+
(0, _chai().expect)(parsed[0].msg).to.equal(msgWithNewLine);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=message-per-component.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_componentId","_messagePerComponent","getInstance","MessagePerComponentFetcher","ComponentIdList","ComponentID","fromObject","name","scope","describe","it","messagePerComponent","template","getTemplate","expect","parseFileWithMessages","to","throw","templateChanged","replace","parsed","msg","equal","msgWithNewLine"],"sources":["message-per-component.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { MessagePerComponentFetcher } from './message-per-component';\n\nfunction getInstance() {\n return new MessagePerComponentFetcher(\n new ComponentIdList(ComponentID.fromObject({ name: 'bar', scope: 'some-scope' })),\n new ComponentIdList()\n );\n}\n\ndescribe('MessagePerComponent', () => {\n describe('parseFileWithMessages', () => {\n it('should throw an error when the file has no changes', () => {\n const messagePerComponent = getInstance();\n const template = messagePerComponent.getTemplate();\n expect(() => messagePerComponent.parseFileWithMessages(template)).to.throw();\n });\n it('should assign the default message to the component if empty', () => {\n const messagePerComponent = getInstance();\n const template = messagePerComponent.getTemplate();\n const templateChanged = template.replace('DEFAULT:', `DEFAULT: my default msg`);\n const parsed = messagePerComponent.parseFileWithMessages(templateChanged);\n expect(parsed[0].msg).to.equal('my default msg');\n });\n it('should support multiple lines per id', () => {\n const messagePerComponent = getInstance();\n const template = messagePerComponent.getTemplate();\n const msgWithNewLine = 'msg for bar\\nAnother line';\n const templateChanged = template.replace('bar:', `bar: ${msgWithNewLine}`);\n const parsed = messagePerComponent.parseFileWithMessages(templateChanged);\n expect(parsed[0].msg).to.equal(msgWithNewLine);\n });\n it('should support multiple lines for the default message', () => {\n const messagePerComponent = getInstance();\n const template = messagePerComponent.getTemplate();\n const msgWithNewLine = 'default msg\\nAnother line';\n const templateChanged = template.replace('DEFAULT:', `DEFAULT: ${msgWithNewLine}`);\n const parsed = messagePerComponent.parseFileWithMessages(templateChanged);\n expect(parsed[0].msg).to.equal(msgWithNewLine);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
package/dist/reset-cmd.js
CHANGED
|
@@ -18,9 +18,9 @@ function _chalk() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function
|
|
22
|
-
const data = require("@teambit/legacy
|
|
23
|
-
|
|
21
|
+
function _legacy() {
|
|
22
|
+
const data = require("@teambit/legacy.constants");
|
|
23
|
+
_legacy = function () {
|
|
24
24
|
return data;
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
@@ -36,13 +36,13 @@ class ResetCmd {
|
|
|
36
36
|
_defineProperty(this, "description", 'revert tagged or snapped versions for component(s)');
|
|
37
37
|
_defineProperty(this, "arguments", [{
|
|
38
38
|
name: 'component-pattern',
|
|
39
|
-
description:
|
|
39
|
+
description: _legacy().COMPONENT_PATTERN_HELP
|
|
40
40
|
}, {
|
|
41
41
|
name: 'component-version',
|
|
42
42
|
description: 'the version to untag (semver for tags. hash for snaps)'
|
|
43
43
|
}]);
|
|
44
44
|
_defineProperty(this, "group", 'development');
|
|
45
|
-
_defineProperty(this, "extendedDescription", `${
|
|
45
|
+
_defineProperty(this, "extendedDescription", `${_legacy().BASE_DOCS_DOMAIN}components/tags#undoing-a-tag`);
|
|
46
46
|
_defineProperty(this, "alias", '');
|
|
47
47
|
_defineProperty(this, "options", [['a', 'all', 'revert all unexported tags/snaps for all components'], ['', 'head', 'revert the head tag/snap only (by default, all local tags/snaps are reverted)'], ['', 'soft', 'revert only soft-tags (components tagged with --soft flag)'], ['f', 'force', "revert the tag even if it's used as a dependency. WARNING: components that depend on this tag will be corrupted"], ['', 'never-exported', 'reset only components that were never exported']]);
|
|
48
48
|
_defineProperty(this, "loader", true);
|
package/dist/reset-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","_legacy","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ResetCmd","constructor","snapping","name","description","COMPONENT_PATTERN_HELP","BASE_DOCS_DOMAIN","report","pattern","all","head","force","soft","neverExported","compIds","resetNeverExported","chalk","green","join","BitError","results","isSoftUntag","reset","titleSuffix","title","length","components","map","result","cyan","id","toStringWithoutVersion","versions","exports"],"sources":["reset-cmd.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BASE_DOCS_DOMAIN, COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { SnappingMain } from './snapping.main.runtime';\n\nexport default class ResetCmd implements Command {\n name = 'reset [component-pattern]';\n description = 'revert tagged or snapped versions for component(s)';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n {\n name: 'component-version',\n description: 'the version to untag (semver for tags. hash for snaps)',\n },\n ];\n group = 'development';\n extendedDescription = `${BASE_DOCS_DOMAIN}components/tags#undoing-a-tag`;\n alias = '';\n options = [\n ['a', 'all', 'revert all unexported tags/snaps for all components'],\n ['', 'head', 'revert the head tag/snap only (by default, all local tags/snaps are reverted)'],\n ['', 'soft', 'revert only soft-tags (components tagged with --soft flag)'],\n [\n 'f',\n 'force',\n \"revert the tag even if it's used as a dependency. WARNING: components that depend on this tag will be corrupted\",\n ],\n ['', 'never-exported', 'reset only components that were never exported'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private snapping: SnappingMain) {}\n\n async report(\n [pattern]: [string],\n {\n all = false,\n head = false,\n force = false,\n soft = false,\n neverExported = false,\n }: { all?: boolean; head?: boolean; force?: boolean; soft?: boolean; neverExported?: boolean }\n ) {\n if (neverExported) {\n const compIds = await this.snapping.resetNeverExported();\n return chalk.green(`successfully reset the following never-exported components:\\n${compIds.join('\\n')}`);\n }\n if (!pattern && !all) {\n throw new BitError('please specify a component-pattern or use --all flag');\n }\n if (pattern && all) {\n throw new BitError('please specify either a component-pattern or --all flag, not both');\n }\n if (soft && head) {\n throw new BitError('please specify either --soft or --head flag, not both');\n }\n const { results, isSoftUntag } = await this.snapping.reset(pattern, head, force, soft);\n const titleSuffix = isSoftUntag ? 'soft-untagged (are not candidates for tagging any more)' : 'reset';\n const title = chalk.green(`${results.length} component(s) were ${titleSuffix}:\\n`);\n const components = results.map((result) => {\n return `${chalk.cyan(result.id.toStringWithoutVersion())}. version(s): ${result.versions.join(', ')}`;\n });\n return title + components.join('\\n');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentID } from '@teambit/component-id';
|
|
2
|
-
import { Scope } from '@teambit/legacy
|
|
3
|
-
import { Consumer } from '@teambit/legacy
|
|
4
|
-
import { Lane, ModelComponent } from '@teambit/
|
|
2
|
+
import { Scope } from '@teambit/legacy.scope';
|
|
3
|
+
import { Consumer } from '@teambit/legacy.consumer';
|
|
4
|
+
import { Lane, ModelComponent } from '@teambit/scope.objects';
|
|
5
5
|
import { RemoveMain } from '@teambit/remove';
|
|
6
6
|
export type ResetResult = {
|
|
7
7
|
id: ComponentID;
|
package/dist/reset-component.js
CHANGED
|
@@ -21,21 +21,20 @@ function _legacy() {
|
|
|
21
21
|
};
|
|
22
22
|
return data;
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
const data =
|
|
26
|
-
|
|
24
|
+
function _legacy2() {
|
|
25
|
+
const data = require("@teambit/legacy.logger");
|
|
26
|
+
_legacy2 = function () {
|
|
27
27
|
return data;
|
|
28
28
|
};
|
|
29
29
|
return data;
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function _legacy3() {
|
|
32
32
|
const data = require("@teambit/legacy.dependency-graph");
|
|
33
|
-
|
|
33
|
+
_legacy3 = function () {
|
|
34
34
|
return data;
|
|
35
35
|
};
|
|
36
36
|
return data;
|
|
37
37
|
}
|
|
38
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
39
38
|
/**
|
|
40
39
|
* If head is false, remove all local versions.
|
|
41
40
|
*/
|
|
@@ -54,7 +53,7 @@ async function removeLocalVersion(scope, id, lane, head, force = false) {
|
|
|
54
53
|
const versionsToRemove = head ? [headRef] : localVersions;
|
|
55
54
|
const versionsToRemoveStr = component.switchHashesWithTagsIfExist(versionsToRemove);
|
|
56
55
|
if (!force) {
|
|
57
|
-
const dependencyGraph = await
|
|
56
|
+
const dependencyGraph = await _legacy3().DependencyGraph.loadAllVersions(scope);
|
|
58
57
|
versionsToRemoveStr.forEach(versionToRemove => {
|
|
59
58
|
const idWithVersion = component.toComponentId().changeVersion(versionToRemove);
|
|
60
59
|
const dependents = dependencyGraph.getImmediateDependentsPerId(idWithVersion);
|
|
@@ -83,7 +82,7 @@ force, scope) {
|
|
|
83
82
|
}
|
|
84
83
|
// if only head is removed, there is risk of deleting dependencies version without their dependents.
|
|
85
84
|
if (!force && head) {
|
|
86
|
-
const dependencyGraph = await
|
|
85
|
+
const dependencyGraph = await _legacy3().DependencyGraph.loadAllVersions(scope);
|
|
87
86
|
const candidateComponentsIds = componentsToUntag.map(component => {
|
|
88
87
|
const bitId = component.toComponentId();
|
|
89
88
|
const headRef = component.getHeadRegardlessOfLane();
|
|
@@ -102,7 +101,7 @@ force, scope) {
|
|
|
102
101
|
}
|
|
103
102
|
});
|
|
104
103
|
}
|
|
105
|
-
|
|
104
|
+
_legacy2().logger.debug(`found ${componentsToUntag.length} components to untag`);
|
|
106
105
|
return Promise.all(componentsToUntag.map(component => removeLocalVersion(scope, component.toComponentId(), lane, head, force)));
|
|
107
106
|
}
|
|
108
107
|
async function getComponentsWithOptionToUntag(consumer, remove) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_legacy","_logger","_interopRequireDefault","_legacy2","e","__esModule","default","removeLocalVersion","scope","id","lane","head","force","component","getModelComponent","idStr","toString","localVersions","getLocalHashes","objects","length","BitError","headRef","getHeadRegardlessOfLane","Error","find","v","isEqual","versionsToRemove","versionsToRemoveStr","switchHashesWithTagsIfExist","dependencyGraph","DependencyGraph","loadAllVersions","forEach","versionToRemove","idWithVersion","toComponentId","changeVersion","dependents","getImmediateDependentsPerId","join","sources","removeComponentVersions","versions","removeLocalVersionsForAllComponents","consumer","remove","componentsToUntag","getComponentsWithOptionToUntag","removeLocalVersionsForMultipleComponents","candidateComponentsIds","map","bitId","getTagOfRefIfExists","candidateComponentsIdsStr","dependentsNotCandidates","filter","dependent","includes","version","logger","debug","Promise","all","componentList","ComponentsList","laneObj","getCurrentLaneObject","components","listExportPendingComponents","removedStagedIds","getRemovedStaged","removedStagedBitIds","nonExistsInStaged","c","isEqualWithoutVersion","modelComps","push"],"sources":["reset-component.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { RemoveMain } from '@teambit/remove';\nimport { DependencyGraph } from '@teambit/legacy.dependency-graph';\n\nexport type ResetResult = { id: ComponentID; versions: string[]; component?: ModelComponent };\n\n/**\n * If head is false, remove all local versions.\n */\nexport async function removeLocalVersion(\n scope: Scope,\n id: ComponentID,\n lane?: Lane,\n head?: boolean,\n force = false\n): Promise<ResetResult> {\n const component: ModelComponent = await scope.getModelComponent(id);\n const idStr = id.toString();\n const localVersions = await component.getLocalHashes(scope.objects);\n if (!localVersions.length) throw new BitError(`unable to untag ${idStr}, the component is not staged`);\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef) {\n throw new Error(`unable to reset ${idStr}, it has not head`);\n }\n if (head && !localVersions.find((v) => v.isEqual(headRef))) {\n throw new Error(`unable to reset ${idStr}, the head ${headRef.toString()} is exported`);\n }\n const versionsToRemove = head ? [headRef] : localVersions;\n const versionsToRemoveStr = component.switchHashesWithTagsIfExist(versionsToRemove);\n\n if (!force) {\n const dependencyGraph = await DependencyGraph.loadAllVersions(scope);\n\n versionsToRemoveStr.forEach((versionToRemove) => {\n const idWithVersion = component.toComponentId().changeVersion(versionToRemove);\n const dependents = dependencyGraph.getImmediateDependentsPerId(idWithVersion);\n if (dependents.length) {\n throw new BitError(\n `unable to reset ${idStr}, the version ${versionToRemove} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n\n await scope.sources.removeComponentVersions(component, versionsToRemove, versionsToRemoveStr, lane, head);\n\n return { id, versions: versionsToRemoveStr, component };\n}\n\nexport async function removeLocalVersionsForAllComponents(\n consumer: Consumer,\n remove: RemoveMain,\n lane?: Lane,\n head?: boolean\n): Promise<ResetResult[]> {\n const componentsToUntag = await getComponentsWithOptionToUntag(consumer, remove);\n const force = true; // when removing local versions from all components, no need to check if the component is used as a dependency\n return removeLocalVersionsForMultipleComponents(componentsToUntag, lane, head, force, consumer.scope);\n}\n\nexport async function removeLocalVersionsForMultipleComponents(\n componentsToUntag: ModelComponent[],\n lane?: Lane,\n head?: boolean,\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n force: boolean,\n scope: Scope\n) {\n if (!componentsToUntag.length) {\n throw new BitError(`no components found to reset on your workspace`);\n }\n // if only head is removed, there is risk of deleting dependencies version without their dependents.\n if (!force && head) {\n const dependencyGraph = await DependencyGraph.loadAllVersions(scope);\n const candidateComponentsIds = componentsToUntag.map((component) => {\n const bitId = component.toComponentId();\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef)\n throw new Error(`component ${bitId.toString()} does not have head. it should not be a candidate for reset`);\n\n return bitId.changeVersion(component.getTagOfRefIfExists(headRef) || headRef.toString());\n });\n const candidateComponentsIdsStr = candidateComponentsIds.map((id) => id.toString());\n candidateComponentsIds.forEach((bitId: ComponentID) => {\n const dependents = dependencyGraph.getImmediateDependentsPerId(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const dependentsNotCandidates = dependents.filter((dependent) => !candidateComponentsIdsStr.includes(dependent));\n if (dependentsNotCandidates.length) {\n throw new BitError( // $FlowFixMe\n `unable to untag ${bitId}, the version ${bitId.version} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n logger.debug(`found ${componentsToUntag.length} components to untag`);\n return Promise.all(\n componentsToUntag.map((component) => removeLocalVersion(scope, component.toComponentId(), lane, head, force))\n );\n}\n\nexport async function getComponentsWithOptionToUntag(\n consumer: Consumer,\n remove: RemoveMain\n): Promise<ModelComponent[]> {\n const componentList = new ComponentsList(consumer);\n const laneObj = await consumer.getCurrentLaneObject();\n const components: ModelComponent[] = await componentList.listExportPendingComponents(laneObj);\n const removedStagedIds = await remove.getRemovedStaged();\n if (!removedStagedIds.length) return components;\n const removedStagedBitIds = removedStagedIds.map((id) => id);\n const nonExistsInStaged = removedStagedBitIds.filter(\n (id) => !components.find((c) => c.toComponentId().isEqualWithoutVersion(id))\n );\n if (!nonExistsInStaged.length) return components;\n const modelComps = await Promise.all(nonExistsInStaged.map((id) => consumer.scope.getModelComponent(id)));\n components.push(...modelComps);\n\n return components;\n}\n"],"mappings":";;;;;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmE,SAAAI,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAInE;AACA;AACA;AACO,eAAeG,kBAAkBA,CACtCC,KAAY,EACZC,EAAe,EACfC,IAAW,EACXC,IAAc,EACdC,KAAK,GAAG,KAAK,EACS;EACtB,MAAMC,SAAyB,GAAG,MAAML,KAAK,CAACM,iBAAiB,CAACL,EAAE,CAAC;EACnE,MAAMM,KAAK,GAAGN,EAAE,CAACO,QAAQ,CAAC,CAAC;EAC3B,MAAMC,aAAa,GAAG,MAAMJ,SAAS,CAACK,cAAc,CAACV,KAAK,CAACW,OAAO,CAAC;EACnE,IAAI,CAACF,aAAa,CAACG,MAAM,EAAE,MAAM,KAAIC,oBAAQ,EAAC,mBAAmBN,KAAK,+BAA+B,CAAC;EACtG,MAAMO,OAAO,GAAGT,SAAS,CAACU,uBAAuB,CAAC,CAAC;EACnD,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,mBAAmBT,KAAK,mBAAmB,CAAC;EAC9D;EACA,IAAIJ,IAAI,IAAI,CAACM,aAAa,CAACQ,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAACL,OAAO,CAAC,CAAC,EAAE;IAC1D,MAAM,IAAIE,KAAK,CAAC,mBAAmBT,KAAK,cAAcO,OAAO,CAACN,QAAQ,CAAC,CAAC,cAAc,CAAC;EACzF;EACA,MAAMY,gBAAgB,GAAGjB,IAAI,GAAG,CAACW,OAAO,CAAC,GAAGL,aAAa;EACzD,MAAMY,mBAAmB,GAAGhB,SAAS,CAACiB,2BAA2B,CAACF,gBAAgB,CAAC;EAEnF,IAAI,CAAChB,KAAK,EAAE;IACV,MAAMmB,eAAe,GAAG,MAAMC,0BAAe,CAACC,eAAe,CAACzB,KAAK,CAAC;IAEpEqB,mBAAmB,CAACK,OAAO,CAAEC,eAAe,IAAK;MAC/C,MAAMC,aAAa,GAAGvB,SAAS,CAACwB,aAAa,CAAC,CAAC,CAACC,aAAa,CAACH,eAAe,CAAC;MAC9E,MAAMI,UAAU,GAAGR,eAAe,CAACS,2BAA2B,CAACJ,aAAa,CAAC;MAC7E,IAAIG,UAAU,CAACnB,MAAM,EAAE;QACrB,MAAM,KAAIC,oBAAQ,EAChB,mBAAmBN,KAAK,iBAAiBoB,eAAe,mCAAmCI,UAAU,CAACE,IAAI,CACxG,IACF,CAAC,EACH,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,MAAMjC,KAAK,CAACkC,OAAO,CAACC,uBAAuB,CAAC9B,SAAS,EAAEe,gBAAgB,EAAEC,mBAAmB,EAAEnB,IAAI,EAAEC,IAAI,CAAC;EAEzG,OAAO;IAAEF,EAAE;IAAEmC,QAAQ,EAAEf,mBAAmB;IAAEhB;EAAU,CAAC;AACzD;AAEO,eAAegC,mCAAmCA,CACvDC,QAAkB,EAClBC,MAAkB,EAClBrC,IAAW,EACXC,IAAc,EACU;EACxB,MAAMqC,iBAAiB,GAAG,MAAMC,8BAA8B,CAACH,QAAQ,EAAEC,MAAM,CAAC;EAChF,MAAMnC,KAAK,GAAG,IAAI,CAAC,CAAC;EACpB,OAAOsC,wCAAwC,CAACF,iBAAiB,EAAEtC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAEkC,QAAQ,CAACtC,KAAK,CAAC;AACvG;AAEO,eAAe0C,wCAAwCA,CAC5DF,iBAAmC,EACnCtC,IAAW,EACXC,IAAc;AACd;AACAC,KAAc,EACdJ,KAAY,EACZ;EACA,IAAI,CAACwC,iBAAiB,CAAC5B,MAAM,EAAE;IAC7B,MAAM,KAAIC,oBAAQ,EAAC,gDAAgD,CAAC;EACtE;EACA;EACA,IAAI,CAACT,KAAK,IAAID,IAAI,EAAE;IAClB,MAAMoB,eAAe,GAAG,MAAMC,0BAAe,CAACC,eAAe,CAACzB,KAAK,CAAC;IACpE,MAAM2C,sBAAsB,GAAGH,iBAAiB,CAACI,GAAG,CAAEvC,SAAS,IAAK;MAClE,MAAMwC,KAAK,GAAGxC,SAAS,CAACwB,aAAa,CAAC,CAAC;MACvC,MAAMf,OAAO,GAAGT,SAAS,CAACU,uBAAuB,CAAC,CAAC;MACnD,IAAI,CAACD,OAAO,EACV,MAAM,IAAIE,KAAK,CAAC,aAAa6B,KAAK,CAACrC,QAAQ,CAAC,CAAC,6DAA6D,CAAC;MAE7G,OAAOqC,KAAK,CAACf,aAAa,CAACzB,SAAS,CAACyC,mBAAmB,CAAChC,OAAO,CAAC,IAAIA,OAAO,CAACN,QAAQ,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;IACF,MAAMuC,yBAAyB,GAAGJ,sBAAsB,CAACC,GAAG,CAAE3C,EAAE,IAAKA,EAAE,CAACO,QAAQ,CAAC,CAAC,CAAC;IACnFmC,sBAAsB,CAACjB,OAAO,CAAEmB,KAAkB,IAAK;MACrD,MAAMd,UAAU,GAAGR,eAAe,CAACS,2BAA2B,CAACa,KAAK,CAAC;MACrE;MACA,MAAMG,uBAAuB,GAAGjB,UAAU,CAACkB,MAAM,CAAEC,SAAS,IAAK,CAACH,yBAAyB,CAACI,QAAQ,CAACD,SAAS,CAAC,CAAC;MAChH,IAAIF,uBAAuB,CAACpC,MAAM,EAAE;QAClC,MAAM,KAAIC,oBAAQ;QAAE;QAClB,mBAAmBgC,KAAK,iBAAiBA,KAAK,CAACO,OAAO,mCAAmCrB,UAAU,CAACE,IAAI,CACtG,IACF,CAAC,EACH,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EACAoB,iBAAM,CAACC,KAAK,CAAC,SAASd,iBAAiB,CAAC5B,MAAM,sBAAsB,CAAC;EACrE,OAAO2C,OAAO,CAACC,GAAG,CAChBhB,iBAAiB,CAACI,GAAG,CAAEvC,SAAS,IAAKN,kBAAkB,CAACC,KAAK,EAAEK,SAAS,CAACwB,aAAa,CAAC,CAAC,EAAE3B,IAAI,EAAEC,IAAI,EAAEC,KAAK,CAAC,CAC9G,CAAC;AACH;AAEO,eAAeqC,8BAA8BA,CAClDH,QAAkB,EAClBC,MAAkB,EACS;EAC3B,MAAMkB,aAAa,GAAG,KAAIC,wBAAc,EAACpB,QAAQ,CAAC;EAClD,MAAMqB,OAAO,GAAG,MAAMrB,QAAQ,CAACsB,oBAAoB,CAAC,CAAC;EACrD,MAAMC,UAA4B,GAAG,MAAMJ,aAAa,CAACK,2BAA2B,CAACH,OAAO,CAAC;EAC7F,MAAMI,gBAAgB,GAAG,MAAMxB,MAAM,CAACyB,gBAAgB,CAAC,CAAC;EACxD,IAAI,CAACD,gBAAgB,CAACnD,MAAM,EAAE,OAAOiD,UAAU;EAC/C,MAAMI,mBAAmB,GAAGF,gBAAgB,CAACnB,GAAG,CAAE3C,EAAE,IAAKA,EAAE,CAAC;EAC5D,MAAMiE,iBAAiB,GAAGD,mBAAmB,CAAChB,MAAM,CACjDhD,EAAE,IAAK,CAAC4D,UAAU,CAAC5C,IAAI,CAAEkD,CAAC,IAAKA,CAAC,CAACtC,aAAa,CAAC,CAAC,CAACuC,qBAAqB,CAACnE,EAAE,CAAC,CAC7E,CAAC;EACD,IAAI,CAACiE,iBAAiB,CAACtD,MAAM,EAAE,OAAOiD,UAAU;EAChD,MAAMQ,UAAU,GAAG,MAAMd,OAAO,CAACC,GAAG,CAACU,iBAAiB,CAACtB,GAAG,CAAE3C,EAAE,IAAKqC,QAAQ,CAACtC,KAAK,CAACM,iBAAiB,CAACL,EAAE,CAAC,CAAC,CAAC;EACzG4D,UAAU,CAACS,IAAI,CAAC,GAAGD,UAAU,CAAC;EAE9B,OAAOR,UAAU;AACnB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","_legacy","_legacy2","_legacy3","removeLocalVersion","scope","id","lane","head","force","component","getModelComponent","idStr","toString","localVersions","getLocalHashes","objects","length","BitError","headRef","getHeadRegardlessOfLane","Error","find","v","isEqual","versionsToRemove","versionsToRemoveStr","switchHashesWithTagsIfExist","dependencyGraph","DependencyGraph","loadAllVersions","forEach","versionToRemove","idWithVersion","toComponentId","changeVersion","dependents","getImmediateDependentsPerId","join","sources","removeComponentVersions","versions","removeLocalVersionsForAllComponents","consumer","remove","componentsToUntag","getComponentsWithOptionToUntag","removeLocalVersionsForMultipleComponents","candidateComponentsIds","map","bitId","getTagOfRefIfExists","candidateComponentsIdsStr","dependentsNotCandidates","filter","dependent","includes","version","logger","debug","Promise","all","componentList","ComponentsList","laneObj","getCurrentLaneObject","components","listExportPendingComponents","removedStagedIds","getRemovedStaged","removedStagedBitIds","nonExistsInStaged","c","isEqualWithoutVersion","modelComps","push"],"sources":["reset-component.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy.scope';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { logger } from '@teambit/legacy.logger';\nimport { Lane, ModelComponent } from '@teambit/scope.objects';\nimport { RemoveMain } from '@teambit/remove';\nimport { DependencyGraph } from '@teambit/legacy.dependency-graph';\n\nexport type ResetResult = { id: ComponentID; versions: string[]; component?: ModelComponent };\n\n/**\n * If head is false, remove all local versions.\n */\nexport async function removeLocalVersion(\n scope: Scope,\n id: ComponentID,\n lane?: Lane,\n head?: boolean,\n force = false\n): Promise<ResetResult> {\n const component: ModelComponent = await scope.getModelComponent(id);\n const idStr = id.toString();\n const localVersions = await component.getLocalHashes(scope.objects);\n if (!localVersions.length) throw new BitError(`unable to untag ${idStr}, the component is not staged`);\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef) {\n throw new Error(`unable to reset ${idStr}, it has not head`);\n }\n if (head && !localVersions.find((v) => v.isEqual(headRef))) {\n throw new Error(`unable to reset ${idStr}, the head ${headRef.toString()} is exported`);\n }\n const versionsToRemove = head ? [headRef] : localVersions;\n const versionsToRemoveStr = component.switchHashesWithTagsIfExist(versionsToRemove);\n\n if (!force) {\n const dependencyGraph = await DependencyGraph.loadAllVersions(scope);\n\n versionsToRemoveStr.forEach((versionToRemove) => {\n const idWithVersion = component.toComponentId().changeVersion(versionToRemove);\n const dependents = dependencyGraph.getImmediateDependentsPerId(idWithVersion);\n if (dependents.length) {\n throw new BitError(\n `unable to reset ${idStr}, the version ${versionToRemove} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n\n await scope.sources.removeComponentVersions(component, versionsToRemove, versionsToRemoveStr, lane, head);\n\n return { id, versions: versionsToRemoveStr, component };\n}\n\nexport async function removeLocalVersionsForAllComponents(\n consumer: Consumer,\n remove: RemoveMain,\n lane?: Lane,\n head?: boolean\n): Promise<ResetResult[]> {\n const componentsToUntag = await getComponentsWithOptionToUntag(consumer, remove);\n const force = true; // when removing local versions from all components, no need to check if the component is used as a dependency\n return removeLocalVersionsForMultipleComponents(componentsToUntag, lane, head, force, consumer.scope);\n}\n\nexport async function removeLocalVersionsForMultipleComponents(\n componentsToUntag: ModelComponent[],\n lane?: Lane,\n head?: boolean,\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n force: boolean,\n scope: Scope\n) {\n if (!componentsToUntag.length) {\n throw new BitError(`no components found to reset on your workspace`);\n }\n // if only head is removed, there is risk of deleting dependencies version without their dependents.\n if (!force && head) {\n const dependencyGraph = await DependencyGraph.loadAllVersions(scope);\n const candidateComponentsIds = componentsToUntag.map((component) => {\n const bitId = component.toComponentId();\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef)\n throw new Error(`component ${bitId.toString()} does not have head. it should not be a candidate for reset`);\n\n return bitId.changeVersion(component.getTagOfRefIfExists(headRef) || headRef.toString());\n });\n const candidateComponentsIdsStr = candidateComponentsIds.map((id) => id.toString());\n candidateComponentsIds.forEach((bitId: ComponentID) => {\n const dependents = dependencyGraph.getImmediateDependentsPerId(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const dependentsNotCandidates = dependents.filter((dependent) => !candidateComponentsIdsStr.includes(dependent));\n if (dependentsNotCandidates.length) {\n throw new BitError( // $FlowFixMe\n `unable to untag ${bitId}, the version ${bitId.version} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n logger.debug(`found ${componentsToUntag.length} components to untag`);\n return Promise.all(\n componentsToUntag.map((component) => removeLocalVersion(scope, component.toComponentId(), lane, head, force))\n );\n}\n\nexport async function getComponentsWithOptionToUntag(\n consumer: Consumer,\n remove: RemoveMain\n): Promise<ModelComponent[]> {\n const componentList = new ComponentsList(consumer);\n const laneObj = await consumer.getCurrentLaneObject();\n const components: ModelComponent[] = await componentList.listExportPendingComponents(laneObj);\n const removedStagedIds = await remove.getRemovedStaged();\n if (!removedStagedIds.length) return components;\n const removedStagedBitIds = removedStagedIds.map((id) => id);\n const nonExistsInStaged = removedStagedBitIds.filter(\n (id) => !components.find((c) => c.toComponentId().isEqualWithoutVersion(id))\n );\n if (!nonExistsInStaged.length) return components;\n const modelComps = await Promise.all(nonExistsInStaged.map((id) => consumer.scope.getModelComponent(id)));\n components.push(...modelComps);\n\n return components;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/snap-cmd.js
CHANGED
|
@@ -18,9 +18,9 @@ function _componentIssues() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
-
function
|
|
22
|
-
const data = require("@teambit/legacy
|
|
23
|
-
|
|
21
|
+
function _legacy() {
|
|
22
|
+
const data = require("@teambit/legacy.constants");
|
|
23
|
+
_legacy = function () {
|
|
24
24
|
return data;
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
@@ -47,7 +47,7 @@ class SnapCmd {
|
|
|
47
47
|
_defineProperty(this, "group", 'development');
|
|
48
48
|
_defineProperty(this, "arguments", [{
|
|
49
49
|
name: 'component-pattern',
|
|
50
|
-
description: `${
|
|
50
|
+
description: `${_legacy().COMPONENT_PATTERN_HELP}. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace).`
|
|
51
51
|
}]);
|
|
52
52
|
_defineProperty(this, "helpUrl", 'reference/components/snaps');
|
|
53
53
|
_defineProperty(this, "alias", '');
|
|
@@ -72,7 +72,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
72
72
|
unmodified = false,
|
|
73
73
|
failFast = false
|
|
74
74
|
}) {
|
|
75
|
-
build = (await this.globalConfig.getBool(
|
|
75
|
+
build = (await this.globalConfig.getBool(_legacy().CFG_FORCE_LOCAL_BUILD)) || Boolean(build);
|
|
76
76
|
const disableTagAndSnapPipelines = disableSnapPipeline;
|
|
77
77
|
if (!message && !editor) {
|
|
78
78
|
this.logger.consoleWarning(`--message will be mandatory in the next few releases. make sure to add a message with your snap, will be displayed in the version history`);
|
|
@@ -93,7 +93,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
93
93
|
unmodified,
|
|
94
94
|
exitOnFirstFailedTask: failFast
|
|
95
95
|
});
|
|
96
|
-
if (!results) return _chalk().default.yellow(
|
|
96
|
+
if (!results) return _chalk().default.yellow(_legacy().NOTHING_TO_SNAP_MSG);
|
|
97
97
|
const {
|
|
98
98
|
snappedComponents,
|
|
99
99
|
autoSnappedResults,
|
|
@@ -120,7 +120,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
120
120
|
const autoTag = autoSnappedResults.filter(result => result.triggeredBy.searchWithoutVersion(component.id));
|
|
121
121
|
if (autoTag.length) {
|
|
122
122
|
const autoTagComp = autoTag.map(a => compInBold(a.component.id));
|
|
123
|
-
componentOutput += `\n ${
|
|
123
|
+
componentOutput += `\n ${_legacy().AUTO_SNAPPED_MSG} (${autoTagComp.length} total):
|
|
124
124
|
${autoTagComp.join('\n ')}`;
|
|
125
125
|
}
|
|
126
126
|
return componentOutput;
|