@teambit/workspace 0.0.512 → 0.0.516

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/capsule.cmd.ts CHANGED
@@ -110,7 +110,12 @@ use --json to get the list of all workspace capsules`);
110
110
 
111
111
  export class CapsuleCmd implements Command {
112
112
  name = 'capsule <sub-command>';
113
- description = 'manage capsules';
113
+ shortDescription = 'manage capsules';
114
+ description = `manage capsules.
115
+ a capsule is a directory contains the component code, isolated from the workspace.
116
+ normally, capsules are created during the build process, the component files are copied and the packages are installed
117
+ via the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for
118
+ other users after publishing/exporting them.`;
114
119
  alias = '';
115
120
  group = 'capsules';
116
121
  commands: Command[] = [];
@@ -46,6 +46,7 @@ export declare class CapsuleListCmd implements Command {
46
46
  }
47
47
  export declare class CapsuleCmd implements Command {
48
48
  name: string;
49
+ shortDescription: string;
49
50
  description: string;
50
51
  alias: string;
51
52
  group: string;
@@ -143,7 +143,12 @@ exports.CapsuleListCmd = CapsuleListCmd;
143
143
  class CapsuleCmd {
144
144
  constructor() {
145
145
  (0, _defineProperty2().default)(this, "name", 'capsule <sub-command>');
146
- (0, _defineProperty2().default)(this, "description", 'manage capsules');
146
+ (0, _defineProperty2().default)(this, "shortDescription", 'manage capsules');
147
+ (0, _defineProperty2().default)(this, "description", `manage capsules.
148
+ a capsule is a directory contains the component code, isolated from the workspace.
149
+ normally, capsules are created during the build process, the component files are copied and the packages are installed
150
+ via the configured package-manager. the purpose is to compile/test them in isolation to make sure they will work for
151
+ other users after publishing/exporting them.`);
147
152
  (0, _defineProperty2().default)(this, "alias", '');
148
153
  (0, _defineProperty2().default)(this, "group", 'capsules');
149
154
  (0, _defineProperty2().default)(this, "commands", []);
@@ -1 +1 @@
1
- {"version":3,"sources":["capsule.cmd.ts"],"names":["CapsuleCreateCmd","constructor","workspace","isolator","create","componentIds","baseDir","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","length","green","json","c","CapsuleListCmd","list","workspaceCapsulesRootDir","scopeCapsulesRootDir","scopeAspectsCapsulesRootDir","getCapsulesRootDirs","cyan","rootDirs","getCapsulesRootDir","scope","getAspectCapsulePath","CapsuleCmd","args"],"mappings":"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","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 alwaysNew?: boolean;\n seedersOnly?: boolean;\n id: string;\n installPackages?: boolean;\n};\n\nexport class CapsuleCreateCmd implements Command {\n name = 'create [componentIds...]';\n description = `create capsules`;\n group = 'capsules';\n alias = '';\n options = [\n ['b', 'base-dir <name>', 'set base dir of all capsules'],\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, 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 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 all capsules`;\n shortDescription = 'list all capsules';\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, scopeCapsulesRootDir, 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 capsules root-dir: ${chalk.cyan(scopeCapsulesRootDir)}\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(this.workspace.path);\n const scopeCapsulesRootDir = this.isolator.getCapsulesRootDir(this.workspace.scope.path);\n const scopeAspectsCapsulesRootDir = this.isolator.getCapsulesRootDir(this.workspace.scope.getAspectCapsulePath());\n\n return { workspaceCapsulesRootDir, scopeCapsulesRootDir, scopeAspectsCapsulesRootDir };\n }\n}\n\nexport class CapsuleCmd implements Command {\n name = 'capsule <sub-command>';\n description = 'manage capsules';\n alias = '';\n group = 'capsules';\n commands: Command[] = [];\n options = [] as CommandOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n // it should never be here. Yargs throws an error before reaching this method.\n return `Please specify a sub-command`;\n }\n}\n"]}
1
+ {"version":3,"sources":["capsule.cmd.ts"],"names":["CapsuleCreateCmd","constructor","workspace","isolator","create","componentIds","baseDir","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","length","green","json","c","CapsuleListCmd","list","workspaceCapsulesRootDir","scopeCapsulesRootDir","scopeAspectsCapsulesRootDir","getCapsulesRootDirs","cyan","rootDirs","getCapsulesRootDir","scope","getAspectCapsulePath","CapsuleCmd","args"],"mappings":"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","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 alwaysNew?: boolean;\n seedersOnly?: boolean;\n id: string;\n installPackages?: boolean;\n};\n\nexport class CapsuleCreateCmd implements Command {\n name = 'create [componentIds...]';\n description = `create capsules`;\n group = 'capsules';\n alias = '';\n options = [\n ['b', 'base-dir <name>', 'set base dir of all capsules'],\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, 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 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 all capsules`;\n shortDescription = 'list all capsules';\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, scopeCapsulesRootDir, 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 capsules root-dir: ${chalk.cyan(scopeCapsulesRootDir)}\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(this.workspace.path);\n const scopeCapsulesRootDir = this.isolator.getCapsulesRootDir(this.workspace.scope.path);\n const scopeAspectsCapsulesRootDir = this.isolator.getCapsulesRootDir(this.workspace.scope.getAspectCapsulePath());\n\n return { workspaceCapsulesRootDir, scopeCapsulesRootDir, scopeAspectsCapsulesRootDir };\n }\n}\n\nexport class CapsuleCmd implements Command {\n name = 'capsule <sub-command>';\n shortDescription = 'manage capsules';\n description = `manage capsules.\na capsule is a directory contains 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 = [] as CommandOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n // it should never be here. Yargs throws an error before reaching this method.\n return `Please specify a sub-command`;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/workspace",
3
- "version": "0.0.512",
3
+ "version": "0.0.516",
4
4
  "homepage": "https://bit.dev/teambit/workspace/workspace",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "workspace",
9
- "version": "0.0.512"
9
+ "version": "0.0.516"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -32,54 +32,54 @@
32
32
  "@teambit/base-ui.surfaces.split-pane.hover-splitter": "1.0.0",
33
33
  "@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
34
34
  "@teambit/base-ui.graph.tree.recursive-tree": "1.0.0",
35
- "@teambit/cli": "0.0.378",
36
- "@teambit/isolator": "0.0.512",
35
+ "@teambit/cli": "0.0.379",
36
+ "@teambit/isolator": "0.0.516",
37
37
  "@teambit/component-tree": "0.0.365",
38
- "@teambit/component.ui.component-status-resolver": "0.0.444",
39
- "@teambit/harmony.modules.resolved-component": "0.0.438",
40
- "@teambit/dependency-resolver": "0.0.512",
41
- "@teambit/logger": "0.0.444",
42
- "@teambit/component": "0.0.512",
43
- "@teambit/graphql": "0.0.512",
44
- "@teambit/aspect-loader": "0.0.512",
45
- "@teambit/bundler": "0.0.512",
46
- "@teambit/envs": "0.0.512",
47
- "@teambit/pubsub": "0.0.512",
48
- "@teambit/scope": "0.0.512",
49
- "@teambit/ui": "0.0.512",
50
- "@teambit/variants": "0.0.446",
38
+ "@teambit/component.ui.component-status-resolver": "0.0.447",
39
+ "@teambit/harmony.modules.resolved-component": "0.0.441",
40
+ "@teambit/dependency-resolver": "0.0.516",
41
+ "@teambit/logger": "0.0.447",
42
+ "@teambit/component": "0.0.516",
43
+ "@teambit/graphql": "0.0.516",
44
+ "@teambit/aspect-loader": "0.0.516",
45
+ "@teambit/bundler": "0.0.516",
46
+ "@teambit/envs": "0.0.516",
47
+ "@teambit/pubsub": "0.0.516",
48
+ "@teambit/scope": "0.0.516",
49
+ "@teambit/ui": "0.0.516",
50
+ "@teambit/variants": "0.0.449",
51
51
  "@teambit/legacy-bit-id": "0.0.368",
52
52
  "@teambit/bit-error": "0.0.365",
53
53
  "@teambit/component-issues": "0.0.14",
54
- "@teambit/config": "0.0.389",
55
- "@teambit/harmony.modules.requireable-component": "0.0.438",
56
- "@teambit/workspace.modules.match-pattern": "0.0.440",
57
- "@teambit/command-bar": "0.0.512",
54
+ "@teambit/config": "0.0.390",
55
+ "@teambit/harmony.modules.requireable-component": "0.0.441",
56
+ "@teambit/workspace.modules.match-pattern": "0.0.443",
57
+ "@teambit/command-bar": "0.0.516",
58
58
  "@teambit/design.ui.surfaces.menu.link-item": "0.0.373",
59
- "@teambit/graph": "0.0.512",
60
- "@teambit/react-router": "0.0.512",
61
- "@teambit/sidebar": "0.0.512",
62
- "@teambit/ui-foundation.ui.main-dropdown": "0.0.440",
63
- "@teambit/ui-foundation.ui.menu": "0.0.440",
64
- "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.442",
65
- "@teambit/toolbox.time.time-format": "0.0.437",
66
- "@teambit/compiler": "0.0.512",
59
+ "@teambit/graph": "0.0.516",
60
+ "@teambit/react-router": "0.0.516",
61
+ "@teambit/sidebar": "0.0.516",
62
+ "@teambit/ui-foundation.ui.main-dropdown": "0.0.443",
63
+ "@teambit/ui-foundation.ui.menu": "0.0.443",
64
+ "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.445",
65
+ "@teambit/toolbox.time.time-format": "0.0.440",
66
+ "@teambit/compiler": "0.0.516",
67
67
  "@teambit/component-id": "0.0.369",
68
- "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.441",
69
- "@teambit/deprecation": "0.0.512",
70
- "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.440",
71
- "@teambit/ui-foundation.ui.buttons.collapser": "0.0.145",
72
- "@teambit/ui-foundation.ui.corner": "0.0.447",
73
- "@teambit/ui-foundation.ui.notifications.notification-context": "0.0.441",
74
- "@teambit/ui-foundation.ui.top-bar": "0.0.442",
68
+ "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.444",
69
+ "@teambit/deprecation": "0.0.516",
70
+ "@teambit/ui-foundation.ui.constants.z-indexes": "0.0.443",
71
+ "@teambit/ui-foundation.ui.buttons.collapser": "0.0.148",
72
+ "@teambit/ui-foundation.ui.corner": "0.0.450",
73
+ "@teambit/ui-foundation.ui.notifications.notification-context": "0.0.444",
74
+ "@teambit/ui-foundation.ui.top-bar": "0.0.445",
75
75
  "@teambit/design.ui.styles.ellipsis": "0.0.345",
76
76
  "@teambit/design.ui.styles.muted-italic": "0.0.34",
77
- "@teambit/ui-foundation.ui.full-loader": "0.0.440",
78
- "@teambit/ui-foundation.ui.side-bar": "0.0.444",
79
- "@teambit/ui-foundation.ui.tree.drawer": "0.0.440",
80
- "@teambit/explorer.ui.gallery.component-grid": "0.0.440",
81
- "@teambit/workspace.ui.empty-workspace": "0.0.442",
82
- "@teambit/workspace.ui.workspace-component-card": "0.0.443"
77
+ "@teambit/ui-foundation.ui.full-loader": "0.0.443",
78
+ "@teambit/ui-foundation.ui.side-bar": "0.0.447",
79
+ "@teambit/ui-foundation.ui.tree.drawer": "0.0.443",
80
+ "@teambit/explorer.ui.gallery.component-grid": "0.0.443",
81
+ "@teambit/workspace.ui.empty-workspace": "0.0.445",
82
+ "@teambit/workspace.ui.workspace-component-card": "0.0.446"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@types/react": "^17.0.8",