@teambit/workspace 1.0.1002 → 1.0.1004
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/capsule.cmd.d.ts +44 -5
- package/dist/capsule.cmd.js +155 -13
- package/dist/capsule.cmd.js.map +1 -1
- package/dist/component-tree.widget.d.ts +2 -1
- package/dist/{preview-1780084871933.js → preview-1780524843617.js} +2 -2
- package/dist/ui/workspace/workspace-menu.d.ts +2 -1
- package/dist/ui/workspace/workspace-overview/card-overlays.d.ts +5 -4
- package/dist/ui/workspace/workspace-overview/hope-component-card.d.ts +2 -1
- package/dist/ui/workspace/workspace-overview/namespace-header.d.ts +2 -1
- package/dist/ui/workspace/workspace-overview/workspace-filter-panel.d.ts +2 -1
- package/dist/ui/workspace/workspace-overview/workspace-overview.d.ts +2 -1
- package/dist/ui/workspace/workspace-provider.d.ts +2 -1
- package/dist/ui/workspace/workspace.d.ts +1 -1
- package/dist/workspace.composition.d.ts +2 -1
- package/dist/workspace.main.runtime.js +5 -5
- package/dist/workspace.main.runtime.js.map +1 -1
- package/package.json +40 -40
package/dist/capsule.cmd.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
-
import type { CapsuleList, IsolatorMain } from '@teambit/isolator';
|
|
2
|
+
import type { CapsuleList, IsolatorMain, PruneCapsulesReport } from '@teambit/isolator';
|
|
3
3
|
import type { ScopeMain } from '@teambit/scope';
|
|
4
|
+
import type { ConfigStoreMain } from '@teambit/config-store';
|
|
4
5
|
import type { Workspace } from './workspace';
|
|
5
6
|
type CreateOpts = {
|
|
6
7
|
baseDir?: string;
|
|
@@ -33,16 +34,30 @@ export declare class CapsuleListCmd implements Command {
|
|
|
33
34
|
private isolator;
|
|
34
35
|
private workspace;
|
|
35
36
|
private scope;
|
|
37
|
+
private configStore;
|
|
36
38
|
name: string;
|
|
37
39
|
description: string;
|
|
38
40
|
group: string;
|
|
39
41
|
alias: string;
|
|
40
42
|
options: CommandOptions;
|
|
41
|
-
constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain);
|
|
42
|
-
report(
|
|
43
|
-
|
|
43
|
+
constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain, configStore: ConfigStoreMain);
|
|
44
|
+
report(_args: [], opts?: {
|
|
45
|
+
withStats?: boolean;
|
|
46
|
+
}): Promise<string>;
|
|
47
|
+
private countStaleAspectChildren;
|
|
48
|
+
json(_args: [], opts?: {
|
|
49
|
+
withStats?: boolean;
|
|
50
|
+
}): Promise<{
|
|
51
|
+
capsules: string[];
|
|
52
|
+
scopeCapsules: string[];
|
|
53
|
+
workspaceCapsulesRootDir: any;
|
|
54
|
+
scopeAspectsCapsulesRootDir: any;
|
|
55
|
+
scopeCapsulesRootDir: any;
|
|
56
|
+
} | {
|
|
44
57
|
capsules: string[];
|
|
45
58
|
scopeCapsules: string[];
|
|
59
|
+
totalSizeBytes: number;
|
|
60
|
+
allRoots: import("@teambit/isolator/capsule-cache").CapsuleRootEntry[];
|
|
46
61
|
workspaceCapsulesRootDir: any;
|
|
47
62
|
scopeAspectsCapsulesRootDir: any;
|
|
48
63
|
scopeCapsulesRootDir: any;
|
|
@@ -65,10 +80,34 @@ export declare class CapsuleDeleteCmd implements Command {
|
|
|
65
80
|
scopeAspects: boolean;
|
|
66
81
|
}): Promise<string>;
|
|
67
82
|
}
|
|
83
|
+
type PruneOpts = {
|
|
84
|
+
olderThan?: number;
|
|
85
|
+
keepWorkspaceCaps?: boolean;
|
|
86
|
+
noOrphans?: boolean;
|
|
87
|
+
sizeTarget?: number;
|
|
88
|
+
dryRun?: boolean;
|
|
89
|
+
withSizes?: boolean;
|
|
90
|
+
json?: boolean;
|
|
91
|
+
};
|
|
92
|
+
export declare class CapsulePruneCmd implements Command {
|
|
93
|
+
private isolator;
|
|
94
|
+
private configStore;
|
|
95
|
+
name: string;
|
|
96
|
+
description: string;
|
|
97
|
+
extendedDescription: string;
|
|
98
|
+
group: string;
|
|
99
|
+
alias: string;
|
|
100
|
+
options: CommandOptions;
|
|
101
|
+
constructor(isolator: IsolatorMain, configStore: ConfigStoreMain);
|
|
102
|
+
report(_args: [], opts: PruneOpts): Promise<string>;
|
|
103
|
+
json(_args: [], opts: PruneOpts): Promise<PruneCapsulesReport>;
|
|
104
|
+
private runPrune;
|
|
105
|
+
}
|
|
68
106
|
export declare class CapsuleCmd implements Command {
|
|
69
107
|
private isolator;
|
|
70
108
|
private workspace;
|
|
71
109
|
private scope;
|
|
110
|
+
private configStore;
|
|
72
111
|
name: string;
|
|
73
112
|
description: string;
|
|
74
113
|
extendedDescription: string;
|
|
@@ -76,7 +115,7 @@ export declare class CapsuleCmd implements Command {
|
|
|
76
115
|
group: string;
|
|
77
116
|
commands: Command[];
|
|
78
117
|
options: CommandOptions;
|
|
79
|
-
constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain);
|
|
118
|
+
constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain, configStore: ConfigStoreMain);
|
|
80
119
|
report(args: [string]): Promise<string>;
|
|
81
120
|
}
|
|
82
121
|
export {};
|
package/dist/capsule.cmd.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CapsuleListCmd = exports.CapsuleDeleteCmd = exports.CapsuleCreateCmd = exports.CapsuleCmd = void 0;
|
|
6
|
+
exports.CapsulePruneCmd = exports.CapsuleListCmd = exports.CapsuleDeleteCmd = exports.CapsuleCreateCmd = exports.CapsuleCmd = void 0;
|
|
7
7
|
function _cli() {
|
|
8
8
|
const data = require("@teambit/cli");
|
|
9
9
|
_cli = function () {
|
|
@@ -11,6 +11,20 @@ function _cli() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
+
function _isolator() {
|
|
15
|
+
const data = require("@teambit/isolator");
|
|
16
|
+
_isolator = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _legacy() {
|
|
22
|
+
const data = require("@teambit/legacy.constants");
|
|
23
|
+
_legacy = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
14
28
|
function _chalk() {
|
|
15
29
|
const data = _interopRequireDefault(require("chalk"));
|
|
16
30
|
_chalk = function () {
|
|
@@ -18,12 +32,43 @@ function _chalk() {
|
|
|
18
32
|
};
|
|
19
33
|
return data;
|
|
20
34
|
}
|
|
35
|
+
function _fsExtra() {
|
|
36
|
+
const data = _interopRequireDefault(require("fs-extra"));
|
|
37
|
+
_fsExtra = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
function _path() {
|
|
43
|
+
const data = _interopRequireDefault(require("path"));
|
|
44
|
+
_path = function () {
|
|
45
|
+
return data;
|
|
46
|
+
};
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
21
49
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
50
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
51
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
52
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
25
53
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
26
54
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // eslint-disable-next-line max-classes-per-file
|
|
55
|
+
function formatBytes(bytes) {
|
|
56
|
+
if (!bytes) return '0 B';
|
|
57
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
58
|
+
const i = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);
|
|
59
|
+
return `${(bytes / 1024 ** i).toFixed(i === 0 ? 0 : 1)} ${units[i]}`;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Coerce a CLI/config value to a finite number, or undefined if it's missing,
|
|
64
|
+
* empty, or unparseable. Guards against `Number('')` (= 0) and `Number('abc')` (= NaN)
|
|
65
|
+
* silently propagating as bad thresholds and defeating age/size enforcement.
|
|
66
|
+
*/
|
|
67
|
+
function toFiniteNumber(value) {
|
|
68
|
+
if (value === undefined || value === null || value === '') return undefined;
|
|
69
|
+
const n = Number(value);
|
|
70
|
+
return Number.isFinite(n) ? n : undefined;
|
|
71
|
+
}
|
|
27
72
|
class CapsuleCreateCmd {
|
|
28
73
|
constructor(workspace, scope, isolator) {
|
|
29
74
|
this.workspace = workspace;
|
|
@@ -98,17 +143,18 @@ class CapsuleCreateCmd {
|
|
|
98
143
|
}
|
|
99
144
|
exports.CapsuleCreateCmd = CapsuleCreateCmd;
|
|
100
145
|
class CapsuleListCmd {
|
|
101
|
-
constructor(isolator, workspace, scope) {
|
|
146
|
+
constructor(isolator, workspace, scope, configStore) {
|
|
102
147
|
this.isolator = isolator;
|
|
103
148
|
this.workspace = workspace;
|
|
104
149
|
this.scope = scope;
|
|
150
|
+
this.configStore = configStore;
|
|
105
151
|
_defineProperty(this, "name", 'list');
|
|
106
152
|
_defineProperty(this, "description", `list the capsules generated for this workspace`);
|
|
107
153
|
_defineProperty(this, "group", 'advanced');
|
|
108
154
|
_defineProperty(this, "alias", '');
|
|
109
|
-
_defineProperty(this, "options", [['j', 'json', 'json format']]);
|
|
155
|
+
_defineProperty(this, "options", [['j', 'json', 'json format'], ['', 'with-stats', 'include total cache size, orphan count, and stale aspect-version count (walks the full cache)']]);
|
|
110
156
|
}
|
|
111
|
-
async report() {
|
|
157
|
+
async report(_args, opts = {}) {
|
|
112
158
|
if (!this.workspace && !this.scope) {
|
|
113
159
|
throw new Error(`This command requires a Bit workspace or scope.
|
|
114
160
|
To initialize a workspace: bit init`);
|
|
@@ -126,14 +172,53 @@ To initialize a workspace: bit init`);
|
|
|
126
172
|
const title = (0, _cli().formatTitle)(`found ${numOfWsCapsules} capsule(s) for ${hostType}: ${hostPath}`);
|
|
127
173
|
const wsLine = listWs ? (0, _cli().formatItem)(`workspace capsules root-dir: ${workspaceCapsulesRootDir}`) : undefined;
|
|
128
174
|
const scopeAspectLine = (0, _cli().formatItem)(`scope's aspects capsules root-dir: ${scopeAspectsCapsulesRootDir}`);
|
|
129
|
-
const scopeLine = (0, _cli().formatItem)(`scope's capsules root-dir: ${scopeCapsulesRootDir}`);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
175
|
+
const scopeLine = scopeCapsulesRootDir ? (0, _cli().formatItem)(`scope's capsules root-dir: ${scopeCapsulesRootDir}`) : undefined;
|
|
176
|
+
let summaryLine;
|
|
177
|
+
let suggestLine;
|
|
178
|
+
if (opts.withStats) {
|
|
179
|
+
const allRoots = await this.isolator.listAllCapsuleRoots({
|
|
180
|
+
withSizes: true
|
|
181
|
+
});
|
|
182
|
+
const totalSize = allRoots.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
183
|
+
const orphanChecks = await Promise.all(allRoots.filter(r => r.originPath).map(async r => (await _fsExtra().default.pathExists(r.originPath)) ? 0 : 1));
|
|
184
|
+
const orphanCount = orphanChecks.reduce((a, b) => a + b, 0);
|
|
185
|
+
const maxAgeRaw = this.configStore.getConfig(_legacy().CFG_CAPSULES_MAX_AGE_DAYS);
|
|
186
|
+
const maxAgeDays = Math.max(0, toFiniteNumber(maxAgeRaw) ?? 30);
|
|
187
|
+
const cutoff = Date.now() - maxAgeDays * 24 * 60 * 60 * 1000;
|
|
188
|
+
const staleChecks = await Promise.all(allRoots.filter(r => r.kind === 'scope-aspects-root').map(r => this.countStaleAspectChildren(r.path, cutoff)));
|
|
189
|
+
const staleAspectCount = staleChecks.reduce((a, b) => a + b, 0);
|
|
190
|
+
summaryLine = (0, _cli().formatItem)(`cache total: ${_chalk().default.bold(formatBytes(totalSize))} across ${allRoots.length} subdir(s) — ` + `${orphanCount} orphan(s), ${staleAspectCount} stale aspect-version(s) (>${maxAgeDays}d)`);
|
|
191
|
+
suggestLine = (0, _cli().formatHint)(`use --json to get the list of all capsules`);
|
|
192
|
+
} else {
|
|
193
|
+
suggestLine = (0, _cli().formatHint)(`use --json to get the list of all capsules, or --with-stats for size/orphan summary`);
|
|
194
|
+
}
|
|
195
|
+
const lines = [title, wsLine, scopeAspectLine, scopeLine, summaryLine, suggestLine].filter(x => x).join('\n');
|
|
134
196
|
return lines;
|
|
135
197
|
}
|
|
136
|
-
async
|
|
198
|
+
async countStaleAspectChildren(rootPath, cutoffMs) {
|
|
199
|
+
try {
|
|
200
|
+
const entries = await _fsExtra().default.readdir(rootPath, {
|
|
201
|
+
withFileTypes: true
|
|
202
|
+
});
|
|
203
|
+
let count = 0;
|
|
204
|
+
for (const entry of entries) {
|
|
205
|
+
if (!entry.isDirectory() || entry.name === 'node_modules' || entry.name.startsWith('.')) continue;
|
|
206
|
+
const childPath = _path().default.join(rootPath, entry.name);
|
|
207
|
+
const markerPath = _path().default.join(childPath, _isolator().CAPSULE_ORIGIN_FILE);
|
|
208
|
+
try {
|
|
209
|
+
const stat = await _fsExtra().default.stat(markerPath);
|
|
210
|
+
if (stat.mtime.getTime() < cutoffMs) count += 1;
|
|
211
|
+
} catch {
|
|
212
|
+
const stat = await _fsExtra().default.stat(childPath).catch(() => undefined);
|
|
213
|
+
if (stat && stat.mtime.getTime() < cutoffMs) count += 1;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return count;
|
|
217
|
+
} catch {
|
|
218
|
+
return 0;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
async json(_args, opts = {}) {
|
|
137
222
|
if (!this.workspace && !this.scope) {
|
|
138
223
|
throw new Error(`This command requires a Bit workspace or scope.
|
|
139
224
|
To initialize a workspace: bit init`);
|
|
@@ -143,9 +228,23 @@ To initialize a workspace: bit init`);
|
|
|
143
228
|
const listScope = await this.isolator.list(rootDirs.scopeAspectsCapsulesRootDir);
|
|
144
229
|
const capsules = listWs ? listWs.capsules : [];
|
|
145
230
|
const scopeCapsules = listScope ? listScope.capsules : [];
|
|
231
|
+
// `--with-stats` is opt-in because computing it walks the full cache. Without it,
|
|
232
|
+
// omit the stats fields entirely rather than returning misleading zeros.
|
|
233
|
+
if (!opts.withStats) {
|
|
234
|
+
return _objectSpread(_objectSpread({}, rootDirs), {}, {
|
|
235
|
+
capsules,
|
|
236
|
+
scopeCapsules
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
const allRoots = await this.isolator.listAllCapsuleRoots({
|
|
240
|
+
withSizes: true
|
|
241
|
+
});
|
|
242
|
+
const totalSizeBytes = allRoots.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
146
243
|
return _objectSpread(_objectSpread({}, rootDirs), {}, {
|
|
147
244
|
capsules,
|
|
148
|
-
scopeCapsules
|
|
245
|
+
scopeCapsules,
|
|
246
|
+
totalSizeBytes,
|
|
247
|
+
allRoots
|
|
149
248
|
});
|
|
150
249
|
}
|
|
151
250
|
getCapsulesRootDirs() {
|
|
@@ -185,11 +284,54 @@ class CapsuleDeleteCmd {
|
|
|
185
284
|
}
|
|
186
285
|
}
|
|
187
286
|
exports.CapsuleDeleteCmd = CapsuleDeleteCmd;
|
|
287
|
+
class CapsulePruneCmd {
|
|
288
|
+
constructor(isolator, configStore) {
|
|
289
|
+
this.isolator = isolator;
|
|
290
|
+
this.configStore = configStore;
|
|
291
|
+
_defineProperty(this, "name", 'prune');
|
|
292
|
+
_defineProperty(this, "description", 'evict stale capsules from the global cache');
|
|
293
|
+
_defineProperty(this, "extendedDescription", `workspace capsules are deleted unconditionally; aspect-version and scope capsules are deleted when their last-used marker is older than --older-than (default 30 days).
|
|
294
|
+
use --dry-run first to preview what would be removed.`);
|
|
295
|
+
_defineProperty(this, "group", 'advanced');
|
|
296
|
+
_defineProperty(this, "alias", '');
|
|
297
|
+
_defineProperty(this, "options", [['', 'older-than <days>', 'age threshold in days for aspect-version/scope capsule pruning (default 30)'], ['', 'keep-workspace-caps', 'skip workspace capsule deletion'], ['', 'no-orphans', "don't delete capsules whose origin path no longer exists"], ['', 'size-target <gb>', 'after standard pruning, LRU-evict aspect-versions until total drops below this size (forces --with-sizes)'], ['', 'dry-run', 'preview what would be removed without deleting'], ['', 'with-sizes', 'compute byte sizes for the report (walks the full cache; slow on large caches). default: off — sizes shown as 0 but the prune itself is instant.'], ['j', 'json', 'json format']]);
|
|
298
|
+
}
|
|
299
|
+
async report(_args, opts) {
|
|
300
|
+
const report = await this.runPrune(opts);
|
|
301
|
+
const header = report.dryRun ? (0, _cli().formatTitle)(`[dry-run] would remove ${report.removed.length} capsule(s)`) : (0, _cli().formatSuccessSummary)(`removed ${report.removed.length} capsule(s)`);
|
|
302
|
+
// Only show the byte summary when sizes were actually computed; otherwise it'd say
|
|
303
|
+
// "0 B → 0 B (freed 0 B)" which is misleading.
|
|
304
|
+
const sizesComputed = report.totalSizeBeforeBytes > 0 || report.totalRemovedBytes > 0;
|
|
305
|
+
const sizeLine = sizesComputed ? (0, _cli().formatItem)(`cache: ${formatBytes(report.totalSizeBeforeBytes)} → ${formatBytes(report.totalSizeAfterBytes)} ` + `(freed ${formatBytes(report.totalRemovedBytes)})`) : (0, _cli().formatHint)(`re-run with --with-sizes to see byte totals (walks the full cache)`);
|
|
306
|
+
const items = report.removed.slice(0, 50).map(r => (0, _cli().formatItem)(`${_chalk().default.dim(`[${r.kind} · ${r.reason}]`)} ${r.path}` + (r.originPath ? ` ${_chalk().default.dim(`← ${r.originPath}`)}` : '') + ` ${_chalk().default.dim(`(${formatBytes(r.sizeBytes)})`)}`));
|
|
307
|
+
const truncated = report.removed.length > 50 ? (0, _cli().formatHint)(`...and ${report.removed.length - 50} more (use --json to see the full list)`) : undefined;
|
|
308
|
+
return [header, sizeLine, ...items, truncated].filter(Boolean).join('\n');
|
|
309
|
+
}
|
|
310
|
+
async json(_args, opts) {
|
|
311
|
+
return this.runPrune(opts);
|
|
312
|
+
}
|
|
313
|
+
async runPrune(opts) {
|
|
314
|
+
// CLI flags win; otherwise fall back to user config so manual and auto-prune
|
|
315
|
+
// behave consistently. Final fallback to defaults happens in `pruneCapsules`.
|
|
316
|
+
const olderThanFromConfig = this.configStore.getConfig(_legacy().CFG_CAPSULES_MAX_AGE_DAYS);
|
|
317
|
+
const sizeTargetFromConfig = this.configStore.getConfig(_legacy().CFG_CAPSULES_MAX_SIZE_GB);
|
|
318
|
+
return this.isolator.pruneCapsules({
|
|
319
|
+
olderThanDays: toFiniteNumber(opts.olderThan) ?? toFiniteNumber(olderThanFromConfig),
|
|
320
|
+
keepWorkspaceCaps: opts.keepWorkspaceCaps === true,
|
|
321
|
+
includeOrphans: opts.noOrphans !== true,
|
|
322
|
+
sizeTargetGb: toFiniteNumber(opts.sizeTarget) ?? toFiniteNumber(sizeTargetFromConfig),
|
|
323
|
+
dryRun: opts.dryRun === true,
|
|
324
|
+
withSizes: opts.withSizes === true
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
exports.CapsulePruneCmd = CapsulePruneCmd;
|
|
188
329
|
class CapsuleCmd {
|
|
189
|
-
constructor(isolator, workspace, scope) {
|
|
330
|
+
constructor(isolator, workspace, scope, configStore) {
|
|
190
331
|
this.isolator = isolator;
|
|
191
332
|
this.workspace = workspace;
|
|
192
333
|
this.scope = scope;
|
|
334
|
+
this.configStore = configStore;
|
|
193
335
|
_defineProperty(this, "name", 'capsule');
|
|
194
336
|
_defineProperty(this, "description", 'manage isolated component environments');
|
|
195
337
|
_defineProperty(this, "extendedDescription", `capsules are temporary isolated directories containing component code and dependencies.
|
|
@@ -203,7 +345,7 @@ ensures components work independently before publishing, similar to how they'll
|
|
|
203
345
|
|
|
204
346
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
205
347
|
async report(args) {
|
|
206
|
-
return new CapsuleListCmd(this.isolator, this.workspace, this.scope).report();
|
|
348
|
+
return new CapsuleListCmd(this.isolator, this.workspace, this.scope, this.configStore).report([], {});
|
|
207
349
|
}
|
|
208
350
|
}
|
|
209
351
|
exports.CapsuleCmd = CapsuleCmd;
|
package/dist/capsule.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_chalk","_interopRequireDefault","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CapsuleCreateCmd","constructor","workspace","scope","isolator","create","componentIds","baseDir","rootBaseDir","alwaysNew","id","installPackages","seedersOnly","useHash","Array","isArray","finalUseHash","undefined","shouldUseHashForCapsules","baseInstallOptions","additionalInstallOptions","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","installOptions","capsuleOptions","includeFromNestedHosts","name","host","ids","resolveMultipleComponentIds","network","isolateComponents","capsules","graphCapsules","report","opts","items","map","capsule","formatItem","chalk","bold","component","toString","path","formatSuccessSummary","join","json","c","exports","CapsuleListCmd","Error","workspaceCapsulesRootDir","scopeAspectsCapsulesRootDir","scopeCapsulesRootDir","getCapsulesRootDirs","listWs","list","listScope","hostPath","numOfWsCapsules","hostType","title","formatTitle","wsLine","scopeAspectLine","scopeLine","suggestLine","formatHint","lines","x","rootDirs","scopeCapsules","CapsuleDeleteCmd","args","all","scopeAspects","capsuleBaseDirToDelete","capsuleBaseDir","deletedDir","deleteCapsules","CapsuleCmd","getCapsulesRootDir","getCapsulePath","getAspectCapsulePath","process","cwd"],"sources":["capsule.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport { formatItem, formatTitle, formatSuccessSummary, formatHint } from '@teambit/cli';\nimport type { CapsuleList, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport type { ScopeMain } from '@teambit/scope';\nimport chalk from 'chalk';\nimport type { Workspace } from './workspace';\n\ntype CreateOpts = {\n baseDir?: string;\n rootBaseDir?: string;\n alwaysNew?: boolean;\n seedersOnly?: boolean;\n useHash?: boolean;\n id: string;\n installPackages?: boolean;\n};\n\nexport class CapsuleCreateCmd implements Command {\n name = 'create [component-id...]';\n description = `create capsules for components`;\n helpUrl = 'reference/build-pipeline/capsule';\n group = 'advanced';\n alias = '';\n options = [\n [\n 'b',\n 'base-dir <name>',\n 'set base dir of all capsules (hashed to create the base dir inside the root dir - host path by default)',\n ],\n ['r', 'root-base-dir <name>', 'set root base dir of all capsules (absolute path to use as root dir)'],\n ['a', 'always-new', 'create new environment for capsule'],\n ['s', 'seeders-only', 'create capsules for the seeders only (not for the entire graph)'],\n ['i', 'id <name>', 'reuse capsule of certain name'],\n ['', 'use-hash', 'whether to use hash function (of base dir) as capsules root dir name'],\n ['j', 'json', 'json format'],\n ['d', 'install-packages', 'install packages by the package-manager'],\n ['p', 'package-manager <name>', 'npm, yarn or pnpm, default to npm'],\n ] as CommandOptions;\n\n constructor(\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private isolator: IsolatorMain\n ) {}\n\n async create(\n [componentIds = []]: [string[]],\n { baseDir, rootBaseDir, alwaysNew = false, id, installPackages = false, seedersOnly = false, useHash }: CreateOpts\n ): Promise<CapsuleList> {\n // @todo: why it is not an array?\n if (componentIds && !Array.isArray(componentIds)) componentIds = [componentIds];\n let finalUseHash = useHash;\n if (useHash === undefined) {\n if (baseDir) {\n finalUseHash = false;\n } else {\n finalUseHash = this.workspace\n ? this.workspace?.shouldUseHashForCapsules()\n : this.scope.shouldUseHashForCapsules();\n }\n }\n\n const baseInstallOptions = { installPackages };\n const additionalInstallOptions = this.workspace\n ? {}\n : {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n };\n const installOptions = { ...baseInstallOptions, ...additionalInstallOptions };\n\n const capsuleOptions: IsolateComponentsOptions = {\n baseDir,\n rootBaseDir,\n installOptions,\n alwaysNew,\n seedersOnly,\n includeFromNestedHosts: true,\n name: id,\n useHash: finalUseHash,\n };\n const host = this.workspace || this.scope;\n const ids = await host.resolveMultipleComponentIds(componentIds);\n const network = await this.isolator.isolateComponents(ids, capsuleOptions);\n const capsules = network.graphCapsules;\n return capsules;\n }\n\n async report([componentIds]: [string[]], opts: CreateOpts) {\n // @ts-ignore\n const capsules = await this.create(componentIds, opts);\n const items = capsules.map((capsule) =>\n formatItem(`${chalk.bold(capsule.component.id.toString())} - ${capsule.path}`)\n );\n return `${formatSuccessSummary(`${capsules.length} capsule(s) were created`)}\\n${items.join('\\n')}`;\n }\n\n async json([componentIds]: [string[]], opts: CreateOpts) {\n // @ts-ignore\n const capsules = await this.create(componentIds, opts);\n return capsules.map((c) => ({\n id: c.component.id.toString(),\n path: c.path,\n }));\n }\n}\n\nexport class CapsuleListCmd implements Command {\n name = 'list';\n description = `list the capsules generated for this workspace`;\n group = 'advanced';\n alias = '';\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain\n ) {}\n\n async report() {\n if (!this.workspace && !this.scope) {\n throw new Error(`This command requires a Bit workspace or scope.\nTo initialize a workspace: bit init`);\n }\n\n const { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir, scopeCapsulesRootDir } = this.getCapsulesRootDirs();\n const listWs = workspaceCapsulesRootDir ? await this.isolator.list(workspaceCapsulesRootDir) : undefined;\n const listScope = await this.isolator.list(scopeAspectsCapsulesRootDir);\n\n const hostPath = this.workspace ? this.workspace.path : this.scope.path;\n const numOfWsCapsules = listWs ? listWs.capsules.length : listScope.capsules.length;\n const hostType = this.workspace ? 'workspace' : 'scope';\n\n const title = formatTitle(`found ${numOfWsCapsules} capsule(s) for ${hostType}: ${hostPath}`);\n const wsLine = listWs ? formatItem(`workspace capsules root-dir: ${workspaceCapsulesRootDir}`) : undefined;\n const scopeAspectLine = formatItem(`scope's aspects capsules root-dir: ${scopeAspectsCapsulesRootDir}`);\n const scopeLine = formatItem(`scope's capsules root-dir: ${scopeCapsulesRootDir}`);\n const suggestLine = formatHint(`use --json to get the list of all capsules`);\n const lines = [title, wsLine, scopeAspectLine, scopeLine, suggestLine].filter((x) => x).join('\\n');\n\n // TODO: improve output\n return lines;\n }\n\n async json() {\n if (!this.workspace && !this.scope) {\n throw new Error(`This command requires a Bit workspace or scope.\nTo initialize a workspace: bit init`);\n }\n\n const rootDirs = this.getCapsulesRootDirs();\n const listWs = rootDirs.workspaceCapsulesRootDir\n ? await this.isolator.list(rootDirs.workspaceCapsulesRootDir)\n : undefined;\n const listScope = await this.isolator.list(rootDirs.scopeAspectsCapsulesRootDir);\n const capsules = listWs ? listWs.capsules : [];\n const scopeCapsules = listScope ? listScope.capsules : [];\n return { ...rootDirs, capsules, scopeCapsules };\n }\n\n private getCapsulesRootDirs() {\n return getCapsulesRootDirs(this.isolator, this.scope, this.workspace);\n }\n}\n\nexport class CapsuleDeleteCmd implements Command {\n name = 'delete';\n description = `delete capsules`;\n extendedDescription = `with no args, only workspace's capsules are deleted`;\n group = 'advanced';\n alias = '';\n options = [\n ['', 'scope-aspects', 'delete scope-aspects capsules'],\n ['a', 'all', 'delete all capsules for all workspaces and scopes'],\n ] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private scope: ScopeMain,\n private workspace?: Workspace\n ) {}\n\n async report(args: [], { all, scopeAspects }: { all: boolean; scopeAspects: boolean }) {\n const capsuleBaseDirToDelete = (): string | undefined => {\n if (all) return undefined;\n if (scopeAspects) {\n const { scopeAspectsCapsulesRootDir } = getCapsulesRootDirs(this.isolator, this.scope, this.workspace);\n return scopeAspectsCapsulesRootDir;\n }\n return undefined;\n };\n const capsuleBaseDir = capsuleBaseDirToDelete();\n const deletedDir = await this.isolator.deleteCapsules(capsuleBaseDir);\n return formatSuccessSummary(`capsules dir has been deleted: ${chalk.bold(deletedDir)}`);\n }\n}\n\nexport class CapsuleCmd implements Command {\n name = 'capsule';\n description = 'manage isolated component environments';\n extendedDescription = `capsules are temporary isolated directories containing component code and dependencies.\nautomatically created during build processes to compile and test components in isolation.\nensures components work independently before publishing, similar to how they'll be consumed.`;\n alias = '';\n group = 'advanced';\n commands: Command[] = [];\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain\n ) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n return new CapsuleListCmd(this.isolator, this.workspace, this.scope).report();\n }\n}\n\nfunction getCapsulesRootDirs(isolator, scope: ScopeMain, workspace) {\n const workspaceCapsulesRootDir = workspace\n ? isolator.getCapsulesRootDir({\n baseDir: workspace.getCapsulePath(),\n useHash: workspace.shouldUseHashForCapsules(),\n })\n : undefined;\n const scopeAspectsCapsulesRootDir = isolator.getCapsulesRootDir({\n baseDir: scope.getAspectCapsulePath(),\n useHash: scope.shouldUseHashForCapsules(),\n });\n const scopeCapsulesRootDir = workspace\n ? undefined\n : isolator.getCapsulesRootDir({\n baseDir: process.cwd(),\n useHash: true,\n });\n\n return { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir, scopeCapsulesRootDir };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_isolator","_legacy","_chalk","_interopRequireDefault","_fsExtra","_path","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","formatBytes","bytes","units","Math","min","floor","log","toFixed","toFiniteNumber","undefined","n","isFinite","CapsuleCreateCmd","constructor","workspace","scope","isolator","create","componentIds","baseDir","rootBaseDir","alwaysNew","id","installPackages","seedersOnly","useHash","Array","isArray","finalUseHash","shouldUseHashForCapsules","baseInstallOptions","additionalInstallOptions","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","installOptions","capsuleOptions","includeFromNestedHosts","name","host","ids","resolveMultipleComponentIds","network","isolateComponents","capsules","graphCapsules","report","opts","items","map","capsule","formatItem","chalk","bold","component","toString","path","formatSuccessSummary","join","json","c","exports","CapsuleListCmd","configStore","_args","Error","workspaceCapsulesRootDir","scopeAspectsCapsulesRootDir","scopeCapsulesRootDir","getCapsulesRootDirs","listWs","list","listScope","hostPath","numOfWsCapsules","hostType","title","formatTitle","wsLine","scopeAspectLine","scopeLine","summaryLine","suggestLine","withStats","allRoots","listAllCapsuleRoots","withSizes","totalSize","reduce","sum","sizeBytes","orphanChecks","Promise","all","originPath","fs","pathExists","orphanCount","a","b","maxAgeRaw","getConfig","CFG_CAPSULES_MAX_AGE_DAYS","maxAgeDays","max","cutoff","Date","now","staleChecks","kind","countStaleAspectChildren","staleAspectCount","formatHint","lines","x","rootPath","cutoffMs","entries","readdir","withFileTypes","count","entry","isDirectory","startsWith","childPath","markerPath","CAPSULE_ORIGIN_FILE","stat","mtime","getTime","catch","rootDirs","scopeCapsules","totalSizeBytes","CapsuleDeleteCmd","args","scopeAspects","capsuleBaseDirToDelete","capsuleBaseDir","deletedDir","deleteCapsules","CapsulePruneCmd","runPrune","header","dryRun","removed","sizesComputed","totalSizeBeforeBytes","totalRemovedBytes","sizeLine","totalSizeAfterBytes","slice","dim","reason","truncated","Boolean","olderThanFromConfig","sizeTargetFromConfig","CFG_CAPSULES_MAX_SIZE_GB","pruneCapsules","olderThanDays","olderThan","keepWorkspaceCaps","includeOrphans","noOrphans","sizeTargetGb","sizeTarget","CapsuleCmd","getCapsulesRootDir","getCapsulePath","getAspectCapsulePath","process","cwd"],"sources":["capsule.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport { formatItem, formatTitle, formatSuccessSummary, formatHint } from '@teambit/cli';\nimport type { CapsuleList, IsolateComponentsOptions, IsolatorMain, PruneCapsulesReport } from '@teambit/isolator';\nimport { CAPSULE_ORIGIN_FILE } from '@teambit/isolator';\nimport type { ScopeMain } from '@teambit/scope';\nimport type { ConfigStoreMain } from '@teambit/config-store';\nimport { CFG_CAPSULES_MAX_AGE_DAYS, CFG_CAPSULES_MAX_SIZE_GB } from '@teambit/legacy.constants';\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport type { Workspace } from './workspace';\n\nfunction formatBytes(bytes: number): string {\n if (!bytes) return '0 B';\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n return `${(bytes / 1024 ** i).toFixed(i === 0 ? 0 : 1)} ${units[i]}`;\n}\n\n/**\n * Coerce a CLI/config value to a finite number, or undefined if it's missing,\n * empty, or unparseable. Guards against `Number('')` (= 0) and `Number('abc')` (= NaN)\n * silently propagating as bad thresholds and defeating age/size enforcement.\n */\nfunction toFiniteNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n const n = Number(value);\n return Number.isFinite(n) ? n : undefined;\n}\n\ntype CreateOpts = {\n baseDir?: string;\n rootBaseDir?: string;\n alwaysNew?: boolean;\n seedersOnly?: boolean;\n useHash?: boolean;\n id: string;\n installPackages?: boolean;\n};\n\nexport class CapsuleCreateCmd implements Command {\n name = 'create [component-id...]';\n description = `create capsules for components`;\n helpUrl = 'reference/build-pipeline/capsule';\n group = 'advanced';\n alias = '';\n options = [\n [\n 'b',\n 'base-dir <name>',\n 'set base dir of all capsules (hashed to create the base dir inside the root dir - host path by default)',\n ],\n ['r', 'root-base-dir <name>', 'set root base dir of all capsules (absolute path to use as root dir)'],\n ['a', 'always-new', 'create new environment for capsule'],\n ['s', 'seeders-only', 'create capsules for the seeders only (not for the entire graph)'],\n ['i', 'id <name>', 'reuse capsule of certain name'],\n ['', 'use-hash', 'whether to use hash function (of base dir) as capsules root dir name'],\n ['j', 'json', 'json format'],\n ['d', 'install-packages', 'install packages by the package-manager'],\n ['p', 'package-manager <name>', 'npm, yarn or pnpm, default to npm'],\n ] as CommandOptions;\n\n constructor(\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private isolator: IsolatorMain\n ) {}\n\n async create(\n [componentIds = []]: [string[]],\n { baseDir, rootBaseDir, alwaysNew = false, id, installPackages = false, seedersOnly = false, useHash }: CreateOpts\n ): Promise<CapsuleList> {\n // @todo: why it is not an array?\n if (componentIds && !Array.isArray(componentIds)) componentIds = [componentIds];\n let finalUseHash = useHash;\n if (useHash === undefined) {\n if (baseDir) {\n finalUseHash = false;\n } else {\n finalUseHash = this.workspace\n ? this.workspace?.shouldUseHashForCapsules()\n : this.scope.shouldUseHashForCapsules();\n }\n }\n\n const baseInstallOptions = { installPackages };\n const additionalInstallOptions = this.workspace\n ? {}\n : {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n };\n const installOptions = { ...baseInstallOptions, ...additionalInstallOptions };\n\n const capsuleOptions: IsolateComponentsOptions = {\n baseDir,\n rootBaseDir,\n installOptions,\n alwaysNew,\n seedersOnly,\n includeFromNestedHosts: true,\n name: id,\n useHash: finalUseHash,\n };\n const host = this.workspace || this.scope;\n const ids = await host.resolveMultipleComponentIds(componentIds);\n const network = await this.isolator.isolateComponents(ids, capsuleOptions);\n const capsules = network.graphCapsules;\n return capsules;\n }\n\n async report([componentIds]: [string[]], opts: CreateOpts) {\n // @ts-ignore\n const capsules = await this.create(componentIds, opts);\n const items = capsules.map((capsule) =>\n formatItem(`${chalk.bold(capsule.component.id.toString())} - ${capsule.path}`)\n );\n return `${formatSuccessSummary(`${capsules.length} capsule(s) were created`)}\\n${items.join('\\n')}`;\n }\n\n async json([componentIds]: [string[]], opts: CreateOpts) {\n // @ts-ignore\n const capsules = await this.create(componentIds, opts);\n return capsules.map((c) => ({\n id: c.component.id.toString(),\n path: c.path,\n }));\n }\n}\n\nexport class CapsuleListCmd implements Command {\n name = 'list';\n description = `list the capsules generated for this workspace`;\n group = 'advanced';\n alias = '';\n options = [\n ['j', 'json', 'json format'],\n ['', 'with-stats', 'include total cache size, orphan count, and stale aspect-version count (walks the full cache)'],\n ] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private configStore: ConfigStoreMain\n ) {}\n\n async report(_args: [], opts: { withStats?: boolean } = {}) {\n if (!this.workspace && !this.scope) {\n throw new Error(`This command requires a Bit workspace or scope.\nTo initialize a workspace: bit init`);\n }\n\n const { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir, scopeCapsulesRootDir } = this.getCapsulesRootDirs();\n const listWs = workspaceCapsulesRootDir ? await this.isolator.list(workspaceCapsulesRootDir) : undefined;\n const listScope = await this.isolator.list(scopeAspectsCapsulesRootDir);\n\n const hostPath = this.workspace ? this.workspace.path : this.scope.path;\n const numOfWsCapsules = listWs ? listWs.capsules.length : listScope.capsules.length;\n const hostType = this.workspace ? 'workspace' : 'scope';\n\n const title = formatTitle(`found ${numOfWsCapsules} capsule(s) for ${hostType}: ${hostPath}`);\n const wsLine = listWs ? formatItem(`workspace capsules root-dir: ${workspaceCapsulesRootDir}`) : undefined;\n const scopeAspectLine = formatItem(`scope's aspects capsules root-dir: ${scopeAspectsCapsulesRootDir}`);\n const scopeLine = scopeCapsulesRootDir\n ? formatItem(`scope's capsules root-dir: ${scopeCapsulesRootDir}`)\n : undefined;\n\n let summaryLine: string | undefined;\n let suggestLine: string;\n if (opts.withStats) {\n const allRoots = await this.isolator.listAllCapsuleRoots({ withSizes: true });\n const totalSize = allRoots.reduce((sum, r) => sum + r.sizeBytes, 0);\n const orphanChecks = await Promise.all(\n allRoots\n .filter((r) => r.originPath)\n .map(async (r): Promise<number> => ((await fs.pathExists(r.originPath as string)) ? 0 : 1))\n );\n const orphanCount = orphanChecks.reduce((a: number, b: number) => a + b, 0);\n const maxAgeRaw = this.configStore.getConfig(CFG_CAPSULES_MAX_AGE_DAYS);\n const maxAgeDays = Math.max(0, toFiniteNumber(maxAgeRaw) ?? 30);\n const cutoff = Date.now() - maxAgeDays * 24 * 60 * 60 * 1000;\n const staleChecks = await Promise.all(\n allRoots\n .filter((r) => r.kind === 'scope-aspects-root')\n .map((r): Promise<number> => this.countStaleAspectChildren(r.path, cutoff))\n );\n const staleAspectCount = staleChecks.reduce((a: number, b: number) => a + b, 0);\n summaryLine = formatItem(\n `cache total: ${chalk.bold(formatBytes(totalSize))} across ${allRoots.length} subdir(s) — ` +\n `${orphanCount} orphan(s), ${staleAspectCount} stale aspect-version(s) (>${maxAgeDays}d)`\n );\n suggestLine = formatHint(`use --json to get the list of all capsules`);\n } else {\n suggestLine = formatHint(`use --json to get the list of all capsules, or --with-stats for size/orphan summary`);\n }\n const lines = [title, wsLine, scopeAspectLine, scopeLine, summaryLine, suggestLine].filter((x) => x).join('\\n');\n\n return lines;\n }\n\n private async countStaleAspectChildren(rootPath: string, cutoffMs: number): Promise<number> {\n try {\n const entries = await fs.readdir(rootPath, { withFileTypes: true });\n let count = 0;\n for (const entry of entries) {\n if (!entry.isDirectory() || entry.name === 'node_modules' || entry.name.startsWith('.')) continue;\n const childPath = path.join(rootPath, entry.name);\n const markerPath = path.join(childPath, CAPSULE_ORIGIN_FILE);\n try {\n const stat = await fs.stat(markerPath);\n if (stat.mtime.getTime() < cutoffMs) count += 1;\n } catch {\n const stat = await fs.stat(childPath).catch(() => undefined);\n if (stat && stat.mtime.getTime() < cutoffMs) count += 1;\n }\n }\n return count;\n } catch {\n return 0;\n }\n }\n\n async json(_args: [], opts: { withStats?: boolean } = {}) {\n if (!this.workspace && !this.scope) {\n throw new Error(`This command requires a Bit workspace or scope.\nTo initialize a workspace: bit init`);\n }\n\n const rootDirs = this.getCapsulesRootDirs();\n const listWs = rootDirs.workspaceCapsulesRootDir\n ? await this.isolator.list(rootDirs.workspaceCapsulesRootDir)\n : undefined;\n const listScope = await this.isolator.list(rootDirs.scopeAspectsCapsulesRootDir);\n const capsules = listWs ? listWs.capsules : [];\n const scopeCapsules = listScope ? listScope.capsules : [];\n // `--with-stats` is opt-in because computing it walks the full cache. Without it,\n // omit the stats fields entirely rather than returning misleading zeros.\n if (!opts.withStats) {\n return { ...rootDirs, capsules, scopeCapsules };\n }\n const allRoots = await this.isolator.listAllCapsuleRoots({ withSizes: true });\n const totalSizeBytes = allRoots.reduce((sum, r) => sum + r.sizeBytes, 0);\n return { ...rootDirs, capsules, scopeCapsules, totalSizeBytes, allRoots };\n }\n\n private getCapsulesRootDirs() {\n return getCapsulesRootDirs(this.isolator, this.scope, this.workspace);\n }\n}\n\nexport class CapsuleDeleteCmd implements Command {\n name = 'delete';\n description = `delete capsules`;\n extendedDescription = `with no args, only workspace's capsules are deleted`;\n group = 'advanced';\n alias = '';\n options = [\n ['', 'scope-aspects', 'delete scope-aspects capsules'],\n ['a', 'all', 'delete all capsules for all workspaces and scopes'],\n ] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private scope: ScopeMain,\n private workspace?: Workspace\n ) {}\n\n async report(args: [], { all, scopeAspects }: { all: boolean; scopeAspects: boolean }) {\n const capsuleBaseDirToDelete = (): string | undefined => {\n if (all) return undefined;\n if (scopeAspects) {\n const { scopeAspectsCapsulesRootDir } = getCapsulesRootDirs(this.isolator, this.scope, this.workspace);\n return scopeAspectsCapsulesRootDir;\n }\n return undefined;\n };\n const capsuleBaseDir = capsuleBaseDirToDelete();\n const deletedDir = await this.isolator.deleteCapsules(capsuleBaseDir);\n return formatSuccessSummary(`capsules dir has been deleted: ${chalk.bold(deletedDir)}`);\n }\n}\n\ntype PruneOpts = {\n olderThan?: number;\n keepWorkspaceCaps?: boolean;\n noOrphans?: boolean;\n sizeTarget?: number;\n dryRun?: boolean;\n withSizes?: boolean;\n json?: boolean;\n};\n\nexport class CapsulePruneCmd implements Command {\n name = 'prune';\n description = 'evict stale capsules from the global cache';\n extendedDescription = `workspace capsules are deleted unconditionally; aspect-version and scope capsules are deleted when their last-used marker is older than --older-than (default 30 days).\nuse --dry-run first to preview what would be removed.`;\n group = 'advanced';\n alias = '';\n options = [\n ['', 'older-than <days>', 'age threshold in days for aspect-version/scope capsule pruning (default 30)'],\n ['', 'keep-workspace-caps', 'skip workspace capsule deletion'],\n ['', 'no-orphans', \"don't delete capsules whose origin path no longer exists\"],\n [\n '',\n 'size-target <gb>',\n 'after standard pruning, LRU-evict aspect-versions until total drops below this size (forces --with-sizes)',\n ],\n ['', 'dry-run', 'preview what would be removed without deleting'],\n [\n '',\n 'with-sizes',\n 'compute byte sizes for the report (walks the full cache; slow on large caches). default: off — sizes shown as 0 but the prune itself is instant.',\n ],\n ['j', 'json', 'json format'],\n ] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private configStore: ConfigStoreMain\n ) {}\n\n async report(_args: [], opts: PruneOpts) {\n const report = await this.runPrune(opts);\n const header = report.dryRun\n ? formatTitle(`[dry-run] would remove ${report.removed.length} capsule(s)`)\n : formatSuccessSummary(`removed ${report.removed.length} capsule(s)`);\n // Only show the byte summary when sizes were actually computed; otherwise it'd say\n // \"0 B → 0 B (freed 0 B)\" which is misleading.\n const sizesComputed = report.totalSizeBeforeBytes > 0 || report.totalRemovedBytes > 0;\n const sizeLine = sizesComputed\n ? formatItem(\n `cache: ${formatBytes(report.totalSizeBeforeBytes)} → ${formatBytes(report.totalSizeAfterBytes)} ` +\n `(freed ${formatBytes(report.totalRemovedBytes)})`\n )\n : formatHint(`re-run with --with-sizes to see byte totals (walks the full cache)`);\n const items = report.removed\n .slice(0, 50)\n .map((r) =>\n formatItem(\n `${chalk.dim(`[${r.kind} · ${r.reason}]`)} ${r.path}` +\n (r.originPath ? ` ${chalk.dim(`← ${r.originPath}`)}` : '') +\n ` ${chalk.dim(`(${formatBytes(r.sizeBytes)})`)}`\n )\n );\n const truncated =\n report.removed.length > 50\n ? formatHint(`...and ${report.removed.length - 50} more (use --json to see the full list)`)\n : undefined;\n return [header, sizeLine, ...items, truncated].filter(Boolean).join('\\n');\n }\n\n async json(_args: [], opts: PruneOpts) {\n return this.runPrune(opts);\n }\n\n private async runPrune(opts: PruneOpts): Promise<PruneCapsulesReport> {\n // CLI flags win; otherwise fall back to user config so manual and auto-prune\n // behave consistently. Final fallback to defaults happens in `pruneCapsules`.\n const olderThanFromConfig = this.configStore.getConfig(CFG_CAPSULES_MAX_AGE_DAYS);\n const sizeTargetFromConfig = this.configStore.getConfig(CFG_CAPSULES_MAX_SIZE_GB);\n return this.isolator.pruneCapsules({\n olderThanDays: toFiniteNumber(opts.olderThan) ?? toFiniteNumber(olderThanFromConfig),\n keepWorkspaceCaps: opts.keepWorkspaceCaps === true,\n includeOrphans: opts.noOrphans !== true,\n sizeTargetGb: toFiniteNumber(opts.sizeTarget) ?? toFiniteNumber(sizeTargetFromConfig),\n dryRun: opts.dryRun === true,\n withSizes: opts.withSizes === true,\n });\n }\n}\n\nexport class CapsuleCmd implements Command {\n name = 'capsule';\n description = 'manage isolated component environments';\n extendedDescription = `capsules are temporary isolated directories containing component code and dependencies.\nautomatically created during build processes to compile and test components in isolation.\nensures components work independently before publishing, similar to how they'll be consumed.`;\n alias = '';\n group = 'advanced';\n commands: Command[] = [];\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(\n private isolator: IsolatorMain,\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private configStore: ConfigStoreMain\n ) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n return new CapsuleListCmd(this.isolator, this.workspace, this.scope, this.configStore).report([], {});\n }\n}\n\nfunction getCapsulesRootDirs(isolator, scope: ScopeMain, workspace) {\n const workspaceCapsulesRootDir = workspace\n ? isolator.getCapsulesRootDir({\n baseDir: workspace.getCapsulePath(),\n useHash: workspace.shouldUseHashForCapsules(),\n })\n : undefined;\n const scopeAspectsCapsulesRootDir = isolator.getCapsulesRootDir({\n baseDir: scope.getAspectCapsulePath(),\n useHash: scope.shouldUseHashForCapsules(),\n });\n const scopeCapsulesRootDir = workspace\n ? undefined\n : isolator.getCapsulesRootDir({\n baseDir: process.cwd(),\n useHash: true,\n });\n\n return { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir, scopeCapsulesRootDir };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { ComponentTreeNode, ComponentTreeNodeProps } from '@teambit/component-tree';
|
|
2
3
|
export declare class ComponentTreeWidget implements ComponentTreeNode {
|
|
3
|
-
widget: ({ component }: ComponentTreeNodeProps) =>
|
|
4
|
+
widget: ({ component }: ComponentTreeNodeProps) => React.JSX.Element;
|
|
4
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1004/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1004/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { MenuProps } from '@teambit/ui-foundation.ui.menu';
|
|
2
|
-
export declare const WorkspaceMenu: ({ menuSlot, widgetSlot, menuItemSlot, className }: MenuProps) =>
|
|
3
|
+
export declare const WorkspaceMenu: ({ menuSlot, widgetSlot, menuItemSlot, className }: MenuProps) => React.JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function ChangedPill(): React.JSX.Element;
|
|
3
|
+
export declare function BuildSpinner(): React.JSX.Element;
|
|
4
|
+
export declare function BuildingPreview(): React.JSX.Element;
|
|
5
|
+
export declare function QueuedPreview(): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { ComponentModel } from '@teambit/component';
|
|
2
3
|
import type { ComponentDescriptor } from '@teambit/component-descriptor';
|
|
3
4
|
import type { ScopeID } from '@teambit/scopes.scope-id';
|
|
@@ -11,4 +12,4 @@ export type HopeComponentCardProps = {
|
|
|
11
12
|
};
|
|
12
13
|
showPreview?: boolean;
|
|
13
14
|
};
|
|
14
|
-
export declare function HopeComponentCard({ component, componentDescriptor, scope, showPreview: showPreviewProp, }: HopeComponentCardProps):
|
|
15
|
+
export declare function HopeComponentCard({ component, componentDescriptor, scope, showPreview: showPreviewProp, }: HopeComponentCardProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { WorkspaceItem } from './workspace-overview.types';
|
|
2
3
|
export interface NamespaceHeaderProps {
|
|
3
4
|
namespace: string;
|
|
@@ -5,4 +6,4 @@ export interface NamespaceHeaderProps {
|
|
|
5
6
|
scopeIcon?: string;
|
|
6
7
|
scopeIconColor?: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function NamespaceHeader({ namespace, items, scopeIcon, scopeIconColor }: NamespaceHeaderProps):
|
|
9
|
+
export declare function NamespaceHeader({ namespace, items, scopeIcon, scopeIconColor }: NamespaceHeaderProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { WorkspaceItem, AggregationType } from './workspace-overview.types';
|
|
2
3
|
export interface WorkspaceFilterPanelProps {
|
|
3
4
|
aggregation: AggregationType;
|
|
@@ -9,4 +10,4 @@ export interface WorkspaceFilterPanelProps {
|
|
|
9
10
|
activeScopes: string[];
|
|
10
11
|
onScopesChange: (scopes: string[]) => void;
|
|
11
12
|
}
|
|
12
|
-
export declare function WorkspaceFilterPanel({ aggregation, onAggregationChange, availableAggregations, items, activeNamespaces, onNamespacesChange, activeScopes, onScopesChange, }: WorkspaceFilterPanelProps):
|
|
13
|
+
export declare function WorkspaceFilterPanel({ aggregation, onAggregationChange, availableAggregations, items, activeNamespaces, onNamespacesChange, activeScopes, onScopesChange, }: WorkspaceFilterPanelProps): React.JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function WorkspaceOverview(): React.JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import type { Workspace } from './workspace-model';
|
|
3
4
|
export type WorkspaceProviderProps = {
|
|
4
5
|
/**
|
|
@@ -13,4 +14,4 @@ export type WorkspaceProviderProps = {
|
|
|
13
14
|
/**
|
|
14
15
|
* context provider of the workspace
|
|
15
16
|
*/
|
|
16
|
-
export declare function WorkspaceProvider({ workspace, children }: WorkspaceProviderProps):
|
|
17
|
+
export declare function WorkspaceProvider({ workspace, children }: WorkspaceProviderProps): React.JSX.Element;
|
|
@@ -12,5 +12,5 @@ export type WorkspaceProps = {
|
|
|
12
12
|
/**
|
|
13
13
|
* main workspace component.
|
|
14
14
|
*/
|
|
15
|
-
export declare function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebarTogglerChange }: WorkspaceProps):
|
|
15
|
+
export declare function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebarTogglerChange }: WorkspaceProps): React.JSX.Element;
|
|
16
16
|
export declare function MinimalModeUrlBroadcasterAndListener(): null;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const Logo: () => React.JSX.Element;
|
|
@@ -263,7 +263,7 @@ class WorkspaceMain {
|
|
|
263
263
|
const bitConfig = harmony.config.get('teambit.harmony/bit');
|
|
264
264
|
const consumer = await getConsumer(bitConfig.cwd);
|
|
265
265
|
if (!consumer) {
|
|
266
|
-
const capsuleCmd = getCapsulesCommands(isolator, scope, undefined);
|
|
266
|
+
const capsuleCmd = getCapsulesCommands(isolator, scope, configStore, undefined);
|
|
267
267
|
cli.register(capsuleCmd);
|
|
268
268
|
return undefined;
|
|
269
269
|
}
|
|
@@ -336,7 +336,7 @@ class WorkspaceMain {
|
|
|
336
336
|
return workspace.setComponentPathsRegExps();
|
|
337
337
|
});
|
|
338
338
|
graphql.register(() => (0, _workspace3().default)(workspace, graphql));
|
|
339
|
-
const capsuleCmd = getCapsulesCommands(isolator, scope, workspace);
|
|
339
|
+
const capsuleCmd = getCapsulesCommands(isolator, scope, configStore, workspace);
|
|
340
340
|
const commands = [new (_ejectConf().default)(workspace), capsuleCmd, new (_use().UseCmd)(workspace), new (_unuse().UnuseCmd)(workspace)];
|
|
341
341
|
commands.push(new (_pattern().PatternCommand)(workspace));
|
|
342
342
|
const localOnlyCmd = new (_localOnlyCmd().LocalOnlyCmd)();
|
|
@@ -394,9 +394,9 @@ _defineProperty(WorkspaceMain, "runtime", _cli().MainRuntime);
|
|
|
394
394
|
_defineProperty(WorkspaceMain, "dependencies", [_cli().CLIAspect, _scope().ScopeAspect, _component().ComponentAspect, _isolator().IsolatorAspect, _dependencyResolver().DependencyResolverAspect, _variants().VariantsAspect, _logger().LoggerAspect, _graphql().GraphqlAspect, _ui().UIAspect, _bundler().BundlerAspect, _aspectLoader().AspectLoaderAspect, _envs().EnvsAspect, _globalConfig().GlobalConfigAspect, _configStore().ConfigStoreAspect]);
|
|
395
395
|
_defineProperty(WorkspaceMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
396
396
|
_defineProperty(WorkspaceMain, "defineRuntime", 'browser');
|
|
397
|
-
function getCapsulesCommands(isolator, scope, workspace) {
|
|
398
|
-
const capsuleCmd = new (_capsule().CapsuleCmd)(isolator, workspace, scope);
|
|
399
|
-
capsuleCmd.commands = [new (_capsule().CapsuleListCmd)(isolator, workspace, scope), new (_capsule().CapsuleCreateCmd)(workspace, scope, isolator), new (_capsule().CapsuleDeleteCmd)(isolator, scope, workspace)];
|
|
397
|
+
function getCapsulesCommands(isolator, scope, configStore, workspace) {
|
|
398
|
+
const capsuleCmd = new (_capsule().CapsuleCmd)(isolator, workspace, scope, configStore);
|
|
399
|
+
capsuleCmd.commands = [new (_capsule().CapsuleListCmd)(isolator, workspace, scope, configStore), new (_capsule().CapsuleCreateCmd)(workspace, scope, isolator), new (_capsule().CapsuleDeleteCmd)(isolator, scope, workspace), new (_capsule().CapsulePruneCmd)(isolator, configStore)];
|
|
400
400
|
return capsuleCmd;
|
|
401
401
|
}
|
|
402
402
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_aspectLoader","data","require","_bundler","_cli","_component","_envs","_graphql","_harmony","_isolator","_logger","_scope","_ui","_variants","_globalConfig","_dependencyResolver","_legacy","_legacy2","_legacy3","_constants","_workspace","_ejectConf","_interopRequireDefault","_workspace2","_workspace3","_workspace4","_capsule","_envsSet","_envsUnset","_pattern","_envsReplace","_scopeSet","_scopeTrust","_use","_envsUpdate","_unuse","_localOnlyCmd","_configStore","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WorkspaceMain","provider","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","globalConfig","configStore","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onAspectsResolveSlot","onRootAspectAddedSlot","onBitmapChangeSlot","onWorkspaceConfigChangeSlot","harmony","currentCmd","process","argv","undefined","bitConfig","get","consumer","getConsumer","cwd","capsuleCmd","getCapsulesCommands","register","logger","createLogger","EXT_NAME","workspace","Workspace","addStore","getConfigStore","configMergeFile","getConflictMergeFile","loadIfNeeded","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","getWorkspacePolicyFromMergeConfig","wsConfigMerge","getWorkspaceJsonConflictFromMergeConfig","policy","DependencyResolverAspect","id","forEach","depField","reduce","acc","current","name","version","wsPolicy","getWorkspacePolicyFromConfigObject","getRootPolicy","pkgJsonPolicy","configMergePolicy","mergeWorkspacePolices","registerRootPolicy","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","originatedFromHarmony","newComponent","state","_consumer","ConsumerComponent","registerOnComponentConfigLoading","loadOpts","componentId","resolveComponentId","componentFromScope","extensions","componentExtensions","defaultScope","extensionsWithLegacyIdsP","map","extension","extensionId","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","registerUiRoot","WorkspaceUIRoot","registerPreStart","setComponentPathsRegExps","getWorkspaceSchema","commands","EjectConfCmd","UseCmd","UnuseCmd","PatternCommand","localOnlyCmd","LocalOnlyCmd","LocalOnlySetCmd","LocalOnlyUnsetCmd","LocalOnlyListCmd","registerHost","registerOnStart","_hasWorkspace","currentCommand","commandObject","hasSafeModeFlag","includes","loadAspects","inInstallContext","importCurrentLaneIfMissing","reconcileBitmapWithScopeIfNeeded","profile","loadAspectsOpts","runSubscribers","skipDeps","autoLoadAspectsDeps","aspects","getNotLoadedConfiguredExtensions","componentIds","resolveMultipleComponentIds","clearComponentCache","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","EnvsUpdateCmd","registerEnvJsoncResolver","resolveEnvManifest","bind","scopeCommand","ScopeSetCmd","scopeTrust","ScopeTrust","setAspectLoadGuard","createGuard","ScopeTrustCmd","exports","MainRuntime","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","GlobalConfigAspect","ConfigStoreAspect","Slot","withType","CapsuleCmd","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","path","loadConsumerIfExist","WorkspaceAspect","addRuntime","_default"],"sources":["workspace.main.runtime.ts"],"sourcesContent":["import { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport type { BundlerMain } from '@teambit/bundler';\nimport { BundlerAspect } from '@teambit/bundler';\nimport type { CLIMain, CommandList, Command } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { ComponentAspect } from '@teambit/component';\nimport type { EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { IsolatorMain } from '@teambit/isolator';\nimport { IsolatorAspect } from '@teambit/isolator';\nimport type { LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { UiMain } from '@teambit/ui';\nimport { UIAspect } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\nimport type { GlobalConfigMain } from '@teambit/global-config';\nimport { GlobalConfigAspect } from '@teambit/global-config';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport type { VariantsMain } from '@teambit/variants';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport type { ComponentConfigLoadOptions } from '@teambit/legacy.consumer-config';\nimport { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport type { ComponentLoadOptions } from '@teambit/legacy.consumer-component';\nimport { ComponentLoader as LegacyComponentLoader, ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport type { ComponentID } from '@teambit/component-id';\nimport { EXT_NAME } from './constants';\nimport type { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport EjectConfCmd from './eject-conf.cmd';\nimport type { WorkspaceExtConfig } from './types';\nimport { Workspace } from './workspace';\nimport getWorkspaceSchema from './workspace.graphql';\nimport { WorkspaceUIRoot } from './workspace.ui-root';\nimport { CapsuleCmd, CapsuleCreateCmd, CapsuleDeleteCmd, CapsuleListCmd } from './capsule.cmd';\nimport { EnvsSetCmd } from './envs-subcommands/envs-set.cmd';\nimport { EnvsUnsetCmd } from './envs-subcommands/envs-unset.cmd';\nimport { PatternCommand } from './pattern.cmd';\nimport { EnvsReplaceCmd } from './envs-subcommands/envs-replace.cmd';\nimport { ScopeSetCmd } from './scope-subcommands/scope-set.cmd';\nimport { ScopeTrust, ScopeTrustCmd } from './scope-trust';\nimport { UseCmd } from './use.cmd';\nimport { EnvsUpdateCmd } from './envs-subcommands/envs-update.cmd';\nimport { UnuseCmd } from './unuse.cmd';\nimport { LocalOnlyCmd, LocalOnlyListCmd, LocalOnlySetCmd, LocalOnlyUnsetCmd } from './commands/local-only-cmd';\nimport type { ConfigStoreMain } from '@teambit/config-store';\nimport { ConfigStoreAspect } from '@teambit/config-store';\n\nexport type WorkspaceDeps = [\n CLIMain,\n ScopeMain,\n ComponentMain,\n IsolatorMain,\n DependencyResolverMain,\n VariantsMain,\n LoggerMain,\n GraphqlMain,\n UiMain,\n BundlerMain,\n AspectLoaderMain,\n EnvsMain,\n GlobalConfigMain,\n ConfigStoreMain,\n];\n\nexport type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;\n\nexport type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;\n\nexport type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;\n\nexport type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;\n\nexport type OnBitmapChange = () => Promise<void>;\nexport type OnBitmapChangeSlot = SlotRegistry<OnBitmapChange>;\n\nexport type OnWorkspaceConfigChange = () => Promise<void>;\nexport type OnWorkspaceConfigChangeSlot = SlotRegistry<OnWorkspaceConfigChange>;\n\nexport type OnAspectsResolve = (aspectsComponents: Component[]) => Promise<void>;\nexport type OnAspectsResolveSlot = SlotRegistry<OnAspectsResolve>;\n\nexport type OnRootAspectAdded = (aspectsId: ComponentID, inWs: boolean) => Promise<void>;\nexport type OnRootAspectAddedSlot = SlotRegistry<OnRootAspectAdded>;\n\nexport class WorkspaceMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n ComponentAspect,\n IsolatorAspect,\n DependencyResolverAspect,\n VariantsAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n BundlerAspect,\n AspectLoaderAspect,\n EnvsAspect,\n GlobalConfigAspect,\n ConfigStoreAspect,\n ];\n static slots = [\n Slot.withType<OnComponentLoad>(),\n Slot.withType<OnComponentChange>(),\n Slot.withType<OnComponentAdd>(),\n Slot.withType<OnComponentRemove>(),\n Slot.withType<OnAspectsResolve>(),\n Slot.withType<OnRootAspectAdded>(),\n Slot.withType<OnBitmapChange>(),\n Slot.withType<OnWorkspaceConfigChange>(),\n ];\n static async provider(\n [\n cli,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n loggerExt,\n graphql,\n ui,\n bundler,\n aspectLoader,\n envs,\n globalConfig,\n configStore,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnAspectsResolveSlot,\n OnRootAspectAddedSlot,\n OnBitmapChangeSlot,\n OnWorkspaceConfigChangeSlot,\n ],\n harmony: Harmony\n ) {\n const currentCmd = process.argv[2];\n if (currentCmd === 'init') {\n // avoid loading the consumer/workspace for \"bit init\". otherwise, \"bit init --reset\" can't fix corrupted .bitmap\n return undefined;\n }\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const consumer = await getConsumer(bitConfig.cwd);\n if (!consumer) {\n const capsuleCmd = getCapsulesCommands(isolator, scope, undefined);\n cli.register(capsuleCmd);\n return undefined;\n }\n // TODO: get the 'workspace' name in a better way\n const logger = loggerExt.createLogger(EXT_NAME);\n const workspace = new Workspace(\n config,\n consumer,\n scope,\n component,\n dependencyResolver,\n variants,\n aspectLoader,\n logger,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n globalConfig,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n graphql,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot,\n configStore\n );\n\n configStore.addStore('workspace', workspace.getConfigStore());\n\n const configMergeFile = workspace.getConflictMergeFile();\n await configMergeFile.loadIfNeeded();\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n /**\n * @deprecated\n * see workspace.getWorkspaceJsonConflictFromMergeConfig\n */\n const getWorkspacePolicyFromMergeConfig = () => {\n const wsConfigMerge = workspace.getWorkspaceJsonConflictFromMergeConfig();\n const policy = wsConfigMerge.data?.[DependencyResolverAspect.id]?.policy || {};\n ['dependencies', 'peerDependencies'].forEach((depField) => {\n if (!policy[depField]) return;\n policy[depField] = policy[depField].reduce((acc, current) => {\n acc[current.name] = current.version;\n return acc;\n }, {});\n });\n const wsPolicy = dependencyResolver.getWorkspacePolicyFromConfigObject(policy);\n return wsPolicy;\n };\n\n const getRootPolicy = () => {\n const pkgJsonPolicy = getWorkspacePolicyFromPackageJson();\n const configMergePolicy = getWorkspacePolicyFromMergeConfig();\n return dependencyResolver.mergeWorkspacePolices([pkgJsonPolicy, configMergePolicy]);\n };\n\n dependencyResolver.registerRootPolicy(getRootPolicy());\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: ComponentLoadOptions) => {\n if (opts?.originatedFromHarmony) return legacyComponent;\n const id = legacyComponent.id;\n const newComponent = await workspace.get(id, legacyComponent, true, true, opts);\n return newComponent.state._consumer;\n }\n );\n\n ConsumerComponent.registerOnComponentConfigLoading(EXT_NAME, async (id, loadOpts: ComponentConfigLoadOptions) => {\n const componentId = await workspace.resolveComponentId(id);\n // We call here directly workspace.scope.get instead of workspace.get because part of the workspace get is loading consumer component\n // which in turn run this event, which will make an infinite loop\n // This component from scope here are only used for merging the extensions with the workspace components\n const componentFromScope = await workspace.scope.get(componentId);\n const { extensions } = await workspace.componentExtensions(componentId, componentFromScope, undefined, loadOpts);\n const defaultScope = componentId.scope;\n\n const extensionsWithLegacyIdsP = extensions.map(async (extension) => {\n if (extension.extensionId) {\n extension.newExtensionId = extension.extensionId;\n }\n\n return extension;\n });\n const extensionsWithLegacyIds = await Promise.all(extensionsWithLegacyIdsP);\n\n return {\n defaultScope,\n extensions: ExtensionDataList.fromArray(extensionsWithLegacyIds),\n };\n });\n\n ui.registerUiRoot(new WorkspaceUIRoot(workspace, bundler));\n ui.registerPreStart(async () => {\n return workspace.setComponentPathsRegExps();\n });\n graphql.register(() => getWorkspaceSchema(workspace, graphql));\n const capsuleCmd = getCapsulesCommands(isolator, scope, workspace);\n const commands: CommandList = [\n new EjectConfCmd(workspace),\n capsuleCmd,\n new UseCmd(workspace),\n new UnuseCmd(workspace),\n ];\n\n commands.push(new PatternCommand(workspace));\n const localOnlyCmd = new LocalOnlyCmd();\n localOnlyCmd.commands = [\n new LocalOnlySetCmd(workspace),\n new LocalOnlyUnsetCmd(workspace),\n new LocalOnlyListCmd(workspace),\n ];\n commands.push(localOnlyCmd);\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async (_hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => {\n const hasSafeModeFlag = process.argv.includes('--safe-mode');\n if (hasSafeModeFlag || (commandObject && !commandObject.loadAspects)) {\n return;\n }\n if (currentCommand === 'install') {\n workspace.inInstallContext = true;\n }\n await workspace.importCurrentLaneIfMissing();\n await workspace.reconcileBitmapWithScopeIfNeeded();\n logger.profile('workspace.registerOnStart');\n const loadAspectsOpts = {\n runSubscribers: false,\n skipDeps: !config.autoLoadAspectsDeps,\n };\n const aspects = await workspace.loadAspects(\n aspectLoader.getNotLoadedConfiguredExtensions(),\n undefined,\n 'teambit.workspace/workspace (cli.registerOnStart)',\n loadAspectsOpts\n );\n // clear aspect cache.\n const componentIds = await workspace.resolveMultipleComponentIds(aspects);\n componentIds.forEach((id) => {\n workspace.clearComponentCache(id);\n });\n logger.profile('workspace.registerOnStart');\n });\n\n // add sub-commands \"set\" and \"unset\" to envs command.\n const envsCommand = cli.getCommand('envs');\n envsCommand?.commands?.push(new EnvsSetCmd(workspace)); // bit envs set\n envsCommand?.commands?.push(new EnvsUnsetCmd(workspace)); // bit envs unset\n envsCommand?.commands?.push(new EnvsReplaceCmd(workspace)); // bit envs replace\n envsCommand?.commands?.push(new EnvsUpdateCmd(workspace)); // bit envs replace\n\n envs.registerEnvJsoncResolver(workspace.resolveEnvManifest.bind(workspace));\n\n // add sub-command \"set\" to scope command.\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeSetCmd(workspace));\n\n // Workspace scope-trust: aspect-load hook wired into ScopeMain, plus the\n // bit scope trust subcommand. Opt-in via workspace.jsonc.\n const scopeTrust = new ScopeTrust(workspace, logger);\n scope.setAspectLoadGuard(scopeTrust.createGuard());\n scopeCommand?.commands?.push(new ScopeTrustCmd(scopeTrust));\n\n return workspace;\n }\n static defineRuntime = 'browser';\n}\n\nfunction getCapsulesCommands(isolator: IsolatorMain, scope: ScopeMain, workspace?: Workspace) {\n const capsuleCmd = new CapsuleCmd(isolator, workspace, scope);\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace, scope),\n new CapsuleCreateCmd(workspace, scope, isolator),\n new CapsuleDeleteCmd(isolator, scope, workspace),\n ];\n return capsuleCmd;\n}\n\n/**\n * don't use loadConsumer() here, which throws ConsumerNotFound because some commands don't require\n * the consumer to be available. such as, `bit init` or `bit list --remote`.\n * most of the commands do need the consumer. the legacy commands that need the consumer throw an\n * error when is missing. in the new/Harmony commands, such as `bis compile`, the workspace object\n * is passed to the provider, so before using it, make sure it exists.\n * keep in mind that you can't verify it in the provider itself, because the provider is running\n * always for all commands before anything else is happening.\n */\nasync function getConsumer(path?: string): Promise<Consumer | undefined> {\n return loadConsumerIfExist(path);\n}\n\nWorkspaceAspect.addRuntime(WorkspaceMain);\n\nexport default WorkspaceMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_aspectLoader","data","require","_bundler","_cli","_component","_envs","_graphql","_harmony","_isolator","_logger","_scope","_ui","_variants","_globalConfig","_dependencyResolver","_legacy","_legacy2","_legacy3","_constants","_workspace","_ejectConf","_interopRequireDefault","_workspace2","_workspace3","_workspace4","_capsule","_envsSet","_envsUnset","_pattern","_envsReplace","_scopeSet","_scopeTrust","_use","_envsUpdate","_unuse","_localOnlyCmd","_configStore","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WorkspaceMain","provider","cli","scope","component","isolator","dependencyResolver","variants","loggerExt","graphql","ui","bundler","aspectLoader","envs","globalConfig","configStore","config","onComponentLoadSlot","onComponentChangeSlot","onComponentAddSlot","onComponentRemoveSlot","onAspectsResolveSlot","onRootAspectAddedSlot","onBitmapChangeSlot","onWorkspaceConfigChangeSlot","harmony","currentCmd","process","argv","undefined","bitConfig","get","consumer","getConsumer","cwd","capsuleCmd","getCapsulesCommands","register","logger","createLogger","EXT_NAME","workspace","Workspace","addStore","getConfigStore","configMergeFile","getConflictMergeFile","loadIfNeeded","getWorkspacePolicyFromPackageJson","packageJson","packageJsonObject","policyFromPackageJson","getWorkspacePolicyFromMergeConfig","wsConfigMerge","getWorkspaceJsonConflictFromMergeConfig","policy","DependencyResolverAspect","id","forEach","depField","reduce","acc","current","name","version","wsPolicy","getWorkspacePolicyFromConfigObject","getRootPolicy","pkgJsonPolicy","configMergePolicy","mergeWorkspacePolices","registerRootPolicy","onCacheClear","push","clearCache","LegacyComponentLoader","registerOnComponentLoadSubscriber","legacyComponent","opts","originatedFromHarmony","newComponent","state","_consumer","ConsumerComponent","registerOnComponentConfigLoading","loadOpts","componentId","resolveComponentId","componentFromScope","extensions","componentExtensions","defaultScope","extensionsWithLegacyIdsP","map","extension","extensionId","newExtensionId","extensionsWithLegacyIds","Promise","all","ExtensionDataList","fromArray","registerUiRoot","WorkspaceUIRoot","registerPreStart","setComponentPathsRegExps","getWorkspaceSchema","commands","EjectConfCmd","UseCmd","UnuseCmd","PatternCommand","localOnlyCmd","LocalOnlyCmd","LocalOnlySetCmd","LocalOnlyUnsetCmd","LocalOnlyListCmd","registerHost","registerOnStart","_hasWorkspace","currentCommand","commandObject","hasSafeModeFlag","includes","loadAspects","inInstallContext","importCurrentLaneIfMissing","reconcileBitmapWithScopeIfNeeded","profile","loadAspectsOpts","runSubscribers","skipDeps","autoLoadAspectsDeps","aspects","getNotLoadedConfiguredExtensions","componentIds","resolveMultipleComponentIds","clearComponentCache","envsCommand","getCommand","EnvsSetCmd","EnvsUnsetCmd","EnvsReplaceCmd","EnvsUpdateCmd","registerEnvJsoncResolver","resolveEnvManifest","bind","scopeCommand","ScopeSetCmd","scopeTrust","ScopeTrust","setAspectLoadGuard","createGuard","ScopeTrustCmd","exports","MainRuntime","CLIAspect","ScopeAspect","ComponentAspect","IsolatorAspect","VariantsAspect","LoggerAspect","GraphqlAspect","UIAspect","BundlerAspect","AspectLoaderAspect","EnvsAspect","GlobalConfigAspect","ConfigStoreAspect","Slot","withType","CapsuleCmd","CapsuleListCmd","CapsuleCreateCmd","CapsuleDeleteCmd","CapsulePruneCmd","path","loadConsumerIfExist","WorkspaceAspect","addRuntime","_default"],"sources":["workspace.main.runtime.ts"],"sourcesContent":["import { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport type { BundlerMain } from '@teambit/bundler';\nimport { BundlerAspect } from '@teambit/bundler';\nimport type { CLIMain, CommandList, Command } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { ComponentAspect } from '@teambit/component';\nimport type { EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport type { Harmony, SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { IsolatorMain } from '@teambit/isolator';\nimport { IsolatorAspect } from '@teambit/isolator';\nimport type { LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { UiMain } from '@teambit/ui';\nimport { UIAspect } from '@teambit/ui';\nimport { VariantsAspect } from '@teambit/variants';\nimport type { GlobalConfigMain } from '@teambit/global-config';\nimport { GlobalConfigAspect } from '@teambit/global-config';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport type { ComponentMain, Component } from '@teambit/component';\nimport type { VariantsMain } from '@teambit/variants';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport type { ComponentConfigLoadOptions } from '@teambit/legacy.consumer-config';\nimport { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport type { ComponentLoadOptions } from '@teambit/legacy.consumer-component';\nimport { ComponentLoader as LegacyComponentLoader, ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport type { ComponentID } from '@teambit/component-id';\nimport { EXT_NAME } from './constants';\nimport type { OnComponentAdd, OnComponentChange, OnComponentRemove, OnComponentLoad } from './on-component-events';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport EjectConfCmd from './eject-conf.cmd';\nimport type { WorkspaceExtConfig } from './types';\nimport { Workspace } from './workspace';\nimport getWorkspaceSchema from './workspace.graphql';\nimport { WorkspaceUIRoot } from './workspace.ui-root';\nimport { CapsuleCmd, CapsuleCreateCmd, CapsuleDeleteCmd, CapsuleListCmd, CapsulePruneCmd } from './capsule.cmd';\nimport { EnvsSetCmd } from './envs-subcommands/envs-set.cmd';\nimport { EnvsUnsetCmd } from './envs-subcommands/envs-unset.cmd';\nimport { PatternCommand } from './pattern.cmd';\nimport { EnvsReplaceCmd } from './envs-subcommands/envs-replace.cmd';\nimport { ScopeSetCmd } from './scope-subcommands/scope-set.cmd';\nimport { ScopeTrust, ScopeTrustCmd } from './scope-trust';\nimport { UseCmd } from './use.cmd';\nimport { EnvsUpdateCmd } from './envs-subcommands/envs-update.cmd';\nimport { UnuseCmd } from './unuse.cmd';\nimport { LocalOnlyCmd, LocalOnlyListCmd, LocalOnlySetCmd, LocalOnlyUnsetCmd } from './commands/local-only-cmd';\nimport type { ConfigStoreMain } from '@teambit/config-store';\nimport { ConfigStoreAspect } from '@teambit/config-store';\n\nexport type WorkspaceDeps = [\n CLIMain,\n ScopeMain,\n ComponentMain,\n IsolatorMain,\n DependencyResolverMain,\n VariantsMain,\n LoggerMain,\n GraphqlMain,\n UiMain,\n BundlerMain,\n AspectLoaderMain,\n EnvsMain,\n GlobalConfigMain,\n ConfigStoreMain,\n];\n\nexport type OnComponentLoadSlot = SlotRegistry<OnComponentLoad>;\n\nexport type OnComponentChangeSlot = SlotRegistry<OnComponentChange>;\n\nexport type OnComponentAddSlot = SlotRegistry<OnComponentAdd>;\n\nexport type OnComponentRemoveSlot = SlotRegistry<OnComponentRemove>;\n\nexport type OnBitmapChange = () => Promise<void>;\nexport type OnBitmapChangeSlot = SlotRegistry<OnBitmapChange>;\n\nexport type OnWorkspaceConfigChange = () => Promise<void>;\nexport type OnWorkspaceConfigChangeSlot = SlotRegistry<OnWorkspaceConfigChange>;\n\nexport type OnAspectsResolve = (aspectsComponents: Component[]) => Promise<void>;\nexport type OnAspectsResolveSlot = SlotRegistry<OnAspectsResolve>;\n\nexport type OnRootAspectAdded = (aspectsId: ComponentID, inWs: boolean) => Promise<void>;\nexport type OnRootAspectAddedSlot = SlotRegistry<OnRootAspectAdded>;\n\nexport class WorkspaceMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n ComponentAspect,\n IsolatorAspect,\n DependencyResolverAspect,\n VariantsAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n BundlerAspect,\n AspectLoaderAspect,\n EnvsAspect,\n GlobalConfigAspect,\n ConfigStoreAspect,\n ];\n static slots = [\n Slot.withType<OnComponentLoad>(),\n Slot.withType<OnComponentChange>(),\n Slot.withType<OnComponentAdd>(),\n Slot.withType<OnComponentRemove>(),\n Slot.withType<OnAspectsResolve>(),\n Slot.withType<OnRootAspectAdded>(),\n Slot.withType<OnBitmapChange>(),\n Slot.withType<OnWorkspaceConfigChange>(),\n ];\n static async provider(\n [\n cli,\n scope,\n component,\n isolator,\n dependencyResolver,\n variants,\n loggerExt,\n graphql,\n ui,\n bundler,\n aspectLoader,\n envs,\n globalConfig,\n configStore,\n ]: WorkspaceDeps,\n config: WorkspaceExtConfig,\n [\n onComponentLoadSlot,\n onComponentChangeSlot,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot,\n ]: [\n OnComponentLoadSlot,\n OnComponentChangeSlot,\n OnComponentAddSlot,\n OnComponentRemoveSlot,\n OnAspectsResolveSlot,\n OnRootAspectAddedSlot,\n OnBitmapChangeSlot,\n OnWorkspaceConfigChangeSlot,\n ],\n harmony: Harmony\n ) {\n const currentCmd = process.argv[2];\n if (currentCmd === 'init') {\n // avoid loading the consumer/workspace for \"bit init\". otherwise, \"bit init --reset\" can't fix corrupted .bitmap\n return undefined;\n }\n const bitConfig: any = harmony.config.get('teambit.harmony/bit');\n const consumer = await getConsumer(bitConfig.cwd);\n if (!consumer) {\n const capsuleCmd = getCapsulesCommands(isolator, scope, configStore, undefined);\n cli.register(capsuleCmd);\n return undefined;\n }\n // TODO: get the 'workspace' name in a better way\n const logger = loggerExt.createLogger(EXT_NAME);\n const workspace = new Workspace(\n config,\n consumer,\n scope,\n component,\n dependencyResolver,\n variants,\n aspectLoader,\n logger,\n harmony,\n onComponentLoadSlot,\n onComponentChangeSlot,\n envs,\n globalConfig,\n onComponentAddSlot,\n onComponentRemoveSlot,\n onAspectsResolveSlot,\n onRootAspectAddedSlot,\n graphql,\n onBitmapChangeSlot,\n onWorkspaceConfigChangeSlot,\n configStore\n );\n\n configStore.addStore('workspace', workspace.getConfigStore());\n\n const configMergeFile = workspace.getConflictMergeFile();\n await configMergeFile.loadIfNeeded();\n\n const getWorkspacePolicyFromPackageJson = () => {\n const packageJson = workspace.consumer.packageJson?.packageJsonObject || {};\n const policyFromPackageJson = dependencyResolver.getWorkspacePolicyFromPackageJson(packageJson);\n return policyFromPackageJson;\n };\n\n /**\n * @deprecated\n * see workspace.getWorkspaceJsonConflictFromMergeConfig\n */\n const getWorkspacePolicyFromMergeConfig = () => {\n const wsConfigMerge = workspace.getWorkspaceJsonConflictFromMergeConfig();\n const policy = wsConfigMerge.data?.[DependencyResolverAspect.id]?.policy || {};\n ['dependencies', 'peerDependencies'].forEach((depField) => {\n if (!policy[depField]) return;\n policy[depField] = policy[depField].reduce((acc, current) => {\n acc[current.name] = current.version;\n return acc;\n }, {});\n });\n const wsPolicy = dependencyResolver.getWorkspacePolicyFromConfigObject(policy);\n return wsPolicy;\n };\n\n const getRootPolicy = () => {\n const pkgJsonPolicy = getWorkspacePolicyFromPackageJson();\n const configMergePolicy = getWorkspacePolicyFromMergeConfig();\n return dependencyResolver.mergeWorkspacePolices([pkgJsonPolicy, configMergePolicy]);\n };\n\n dependencyResolver.registerRootPolicy(getRootPolicy());\n\n consumer.onCacheClear.push(() => workspace.clearCache());\n\n LegacyComponentLoader.registerOnComponentLoadSubscriber(\n async (legacyComponent: ConsumerComponent, opts?: ComponentLoadOptions) => {\n if (opts?.originatedFromHarmony) return legacyComponent;\n const id = legacyComponent.id;\n const newComponent = await workspace.get(id, legacyComponent, true, true, opts);\n return newComponent.state._consumer;\n }\n );\n\n ConsumerComponent.registerOnComponentConfigLoading(EXT_NAME, async (id, loadOpts: ComponentConfigLoadOptions) => {\n const componentId = await workspace.resolveComponentId(id);\n // We call here directly workspace.scope.get instead of workspace.get because part of the workspace get is loading consumer component\n // which in turn run this event, which will make an infinite loop\n // This component from scope here are only used for merging the extensions with the workspace components\n const componentFromScope = await workspace.scope.get(componentId);\n const { extensions } = await workspace.componentExtensions(componentId, componentFromScope, undefined, loadOpts);\n const defaultScope = componentId.scope;\n\n const extensionsWithLegacyIdsP = extensions.map(async (extension) => {\n if (extension.extensionId) {\n extension.newExtensionId = extension.extensionId;\n }\n\n return extension;\n });\n const extensionsWithLegacyIds = await Promise.all(extensionsWithLegacyIdsP);\n\n return {\n defaultScope,\n extensions: ExtensionDataList.fromArray(extensionsWithLegacyIds),\n };\n });\n\n ui.registerUiRoot(new WorkspaceUIRoot(workspace, bundler));\n ui.registerPreStart(async () => {\n return workspace.setComponentPathsRegExps();\n });\n graphql.register(() => getWorkspaceSchema(workspace, graphql));\n const capsuleCmd = getCapsulesCommands(isolator, scope, configStore, workspace);\n const commands: CommandList = [\n new EjectConfCmd(workspace),\n capsuleCmd,\n new UseCmd(workspace),\n new UnuseCmd(workspace),\n ];\n\n commands.push(new PatternCommand(workspace));\n const localOnlyCmd = new LocalOnlyCmd();\n localOnlyCmd.commands = [\n new LocalOnlySetCmd(workspace),\n new LocalOnlyUnsetCmd(workspace),\n new LocalOnlyListCmd(workspace),\n ];\n commands.push(localOnlyCmd);\n cli.register(...commands);\n component.registerHost(workspace);\n\n cli.registerOnStart(async (_hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => {\n const hasSafeModeFlag = process.argv.includes('--safe-mode');\n if (hasSafeModeFlag || (commandObject && !commandObject.loadAspects)) {\n return;\n }\n if (currentCommand === 'install') {\n workspace.inInstallContext = true;\n }\n await workspace.importCurrentLaneIfMissing();\n await workspace.reconcileBitmapWithScopeIfNeeded();\n logger.profile('workspace.registerOnStart');\n const loadAspectsOpts = {\n runSubscribers: false,\n skipDeps: !config.autoLoadAspectsDeps,\n };\n const aspects = await workspace.loadAspects(\n aspectLoader.getNotLoadedConfiguredExtensions(),\n undefined,\n 'teambit.workspace/workspace (cli.registerOnStart)',\n loadAspectsOpts\n );\n // clear aspect cache.\n const componentIds = await workspace.resolveMultipleComponentIds(aspects);\n componentIds.forEach((id) => {\n workspace.clearComponentCache(id);\n });\n logger.profile('workspace.registerOnStart');\n });\n\n // add sub-commands \"set\" and \"unset\" to envs command.\n const envsCommand = cli.getCommand('envs');\n envsCommand?.commands?.push(new EnvsSetCmd(workspace)); // bit envs set\n envsCommand?.commands?.push(new EnvsUnsetCmd(workspace)); // bit envs unset\n envsCommand?.commands?.push(new EnvsReplaceCmd(workspace)); // bit envs replace\n envsCommand?.commands?.push(new EnvsUpdateCmd(workspace)); // bit envs replace\n\n envs.registerEnvJsoncResolver(workspace.resolveEnvManifest.bind(workspace));\n\n // add sub-command \"set\" to scope command.\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeSetCmd(workspace));\n\n // Workspace scope-trust: aspect-load hook wired into ScopeMain, plus the\n // bit scope trust subcommand. Opt-in via workspace.jsonc.\n const scopeTrust = new ScopeTrust(workspace, logger);\n scope.setAspectLoadGuard(scopeTrust.createGuard());\n scopeCommand?.commands?.push(new ScopeTrustCmd(scopeTrust));\n\n return workspace;\n }\n static defineRuntime = 'browser';\n}\n\nfunction getCapsulesCommands(\n isolator: IsolatorMain,\n scope: ScopeMain,\n configStore: ConfigStoreMain,\n workspace?: Workspace\n) {\n const capsuleCmd = new CapsuleCmd(isolator, workspace, scope, configStore);\n capsuleCmd.commands = [\n new CapsuleListCmd(isolator, workspace, scope, configStore),\n new CapsuleCreateCmd(workspace, scope, isolator),\n new CapsuleDeleteCmd(isolator, scope, workspace),\n new CapsulePruneCmd(isolator, configStore),\n ];\n return capsuleCmd;\n}\n\n/**\n * don't use loadConsumer() here, which throws ConsumerNotFound because some commands don't require\n * the consumer to be available. such as, `bit init` or `bit list --remote`.\n * most of the commands do need the consumer. the legacy commands that need the consumer throw an\n * error when is missing. in the new/Harmony commands, such as `bis compile`, the workspace object\n * is passed to the provider, so before using it, make sure it exists.\n * keep in mind that you can't verify it in the provider itself, because the provider is running\n * always for all commands before anything else is happening.\n */\nasync function getConsumer(path?: string): Promise<Consumer | undefined> {\n return loadConsumerIfExist(path);\n}\n\nWorkspaceAspect.addRuntime(WorkspaceMain);\n\nexport default WorkspaceMain;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1004",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/workspace",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "workspace",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1004"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"@teambit/toolbox.fs.last-modified": "0.0.15",
|
|
37
37
|
"@teambit/toolbox.path.path": "0.0.17",
|
|
38
38
|
"@teambit/graph.cleargraph": "0.0.11",
|
|
39
|
+
"@teambit/legacy.constants": "0.0.29",
|
|
39
40
|
"@teambit/component.ui.component-status-resolver": "0.0.510",
|
|
40
41
|
"@teambit/harmony.modules.resolved-component": "0.0.514",
|
|
41
42
|
"@teambit/legacy.utils": "0.0.38",
|
|
@@ -43,6 +44,8 @@
|
|
|
43
44
|
"@teambit/toolbox.modules.module-resolver": "0.0.20",
|
|
44
45
|
"@teambit/component-issues": "0.0.172",
|
|
45
46
|
"@teambit/dependencies.modules.packages-excluder": "1.0.8",
|
|
47
|
+
"@teambit/git.modules.git-executable": "0.0.30",
|
|
48
|
+
"@teambit/harmony.modules.in-memory-cache": "0.0.33",
|
|
46
49
|
"@teambit/legacy-bit-id": "1.1.3",
|
|
47
50
|
"@teambit/toolbox.path.is-path-inside": "0.0.509",
|
|
48
51
|
"@teambit/workspace.modules.match-pattern": "0.0.521",
|
|
@@ -61,6 +64,7 @@
|
|
|
61
64
|
"@teambit/ui-foundation.ui.menu": "0.0.503",
|
|
62
65
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.523",
|
|
63
66
|
"@teambit/ui-foundation.ui.tree.drawer": "1.0.0",
|
|
67
|
+
"@teambit/harmony.modules.concurrency": "0.0.30",
|
|
64
68
|
"@teambit/toolbox.promise.map-pool": "0.0.15",
|
|
65
69
|
"@teambit/base-react.themes.theme-switcher": "1.1.2",
|
|
66
70
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.506",
|
|
@@ -85,44 +89,40 @@
|
|
|
85
89
|
"@teambit/cloud.hooks.use-cloud-scopes": "0.0.21",
|
|
86
90
|
"@teambit/explorer.ui.gallery.component-grid": "0.0.496",
|
|
87
91
|
"@teambit/workspace.ui.empty-workspace": "0.0.509",
|
|
88
|
-
"@teambit/component": "1.0.
|
|
89
|
-
"@teambit/dependency-resolver": "1.0.
|
|
90
|
-
"@teambit/envs": "1.0.
|
|
91
|
-
"@teambit/legacy.extension-data": "0.0.
|
|
92
|
-
"@teambit/legacy.scope": "0.0.
|
|
93
|
-
"@teambit/legacy.consumer-component": "0.0.
|
|
94
|
-
"@teambit/legacy.consumer": "0.0.
|
|
95
|
-
"@teambit/legacy.bit-map": "0.0.
|
|
96
|
-
"@teambit/logger": "0.0.
|
|
97
|
-
"@teambit/objects": "0.0.
|
|
98
|
-
"@teambit/scope": "1.0.
|
|
99
|
-
"@teambit/graph": "1.0.
|
|
100
|
-
"@teambit/cli": "0.0.
|
|
101
|
-
"@teambit/
|
|
102
|
-
"@teambit/
|
|
103
|
-
"@teambit/
|
|
104
|
-
"@teambit/watcher": "1.0.
|
|
105
|
-
"@teambit/scope.remotes": "0.0.
|
|
106
|
-
"@teambit/aspect-loader": "1.0.
|
|
107
|
-
"@teambit/config
|
|
108
|
-
"@teambit/
|
|
109
|
-
"@teambit/
|
|
110
|
-
"@teambit/
|
|
111
|
-
"@teambit/
|
|
112
|
-
"@teambit/
|
|
113
|
-
"@teambit/
|
|
114
|
-
"@teambit/
|
|
115
|
-
"@teambit/
|
|
116
|
-
"@teambit/component
|
|
117
|
-
"@teambit/
|
|
118
|
-
"@teambit/
|
|
119
|
-
"@teambit/
|
|
120
|
-
"@teambit/
|
|
121
|
-
"@teambit/
|
|
122
|
-
"@teambit/sidebar": "1.0.1002",
|
|
123
|
-
"@teambit/pubsub": "1.0.1002",
|
|
124
|
-
"@teambit/harmony.modules.concurrency": "0.0.29",
|
|
125
|
-
"@teambit/deprecation": "1.0.1002"
|
|
92
|
+
"@teambit/component": "1.0.1004",
|
|
93
|
+
"@teambit/dependency-resolver": "1.0.1004",
|
|
94
|
+
"@teambit/envs": "1.0.1004",
|
|
95
|
+
"@teambit/legacy.extension-data": "0.0.123",
|
|
96
|
+
"@teambit/legacy.scope": "0.0.121",
|
|
97
|
+
"@teambit/legacy.consumer-component": "0.0.122",
|
|
98
|
+
"@teambit/legacy.consumer": "0.0.121",
|
|
99
|
+
"@teambit/legacy.bit-map": "0.0.178",
|
|
100
|
+
"@teambit/logger": "0.0.1424",
|
|
101
|
+
"@teambit/objects": "0.0.511",
|
|
102
|
+
"@teambit/scope": "1.0.1004",
|
|
103
|
+
"@teambit/graph": "1.0.1004",
|
|
104
|
+
"@teambit/cli": "0.0.1331",
|
|
105
|
+
"@teambit/config-store": "0.0.212",
|
|
106
|
+
"@teambit/isolator": "1.0.1004",
|
|
107
|
+
"@teambit/component-tree": "1.0.1004",
|
|
108
|
+
"@teambit/watcher": "1.0.1004",
|
|
109
|
+
"@teambit/scope.remotes": "0.0.121",
|
|
110
|
+
"@teambit/aspect-loader": "1.0.1004",
|
|
111
|
+
"@teambit/config": "0.0.1506",
|
|
112
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.352",
|
|
113
|
+
"@teambit/graphql": "1.0.1004",
|
|
114
|
+
"@teambit/bundler": "1.0.1004",
|
|
115
|
+
"@teambit/global-config": "0.0.1335",
|
|
116
|
+
"@teambit/legacy.consumer-config": "0.0.121",
|
|
117
|
+
"@teambit/ui": "1.0.1004",
|
|
118
|
+
"@teambit/variants": "0.0.1599",
|
|
119
|
+
"@teambit/component.sources": "0.0.173",
|
|
120
|
+
"@teambit/legacy.component-list": "0.0.175",
|
|
121
|
+
"@teambit/legacy.scope-api": "0.0.176",
|
|
122
|
+
"@teambit/command-bar": "1.0.1004",
|
|
123
|
+
"@teambit/sidebar": "1.0.1004",
|
|
124
|
+
"@teambit/pubsub": "1.0.1004",
|
|
125
|
+
"@teambit/deprecation": "1.0.1004"
|
|
126
126
|
},
|
|
127
127
|
"devDependencies": {
|
|
128
128
|
"@types/lodash": "4.14.165",
|