@teambit/checkout 0.0.57 → 0.0.59
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/checkout-cmd.d.ts +1 -0
- package/dist/checkout-cmd.js +15 -9
- package/dist/checkout-cmd.js.map +1 -1
- package/dist/checkout.main.runtime.d.ts +1 -0
- package/dist/checkout.main.runtime.js +16 -8
- package/dist/checkout.main.runtime.js.map +1 -1
- package/package-tar/teambit-checkout-0.0.59.tgz +0 -0
- package/package.json +9 -9
- /package/{preview-1667101073781.js → preview-1667360527523.js} +0 -0
- package/package-tar/teambit-checkout-0.0.57.tgz +0 -0
package/dist/checkout-cmd.d.ts
CHANGED
package/dist/checkout-cmd.js
CHANGED
|
@@ -48,16 +48,18 @@ class CheckoutCmd {
|
|
|
48
48
|
(0, _defineProperty2().default)(this, "name", 'checkout <to> [component-pattern]');
|
|
49
49
|
(0, _defineProperty2().default)(this, "arguments", [{
|
|
50
50
|
name: 'to',
|
|
51
|
-
description: "permitted values: [head, reset, specific-version]. 'head' - last snap/tag. 'reset' - removes local changes"
|
|
51
|
+
description: "permitted values: [head, latest, reset, specific-version]. 'head' - last snap/tag. 'latest' - semver latest tag. 'reset' - removes local changes"
|
|
52
52
|
}, {
|
|
53
53
|
name: 'component-pattern',
|
|
54
54
|
description: _constants().COMPONENT_PATTERN_HELP
|
|
55
55
|
}]);
|
|
56
56
|
(0, _defineProperty2().default)(this, "description", 'switch between component versions or remove local changes');
|
|
57
|
+
(0, _defineProperty2().default)(this, "helpUrl", 'docs/components/merging-changes#checkout-snaps-to-the-working-directory');
|
|
57
58
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
58
59
|
(0, _defineProperty2().default)(this, "extendedDescription", `
|
|
59
60
|
\`bit checkout <version> [component-pattern]\` => checkout the specified ids (or all components when --all is used) to the specified version
|
|
60
61
|
\`bit checkout head [component-pattern]\` => checkout to the last snap/tag, omit [component-pattern] to checkout head for all
|
|
62
|
+
\`bit checkout latest [component-pattern]\` => checkout to the latest satisfying semver tag, omit [component-pattern] to checkout latest for all
|
|
61
63
|
\`bit checkout reset [component-pattern]\` => remove local modifications from the specified ids (or all components when --all is used)`);
|
|
62
64
|
(0, _defineProperty2().default)(this, "alias", 'U');
|
|
63
65
|
(0, _defineProperty2().default)(this, "options", [['i', 'interactive-merge', 'when a component is modified and the merge process found conflicts, display options to resolve them'], ['o', 'ours', 'in case of a conflict, override the used version with the current modification'], ['t', 'theirs', 'in case of a conflict, override the current modification with the specified version'], ['m', 'manual', 'in case of a conflict, leave the files with a conflict state to resolve them manually later'], ['r', 'reset', 'revert changes that were not snapped/tagged'], ['a', 'all', 'all components'], ['v', 'verbose', 'showing verbose output for inspection'], ['', 'reset', 'DEPRECATED. run "bit checkout reset" instead'], ['', 'skip-npm-install', 'DEPRECATED. use "--skip-dependency-installation" instead'], ['', 'skip-dependency-installation', 'do not install packages of the imported components']]);
|
|
@@ -96,8 +98,9 @@ class CheckoutCmd {
|
|
|
96
98
|
failedComponents,
|
|
97
99
|
leftUnresolvedConflicts
|
|
98
100
|
} = await this.checkout.checkoutByCLIValues(to, componentPattern || '', checkoutProps);
|
|
99
|
-
const
|
|
101
|
+
const isHead = to === 'head';
|
|
100
102
|
const isReset = to === 'reset';
|
|
103
|
+
const isLatest = to === 'latest';
|
|
101
104
|
const getFailureOutput = () => {
|
|
102
105
|
// components that failed for no legitimate reason. e.g. merge-conflict.
|
|
103
106
|
const realFailedComponents = failedComponents === null || failedComponents === void 0 ? void 0 : failedComponents.filter(f => !f.unchangedLegitimately);
|
|
@@ -131,9 +134,8 @@ once ready, snap/tag the components to persist the changes`;
|
|
|
131
134
|
const componentName = isReset ? component.id.toString() : component.id.toStringWithoutVersion();
|
|
132
135
|
if (isReset) return `successfully reset ${_chalk().default.bold(componentName)}\n`;
|
|
133
136
|
const title = `successfully switched ${_chalk().default.bold(componentName)} to version ${_chalk().default.bold(
|
|
134
|
-
//
|
|
135
|
-
|
|
136
|
-
isLatest ? component.id.version : version)}\n`;
|
|
137
|
+
// @ts-ignore version is defined when !isReset
|
|
138
|
+
isHead || isLatest ? component.id.version : version)}\n`;
|
|
137
139
|
return `${title} ${(0, _mergeVersion().applyVersionReport)(components, false)}`;
|
|
138
140
|
}
|
|
139
141
|
if (isReset) {
|
|
@@ -141,11 +143,15 @@ once ready, snap/tag the components to persist the changes`;
|
|
|
141
143
|
const body = components.map(component => _chalk().default.bold(component.id.toString())).join('\n');
|
|
142
144
|
return title + body;
|
|
143
145
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
const getVerOutput = () => {
|
|
147
|
+
if (isHead) return 'their head version';
|
|
148
|
+
if (isLatest) return 'their latest version';
|
|
149
|
+
// @ts-ignore version is defined when !isReset
|
|
150
|
+
return `version ${_chalk().default.bold(version)}`;
|
|
151
|
+
};
|
|
152
|
+
const versionOutput = getVerOutput();
|
|
147
153
|
const title = `successfully switched the following components to ${versionOutput}\n\n`;
|
|
148
|
-
const showVersion =
|
|
154
|
+
const showVersion = isHead || isReset;
|
|
149
155
|
const componentsStr = (0, _mergeVersion().applyVersionReport)(components, true, showVersion);
|
|
150
156
|
return title + componentsStr;
|
|
151
157
|
};
|
package/dist/checkout-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CheckoutCmd","constructor","checkout","name","description","COMPONENT_PATTERN_HELP","report","to","componentPattern","interactiveMerge","ours","theirs","manual","reset","all","verbose","skipNpmInstall","skipDependencyInstallation","BitError","console","log","chalk","yellow","checkoutProps","promptMergeOptions","mergeStrategy","getMergeStrategy","isLane","components","version","failedComponents","leftUnresolvedConflicts","checkoutByCLIValues","isLatest","isReset","getFailureOutput","realFailedComponents","filter","f","unchangedLegitimately","length","title","body","map","failedComponent","bold","id","toString","red","failureMessage","join","getNeutralOutput","neutralComponents","green","getConflictSummary","suggestion","underline","conflictSummaryReport","getSuccessfulOutput","component","componentName","toStringWithoutVersion","applyVersionReport","versionOutput","showVersion","componentsStr"],"sources":["checkout-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport {\n ApplyVersionResults,\n getMergeStrategy,\n applyVersionReport,\n conflictSummaryReport,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { CheckoutMain, CheckoutProps } from './checkout.main.runtime';\n\nexport class CheckoutCmd implements Command {\n name = 'checkout <to> [component-pattern]';\n arguments = [\n {\n name: 'to',\n description:\n \"permitted values: [head, reset, specific-version]. 'head' - last snap/tag. 'reset' - removes local changes\",\n },\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n description = 'switch between component versions or remove local changes';\n group = 'development';\n extendedDescription = `\n \\`bit checkout <version> [component-pattern]\\` => checkout the specified ids (or all components when --all is used) to the specified version\n \\`bit checkout head [component-pattern]\\` => checkout to the last snap/tag, omit [component-pattern] to checkout head for all\n \\`bit checkout reset [component-pattern]\\` => remove local modifications from the specified ids (or all components when --all is used)`;\n alias = 'U';\n options = [\n [\n 'i',\n 'interactive-merge',\n 'when a component is modified and the merge process found conflicts, display options to resolve them',\n ],\n ['o', 'ours', 'in case of a conflict, override the used version with the current modification'],\n ['t', 'theirs', 'in case of a conflict, override the current modification with the specified version'],\n ['m', 'manual', 'in case of a conflict, leave the files with a conflict state to resolve them manually later'],\n ['r', 'reset', 'revert changes that were not snapped/tagged'],\n ['a', 'all', 'all components'],\n ['v', 'verbose', 'showing verbose output for inspection'],\n ['', 'reset', 'DEPRECATED. run \"bit checkout reset\" instead'],\n ['', 'skip-npm-install', 'DEPRECATED. use \"--skip-dependency-installation\" instead'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private checkout: CheckoutMain) {}\n\n async report(\n [to, componentPattern]: [string, string],\n {\n interactiveMerge = false,\n ours = false,\n theirs = false,\n manual = false,\n reset = false,\n all = false,\n verbose = false,\n skipNpmInstall = false,\n skipDependencyInstallation = false,\n }: {\n interactiveMerge?: boolean;\n ours?: boolean;\n theirs?: boolean;\n manual?: boolean;\n reset?: boolean;\n all?: boolean;\n verbose?: boolean;\n skipNpmInstall?: boolean;\n skipDependencyInstallation?: boolean;\n }\n ) {\n if (reset) {\n throw new BitError(`--reset flag has been removed. please run \"bit checkout reset\" instead`);\n }\n if (skipNpmInstall) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(`\"--skip-npm-install\" has been deprecated, please use \"--skip-dependency-installation\" instead`)\n );\n skipDependencyInstallation = true;\n }\n const checkoutProps: CheckoutProps = {\n promptMergeOptions: interactiveMerge,\n mergeStrategy: getMergeStrategy(ours, theirs, manual),\n all,\n verbose,\n isLane: false,\n skipNpmInstall: skipDependencyInstallation,\n };\n const { components, version, failedComponents, leftUnresolvedConflicts }: ApplyVersionResults =\n await this.checkout.checkoutByCLIValues(to, componentPattern || '', checkoutProps);\n const isLatest = to === 'head';\n const isReset = to === 'reset';\n const getFailureOutput = () => {\n // components that failed for no legitimate reason. e.g. merge-conflict.\n const realFailedComponents = failedComponents?.filter((f) => !f.unchangedLegitimately);\n if (!realFailedComponents || !realFailedComponents.length) return '';\n const title = 'the checkout has been canceled on the following component(s)';\n const body = realFailedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.failureMessage)}`\n )\n .join('\\n');\n return `${title}\\n${body}\\n\\n`;\n };\n const getNeutralOutput = () => {\n // components that weren't checked out for legitimate reasons, e.g. up-to-date.\n const neutralComponents = (failedComponents || []).filter((f) => f.unchangedLegitimately);\n if (!neutralComponents.length) return '';\n if (!verbose && all) {\n return chalk.green(\n `checkout was not needed for ${chalk.bold(\n neutralComponents.length.toString()\n )} components (use --verbose to get more details)\\n`\n );\n }\n\n const title = 'the checkout was not needed on the following component(s)';\n const body = neutralComponents\n .map((failedComponent) => `${chalk.bold(failedComponent.id.toString())} - ${failedComponent.failureMessage}`)\n .join('\\n');\n return `${title}\\n${body}\\n\\n`;\n };\n const getConflictSummary = () => {\n if (!components || !components.length || !leftUnresolvedConflicts) return '';\n const title = `\\n\\nfiles with conflicts summary\\n`;\n const suggestion = `\\n\\nfix the conflicts above manually and then run \"bit install\" and \"bit compile\".\nonce ready, snap/tag the components to persist the changes`;\n return chalk.underline(title) + conflictSummaryReport(components) + chalk.yellow(suggestion);\n };\n\n const getSuccessfulOutput = () => {\n if (!components || !components.length) return '';\n if (components.length === 1) {\n const component = components[0];\n const componentName = isReset ? component.id.toString() : component.id.toStringWithoutVersion();\n if (isReset) return `successfully reset ${chalk.bold(componentName)}\\n`;\n const title = `successfully switched ${chalk.bold(componentName)} to version ${chalk.bold(\n // $FlowFixMe version is defined when !isReset\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n isLatest ? component.id.version : version\n )}\\n`;\n return `${title} ${applyVersionReport(components, false)}`;\n }\n if (isReset) {\n const title = 'successfully reset the following components\\n\\n';\n const body = components.map((component) => chalk.bold(component.id.toString())).join('\\n');\n return title + body;\n }\n // $FlowFixMe version is defined when !isReset\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionOutput = isLatest ? 'their latest version' : `version ${chalk.bold(version)}`;\n const title = `successfully switched the following components to ${versionOutput}\\n\\n`;\n const showVersion = isLatest || isReset;\n const componentsStr = applyVersionReport(components, true, showVersion);\n return title + componentsStr;\n };\n\n return getFailureOutput() + getNeutralOutput() + getSuccessfulOutput() + getConflictSummary();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["CheckoutCmd","constructor","checkout","name","description","COMPONENT_PATTERN_HELP","report","to","componentPattern","interactiveMerge","ours","theirs","manual","reset","all","verbose","skipNpmInstall","skipDependencyInstallation","BitError","console","log","chalk","yellow","checkoutProps","promptMergeOptions","mergeStrategy","getMergeStrategy","isLane","components","version","failedComponents","leftUnresolvedConflicts","checkoutByCLIValues","isHead","isReset","isLatest","getFailureOutput","realFailedComponents","filter","f","unchangedLegitimately","length","title","body","map","failedComponent","bold","id","toString","red","failureMessage","join","getNeutralOutput","neutralComponents","green","getConflictSummary","suggestion","underline","conflictSummaryReport","getSuccessfulOutput","component","componentName","toStringWithoutVersion","applyVersionReport","getVerOutput","versionOutput","showVersion","componentsStr"],"sources":["checkout-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport {\n ApplyVersionResults,\n getMergeStrategy,\n applyVersionReport,\n conflictSummaryReport,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { CheckoutMain, CheckoutProps } from './checkout.main.runtime';\n\nexport class CheckoutCmd implements Command {\n name = 'checkout <to> [component-pattern]';\n arguments = [\n {\n name: 'to',\n description:\n \"permitted values: [head, latest, reset, specific-version]. 'head' - last snap/tag. 'latest' - semver latest tag. 'reset' - removes local changes\",\n },\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n description = 'switch between component versions or remove local changes';\n helpUrl = 'docs/components/merging-changes#checkout-snaps-to-the-working-directory';\n group = 'development';\n extendedDescription = `\n \\`bit checkout <version> [component-pattern]\\` => checkout the specified ids (or all components when --all is used) to the specified version\n \\`bit checkout head [component-pattern]\\` => checkout to the last snap/tag, omit [component-pattern] to checkout head for all\n \\`bit checkout latest [component-pattern]\\` => checkout to the latest satisfying semver tag, omit [component-pattern] to checkout latest for all\n \\`bit checkout reset [component-pattern]\\` => remove local modifications from the specified ids (or all components when --all is used)`;\n alias = 'U';\n options = [\n [\n 'i',\n 'interactive-merge',\n 'when a component is modified and the merge process found conflicts, display options to resolve them',\n ],\n ['o', 'ours', 'in case of a conflict, override the used version with the current modification'],\n ['t', 'theirs', 'in case of a conflict, override the current modification with the specified version'],\n ['m', 'manual', 'in case of a conflict, leave the files with a conflict state to resolve them manually later'],\n ['r', 'reset', 'revert changes that were not snapped/tagged'],\n ['a', 'all', 'all components'],\n ['v', 'verbose', 'showing verbose output for inspection'],\n ['', 'reset', 'DEPRECATED. run \"bit checkout reset\" instead'],\n ['', 'skip-npm-install', 'DEPRECATED. use \"--skip-dependency-installation\" instead'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private checkout: CheckoutMain) {}\n\n async report(\n [to, componentPattern]: [string, string],\n {\n interactiveMerge = false,\n ours = false,\n theirs = false,\n manual = false,\n reset = false,\n all = false,\n verbose = false,\n skipNpmInstall = false,\n skipDependencyInstallation = false,\n }: {\n interactiveMerge?: boolean;\n ours?: boolean;\n theirs?: boolean;\n manual?: boolean;\n reset?: boolean;\n all?: boolean;\n verbose?: boolean;\n skipNpmInstall?: boolean;\n skipDependencyInstallation?: boolean;\n }\n ) {\n if (reset) {\n throw new BitError(`--reset flag has been removed. please run \"bit checkout reset\" instead`);\n }\n if (skipNpmInstall) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(`\"--skip-npm-install\" has been deprecated, please use \"--skip-dependency-installation\" instead`)\n );\n skipDependencyInstallation = true;\n }\n const checkoutProps: CheckoutProps = {\n promptMergeOptions: interactiveMerge,\n mergeStrategy: getMergeStrategy(ours, theirs, manual),\n all,\n verbose,\n isLane: false,\n skipNpmInstall: skipDependencyInstallation,\n };\n const { components, version, failedComponents, leftUnresolvedConflicts }: ApplyVersionResults =\n await this.checkout.checkoutByCLIValues(to, componentPattern || '', checkoutProps);\n const isHead = to === 'head';\n const isReset = to === 'reset';\n const isLatest = to === 'latest';\n const getFailureOutput = () => {\n // components that failed for no legitimate reason. e.g. merge-conflict.\n const realFailedComponents = failedComponents?.filter((f) => !f.unchangedLegitimately);\n if (!realFailedComponents || !realFailedComponents.length) return '';\n const title = 'the checkout has been canceled on the following component(s)';\n const body = realFailedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.failureMessage)}`\n )\n .join('\\n');\n return `${title}\\n${body}\\n\\n`;\n };\n const getNeutralOutput = () => {\n // components that weren't checked out for legitimate reasons, e.g. up-to-date.\n const neutralComponents = (failedComponents || []).filter((f) => f.unchangedLegitimately);\n if (!neutralComponents.length) return '';\n if (!verbose && all) {\n return chalk.green(\n `checkout was not needed for ${chalk.bold(\n neutralComponents.length.toString()\n )} components (use --verbose to get more details)\\n`\n );\n }\n\n const title = 'the checkout was not needed on the following component(s)';\n const body = neutralComponents\n .map((failedComponent) => `${chalk.bold(failedComponent.id.toString())} - ${failedComponent.failureMessage}`)\n .join('\\n');\n return `${title}\\n${body}\\n\\n`;\n };\n const getConflictSummary = () => {\n if (!components || !components.length || !leftUnresolvedConflicts) return '';\n const title = `\\n\\nfiles with conflicts summary\\n`;\n const suggestion = `\\n\\nfix the conflicts above manually and then run \"bit install\" and \"bit compile\".\nonce ready, snap/tag the components to persist the changes`;\n return chalk.underline(title) + conflictSummaryReport(components) + chalk.yellow(suggestion);\n };\n\n const getSuccessfulOutput = () => {\n if (!components || !components.length) return '';\n if (components.length === 1) {\n const component = components[0];\n const componentName = isReset ? component.id.toString() : component.id.toStringWithoutVersion();\n if (isReset) return `successfully reset ${chalk.bold(componentName)}\\n`;\n const title = `successfully switched ${chalk.bold(componentName)} to version ${chalk.bold(\n // @ts-ignore version is defined when !isReset\n isHead || isLatest ? component.id.version : version\n )}\\n`;\n return `${title} ${applyVersionReport(components, false)}`;\n }\n if (isReset) {\n const title = 'successfully reset the following components\\n\\n';\n const body = components.map((component) => chalk.bold(component.id.toString())).join('\\n');\n return title + body;\n }\n\n const getVerOutput = () => {\n if (isHead) return 'their head version';\n if (isLatest) return 'their latest version';\n // @ts-ignore version is defined when !isReset\n return `version ${chalk.bold(version)}`;\n };\n const versionOutput = getVerOutput();\n const title = `successfully switched the following components to ${versionOutput}\\n\\n`;\n const showVersion = isHead || isReset;\n const componentsStr = applyVersionReport(components, true, showVersion);\n return title + componentsStr;\n };\n\n return getFailureOutput() + getNeutralOutput() + getSuccessfulOutput() + getConflictSummary();\n }\n}\n"],"mappings":"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"}
|
|
@@ -239,7 +239,7 @@ class CheckoutMain {
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
async parseValues(to, componentPattern, checkoutProps) {
|
|
242
|
-
if (to === _constants().HEAD) checkoutProps.head = true;else if (to === _constants().LATEST)
|
|
242
|
+
if (to === _constants().HEAD) checkoutProps.head = true;else if (to === _constants().LATEST) checkoutProps.latest = true;else if (to === 'reset') checkoutProps.reset = true;else {
|
|
243
243
|
if (!_legacyBitId().BitId.isValidVersion(to)) throw new (_bitError().BitError)(`the specified version "${to}" is not a valid version`);
|
|
244
244
|
checkoutProps.version = to;
|
|
245
245
|
}
|
|
@@ -249,6 +249,12 @@ class CheckoutMain {
|
|
|
249
249
|
}
|
|
250
250
|
checkoutProps.all = true;
|
|
251
251
|
}
|
|
252
|
+
if (checkoutProps.latest && !componentPattern) {
|
|
253
|
+
if (checkoutProps.all) {
|
|
254
|
+
this.logger.console(`"--all" is deprecated for "bit checkout ${_constants().LATEST}", please omit it.`);
|
|
255
|
+
}
|
|
256
|
+
checkoutProps.all = true;
|
|
257
|
+
}
|
|
252
258
|
if (componentPattern && checkoutProps.all) {
|
|
253
259
|
throw new (_generalError().default)('please specify either [component-pattern] or --all, not both');
|
|
254
260
|
}
|
|
@@ -256,14 +262,15 @@ class CheckoutMain {
|
|
|
256
262
|
throw new (_generalError().default)('please specify [component-pattern] or use --all flag');
|
|
257
263
|
}
|
|
258
264
|
const ids = componentPattern ? await this.workspace.idsByPattern(componentPattern) : await this.workspace.listIds();
|
|
259
|
-
checkoutProps.ids = ids.map(id => checkoutProps.head ? id.changeVersion(_constants().LATEST) : id);
|
|
265
|
+
checkoutProps.ids = ids.map(id => checkoutProps.head || checkoutProps.latest ? id.changeVersion(_constants().LATEST) : id);
|
|
260
266
|
}
|
|
261
267
|
async getComponentStatus(component, checkoutProps) {
|
|
262
268
|
const consumer = this.workspace.consumer;
|
|
263
269
|
const {
|
|
264
270
|
version,
|
|
265
|
-
head:
|
|
266
|
-
reset
|
|
271
|
+
head: headVersion,
|
|
272
|
+
reset,
|
|
273
|
+
latest: latestVersion
|
|
267
274
|
} = checkoutProps;
|
|
268
275
|
const repo = consumer.scope.objects;
|
|
269
276
|
const componentModel = await consumer.scope.getModelComponentIfExist(component.id);
|
|
@@ -283,13 +290,14 @@ class CheckoutMain {
|
|
|
283
290
|
return returnFailure(`component ${component.id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`);
|
|
284
291
|
}
|
|
285
292
|
const getNewVersion = async () => {
|
|
286
|
-
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
287
293
|
if (reset) return component.id.version;
|
|
294
|
+
if (headVersion) return componentModel.headIncludeRemote(repo);
|
|
295
|
+
if (latestVersion) return componentModel.latestVersion();
|
|
288
296
|
// @ts-ignore if !reset the version is defined
|
|
289
|
-
return
|
|
297
|
+
return version;
|
|
290
298
|
};
|
|
291
299
|
const newVersion = await getNewVersion();
|
|
292
|
-
if (version && !
|
|
300
|
+
if (version && !headVersion) {
|
|
293
301
|
const hasVersion = await componentModel.hasVersion(version, repo);
|
|
294
302
|
if (!hasVersion) return returnFailure(`component ${component.id.toStringWithoutVersion()} doesn't have version ${version}`);
|
|
295
303
|
}
|
|
@@ -304,7 +312,7 @@ class CheckoutMain {
|
|
|
304
312
|
// it won't be relevant for 'reset' as it doesn't have a version
|
|
305
313
|
return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at version ${version}`);
|
|
306
314
|
}
|
|
307
|
-
if (
|
|
315
|
+
if (headVersion && currentlyUsedVersion === newVersion) {
|
|
308
316
|
return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`, true);
|
|
309
317
|
}
|
|
310
318
|
const currentVersionObject = await componentModel.loadVersion(currentlyUsedVersion, repo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CheckoutMain","constructor","workspace","logger","checkout","checkoutProps","consumer","version","ids","promptMergeOptions","syncNewComponents","bitIds","BitIds","fromArray","map","id","_legacy","scope","import","components","loadComponents","getAllComponentsStatus","tmp","Tmp","componentsStatusP","component","getComponentStatus","componentsStatus","Promise","all","clear","err","allComponentsStatus","componentWithConflict","find","mergeResults","hasConflicts","mergeStrategy","GeneralError","toStringWithoutVersion","getMergeStrategyInteractive","failedComponents","filter","componentStatus","failureMessage","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","mapSeries","componentFromFS","applyVersion","markFilesToBeRemovedIfNeeded","componentsWithDependencies","c","leftUnresolvedConflicts","length","manyComponentsWriter","ManyComponentsWriter","installNpmPackages","skipNpmInstall","override","verbose","resetConfig","reset","writeAll","deleteFilesIfNeeded","appliedVersionComponents","applyVersionResult","checkoutByCLIValues","to","componentPattern","setStatusLine","BEFORE_CHECKOUT","ConsumerNotFound","parseValues","checkoutResults","onDestroy","head","notExported","hasScope","changeScope","scopeComponentsImporter","scopeImporter","importManyDeltaWithoutDeps","error","HEAD","LATEST","BitError","BitId","isValidVersion","console","idsByPattern","listIds","changeVersion","latestVersion","repo","objects","componentModel","getModelComponentIfExist","returnFailure","msg","toString","unmerged","unmergedComponents","getEntry","name","getNewVersion","latestIncludeRemote","newVersion","hasVersion","existingBitMapId","bitMap","getBitId","ignoreVersion","currentlyUsedVersion","currentVersionObject","loadVersion","isModified","isComponentModified","baseVersion","baseComponent","otherComponent","threeWayMerge","otherLabel","currentComponent","currentLabel","versionRef","getRef","componentVersion","getObject","hash","newId","componentFromModel","provider","cli","loggerMain","createLogger","CheckoutAspect","checkoutMain","register","CheckoutCmd","CLIAspect","WorkspaceAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["checkout.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { BitError } from '@teambit/bit-error';\nimport { BEFORE_CHECKOUT } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { HEAD, LATEST } from '@teambit/legacy/dist/constants';\nimport {\n applyVersion,\n markFilesToBeRemovedIfNeeded,\n ComponentStatus,\n deleteFilesIfNeeded,\n} from '@teambit/legacy/dist/consumer/versions-ops/checkout-version';\nimport {\n ApplyVersionResults,\n FailedComponents,\n getMergeStrategyInteractive,\n MergeStrategy,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport mapSeries from 'p-map-series';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ComponentWithDependencies } from '@teambit/legacy/dist/scope';\nimport Version from '@teambit/legacy/dist/scope/models/version';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport { MergeResultsThreeWay } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/three-way-merge';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { ComponentID } from '@teambit/component-id';\nimport { CheckoutCmd } from './checkout-cmd';\nimport { CheckoutAspect } from './checkout.aspect';\n\nexport type CheckoutProps = {\n version?: string; // if reset is true, the version is undefined\n ids?: ComponentID[];\n head?: boolean;\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy | null;\n verbose?: boolean;\n skipNpmInstall?: boolean;\n reset?: boolean; // remove local changes. if set, the version is undefined.\n all?: boolean; // checkout all ids\n isLane?: boolean;\n};\n\ntype CheckoutTo = 'head' | 'reset' | string;\n\nexport class CheckoutMain {\n constructor(private workspace: Workspace, private logger: Logger) {}\n\n async checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const consumer = this.workspace.consumer;\n const { version, ids, promptMergeOptions } = checkoutProps;\n await this.syncNewComponents(checkoutProps);\n const bitIds = BitIds.fromArray(ids?.map((id) => id._legacy) || []);\n await consumer.scope.import(bitIds, false);\n const { components } = await consumer.loadComponents(bitIds);\n\n const getAllComponentsStatus = async (): Promise<ComponentStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatusP = components.map((component) => this.getComponentStatus(component, checkoutProps));\n const componentsStatus = await Promise.all(componentsStatusP);\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n\n const allComponentsStatus: ComponentStatus[] = await getAllComponentsStatus();\n const componentWithConflict = allComponentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict) {\n if (!promptMergeOptions && !checkoutProps.mergeStrategy) {\n throw new GeneralError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--manual\" to manually merge changes or use \"--theirs / --ours\" to choose one of the conflicted versions`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.failureMessage)\n .map((componentStatus) => ({\n id: componentStatus.id,\n failureMessage: componentStatus.failureMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.failureMessage);\n // do not use Promise.all for applyVersion. otherwise, it'll write all components in parallel,\n // which can be an issue when some components are also dependencies of others\n const checkoutPropsLegacy = { ...checkoutProps, ids: checkoutProps.ids?.map((id) => id._legacy) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, componentFromFS, mergeResults }) => {\n return applyVersion(consumer, id, componentFromFS, mergeResults, checkoutPropsLegacy);\n });\n\n markFilesToBeRemovedIfNeeded(succeededComponents, componentsResults);\n\n const componentsWithDependencies = componentsResults\n .map((c) => c.component)\n .filter((c) => c) as ComponentWithDependencies[];\n const leftUnresolvedConflicts = componentWithConflict && checkoutProps.mergeStrategy === 'manual';\n if (componentsWithDependencies.length) {\n const manyComponentsWriter = new ManyComponentsWriter({\n consumer,\n componentsWithDependencies,\n installNpmPackages: !checkoutProps.skipNpmInstall && !leftUnresolvedConflicts,\n override: true,\n verbose: checkoutProps.verbose,\n resetConfig: checkoutProps.reset,\n });\n await manyComponentsWriter.writeAll();\n await deleteFilesIfNeeded(componentsResults, consumer);\n }\n\n const appliedVersionComponents = componentsResults.map((c) => c.applyVersionResult);\n\n return { components: appliedVersionComponents, version, failedComponents, leftUnresolvedConflicts };\n }\n\n async checkoutByCLIValues(\n to: CheckoutTo,\n componentPattern: string,\n checkoutProps: CheckoutProps\n ): Promise<ApplyVersionResults> {\n this.logger.setStatusLine(BEFORE_CHECKOUT);\n if (!this.workspace) throw new ConsumerNotFound();\n const consumer = this.workspace.consumer;\n await this.parseValues(to, componentPattern, checkoutProps);\n const checkoutResults = await this.checkout(checkoutProps);\n await consumer.onDestroy();\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !id._legacy.hasScope()).map((id) => id._legacy.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importManyDeltaWithoutDeps(BitIds.fromArray(notExported || []), true);\n } catch (err) {\n // don't stop the process. it's possible that the scope doesn't exist yet because these are new components\n this.logger.error(`unable to sync new components due to an error`, err);\n }\n }\n\n private async parseValues(to: CheckoutTo, componentPattern: string, checkoutProps: CheckoutProps) {\n if (to === HEAD) checkoutProps.head = true;\n else if (to === LATEST) throw new BitError(`\"latest\" was deprecated a while ago, please use \"head\" instead`);\n else if (to === 'reset') checkoutProps.reset = true;\n else {\n if (!BitId.isValidVersion(to)) throw new BitError(`the specified version \"${to}\" is not a valid version`);\n checkoutProps.version = to;\n }\n if (checkoutProps.head && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${HEAD}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (componentPattern && checkoutProps.all) {\n throw new GeneralError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new GeneralError('please specify [component-pattern] or use --all flag');\n }\n const ids = componentPattern ? await this.workspace.idsByPattern(componentPattern) : await this.workspace.listIds();\n checkoutProps.ids = ids.map((id) => (checkoutProps.head ? id.changeVersion(LATEST) : id));\n }\n\n private async getComponentStatus(\n component: ConsumerComponent,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatus> {\n const consumer = this.workspace.consumer;\n const { version, head: latestVersion, reset } = checkoutProps;\n const repo = consumer.scope.objects;\n const componentModel = await consumer.scope.getModelComponentIfExist(component.id);\n const componentStatus: ComponentStatus = { id: component.id };\n const returnFailure = (msg: string, unchangedLegitimately = false) => {\n componentStatus.failureMessage = msg;\n componentStatus.unchangedLegitimately = unchangedLegitimately;\n return componentStatus;\n };\n if (!componentModel) {\n return returnFailure(`component ${component.id.toString()} is new, no version to checkout`, true);\n }\n const unmerged = repo.unmergedComponents.getEntry(component.name);\n if (!reset && unmerged) {\n return returnFailure(\n `component ${component.id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`\n );\n }\n const getNewVersion = async (): Promise<string> => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (reset) return component.id.version;\n // @ts-ignore if !reset the version is defined\n return latestVersion ? componentModel.latestIncludeRemote(repo) : version;\n };\n const newVersion = await getNewVersion();\n if (version && !latestVersion) {\n const hasVersion = await componentModel.hasVersion(version, repo);\n if (!hasVersion)\n return returnFailure(`component ${component.id.toStringWithoutVersion()} doesn't have version ${version}`);\n }\n const existingBitMapId = consumer.bitMap.getBitId(component.id, { ignoreVersion: true });\n const currentlyUsedVersion = existingBitMapId.version;\n if (!currentlyUsedVersion) {\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is new`);\n }\n if (version && currentlyUsedVersion === version) {\n // it won't be relevant for 'reset' as it doesn't have a version\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at version ${version}`);\n }\n if (latestVersion && currentlyUsedVersion === newVersion) {\n return returnFailure(\n `component ${component.id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`,\n true\n );\n }\n const currentVersionObject: Version = await componentModel.loadVersion(currentlyUsedVersion, repo);\n const isModified = await consumer.isComponentModified(currentVersionObject, component);\n if (!isModified && reset) {\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is not modified`);\n }\n // this is tricky. imagine the user is 0.0.2+modification and wants to checkout to 0.0.1.\n // the base is 0.0.1, as it's the common version for 0.0.1 and 0.0.2. however, if we let git merge-file use the 0.0.1\n // as the base, then, it'll get the changes done since 0.0.1 to 0.0.1, which is nothing, and put them on top of\n // 0.0.2+modification. in other words, it won't make any change.\n // this scenario of checking out while there are modified files, is forbidden in Git. here, we want to simulate a similar\n // experience of \"git stash\", then \"git checkout\", then \"git stash pop\". practically, we want the changes done on 0.0.2\n // to be added to 0.0.1\n // if there is no modification, it doesn't go the threeWayMerge anyway, so it doesn't matter what the base is.\n const baseVersion = currentlyUsedVersion;\n const baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n let mergeResults: MergeResultsThreeWay | null | undefined;\n // if the component is not modified, no need to try merge the files, they will be written later on according to the\n // checked out version. same thing when no version is specified, it'll be reset to the model-version later.\n if (!reset && isModified) {\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n mergeResults = await threeWayMerge({\n consumer,\n otherComponent,\n otherLabel: newVersion,\n currentComponent: component,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n }\n const versionRef = componentModel.getRef(newVersion);\n // @ts-ignore\n const componentVersion = await consumer.scope.getObject(versionRef.hash);\n const newId = component.id.changeVersion(newVersion);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return { componentFromFS: component, componentFromModel: componentVersion, id: newId, mergeResults };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, loggerMain]: [CLIMain, Workspace, LoggerMain]) {\n const logger = loggerMain.createLogger(CheckoutAspect.id);\n const checkoutMain = new CheckoutMain(workspace, logger);\n cli.register(new CheckoutCmd(checkoutMain));\n return checkoutMain;\n }\n}\n\nCheckoutAspect.addRuntime(CheckoutMain);\n\nexport default CheckoutMain;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["CheckoutMain","constructor","workspace","logger","checkout","checkoutProps","consumer","version","ids","promptMergeOptions","syncNewComponents","bitIds","BitIds","fromArray","map","id","_legacy","scope","import","components","loadComponents","getAllComponentsStatus","tmp","Tmp","componentsStatusP","component","getComponentStatus","componentsStatus","Promise","all","clear","err","allComponentsStatus","componentWithConflict","find","mergeResults","hasConflicts","mergeStrategy","GeneralError","toStringWithoutVersion","getMergeStrategyInteractive","failedComponents","filter","componentStatus","failureMessage","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","mapSeries","componentFromFS","applyVersion","markFilesToBeRemovedIfNeeded","componentsWithDependencies","c","leftUnresolvedConflicts","length","manyComponentsWriter","ManyComponentsWriter","installNpmPackages","skipNpmInstall","override","verbose","resetConfig","reset","writeAll","deleteFilesIfNeeded","appliedVersionComponents","applyVersionResult","checkoutByCLIValues","to","componentPattern","setStatusLine","BEFORE_CHECKOUT","ConsumerNotFound","parseValues","checkoutResults","onDestroy","head","notExported","hasScope","changeScope","scopeComponentsImporter","scopeImporter","importManyDeltaWithoutDeps","error","HEAD","LATEST","latest","BitId","isValidVersion","BitError","console","idsByPattern","listIds","changeVersion","headVersion","latestVersion","repo","objects","componentModel","getModelComponentIfExist","returnFailure","msg","toString","unmerged","unmergedComponents","getEntry","name","getNewVersion","headIncludeRemote","newVersion","hasVersion","existingBitMapId","bitMap","getBitId","ignoreVersion","currentlyUsedVersion","currentVersionObject","loadVersion","isModified","isComponentModified","baseVersion","baseComponent","otherComponent","threeWayMerge","otherLabel","currentComponent","currentLabel","versionRef","getRef","componentVersion","getObject","hash","newId","componentFromModel","provider","cli","loggerMain","createLogger","CheckoutAspect","checkoutMain","register","CheckoutCmd","CLIAspect","WorkspaceAspect","LoggerAspect","MainRuntime","addRuntime"],"sources":["checkout.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { BitError } from '@teambit/bit-error';\nimport { BEFORE_CHECKOUT } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { HEAD, LATEST } from '@teambit/legacy/dist/constants';\nimport {\n applyVersion,\n markFilesToBeRemovedIfNeeded,\n ComponentStatus,\n deleteFilesIfNeeded,\n} from '@teambit/legacy/dist/consumer/versions-ops/checkout-version';\nimport {\n ApplyVersionResults,\n FailedComponents,\n getMergeStrategyInteractive,\n MergeStrategy,\n threeWayMerge,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport mapSeries from 'p-map-series';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ComponentWithDependencies } from '@teambit/legacy/dist/scope';\nimport Version from '@teambit/legacy/dist/scope/models/version';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport { MergeResultsThreeWay } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/three-way-merge';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { ComponentID } from '@teambit/component-id';\nimport { CheckoutCmd } from './checkout-cmd';\nimport { CheckoutAspect } from './checkout.aspect';\n\nexport type CheckoutProps = {\n version?: string; // if reset is true, the version is undefined\n ids?: ComponentID[];\n head?: boolean;\n latest?: boolean;\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy | null;\n verbose?: boolean;\n skipNpmInstall?: boolean;\n reset?: boolean; // remove local changes. if set, the version is undefined.\n all?: boolean; // checkout all ids\n isLane?: boolean;\n};\n\ntype CheckoutTo = 'head' | 'reset' | string;\n\nexport class CheckoutMain {\n constructor(private workspace: Workspace, private logger: Logger) {}\n\n async checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const consumer = this.workspace.consumer;\n const { version, ids, promptMergeOptions } = checkoutProps;\n await this.syncNewComponents(checkoutProps);\n const bitIds = BitIds.fromArray(ids?.map((id) => id._legacy) || []);\n await consumer.scope.import(bitIds, false);\n const { components } = await consumer.loadComponents(bitIds);\n\n const getAllComponentsStatus = async (): Promise<ComponentStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatusP = components.map((component) => this.getComponentStatus(component, checkoutProps));\n const componentsStatus = await Promise.all(componentsStatusP);\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n\n const allComponentsStatus: ComponentStatus[] = await getAllComponentsStatus();\n const componentWithConflict = allComponentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict) {\n if (!promptMergeOptions && !checkoutProps.mergeStrategy) {\n throw new GeneralError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--manual\" to manually merge changes or use \"--theirs / --ours\" to choose one of the conflicted versions`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.failureMessage)\n .map((componentStatus) => ({\n id: componentStatus.id,\n failureMessage: componentStatus.failureMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.failureMessage);\n // do not use Promise.all for applyVersion. otherwise, it'll write all components in parallel,\n // which can be an issue when some components are also dependencies of others\n const checkoutPropsLegacy = { ...checkoutProps, ids: checkoutProps.ids?.map((id) => id._legacy) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, componentFromFS, mergeResults }) => {\n return applyVersion(consumer, id, componentFromFS, mergeResults, checkoutPropsLegacy);\n });\n\n markFilesToBeRemovedIfNeeded(succeededComponents, componentsResults);\n\n const componentsWithDependencies = componentsResults\n .map((c) => c.component)\n .filter((c) => c) as ComponentWithDependencies[];\n const leftUnresolvedConflicts = componentWithConflict && checkoutProps.mergeStrategy === 'manual';\n if (componentsWithDependencies.length) {\n const manyComponentsWriter = new ManyComponentsWriter({\n consumer,\n componentsWithDependencies,\n installNpmPackages: !checkoutProps.skipNpmInstall && !leftUnresolvedConflicts,\n override: true,\n verbose: checkoutProps.verbose,\n resetConfig: checkoutProps.reset,\n });\n await manyComponentsWriter.writeAll();\n await deleteFilesIfNeeded(componentsResults, consumer);\n }\n\n const appliedVersionComponents = componentsResults.map((c) => c.applyVersionResult);\n\n return { components: appliedVersionComponents, version, failedComponents, leftUnresolvedConflicts };\n }\n\n async checkoutByCLIValues(\n to: CheckoutTo,\n componentPattern: string,\n checkoutProps: CheckoutProps\n ): Promise<ApplyVersionResults> {\n this.logger.setStatusLine(BEFORE_CHECKOUT);\n if (!this.workspace) throw new ConsumerNotFound();\n const consumer = this.workspace.consumer;\n await this.parseValues(to, componentPattern, checkoutProps);\n const checkoutResults = await this.checkout(checkoutProps);\n await consumer.onDestroy();\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !id._legacy.hasScope()).map((id) => id._legacy.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importManyDeltaWithoutDeps(BitIds.fromArray(notExported || []), true);\n } catch (err) {\n // don't stop the process. it's possible that the scope doesn't exist yet because these are new components\n this.logger.error(`unable to sync new components due to an error`, err);\n }\n }\n\n private async parseValues(to: CheckoutTo, componentPattern: string, checkoutProps: CheckoutProps) {\n if (to === HEAD) checkoutProps.head = true;\n else if (to === LATEST) checkoutProps.latest = true;\n else if (to === 'reset') checkoutProps.reset = true;\n else {\n if (!BitId.isValidVersion(to)) throw new BitError(`the specified version \"${to}\" is not a valid version`);\n checkoutProps.version = to;\n }\n if (checkoutProps.head && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${HEAD}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (checkoutProps.latest && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${LATEST}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (componentPattern && checkoutProps.all) {\n throw new GeneralError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new GeneralError('please specify [component-pattern] or use --all flag');\n }\n const ids = componentPattern ? await this.workspace.idsByPattern(componentPattern) : await this.workspace.listIds();\n checkoutProps.ids = ids.map((id) => (checkoutProps.head || checkoutProps.latest ? id.changeVersion(LATEST) : id));\n }\n\n private async getComponentStatus(\n component: ConsumerComponent,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatus> {\n const consumer = this.workspace.consumer;\n const { version, head: headVersion, reset, latest: latestVersion } = checkoutProps;\n const repo = consumer.scope.objects;\n const componentModel = await consumer.scope.getModelComponentIfExist(component.id);\n const componentStatus: ComponentStatus = { id: component.id };\n const returnFailure = (msg: string, unchangedLegitimately = false) => {\n componentStatus.failureMessage = msg;\n componentStatus.unchangedLegitimately = unchangedLegitimately;\n return componentStatus;\n };\n if (!componentModel) {\n return returnFailure(`component ${component.id.toString()} is new, no version to checkout`, true);\n }\n const unmerged = repo.unmergedComponents.getEntry(component.name);\n if (!reset && unmerged) {\n return returnFailure(\n `component ${component.id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`\n );\n }\n const getNewVersion = async (): Promise<string> => {\n if (reset) return component.id.version as string;\n\n if (headVersion) return componentModel.headIncludeRemote(repo);\n if (latestVersion) return componentModel.latestVersion();\n // @ts-ignore if !reset the version is defined\n return version;\n };\n const newVersion = await getNewVersion();\n if (version && !headVersion) {\n const hasVersion = await componentModel.hasVersion(version, repo);\n if (!hasVersion)\n return returnFailure(`component ${component.id.toStringWithoutVersion()} doesn't have version ${version}`);\n }\n const existingBitMapId = consumer.bitMap.getBitId(component.id, { ignoreVersion: true });\n const currentlyUsedVersion = existingBitMapId.version;\n if (!currentlyUsedVersion) {\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is new`);\n }\n if (version && currentlyUsedVersion === version) {\n // it won't be relevant for 'reset' as it doesn't have a version\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is already at version ${version}`);\n }\n if (headVersion && currentlyUsedVersion === newVersion) {\n return returnFailure(\n `component ${component.id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`,\n true\n );\n }\n const currentVersionObject: Version = await componentModel.loadVersion(currentlyUsedVersion, repo);\n const isModified = await consumer.isComponentModified(currentVersionObject, component);\n if (!isModified && reset) {\n return returnFailure(`component ${component.id.toStringWithoutVersion()} is not modified`);\n }\n // this is tricky. imagine the user is 0.0.2+modification and wants to checkout to 0.0.1.\n // the base is 0.0.1, as it's the common version for 0.0.1 and 0.0.2. however, if we let git merge-file use the 0.0.1\n // as the base, then, it'll get the changes done since 0.0.1 to 0.0.1, which is nothing, and put them on top of\n // 0.0.2+modification. in other words, it won't make any change.\n // this scenario of checking out while there are modified files, is forbidden in Git. here, we want to simulate a similar\n // experience of \"git stash\", then \"git checkout\", then \"git stash pop\". practically, we want the changes done on 0.0.2\n // to be added to 0.0.1\n // if there is no modification, it doesn't go the threeWayMerge anyway, so it doesn't matter what the base is.\n const baseVersion = currentlyUsedVersion;\n const baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n let mergeResults: MergeResultsThreeWay | null | undefined;\n // if the component is not modified, no need to try merge the files, they will be written later on according to the\n // checked out version. same thing when no version is specified, it'll be reset to the model-version later.\n if (!reset && isModified) {\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n mergeResults = await threeWayMerge({\n consumer,\n otherComponent,\n otherLabel: newVersion,\n currentComponent: component,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n }\n const versionRef = componentModel.getRef(newVersion);\n // @ts-ignore\n const componentVersion = await consumer.scope.getObject(versionRef.hash);\n const newId = component.id.changeVersion(newVersion);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return { componentFromFS: component, componentFromModel: componentVersion, id: newId, mergeResults };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, loggerMain]: [CLIMain, Workspace, LoggerMain]) {\n const logger = loggerMain.createLogger(CheckoutAspect.id);\n const checkoutMain = new CheckoutMain(workspace, logger);\n cli.register(new CheckoutCmd(checkoutMain));\n return checkoutMain;\n }\n}\n\nCheckoutAspect.addRuntime(CheckoutMain);\n\nexport default CheckoutMain;\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/checkout",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.59",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/component/checkout",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "checkout",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.59"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
"@babel/runtime": "7.20.0",
|
|
15
15
|
"core-js": "^3.0.0",
|
|
16
16
|
"@teambit/harmony": "0.3.3",
|
|
17
|
-
"@teambit/bit-error": "0.0.
|
|
18
|
-
"@teambit/cli": "0.0.
|
|
19
|
-
"@teambit/component-id": "0.0.
|
|
20
|
-
"@teambit/legacy-bit-id": "0.0.
|
|
21
|
-
"@teambit/logger": "0.0.
|
|
22
|
-
"@teambit/workspace": "0.0.
|
|
17
|
+
"@teambit/bit-error": "0.0.402",
|
|
18
|
+
"@teambit/cli": "0.0.597",
|
|
19
|
+
"@teambit/component-id": "0.0.422",
|
|
20
|
+
"@teambit/legacy-bit-id": "0.0.418",
|
|
21
|
+
"@teambit/logger": "0.0.690",
|
|
22
|
+
"@teambit/workspace": "0.0.890"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/mocha": "9.1.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@types/node": "12.20.4"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@teambit/legacy": "1.0.
|
|
33
|
+
"@teambit/legacy": "1.0.380",
|
|
34
34
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
35
35
|
"react": "^16.8.0 || ^17.0.0"
|
|
36
36
|
},
|
|
File without changes
|
|
Binary file
|