@teambit/workspace 0.0.1115 → 0.0.1117

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.
File without changes
@@ -1,16 +1,19 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
2
  import { CapsuleList, IsolatorMain } from '@teambit/isolator';
3
+ import type { ScopeMain } from '@teambit/scope';
3
4
  import { Workspace } from '.';
4
5
  declare type CreateOpts = {
5
6
  baseDir?: string;
6
7
  rootBaseDir?: string;
7
8
  alwaysNew?: boolean;
8
9
  seedersOnly?: boolean;
10
+ useHash?: boolean;
9
11
  id: string;
10
12
  installPackages?: boolean;
11
13
  };
12
14
  export declare class CapsuleCreateCmd implements Command {
13
15
  private workspace;
16
+ private scope;
14
17
  private isolator;
15
18
  name: string;
16
19
  description: string;
@@ -18,8 +21,8 @@ export declare class CapsuleCreateCmd implements Command {
18
21
  group: string;
19
22
  alias: string;
20
23
  options: CommandOptions;
21
- constructor(workspace: Workspace, isolator: IsolatorMain);
22
- create([componentIds]: [string[]], { baseDir, rootBaseDir, alwaysNew, id, installPackages, seedersOnly }: CreateOpts): Promise<CapsuleList>;
24
+ constructor(workspace: Workspace | undefined, scope: ScopeMain, isolator: IsolatorMain);
25
+ create([componentIds]: [string[]], { baseDir, rootBaseDir, alwaysNew, id, installPackages, seedersOnly, useHash }: CreateOpts): Promise<CapsuleList>;
23
26
  report([componentIds]: [string[]], opts: CreateOpts): Promise<string>;
24
27
  json([componentIds]: [string[]], opts: CreateOpts): Promise<{
25
28
  id: string;
@@ -29,31 +32,33 @@ export declare class CapsuleCreateCmd implements Command {
29
32
  export declare class CapsuleListCmd implements Command {
30
33
  private isolator;
31
34
  private workspace;
35
+ private scope;
32
36
  name: string;
33
37
  description: string;
34
38
  group: string;
35
39
  alias: string;
36
40
  options: CommandOptions;
37
- constructor(isolator: IsolatorMain, workspace: Workspace);
41
+ constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain);
38
42
  report(): Promise<string>;
39
43
  json(): Promise<{
40
- workspaceCapsulesRootDir: string;
41
- scopeAspectsCapsulesRootDir: string;
42
- workspace: string;
43
44
  capsules: string[];
45
+ scopeCapsules: string[];
46
+ workspaceCapsulesRootDir: any;
47
+ scopeAspectsCapsulesRootDir: any;
44
48
  }>;
45
49
  private getCapsulesRootDirs;
46
50
  }
47
51
  export declare class CapsuleDeleteCmd implements Command {
48
52
  private isolator;
49
- private workspace;
53
+ private scope;
54
+ private workspace?;
50
55
  name: string;
51
56
  description: string;
52
57
  extendedDescription: string;
53
58
  group: string;
54
59
  alias: string;
55
60
  options: CommandOptions;
56
- constructor(isolator: IsolatorMain, workspace: Workspace);
61
+ constructor(isolator: IsolatorMain, scope: ScopeMain, workspace?: Workspace | undefined);
57
62
  report(args: [], { all, scopeAspects }: {
58
63
  all: boolean;
59
64
  scopeAspects: boolean;
@@ -62,6 +67,7 @@ export declare class CapsuleDeleteCmd implements Command {
62
67
  export declare class CapsuleCmd implements Command {
63
68
  private isolator;
64
69
  private workspace;
70
+ private scope;
65
71
  name: string;
66
72
  description: string;
67
73
  extendedDescription: string;
@@ -69,7 +75,7 @@ export declare class CapsuleCmd implements Command {
69
75
  group: string;
70
76
  commands: Command[];
71
77
  options: CommandOptions;
72
- constructor(isolator: IsolatorMain, workspace: Workspace);
78
+ constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain);
73
79
  report(args: [string]): Promise<string>;
74
80
  }
75
81
  export {};
@@ -24,15 +24,16 @@ function _chalk() {
24
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
25
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } // eslint-disable-next-line max-classes-per-file
26
26
  class CapsuleCreateCmd {
27
- constructor(workspace, isolator) {
27
+ constructor(workspace, scope, isolator) {
28
28
  this.workspace = workspace;
29
+ this.scope = scope;
29
30
  this.isolator = isolator;
30
31
  (0, _defineProperty2().default)(this, "name", 'create [component-id...]');
31
32
  (0, _defineProperty2().default)(this, "description", `create capsules for components`);
32
33
  (0, _defineProperty2().default)(this, "helpUrl", 'reference/build-pipeline/capsule');
33
34
  (0, _defineProperty2().default)(this, "group", 'capsules');
34
35
  (0, _defineProperty2().default)(this, "alias", '');
35
- (0, _defineProperty2().default)(this, "options", [['b', 'base-dir <name>', 'set base dir of all capsules (hashed to create the base dir inside the root dir - host path by default)'], ['r', 'root-base-dir <name>', 'set root base dir of all capsules (absolute path to use as root dir)'], ['a', 'always-new', 'create new environment for capsule'], ['s', 'seeders-only', 'create capsules for the seeders only (not for the entire graph)'], ['i', 'id <name>', 'reuse capsule of certain name'], ['j', 'json', 'json format'], ['d', 'install-packages', 'install packages by the package-manager'], ['p', 'package-manager <name>', 'npm, yarn or pnpm, default to npm']]);
36
+ (0, _defineProperty2().default)(this, "options", [['b', 'base-dir <name>', 'set base dir of all capsules (hashed to create the base dir inside the root dir - host path by default)'], ['r', 'root-base-dir <name>', 'set root base dir of all capsules (absolute path to use as root dir)'], ['a', 'always-new', 'create new environment for capsule'], ['s', 'seeders-only', 'create capsules for the seeders only (not for the entire graph)'], ['i', 'id <name>', 'reuse capsule of certain name'], ['', 'use-hash', 'whether to use hash function (of base dir) as capsules root dir name'], ['j', 'json', 'json format'], ['d', 'install-packages', 'install packages by the package-manager'], ['p', 'package-manager <name>', 'npm, yarn or pnpm, default to npm']]);
36
37
  }
37
38
  async create([componentIds = []], {
38
39
  baseDir,
@@ -40,22 +41,42 @@ class CapsuleCreateCmd {
40
41
  alwaysNew = false,
41
42
  id,
42
43
  installPackages = false,
43
- seedersOnly = false
44
+ seedersOnly = false,
45
+ useHash
44
46
  }) {
45
47
  // @todo: why it is not an array?
46
48
  if (componentIds && !Array.isArray(componentIds)) componentIds = [componentIds];
49
+ let finalUseHash = useHash;
50
+ if (useHash === undefined) {
51
+ if (baseDir) {
52
+ finalUseHash = false;
53
+ } else {
54
+ var _this$workspace;
55
+ finalUseHash = this.workspace ? (_this$workspace = this.workspace) === null || _this$workspace === void 0 ? void 0 : _this$workspace.shouldUseHashForCapsules() : this.scope.shouldUseHashForCapsules();
56
+ }
57
+ }
58
+ const baseInstallOptions = {
59
+ installPackages
60
+ };
61
+ const additionalInstallOptions = this.workspace ? {} : {
62
+ copyPeerToRuntimeOnRoot: true,
63
+ useNesting: true,
64
+ copyPeerToRuntimeOnComponents: true,
65
+ installPeersFromEnvs: true
66
+ };
67
+ const installOptions = _objectSpread(_objectSpread({}, baseInstallOptions), additionalInstallOptions);
47
68
  const capsuleOptions = {
48
69
  baseDir,
49
70
  rootBaseDir,
50
- installOptions: {
51
- installPackages
52
- },
71
+ installOptions,
53
72
  alwaysNew,
54
73
  seedersOnly,
55
74
  includeFromNestedHosts: true,
56
- name: id
75
+ name: id,
76
+ useHash: finalUseHash
57
77
  };
58
- const ids = await this.workspace.resolveMultipleComponentIds(componentIds);
78
+ const host = this.workspace || this.scope;
79
+ const ids = await host.resolveMultipleComponentIds(componentIds);
59
80
  const network = await this.isolator.isolateComponents(ids, capsuleOptions);
60
81
  const capsules = network.graphCapsules;
61
82
  return capsules;
@@ -78,9 +99,10 @@ class CapsuleCreateCmd {
78
99
  }
79
100
  exports.CapsuleCreateCmd = CapsuleCreateCmd;
80
101
  class CapsuleListCmd {
81
- constructor(isolator, workspace) {
102
+ constructor(isolator, workspace, scope) {
82
103
  this.isolator = isolator;
83
104
  this.workspace = workspace;
105
+ this.scope = scope;
84
106
  (0, _defineProperty2().default)(this, "name", 'list');
85
107
  (0, _defineProperty2().default)(this, "description", `list the capsules generated for this workspace`);
86
108
  (0, _defineProperty2().default)(this, "group", 'capsules');
@@ -88,41 +110,44 @@ class CapsuleListCmd {
88
110
  (0, _defineProperty2().default)(this, "options", [['j', 'json', 'json format']]);
89
111
  }
90
112
  async report() {
91
- const list = await this.isolator.list(this.workspace.path);
92
113
  const {
93
114
  workspaceCapsulesRootDir,
94
115
  scopeAspectsCapsulesRootDir
95
116
  } = this.getCapsulesRootDirs();
117
+ const listWs = workspaceCapsulesRootDir ? await this.isolator.list(workspaceCapsulesRootDir) : undefined;
118
+ const listScope = await this.isolator.list(scopeAspectsCapsulesRootDir);
119
+ const hostPath = this.workspace ? this.workspace.path : this.scope.path;
120
+ const numOfWsCapsules = listWs ? listWs.capsules.length : listScope.capsules.length;
121
+ const hostType = this.workspace ? 'workspace' : 'scope';
122
+ const title = _chalk().default.green(`found ${_chalk().default.cyan(numOfWsCapsules.toString())} capsule(s) for ${hostType}: ${_chalk().default.cyan(hostPath)}`);
123
+ const wsLine = listWs ? _chalk().default.green(`workspace capsules root-dir: ${_chalk().default.cyan(workspaceCapsulesRootDir)}`) : undefined;
124
+ const scopeLine = _chalk().default.green(`scope's aspects capsules root-dir: ${_chalk().default.cyan(scopeAspectsCapsulesRootDir)}`);
125
+ const suggestLine = _chalk().default.green(`use --json to get the list of all capsules`);
126
+ const lines = [title, wsLine, scopeLine, suggestLine].filter(x => x).join('\n');
127
+
96
128
  // TODO: improve output
97
- return _chalk().default.green(`found ${_chalk().default.cyan(list.capsules.length.toString())} capsule(s) for workspace: ${_chalk().default.cyan(list.workspace)}
98
- workspace capsules root-dir: ${_chalk().default.cyan(workspaceCapsulesRootDir)}
99
- scope's aspects capsules root-dir: ${_chalk().default.cyan(scopeAspectsCapsulesRootDir)}
100
- use --json to get the list of all workspace capsules`);
129
+ return lines;
101
130
  }
102
131
  async json() {
103
- const list = await this.isolator.list(this.workspace.path);
104
132
  const rootDirs = this.getCapsulesRootDirs();
105
- return _objectSpread(_objectSpread({}, list), rootDirs);
133
+ const listWs = rootDirs.workspaceCapsulesRootDir ? await this.isolator.list(rootDirs.workspaceCapsulesRootDir) : undefined;
134
+ const listScope = await this.isolator.list(rootDirs.scopeAspectsCapsulesRootDir);
135
+ const capsules = listWs ? listWs.capsules : [];
136
+ const scopeCapsules = listScope ? listScope.capsules : [];
137
+ return _objectSpread(_objectSpread({}, rootDirs), {}, {
138
+ capsules,
139
+ scopeCapsules
140
+ });
106
141
  }
107
142
  getCapsulesRootDirs() {
108
- const workspaceCapsulesRootDir = this.isolator.getCapsulesRootDir({
109
- baseDir: this.workspace.getCapsulePath(),
110
- useHash: this.workspace.shouldUseHashForCapsules()
111
- });
112
- const scopeAspectsCapsulesRootDir = this.isolator.getCapsulesRootDir({
113
- baseDir: this.workspace.scope.getAspectCapsulePath(),
114
- useHash: this.workspace.scope.shouldUseHashForCapsules()
115
- });
116
- return {
117
- workspaceCapsulesRootDir,
118
- scopeAspectsCapsulesRootDir
119
- };
143
+ return getCapsulesRootDirs(this.isolator, this.scope, this.workspace);
120
144
  }
121
145
  }
122
146
  exports.CapsuleListCmd = CapsuleListCmd;
123
147
  class CapsuleDeleteCmd {
124
- constructor(isolator, workspace) {
148
+ constructor(isolator, scope, workspace) {
125
149
  this.isolator = isolator;
150
+ this.scope = scope;
126
151
  this.workspace = workspace;
127
152
  (0, _defineProperty2().default)(this, "name", 'delete');
128
153
  (0, _defineProperty2().default)(this, "description", `delete capsules`);
@@ -136,9 +161,14 @@ class CapsuleDeleteCmd {
136
161
  scopeAspects
137
162
  }) {
138
163
  const capsuleBaseDirToDelete = () => {
139
- if (all) return null;
140
- if (scopeAspects) return this.workspace.scope.getAspectCapsulePath();
141
- return this.workspace.path;
164
+ if (all) return undefined;
165
+ if (scopeAspects) {
166
+ const {
167
+ scopeAspectsCapsulesRootDir
168
+ } = getCapsulesRootDirs(this.isolator, this.scope, this.workspace);
169
+ return scopeAspectsCapsulesRootDir;
170
+ }
171
+ return undefined;
142
172
  };
143
173
  const capsuleBaseDir = capsuleBaseDirToDelete();
144
174
  const deletedDir = await this.isolator.deleteCapsules(capsuleBaseDir);
@@ -147,9 +177,10 @@ class CapsuleDeleteCmd {
147
177
  }
148
178
  exports.CapsuleDeleteCmd = CapsuleDeleteCmd;
149
179
  class CapsuleCmd {
150
- constructor(isolator, workspace) {
180
+ constructor(isolator, workspace, scope) {
151
181
  this.isolator = isolator;
152
182
  this.workspace = workspace;
183
+ this.scope = scope;
153
184
  (0, _defineProperty2().default)(this, "name", 'capsule');
154
185
  (0, _defineProperty2().default)(this, "description", 'manage capsules');
155
186
  (0, _defineProperty2().default)(this, "extendedDescription", `a capsule is a directory containing the component code, isolated from the workspace.
@@ -164,9 +195,23 @@ other users after publishing/exporting them.`);
164
195
 
165
196
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
166
197
  async report(args) {
167
- return new CapsuleListCmd(this.isolator, this.workspace).report();
198
+ return new CapsuleListCmd(this.isolator, this.workspace, this.scope).report();
168
199
  }
169
200
  }
170
201
  exports.CapsuleCmd = CapsuleCmd;
202
+ function getCapsulesRootDirs(isolator, scope, workspace) {
203
+ const workspaceCapsulesRootDir = workspace ? isolator.getCapsulesRootDir({
204
+ baseDir: workspace.getCapsulePath(),
205
+ useHash: workspace.shouldUseHashForCapsules()
206
+ }) : undefined;
207
+ const scopeAspectsCapsulesRootDir = isolator.getCapsulesRootDir({
208
+ baseDir: scope.getAspectCapsulePath(),
209
+ useHash: scope.shouldUseHashForCapsules()
210
+ });
211
+ return {
212
+ workspaceCapsulesRootDir,
213
+ scopeAspectsCapsulesRootDir
214
+ };
215
+ }
171
216
 
172
217
  //# sourceMappingURL=capsule.cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","CapsuleCreateCmd","constructor","workspace","isolator","create","componentIds","baseDir","rootBaseDir","alwaysNew","id","installPackages","seedersOnly","Array","isArray","capsuleOptions","installOptions","includeFromNestedHosts","name","ids","resolveMultipleComponentIds","network","isolateComponents","capsules","graphCapsules","report","opts","capsuleOutput","map","capsule","chalk","bold","component","toString","path","join","title","green","json","c","exports","CapsuleListCmd","list","workspaceCapsulesRootDir","scopeAspectsCapsulesRootDir","getCapsulesRootDirs","cyan","rootDirs","getCapsulesRootDir","getCapsulePath","useHash","shouldUseHashForCapsules","scope","getAspectCapsulePath","CapsuleDeleteCmd","args","all","scopeAspects","capsuleBaseDirToDelete","capsuleBaseDir","deletedDir","deleteCapsules","CapsuleCmd"],"sources":["capsule.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { CapsuleList, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport chalk from 'chalk';\n\nimport { Workspace } from '.';\n\ntype CreateOpts = {\n baseDir?: string;\n rootBaseDir?: string;\n alwaysNew?: boolean;\n seedersOnly?: 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 = 'capsules';\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 ['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(private workspace: Workspace, private isolator: IsolatorMain) {}\n\n async create(\n [componentIds = []]: [string[]],\n { baseDir, rootBaseDir, alwaysNew = false, id, installPackages = false, seedersOnly = false }: CreateOpts\n ): Promise<CapsuleList> {\n // @todo: why it is not an array?\n if (componentIds && !Array.isArray(componentIds)) componentIds = [componentIds];\n const capsuleOptions: IsolateComponentsOptions = {\n baseDir,\n rootBaseDir,\n installOptions: { installPackages },\n alwaysNew,\n seedersOnly,\n includeFromNestedHosts: true,\n name: id,\n };\n const ids = await this.workspace.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 capsuleOutput = capsules\n .map((capsule) => `${chalk.bold(capsule.component.id.toString())} - ${capsule.path}`)\n .join('\\n');\n const title = `${capsules.length} capsule(s) were created successfully`;\n return `${chalk.green(title)}\\n${capsuleOutput}`;\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 = 'capsules';\n alias = '';\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(private isolator: IsolatorMain, private workspace: Workspace) {}\n\n async report() {\n const list = await this.isolator.list(this.workspace.path);\n const { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir } = this.getCapsulesRootDirs();\n // TODO: improve output\n return chalk.green(`found ${chalk.cyan(list.capsules.length.toString())} capsule(s) for workspace: ${chalk.cyan(\n list.workspace\n )}\nworkspace capsules root-dir: ${chalk.cyan(workspaceCapsulesRootDir)}\nscope's aspects capsules root-dir: ${chalk.cyan(scopeAspectsCapsulesRootDir)}\nuse --json to get the list of all workspace capsules`);\n }\n\n async json() {\n const list = await this.isolator.list(this.workspace.path);\n const rootDirs = this.getCapsulesRootDirs();\n return { ...list, ...rootDirs };\n }\n\n private getCapsulesRootDirs() {\n const workspaceCapsulesRootDir = this.isolator.getCapsulesRootDir({\n baseDir: this.workspace.getCapsulePath(),\n useHash: this.workspace.shouldUseHashForCapsules(),\n });\n const scopeAspectsCapsulesRootDir = this.isolator.getCapsulesRootDir({\n baseDir: this.workspace.scope.getAspectCapsulePath(),\n useHash: this.workspace.scope.shouldUseHashForCapsules(),\n });\n\n return { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir };\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 = 'capsules';\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(private isolator: IsolatorMain, private workspace: Workspace) {}\n\n async report(args: [], { all, scopeAspects }: { all: boolean; scopeAspects: boolean }) {\n const capsuleBaseDirToDelete = (): string | null => {\n if (all) return null;\n if (scopeAspects) return this.workspace.scope.getAspectCapsulePath();\n return this.workspace.path;\n };\n const capsuleBaseDir = capsuleBaseDirToDelete();\n const deletedDir = await this.isolator.deleteCapsules(capsuleBaseDir);\n return chalk.green(`the following capsules dir has been deleted ${chalk.bold(deletedDir)}`);\n }\n}\n\nexport class CapsuleCmd implements Command {\n name = 'capsule';\n description = 'manage capsules';\n extendedDescription = `a capsule is a directory containing the component code, isolated from the workspace.\nnormally, capsules are created during the build process, the component files are copied and the packages are installed\nvia the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for\nother users after publishing/exporting them.`;\n alias = '';\n group = 'capsules';\n commands: Command[] = [];\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(private isolator: IsolatorMain, private workspace: Workspace) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n return new CapsuleListCmd(this.isolator, this.workspace).report();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","CapsuleCreateCmd","constructor","workspace","scope","isolator","create","componentIds","baseDir","rootBaseDir","alwaysNew","id","installPackages","seedersOnly","useHash","Array","isArray","finalUseHash","undefined","_this$workspace","shouldUseHashForCapsules","baseInstallOptions","additionalInstallOptions","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","installOptions","capsuleOptions","includeFromNestedHosts","name","host","ids","resolveMultipleComponentIds","network","isolateComponents","capsules","graphCapsules","report","opts","capsuleOutput","map","capsule","chalk","bold","component","toString","path","join","title","green","json","c","exports","CapsuleListCmd","workspaceCapsulesRootDir","scopeAspectsCapsulesRootDir","getCapsulesRootDirs","listWs","list","listScope","hostPath","numOfWsCapsules","hostType","cyan","wsLine","scopeLine","suggestLine","lines","x","rootDirs","scopeCapsules","CapsuleDeleteCmd","args","all","scopeAspects","capsuleBaseDirToDelete","capsuleBaseDir","deletedDir","deleteCapsules","CapsuleCmd","getCapsulesRootDir","getCapsulePath","getAspectCapsulePath"],"sources":["capsule.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { CapsuleList, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport type { ScopeMain } from '@teambit/scope';\nimport chalk from 'chalk';\n\nimport { Workspace } from '.';\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 = 'capsules';\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(private workspace: Workspace | undefined, private scope: ScopeMain, private isolator: IsolatorMain) {}\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 capsuleOutput = capsules\n .map((capsule) => `${chalk.bold(capsule.component.id.toString())} - ${capsule.path}`)\n .join('\\n');\n const title = `${capsules.length} capsule(s) were created successfully`;\n return `${chalk.green(title)}\\n${capsuleOutput}`;\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 = 'capsules';\n alias = '';\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(private isolator: IsolatorMain, private workspace: Workspace | undefined, private scope: ScopeMain) {}\n\n async report() {\n const { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir } = 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 = chalk.green(\n `found ${chalk.cyan(numOfWsCapsules.toString())} capsule(s) for ${hostType}: ${chalk.cyan(hostPath)}`\n );\n const wsLine = listWs\n ? chalk.green(`workspace capsules root-dir: ${chalk.cyan(workspaceCapsulesRootDir)}`)\n : undefined;\n const scopeLine = chalk.green(`scope's aspects capsules root-dir: ${chalk.cyan(scopeAspectsCapsulesRootDir)}`);\n const suggestLine = chalk.green(`use --json to get the list of all capsules`);\n const lines = [title, wsLine, scopeLine, suggestLine].filter((x) => x).join('\\n');\n\n // TODO: improve output\n return lines;\n }\n\n async json() {\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 = 'capsules';\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(private isolator: IsolatorMain, private scope: ScopeMain, private workspace?: Workspace) {}\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 chalk.green(`the following capsules dir has been deleted ${chalk.bold(deletedDir)}`);\n }\n}\n\nexport class CapsuleCmd implements Command {\n name = 'capsule';\n description = 'manage capsules';\n extendedDescription = `a capsule is a directory containing the component code, isolated from the workspace.\nnormally, capsules are created during the build process, the component files are copied and the packages are installed\nvia the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for\nother users after publishing/exporting them.`;\n alias = '';\n group = 'capsules';\n commands: Command[] = [];\n options = [['j', 'json', 'json format']] as CommandOptions;\n\n constructor(private isolator: IsolatorMain, private workspace: Workspace | undefined, private scope: ScopeMain) {}\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, 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\n return { workspaceCapsulesRootDir, scopeAspectsCapsulesRootDir };\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.1115/dist/workspace.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.1115/dist/workspace.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.1117/dist/workspace.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.1117/dist/workspace.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -250,9 +250,10 @@ export declare class Workspace implements ComponentFactory {
250
250
  */
251
251
  get(componentId: ComponentID, legacyComponent?: ConsumerComponent, useCache?: boolean, storeInCache?: boolean, loadOpts?: ComponentLoadOptions): Promise<Component>;
252
252
  getConfiguredUserAspectsPackages(options: GetConfiguredUserAspectsPackagesOptions): Promise<AspectPackage[]>;
253
- clearCache(options?: ClearCacheOptions): void;
253
+ clearCache(options?: ClearCacheOptions): Promise<void>;
254
254
  clearAllComponentsCache(): void;
255
255
  clearComponentCache(id: ComponentID): void;
256
+ warmCache(): Promise<void>;
256
257
  triggerOnComponentChange(id: ComponentID, files: PathOsBasedAbsolute[], removedFiles: PathOsBasedAbsolute[], initiator?: CompilationInitiator): Promise<OnComponentEventResult[]>;
257
258
  triggerOnComponentAdd(id: ComponentID): Promise<OnComponentEventResult[]>;
258
259
  triggerOnComponentRemove(id: ComponentID): Promise<OnComponentEventResult[]>;
package/dist/workspace.js CHANGED
@@ -723,7 +723,9 @@ it's possible that the version ${component.id.version} belong to ${idStr.split('
723
723
  }
724
724
  }
725
725
  async getFilesModification(id) {
726
- const bitMapEntry = this.bitMap.getBitmapEntry(id);
726
+ const bitMapEntry = this.bitMap.getBitmapEntry(id, {
727
+ ignoreVersion: true
728
+ });
727
729
  const compDir = bitMapEntry.getComponentDir();
728
730
  const compDirAbs = _path2().default.join(this.path, compDir);
729
731
  const sourceFilesVinyls = bitMapEntry.files.map(file => {
@@ -785,13 +787,13 @@ it's possible that the version ${component.id.version} belong to ${idStr.split('
785
787
  const workspaceAspectsLoader = this.getWorkspaceAspectsLoader();
786
788
  return workspaceAspectsLoader.getConfiguredUserAspectsPackages(options);
787
789
  }
788
- clearCache(options = {}) {
790
+ async clearCache(options = {}) {
789
791
  this.aspectLoader.resetFailedLoadAspects();
790
792
  if (!options.skipClearFailedToLoadEnvs) this.envs.resetFailedToLoadEnvs();
791
793
  this.logger.debug('clearing the workspace and scope caches');
792
794
  delete this._cachedListIds;
793
795
  this.componentLoader.clearCache();
794
- this.scope.clearCache();
796
+ await this.scope.clearCache();
795
797
  this.componentList = new (_componentsList().default)(this.consumer);
796
798
  this.componentDefaultScopeFromComponentDirAndNameWithoutConfigFileMemoized.clear();
797
799
  }
@@ -805,6 +807,9 @@ it's possible that the version ${component.id.version} belong to ${idStr.split('
805
807
  this.consumer.componentLoader.clearOneComponentCache(id._legacy);
806
808
  this.componentList = new (_componentsList().default)(this.consumer);
807
809
  }
810
+ async warmCache() {
811
+ await this.list();
812
+ }
808
813
  async triggerOnComponentChange(id, files, removedFiles, initiator) {
809
814
  const component = await this.get(id);
810
815
  const onChangeEntries = this.onComponentChangeSlot.toArray(); // e.g. [ [ 'teambit.bit/compiler', [Function: bound onComponentChange] ] ]
@@ -1473,7 +1478,7 @@ the following envs are used in this workspace: ${availableEnvs.join(', ')}`);
1473
1478
  async _reloadConsumer() {
1474
1479
  this.consumer = await (0, _consumer().loadConsumer)(this.path, true);
1475
1480
  this.bitMap = new (_bitMap().BitMap)(this.consumer.bitMap, this.consumer);
1476
- this.clearCache();
1481
+ await this.clearCache();
1477
1482
  }
1478
1483
  getComponentPackagePath(component) {
1479
1484
  const relativePath = this.dependencyResolver.getRuntimeModulePath(component);