@teambit/workspace 1.0.1249 → 1.0.1251
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/dist/auto-tag.d.ts +6 -0
- package/dist/auto-tag.js +13 -3
- package/dist/auto-tag.js.map +1 -1
- package/dist/auto-tag.spec.d.ts +1 -0
- package/dist/auto-tag.spec.js +77 -0
- package/dist/auto-tag.spec.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/{preview-1793039364231.js → preview-1793057865860.js} +2 -2
- package/package.json +26 -26
package/dist/auto-tag.d.ts
CHANGED
|
@@ -7,3 +7,9 @@ export type AutoTagResult = {
|
|
|
7
7
|
triggeredBy: ComponentIdList;
|
|
8
8
|
};
|
|
9
9
|
export declare function getAutoTagInfo(workspace: Workspace, changedComponents: ComponentIdList): Promise<AutoTagResult[]>;
|
|
10
|
+
/**
|
|
11
|
+
* returns the components that depend on the `changedComponents`, directly or through other `components`.
|
|
12
|
+
* the dependencies are matched by component-id, not by version. the `changedComponents` don't have to be part of
|
|
13
|
+
* `components` (e.g. when snapping from a scope, the candidates are the lane components).
|
|
14
|
+
*/
|
|
15
|
+
export declare function getAutoTagInfoFromComponents(components: Component[], changedComponents: ComponentIdList): AutoTagResult[];
|
package/dist/auto-tag.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getAutoTagInfo = getAutoTagInfo;
|
|
7
|
+
exports.getAutoTagInfoFromComponents = getAutoTagInfoFromComponents;
|
|
7
8
|
exports.getAutoTagPending = getAutoTagPending;
|
|
8
9
|
function _graphlib() {
|
|
9
10
|
const data = _interopRequireWildcard(require("graphlib"));
|
|
@@ -45,7 +46,16 @@ async function getAutoTagInfo(workspace, changedComponents) {
|
|
|
45
46
|
const idsToLoad = new (_componentId().ComponentIdList)(...potentialComponents, ...changedComponents);
|
|
46
47
|
const workspaceComponents = await workspace.getMany(idsToLoad, undefined, false);
|
|
47
48
|
const components = workspaceComponents.map(workspaceComponent => workspaceComponent.state._consumer);
|
|
48
|
-
|
|
49
|
+
return getAutoTagInfoFromComponents(components, changedComponents);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* returns the components that depend on the `changedComponents`, directly or through other `components`.
|
|
54
|
+
* the dependencies are matched by component-id, not by version. the `changedComponents` don't have to be part of
|
|
55
|
+
* `components` (e.g. when snapping from a scope, the candidates are the lane components).
|
|
56
|
+
*/
|
|
57
|
+
function getAutoTagInfoFromComponents(components, changedComponents) {
|
|
58
|
+
const graph = buildGraph(components, changedComponents);
|
|
49
59
|
const autoTagResults = [];
|
|
50
60
|
components.forEach(component => {
|
|
51
61
|
const bitId = component.componentId;
|
|
@@ -91,9 +101,9 @@ async function getAutoTagInfo(workspace, changedComponents) {
|
|
|
91
101
|
});
|
|
92
102
|
return autoTagResults;
|
|
93
103
|
}
|
|
94
|
-
function buildGraph(components) {
|
|
104
|
+
function buildGraph(components, changedComponents) {
|
|
95
105
|
const graph = new (_graphlib().Graph)();
|
|
96
|
-
const componentsIds = _componentId().ComponentIdList.fromArray(components.map(c => c.id));
|
|
106
|
+
const componentsIds = _componentId().ComponentIdList.fromArray([...components.map(c => c.id), ...changedComponents]);
|
|
97
107
|
components.forEach(component => {
|
|
98
108
|
const idStr = component.id.toStringWithoutVersion();
|
|
99
109
|
component.getAllDependencies().forEach(dependency => {
|
package/dist/auto-tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_graphlib","data","_interopRequireWildcard","require","_semver","_interopRequireDefault","_componentId","_componentVersion","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getAutoTagPending","workspace","changedComponents","autoTagInfo","getAutoTagInfo","map","a","component","length","potentialComponents","potentialComponentsForAutoTagging","consumer","idsToLoad","ComponentIdList","workspaceComponents","getMany","undefined","components","workspaceComponent","state","_consumer","graph","buildGraph","autoTagResults","forEach","bitId","componentId","idStr","toStringWithoutVersion","hasNode","dependenciesStr","graphlib","alg","preorder","dependenciesBitIds","depStr","node","triggeredDependencies","filter","dependencyId","changedComponentId","searchWithoutVersion","isTag","version","semver","gte","push","triggeredBy","fromArray","Graph","componentsIds","c","id","getAllDependencies","dependency","depId","isDependencyVersionFromConfig","setNode","setEdge","modifiedComponents","candidateComponentsIds","bitMap","getAllBitIds","idsWithoutModified","candidateId","hasWithoutVersion"],"sources":["auto-tag.ts"],"sourcesContent":["import graphlib, { Graph } from 'graphlib';\nimport semver from 'semver';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { isTag } from '@teambit/component-version';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport type { Dependency, ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport type { Workspace } from './workspace';\n\nexport async function getAutoTagPending(\n workspace: Workspace,\n changedComponents: ComponentIdList\n): Promise<Component[]> {\n const autoTagInfo = await getAutoTagInfo(workspace, changedComponents);\n return autoTagInfo.map((a) => a.component);\n}\n\nexport type AutoTagResult = { component: Component; triggeredBy: ComponentIdList };\n\nexport async function getAutoTagInfo(\n workspace: Workspace,\n changedComponents: ComponentIdList\n): Promise<AutoTagResult[]> {\n if (!changedComponents.length) return [];\n const potentialComponents = potentialComponentsForAutoTagging(workspace.consumer, changedComponents);\n const idsToLoad = new ComponentIdList(...potentialComponents, ...changedComponents);\n const workspaceComponents = await workspace.getMany(idsToLoad, undefined, false);\n const components = workspaceComponents.map((workspaceComponent) => workspaceComponent.state._consumer);\n const graph = buildGraph(components);\n\n const autoTagResults: AutoTagResult[] = [];\n components.forEach((component) => {\n const bitId = component.componentId;\n const idStr = bitId.toStringWithoutVersion();\n if (!graph.hasNode(idStr)) return;\n // preorder gets all dependencies and dependencies of dependencies and so on.\n // we loop over the dependencies of a component\n // @ts-ignore\n const dependenciesStr = graphlib.alg.preorder(graph, idStr);\n const dependenciesBitIds = dependenciesStr.map((depStr) => graph.node(depStr));\n const triggeredDependencies = dependenciesBitIds.filter((dependencyId) => {\n const changedComponentId = changedComponents.searchWithoutVersion(dependencyId);\n if (!changedComponentId) {\n // the dependency hasn't changed, so the component is not auto-tag pending\n return false;\n }\n if (changedComponents.searchWithoutVersion(bitId)) {\n // the dependency has changed but also the component itself, so it's going to be tagged anyway\n return false;\n }\n // we only check whether a modified component may cause auto-tagging\n // since it's only modified on the file-system, its version might be the same as the version stored in its\n // dependents. That's why \"semver.gte\" is used instead of \"semver.gt\".\n // the case when it returns false is when the changedComponentId.version is smaller than\n // edgeId.version. it happens for example, when A => B (A depends on B), B has changed, A is\n // a candidate. A has the B dependency saved in the model with version 2.0.0 and B is now\n // tagged with 1.0.1. So, because A has B with a higher version already, we don't want to\n // auto-tag it and downgrade its B version.\n if (isTag(changedComponentId.version) && isTag(dependencyId.version)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return semver.gte(changedComponentId.version!, dependencyId.version!);\n }\n // when they're not tags but snaps, it is impossible to snap from a detached head so a\n // component is always candidate when its dependencies have changed.\n return true;\n });\n if (triggeredDependencies.length) {\n autoTagResults.push({ component, triggeredBy: ComponentIdList.fromArray(triggeredDependencies) });\n }\n });\n\n return autoTagResults;\n}\n\nfunction buildGraph(components: Component[]): Graph {\n const graph = new Graph();\n const componentsIds = ComponentIdList.fromArray(components.map((c) => c.id));\n\n components.forEach((component) => {\n const idStr = component.id.toStringWithoutVersion();\n component.getAllDependencies().forEach((dependency: Dependency) => {\n if (!componentsIds.searchWithoutVersion(dependency.id)) return;\n const depId = dependency.id.toStringWithoutVersion();\n // the component uses the version set in its config (e.g. \"bit deps set\"), not the workspace one. so a change in\n // the workspace one doesn't affect it.\n if (component.isDependencyVersionFromConfig(dependency.id)) return;\n // save the full ComponentID of a string id to be able to retrieve it later with no confusion\n if (!graph.hasNode(idStr)) graph.setNode(idStr, component.id);\n if (!graph.hasNode(depId)) graph.setNode(depId, dependency.id);\n graph.setEdge(idStr, depId);\n });\n });\n return graph;\n}\n\nfunction potentialComponentsForAutoTagging(consumer: Consumer, modifiedComponents: ComponentIdList): ComponentIdList {\n const candidateComponentsIds = consumer.bitMap.getAllBitIds();\n // if a modified component is in candidates array, remove it from the array as it will be already\n // tagged with the correct version\n const idsWithoutModified = candidateComponentsIds.filter(\n (candidateId) => !modifiedComponents.hasWithoutVersion(candidateId)\n );\n return ComponentIdList.fromArray(idsWithoutModified);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_graphlib","data","_interopRequireWildcard","require","_semver","_interopRequireDefault","_componentId","_componentVersion","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getAutoTagPending","workspace","changedComponents","autoTagInfo","getAutoTagInfo","map","a","component","length","potentialComponents","potentialComponentsForAutoTagging","consumer","idsToLoad","ComponentIdList","workspaceComponents","getMany","undefined","components","workspaceComponent","state","_consumer","getAutoTagInfoFromComponents","graph","buildGraph","autoTagResults","forEach","bitId","componentId","idStr","toStringWithoutVersion","hasNode","dependenciesStr","graphlib","alg","preorder","dependenciesBitIds","depStr","node","triggeredDependencies","filter","dependencyId","changedComponentId","searchWithoutVersion","isTag","version","semver","gte","push","triggeredBy","fromArray","Graph","componentsIds","c","id","getAllDependencies","dependency","depId","isDependencyVersionFromConfig","setNode","setEdge","modifiedComponents","candidateComponentsIds","bitMap","getAllBitIds","idsWithoutModified","candidateId","hasWithoutVersion"],"sources":["auto-tag.ts"],"sourcesContent":["import graphlib, { Graph } from 'graphlib';\nimport semver from 'semver';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { isTag } from '@teambit/component-version';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport type { Dependency, ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport type { Workspace } from './workspace';\n\nexport async function getAutoTagPending(\n workspace: Workspace,\n changedComponents: ComponentIdList\n): Promise<Component[]> {\n const autoTagInfo = await getAutoTagInfo(workspace, changedComponents);\n return autoTagInfo.map((a) => a.component);\n}\n\nexport type AutoTagResult = { component: Component; triggeredBy: ComponentIdList };\n\nexport async function getAutoTagInfo(\n workspace: Workspace,\n changedComponents: ComponentIdList\n): Promise<AutoTagResult[]> {\n if (!changedComponents.length) return [];\n const potentialComponents = potentialComponentsForAutoTagging(workspace.consumer, changedComponents);\n const idsToLoad = new ComponentIdList(...potentialComponents, ...changedComponents);\n const workspaceComponents = await workspace.getMany(idsToLoad, undefined, false);\n const components = workspaceComponents.map((workspaceComponent) => workspaceComponent.state._consumer);\n return getAutoTagInfoFromComponents(components, changedComponents);\n}\n\n/**\n * returns the components that depend on the `changedComponents`, directly or through other `components`.\n * the dependencies are matched by component-id, not by version. the `changedComponents` don't have to be part of\n * `components` (e.g. when snapping from a scope, the candidates are the lane components).\n */\nexport function getAutoTagInfoFromComponents(\n components: Component[],\n changedComponents: ComponentIdList\n): AutoTagResult[] {\n const graph = buildGraph(components, changedComponents);\n\n const autoTagResults: AutoTagResult[] = [];\n components.forEach((component) => {\n const bitId = component.componentId;\n const idStr = bitId.toStringWithoutVersion();\n if (!graph.hasNode(idStr)) return;\n // preorder gets all dependencies and dependencies of dependencies and so on.\n // we loop over the dependencies of a component\n // @ts-ignore\n const dependenciesStr = graphlib.alg.preorder(graph, idStr);\n const dependenciesBitIds = dependenciesStr.map((depStr) => graph.node(depStr));\n const triggeredDependencies = dependenciesBitIds.filter((dependencyId) => {\n const changedComponentId = changedComponents.searchWithoutVersion(dependencyId);\n if (!changedComponentId) {\n // the dependency hasn't changed, so the component is not auto-tag pending\n return false;\n }\n if (changedComponents.searchWithoutVersion(bitId)) {\n // the dependency has changed but also the component itself, so it's going to be tagged anyway\n return false;\n }\n // we only check whether a modified component may cause auto-tagging\n // since it's only modified on the file-system, its version might be the same as the version stored in its\n // dependents. That's why \"semver.gte\" is used instead of \"semver.gt\".\n // the case when it returns false is when the changedComponentId.version is smaller than\n // edgeId.version. it happens for example, when A => B (A depends on B), B has changed, A is\n // a candidate. A has the B dependency saved in the model with version 2.0.0 and B is now\n // tagged with 1.0.1. So, because A has B with a higher version already, we don't want to\n // auto-tag it and downgrade its B version.\n if (isTag(changedComponentId.version) && isTag(dependencyId.version)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return semver.gte(changedComponentId.version!, dependencyId.version!);\n }\n // when they're not tags but snaps, it is impossible to snap from a detached head so a\n // component is always candidate when its dependencies have changed.\n return true;\n });\n if (triggeredDependencies.length) {\n autoTagResults.push({ component, triggeredBy: ComponentIdList.fromArray(triggeredDependencies) });\n }\n });\n\n return autoTagResults;\n}\n\nfunction buildGraph(components: Component[], changedComponents: ComponentIdList): Graph {\n const graph = new Graph();\n const componentsIds = ComponentIdList.fromArray([...components.map((c) => c.id), ...changedComponents]);\n\n components.forEach((component) => {\n const idStr = component.id.toStringWithoutVersion();\n component.getAllDependencies().forEach((dependency: Dependency) => {\n if (!componentsIds.searchWithoutVersion(dependency.id)) return;\n const depId = dependency.id.toStringWithoutVersion();\n // the component uses the version set in its config (e.g. \"bit deps set\"), not the workspace one. so a change in\n // the workspace one doesn't affect it.\n if (component.isDependencyVersionFromConfig(dependency.id)) return;\n // save the full ComponentID of a string id to be able to retrieve it later with no confusion\n if (!graph.hasNode(idStr)) graph.setNode(idStr, component.id);\n if (!graph.hasNode(depId)) graph.setNode(depId, dependency.id);\n graph.setEdge(idStr, depId);\n });\n });\n return graph;\n}\n\nfunction potentialComponentsForAutoTagging(consumer: Consumer, modifiedComponents: ComponentIdList): ComponentIdList {\n const candidateComponentsIds = consumer.bitMap.getAllBitIds();\n // if a modified component is in candidates array, remove it from the array as it will be already\n // tagged with the correct version\n const idsWithoutModified = candidateComponentsIds.filter(\n (candidateId) => !modifiedComponents.hasWithoutVersion(candidateId)\n );\n return ComponentIdList.fromArray(idsWithoutModified);\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,aAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,kBAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmD,SAAAI,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAK5C,eAAegB,iBAAiBA,CACrCC,SAAoB,EACpBC,iBAAkC,EACZ;EACtB,MAAMC,WAAW,GAAG,MAAMC,cAAc,CAACH,SAAS,EAAEC,iBAAiB,CAAC;EACtE,OAAOC,WAAW,CAACE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAAC;AAC5C;AAIO,eAAeH,cAAcA,CAClCH,SAAoB,EACpBC,iBAAkC,EACR;EAC1B,IAAI,CAACA,iBAAiB,CAACM,MAAM,EAAE,OAAO,EAAE;EACxC,MAAMC,mBAAmB,GAAGC,iCAAiC,CAACT,SAAS,CAACU,QAAQ,EAAET,iBAAiB,CAAC;EACpG,MAAMU,SAAS,GAAG,KAAIC,8BAAe,EAAC,GAAGJ,mBAAmB,EAAE,GAAGP,iBAAiB,CAAC;EACnF,MAAMY,mBAAmB,GAAG,MAAMb,SAAS,CAACc,OAAO,CAACH,SAAS,EAAEI,SAAS,EAAE,KAAK,CAAC;EAChF,MAAMC,UAAU,GAAGH,mBAAmB,CAACT,GAAG,CAAEa,kBAAkB,IAAKA,kBAAkB,CAACC,KAAK,CAACC,SAAS,CAAC;EACtG,OAAOC,4BAA4B,CAACJ,UAAU,EAAEf,iBAAiB,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASmB,4BAA4BA,CAC1CJ,UAAuB,EACvBf,iBAAkC,EACjB;EACjB,MAAMoB,KAAK,GAAGC,UAAU,CAACN,UAAU,EAAEf,iBAAiB,CAAC;EAEvD,MAAMsB,cAA+B,GAAG,EAAE;EAC1CP,UAAU,CAACQ,OAAO,CAAElB,SAAS,IAAK;IAChC,MAAMmB,KAAK,GAAGnB,SAAS,CAACoB,WAAW;IACnC,MAAMC,KAAK,GAAGF,KAAK,CAACG,sBAAsB,CAAC,CAAC;IAC5C,IAAI,CAACP,KAAK,CAACQ,OAAO,CAACF,KAAK,CAAC,EAAE;IAC3B;IACA;IACA;IACA,MAAMG,eAAe,GAAGC,mBAAQ,CAACC,GAAG,CAACC,QAAQ,CAACZ,KAAK,EAAEM,KAAK,CAAC;IAC3D,MAAMO,kBAAkB,GAAGJ,eAAe,CAAC1B,GAAG,CAAE+B,MAAM,IAAKd,KAAK,CAACe,IAAI,CAACD,MAAM,CAAC,CAAC;IAC9E,MAAME,qBAAqB,GAAGH,kBAAkB,CAACI,MAAM,CAAEC,YAAY,IAAK;MACxE,MAAMC,kBAAkB,GAAGvC,iBAAiB,CAACwC,oBAAoB,CAACF,YAAY,CAAC;MAC/E,IAAI,CAACC,kBAAkB,EAAE;QACvB;QACA,OAAO,KAAK;MACd;MACA,IAAIvC,iBAAiB,CAACwC,oBAAoB,CAAChB,KAAK,CAAC,EAAE;QACjD;QACA,OAAO,KAAK;MACd;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAI,IAAAiB,yBAAK,EAACF,kBAAkB,CAACG,OAAO,CAAC,IAAI,IAAAD,yBAAK,EAACH,YAAY,CAACI,OAAO,CAAC,EAAE;QACpE;QACA,OAAOC,iBAAM,CAACC,GAAG,CAACL,kBAAkB,CAACG,OAAO,EAAGJ,YAAY,CAACI,OAAQ,CAAC;MACvE;MACA;MACA;MACA,OAAO,IAAI;IACb,CAAC,CAAC;IACF,IAAIN,qBAAqB,CAAC9B,MAAM,EAAE;MAChCgB,cAAc,CAACuB,IAAI,CAAC;QAAExC,SAAS;QAAEyC,WAAW,EAAEnC,8BAAe,CAACoC,SAAS,CAACX,qBAAqB;MAAE,CAAC,CAAC;IACnG;EACF,CAAC,CAAC;EAEF,OAAOd,cAAc;AACvB;AAEA,SAASD,UAAUA,CAACN,UAAuB,EAAEf,iBAAkC,EAAS;EACtF,MAAMoB,KAAK,GAAG,KAAI4B,iBAAK,EAAC,CAAC;EACzB,MAAMC,aAAa,GAAGtC,8BAAe,CAACoC,SAAS,CAAC,CAAC,GAAGhC,UAAU,CAACZ,GAAG,CAAE+C,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC,EAAE,GAAGnD,iBAAiB,CAAC,CAAC;EAEvGe,UAAU,CAACQ,OAAO,CAAElB,SAAS,IAAK;IAChC,MAAMqB,KAAK,GAAGrB,SAAS,CAAC8C,EAAE,CAACxB,sBAAsB,CAAC,CAAC;IACnDtB,SAAS,CAAC+C,kBAAkB,CAAC,CAAC,CAAC7B,OAAO,CAAE8B,UAAsB,IAAK;MACjE,IAAI,CAACJ,aAAa,CAACT,oBAAoB,CAACa,UAAU,CAACF,EAAE,CAAC,EAAE;MACxD,MAAMG,KAAK,GAAGD,UAAU,CAACF,EAAE,CAACxB,sBAAsB,CAAC,CAAC;MACpD;MACA;MACA,IAAItB,SAAS,CAACkD,6BAA6B,CAACF,UAAU,CAACF,EAAE,CAAC,EAAE;MAC5D;MACA,IAAI,CAAC/B,KAAK,CAACQ,OAAO,CAACF,KAAK,CAAC,EAAEN,KAAK,CAACoC,OAAO,CAAC9B,KAAK,EAAErB,SAAS,CAAC8C,EAAE,CAAC;MAC7D,IAAI,CAAC/B,KAAK,CAACQ,OAAO,CAAC0B,KAAK,CAAC,EAAElC,KAAK,CAACoC,OAAO,CAACF,KAAK,EAAED,UAAU,CAACF,EAAE,CAAC;MAC9D/B,KAAK,CAACqC,OAAO,CAAC/B,KAAK,EAAE4B,KAAK,CAAC;IAC7B,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOlC,KAAK;AACd;AAEA,SAASZ,iCAAiCA,CAACC,QAAkB,EAAEiD,kBAAmC,EAAmB;EACnH,MAAMC,sBAAsB,GAAGlD,QAAQ,CAACmD,MAAM,CAACC,YAAY,CAAC,CAAC;EAC7D;EACA;EACA,MAAMC,kBAAkB,GAAGH,sBAAsB,CAACtB,MAAM,CACrD0B,WAAW,IAAK,CAACL,kBAAkB,CAACM,iBAAiB,CAACD,WAAW,CACpE,CAAC;EACD,OAAOpD,8BAAe,CAACoC,SAAS,CAACe,kBAAkB,CAAC;AACtD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _chai() {
|
|
4
|
+
const data = require("chai");
|
|
5
|
+
_chai = function () {
|
|
6
|
+
return data;
|
|
7
|
+
};
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
10
|
+
function _componentId() {
|
|
11
|
+
const data = require("@teambit/component-id");
|
|
12
|
+
_componentId = function () {
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
function _autoTag() {
|
|
18
|
+
const data = require("./auto-tag");
|
|
19
|
+
_autoTag = function () {
|
|
20
|
+
return data;
|
|
21
|
+
};
|
|
22
|
+
return data;
|
|
23
|
+
}
|
|
24
|
+
const H1 = '1'.repeat(40);
|
|
25
|
+
const H2 = '2'.repeat(40);
|
|
26
|
+
const HB = 'b'.repeat(40);
|
|
27
|
+
function createComponent(id, deps = [], depsFromConfig = []) {
|
|
28
|
+
const componentId = _componentId().ComponentID.fromString(id);
|
|
29
|
+
return {
|
|
30
|
+
id: componentId,
|
|
31
|
+
componentId,
|
|
32
|
+
getAllDependencies: () => deps.map(dep => ({
|
|
33
|
+
id: _componentId().ComponentID.fromString(dep)
|
|
34
|
+
})),
|
|
35
|
+
isDependencyVersionFromConfig: depId => depsFromConfig.includes(depId.toStringWithoutVersion())
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const idsOf = results => results.map(result => result.component.id.toStringWithoutVersion());
|
|
39
|
+
describe('getAutoTagInfoFromComponents()', () => {
|
|
40
|
+
const tooltip = _componentId().ComponentIdList.fromStringArray([`my-scope/tooltip@${'a'.repeat(40)}`]);
|
|
41
|
+
const noticeTooltip = createComponent(`my-scope/notice-tooltip@${H1}`, [`my-scope/tooltip@${HB}`]);
|
|
42
|
+
it('should return a component that depends on another version of the changed component', () => {
|
|
43
|
+
(0, _chai().expect)(idsOf((0, _autoTag().getAutoTagInfoFromComponents)([noticeTooltip], tooltip))).to.deep.equal(['my-scope/notice-tooltip']);
|
|
44
|
+
});
|
|
45
|
+
it('should return the dependents of a dependent, triggered by the changed component', () => {
|
|
46
|
+
const inputText = createComponent(`my-scope/input-text@${H2}`, [`my-scope/notice-tooltip@${H1}`]);
|
|
47
|
+
const results = (0, _autoTag().getAutoTagInfoFromComponents)([inputText, noticeTooltip], tooltip);
|
|
48
|
+
(0, _chai().expect)(idsOf(results)).to.deep.equal(['my-scope/input-text', 'my-scope/notice-tooltip']);
|
|
49
|
+
results.forEach(result => {
|
|
50
|
+
(0, _chai().expect)(result.triggeredBy.map(id => id.toStringWithoutVersion())).to.deep.equal(['my-scope/tooltip']);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
it('should not return a component that does not depend on the changed component', () => {
|
|
54
|
+
const avatar = createComponent(`my-scope/avatar@${H1}`, ['my-scope/icon@0.0.1']);
|
|
55
|
+
(0, _chai().expect)((0, _autoTag().getAutoTagInfoFromComponents)([avatar], tooltip)).to.have.lengthOf(0);
|
|
56
|
+
});
|
|
57
|
+
it('should not return a component that depends on the changed component through a component that is not passed', () => {
|
|
58
|
+
const textArea = createComponent(`my-scope/text-area@${H1}`, ['my-scope/notice-tooltip@0.0.16']);
|
|
59
|
+
(0, _chai().expect)((0, _autoTag().getAutoTagInfoFromComponents)([textArea], tooltip)).to.have.lengthOf(0);
|
|
60
|
+
});
|
|
61
|
+
it('should not return a component that has the dependency version set in its config', () => {
|
|
62
|
+
const pinned = createComponent(`my-scope/notice-tooltip@${H1}`, [`my-scope/tooltip@${HB}`], ['my-scope/tooltip']);
|
|
63
|
+
(0, _chai().expect)((0, _autoTag().getAutoTagInfoFromComponents)([pinned], tooltip)).to.have.lengthOf(0);
|
|
64
|
+
});
|
|
65
|
+
it('should not downgrade a component that depends on a higher tag', () => {
|
|
66
|
+
const dependent = createComponent('my-scope/notice-tooltip@0.0.2', ['my-scope/tooltip@0.0.5']);
|
|
67
|
+
const tooltipTag = _componentId().ComponentIdList.fromStringArray(['my-scope/tooltip@0.0.4']);
|
|
68
|
+
(0, _chai().expect)((0, _autoTag().getAutoTagInfoFromComponents)([dependent], tooltipTag)).to.have.lengthOf(0);
|
|
69
|
+
});
|
|
70
|
+
it('should handle a cycle between the components', () => {
|
|
71
|
+
const first = createComponent(`my-scope/first@${H1}`, [`my-scope/second@${H2}`, `my-scope/tooltip@${HB}`]);
|
|
72
|
+
const second = createComponent(`my-scope/second@${H2}`, [`my-scope/first@${H1}`]);
|
|
73
|
+
(0, _chai().expect)(idsOf((0, _autoTag().getAutoTagInfoFromComponents)([first, second], tooltip))).to.deep.equal(['my-scope/first', 'my-scope/second']);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=auto-tag.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_componentId","_autoTag","H1","repeat","H2","HB","createComponent","id","deps","depsFromConfig","componentId","ComponentID","fromString","getAllDependencies","map","dep","isDependencyVersionFromConfig","depId","includes","toStringWithoutVersion","idsOf","results","result","component","describe","tooltip","ComponentIdList","fromStringArray","noticeTooltip","it","expect","getAutoTagInfoFromComponents","to","deep","equal","inputText","forEach","triggeredBy","avatar","have","lengthOf","textArea","pinned","dependent","tooltipTag","first","second"],"sources":["auto-tag.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport type { ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport { getAutoTagInfoFromComponents } from './auto-tag';\n\nconst H1 = '1'.repeat(40);\nconst H2 = '2'.repeat(40);\nconst HB = 'b'.repeat(40);\n\nfunction createComponent(id: string, deps: string[] = [], depsFromConfig: string[] = []): ConsumerComponent {\n const componentId = ComponentID.fromString(id);\n return {\n id: componentId,\n componentId,\n getAllDependencies: () => deps.map((dep) => ({ id: ComponentID.fromString(dep) })),\n isDependencyVersionFromConfig: (depId: ComponentID) => depsFromConfig.includes(depId.toStringWithoutVersion()),\n } as any;\n}\n\nconst idsOf = (results: ReturnType<typeof getAutoTagInfoFromComponents>) =>\n results.map((result) => result.component.id.toStringWithoutVersion());\n\ndescribe('getAutoTagInfoFromComponents()', () => {\n const tooltip = ComponentIdList.fromStringArray([`my-scope/tooltip@${'a'.repeat(40)}`]);\n const noticeTooltip = createComponent(`my-scope/notice-tooltip@${H1}`, [`my-scope/tooltip@${HB}`]);\n\n it('should return a component that depends on another version of the changed component', () => {\n expect(idsOf(getAutoTagInfoFromComponents([noticeTooltip], tooltip))).to.deep.equal(['my-scope/notice-tooltip']);\n });\n it('should return the dependents of a dependent, triggered by the changed component', () => {\n const inputText = createComponent(`my-scope/input-text@${H2}`, [`my-scope/notice-tooltip@${H1}`]);\n const results = getAutoTagInfoFromComponents([inputText, noticeTooltip], tooltip);\n expect(idsOf(results)).to.deep.equal(['my-scope/input-text', 'my-scope/notice-tooltip']);\n results.forEach((result) => {\n expect(result.triggeredBy.map((id) => id.toStringWithoutVersion())).to.deep.equal(['my-scope/tooltip']);\n });\n });\n it('should not return a component that does not depend on the changed component', () => {\n const avatar = createComponent(`my-scope/avatar@${H1}`, ['my-scope/icon@0.0.1']);\n expect(getAutoTagInfoFromComponents([avatar], tooltip)).to.have.lengthOf(0);\n });\n it('should not return a component that depends on the changed component through a component that is not passed', () => {\n const textArea = createComponent(`my-scope/text-area@${H1}`, ['my-scope/notice-tooltip@0.0.16']);\n expect(getAutoTagInfoFromComponents([textArea], tooltip)).to.have.lengthOf(0);\n });\n it('should not return a component that has the dependency version set in its config', () => {\n const pinned = createComponent(`my-scope/notice-tooltip@${H1}`, [`my-scope/tooltip@${HB}`], ['my-scope/tooltip']);\n expect(getAutoTagInfoFromComponents([pinned], tooltip)).to.have.lengthOf(0);\n });\n it('should not downgrade a component that depends on a higher tag', () => {\n const dependent = createComponent('my-scope/notice-tooltip@0.0.2', ['my-scope/tooltip@0.0.5']);\n const tooltipTag = ComponentIdList.fromStringArray(['my-scope/tooltip@0.0.4']);\n expect(getAutoTagInfoFromComponents([dependent], tooltipTag)).to.have.lengthOf(0);\n });\n it('should handle a cycle between the components', () => {\n const first = createComponent(`my-scope/first@${H1}`, [`my-scope/second@${H2}`, `my-scope/tooltip@${HB}`]);\n const second = createComponent(`my-scope/second@${H2}`, [`my-scope/first@${H1}`]);\n expect(idsOf(getAutoTagInfoFromComponents([first, second], tooltip))).to.deep.equal([\n 'my-scope/first',\n 'my-scope/second',\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,5 +19,6 @@ export type { CompFiles, FilesStatus } from './workspace-component/comp-files';
|
|
|
19
19
|
export type { MergeOptions as BitmapMergeOptions } from './bit-map';
|
|
20
20
|
export type { WorkspaceExtConfig } from './types';
|
|
21
21
|
export type { AutoTagResult } from './auto-tag';
|
|
22
|
+
export { getAutoTagInfoFromComponents } from './auto-tag';
|
|
22
23
|
export { WorkspaceAspect };
|
|
23
24
|
export default WorkspaceAspect;
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,8 @@ var _exportNames = {
|
|
|
9
9
|
ComponentStatus: true,
|
|
10
10
|
WorkspaceModel: true,
|
|
11
11
|
WorkspaceContext: true,
|
|
12
|
-
OutsideWorkspaceError: true
|
|
12
|
+
OutsideWorkspaceError: true,
|
|
13
|
+
getAutoTagInfoFromComponents: true
|
|
13
14
|
};
|
|
14
15
|
Object.defineProperty(exports, "CheckTypes", {
|
|
15
16
|
enumerable: true,
|
|
@@ -48,6 +49,12 @@ Object.defineProperty(exports, "WorkspaceModel", {
|
|
|
48
49
|
}
|
|
49
50
|
});
|
|
50
51
|
exports.default = void 0;
|
|
52
|
+
Object.defineProperty(exports, "getAutoTagInfoFromComponents", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () {
|
|
55
|
+
return _autoTag().getAutoTagInfoFromComponents;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
51
58
|
function _workspace() {
|
|
52
59
|
const data = require("./workspace.aspect");
|
|
53
60
|
_workspace = function () {
|
|
@@ -102,6 +109,13 @@ function _outsideWorkspace() {
|
|
|
102
109
|
};
|
|
103
110
|
return data;
|
|
104
111
|
}
|
|
112
|
+
function _autoTag() {
|
|
113
|
+
const data = require("./auto-tag");
|
|
114
|
+
_autoTag = function () {
|
|
115
|
+
return data;
|
|
116
|
+
};
|
|
117
|
+
return data;
|
|
118
|
+
}
|
|
105
119
|
// eslint-disable-next-line import/prefer-default-export
|
|
106
120
|
// TODO: change to module path once track the utils folder
|
|
107
121
|
var _default = exports.default = _workspace().WorkspaceAspect;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_workspace","data","require","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_watchOptions","_workspaceComponent","_workspaceModel","_workspaceContext","_outsideWorkspace","_default","default","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 * from './events';\nexport type { WorkspaceUI } from './workspace.ui.runtime';\nexport type { SerializableResults, OnComponentLoad, OnComponentEventResult } from './on-component-events';\nexport { CheckTypes } from './watch-options';\nexport type { WatchOptions } from './watch-options';\nexport { ComponentStatus } from './workspace-component';\nexport type { WorkspaceModelComponent } from './ui/workspace/workspace-model';\nexport { Workspace as WorkspaceModel } from './ui/workspace/workspace-model';\nexport { WorkspaceContext } from './ui/workspace/workspace-context';\nexport { OutsideWorkspaceError } from './exceptions/outside-workspace';\nexport type { WorkspaceComponent, ComponentLoadOptions as WorkspaceComponentLoadOptions } from './workspace-component';\nexport type { ComponentConfigFile } from './component-config-file';\nexport type { CompFiles, FilesStatus } from './workspace-component/comp-files';\nexport type { MergeOptions as BitmapMergeOptions } from './bit-map';\nexport type { WorkspaceExtConfig } from './types';\nexport type { AutoTagResult } from './auto-tag';\nexport { WorkspaceAspect };\nexport default WorkspaceAspect;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_workspace","data","require","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_watchOptions","_workspaceComponent","_workspaceModel","_workspaceContext","_outsideWorkspace","_autoTag","_default","default","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 * from './events';\nexport type { WorkspaceUI } from './workspace.ui.runtime';\nexport type { SerializableResults, OnComponentLoad, OnComponentEventResult } from './on-component-events';\nexport { CheckTypes } from './watch-options';\nexport type { WatchOptions } from './watch-options';\nexport { ComponentStatus } from './workspace-component';\nexport type { WorkspaceModelComponent } from './ui/workspace/workspace-model';\nexport { Workspace as WorkspaceModel } from './ui/workspace/workspace-model';\nexport { WorkspaceContext } from './ui/workspace/workspace-context';\nexport { OutsideWorkspaceError } from './exceptions/outside-workspace';\nexport type { WorkspaceComponent, ComponentLoadOptions as WorkspaceComponentLoadOptions } from './workspace-component';\nexport type { ComponentConfigFile } from './component-config-file';\nexport type { CompFiles, FilesStatus } from './workspace-component/comp-files';\nexport type { MergeOptions as BitmapMergeOptions } from './bit-map';\nexport type { WorkspaceExtConfig } from './types';\nexport type { AutoTagResult } from './auto-tag';\nexport { getAutoTagInfoFromComponents } from './auto-tag';\nexport { WorkspaceAspect };\nexport default WorkspaceAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,IAAAE,OAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAGA,SAAAS,cAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,aAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAgB,oBAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,mBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAiB,gBAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,eAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,kBAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,iBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,kBAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,iBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,SAAAoB,SAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,QAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAtBA;AAEA;AAAA,IAAAqB,QAAA,GAAAV,OAAA,CAAAW,OAAA,GAsBeC,4BAAe","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1251/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1251/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1251",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/workspace",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "workspace",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1251"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.18.1",
|
|
@@ -31,10 +31,8 @@
|
|
|
31
31
|
"@teambit/component-id": "1.2.5",
|
|
32
32
|
"@teambit/harmony": "0.4.12",
|
|
33
33
|
"@teambit/legacy.extension-data": "0.0.193",
|
|
34
|
-
"@teambit/legacy.scope": "0.0.192",
|
|
35
34
|
"@teambit/component-version": "1.0.4",
|
|
36
35
|
"@teambit/legacy.consumer-component": "0.0.192",
|
|
37
|
-
"@teambit/legacy.consumer": "0.0.192",
|
|
38
36
|
"@teambit/bit-error": "0.0.404",
|
|
39
37
|
"@teambit/lane-id": "0.0.312",
|
|
40
38
|
"@teambit/legacy.bit-map": "0.0.248",
|
|
@@ -43,32 +41,23 @@
|
|
|
43
41
|
"@teambit/graph.cleargraph": "0.0.11",
|
|
44
42
|
"@teambit/logger": "0.0.1501",
|
|
45
43
|
"@teambit/component-issues": "0.0.192",
|
|
46
|
-
"@teambit/cli": "0.0.1423",
|
|
47
|
-
"@teambit/config-store": "0.0.304",
|
|
48
44
|
"@teambit/legacy.constants": "0.0.50",
|
|
49
45
|
"@teambit/component.ui.component-status-resolver": "0.0.510",
|
|
50
46
|
"@teambit/harmony.modules.load-trace": "0.0.17",
|
|
51
47
|
"@teambit/harmony.modules.resolved-component": "0.0.530",
|
|
52
48
|
"@teambit/legacy.utils": "0.0.56",
|
|
53
|
-
"@teambit/scope.remotes": "0.0.192",
|
|
54
49
|
"@teambit/component-package-version": "0.0.466",
|
|
55
|
-
"@teambit/config": "0.0.1598",
|
|
56
50
|
"@teambit/harmony.modules.requireable-component": "0.0.530",
|
|
57
51
|
"@teambit/harmony.modules.runtimes": "0.0.4",
|
|
58
52
|
"@teambit/toolbox.modules.module-resolver": "0.0.29",
|
|
59
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.425",
|
|
60
53
|
"@teambit/workspace.root-components": "1.0.1",
|
|
61
54
|
"@teambit/graphql": "1.0.1208",
|
|
62
|
-
"@teambit/global-config": "0.0.1427",
|
|
63
55
|
"@teambit/legacy.consumer-config": "0.0.191",
|
|
64
|
-
"@teambit/variants": "0.0.1691",
|
|
65
56
|
"@teambit/component.sources": "0.0.243",
|
|
66
57
|
"@teambit/dependencies.modules.packages-excluder": "1.0.8",
|
|
67
58
|
"@teambit/git.modules.git-executable": "0.0.51",
|
|
68
59
|
"@teambit/harmony.modules.in-memory-cache": "0.0.55",
|
|
69
60
|
"@teambit/legacy-bit-id": "1.1.4",
|
|
70
|
-
"@teambit/legacy.component-list": "0.0.246",
|
|
71
|
-
"@teambit/legacy.scope-api": "0.0.247",
|
|
72
61
|
"@teambit/toolbox.path.is-path-inside": "0.0.518",
|
|
73
62
|
"@teambit/workspace.modules.match-pattern": "0.0.539",
|
|
74
63
|
"@teambit/component.ui.component-drawer": "0.0.513",
|
|
@@ -106,19 +95,30 @@
|
|
|
106
95
|
"@teambit/workspace.hooks.use-url-change-broadcaster": "0.0.7",
|
|
107
96
|
"@teambit/workspace.ui.preserve-workspace-mode": "0.0.8",
|
|
108
97
|
"@teambit/evangelist.elements.icon": "1.0.5",
|
|
109
|
-
"@teambit/component": "1.0.
|
|
110
|
-
"@teambit/dependency-resolver": "1.0.
|
|
111
|
-
"@teambit/envs": "1.0.
|
|
112
|
-
"@teambit/
|
|
113
|
-
"@teambit/
|
|
114
|
-
"@teambit/
|
|
115
|
-
"@teambit/
|
|
116
|
-
"@teambit/
|
|
117
|
-
"@teambit/
|
|
118
|
-
"@teambit/
|
|
119
|
-
"@teambit/
|
|
120
|
-
"@teambit/
|
|
121
|
-
"@teambit/
|
|
98
|
+
"@teambit/component": "1.0.1235",
|
|
99
|
+
"@teambit/dependency-resolver": "1.0.1235",
|
|
100
|
+
"@teambit/envs": "1.0.1235",
|
|
101
|
+
"@teambit/legacy.scope": "0.0.193",
|
|
102
|
+
"@teambit/legacy.consumer": "0.0.193",
|
|
103
|
+
"@teambit/objects": "0.0.728",
|
|
104
|
+
"@teambit/scope": "1.0.1250",
|
|
105
|
+
"@teambit/graph": "1.0.1249",
|
|
106
|
+
"@teambit/cli": "0.0.1424",
|
|
107
|
+
"@teambit/config-store": "0.0.305",
|
|
108
|
+
"@teambit/isolator": "1.0.1249",
|
|
109
|
+
"@teambit/component-tree": "1.0.1235",
|
|
110
|
+
"@teambit/scope.remotes": "0.0.193",
|
|
111
|
+
"@teambit/aspect-loader": "1.0.1235",
|
|
112
|
+
"@teambit/config": "0.0.1599",
|
|
113
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.426",
|
|
114
|
+
"@teambit/bundler": "1.0.1249",
|
|
115
|
+
"@teambit/global-config": "0.0.1428",
|
|
116
|
+
"@teambit/ui": "1.0.1250",
|
|
117
|
+
"@teambit/variants": "0.0.1692",
|
|
118
|
+
"@teambit/legacy.component-list": "0.0.247",
|
|
119
|
+
"@teambit/legacy.scope-api": "0.0.248",
|
|
120
|
+
"@teambit/command-bar": "1.0.1250",
|
|
121
|
+
"@teambit/sidebar": "1.0.1235"
|
|
122
122
|
},
|
|
123
123
|
"devDependencies": {
|
|
124
124
|
"@types/lodash": "4.14.165",
|