@teambit/snapping 0.0.196 → 0.0.198
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/components-have-issues.js +0 -23
- package/dist/components-have-issues.js.map +1 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/reset-cmd.js +0 -24
- package/dist/reset-cmd.js.map +1 -1
- package/dist/snap-cmd.js +0 -35
- package/dist/snap-cmd.js.map +1 -1
- package/dist/snapping.aspect.js +0 -5
- package/dist/snapping.aspect.js.map +1 -1
- package/dist/snapping.main.runtime.js +19 -235
- package/dist/snapping.main.runtime.js.map +1 -1
- package/dist/snapping.spec.js +4 -33
- package/dist/snapping.spec.js.map +1 -1
- package/dist/tag-cmd.js +3 -52
- package/dist/tag-cmd.js.map +1 -1
- package/dist/tag-from-scope.cmd.js +3 -45
- package/dist/tag-from-scope.cmd.js.map +1 -1
- package/dist/tag-model-component.js +18 -128
- package/dist/tag-model-component.js.map +1 -1
- package/package-tar/teambit-snapping-0.0.198.tgz +0 -0
- package/package.json +10 -10
- /package/{preview-1666409808293.js → preview-1666582798766.js} +0 -0
- package/package-tar/teambit-snapping-0.0.196.tgz +0 -0
package/dist/tag-cmd.js
CHANGED
|
@@ -1,80 +1,58 @@
|
|
|
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.TagCmd = 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
|
function _tag() {
|
|
35
25
|
const data = require("@teambit/legacy/dist/api/consumer/lib/tag");
|
|
36
|
-
|
|
37
26
|
_tag = function () {
|
|
38
27
|
return data;
|
|
39
28
|
};
|
|
40
|
-
|
|
41
29
|
return data;
|
|
42
30
|
}
|
|
43
|
-
|
|
44
31
|
function _constants() {
|
|
45
32
|
const data = require("@teambit/legacy/dist/constants");
|
|
46
|
-
|
|
47
33
|
_constants = function () {
|
|
48
34
|
return data;
|
|
49
35
|
};
|
|
50
|
-
|
|
51
36
|
return data;
|
|
52
37
|
}
|
|
53
|
-
|
|
54
38
|
function _componentIssues() {
|
|
55
39
|
const data = require("@teambit/component-issues");
|
|
56
|
-
|
|
57
40
|
_componentIssues = function () {
|
|
58
41
|
return data;
|
|
59
42
|
};
|
|
60
|
-
|
|
61
43
|
return data;
|
|
62
44
|
}
|
|
63
|
-
|
|
64
45
|
function _bitError() {
|
|
65
46
|
const data = require("@teambit/bit-error");
|
|
66
|
-
|
|
67
47
|
_bitError = function () {
|
|
68
48
|
return data;
|
|
69
49
|
};
|
|
70
|
-
|
|
71
50
|
return data;
|
|
72
51
|
}
|
|
73
|
-
|
|
74
52
|
const RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];
|
|
75
|
-
|
|
76
53
|
class TagCmd {
|
|
77
54
|
// In case a compiler / tester is not installed
|
|
55
|
+
|
|
78
56
|
constructor(snapping, logger) {
|
|
79
57
|
this.snapping = snapping;
|
|
80
58
|
this.logger = logger;
|
|
@@ -99,9 +77,9 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
99
77
|
cmd: 'tag --ver 1.0.0',
|
|
100
78
|
description: 'tag all components to version 1.0.0'
|
|
101
79
|
}]);
|
|
102
|
-
}
|
|
103
|
-
|
|
80
|
+
}
|
|
104
81
|
|
|
82
|
+
// eslint-disable-next-line complexity
|
|
105
83
|
async report([patterns = []], {
|
|
106
84
|
message = '',
|
|
107
85
|
ver,
|
|
@@ -134,80 +112,62 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
134
112
|
if (typeof ignoreUnresolvedDependencies === 'boolean') {
|
|
135
113
|
throw new (_bitError().BitError)(`--ignore-unresolved-dependencies has been removed, please use --ignore-issues instead`);
|
|
136
114
|
}
|
|
137
|
-
|
|
138
115
|
if (ignoreIssues && typeof ignoreIssues === 'boolean') {
|
|
139
116
|
throw new (_bitError().BitError)(`--ignore-issues expects issues to be ignored, please run "bit tag -h" for the issues list`);
|
|
140
117
|
}
|
|
141
|
-
|
|
142
118
|
if (disableDeployPipeline) {
|
|
143
119
|
this.logger.consoleWarning(`--disable-deploy-pipeline is deprecated, please use --disable-tag-pipeline instead`);
|
|
144
120
|
}
|
|
145
|
-
|
|
146
121
|
if (!message && !persist) {
|
|
147
122
|
this.logger.consoleWarning(`--message will be mandatory in the next few releases. make sure to add a message with your tag`);
|
|
148
123
|
}
|
|
149
|
-
|
|
150
124
|
if (all) {
|
|
151
125
|
this.logger.consoleWarning(`--all is deprecated, please omit it. "bit tag" by default will tag all new and modified components. to specify a version, use --ver flag`);
|
|
152
|
-
|
|
153
126
|
if (typeof all === 'string') {
|
|
154
127
|
ver = all;
|
|
155
128
|
}
|
|
156
129
|
}
|
|
157
|
-
|
|
158
130
|
if (scope) {
|
|
159
131
|
this.logger.consoleWarning(`--scope is deprecated, use --unmodified instead`);
|
|
160
132
|
unmodified = true;
|
|
161
|
-
|
|
162
133
|
if (typeof scope === 'string') {
|
|
163
134
|
ver = scope;
|
|
164
135
|
}
|
|
165
136
|
}
|
|
166
|
-
|
|
167
137
|
if (force) {
|
|
168
138
|
this.logger.consoleWarning(`--force is deprecated, use either --skip-tests or --unmodified depending on the use case`);
|
|
169
139
|
if (patterns.length) unmodified = true;
|
|
170
140
|
}
|
|
171
|
-
|
|
172
141
|
if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {
|
|
173
142
|
throw new (_bitError().BitError)(`--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`);
|
|
174
143
|
}
|
|
175
|
-
|
|
176
144
|
const releaseFlags = [patch, minor, major, preRelease].filter(x => x);
|
|
177
|
-
|
|
178
145
|
if (releaseFlags.length > 1) {
|
|
179
146
|
throw new (_bitError().BitError)('you can use only one of the following - patch, minor, major, pre-release');
|
|
180
147
|
}
|
|
181
|
-
|
|
182
148
|
const getReleaseType = () => {
|
|
183
149
|
if (increment) {
|
|
184
150
|
if (!RELEASE_TYPES.includes(increment)) {
|
|
185
151
|
throw new (_bitError().BitError)(`invalid increment-level "${increment}".
|
|
186
152
|
semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);
|
|
187
153
|
}
|
|
188
|
-
|
|
189
154
|
return increment;
|
|
190
155
|
}
|
|
191
|
-
|
|
192
156
|
if (major) return 'major';
|
|
193
157
|
if (minor) return 'minor';
|
|
194
158
|
if (patch) return 'patch';
|
|
195
159
|
if (preRelease) return 'prerelease';
|
|
196
160
|
return _constants().DEFAULT_BIT_RELEASE_TYPE;
|
|
197
161
|
};
|
|
198
|
-
|
|
199
162
|
const getPreReleaseId = () => {
|
|
200
163
|
if (prereleaseId) {
|
|
201
164
|
return prereleaseId;
|
|
202
165
|
}
|
|
203
|
-
|
|
204
166
|
if (preRelease && typeof preRelease === 'string') {
|
|
205
167
|
return preRelease;
|
|
206
168
|
}
|
|
207
|
-
|
|
208
169
|
return undefined;
|
|
209
170
|
};
|
|
210
|
-
|
|
211
171
|
const disableTagAndSnapPipelines = disableTagPipeline || disableDeployPipeline;
|
|
212
172
|
const params = {
|
|
213
173
|
ids: patterns,
|
|
@@ -247,22 +207,18 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
247
207
|
const tagExplanationSoft = `\n(use "bit tag --persist" to persist the changes")
|
|
248
208
|
(use "bit reset --soft" to remove the soft-tags)\n`;
|
|
249
209
|
const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;
|
|
250
|
-
|
|
251
210
|
const outputComponents = comps => {
|
|
252
211
|
return comps.map(component => {
|
|
253
212
|
let componentOutput = ` > ${component.id.toString()}`;
|
|
254
213
|
const autoTag = autoTaggedResults.filter(result => result.triggeredBy.searchWithoutScopeAndVersion(component.id));
|
|
255
|
-
|
|
256
214
|
if (autoTag.length) {
|
|
257
215
|
const autoTagComp = autoTag.map(a => a.component.id.toString());
|
|
258
216
|
componentOutput += `\n ${_tag().AUTO_TAGGED_MSG}:
|
|
259
217
|
${autoTagComp.join('\n ')}`;
|
|
260
218
|
}
|
|
261
|
-
|
|
262
219
|
return componentOutput;
|
|
263
220
|
}).join('\n');
|
|
264
221
|
};
|
|
265
|
-
|
|
266
222
|
const publishOutput = () => {
|
|
267
223
|
const {
|
|
268
224
|
publishedPackages
|
|
@@ -273,22 +229,17 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
273
229
|
const successOutput = successCompsStr ? successTitle + successCompsStr : '';
|
|
274
230
|
return successOutput;
|
|
275
231
|
};
|
|
276
|
-
|
|
277
232
|
const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';
|
|
278
|
-
|
|
279
233
|
const outputIfExists = (label, explanation, components) => {
|
|
280
234
|
if (!components.length) return '';
|
|
281
235
|
return `\n${_chalk().default.underline(softTagPrefix + label)}\n(${explanation})\n${outputComponents(components)}\n`;
|
|
282
236
|
};
|
|
283
|
-
|
|
284
237
|
const newDesc = results.isSoftTag ? 'set to be tagged first version for components' : 'first version for components';
|
|
285
238
|
const changedDesc = results.isSoftTag ? 'components that set to get a version bump' : 'components that got a version bump';
|
|
286
239
|
const softTagClarification = results.isSoftTag ? _chalk().default.bold('keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag') : '';
|
|
287
240
|
return warningsOutput + _chalk().default.green(`${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`) + tagExplanation + outputIfExists('new components', newDesc, addedComponents) + outputIfExists('changed components', changedDesc, changedComponents) + publishOutput() + softTagClarification;
|
|
288
241
|
}
|
|
289
|
-
|
|
290
242
|
}
|
|
291
|
-
|
|
292
243
|
exports.TagCmd = TagCmd;
|
|
293
244
|
|
|
294
245
|
//# sourceMappingURL=tag-cmd.js.map
|
package/dist/tag-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RELEASE_TYPES","TagCmd","constructor","snapping","logger","name","description","join","Object","keys","IssuesClasses","cmd","report","patterns","message","ver","all","editor","snapped","unmerged","patch","minor","major","preRelease","increment","prereleaseId","force","ignoreUnresolvedDependencies","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","scope","unmodified","build","soft","persist","disableDeployPipeline","disableTagPipeline","forceDeploy","incrementBy","BitError","consoleWarning","length","releaseFlags","filter","x","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","undefined","disableTagAndSnapPipelines","params","ids","releaseType","preReleaseId","version","results","tag","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","outputComponents","comps","map","componentOutput","toString","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","bold"],"sources":["tag-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { TagResults, NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport class TagCmd implements Command {\n name = 'tag [component-patterns...]';\n group = 'development';\n description = 'create an immutable and exportable component snapshot, tagged with a release version.';\n extendedDescription = `if no patterns are provided, it will tag all new and modified components.\nif patterns are entered, you can specify a version per pattern using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`;\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'a list of component names, IDs or patterns (separated by space). run \"bit pattern --help\" to get more data about patterns. By default, all modified are tagged.',\n },\n ];\n helpUrl = 'components/tags';\n alias = 't';\n loader = true;\n options = [\n ['m', 'message <message>', 'a log message describing latest changes'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are tagged)'],\n [\n '',\n 'editor [editor]',\n 'EXPERIMENTAL. open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).',\n ],\n ['v', 'ver <version>', 'tag with the given version'],\n ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`],\n ['', 'prerelease-id <id>', 'prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")'],\n ['p', 'patch', 'syntactic sugar for \"--increment patch\"'],\n ['', 'minor', 'syntactic sugar for \"--increment minor\"'],\n ['', 'major', 'syntactic sugar for \"--increment major\"'],\n ['', 'pre-release [identifier]', 'syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`'],\n ['', 'snapped', 'EXPERIMENTAL. tag components that their head is a snap (not a tag)'],\n ['', 'unmerged', 'EXPERIMENTAL. complete a merge process by tagging the unmerged components'],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n ['', 'skip-auto-tag', 'skip auto tagging dependents'],\n ['', 'soft', 'do not persist. only keep note of the changes to be made'],\n ['', 'persist', 'persist the changes generated by --soft tag'],\n ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'],\n ['', 'force-deploy', 'run the tag pipeline although the build failed'],\n [\n '',\n 'increment-by <number>',\n '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.',\n ],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'],\n ['b', 'build', 'EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag'],\n [\n 'a',\n 'all [version]',\n 'DEPRECATED (not needed anymore, it is the default now). tag all new and modified components',\n ],\n ['s', 'scope [version]', 'DEPRECATED (use \"--unmodified\" instead). tag all components of the current scope'],\n [\n 'f',\n 'force',\n 'DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-tag even if tests are failing and even when component has not changed',\n ],\n ['', 'disable-deploy-pipeline', 'DEPRECATED. use --disable-tag-pipeline instead'],\n ] as CommandOptions;\n migration = true;\n remoteOp = true; // In case a compiler / tester is not installed\n examples = [{ cmd: 'tag --ver 1.0.0', description: 'tag all components to version 1.0.0' }];\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [patterns = []]: [string[]],\n {\n message = '',\n ver,\n all = false,\n editor = '',\n snapped = false,\n unmerged = false,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n force = false,\n ignoreUnresolvedDependencies,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n scope,\n unmodified = false,\n build,\n soft = false,\n persist = false,\n disableDeployPipeline = false,\n disableTagPipeline = false,\n forceDeploy = false,\n incrementBy = 1,\n }: {\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n ver?: string;\n force?: boolean;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreUnresolvedDependencies?: boolean;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n disableDeployPipeline?: boolean;\n disableTagPipeline?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\n if (typeof ignoreUnresolvedDependencies === 'boolean') {\n throw new BitError(`--ignore-unresolved-dependencies has been removed, please use --ignore-issues instead`);\n }\n if (ignoreIssues && typeof ignoreIssues === 'boolean') {\n throw new BitError(`--ignore-issues expects issues to be ignored, please run \"bit tag -h\" for the issues list`);\n }\n if (disableDeployPipeline) {\n this.logger.consoleWarning(`--disable-deploy-pipeline is deprecated, please use --disable-tag-pipeline instead`);\n }\n if (!message && !persist) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your tag`\n );\n }\n if (all) {\n this.logger.consoleWarning(\n `--all is deprecated, please omit it. \"bit tag\" by default will tag all new and modified components. to specify a version, use --ver flag`\n );\n if (typeof all === 'string') {\n ver = all;\n }\n }\n if (scope) {\n this.logger.consoleWarning(`--scope is deprecated, use --unmodified instead`);\n unmodified = true;\n if (typeof scope === 'string') {\n ver = scope;\n }\n }\n if (force) {\n this.logger.consoleWarning(\n `--force is deprecated, use either --skip-tests or --unmodified depending on the use case`\n );\n if (patterns.length) unmodified = true;\n }\n if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {\n throw new BitError(\n `--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`\n );\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n const getReleaseType = (): ReleaseType => {\n if (increment) {\n if (!RELEASE_TYPES.includes(increment)) {\n throw new BitError(`invalid increment-level \"${increment}\".\n semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);\n }\n return increment;\n }\n if (major) return 'major';\n if (minor) return 'minor';\n if (patch) return 'patch';\n if (preRelease) return 'prerelease';\n return DEFAULT_BIT_RELEASE_TYPE;\n };\n const getPreReleaseId = (): string | undefined => {\n if (prereleaseId) {\n return prereleaseId;\n }\n if (preRelease && typeof preRelease === 'string') {\n return preRelease;\n }\n return undefined;\n };\n\n const disableTagAndSnapPipelines = disableTagPipeline || disableDeployPipeline;\n\n const params = {\n ids: patterns,\n snapped,\n unmerged,\n editor,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n build,\n soft,\n persist,\n unmodified,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n version: ver,\n };\n\n const results = await this.snapping.tag(params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents }: TagResults = results;\n const changedComponents = taggedComponents.filter((component) => !newComponents.searchWithoutVersion(component.id));\n const addedComponents = taggedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const tagExplanationPersist = `\\n(use \"bit export [collection]\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n const tagExplanationSoft = `\\n(use \"bit tag --persist\" to persist the changes\")\n(use \"bit reset --soft\" to remove the soft-tags)\\n`;\n\n const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;\n\n const outputComponents = (comps) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${component.id.toString()}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => a.component.id.toString());\n componentOutput += `\\n ${AUTO_TAGGED_MSG}:\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const publishOutput = () => {\n const { publishedPackages } = results;\n if (!publishedPackages || !publishedPackages.length) return '';\n const successTitle = `\\n\\n${chalk.green(\n `published the following ${publishedPackages.length} component(s) successfully\\n`\n )}`;\n const successCompsStr = publishedPackages.join('\\n');\n const successOutput = successCompsStr ? successTitle + successCompsStr : '';\n return successOutput;\n };\n\n const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(softTagPrefix + label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n\n const newDesc = results.isSoftTag\n ? 'set to be tagged first version for components'\n : 'first version for components';\n const changedDesc = results.isSoftTag\n ? 'components that set to get a version bump'\n : 'components that got a version bump';\n const softTagClarification = results.isSoftTag\n ? chalk.bold(\n 'keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag'\n )\n : '';\n return (\n warningsOutput +\n chalk.green(\n `${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`\n ) +\n tagExplanation +\n outputIfExists('new components', newDesc, addedComponents) +\n outputIfExists('changed components', changedDesc, changedComponents) +\n publishOutput() +\n softTagClarification\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["RELEASE_TYPES","TagCmd","constructor","snapping","logger","name","description","join","Object","keys","IssuesClasses","cmd","report","patterns","message","ver","all","editor","snapped","unmerged","patch","minor","major","preRelease","increment","prereleaseId","force","ignoreUnresolvedDependencies","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","scope","unmodified","build","soft","persist","disableDeployPipeline","disableTagPipeline","forceDeploy","incrementBy","BitError","consoleWarning","length","releaseFlags","filter","x","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","undefined","disableTagAndSnapPipelines","params","ids","releaseType","preReleaseId","version","results","tag","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","outputComponents","comps","map","componentOutput","toString","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","bold"],"sources":["tag-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { TagResults, NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport class TagCmd implements Command {\n name = 'tag [component-patterns...]';\n group = 'development';\n description = 'create an immutable and exportable component snapshot, tagged with a release version.';\n extendedDescription = `if no patterns are provided, it will tag all new and modified components.\nif patterns are entered, you can specify a version per pattern using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`;\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'a list of component names, IDs or patterns (separated by space). run \"bit pattern --help\" to get more data about patterns. By default, all modified are tagged.',\n },\n ];\n helpUrl = 'components/tags';\n alias = 't';\n loader = true;\n options = [\n ['m', 'message <message>', 'a log message describing latest changes'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are tagged)'],\n [\n '',\n 'editor [editor]',\n 'EXPERIMENTAL. open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).',\n ],\n ['v', 'ver <version>', 'tag with the given version'],\n ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`],\n ['', 'prerelease-id <id>', 'prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")'],\n ['p', 'patch', 'syntactic sugar for \"--increment patch\"'],\n ['', 'minor', 'syntactic sugar for \"--increment minor\"'],\n ['', 'major', 'syntactic sugar for \"--increment major\"'],\n ['', 'pre-release [identifier]', 'syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`'],\n ['', 'snapped', 'EXPERIMENTAL. tag components that their head is a snap (not a tag)'],\n ['', 'unmerged', 'EXPERIMENTAL. complete a merge process by tagging the unmerged components'],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n ['', 'skip-auto-tag', 'skip auto tagging dependents'],\n ['', 'soft', 'do not persist. only keep note of the changes to be made'],\n ['', 'persist', 'persist the changes generated by --soft tag'],\n ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'],\n ['', 'force-deploy', 'run the tag pipeline although the build failed'],\n [\n '',\n 'increment-by <number>',\n '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.',\n ],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'],\n ['b', 'build', 'EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag'],\n [\n 'a',\n 'all [version]',\n 'DEPRECATED (not needed anymore, it is the default now). tag all new and modified components',\n ],\n ['s', 'scope [version]', 'DEPRECATED (use \"--unmodified\" instead). tag all components of the current scope'],\n [\n 'f',\n 'force',\n 'DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-tag even if tests are failing and even when component has not changed',\n ],\n ['', 'disable-deploy-pipeline', 'DEPRECATED. use --disable-tag-pipeline instead'],\n ] as CommandOptions;\n migration = true;\n remoteOp = true; // In case a compiler / tester is not installed\n examples = [{ cmd: 'tag --ver 1.0.0', description: 'tag all components to version 1.0.0' }];\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [patterns = []]: [string[]],\n {\n message = '',\n ver,\n all = false,\n editor = '',\n snapped = false,\n unmerged = false,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n force = false,\n ignoreUnresolvedDependencies,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n scope,\n unmodified = false,\n build,\n soft = false,\n persist = false,\n disableDeployPipeline = false,\n disableTagPipeline = false,\n forceDeploy = false,\n incrementBy = 1,\n }: {\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n ver?: string;\n force?: boolean;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreUnresolvedDependencies?: boolean;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n disableDeployPipeline?: boolean;\n disableTagPipeline?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\n if (typeof ignoreUnresolvedDependencies === 'boolean') {\n throw new BitError(`--ignore-unresolved-dependencies has been removed, please use --ignore-issues instead`);\n }\n if (ignoreIssues && typeof ignoreIssues === 'boolean') {\n throw new BitError(`--ignore-issues expects issues to be ignored, please run \"bit tag -h\" for the issues list`);\n }\n if (disableDeployPipeline) {\n this.logger.consoleWarning(`--disable-deploy-pipeline is deprecated, please use --disable-tag-pipeline instead`);\n }\n if (!message && !persist) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your tag`\n );\n }\n if (all) {\n this.logger.consoleWarning(\n `--all is deprecated, please omit it. \"bit tag\" by default will tag all new and modified components. to specify a version, use --ver flag`\n );\n if (typeof all === 'string') {\n ver = all;\n }\n }\n if (scope) {\n this.logger.consoleWarning(`--scope is deprecated, use --unmodified instead`);\n unmodified = true;\n if (typeof scope === 'string') {\n ver = scope;\n }\n }\n if (force) {\n this.logger.consoleWarning(\n `--force is deprecated, use either --skip-tests or --unmodified depending on the use case`\n );\n if (patterns.length) unmodified = true;\n }\n if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {\n throw new BitError(\n `--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`\n );\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n const getReleaseType = (): ReleaseType => {\n if (increment) {\n if (!RELEASE_TYPES.includes(increment)) {\n throw new BitError(`invalid increment-level \"${increment}\".\n semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);\n }\n return increment;\n }\n if (major) return 'major';\n if (minor) return 'minor';\n if (patch) return 'patch';\n if (preRelease) return 'prerelease';\n return DEFAULT_BIT_RELEASE_TYPE;\n };\n const getPreReleaseId = (): string | undefined => {\n if (prereleaseId) {\n return prereleaseId;\n }\n if (preRelease && typeof preRelease === 'string') {\n return preRelease;\n }\n return undefined;\n };\n\n const disableTagAndSnapPipelines = disableTagPipeline || disableDeployPipeline;\n\n const params = {\n ids: patterns,\n snapped,\n unmerged,\n editor,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n build,\n soft,\n persist,\n unmodified,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n version: ver,\n };\n\n const results = await this.snapping.tag(params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents }: TagResults = results;\n const changedComponents = taggedComponents.filter((component) => !newComponents.searchWithoutVersion(component.id));\n const addedComponents = taggedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const tagExplanationPersist = `\\n(use \"bit export [collection]\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n const tagExplanationSoft = `\\n(use \"bit tag --persist\" to persist the changes\")\n(use \"bit reset --soft\" to remove the soft-tags)\\n`;\n\n const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;\n\n const outputComponents = (comps) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${component.id.toString()}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => a.component.id.toString());\n componentOutput += `\\n ${AUTO_TAGGED_MSG}:\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const publishOutput = () => {\n const { publishedPackages } = results;\n if (!publishedPackages || !publishedPackages.length) return '';\n const successTitle = `\\n\\n${chalk.green(\n `published the following ${publishedPackages.length} component(s) successfully\\n`\n )}`;\n const successCompsStr = publishedPackages.join('\\n');\n const successOutput = successCompsStr ? successTitle + successCompsStr : '';\n return successOutput;\n };\n\n const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(softTagPrefix + label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n\n const newDesc = results.isSoftTag\n ? 'set to be tagged first version for components'\n : 'first version for components';\n const changedDesc = results.isSoftTag\n ? 'components that set to get a version bump'\n : 'components that got a version bump';\n const softTagClarification = results.isSoftTag\n ? chalk.bold(\n 'keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag'\n )\n : '';\n return (\n warningsOutput +\n chalk.green(\n `${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`\n ) +\n tagExplanation +\n outputIfExists('new components', newDesc, addedComponents) +\n outputIfExists('changed components', changedDesc, changedComponents) +\n publishOutput() +\n softTagClarification\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,80 +1,58 @@
|
|
|
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.TagFromScopeCmd = 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
|
function _tag() {
|
|
35
25
|
const data = require("@teambit/legacy/dist/api/consumer/lib/tag");
|
|
36
|
-
|
|
37
26
|
_tag = function () {
|
|
38
27
|
return data;
|
|
39
28
|
};
|
|
40
|
-
|
|
41
29
|
return data;
|
|
42
30
|
}
|
|
43
|
-
|
|
44
31
|
function _constants() {
|
|
45
32
|
const data = require("@teambit/legacy/dist/constants");
|
|
46
|
-
|
|
47
33
|
_constants = function () {
|
|
48
34
|
return data;
|
|
49
35
|
};
|
|
50
|
-
|
|
51
36
|
return data;
|
|
52
37
|
}
|
|
53
|
-
|
|
54
38
|
function _componentIssues() {
|
|
55
39
|
const data = require("@teambit/component-issues");
|
|
56
|
-
|
|
57
40
|
_componentIssues = function () {
|
|
58
41
|
return data;
|
|
59
42
|
};
|
|
60
|
-
|
|
61
43
|
return data;
|
|
62
44
|
}
|
|
63
|
-
|
|
64
45
|
function _bitError() {
|
|
65
46
|
const data = require("@teambit/bit-error");
|
|
66
|
-
|
|
67
47
|
_bitError = function () {
|
|
68
48
|
return data;
|
|
69
49
|
};
|
|
70
|
-
|
|
71
50
|
return data;
|
|
72
51
|
}
|
|
73
|
-
|
|
74
52
|
const RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];
|
|
75
|
-
|
|
76
53
|
class TagFromScopeCmd {
|
|
77
54
|
// In case a compiler / tester is not installed
|
|
55
|
+
|
|
78
56
|
constructor(snapping, logger) {
|
|
79
57
|
this.snapping = snapping;
|
|
80
58
|
this.logger = logger;
|
|
@@ -90,9 +68,9 @@ class TagFromScopeCmd {
|
|
|
90
68
|
[${Object.keys(_componentIssues().IssuesClasses).join(', ')}]
|
|
91
69
|
to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'], ['b', 'build', 'EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag']]);
|
|
92
70
|
(0, _defineProperty2().default)(this, "remoteOp", true);
|
|
93
|
-
}
|
|
94
|
-
|
|
71
|
+
}
|
|
95
72
|
|
|
73
|
+
// eslint-disable-next-line complexity
|
|
96
74
|
async report([patterns = []], {
|
|
97
75
|
push,
|
|
98
76
|
message = '',
|
|
@@ -114,50 +92,39 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
114
92
|
if (ignoreIssues && typeof ignoreIssues === 'boolean') {
|
|
115
93
|
throw new (_bitError().BitError)(`--ignore-issues expects issues to be ignored, please run "bit tag -h" for the issues list`);
|
|
116
94
|
}
|
|
117
|
-
|
|
118
95
|
if (!message) {
|
|
119
96
|
throw new Error('message is mandatory');
|
|
120
97
|
}
|
|
121
|
-
|
|
122
98
|
if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {
|
|
123
99
|
throw new (_bitError().BitError)(`--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`);
|
|
124
100
|
}
|
|
125
|
-
|
|
126
101
|
const releaseFlags = [patch, minor, major, preRelease].filter(x => x);
|
|
127
|
-
|
|
128
102
|
if (releaseFlags.length > 1) {
|
|
129
103
|
throw new (_bitError().BitError)('you can use only one of the following - patch, minor, major, pre-release');
|
|
130
104
|
}
|
|
131
|
-
|
|
132
105
|
const getReleaseType = () => {
|
|
133
106
|
if (increment) {
|
|
134
107
|
if (!RELEASE_TYPES.includes(increment)) {
|
|
135
108
|
throw new (_bitError().BitError)(`invalid increment-level "${increment}".
|
|
136
109
|
semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);
|
|
137
110
|
}
|
|
138
|
-
|
|
139
111
|
return increment;
|
|
140
112
|
}
|
|
141
|
-
|
|
142
113
|
if (major) return 'major';
|
|
143
114
|
if (minor) return 'minor';
|
|
144
115
|
if (patch) return 'patch';
|
|
145
116
|
if (preRelease) return 'prerelease';
|
|
146
117
|
return _constants().DEFAULT_BIT_RELEASE_TYPE;
|
|
147
118
|
};
|
|
148
|
-
|
|
149
119
|
const getPreReleaseId = () => {
|
|
150
120
|
if (prereleaseId) {
|
|
151
121
|
return prereleaseId;
|
|
152
122
|
}
|
|
153
|
-
|
|
154
123
|
if (preRelease && typeof preRelease === 'string') {
|
|
155
124
|
return preRelease;
|
|
156
125
|
}
|
|
157
|
-
|
|
158
126
|
return undefined;
|
|
159
127
|
};
|
|
160
|
-
|
|
161
128
|
const params = {
|
|
162
129
|
ids: patterns,
|
|
163
130
|
push,
|
|
@@ -190,22 +157,18 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
190
157
|
const tagExplanationSoft = `\n(use "bit tag --persist" to persist the changes")
|
|
191
158
|
(use "bit reset --soft" to remove the soft-tags)\n`;
|
|
192
159
|
const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;
|
|
193
|
-
|
|
194
160
|
const outputComponents = comps => {
|
|
195
161
|
return comps.map(component => {
|
|
196
162
|
let componentOutput = ` > ${component.id.toString()}`;
|
|
197
163
|
const autoTag = autoTaggedResults.filter(result => result.triggeredBy.searchWithoutScopeAndVersion(component.id));
|
|
198
|
-
|
|
199
164
|
if (autoTag.length) {
|
|
200
165
|
const autoTagComp = autoTag.map(a => a.component.id.toString());
|
|
201
166
|
componentOutput += `\n ${_tag().AUTO_TAGGED_MSG}:
|
|
202
167
|
${autoTagComp.join('\n ')}`;
|
|
203
168
|
}
|
|
204
|
-
|
|
205
169
|
return componentOutput;
|
|
206
170
|
}).join('\n');
|
|
207
171
|
};
|
|
208
|
-
|
|
209
172
|
const publishOutput = () => {
|
|
210
173
|
const {
|
|
211
174
|
publishedPackages
|
|
@@ -216,22 +179,17 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
216
179
|
const successOutput = successCompsStr ? successTitle + successCompsStr : '';
|
|
217
180
|
return successOutput;
|
|
218
181
|
};
|
|
219
|
-
|
|
220
182
|
const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';
|
|
221
|
-
|
|
222
183
|
const outputIfExists = (label, explanation, components) => {
|
|
223
184
|
if (!components.length) return '';
|
|
224
185
|
return `\n${_chalk().default.underline(softTagPrefix + label)}\n(${explanation})\n${outputComponents(components)}\n`;
|
|
225
186
|
};
|
|
226
|
-
|
|
227
187
|
const newDesc = results.isSoftTag ? 'set to be tagged first version for components' : 'first version for components';
|
|
228
188
|
const changedDesc = results.isSoftTag ? 'components that set to get a version bump' : 'components that got a version bump';
|
|
229
189
|
const softTagClarification = results.isSoftTag ? _chalk().default.bold('keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag') : '';
|
|
230
190
|
return warningsOutput + _chalk().default.green(`${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`) + tagExplanation + outputIfExists('new components', newDesc, addedComponents) + outputIfExists('changed components', changedDesc, changedComponents) + publishOutput() + softTagClarification;
|
|
231
191
|
}
|
|
232
|
-
|
|
233
192
|
}
|
|
234
|
-
|
|
235
193
|
exports.TagFromScopeCmd = TagFromScopeCmd;
|
|
236
194
|
|
|
237
195
|
//# sourceMappingURL=tag-from-scope.cmd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RELEASE_TYPES","TagFromScopeCmd","constructor","snapping","logger","join","Object","keys","IssuesClasses","report","patterns","push","message","ver","patch","minor","major","preRelease","increment","prereleaseId","ignoreIssues","ignoreNewestVersion","skipTests","build","disableTagPipeline","forceDeploy","incrementBy","BitError","Error","releaseFlags","filter","x","length","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","undefined","params","ids","releaseType","preReleaseId","disableTagAndSnapPipelines","version","results","tagFromScope","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","outputComponents","comps","map","componentOutput","toString","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","bold"],"sources":["tag-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { TagResults, NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport class TagFromScopeCmd implements Command {\n name = '_tag <component-id...>';\n group = 'development';\n private = true;\n description = 'create an immutable and exportable component snapshot, tagged with a release version.';\n extendedDescription = `you can specify a version per id using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`;\n helpUrl = 'components/tags';\n alias = '';\n loader = true;\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'a log message describing latest changes'],\n ['v', 'ver <version>', 'tag with the given version'],\n ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`],\n ['', 'prerelease-id <id>', 'prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")'],\n ['p', 'patch', 'syntactic sugar for \"--increment patch\"'],\n ['', 'minor', 'syntactic sugar for \"--increment minor\"'],\n ['', 'major', 'syntactic sugar for \"--increment major\"'],\n ['', 'pre-release [identifier]', 'syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`'],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'],\n ['', 'force-deploy', 'run the tag pipeline although the build failed'],\n [\n '',\n 'increment-by <number>',\n '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.',\n ],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'],\n ['b', 'build', 'EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag'],\n ] as CommandOptions;\n remoteOp = true; // In case a compiler / tester is not installed\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [patterns = []]: [string[]],\n {\n push,\n message = '',\n ver,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n build,\n disableTagPipeline = false,\n forceDeploy = false,\n incrementBy = 1,\n }: {\n push?: boolean;\n ver?: string;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreIssues?: string;\n incrementBy?: number;\n disableTagPipeline?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\n if (ignoreIssues && typeof ignoreIssues === 'boolean') {\n throw new BitError(`--ignore-issues expects issues to be ignored, please run \"bit tag -h\" for the issues list`);\n }\n if (!message) {\n throw new Error('message is mandatory');\n }\n if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {\n throw new BitError(\n `--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`\n );\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n const getReleaseType = (): ReleaseType => {\n if (increment) {\n if (!RELEASE_TYPES.includes(increment)) {\n throw new BitError(`invalid increment-level \"${increment}\".\n semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);\n }\n return increment;\n }\n if (major) return 'major';\n if (minor) return 'minor';\n if (patch) return 'patch';\n if (preRelease) return 'prerelease';\n return DEFAULT_BIT_RELEASE_TYPE;\n };\n const getPreReleaseId = (): string | undefined => {\n if (prereleaseId) {\n return prereleaseId;\n }\n if (preRelease && typeof preRelease === 'string') {\n return preRelease;\n }\n return undefined;\n };\n\n const params = {\n ids: patterns,\n push,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n build,\n disableTagAndSnapPipelines: disableTagPipeline,\n forceDeploy,\n incrementBy,\n version: ver,\n };\n\n const results = await this.snapping.tagFromScope(params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents }: TagResults = results;\n const changedComponents = taggedComponents.filter((component) => !newComponents.searchWithoutVersion(component.id));\n const addedComponents = taggedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const tagExplanationPersist = `\\n(use \"bit export [collection]\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n const tagExplanationSoft = `\\n(use \"bit tag --persist\" to persist the changes\")\n(use \"bit reset --soft\" to remove the soft-tags)\\n`;\n\n const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;\n\n const outputComponents = (comps) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${component.id.toString()}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => a.component.id.toString());\n componentOutput += `\\n ${AUTO_TAGGED_MSG}:\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const publishOutput = () => {\n const { publishedPackages } = results;\n if (!publishedPackages || !publishedPackages.length) return '';\n const successTitle = `\\n\\n${chalk.green(\n `published the following ${publishedPackages.length} component(s) successfully\\n`\n )}`;\n const successCompsStr = publishedPackages.join('\\n');\n const successOutput = successCompsStr ? successTitle + successCompsStr : '';\n return successOutput;\n };\n\n const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(softTagPrefix + label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n\n const newDesc = results.isSoftTag\n ? 'set to be tagged first version for components'\n : 'first version for components';\n const changedDesc = results.isSoftTag\n ? 'components that set to get a version bump'\n : 'components that got a version bump';\n const softTagClarification = results.isSoftTag\n ? chalk.bold(\n 'keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag'\n )\n : '';\n return (\n warningsOutput +\n chalk.green(\n `${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`\n ) +\n tagExplanation +\n outputIfExists('new components', newDesc, addedComponents) +\n outputIfExists('changed components', changedDesc, changedComponents) +\n publishOutput() +\n softTagClarification\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["RELEASE_TYPES","TagFromScopeCmd","constructor","snapping","logger","join","Object","keys","IssuesClasses","report","patterns","push","message","ver","patch","minor","major","preRelease","increment","prereleaseId","ignoreIssues","ignoreNewestVersion","skipTests","build","disableTagPipeline","forceDeploy","incrementBy","BitError","Error","releaseFlags","filter","x","length","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","undefined","params","ids","releaseType","preReleaseId","disableTagAndSnapPipelines","version","results","tagFromScope","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","outputComponents","comps","map","componentOutput","toString","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","bold"],"sources":["tag-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { TagResults, NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport class TagFromScopeCmd implements Command {\n name = '_tag <component-id...>';\n group = 'development';\n private = true;\n description = 'create an immutable and exportable component snapshot, tagged with a release version.';\n extendedDescription = `you can specify a version per id using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`;\n helpUrl = 'components/tags';\n alias = '';\n loader = true;\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'a log message describing latest changes'],\n ['v', 'ver <version>', 'tag with the given version'],\n ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`],\n ['', 'prerelease-id <id>', 'prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")'],\n ['p', 'patch', 'syntactic sugar for \"--increment patch\"'],\n ['', 'minor', 'syntactic sugar for \"--increment minor\"'],\n ['', 'major', 'syntactic sugar for \"--increment major\"'],\n ['', 'pre-release [identifier]', 'syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`'],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'],\n ['', 'force-deploy', 'run the tag pipeline although the build failed'],\n [\n '',\n 'increment-by <number>',\n '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.',\n ],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'],\n ['b', 'build', 'EXPERIMENTAL. not needed for now. run the pipeline build and complete the tag'],\n ] as CommandOptions;\n remoteOp = true; // In case a compiler / tester is not installed\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [patterns = []]: [string[]],\n {\n push,\n message = '',\n ver,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n build,\n disableTagPipeline = false,\n forceDeploy = false,\n incrementBy = 1,\n }: {\n push?: boolean;\n ver?: string;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreIssues?: string;\n incrementBy?: number;\n disableTagPipeline?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\n if (ignoreIssues && typeof ignoreIssues === 'boolean') {\n throw new BitError(`--ignore-issues expects issues to be ignored, please run \"bit tag -h\" for the issues list`);\n }\n if (!message) {\n throw new Error('message is mandatory');\n }\n if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {\n throw new BitError(\n `--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`\n );\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n const getReleaseType = (): ReleaseType => {\n if (increment) {\n if (!RELEASE_TYPES.includes(increment)) {\n throw new BitError(`invalid increment-level \"${increment}\".\n semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);\n }\n return increment;\n }\n if (major) return 'major';\n if (minor) return 'minor';\n if (patch) return 'patch';\n if (preRelease) return 'prerelease';\n return DEFAULT_BIT_RELEASE_TYPE;\n };\n const getPreReleaseId = (): string | undefined => {\n if (prereleaseId) {\n return prereleaseId;\n }\n if (preRelease && typeof preRelease === 'string') {\n return preRelease;\n }\n return undefined;\n };\n\n const params = {\n ids: patterns,\n push,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n build,\n disableTagAndSnapPipelines: disableTagPipeline,\n forceDeploy,\n incrementBy,\n version: ver,\n };\n\n const results = await this.snapping.tagFromScope(params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents }: TagResults = results;\n const changedComponents = taggedComponents.filter((component) => !newComponents.searchWithoutVersion(component.id));\n const addedComponents = taggedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const tagExplanationPersist = `\\n(use \"bit export [collection]\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n const tagExplanationSoft = `\\n(use \"bit tag --persist\" to persist the changes\")\n(use \"bit reset --soft\" to remove the soft-tags)\\n`;\n\n const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;\n\n const outputComponents = (comps) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${component.id.toString()}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => a.component.id.toString());\n componentOutput += `\\n ${AUTO_TAGGED_MSG}:\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const publishOutput = () => {\n const { publishedPackages } = results;\n if (!publishedPackages || !publishedPackages.length) return '';\n const successTitle = `\\n\\n${chalk.green(\n `published the following ${publishedPackages.length} component(s) successfully\\n`\n )}`;\n const successCompsStr = publishedPackages.join('\\n');\n const successOutput = successCompsStr ? successTitle + successCompsStr : '';\n return successOutput;\n };\n\n const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(softTagPrefix + label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n\n const newDesc = results.isSoftTag\n ? 'set to be tagged first version for components'\n : 'first version for components';\n const changedDesc = results.isSoftTag\n ? 'components that set to get a version bump'\n : 'components that got a version bump';\n const softTagClarification = results.isSoftTag\n ? chalk.bold(\n 'keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag'\n )\n : '';\n return (\n warningsOutput +\n chalk.green(\n `${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`\n ) +\n tagExplanation +\n outputIfExists('new components', newDesc, addedComponents) +\n outputIfExists('changed components', changedDesc, changedComponents) +\n publishOutput() +\n softTagClarification\n );\n }\n}\n"],"mappings":"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"}
|