@teambit/snapping 1.0.453 → 1.0.454

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.
@@ -1,16 +1,16 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="9" failures="0" errors="0" skipped="1">
3
- <testsuite name="teambit.component/snapping@1.0.453" tests="9" failures="0" errors="0" skipped="1">
4
- <testcase classname="dist/snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.037"/>
3
+ <testsuite name="teambit.component/snapping@1.0.454" tests="9" failures="0" errors="0" skipped="1">
4
+ <testcase classname="dist/snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.057"/>
5
5
  <testcase classname="dist/snapping.spec.js" name="should not throw an error if the config was set to ignore MissingPackagesDependenciesOnFs error">
6
6
  <skipped/>
7
7
  </testcase>
8
8
  <testcase classname="dist/snapping.spec.js" name="should add the new dev dep" time="0.002"/>
9
- <testcase classname="dist/snapping.spec.js" name="should remove the specified dependency" time="0.001"/>
9
+ <testcase classname="dist/snapping.spec.js" name="should remove the specified dependency" time="0.002"/>
10
10
  <testcase classname="dist/snapping.spec.js" name="should be able to list it"/>
11
- <testcase classname="dist/snapping.spec.js" name="should be ignored by tag command" time="0.146"/>
12
- <testcase classname="dist/snapping.spec.js" name="should be ignored by snap command" time="0.178"/>
13
- <testcase classname="dist/snapping.spec.js" name="should be ignored when it is an auto-tag candidate" time="0.35"/>
14
- <testcase classname="dist/snapping.spec.js" name="should block setting local-only when a component is staged" time="0.201"/>
11
+ <testcase classname="dist/snapping.spec.js" name="should be ignored by tag command" time="0.172"/>
12
+ <testcase classname="dist/snapping.spec.js" name="should be ignored by snap command" time="0.192"/>
13
+ <testcase classname="dist/snapping.spec.js" name="should be ignored when it is an auto-tag candidate" time="0.388"/>
14
+ <testcase classname="dist/snapping.spec.js" name="should block setting local-only when a component is staged" time="0.204"/>
15
15
  </testsuite>
16
16
  </testsuites>
@@ -13116,7 +13116,7 @@
13116
13116
  "componentId": {
13117
13117
  "scope": "teambit.component",
13118
13118
  "name": "snapping",
13119
- "version": "1.0.453"
13119
+ "version": "1.0.454"
13120
13120
  },
13121
13121
  "taggedModuleExports": []
13122
13122
  }
package/dist/snap-cmd.js CHANGED
@@ -109,7 +109,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
109
109
  const autoTaggedCount = autoSnappedResults ? autoSnappedResults.length : 0;
110
110
  const warningsOutput = warnings && warnings.length ? `${_chalk().default.yellow(warnings.join('\n'))}\n\n` : '';
111
111
  const snapExplanation = `\n(use "bit export" to push these components to a remote")
112
- (use "bit reset" to unstage all local versions, or "bit reset --head" to only unstage the latest local snap)`;
112
+ (use "bit reset --all" to unstage all local versions, or "bit reset --head" to only unstage the latest local snap)`;
113
113
  const compInBold = id => {
114
114
  const version = id.hasVersion() ? `@${id.version}` : '';
115
115
  return `${_chalk().default.bold(id.toStringWithoutVersion())}${version}`;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_constants","_tagCmd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SnapCmd","constructor","snapping","logger","globalConfig","name","description","COMPONENT_PATTERN_HELP","keys","IssuesClasses","join","report","pattern","message","unmerged","editor","ignoreIssues","build","skipTests","skipTasks","skipAutoSnap","disableSnapPipeline","ignoreBuildErrors","rebuildDepsGraph","unmodified","failFast","getBool","CFG_FORCE_LOCAL_BUILD","Boolean","disableTagAndSnapPipelines","consoleWarning","results","snap","exitOnFirstFailedTask","chalk","yellow","NOTHING_TO_SNAP_MSG","snappedComponents","autoSnappedResults","warnings","newComponents","laneName","removedComponents","changedComponents","filter","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","length","warningsOutput","snapExplanation","compInBold","version","hasVersion","bold","toStringWithoutVersion","outputComponents","comps","map","componentOutput","autoTag","result","triggeredBy","autoTagComp","a","AUTO_SNAPPED_MSG","outputIfExists","label","explanation","components","underline","laneStr","outputIdsIfExists","green","exports"],"sources":["snap-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { GlobalConfigMain } from '@teambit/global-config';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport {\n NOTHING_TO_SNAP_MSG,\n AUTO_SNAPPED_MSG,\n COMPONENT_PATTERN_HELP,\n CFG_FORCE_LOCAL_BUILD,\n} from '@teambit/legacy/dist/constants';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain, SnapResults } from './snapping.main.runtime';\nimport { outputIdsIfExists } from './tag-cmd';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport class SnapCmd implements Command {\n name = 'snap [component-pattern]';\n description = 'create an immutable and exportable component snapshot (non-release version)';\n extendedDescription: string;\n group = 'development';\n arguments = [\n {\n name: 'component-pattern',\n description: `${COMPONENT_PATTERN_HELP}. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace).`,\n },\n ];\n helpUrl = 'reference/components/snaps';\n alias = '';\n options = [\n ['m', 'message <message>', 'snap message describing the latest changes - will appear in component history log'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are snapped)'],\n ['', 'unmerged', 'complete a merge process by snapping the unmerged components'],\n ['b', 'build', 'locally run the build pipeline (i.e. not via rippleCI) and complete the snap'],\n [\n '',\n 'editor [editor]',\n 'open an editor to write a snap message per component. optionally specify the editor-name (defaults to vim).',\n ],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n [\n '',\n 'skip-tasks <string>',\n `skip the given tasks. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n ['', 'skip-auto-snap', 'skip auto snapping dependents'],\n [\n '',\n 'disable-snap-pipeline',\n 'skip the snap pipeline. this will for instance skip packing and publishing component version for install, and app deployment',\n ],\n ['', 'ignore-build-errors', 'proceed to snap pipeline even when build pipeline fails'],\n ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'],\n [\n 'i',\n 'ignore-issues <issues>',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)',\n ],\n ] as CommandOptions;\n loader = true;\n\n constructor(\n private snapping: SnappingMain,\n private logger: Logger,\n private globalConfig: GlobalConfigMain\n ) {}\n\n async report(\n [pattern]: string[],\n {\n message = '',\n unmerged = false,\n editor = '',\n ignoreIssues,\n build,\n skipTests = false,\n skipTasks,\n skipAutoSnap = false,\n disableSnapPipeline = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n unmodified = false,\n failFast = false,\n }: {\n unmerged?: boolean;\n editor?: string;\n ignoreIssues?: string;\n skipAutoSnap?: boolean;\n disableSnapPipeline?: boolean;\n unmodified?: boolean;\n failFast?: boolean;\n } & BasicTagSnapParams\n ) {\n build = (await this.globalConfig.getBool(CFG_FORCE_LOCAL_BUILD)) || Boolean(build);\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (!message && !editor) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your snap, will be displayed in the version history`\n );\n }\n\n const results = await this.snapping.snap({\n pattern,\n message,\n unmerged,\n editor,\n ignoreIssues,\n build,\n skipTests,\n skipTasks,\n skipAutoSnap,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n unmodified,\n exitOnFirstFailedTask: failFast,\n });\n\n if (!results) return chalk.yellow(NOTHING_TO_SNAP_MSG);\n const { snappedComponents, autoSnappedResults, warnings, newComponents, laneName, removedComponents }: SnapResults =\n results;\n const changedComponents = snappedComponents.filter((component) => {\n return (\n !newComponents.searchWithoutVersion(component.id) && !removedComponents?.searchWithoutVersion(component.id)\n );\n });\n const addedComponents = snappedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoSnappedResults ? autoSnappedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const snapExplanation = `\\n(use \"bit export\" to push these components to a remote\")\n(use \"bit reset\" to unstage all local versions, or \"bit reset --head\" to only unstage the latest local snap)`;\n\n const compInBold = (id: ComponentID) => {\n const version = id.hasVersion() ? `@${id.version}` : '';\n return `${chalk.bold(id.toStringWithoutVersion())}${version}`;\n };\n\n const outputComponents = (comps: ConsumerComponent[]) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${compInBold(component.id)}`;\n const autoTag = autoSnappedResults.filter((result) => result.triggeredBy.searchWithoutVersion(component.id));\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => compInBold(a.component.id));\n componentOutput += `\\n ${AUTO_SNAPPED_MSG} (${autoTagComp.length} total):\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n const laneStr = laneName ? ` on \"${laneName}\" lane` : '';\n\n return (\n outputIfExists('new components', 'first version for components', addedComponents) +\n outputIfExists('changed components', 'components that got a version bump', changedComponents) +\n outputIdsIfExists('removed components', removedComponents) +\n warningsOutput +\n chalk.green(`\\n${snappedComponents.length + autoTaggedCount} component(s) snapped${laneStr}`) +\n snapExplanation\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_constants","_tagCmd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SnapCmd","constructor","snapping","logger","globalConfig","name","description","COMPONENT_PATTERN_HELP","keys","IssuesClasses","join","report","pattern","message","unmerged","editor","ignoreIssues","build","skipTests","skipTasks","skipAutoSnap","disableSnapPipeline","ignoreBuildErrors","rebuildDepsGraph","unmodified","failFast","getBool","CFG_FORCE_LOCAL_BUILD","Boolean","disableTagAndSnapPipelines","consoleWarning","results","snap","exitOnFirstFailedTask","chalk","yellow","NOTHING_TO_SNAP_MSG","snappedComponents","autoSnappedResults","warnings","newComponents","laneName","removedComponents","changedComponents","filter","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","length","warningsOutput","snapExplanation","compInBold","version","hasVersion","bold","toStringWithoutVersion","outputComponents","comps","map","componentOutput","autoTag","result","triggeredBy","autoTagComp","a","AUTO_SNAPPED_MSG","outputIfExists","label","explanation","components","underline","laneStr","outputIdsIfExists","green","exports"],"sources":["snap-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { ComponentID } from '@teambit/component-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { GlobalConfigMain } from '@teambit/global-config';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport {\n NOTHING_TO_SNAP_MSG,\n AUTO_SNAPPED_MSG,\n COMPONENT_PATTERN_HELP,\n CFG_FORCE_LOCAL_BUILD,\n} from '@teambit/legacy/dist/constants';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain, SnapResults } from './snapping.main.runtime';\nimport { outputIdsIfExists } from './tag-cmd';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport class SnapCmd implements Command {\n name = 'snap [component-pattern]';\n description = 'create an immutable and exportable component snapshot (non-release version)';\n extendedDescription: string;\n group = 'development';\n arguments = [\n {\n name: 'component-pattern',\n description: `${COMPONENT_PATTERN_HELP}. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace).`,\n },\n ];\n helpUrl = 'reference/components/snaps';\n alias = '';\n options = [\n ['m', 'message <message>', 'snap message describing the latest changes - will appear in component history log'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are snapped)'],\n ['', 'unmerged', 'complete a merge process by snapping the unmerged components'],\n ['b', 'build', 'locally run the build pipeline (i.e. not via rippleCI) and complete the snap'],\n [\n '',\n 'editor [editor]',\n 'open an editor to write a snap message per component. optionally specify the editor-name (defaults to vim).',\n ],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n [\n '',\n 'skip-tasks <string>',\n `skip the given tasks. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n ['', 'skip-auto-snap', 'skip auto snapping dependents'],\n [\n '',\n 'disable-snap-pipeline',\n 'skip the snap pipeline. this will for instance skip packing and publishing component version for install, and app deployment',\n ],\n ['', 'ignore-build-errors', 'proceed to snap pipeline even when build pipeline fails'],\n ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'],\n [\n 'i',\n 'ignore-issues <issues>',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)',\n ],\n ] as CommandOptions;\n loader = true;\n\n constructor(\n private snapping: SnappingMain,\n private logger: Logger,\n private globalConfig: GlobalConfigMain\n ) {}\n\n async report(\n [pattern]: string[],\n {\n message = '',\n unmerged = false,\n editor = '',\n ignoreIssues,\n build,\n skipTests = false,\n skipTasks,\n skipAutoSnap = false,\n disableSnapPipeline = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n unmodified = false,\n failFast = false,\n }: {\n unmerged?: boolean;\n editor?: string;\n ignoreIssues?: string;\n skipAutoSnap?: boolean;\n disableSnapPipeline?: boolean;\n unmodified?: boolean;\n failFast?: boolean;\n } & BasicTagSnapParams\n ) {\n build = (await this.globalConfig.getBool(CFG_FORCE_LOCAL_BUILD)) || Boolean(build);\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (!message && !editor) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your snap, will be displayed in the version history`\n );\n }\n\n const results = await this.snapping.snap({\n pattern,\n message,\n unmerged,\n editor,\n ignoreIssues,\n build,\n skipTests,\n skipTasks,\n skipAutoSnap,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n unmodified,\n exitOnFirstFailedTask: failFast,\n });\n\n if (!results) return chalk.yellow(NOTHING_TO_SNAP_MSG);\n const { snappedComponents, autoSnappedResults, warnings, newComponents, laneName, removedComponents }: SnapResults =\n results;\n const changedComponents = snappedComponents.filter((component) => {\n return (\n !newComponents.searchWithoutVersion(component.id) && !removedComponents?.searchWithoutVersion(component.id)\n );\n });\n const addedComponents = snappedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoSnappedResults ? autoSnappedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const snapExplanation = `\\n(use \"bit export\" to push these components to a remote\")\n(use \"bit reset --all\" to unstage all local versions, or \"bit reset --head\" to only unstage the latest local snap)`;\n\n const compInBold = (id: ComponentID) => {\n const version = id.hasVersion() ? `@${id.version}` : '';\n return `${chalk.bold(id.toStringWithoutVersion())}${version}`;\n };\n\n const outputComponents = (comps: ConsumerComponent[]) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${compInBold(component.id)}`;\n const autoTag = autoSnappedResults.filter((result) => result.triggeredBy.searchWithoutVersion(component.id));\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => compInBold(a.component.id));\n componentOutput += `\\n ${AUTO_SNAPPED_MSG} (${autoTagComp.length} total):\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n const laneStr = laneName ? ` on \"${laneName}\" lane` : '';\n\n return (\n outputIfExists('new components', 'first version for components', addedComponents) +\n outputIfExists('changed components', 'components that got a version bump', changedComponents) +\n outputIdsIfExists('removed components', removedComponents) +\n warningsOutput +\n chalk.green(`\\n${snappedComponents.length + autoTaggedCount} component(s) snapped${laneStr}`) +\n snapExplanation\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/snapping",
3
- "version": "1.0.453",
3
+ "version": "1.0.454",
4
4
  "homepage": "https://bit.cloud/teambit/component/snapping",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "snapping",
9
- "version": "1.0.453"
9
+ "version": "1.0.454"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -21,34 +21,34 @@
21
21
  "@teambit/harmony": "0.4.6",
22
22
  "@teambit/component-version": "1.0.3",
23
23
  "@teambit/lane-id": "0.0.311",
24
- "@teambit/graph": "1.0.453",
25
- "@teambit/logger": "0.0.1123",
26
- "@teambit/scope": "1.0.453",
24
+ "@teambit/graph": "1.0.454",
25
+ "@teambit/logger": "0.0.1124",
26
+ "@teambit/scope": "1.0.454",
27
27
  "@teambit/toolbox.promise.map-pool": "0.0.1",
28
28
  "@teambit/component.sources": "0.0.42",
29
- "@teambit/component": "1.0.453",
30
- "@teambit/dependencies": "1.0.453",
31
- "@teambit/dependency-resolver": "1.0.453",
32
- "@teambit/cli": "0.0.1030",
29
+ "@teambit/component": "1.0.454",
30
+ "@teambit/dependencies": "1.0.454",
31
+ "@teambit/dependency-resolver": "1.0.454",
32
+ "@teambit/cli": "0.0.1031",
33
33
  "@teambit/legacy.component-list": "0.0.43",
34
34
  "@teambit/component-issues": "0.0.151",
35
- "@teambit/global-config": "0.0.1033",
36
- "@teambit/application": "1.0.453",
37
- "@teambit/builder": "1.0.453",
38
- "@teambit/export": "1.0.453",
39
- "@teambit/forking": "1.0.453",
35
+ "@teambit/global-config": "0.0.1034",
36
+ "@teambit/application": "1.0.454",
37
+ "@teambit/builder": "1.0.454",
38
+ "@teambit/export": "1.0.454",
39
+ "@teambit/forking": "1.0.454",
40
40
  "@teambit/harmony.modules.concurrency": "0.0.1",
41
- "@teambit/importer": "1.0.453",
42
- "@teambit/insights": "1.0.453",
43
- "@teambit/install": "1.0.453",
44
- "@teambit/issues": "1.0.453",
41
+ "@teambit/importer": "1.0.454",
42
+ "@teambit/insights": "1.0.454",
43
+ "@teambit/install": "1.0.454",
44
+ "@teambit/issues": "1.0.454",
45
45
  "@teambit/lanes.modules.create-lane": "0.0.23",
46
46
  "@teambit/legacy.scope-api": "0.0.45",
47
47
  "@teambit/pkg.modules.semver-helper": "0.0.1",
48
- "@teambit/workspace": "1.0.453",
48
+ "@teambit/workspace": "1.0.454",
49
49
  "@teambit/bit.get-bit-version": "0.0.1",
50
50
  "@teambit/harmony.modules.get-basic-log": "0.0.1",
51
- "@teambit/remove": "1.0.453",
51
+ "@teambit/remove": "1.0.454",
52
52
  "@teambit/toolbox.crypto.sha1": "0.0.2",
53
53
  "@teambit/workspace.modules.node-modules-linker": "0.0.217"
54
54
  },
@@ -61,7 +61,7 @@
61
61
  "@types/uuid": "8.3.4",
62
62
  "@types/mocha": "9.1.0",
63
63
  "@teambit/harmony.envs.core-aspect-env": "0.0.60",
64
- "@teambit/compiler": "1.0.453",
64
+ "@teambit/compiler": "1.0.454",
65
65
  "@teambit/component.testing.mock-components": "0.0.248",
66
66
  "@teambit/harmony.testing.load-aspect": "0.0.243",
67
67
  "@teambit/workspace.testing.mock-workspace": "0.0.27"