@teambit/ci 1.0.487 → 1.0.489

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.
@@ -1,5 +1,5 @@
1
1
  ;
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.git_ci@1.0.487/dist/ci.docs.mdx';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.git_ci@1.0.489/dist/ci.docs.mdx';
3
3
 
4
4
  export const compositions = [];
5
5
  export const overview = [overview_0];
@@ -0,0 +1,36 @@
1
+ import type { CheckoutMain } from '@teambit/checkout';
2
+ import type { ComponentID } from '@teambit/component-id';
3
+ import type { LanesMain } from '@teambit/lanes';
4
+ import type { Logger } from '@teambit/logger';
5
+ import type { Workspace } from '@teambit/workspace';
6
+ export type AdoptLaneNewComponentsDeps = {
7
+ workspace: Workspace;
8
+ lanes: LanesMain;
9
+ logger: Logger;
10
+ };
11
+ export type AdoptRetryDeps = AdoptLaneNewComponentsDeps & {
12
+ checkout: CheckoutMain;
13
+ reloadWorkspace: () => Promise<void>;
14
+ };
15
+ /**
16
+ * The lane merge (`sources.mergeLane` in the legacy scope) throws a plain Error with this wording
17
+ * when a lane component's objects are absent. A typed error needs a change outside the ci aspect;
18
+ * the stale-lane recovery of `bit ci pr` matches the same text.
19
+ */
20
+ export declare function isLaneMissingComponentError(err: unknown): boolean;
21
+ /**
22
+ * A versionless `.bitmap` entry reads as local and unexported, so a lane fetch drops its id and
23
+ * the lane merge fails with `the component … was not found`. Adopt the lane's version into each
24
+ * such entry, and import the adopted objects (`includeUnexported`, because the entries made them
25
+ * look local). The mutation is in memory; the caller owns the rollback on a failed retry.
26
+ * The returned ids already record the lane's version, so a retried switch skips their files; an
27
+ * importing caller must write them (`checkout --reset`).
28
+ */
29
+ export declare function adoptNewComponentsTheLaneProvides(laneName: string, { workspace, lanes, logger }: AdoptLaneNewComponentsDeps): Promise<ComponentID[]>;
30
+ /**
31
+ * Runs after a switch failed with the missing-component marker: adopt the lane's versions, then
32
+ * retry the switch once. Returns undefined on success, and the error to report on failure. A
33
+ * failed retry reloads the workspace from disk — the failed switch never wrote to it — so the
34
+ * in-memory adoption disappears completely (including `updatedIds` and the changed flag).
35
+ */
36
+ export declare function adoptAndRetrySwitch(laneName: string, originalErr: Error, doSwitch: () => Promise<unknown>, writeAdoptedFiles: boolean | undefined, deps: AdoptRetryDeps): Promise<Error | undefined>;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.adoptAndRetrySwitch = adoptAndRetrySwitch;
7
+ exports.adoptNewComponentsTheLaneProvides = adoptNewComponentsTheLaneProvides;
8
+ exports.isLaneMissingComponentError = isLaneMissingComponentError;
9
+ function _chalk() {
10
+ const data = _interopRequireDefault(require("chalk"));
11
+ _chalk = function () {
12
+ return data;
13
+ };
14
+ return data;
15
+ }
16
+ function _componentId() {
17
+ const data = require("@teambit/component-id");
18
+ _componentId = function () {
19
+ return data;
20
+ };
21
+ return data;
22
+ }
23
+ function _laneSyncExecutor() {
24
+ const data = require("./lane-sync-executor");
25
+ _laneSyncExecutor = function () {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
30
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
+ /**
32
+ * The lane merge (`sources.mergeLane` in the legacy scope) throws a plain Error with this wording
33
+ * when a lane component's objects are absent. A typed error needs a change outside the ci aspect;
34
+ * the stale-lane recovery of `bit ci pr` matches the same text.
35
+ */
36
+ function isLaneMissingComponentError(err) {
37
+ const msg = err?.message ?? String(err ?? '');
38
+ return msg.includes('unable to merge lane') && msg.includes('was not found');
39
+ }
40
+
41
+ /**
42
+ * A versionless `.bitmap` entry reads as local and unexported, so a lane fetch drops its id and
43
+ * the lane merge fails with `the component … was not found`. Adopt the lane's version into each
44
+ * such entry, and import the adopted objects (`includeUnexported`, because the entries made them
45
+ * look local). The mutation is in memory; the caller owns the rollback on a failed retry.
46
+ * The returned ids already record the lane's version, so a retried switch skips their files; an
47
+ * importing caller must write them (`checkout --reset`).
48
+ */
49
+ async function adoptNewComponentsTheLaneProvides(laneName, {
50
+ workspace,
51
+ lanes,
52
+ logger
53
+ }) {
54
+ const newIds = await workspace.newComponentIds();
55
+ if (!newIds.length) return [];
56
+ const laneId = await lanes.parseLaneId(laneName);
57
+ if (laneId.isDefault()) return [];
58
+ const lane = await lanes.importLaneObject(laneId);
59
+ const newIdsList = _componentId().ComponentIdList.fromArray(newIds);
60
+ const adoptedIds = lane.toComponentIdsIncludeUpdateDependents().filter(laneCompId => newIdsList.hasWithoutVersion(laneCompId));
61
+ if (!adoptedIds.length) return [];
62
+ logger.console(_chalk().default.blue(`Adopting the lane's version for component(s) this workspace tracks as new: ` + (0, _laneSyncExecutor().capEntries)(adoptedIds.map(id => id.toStringWithoutVersion())).join(', ')));
63
+ const bitMap = workspace.consumer.bitMap;
64
+ adoptedIds.forEach(id => {
65
+ bitMap.updateComponentId(id);
66
+ bitMap.setOnLanesOnly(id, true);
67
+ });
68
+ // cached component lists still reflect the pre-adoption `.bitmap`
69
+ workspace.clearAllComponentsCache();
70
+ await workspace.scope.legacyScope.scopeImporter.importMany({
71
+ ids: _componentId().ComponentIdList.fromArray(adoptedIds),
72
+ lane,
73
+ includeUnexported: true,
74
+ includeUpdateDependents: true,
75
+ reason: `lane ${laneId.toString()} provides component(s) this workspace tracks as new`
76
+ });
77
+ return adoptedIds;
78
+ }
79
+
80
+ /**
81
+ * Runs after a switch failed with the missing-component marker: adopt the lane's versions, then
82
+ * retry the switch once. Returns undefined on success, and the error to report on failure. A
83
+ * failed retry reloads the workspace from disk — the failed switch never wrote to it — so the
84
+ * in-memory adoption disappears completely (including `updatedIds` and the changed flag).
85
+ */
86
+ async function adoptAndRetrySwitch(laneName, originalErr, doSwitch, writeAdoptedFiles, deps) {
87
+ const {
88
+ logger,
89
+ reloadWorkspace
90
+ } = deps;
91
+ const rollback = async err => {
92
+ await reloadWorkspace().catch(reloadErr => {
93
+ logger.console(_chalk().default.yellow(`Failed to reload the workspace after the adoption retry: ${reloadErr?.toString() ?? reloadErr}`));
94
+ });
95
+ return err;
96
+ };
97
+ const adopted = await adoptNewComponentsTheLaneProvides(laneName, deps).catch(adoptErr => {
98
+ logger.console(_chalk().default.yellow(`The adoption retry failed: ${adoptErr?.toString() ?? adoptErr}`));
99
+ return [];
100
+ });
101
+ if (!adopted.length) return rollback(originalErr);
102
+ try {
103
+ await doSwitch();
104
+ // the retried switch skips an id already at the lane's version, so its files are still unwritten
105
+ if (writeAdoptedFiles) await writeFilesKeepingConfig(adopted, deps);
106
+ return undefined;
107
+ } catch (retryErr) {
108
+ return rollback(retryErr);
109
+ }
110
+ }
111
+
112
+ /**
113
+ * `checkout --reset` writes the files of an entry that already records the target version, but its
114
+ * `resetConfig` also deletes the entry's `.bitmap` config — keep the config across the call.
115
+ */
116
+ async function writeFilesKeepingConfig(adopted, {
117
+ workspace,
118
+ checkout
119
+ }) {
120
+ const bitMap = workspace.consumer.bitMap;
121
+ const entryConfig = id => bitMap.getComponentIfExist(id, {
122
+ ignoreVersion: true
123
+ })?.config;
124
+ const configs = adopted.map(id => ({
125
+ id,
126
+ config: entryConfig(id)
127
+ }));
128
+ await checkout.checkout({
129
+ ids: adopted,
130
+ reset: true,
131
+ skipNpmInstall: true
132
+ });
133
+ configs.forEach(({
134
+ id,
135
+ config
136
+ }) => {
137
+ const entry = bitMap.getComponentIfExist(id, {
138
+ ignoreVersion: true
139
+ });
140
+ if (!config || !entry || entry.config) return;
141
+ entry.config = config;
142
+ bitMap.markAsChanged();
143
+ });
144
+ }
145
+
146
+ //# sourceMappingURL=adopt-lane-new-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentId","_laneSyncExecutor","e","__esModule","default","isLaneMissingComponentError","err","msg","message","String","includes","adoptNewComponentsTheLaneProvides","laneName","workspace","lanes","logger","newIds","newComponentIds","length","laneId","parseLaneId","isDefault","lane","importLaneObject","newIdsList","ComponentIdList","fromArray","adoptedIds","toComponentIdsIncludeUpdateDependents","filter","laneCompId","hasWithoutVersion","console","chalk","blue","capEntries","map","id","toStringWithoutVersion","join","bitMap","consumer","forEach","updateComponentId","setOnLanesOnly","clearAllComponentsCache","scope","legacyScope","scopeImporter","importMany","ids","includeUnexported","includeUpdateDependents","reason","toString","adoptAndRetrySwitch","originalErr","doSwitch","writeAdoptedFiles","deps","reloadWorkspace","rollback","catch","reloadErr","yellow","adopted","adoptErr","writeFilesKeepingConfig","undefined","retryErr","checkout","entryConfig","getComponentIfExist","ignoreVersion","config","configs","reset","skipNpmInstall","entry","markAsChanged"],"sources":["adopt-lane-new-components.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { CheckoutMain } from '@teambit/checkout';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ComponentIdList } from '@teambit/component-id';\nimport type { LanesMain } from '@teambit/lanes';\nimport type { Logger } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { capEntries } from './lane-sync-executor';\n\nexport type AdoptLaneNewComponentsDeps = {\n workspace: Workspace;\n lanes: LanesMain;\n logger: Logger;\n};\n\nexport type AdoptRetryDeps = AdoptLaneNewComponentsDeps & {\n checkout: CheckoutMain;\n reloadWorkspace: () => Promise<void>;\n};\n\n/**\n * The lane merge (`sources.mergeLane` in the legacy scope) throws a plain Error with this wording\n * when a lane component's objects are absent. A typed error needs a change outside the ci aspect;\n * the stale-lane recovery of `bit ci pr` matches the same text.\n */\nexport function isLaneMissingComponentError(err: unknown): boolean {\n const msg = (err as Error)?.message ?? String(err ?? '');\n return msg.includes('unable to merge lane') && msg.includes('was not found');\n}\n\n/**\n * A versionless `.bitmap` entry reads as local and unexported, so a lane fetch drops its id and\n * the lane merge fails with `the component … was not found`. Adopt the lane's version into each\n * such entry, and import the adopted objects (`includeUnexported`, because the entries made them\n * look local). The mutation is in memory; the caller owns the rollback on a failed retry.\n * The returned ids already record the lane's version, so a retried switch skips their files; an\n * importing caller must write them (`checkout --reset`).\n */\nexport async function adoptNewComponentsTheLaneProvides(\n laneName: string,\n { workspace, lanes, logger }: AdoptLaneNewComponentsDeps\n): Promise<ComponentID[]> {\n const newIds = await workspace.newComponentIds();\n if (!newIds.length) return [];\n const laneId = await lanes.parseLaneId(laneName);\n if (laneId.isDefault()) return [];\n const lane = await lanes.importLaneObject(laneId);\n const newIdsList = ComponentIdList.fromArray(newIds);\n const adoptedIds = lane\n .toComponentIdsIncludeUpdateDependents()\n .filter((laneCompId) => newIdsList.hasWithoutVersion(laneCompId));\n if (!adoptedIds.length) return [];\n logger.console(\n chalk.blue(\n `Adopting the lane's version for component(s) this workspace tracks as new: ` +\n capEntries(adoptedIds.map((id) => id.toStringWithoutVersion())).join(', ')\n )\n );\n const bitMap = workspace.consumer.bitMap;\n adoptedIds.forEach((id) => {\n bitMap.updateComponentId(id);\n bitMap.setOnLanesOnly(id, true);\n });\n // cached component lists still reflect the pre-adoption `.bitmap`\n workspace.clearAllComponentsCache();\n await workspace.scope.legacyScope.scopeImporter.importMany({\n ids: ComponentIdList.fromArray(adoptedIds),\n lane,\n includeUnexported: true,\n includeUpdateDependents: true,\n reason: `lane ${laneId.toString()} provides component(s) this workspace tracks as new`,\n });\n return adoptedIds;\n}\n\n/**\n * Runs after a switch failed with the missing-component marker: adopt the lane's versions, then\n * retry the switch once. Returns undefined on success, and the error to report on failure. A\n * failed retry reloads the workspace from disk — the failed switch never wrote to it — so the\n * in-memory adoption disappears completely (including `updatedIds` and the changed flag).\n */\nexport async function adoptAndRetrySwitch(\n laneName: string,\n originalErr: Error,\n doSwitch: () => Promise<unknown>,\n writeAdoptedFiles: boolean | undefined,\n deps: AdoptRetryDeps\n): Promise<Error | undefined> {\n const { logger, reloadWorkspace } = deps;\n const rollback = async (err: Error) => {\n await reloadWorkspace().catch((reloadErr) => {\n logger.console(\n chalk.yellow(`Failed to reload the workspace after the adoption retry: ${reloadErr?.toString() ?? reloadErr}`)\n );\n });\n return err;\n };\n const adopted = await adoptNewComponentsTheLaneProvides(laneName, deps).catch((adoptErr) => {\n logger.console(chalk.yellow(`The adoption retry failed: ${adoptErr?.toString() ?? adoptErr}`));\n return [];\n });\n if (!adopted.length) return rollback(originalErr);\n try {\n await doSwitch();\n // the retried switch skips an id already at the lane's version, so its files are still unwritten\n if (writeAdoptedFiles) await writeFilesKeepingConfig(adopted, deps);\n return undefined;\n } catch (retryErr: any) {\n return rollback(retryErr);\n }\n}\n\n/**\n * `checkout --reset` writes the files of an entry that already records the target version, but its\n * `resetConfig` also deletes the entry's `.bitmap` config — keep the config across the call.\n */\nasync function writeFilesKeepingConfig(adopted: ComponentID[], { workspace, checkout }: AdoptRetryDeps) {\n const bitMap = workspace.consumer.bitMap;\n const entryConfig = (id: ComponentID) => bitMap.getComponentIfExist(id, { ignoreVersion: true })?.config;\n const configs = adopted.map((id) => ({ id, config: entryConfig(id) }));\n await checkout.checkout({ ids: adopted, reset: true, skipNpmInstall: true });\n configs.forEach(({ id, config }) => {\n const entry = bitMap.getComponentIfExist(id, { ignoreVersion: true });\n if (!config || !entry || entry.config) return;\n entry.config = config;\n bitMap.markAsChanged();\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1040,7 +1040,8 @@ class LaneSyncExecutor {
1040
1040
  }
1041
1041
  const switchErr = await this.deps.ci.switchToLaneForSync(laneIdStr, {
1042
1042
  forceOurs: false,
1043
- forceTheirs: true
1043
+ forceTheirs: true,
1044
+ writeAdoptedFiles: true
1044
1045
  });
1045
1046
  if (switchErr) return switchErr;
1046
1047