@teambit/workspace 0.0.843 → 0.0.846

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.
Files changed (86) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/ui/workspace/use-workspace.js +3 -0
  4. package/dist/ui/workspace/use-workspace.js.map +1 -1
  5. package/dist/workspace.d.ts +9 -60
  6. package/dist/workspace.js +37 -409
  7. package/dist/workspace.js.map +1 -1
  8. package/dist/workspace.main.runtime.js +1 -11
  9. package/dist/workspace.main.runtime.js.map +1 -1
  10. package/dist/workspace.provider.d.ts +2 -4
  11. package/dist/workspace.provider.js +3 -66
  12. package/dist/workspace.provider.js.map +1 -1
  13. package/dist/workspace.ui.runtime.d.ts +2 -1
  14. package/dist/workspace.ui.runtime.js +27 -6
  15. package/dist/workspace.ui.runtime.js.map +1 -1
  16. package/package-tar/teambit-workspace-0.0.846.tgz +0 -0
  17. package/package.json +33 -42
  18. package/{preview-1662089982043.js → preview-1662608124038.js} +2 -2
  19. package/ui/workspace/use-workspace.ts +3 -0
  20. package/workspace.ui.runtime.tsx +16 -6
  21. package/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -171
  22. package/dist/__snapshots__/pick-outdated-pkgs.spec.js.snap +0 -171
  23. package/dist/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -171
  24. package/dist/exceptions/dependency-type-not-supported-in-policy.d.ts +0 -4
  25. package/dist/exceptions/dependency-type-not-supported-in-policy.js +0 -27
  26. package/dist/exceptions/dependency-type-not-supported-in-policy.js.map +0 -1
  27. package/dist/exceptions/index.d.ts +0 -1
  28. package/dist/exceptions/index.js +0 -23
  29. package/dist/exceptions/index.js.map +0 -1
  30. package/dist/install.cmd.d.ts +0 -44
  31. package/dist/install.cmd.js +0 -85
  32. package/dist/install.cmd.js.map +0 -1
  33. package/dist/link/component-list-links.d.ts +0 -7
  34. package/dist/link/component-list-links.js +0 -98
  35. package/dist/link/component-list-links.js.map +0 -1
  36. package/dist/link/core-aspects-links.d.ts +0 -7
  37. package/dist/link/core-aspects-links.js +0 -95
  38. package/dist/link/core-aspects-links.js.map +0 -1
  39. package/dist/link/get-package-name-from-target.d.ts +0 -1
  40. package/dist/link/get-package-name-from-target.js +0 -16
  41. package/dist/link/get-package-name-from-target.js.map +0 -1
  42. package/dist/link/index.d.ts +0 -1
  43. package/dist/link/index.js +0 -23
  44. package/dist/link/index.js.map +0 -1
  45. package/dist/link/link-row.d.ts +0 -12
  46. package/dist/link/link-row.js +0 -38
  47. package/dist/link/link-row.js.map +0 -1
  48. package/dist/link/link-to-dir.d.ts +0 -2
  49. package/dist/link/link-to-dir.js +0 -45
  50. package/dist/link/link-to-dir.js.map +0 -1
  51. package/dist/link/link.cmd.d.ts +0 -44
  52. package/dist/link/link.cmd.js +0 -176
  53. package/dist/link/link.cmd.js.map +0 -1
  54. package/dist/link/nested-deps-in-nm-links.d.ts +0 -7
  55. package/dist/link/nested-deps-in-nm-links.js +0 -74
  56. package/dist/link/nested-deps-in-nm-links.js.map +0 -1
  57. package/dist/link/rewire-row.d.ts +0 -6
  58. package/dist/link/rewire-row.js +0 -31
  59. package/dist/link/rewire-row.js.map +0 -1
  60. package/dist/pick-outdated-pkgs.d.ts +0 -16
  61. package/dist/pick-outdated-pkgs.js +0 -308
  62. package/dist/pick-outdated-pkgs.js.map +0 -1
  63. package/dist/pick-outdated-pkgs.spec.d.ts +0 -1
  64. package/dist/pick-outdated-pkgs.spec.js +0 -121
  65. package/dist/pick-outdated-pkgs.spec.js.map +0 -1
  66. package/dist/uninstall.cmd.d.ts +0 -19
  67. package/dist/uninstall.cmd.js +0 -47
  68. package/dist/uninstall.cmd.js.map +0 -1
  69. package/dist/update.cmd.d.ts +0 -23
  70. package/dist/update.cmd.js +0 -47
  71. package/dist/update.cmd.js.map +0 -1
  72. package/exceptions/dependency-type-not-supported-in-policy.ts +0 -7
  73. package/exceptions/index.ts +0 -1
  74. package/install.cmd.tsx +0 -72
  75. package/link/component-list-links.ts +0 -50
  76. package/link/core-aspects-links.ts +0 -50
  77. package/link/get-package-name-from-target.ts +0 -5
  78. package/link/index.ts +0 -1
  79. package/link/link-row.ts +0 -20
  80. package/link/link-to-dir.ts +0 -13
  81. package/link/link.cmd.ts +0 -100
  82. package/link/nested-deps-in-nm-links.ts +0 -47
  83. package/link/rewire-row.ts +0 -17
  84. package/package-tar/teambit-workspace-0.0.843.tgz +0 -0
  85. package/uninstall.cmd.tsx +0 -23
  86. package/update.cmd.tsx +0 -29
package/dist/index.d.ts CHANGED
@@ -12,5 +12,6 @@ export { ComponentStatus } from './workspace-component';
12
12
  export { WorkspaceModelComponent } from './ui/workspace/workspace-model';
13
13
  export { WorkspaceContext } from './ui/workspace/workspace-context';
14
14
  export type { WorkspaceComponent } from './workspace-component';
15
+ export type { ComponentConfigFile } from './component-config-file';
15
16
  export { WorkspaceAspect };
16
17
  export default WorkspaceAspect;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["WorkspaceAspect"],"sources":["index.ts"],"sourcesContent":["import { WorkspaceAspect } from './workspace.aspect';\n// eslint-disable-next-line import/prefer-default-export\nexport type { default as Workspace, ExtensionsOrigin } from './workspace';\n// TODO: change to module path once track the utils folder\nexport type { ResolvedComponent } from '@teambit/harmony.modules.resolved-component';\nexport type { AlreadyExistsError as ComponentConfigFileAlreadyExistsError } from './component-config-file';\nexport type { WorkspaceMain } from './workspace.main.runtime';\nexport type { WatchOptions } from './watch/watcher';\nexport { CheckTypes } from './watch/check-types';\nexport * from './events';\nexport type { WorkspaceUI } from './workspace.ui.runtime';\nexport type { SerializableResults, OnComponentLoad, OnComponentEventResult } from './on-component-events';\nexport { ComponentStatus } from './workspace-component';\nexport { WorkspaceModelComponent } from './ui/workspace/workspace-model';\nexport { WorkspaceContext } from './ui/workspace/workspace-context';\nexport type { WorkspaceComponent } from './workspace-component';\n\nexport { WorkspaceAspect };\nexport default WorkspaceAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAQA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAIeA,4B"}
1
+ {"version":3,"names":["WorkspaceAspect"],"sources":["index.ts"],"sourcesContent":["import { WorkspaceAspect } from './workspace.aspect';\n// eslint-disable-next-line import/prefer-default-export\nexport type { default as Workspace, ExtensionsOrigin } from './workspace';\n// TODO: change to module path once track the utils folder\nexport type { ResolvedComponent } from '@teambit/harmony.modules.resolved-component';\nexport type { AlreadyExistsError as ComponentConfigFileAlreadyExistsError } from './component-config-file';\nexport type { WorkspaceMain } from './workspace.main.runtime';\nexport type { WatchOptions } from './watch/watcher';\nexport { CheckTypes } from './watch/check-types';\nexport * from './events';\nexport type { WorkspaceUI } from './workspace.ui.runtime';\nexport type { SerializableResults, OnComponentLoad, OnComponentEventResult } from './on-component-events';\nexport { ComponentStatus } from './workspace-component';\nexport { WorkspaceModelComponent } from './ui/workspace/workspace-model';\nexport { WorkspaceContext } from './ui/workspace/workspace-context';\nexport type { WorkspaceComponent } from './workspace-component';\nexport type { ComponentConfigFile } from './component-config-file';\n\nexport { WorkspaceAspect };\nexport default WorkspaceAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAQA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAKeA,4B"}
@@ -126,6 +126,9 @@ const wcComponentFields = (0, _client().gql)`
126
126
  }
127
127
  isDeleted
128
128
  }
129
+ preview {
130
+ isScaling
131
+ }
129
132
  deprecation {
130
133
  isDeprecate
131
134
  newId
@@ -1 +1 @@
1
- {"version":3,"names":["wcComponentFields","gql","WORKSPACE","COMPONENT_SUBSCRIPTION_ADDED","COMPONENT_SUBSCRIPTION_CHANGED","COMPONENT_SUBSCRIPTION_REMOVED","useWorkspace","options","useDataQuery","data","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","length","onComponentRemoved","fromObject","filter","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 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 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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"}
1
+ {"version":3,"names":["wcComponentFields","gql","WORKSPACE","COMPONENT_SUBSCRIPTION_ADDED","COMPONENT_SUBSCRIPTION_CHANGED","COMPONENT_SUBSCRIPTION_REMOVED","useWorkspace","options","useDataQuery","data","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","length","onComponentRemoved","fromObject","filter","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 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 preview {\n isScaling\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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"}
@@ -1,13 +1,12 @@
1
1
  import type { PubsubMain } from '@teambit/pubsub';
2
2
  import { IssuesList } from '@teambit/component-issues';
3
3
  import type { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';
4
- import { ComponentMain, Component, ComponentFactory, ComponentID, ComponentMap, AspectList, AspectData, InvalidComponent, ResolveAspectsOptions } from '@teambit/component';
4
+ import { ComponentMain, Component, ComponentFactory, ComponentID, AspectList, AspectData, InvalidComponent, ResolveAspectsOptions } from '@teambit/component';
5
5
  import { ComponentScopeDirMap } from '@teambit/config';
6
- import { WorkspaceDependencyLifecycleType, DependencyResolverMain, LinkingOptions, LinkResults } from '@teambit/dependency-resolver';
6
+ import { DependencyResolverMain } from '@teambit/dependency-resolver';
7
7
  import { EnvsMain } from '@teambit/envs';
8
8
  import { GraphqlMain } from '@teambit/graphql';
9
9
  import { Harmony } from '@teambit/harmony';
10
- import { IsolatorMain } from '@teambit/isolator';
11
10
  import { Logger } from '@teambit/logger';
12
11
  import type { ScopeMain } from '@teambit/scope';
13
12
  import { RequireableComponent } from '@teambit/harmony.modules.requireable-component';
@@ -27,6 +26,7 @@ import type { ComponentLog } from '@teambit/legacy/dist/scope/models/model-compo
27
26
  import { CompilationInitiator } from '@teambit/compiler';
28
27
  import { Lane } from '@teambit/legacy/dist/scope/models';
29
28
  import { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader';
29
+ import { ComponentConfigFile } from './component-config-file';
30
30
  import { OnComponentAdd, OnComponentChange, OnComponentEventResult, OnComponentLoad, OnComponentRemove } from './on-component-events';
31
31
  import { WorkspaceExtConfig } from './types';
32
32
  import { Watcher, WatchOptions } from './watch/watcher';
@@ -46,19 +46,6 @@ export interface EjectConfOptions {
46
46
  propagate?: boolean;
47
47
  override?: boolean;
48
48
  }
49
- export declare type WorkspaceInstallOptions = {
50
- addMissingPeers?: boolean;
51
- variants?: string;
52
- lifecycleType?: WorkspaceDependencyLifecycleType;
53
- dedupe: boolean;
54
- import: boolean;
55
- copyPeerToRuntimeOnRoot?: boolean;
56
- copyPeerToRuntimeOnComponents?: boolean;
57
- updateExisting: boolean;
58
- savePrefix?: string;
59
- };
60
- export declare type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;
61
- export declare type WorkspaceLinkOptions = LinkingOptions;
62
49
  export declare type TrackData = {
63
50
  rootDir: PathOsBasedRelative;
64
51
  componentName?: string;
@@ -95,7 +82,6 @@ export declare class Workspace implements ComponentFactory {
95
82
  * access to the `ComponentProvider` instance
96
83
  */
97
84
  private componentAspect;
98
- private isolator;
99
85
  private dependencyResolver;
100
86
  private variants;
101
87
  private aspectLoader;
@@ -145,7 +131,7 @@ export declare class Workspace implements ComponentFactory {
145
131
  /**
146
132
  * access to the `ComponentProvider` instance
147
133
  */
148
- componentAspect: ComponentMain, isolator: IsolatorMain, dependencyResolver: DependencyResolverMain, variants: VariantsMain, aspectLoader: AspectLoaderMain, logger: Logger, componentList: ComponentsList,
134
+ componentAspect: ComponentMain, dependencyResolver: DependencyResolverMain, variants: VariantsMain, aspectLoader: AspectLoaderMain, logger: Logger, componentList: ComponentsList,
149
135
  /**
150
136
  * private reference to the instance of Harmony.
151
137
  */
@@ -405,7 +391,11 @@ export declare class Workspace implements ComponentFactory {
405
391
  * return the component config from its folder (component.json)
406
392
  * @param componentId
407
393
  */
408
- private componentConfigFile;
394
+ componentConfigFile(id: ComponentID): Promise<ComponentConfigFile | undefined>;
395
+ /**
396
+ * @param componentPath can be relative or absolute. supports Linux and Windows
397
+ */
398
+ getComponentIdByPath(componentPath: PathOsBased): Promise<ComponentID | undefined>;
409
399
  private componentConfigFileFromComponentDirAndName;
410
400
  getAspectsGraphWithoutCore(components: Component[], isAspect?: ShouldLoadFunc): Promise<LegacyGraph>;
411
401
  /**
@@ -433,40 +423,6 @@ export declare class Workspace implements ComponentFactory {
433
423
  */
434
424
  getTempDir(id: string): string;
435
425
  requireComponents(components: Component[]): Promise<RequireableComponent[]>;
436
- private getComponentsDirectory;
437
- /**
438
- * Install dependencies for all components in the workspace
439
- *
440
- * @returns
441
- * @memberof Workspace
442
- */
443
- install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>>;
444
- private _addPackages;
445
- private _getComponentsWithDependencyPolicies;
446
- /**
447
- * Updates out-of-date dependencies in the workspace.
448
- *
449
- * @param options.all {Boolean} updates all outdated dependencies without showing a prompt.
450
- */
451
- updateDependencies(options: {
452
- all: boolean;
453
- }): Promise<ComponentMap<string>>;
454
- private _variantPatternsToDepPolicesDict;
455
- private _updateVariantsPolicies;
456
- private _saveManyComponentConfigFiles;
457
- private _installModules;
458
- link(options?: WorkspaceLinkOptions): Promise<LinkResults>;
459
- /**
460
- * @param componentPath can be relative or absolute. supports Linux and Windows
461
- */
462
- getComponentIdByPath(componentPath: PathOsBased): Promise<ComponentID | undefined>;
463
- /**
464
- * Generate a filter to pass to the installer
465
- * This will filter deps which are come from remotes which defined in scope.json
466
- * those components comes from local remotes, usually doesn't have a package in a registry
467
- * so no reason to try to install them (it will fail)
468
- */
469
- private generateFilterFnForDepsFromLocalRemote;
470
426
  /**
471
427
  * whether a scope is hosted by Bit cloud.
472
428
  * otherwise, it is self-hosted
@@ -476,7 +432,6 @@ export declare class Workspace implements ComponentFactory {
476
432
  * same as `this.importAndGetMany()` with a specific error handling of ComponentNotFound
477
433
  */
478
434
  private importAndGetAspects;
479
- private importObjects;
480
435
  /**
481
436
  * this should be rarely in-use.
482
437
  * it's currently used by watch extension as a quick workaround to load .bitmap and the components
@@ -510,12 +465,6 @@ export declare class Workspace implements ComponentFactory {
510
465
  * @memberof Workspace
511
466
  */
512
467
  addDefaultScopeToExtensionsList(extensions: ExtensionDataList): Promise<void[]>;
513
- /**
514
- * Uninstall the specified packages from dependencies.
515
- *
516
- * @param {string[]} the list of packages that should be removed from dependencies.
517
- */
518
- uninstallDependencies(packages: string[]): Promise<ComponentMap<string>>;
519
468
  /**
520
469
  * configure an environment to the given components in the .bitmap file, this configuration overrides other, such as
521
470
  * overrides in workspace.jsonc.