@teambit/workspace 1.0.258 → 1.0.260
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/static/css/teambit.workspace/{workspace-preview.b20fb44d.css → workspace-preview.b6736c2c.css} +2 -2
- package/artifacts/preview/teambit_workspace_workspace-preview.js +1 -1
- package/artifacts/schema.json +4024 -1994
- package/dist/capsule.cmd.d.ts +1 -1
- package/dist/capsule.cmd.js.map +1 -1
- package/dist/preview-1714620113654.js +7 -0
- package/dist/ui/workspace/use-workspace.js +1 -1
- package/dist/ui/workspace/use-workspace.js.map +1 -1
- package/dist/unuse.cmd.d.ts +18 -0
- package/dist/unuse.cmd.js +41 -0
- package/dist/unuse.cmd.js.map +1 -0
- package/dist/workspace.d.ts +4 -2
- package/dist/workspace.js +15 -5
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.main.runtime.js +8 -1
- package/dist/workspace.main.runtime.js.map +1 -1
- package/package.json +25 -25
- package/dist/preview-1714472366682.js +0 -7
package/dist/capsule.cmd.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
2
|
import { CapsuleList, IsolatorMain } from '@teambit/isolator';
|
|
3
3
|
import type { ScopeMain } from '@teambit/scope';
|
|
4
|
-
import { Workspace } from '
|
|
4
|
+
import { Workspace } from './workspace';
|
|
5
5
|
type CreateOpts = {
|
|
6
6
|
baseDir?: string;
|
|
7
7
|
rootBaseDir?: string;
|
package/dist/capsule.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","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","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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","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","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';\nimport { 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 = '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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","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.260/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.260/dist/workspace.docs.mdx';
|
|
3
|
+
|
|
4
|
+
export const compositions = [compositions_0];
|
|
5
|
+
export const overview = [overview_0];
|
|
6
|
+
|
|
7
|
+
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|
|
@@ -61,7 +61,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
61
61
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
62
62
|
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); }
|
|
63
63
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
64
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var
|
|
64
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
65
65
|
const wcComponentFields = (0, _client().gql)`
|
|
66
66
|
fragment wcComponentFields on Component {
|
|
67
67
|
id {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","require","_component","_latest","_interopRequireDefault","_uiFoundationUiHooks","_client","_componentId","_workspaceModel","_excluded","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","wcComponentFields","gql","WORKSPACE","COMPONENT_SUBSCRIPTION_ADDED","COMPONENT_SUBSCRIPTION_CHANGED","COMPONENT_SUBSCRIPTION_REMOVED","useWorkspace","options","_useDataQuery","useDataQuery","subscribeToMore","rest","optionsRef","useLatest","useEffect","unSubCompAddition","document","updateQuery","prev","subscriptionData","update","addedComponent","componentAdded","component","componentExists","workspace","components","find","ComponentID","isEqualObj","id","ignoreVersion","setTimeout","current","onComponentAdded","ComponentModel","from","unSubCompChange","updatedComponent","componentChanged","onComponentUpdated","map","name","unSubCompRemoved","idsToRemove","componentRemoved","componentIds","onComponentRemoved","fromObject","every","useMemo","Workspace","undefined"],"sources":["use-workspace.ts"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport { ComponentModel } from '@teambit/component';\nimport useLatest from '@react-hook/latest';\nimport { useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\nimport { gql } from '@apollo/client';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\n\nimport { Workspace } from './workspace-model';\n\ntype UseWorkspaceOptions = {\n onComponentAdded?: (component: ComponentModel[]) => void;\n onComponentUpdated?: (component: ComponentModel[]) => void;\n onComponentRemoved?: (compId: ComponentID[]) => void;\n};\ntype RawComponent = { id: ComponentIdObj };\n\nconst wcComponentFields = gql`\n fragment wcComponentFields on Component {\n id {\n name\n version\n scope\n }\n aspects(include: [\"teambit.preview/preview\", \"teambit.envs/envs\"]) {\n # 'id' property in gql refers to a *global* identifier and used for caching.\n # this makes aspect data cache under the same key, even when they are under different components.\n # renaming the property fixes that.\n aspectId: id\n data\n }\n compositions {\n identifier\n }\n description\n issuesCount\n status {\n isOutdated\n isNew\n isInScope\n isStaged\n modifyInfo {\n hasModifiedFiles\n hasModifiedDependencies\n }\n isDeleted\n }\n buildStatus\n preview {\n includesEnvTemplate\n legacyHeader\n isScaling\n skipIncludes\n }\n deprecation {\n isDeprecate\n newId\n }\n server {\n env\n url\n }\n env {\n id\n icon\n }\n }\n`;\n\nconst WORKSPACE = gql`\n query workspace {\n workspace {\n name\n path\n icon\n components {\n ...wcComponentFields\n }\n }\n }\n ${wcComponentFields}\n`;\n\nconst COMPONENT_SUBSCRIPTION_ADDED = gql`\n subscription OnComponentAdded {\n componentAdded {\n component {\n ...wcComponentFields\n }\n }\n }\n ${wcComponentFields}\n`;\n\nconst COMPONENT_SUBSCRIPTION_CHANGED = gql`\n subscription OnComponentChanged {\n componentChanged {\n component {\n ...wcComponentFields\n }\n }\n }\n ${wcComponentFields}\n`;\n\nconst COMPONENT_SUBSCRIPTION_REMOVED = gql`\n subscription OnComponentRemoved {\n componentRemoved {\n componentIds {\n name\n version\n scope\n }\n }\n }\n`;\n\nexport function useWorkspace(options: UseWorkspaceOptions = {}) {\n const { data, subscribeToMore, ...rest } = useDataQuery(WORKSPACE);\n const optionsRef = useLatest(options);\n\n useEffect(() => {\n const unSubCompAddition = subscribeToMore({\n document: COMPONENT_SUBSCRIPTION_ADDED,\n updateQuery: (prev, { subscriptionData }) => {\n const update = subscriptionData.data;\n const addedComponent = update?.componentAdded?.component;\n if (!addedComponent) return prev;\n\n const componentExists = prev.workspace.components.find((component: any) =>\n ComponentID.isEqualObj(component.id, addedComponent.id, { ignoreVersion: true })\n );\n if (componentExists) return prev;\n\n // side effect - trigger observers\n setTimeout(() => optionsRef.current.onComponentAdded?.([ComponentModel.from(addedComponent)]));\n\n return {\n ...prev,\n workspace: {\n ...prev.workspace,\n components: [...prev.workspace.components, addedComponent],\n },\n };\n },\n });\n\n const unSubCompChange = subscribeToMore({\n document: COMPONENT_SUBSCRIPTION_CHANGED,\n updateQuery: (prev, { subscriptionData }) => {\n const update = subscriptionData.data;\n if (!update) return prev;\n\n const updatedComponent = update.componentChanged.component;\n // side effect - trigger observers\n setTimeout(() => optionsRef.current.onComponentUpdated?.([ComponentModel.from(updatedComponent)]));\n\n return {\n ...prev,\n workspace: {\n ...prev.workspace,\n components: prev.workspace.components.map((component) =>\n component.id.name === updatedComponent.id.name ? updatedComponent : component\n ),\n },\n };\n },\n });\n\n const unSubCompRemoved = subscribeToMore({\n document: COMPONENT_SUBSCRIPTION_REMOVED,\n updateQuery: (prev, { subscriptionData }) => {\n const idsToRemove: ComponentIdObj[] | undefined = subscriptionData.data?.componentRemoved?.componentIds;\n if (!idsToRemove || idsToRemove.length === 0) return prev;\n\n // side effect - trigger observers\n setTimeout(() => optionsRef.current.onComponentRemoved?.(idsToRemove.map((id) => ComponentID.fromObject(id))));\n\n return {\n ...prev,\n workspace: {\n ...prev.workspace,\n components: prev.workspace.components.filter((component: RawComponent) =>\n idsToRemove.every((id) => !ComponentID.isEqualObj(id, component.id))\n ),\n },\n };\n },\n });\n\n // TODO - sub to component removal\n\n return () => {\n unSubCompAddition();\n unSubCompChange();\n unSubCompRemoved();\n };\n }, [optionsRef]);\n\n const workspace = useMemo(() => {\n return data?.workspace ? Workspace.from(data?.workspace) : undefined;\n }, [data?.workspace]);\n\n return {\n workspace,\n subscribeToMore,\n ...rest,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","require","_component","_latest","_interopRequireDefault","_uiFoundationUiHooks","_client","_componentId","_workspaceModel","_excluded","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","hasOwnProperty","wcComponentFields","gql","WORKSPACE","COMPONENT_SUBSCRIPTION_ADDED","COMPONENT_SUBSCRIPTION_CHANGED","COMPONENT_SUBSCRIPTION_REMOVED","useWorkspace","options","_useDataQuery","useDataQuery","subscribeToMore","rest","optionsRef","useLatest","useEffect","unSubCompAddition","document","updateQuery","prev","subscriptionData","update","addedComponent","componentAdded","component","componentExists","workspace","components","find","ComponentID","isEqualObj","id","ignoreVersion","setTimeout","current","onComponentAdded","ComponentModel","from","unSubCompChange","updatedComponent","componentChanged","onComponentUpdated","map","name","unSubCompRemoved","idsToRemove","componentRemoved","componentIds","onComponentRemoved","fromObject","every","useMemo","Workspace","undefined"],"sources":["use-workspace.ts"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport { ComponentModel } from '@teambit/component';\nimport useLatest from '@react-hook/latest';\nimport { useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\nimport { gql } from '@apollo/client';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\n\nimport { Workspace } from './workspace-model';\n\ntype UseWorkspaceOptions = {\n onComponentAdded?: (component: ComponentModel[]) => void;\n onComponentUpdated?: (component: ComponentModel[]) => void;\n onComponentRemoved?: (compId: ComponentID[]) => void;\n};\ntype RawComponent = { id: ComponentIdObj };\n\nconst wcComponentFields = gql`\n fragment wcComponentFields on Component {\n id {\n name\n version\n scope\n }\n aspects(include: [\"teambit.preview/preview\", \"teambit.envs/envs\"]) {\n # 'id' property in gql refers to a *global* identifier and used for caching.\n # this makes aspect data cache under the same key, even when they are under different components.\n # renaming the property fixes that.\n aspectId: id\n data\n }\n compositions {\n identifier\n }\n description\n issuesCount\n status {\n isOutdated\n isNew\n isInScope\n isStaged\n modifyInfo {\n hasModifiedFiles\n hasModifiedDependencies\n }\n isDeleted\n }\n buildStatus\n preview {\n includesEnvTemplate\n legacyHeader\n isScaling\n skipIncludes\n }\n deprecation {\n isDeprecate\n newId\n }\n server {\n env\n url\n }\n env {\n id\n icon\n }\n }\n`;\n\nconst WORKSPACE = gql`\n query workspace {\n workspace {\n name\n path\n icon\n components {\n ...wcComponentFields\n }\n }\n }\n ${wcComponentFields}\n`;\n\nconst COMPONENT_SUBSCRIPTION_ADDED = gql`\n subscription OnComponentAdded {\n componentAdded {\n component {\n ...wcComponentFields\n }\n }\n }\n ${wcComponentFields}\n`;\n\nconst COMPONENT_SUBSCRIPTION_CHANGED = gql`\n subscription OnComponentChanged {\n componentChanged {\n component {\n ...wcComponentFields\n }\n }\n }\n ${wcComponentFields}\n`;\n\nconst COMPONENT_SUBSCRIPTION_REMOVED = gql`\n subscription OnComponentRemoved {\n componentRemoved {\n componentIds {\n name\n version\n scope\n }\n }\n }\n`;\n\nexport function useWorkspace(options: UseWorkspaceOptions = {}) {\n const { data, subscribeToMore, ...rest } = useDataQuery(WORKSPACE);\n const optionsRef = useLatest(options);\n\n useEffect(() => {\n const unSubCompAddition = subscribeToMore({\n document: COMPONENT_SUBSCRIPTION_ADDED,\n updateQuery: (prev, { subscriptionData }) => {\n const update = subscriptionData.data;\n const addedComponent = update?.componentAdded?.component;\n if (!addedComponent) return prev;\n\n const componentExists = prev.workspace.components.find((component: any) =>\n ComponentID.isEqualObj(component.id, addedComponent.id, { ignoreVersion: true })\n );\n if (componentExists) return prev;\n\n // side effect - trigger observers\n setTimeout(() => optionsRef.current.onComponentAdded?.([ComponentModel.from(addedComponent)]));\n\n return {\n ...prev,\n workspace: {\n ...prev.workspace,\n components: [...prev.workspace.components, addedComponent],\n },\n };\n },\n });\n\n const unSubCompChange = subscribeToMore({\n document: COMPONENT_SUBSCRIPTION_CHANGED,\n updateQuery: (prev, { subscriptionData }) => {\n const update = subscriptionData.data;\n if (!update) return prev;\n\n const updatedComponent = update.componentChanged.component;\n // side effect - trigger observers\n setTimeout(() => optionsRef.current.onComponentUpdated?.([ComponentModel.from(updatedComponent)]));\n\n return {\n ...prev,\n workspace: {\n ...prev.workspace,\n components: prev.workspace.components.map((component) =>\n component.id.name === updatedComponent.id.name ? updatedComponent : component\n ),\n },\n };\n },\n });\n\n const unSubCompRemoved = subscribeToMore({\n document: COMPONENT_SUBSCRIPTION_REMOVED,\n updateQuery: (prev, { subscriptionData }) => {\n const idsToRemove: ComponentIdObj[] | undefined = subscriptionData.data?.componentRemoved?.componentIds;\n if (!idsToRemove || idsToRemove.length === 0) return prev;\n\n // side effect - trigger observers\n setTimeout(() => optionsRef.current.onComponentRemoved?.(idsToRemove.map((id) => ComponentID.fromObject(id))));\n\n return {\n ...prev,\n workspace: {\n ...prev.workspace,\n components: prev.workspace.components.filter((component: RawComponent) =>\n idsToRemove.every((id) => !ComponentID.isEqualObj(id, component.id))\n ),\n },\n };\n },\n });\n\n // TODO - sub to component removal\n\n return () => {\n unSubCompAddition();\n unSubCompChange();\n unSubCompRemoved();\n };\n }, [optionsRef]);\n\n const workspace = useMemo(() => {\n return data?.workspace ? Workspace.from(data?.workspace) : undefined;\n }, [data?.workspace]);\n\n return {\n workspace,\n subscribeToMore,\n ...rest,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import { Workspace } from './workspace';
|
|
3
|
+
export declare class UnuseCmd implements Command {
|
|
4
|
+
private workspace;
|
|
5
|
+
name: string;
|
|
6
|
+
group: string;
|
|
7
|
+
description: string;
|
|
8
|
+
arguments: {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}[];
|
|
12
|
+
alias: string;
|
|
13
|
+
options: CommandOptions;
|
|
14
|
+
loader: boolean;
|
|
15
|
+
remoteOp: boolean;
|
|
16
|
+
constructor(workspace: Workspace);
|
|
17
|
+
report([id]: [string]): Promise<any>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.UnuseCmd = void 0;
|
|
7
|
+
function _chalk() {
|
|
8
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
9
|
+
_chalk = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
17
|
+
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); }
|
|
18
|
+
class UnuseCmd {
|
|
19
|
+
constructor(workspace) {
|
|
20
|
+
this.workspace = workspace;
|
|
21
|
+
_defineProperty(this, "name", 'unuse <component-id>');
|
|
22
|
+
_defineProperty(this, "group", 'collaborate');
|
|
23
|
+
_defineProperty(this, "description", 'unset aspects in the workspace config (opposite of "use" command)');
|
|
24
|
+
_defineProperty(this, "arguments", [{
|
|
25
|
+
name: 'component-id',
|
|
26
|
+
description: 'the component ID of the aspect'
|
|
27
|
+
}]);
|
|
28
|
+
_defineProperty(this, "alias", '');
|
|
29
|
+
_defineProperty(this, "options", []);
|
|
30
|
+
_defineProperty(this, "loader", true);
|
|
31
|
+
_defineProperty(this, "remoteOp", true);
|
|
32
|
+
}
|
|
33
|
+
async report([id]) {
|
|
34
|
+
const result = await this.workspace.unuse(id);
|
|
35
|
+
if (!result) return _chalk().default.yellow(`"${id}" was not found in the workspace.jsonc file.`);
|
|
36
|
+
return _chalk().default.green(`workspace.jsonc updated successfully! the aspect "${id}" has been removed.`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.UnuseCmd = UnuseCmd;
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=unuse.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","UnuseCmd","constructor","workspace","name","description","report","id","result","unuse","chalk","yellow","green","exports"],"sources":["unuse.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { Workspace } from './workspace';\n\nexport class UnuseCmd implements Command {\n name = 'unuse <component-id>';\n group = 'collaborate';\n description = 'unset aspects in the workspace config (opposite of \"use\" command)';\n arguments = [{ name: 'component-id', description: 'the component ID of the aspect' }];\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n remoteOp = true;\n\n constructor(private workspace: Workspace) {}\n\n async report([id]: [string]): Promise<any> {\n const result = await this.workspace.unuse(id);\n if (!result) return chalk.yellow(`\"${id}\" was not found in the workspace.jsonc file.`);\n return chalk.green(`workspace.jsonc updated successfully! the aspect \"${id}\" has been removed.`);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAGnB,MAAMW,QAAQ,CAAoB;EAUvCC,WAAWA,CAASC,SAAoB,EAAE;IAAA,KAAtBA,SAAoB,GAApBA,SAAoB;IAAAtB,eAAA,eATjC,sBAAsB;IAAAA,eAAA,gBACrB,aAAa;IAAAA,eAAA,sBACP,mEAAmE;IAAAA,eAAA,oBACrE,CAAC;MAAEuB,IAAI,EAAE,cAAc;MAAEC,WAAW,EAAE;IAAiC,CAAC,CAAC;IAAAxB,eAAA,gBAC7E,EAAE;IAAAA,eAAA,kBACA,EAAE;IAAAA,eAAA,iBACH,IAAI;IAAAA,eAAA,mBACF,IAAI;EAE4B;EAE3C,MAAMyB,MAAMA,CAAC,CAACC,EAAE,CAAW,EAAgB;IACzC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,SAAS,CAACM,KAAK,CAACF,EAAE,CAAC;IAC7C,IAAI,CAACC,MAAM,EAAE,OAAOE,gBAAK,CAACC,MAAM,CAAE,IAAGJ,EAAG,8CAA6C,CAAC;IACtF,OAAOG,gBAAK,CAACE,KAAK,CAAE,qDAAoDL,EAAG,qBAAoB,CAAC;EAClG;AACF;AAACM,OAAA,CAAAZ,QAAA,GAAAA,QAAA","ignoreList":[]}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { PubsubMain } from '@teambit/pubsub';
|
|
|
3
3
|
import { IssuesList } from '@teambit/component-issues';
|
|
4
4
|
import type { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';
|
|
5
5
|
import { ComponentMain, Component, ComponentFactory, InvalidComponent, ResolveAspectsOptions } from '@teambit/component';
|
|
6
|
-
import { ComponentScopeDirMap } from '@teambit/config';
|
|
6
|
+
import { ComponentScopeDirMap, WorkspaceConfig } from '@teambit/config';
|
|
7
7
|
import { DependencyResolverMain, DependencyList } from '@teambit/dependency-resolver';
|
|
8
8
|
import { EnvsMain } from '@teambit/envs';
|
|
9
9
|
import { GraphqlMain } from '@teambit/graphql';
|
|
@@ -287,7 +287,8 @@ export declare class Workspace implements ComponentFactory {
|
|
|
287
287
|
clearAllComponentsCache(): void;
|
|
288
288
|
clearComponentCache(id: ComponentID): void;
|
|
289
289
|
warmCache(): Promise<void>;
|
|
290
|
-
|
|
290
|
+
getWorkspaceConfig(): WorkspaceConfig;
|
|
291
|
+
cleanFromConfig(ids: ComponentID[]): Promise<boolean>;
|
|
291
292
|
triggerOnComponentChange(id: ComponentID, files: PathOsBasedAbsolute[], removedFiles: PathOsBasedAbsolute[], watchOpts: WatchOptions): Promise<OnComponentEventResult[]>;
|
|
292
293
|
triggerOnComponentAdd(id: ComponentID, watchOpts: WatchOptions): Promise<OnComponentEventResult[]>;
|
|
293
294
|
triggerOnComponentRemove(id: ComponentID): Promise<OnComponentEventResult[]>;
|
|
@@ -362,6 +363,7 @@ export declare class Workspace implements ComponentFactory {
|
|
|
362
363
|
importAndGetMany(ids: Array<ComponentID>, reason?: string, loadOpts?: ComponentLoadOptions, throwOnError?: boolean): Promise<Component[]>;
|
|
363
364
|
importCurrentLaneIfMissing(): Promise<Lane | undefined>;
|
|
364
365
|
use(aspectIdStr: string): Promise<string>;
|
|
366
|
+
unuse(aspectIdStr: string): Promise<boolean>;
|
|
365
367
|
write(component: Component, rootPath?: string): Promise<void>;
|
|
366
368
|
/**
|
|
367
369
|
* @todo: the return path here is Linux when asking for relative and os-based when asking for absolute. fix this to be consistent.
|
package/dist/workspace.js
CHANGED
|
@@ -884,14 +884,20 @@ it's possible that the version ${component.id.version} belong to ${idStr.split('
|
|
|
884
884
|
async warmCache() {
|
|
885
885
|
await this.list();
|
|
886
886
|
}
|
|
887
|
-
|
|
887
|
+
getWorkspaceConfig() {
|
|
888
888
|
const config = this.harmony.get('teambit.harmony/config');
|
|
889
889
|
const workspaceConfig = config.workspaceConfig;
|
|
890
890
|
if (!workspaceConfig) throw new Error('workspace config is missing from Config aspect');
|
|
891
|
-
|
|
891
|
+
return workspaceConfig;
|
|
892
|
+
}
|
|
893
|
+
async cleanFromConfig(ids) {
|
|
894
|
+
const workspaceConfig = this.getWorkspaceConfig();
|
|
895
|
+
const wereIdsRemoved = ids.map(id => workspaceConfig.removeExtension(id));
|
|
896
|
+
const hasChanged = wereIdsRemoved.some(isRemoved => isRemoved);
|
|
892
897
|
if (hasChanged) await workspaceConfig.write({
|
|
893
898
|
reasonForChange: 'remove components'
|
|
894
899
|
});
|
|
900
|
+
return hasChanged;
|
|
895
901
|
}
|
|
896
902
|
async triggerOnComponentChange(id, files, removedFiles, watchOpts) {
|
|
897
903
|
const component = await this.get(id);
|
|
@@ -1238,6 +1244,10 @@ the following envs are used in this workspace: ${availableEnvs.join(', ')}`);
|
|
|
1238
1244
|
const workspaceAspectsLoader = this.getWorkspaceAspectsLoader();
|
|
1239
1245
|
return workspaceAspectsLoader.use(aspectIdStr);
|
|
1240
1246
|
}
|
|
1247
|
+
async unuse(aspectIdStr) {
|
|
1248
|
+
const compId = await this.resolveComponentId(aspectIdStr);
|
|
1249
|
+
return this.cleanFromConfig([compId]);
|
|
1250
|
+
}
|
|
1241
1251
|
async write(component, rootPath) {
|
|
1242
1252
|
await Promise.all(component.filesystem.files.map(async file => {
|
|
1243
1253
|
const pathToWrite = rootPath ? _path2().default.join(this.path, rootPath, file.relative) : file.path;
|
|
@@ -1478,8 +1488,8 @@ the following envs are used in this workspace: ${availableEnvs.join(', ')}`);
|
|
|
1478
1488
|
if (!(0, _legacyBitId().isValidScopeName)(scopeName)) {
|
|
1479
1489
|
throw new (_legacyBitId().InvalidScopeName)(scopeName);
|
|
1480
1490
|
}
|
|
1481
|
-
const
|
|
1482
|
-
|
|
1491
|
+
const workspaceConfig = this.getWorkspaceConfig();
|
|
1492
|
+
workspaceConfig.setExtension(_workspace().WorkspaceAspect.id, {
|
|
1483
1493
|
defaultScope: scopeName
|
|
1484
1494
|
}, {
|
|
1485
1495
|
mergeIntoExisting: true,
|
|
@@ -1490,7 +1500,7 @@ the following envs are used in this workspace: ${availableEnvs.join(', ')}`);
|
|
|
1490
1500
|
this.bitMap.updateDefaultScope(this.config.defaultScope, scopeName);
|
|
1491
1501
|
}
|
|
1492
1502
|
this.config.defaultScope = scopeName;
|
|
1493
|
-
await
|
|
1503
|
+
await workspaceConfig.write({
|
|
1494
1504
|
reasonForChange: `default-scope (${scopeName})`
|
|
1495
1505
|
});
|
|
1496
1506
|
await this.bitMap.write('scope-set');
|