@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/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
- } // eslint-disable-next-line complexity
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
@@ -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
- } // eslint-disable-next-line complexity
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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"}