diff --git a/.bitmap b/.bitmap index b2292b152000..7874bfc9e9ae 100644 --- a/.bitmap +++ b/.bitmap @@ -380,6 +380,13 @@ "mainFile": "index.ts", "rootDir": "components/component-issues" }, + "component-list": { + "name": "component-list", + "scope": "teambit.legacy", + "version": "0.0.2", + "mainFile": "index.ts", + "rootDir": "components/legacy/component-list" + }, "component-log": { "name": "component-log", "scope": "teambit.component", diff --git a/src/consumer/component/components-list.spec.ts b/components/legacy/component-list/components-list.spec.ts similarity index 95% rename from src/consumer/component/components-list.spec.ts rename to components/legacy/component-list/components-list.spec.ts index c77127f9dfdb..80d9b537deb8 100644 --- a/src/consumer/component/components-list.spec.ts +++ b/components/legacy/component-list/components-list.spec.ts @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { ComponentID, ComponentIdList } from '@teambit/component-id'; -import { ModelComponent } from '../../scope/models'; -import ComponentsList from './components-list'; +import { ModelComponent } from '@teambit/legacy/dist/scope/models'; +import { ComponentsList } from './components-list'; describe('ComponentList', function () { // @ts-ignore @@ -42,7 +42,7 @@ describe('ComponentList', function () { const results = await componentList.listAll(false, true); const result = results[0]; expect(result).to.have.property('id'); - expect(result.id).to.be.an.instanceOf(ComponentID); + expect(result.id.constructor.name).to.equal(ComponentID.name); }); }); describe('filterComponentsByWildcard', () => { diff --git a/src/consumer/component/components-list.ts b/components/legacy/component-list/components-list.ts similarity index 95% rename from src/consumer/component/components-list.ts rename to components/legacy/component-list/components-list.ts index 2291c8299b53..3cfb5181c49e 100644 --- a/src/consumer/component/components-list.ts +++ b/components/legacy/component-list/components-list.ts @@ -2,19 +2,19 @@ import { compact } from 'lodash'; import pFilter from 'p-filter'; import { ComponentID, ComponentIdList } from '@teambit/component-id'; import R from 'ramda'; -import { LATEST } from '../../constants'; -import { SnapsDistance } from '../../scope/component-ops/snaps-distance'; -import { getDivergeData } from '../../scope/component-ops/get-diverge-data'; -import { Lane } from '../../scope/models'; -import ModelComponent from '../../scope/models/model-component'; -import Scope from '../../scope/scope'; -import { fetchRemoteVersions } from '../../scope/scope-remotes'; +import { LATEST } from '@teambit/legacy/dist/constants'; +import { SnapsDistance } from '@teambit/legacy/dist/scope/component-ops/snaps-distance'; +import { getDivergeData } from '@teambit/legacy/dist/scope/component-ops/get-diverge-data'; +import { Lane } from '@teambit/legacy/dist/scope/models'; +import ModelComponent from '@teambit/legacy/dist/scope/models/model-component'; +import Scope from '@teambit/legacy/dist/scope/scope'; +import { fetchRemoteVersions } from '@teambit/legacy/dist/scope/scope-remotes'; import { isBitIdMatchByWildcards } from '@teambit/legacy.utils'; import { BitMap, ComponentMap } from '@teambit/legacy.bit-map'; -import Component from '../component'; -import { InvalidComponent } from '../component/consumer-component'; -import Consumer from '../consumer'; -import { ComponentLoadOptions } from './component-loader'; +import Component from '@teambit/legacy/dist/consumer/component'; +import { InvalidComponent } from '@teambit/legacy/dist/consumer/component/consumer-component'; +import Consumer from '@teambit/legacy/dist/consumer/consumer'; +import { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader'; export type DivergeDataPerId = { id: ComponentID; divergeData: SnapsDistance }; export type ListScopeResult = { @@ -29,7 +29,7 @@ export type ListScopeResult = { export type DivergedComponent = { id: ComponentID; diverge: SnapsDistance }; export type OutdatedComponent = { id: ComponentID; headVersion: string; latestVersion?: string }; -export default class ComponentsList { +export class ComponentsList { consumer: Consumer; scope: Scope; bitMap: BitMap; @@ -43,6 +43,7 @@ export default class ComponentsList { constructor(consumer: Consumer) { this.consumer = consumer; this.scope = consumer.scope; + // @ts-ignore todo: remove after deleting teambit.legacy this.bitMap = consumer.bitMap; } diff --git a/components/legacy/component-list/index.ts b/components/legacy/component-list/index.ts new file mode 100644 index 000000000000..2c354563b6e3 --- /dev/null +++ b/components/legacy/component-list/index.ts @@ -0,0 +1 @@ +export { ComponentsList, DivergeDataPerId, ListScopeResult } from './components-list'; diff --git a/package.json b/package.json index cb04192c1a03..8303186821f0 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "@pnpm/node-fetch": "^1.0.0", "@teambit/defender.fs.global-bit-temp-dir": "0.0.1", "@teambit/legacy.analytics": "~0.0.1", + "@teambit/legacy.component-list": "~0.0.2", "@teambit/component.sources": "~0.0.1", "@teambit/bit.get-bit-version": "~0.0.1", "@teambit/legacy.utils": "~0.0.2", diff --git a/scopes/component/lister/lister.main.runtime.ts b/scopes/component/lister/lister.main.runtime.ts index 0a2cf2a35664..0c28fc5ec683 100644 --- a/scopes/component/lister/lister.main.runtime.ts +++ b/scopes/component/lister/lister.main.runtime.ts @@ -6,7 +6,7 @@ import { ComponentID } from '@teambit/component-id'; import { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions'; import { Remote } from '@teambit/legacy/dist/remotes'; import getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import { BitError } from '@teambit/bit-error'; import { ListCmd } from './list.cmd'; import { ListerAspect } from './lister.aspect'; diff --git a/scopes/component/merging/merging.main.runtime.ts b/scopes/component/merging/merging.main.runtime.ts index 23e72e36aa1a..420f77e9cfcf 100644 --- a/scopes/component/merging/merging.main.runtime.ts +++ b/scopes/component/merging/merging.main.runtime.ts @@ -1,7 +1,7 @@ import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli'; import { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace'; import { Consumer } from '@teambit/legacy/dist/consumer'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import { SnappingAspect, SnappingMain, TagResults } from '@teambit/snapping'; import mapSeries from 'p-map-series'; import { ComponentID, ComponentIdList } from '@teambit/component-id'; diff --git a/scopes/component/remove/remove-components.ts b/scopes/component/remove/remove-components.ts index 2d276b094685..a88d14023b94 100644 --- a/scopes/component/remove/remove-components.ts +++ b/scopes/component/remove/remove-components.ts @@ -11,7 +11,7 @@ import { Http } from '@teambit/legacy/dist/scope/network/http'; import { Remotes } from '@teambit/legacy/dist/remotes'; import { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes'; import { deleteComponentsFiles } from './delete-component-files'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import Component from '@teambit/legacy/dist/consumer/component/consumer-component'; import RemovedObjects from '@teambit/legacy/dist/scope/removed-components'; import pMapSeries from 'p-map-series'; diff --git a/scopes/component/snapping/reset-component.ts b/scopes/component/snapping/reset-component.ts index 727de68671aa..1416564c2db4 100644 --- a/scopes/component/snapping/reset-component.ts +++ b/scopes/component/snapping/reset-component.ts @@ -2,7 +2,7 @@ import { BitError } from '@teambit/bit-error'; import { ComponentID } from '@teambit/component-id'; import { Scope } from '@teambit/legacy/dist/scope'; import { Consumer } from '@teambit/legacy/dist/consumer'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import logger from '@teambit/legacy/dist/logger/logger'; import { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models'; diff --git a/scopes/component/snapping/snapping.main.runtime.ts b/scopes/component/snapping/snapping.main.runtime.ts index 8acc826bed9f..83507b9e097e 100644 --- a/scopes/component/snapping/snapping.main.runtime.ts +++ b/scopes/component/snapping/snapping.main.runtime.ts @@ -8,7 +8,7 @@ import { compact, difference, uniq } from 'lodash'; import { ComponentID, ComponentIdList } from '@teambit/component-id'; import { Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants'; import { Consumer } from '@teambit/legacy/dist/consumer'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import pMapSeries from 'p-map-series'; import loader from '@teambit/legacy/dist/cli/loader'; import ComponentsPendingImport from '@teambit/legacy/dist/consumer/exceptions/components-pending-import'; diff --git a/scopes/component/status/status.main.runtime.ts b/scopes/component/status/status.main.runtime.ts index dd0f014e72ac..2d91d75acfed 100644 --- a/scopes/component/status/status.main.runtime.ts +++ b/scopes/component/status/status.main.runtime.ts @@ -11,7 +11,7 @@ import { BEFORE_STATUS } from '@teambit/legacy/dist/cli/loader/loader-messages'; import { RemoveAspect, RemoveMain } from '@teambit/remove'; import ConsumerComponent from '@teambit/legacy/dist/consumer/component'; import ComponentsPendingImport from '@teambit/legacy/dist/consumer/exceptions/components-pending-import'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import { ModelComponent } from '@teambit/legacy/dist/scope/models'; import { InsightsAspect, InsightsMain } from '@teambit/insights'; import { SnapsDistance } from '@teambit/legacy/dist/scope/component-ops/snaps-distance'; diff --git a/scopes/lanes/lanes/create-lane.ts b/scopes/lanes/lanes/create-lane.ts index 7eedde6c3fd9..2cf23402895d 100644 --- a/scopes/lanes/lanes/create-lane.ts +++ b/scopes/lanes/lanes/create-lane.ts @@ -5,7 +5,7 @@ import { ScopeMain } from '@teambit/scope'; // import { ComponentIdList } from '@teambit/component-id'; import Lane, { LaneComponent } from '@teambit/legacy/dist/scope/models/lane'; import { isSnap } from '@teambit/component-version'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import { Ref } from '@teambit/legacy/dist/scope/objects'; import { Workspace } from '@teambit/workspace'; import { compact } from 'lodash'; diff --git a/scopes/lanes/lanes/lanes.main.runtime.ts b/scopes/lanes/lanes/lanes.main.runtime.ts index 2c9c87f13ccb..52923da94850 100644 --- a/scopes/lanes/lanes/lanes.main.runtime.ts +++ b/scopes/lanes/lanes/lanes.main.runtime.ts @@ -31,7 +31,7 @@ import { SnapsDistance } from '@teambit/legacy/dist/scope/component-ops/snaps-di import { RemoveAspect, RemoveMain } from '@teambit/remove'; import { CheckoutAspect, CheckoutMain } from '@teambit/checkout'; import { ChangeType } from '@teambit/lanes.entities.lane-diff'; -import ComponentsList, { DivergeDataPerId } from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList, DivergeDataPerId } from '@teambit/legacy.component-list'; import { NoCommonSnap } from '@teambit/legacy/dist/scope/exceptions/no-common-snap'; import { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency'; import { SUPPORT_LANE_HISTORY, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle'; diff --git a/scopes/scope/export/export.main.runtime.ts b/scopes/scope/export/export.main.runtime.ts index 57c2f37ac605..21a9f685b9e8 100644 --- a/scopes/scope/export/export.main.runtime.ts +++ b/scopes/scope/export/export.main.runtime.ts @@ -13,7 +13,7 @@ import { import { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL } from '@teambit/legacy/dist/constants'; import { Consumer } from '@teambit/legacy/dist/consumer'; import { BitMap } from '@teambit/legacy.bit-map'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import { RemoveAspect, RemoveMain } from '@teambit/remove'; import { Lane, ModelComponent, Symlink, Version } from '@teambit/legacy/dist/scope/models'; import { hasWildcard } from '@teambit/legacy.utils'; diff --git a/scopes/workspace/workspace/workspace.ts b/scopes/workspace/workspace/workspace.ts index a336d633cb2a..358a126200ad 100644 --- a/scopes/workspace/workspace/workspace.ts +++ b/scopes/workspace/workspace/workspace.ts @@ -37,7 +37,7 @@ import { LaneId } from '@teambit/lane-id'; import { Consumer, loadConsumer } from '@teambit/legacy/dist/consumer'; import { GetBitMapComponentOptions, MissingBitMapComponent } from '@teambit/legacy.bit-map'; import { getMaxSizeForComponents, InMemoryCache, createInMemoryCache } from '@teambit/harmony.modules.in-memory-cache'; -import ComponentsList from '@teambit/legacy/dist/consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import { ExtensionDataList, ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data'; import { PathOsBased, diff --git a/src/remotes/remote.ts b/src/remotes/remote.ts index 1a199a919f22..438c682118fe 100644 --- a/src/remotes/remote.ts +++ b/src/remotes/remote.ts @@ -1,6 +1,6 @@ import { ComponentID } from '@teambit/component-id'; import { PushOptions, CURRENT_FETCH_SCHEMA, FETCH_OPTIONS } from '@teambit/legacy.scope-api'; -import { ListScopeResult } from '../consumer/component/components-list'; +import { ListScopeResult } from '@teambit/legacy.component-list'; import Component from '../consumer/component/consumer-component'; import logger from '../logger/logger'; import type { Scope } from '../scope'; diff --git a/src/scope/graph/scope-graph.ts b/src/scope/graph/scope-graph.ts index 18a49672246d..36e0e58d5549 100644 --- a/src/scope/graph/scope-graph.ts +++ b/src/scope/graph/scope-graph.ts @@ -2,7 +2,7 @@ import GraphLib, { Graph } from 'graphlib'; import pMapSeries from 'p-map-series'; import { ComponentID, ComponentIdList } from '@teambit/component-id'; import { VERSION_DELIMITER } from '../../constants'; -import ComponentsList from '../../consumer/component/components-list'; +import { ComponentsList } from '@teambit/legacy.component-list'; import Component from '../../consumer/component/consumer-component'; import { DEPENDENCIES_TYPES_UI_MAP } from '../../consumer/component/dependencies/dependencies'; import Consumer from '../../consumer/consumer'; @@ -135,7 +135,9 @@ export default class DependencyGraph { // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! static async buildGraphFromWorkspace(consumer: Consumer, onlyLatest = false, reverse = false): Promise { + // @ts-ignore todo: remove after deleting teambit.legacy const componentsList = new ComponentsList(consumer); + // @ts-ignore todo: remove after deleting teambit.legacy const workspaceComponents: Component[] = await componentsList.getFromFileSystem(); const graph = new Graph(); const allModelComponents: ModelComponent[] = await consumer.scope.list(); @@ -170,7 +172,9 @@ export default class DependencyGraph { * returns a graph that each node is a ComponentID object. */ static async buildGraphFromCurrentlyUsedComponents(consumer: Consumer): Promise { + // @ts-ignore todo: remove after deleting teambit.legacy const componentsList = new ComponentsList(consumer); + // @ts-ignore todo: remove after deleting teambit.legacy const workspaceComponents: Component[] = await componentsList.getComponentsFromFS(); const graph = new Graph(); workspaceComponents.forEach((component: Component) => { diff --git a/src/scope/network/fs/fs.ts b/src/scope/network/fs/fs.ts index d7e63305517a..6db4b8104ee4 100644 --- a/src/scope/network/fs/fs.ts +++ b/src/scope/network/fs/fs.ts @@ -1,6 +1,6 @@ import { ComponentID } from '@teambit/component-id'; import { fetch, put, remove, action, FETCH_OPTIONS, PushOptions } from '@teambit/legacy.scope-api'; -import ComponentsList, { ListScopeResult } from '../../../consumer/component/components-list'; +import { ComponentsList, ListScopeResult } from '@teambit/legacy.component-list'; import Component from '../../../consumer/component/consumer-component'; import DependencyGraph from '../../graph/scope-graph'; import { LaneData } from '../../lanes/lanes'; @@ -65,6 +65,7 @@ export default class Fs implements Network { } list(namespacesUsingWildcards?: string): Promise { + // @ts-ignore todo: remove after deleting teambit.legacy return ComponentsList.listLocalScope(this.getScope(), namespacesUsingWildcards); } diff --git a/src/scope/network/http/http.ts b/src/scope/network/http/http.ts index 4e7b305a69a5..520d2e5c1c50 100644 --- a/src/scope/network/http/http.ts +++ b/src/scope/network/http/http.ts @@ -10,9 +10,9 @@ import { HttpProxyAgent } from 'http-proxy-agent'; import { CLOUD_IMPORTER, CLOUD_IMPORTER_V2, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle'; import { LaneId } from '@teambit/lane-id'; import { getAgent, AgentOptions } from '@teambit/toolbox.network.agent'; +import { ListScopeResult } from '@teambit/legacy.component-list'; import { Network } from '../network'; import Component from '../../../consumer/component'; -import { ListScopeResult } from '../../../consumer/component/components-list'; import DependencyGraph from '../../graph/scope-graph'; import { LaneData } from '../../lanes/lanes'; import { ComponentLog } from '../../models/model-component'; diff --git a/src/scope/network/network.ts b/src/scope/network/network.ts index 7a7f4c4988d2..41b910599af6 100644 --- a/src/scope/network/network.ts +++ b/src/scope/network/network.ts @@ -1,7 +1,7 @@ import { ComponentID, ComponentIdList } from '@teambit/component-id'; import { PushOptions, FETCH_OPTIONS } from '@teambit/legacy.scope-api'; import Component from '../../consumer/component'; -import { ListScopeResult } from '../../consumer/component/components-list'; +import { ListScopeResult } from '@teambit/legacy.component-list'; import DependencyGraph from '../graph/scope-graph'; import { LaneData } from '../lanes/lanes'; import { ComponentLog } from '../models/model-component';