@teambit/forking 1.0.822 → 1.0.824

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.
@@ -34,6 +34,14 @@ export declare class ForkCmd implements Command {
34
34
  {
35
35
  cmd: 'fork teambit.base-ui/input/button ui/button';
36
36
  description: "create a component named 'ui/button', forked from the remote 'input/button' component";
37
+ },
38
+ {
39
+ cmd: 'fork "teambit.base-ui/**" --scope my-org.my-scope';
40
+ description: 'fork all components from teambit.base-ui scope to my-org.my-scope';
41
+ },
42
+ {
43
+ cmd: 'fork "my-org.utils/string/**"';
44
+ description: 'fork all string utility components to the workspace default scope';
37
45
  }
38
46
  ];
39
47
  loader: boolean;
package/dist/fork.cmd.js CHANGED
@@ -11,6 +11,20 @@ function _chalk() {
11
11
  };
12
12
  return data;
13
13
  }
14
+ function _legacy() {
15
+ const data = require("@teambit/legacy.utils");
16
+ _legacy = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _legacy2() {
22
+ const data = require("@teambit/legacy.constants");
23
+ _legacy2 = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
14
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
29
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
30
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -18,18 +32,21 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
18
32
  class ForkCmd {
19
33
  constructor(forking) {
20
34
  this.forking = forking;
21
- _defineProperty(this, "name", 'fork <source-component-id> [target-component-name]');
35
+ _defineProperty(this, "name", 'fork <pattern> [target-component-name]');
22
36
  _defineProperty(this, "description", 'create a new component by copying from an existing one');
23
37
  _defineProperty(this, "extendedDescription", `duplicates an existing component's source files and configuration to create a new independent component.
24
38
  useful for creating variations or starting development from a similar component.
25
- automatically handles import/require statement updates and provides refactoring options.`);
39
+ automatically handles import/require statement updates and provides refactoring options.
40
+
41
+ when using a pattern, all matching components are forked with the same name to a target scope.
42
+ the target-component-name argument is not allowed when using patterns.`);
26
43
  _defineProperty(this, "helpUrl", 'docs/getting-started/collaborate/importing-components#fork-a-component');
27
44
  _defineProperty(this, "arguments", [{
28
- name: 'source-component-id',
29
- description: 'the component id of the source component'
45
+ name: 'pattern',
46
+ description: _legacy2().COMPONENT_PATTERN_HELP
30
47
  }, {
31
48
  name: 'target-component-name',
32
- description: "the name for the new component (component name without scope, e.g. name/spaces/my-button). to set a different scope, use the '--scope' flag"
49
+ description: "the name for the new component (component name without scope, e.g. name/spaces/my-button). to set a different scope, use the '--scope' flag. not allowed when using patterns"
33
50
  }]);
34
51
  _defineProperty(this, "group", 'collaborate');
35
52
  _defineProperty(this, "skipWorkspace", true);
@@ -40,8 +57,20 @@ automatically handles import/require statement updates and provides refactoring
40
57
  _defineProperty(this, "remoteOp", true);
41
58
  }
42
59
  async report([sourceId, targetId], options) {
43
- const results = await this.forking.fork(sourceId, targetId, options);
44
- const targetIdStr = results.toString();
60
+ const isPattern = (0, _legacy().hasWildcard)(sourceId) || sourceId.includes(',');
61
+ if (isPattern) {
62
+ // Pattern mode - fork multiple components
63
+ if (targetId) {
64
+ throw new Error('target-component-name is not allowed when using patterns');
65
+ }
66
+ const results = await this.forking.forkByPattern(sourceId, options);
67
+ const title = _chalk().default.green(`successfully forked ${_chalk().default.bold(results.length)} component(s) matching pattern ${_chalk().default.bold(sourceId)}`);
68
+ return `${title}\n${results.map(id => id.toString()).join('\n')}`;
69
+ }
70
+
71
+ // Single component mode - original behavior
72
+ const result = await this.forking.fork(sourceId, targetId, options);
73
+ const targetIdStr = result.toString();
45
74
  return _chalk().default.green(`successfully forked ${_chalk().default.bold(targetIdStr)} from ${_chalk().default.bold(sourceId)}`);
46
75
  }
47
76
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ForkCmd","constructor","forking","name","description","report","sourceId","targetId","options","results","fork","targetIdStr","toString","chalk","green","bold","exports"],"sources":["fork.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { ComponentConfig } from '@teambit/generator';\nimport chalk from 'chalk';\nimport type { WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport type { ForkingMain } from './forking.main.runtime';\n\nexport type ForkOptions = {\n scope?: string;\n path?: string;\n refactor?: boolean;\n skipDependencyInstallation?: boolean;\n skipConfig?: boolean;\n preserve?: boolean;\n noLink?: boolean;\n env?: string;\n config?: ComponentConfig;\n ast?: boolean;\n compile?: boolean;\n loadOptions?: WorkspaceComponentLoadOptions;\n};\n\nexport class ForkCmd implements Command {\n name = 'fork <source-component-id> [target-component-name]';\n description = 'create a new component by copying from an existing one';\n extendedDescription = `duplicates an existing component's source files and configuration to create a new independent component.\nuseful for creating variations or starting development from a similar component.\nautomatically handles import/require statement updates and provides refactoring options.`;\n helpUrl = 'docs/getting-started/collaborate/importing-components#fork-a-component';\n arguments = [\n { name: 'source-component-id', description: 'the component id of the source component' },\n {\n name: 'target-component-name',\n description:\n \"the name for the new component (component name without scope, e.g. name/spaces/my-button). to set a different scope, use the '--scope' flag\",\n },\n ];\n group = 'collaborate';\n skipWorkspace = true;\n alias = '';\n\n options = [\n ['s', 'scope <string>', 'default scope for the new component'],\n [\n 'p',\n 'path <string>',\n 'relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>`',\n ],\n ['r', 'refactor', 'update the import/require statements in all dependent components (in the same workspace)'],\n ['x', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ['e', 'env <string>', 'set the environment for the new component'],\n [\n '',\n 'skip-config',\n 'do not copy the config (aspects-config, env, etc) to the new component. helpful when it fails during aspect loading',\n ],\n ['', 'preserve', 'avoid refactoring file and variable/class names according to the new component name'],\n ['', 'no-link', 'avoid saving a reference to the original component'],\n ['', 'ast', 'use ast to transform files instead of regex'],\n ] as CommandOptions;\n\n example: [\n {\n cmd: 'fork teambit.base-ui/input/button ui/button';\n description: \"create a component named 'ui/button', forked from the remote 'input/button' component\";\n },\n ];\n loader = true;\n remoteOp = true;\n\n constructor(private forking: ForkingMain) {}\n\n async report([sourceId, targetId]: [string, string], options: ForkOptions): Promise<string> {\n const results = await this.forking.fork(sourceId, targetId, options);\n const targetIdStr = results.toString();\n return chalk.green(`successfully forked ${chalk.bold(targetIdStr)} from ${chalk.bold(sourceId)}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_legacy","_legacy2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ForkCmd","constructor","forking","name","description","COMPONENT_PATTERN_HELP","report","sourceId","targetId","options","isPattern","hasWildcard","includes","Error","results","forkByPattern","title","chalk","green","bold","length","map","id","toString","join","result","fork","targetIdStr","exports"],"sources":["fork.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { ComponentConfig } from '@teambit/generator';\nimport chalk from 'chalk';\nimport { hasWildcard } from '@teambit/legacy.utils';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport type { WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport type { ForkingMain } from './forking.main.runtime';\n\nexport type ForkOptions = {\n scope?: string;\n path?: string;\n refactor?: boolean;\n skipDependencyInstallation?: boolean;\n skipConfig?: boolean;\n preserve?: boolean;\n noLink?: boolean;\n env?: string;\n config?: ComponentConfig;\n ast?: boolean;\n compile?: boolean;\n loadOptions?: WorkspaceComponentLoadOptions;\n};\n\nexport class ForkCmd implements Command {\n name = 'fork <pattern> [target-component-name]';\n description = 'create a new component by copying from an existing one';\n extendedDescription = `duplicates an existing component's source files and configuration to create a new independent component.\nuseful for creating variations or starting development from a similar component.\nautomatically handles import/require statement updates and provides refactoring options.\n\nwhen using a pattern, all matching components are forked with the same name to a target scope.\nthe target-component-name argument is not allowed when using patterns.`;\n helpUrl = 'docs/getting-started/collaborate/importing-components#fork-a-component';\n arguments = [\n {\n name: 'pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n {\n name: 'target-component-name',\n description:\n \"the name for the new component (component name without scope, e.g. name/spaces/my-button). to set a different scope, use the '--scope' flag. not allowed when using patterns\",\n },\n ];\n group = 'collaborate';\n skipWorkspace = true;\n alias = '';\n\n options = [\n ['s', 'scope <string>', 'default scope for the new component'],\n [\n 'p',\n 'path <string>',\n 'relative path in the workspace for the new component. by default the path is `<scope>/<namespace>/<name>`',\n ],\n ['r', 'refactor', 'update the import/require statements in all dependent components (in the same workspace)'],\n ['x', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ['e', 'env <string>', 'set the environment for the new component'],\n [\n '',\n 'skip-config',\n 'do not copy the config (aspects-config, env, etc) to the new component. helpful when it fails during aspect loading',\n ],\n ['', 'preserve', 'avoid refactoring file and variable/class names according to the new component name'],\n ['', 'no-link', 'avoid saving a reference to the original component'],\n ['', 'ast', 'use ast to transform files instead of regex'],\n ] as CommandOptions;\n\n example: [\n {\n cmd: 'fork teambit.base-ui/input/button ui/button';\n description: \"create a component named 'ui/button', forked from the remote 'input/button' component\";\n },\n {\n cmd: 'fork \"teambit.base-ui/**\" --scope my-org.my-scope';\n description: 'fork all components from teambit.base-ui scope to my-org.my-scope';\n },\n {\n cmd: 'fork \"my-org.utils/string/**\"';\n description: 'fork all string utility components to the workspace default scope';\n },\n ];\n loader = true;\n remoteOp = true;\n\n constructor(private forking: ForkingMain) {}\n\n async report([sourceId, targetId]: [string, string], options: ForkOptions): Promise<string> {\n const isPattern = hasWildcard(sourceId) || sourceId.includes(',');\n\n if (isPattern) {\n // Pattern mode - fork multiple components\n if (targetId) {\n throw new Error('target-component-name is not allowed when using patterns');\n }\n\n const results = await this.forking.forkByPattern(sourceId, options);\n const title = chalk.green(\n `successfully forked ${chalk.bold(results.length)} component(s) matching pattern ${chalk.bold(sourceId)}`\n );\n return `${title}\\n${results.map((id) => id.toString()).join('\\n')}`;\n }\n\n // Single component mode - original behavior\n const result = await this.forking.fork(sourceId, targetId, options);\n const targetIdStr = result.toString();\n return chalk.green(`successfully forked ${chalk.bold(targetIdStr)} from ${chalk.bold(sourceId)}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -46,6 +46,17 @@ export declare class ForkingMain {
46
46
  * if refactor option is enable, change the source-code to update all dependencies with the new name.
47
47
  */
48
48
  fork(sourceId: string, targetId?: string, options?: ForkOptions): Promise<ComponentID>;
49
+ /**
50
+ * fork multiple components matching a pattern
51
+ * all components are forked with the same name to a target scope
52
+ */
53
+ forkByPattern(pattern: string, options?: ForkOptions): Promise<ComponentID[]>;
54
+ /**
55
+ * Extract scope names from a pattern
56
+ * e.g., "org.scope/**" -> ["org.scope"]
57
+ * e.g., "org.scope/ui/**, org.scope2/backend/**" -> ["org.scope", "org.scope2"]
58
+ */
59
+ private extractScopeNamesFromPattern;
49
60
  /**
50
61
  * get the forking data, such as the source where a component was forked from
51
62
  */
@@ -207,6 +207,105 @@ class ForkingMain {
207
207
  return targetCompId;
208
208
  }
209
209
 
210
+ /**
211
+ * fork multiple components matching a pattern
212
+ * all components are forked with the same name to a target scope
213
+ */
214
+ async forkByPattern(pattern, options) {
215
+ if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
216
+ const targetScope = options?.scope || this.workspace.defaultScope;
217
+
218
+ // Get workspace components matching the pattern
219
+ const workspaceIds = this.workspace.listIds();
220
+ const matchedWorkspaceIds = await this.workspace.filterIdsFromPoolIdsByPattern(pattern, workspaceIds, false);
221
+
222
+ // Get remote components matching the pattern
223
+ // Extract unique scope names from the pattern to query remote scopes
224
+ const scopeNames = this.extractScopeNamesFromPattern(pattern);
225
+ const remoteIds = [];
226
+ for (const scopeName of scopeNames) {
227
+ try {
228
+ const allIdsFromScope = await this.workspace.scope.listRemoteScope(scopeName);
229
+ if (allIdsFromScope.length > 0) {
230
+ const filtered = await this.workspace.scope.filterIdsFromPoolIdsByPattern(pattern, allIdsFromScope, false);
231
+ remoteIds.push(...filtered);
232
+ }
233
+ } catch {
234
+ // If the scope doesn't exist or can't be accessed, continue
235
+ }
236
+ }
237
+ const allMatchedIds = [...matchedWorkspaceIds, ...remoteIds];
238
+ if (!allMatchedIds.length) {
239
+ throw new (_bitError().BitError)(`no components found matching pattern "${pattern}"`);
240
+ }
241
+
242
+ // Filter out components that would conflict with existing workspace components
243
+ const workspaceBitIds = _componentId().ComponentIdList.fromArray(workspaceIds);
244
+ const idsToFork = allMatchedIds.filter(id => {
245
+ const newComponentId = _componentId().ComponentID.fromObject({
246
+ name: id.fullName
247
+ }, targetScope);
248
+ const existInWorkspace = workspaceBitIds.searchWithoutVersion(newComponentId);
249
+ return !existInWorkspace;
250
+ });
251
+ if (!idsToFork.length) {
252
+ throw new (_bitError().BitError)(`all components matching pattern "${pattern}" already exist in the workspace with scope "${targetScope}"`);
253
+ }
254
+ const forkedIds = [];
255
+
256
+ // Fork workspace components
257
+ const workspaceIdsToFork = idsToFork.filter(id => matchedWorkspaceIds.some(wsId => wsId.isEqual(id)));
258
+ for (const id of workspaceIdsToFork) {
259
+ const existing = await this.workspace.get(id);
260
+ const targetCompId = await this.forkExistingInWorkspace(existing, undefined, _objectSpread(_objectSpread({}, options), {}, {
261
+ scope: targetScope
262
+ }));
263
+ forkedIds.push(targetCompId);
264
+ }
265
+
266
+ // Fork remote components
267
+ const remoteIdsToFork = idsToFork.filter(id => remoteIds.some(remoteId => remoteId.isEqual(id)));
268
+ if (remoteIdsToFork.length > 0) {
269
+ const componentsToFork = remoteIdsToFork.map(id => ({
270
+ sourceId: id.toString(),
271
+ targetScope
272
+ }));
273
+ const results = await this.forkMultipleFromRemote(componentsToFork, {
274
+ refactor: options?.refactor,
275
+ scope: targetScope,
276
+ install: !options?.skipDependencyInstallation,
277
+ ast: options?.ast,
278
+ compile: false
279
+ });
280
+ forkedIds.push(...results.map(result => result.targetCompId));
281
+ }
282
+ return forkedIds;
283
+ }
284
+
285
+ /**
286
+ * Extract scope names from a pattern
287
+ * e.g., "org.scope/**" -> ["org.scope"]
288
+ * e.g., "org.scope/ui/**, org.scope2/backend/**" -> ["org.scope", "org.scope2"]
289
+ */
290
+ extractScopeNamesFromPattern(pattern) {
291
+ const patterns = pattern.split(',').map(p => p.trim());
292
+ const scopeNames = new Set();
293
+ for (const pat of patterns) {
294
+ // Skip negation patterns
295
+ if (pat.startsWith('!')) continue;
296
+ // Skip state filters
297
+ if (pat.startsWith('$')) continue;
298
+ const parts = pat.split('/');
299
+ const potentialScope = parts[0];
300
+
301
+ // Only add if it looks like a scope name (contains a dot or doesn't have wildcards)
302
+ if (potentialScope && !potentialScope.includes('*') && (potentialScope.includes('.') || !potentialScope.includes('/'))) {
303
+ scopeNames.add(potentialScope);
304
+ }
305
+ }
306
+ return Array.from(scopeNames);
307
+ }
308
+
210
309
  /**
211
310
  * get the forking data, such as the source where a component was forked from
212
311
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","_cli","_typescript","_component","_dependencyResolver","_graphql","_componentVersion","_install","_componentId","_newComponentHelper","_pkg","_refactoring","_workspace","_componentPackageVersion","_lodash","_pMapSeries","_interopRequireDefault","_semver","_fork","_forking","_forking2","_forking3","_scopeFork","_scope","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ForkingMain","constructor","workspace","scope","install","dependencyResolver","newComponentHelper","refactoring","pkg","fork","sourceId","targetId","options","OutsideWorkspaceError","sourceCompId","resolveComponentId","exists","hasId","ignoreVersion","existingInWorkspace","get","forkExistingInWorkspace","sourceIdWithScope","_legacy","ComponentID","fromString","targetCompId","component","forkRemoteComponent","saveDeps","skipDependencyInstallation","installDeps","getForkInfo","forkConfig","state","aspects","ForkingAspect","id","config","forkedFrom","fromObject","forkMultipleFromRemote","componentsToFork","componentsToForkSorted","sortComponentsToFork","results","pMapSeries","path","env","targetScope","loadOptions","executeLoadSlot","loadExtensions","loadSeedersAsAspects","compile","refactorMultipleAndInstall","sort","a","b","oldPackages","stringsToReplace","map","oldPackageName","getPackageName","newName","fullName","replace","scopeToReplace","newPackageName","includes","oldStr","newStr","toStringWithoutVersion","flat","stringsToReplaceForVariable","name","getStringReplacementsForVariablesAndClasses","allComponents","list","refactor","changedComponents","replaceMultipleStrings","ast","importTransformer","exportTransformer","undefined","Promise","all","comp","write","changedComponentsVariables","forkedComponents","result","policy","extractDeps","policyFlatAndUnique","uniqBy","policyWithoutWorkspaceComps","dep","dependencyId","addToRootPolicy","updateExisting","persistConfig","forkScope","originalScope","newOptionalScope","pattern","newScope","defaultScope","allIdsFromOriginalScope","listRemoteScope","Error","getPatternWithScopeName","patterns","split","p","trim","patternsWithScope","startsWith","join","patternWithScopeName","idsFromOriginalScope","filterIdsFromPoolIdsByPattern","workspaceIds","listIds","workspaceBitIds","ComponentIdList","fromArray","existInWorkspace","searchWithoutVersion","toString","multipleForkInfo","components","getManyRemoteComponents","getConfig","writeAndAddNewComp","incrementPathIfConflicted","info","existing","getNewComponentId","refactorDependencyName","shouldRefactorVariablesAndClasses","BitError","targetName","getRemoteComponent","preserve","refactorVariableAndClasses","refactorFilenames","workspacePolicyEntries","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","deps","getDependencies","excludePackages","excludeCompIds","getCompIdsThatShouldNotBeInPolicy","source","ComponentDependency","compIdStr","componentId","parsedVersion","parse","version","versionWithPrefix","getVersionWithSavePrefix","isHash","snapToSemver","lifecycleType","lifecycle","fromExisting","skipConfig","getConfigFromExistingToNewComponent","linkToOriginal","noLink","toObject","provider","cli","componentMain","graphql","forkingMain","register","ForkCmd","forkingSchema","registerShowFragments","ForkingFragment","scopeCommand","getCommand","commands","ScopeForkCmd","exports","CLIAspect","WorkspaceAspect","ScopeAspect","DependencyResolverAspect","ComponentAspect","NewComponentHelperAspect","GraphqlAspect","RefactoringAspect","PkgAspect","InstallAspect","MainRuntime","addRuntime"],"sources":["forking.main.runtime.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { importTransformer, exportTransformer } from '@teambit/typescript';\nimport type { Component, ComponentMain } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ComponentDependency, DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport type { ComponentConfig } from '@teambit/generator';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { isHash } from '@teambit/component-version';\nimport type { InstallMain } from '@teambit/install';\nimport { InstallAspect } from '@teambit/install';\nimport type { ComponentIdObj } from '@teambit/component-id';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport type { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { NewComponentHelperAspect } from '@teambit/new-component-helper';\nimport type { PkgMain } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';\nimport { RefactoringAspect } from '@teambit/refactoring';\nimport type { Workspace, WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport { WorkspaceAspect, OutsideWorkspaceError } from '@teambit/workspace';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { uniqBy } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { parse } from 'semver';\nimport type { ForkOptions } from './fork.cmd';\nimport { ForkCmd } from './fork.cmd';\nimport { ForkingAspect } from './forking.aspect';\nimport { ForkingFragment } from './forking.fragment';\nimport { forkingSchema } from './forking.graphql';\nimport type { ScopeForkOptions } from './scope-fork.cmd';\nimport { ScopeForkCmd } from './scope-fork.cmd';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\n\nexport type ForkInfo = {\n forkedFrom: ComponentID;\n};\n\ntype MultipleForkInfo = {\n targetCompId: ComponentID;\n sourceId: string;\n component: Component;\n};\n\ntype MultipleComponentsToFork = Array<{\n sourceId: string;\n targetId?: string; // if not specified, it'll be the same as the source\n targetScope?: string; // if not specified, it'll be taken from the options or from the default scope\n path?: string; // if not specified, use the default component path\n env?: string; // if not specified, use the default env\n config?: ComponentConfig; // if specified, adds to/overrides the existing config\n}>;\n\ntype MultipleForkOptions = {\n refactor?: boolean;\n scope?: string; // different scope-name than the original components\n install?: boolean; // whether to run \"bit install\" once done.\n ast?: boolean; // whether to use AST to transform files instead of regex\n compile?: boolean; // whether to compile the component after forking\n};\n\nexport class ForkingMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n private install: InstallMain,\n private dependencyResolver: DependencyResolverMain,\n private newComponentHelper: NewComponentHelperMain,\n private refactoring: RefactoringMain,\n private pkg: PkgMain\n ) {}\n\n /**\n * create a new copy of existing/remote component.\n * the new component holds a reference to the old one for future reference.\n * if refactor option is enable, change the source-code to update all dependencies with the new name.\n */\n async fork(sourceId: string, targetId?: string, options?: ForkOptions): Promise<ComponentID> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const sourceCompId = await this.workspace.resolveComponentId(sourceId);\n const exists = this.workspace.hasId(sourceCompId, { ignoreVersion: true });\n if (exists) {\n const existingInWorkspace = await this.workspace.get(sourceCompId);\n return this.forkExistingInWorkspace(existingInWorkspace, targetId, options);\n }\n const sourceIdWithScope = sourceCompId._legacy.scope ? sourceCompId : ComponentID.fromString(sourceId);\n const { targetCompId, component } = await this.forkRemoteComponent(sourceIdWithScope, targetId, options);\n await this.saveDeps(component);\n if (!options?.skipDependencyInstallation) await this.installDeps();\n return targetCompId;\n }\n\n /**\n * get the forking data, such as the source where a component was forked from\n */\n getForkInfo(component: Component): ForkInfo | null {\n const forkConfig = component.state.aspects.get(ForkingAspect.id)?.config as ForkConfig | undefined;\n if (!forkConfig?.forkedFrom) return null;\n return {\n forkedFrom: ComponentID.fromObject(forkConfig.forkedFrom),\n };\n }\n\n async forkMultipleFromRemote(componentsToFork: MultipleComponentsToFork, options: MultipleForkOptions = {}) {\n const componentsToForkSorted = this.sortComponentsToFork(componentsToFork);\n const { scope } = options;\n const results = await pMapSeries(\n componentsToForkSorted,\n async ({ sourceId, targetId, path, env, config, targetScope }) => {\n const sourceCompId = await this.workspace.resolveComponentId(sourceId);\n const sourceIdWithScope = sourceCompId._legacy.scope ? sourceCompId : ComponentID.fromString(sourceId);\n const loadOptions: WorkspaceComponentLoadOptions = {\n executeLoadSlot: false,\n loadExtensions: false,\n loadSeedersAsAspects: false,\n };\n\n const { targetCompId, component } = await this.forkRemoteComponent(\n sourceIdWithScope,\n targetId,\n {\n scope: targetScope || scope,\n path,\n env,\n config,\n compile: options.compile,\n loadOptions,\n },\n false\n );\n return { targetCompId, sourceId, component };\n }\n );\n await this.refactorMultipleAndInstall(results, options);\n return results;\n }\n\n /**\n * sort the components to fork so that components without \"env\" prop will be forked first.\n * this way, if some components are envs, their \"env\" prop is empty and will be forked first, then components that\n * depends on them.\n * otherwise, forking the components first result in errors when loading them as their envs are missing at that point\n */\n private sortComponentsToFork(componentsToFork: MultipleComponentsToFork) {\n return componentsToFork.sort((a, b) => {\n if (a.env && b.env) return 0;\n if (a.env) return 1;\n return -1;\n });\n }\n\n private async refactorMultipleAndInstall(results: MultipleForkInfo[], options: MultipleForkOptions = {}) {\n const oldPackages: string[] = [];\n const stringsToReplace: MultipleStringsReplacement = results\n .map(({ targetCompId, sourceId, component }) => {\n const oldPackageName = this.pkg.getPackageName(component);\n oldPackages.push(oldPackageName);\n const newName = targetCompId.fullName.replace(/\\//g, '.');\n const scopeToReplace = targetCompId.scope.replace('.', '/');\n // for locally hosted, the scope has no \"/\", so the package name would be \"@scope/name\".\n // for the cloud, the package name would be \"@org.scope/name\".\n const newPackageName = scopeToReplace.includes('/')\n ? `@${scopeToReplace}.${newName}`\n : `@${scopeToReplace}/${newName}`;\n return [\n { oldStr: oldPackageName, newStr: newPackageName },\n { oldStr: sourceId, newStr: targetCompId.toStringWithoutVersion() },\n ];\n })\n .flat();\n\n const stringsToReplaceForVariable: MultipleStringsReplacement = results\n .map(({ targetCompId, sourceId }) => {\n const sourceCompId = ComponentID.fromString(sourceId);\n if (sourceCompId.name === targetCompId.name) return [];\n return this.refactoring.getStringReplacementsForVariablesAndClasses(sourceCompId, targetCompId);\n })\n .flat();\n\n const allComponents = await this.workspace.list();\n if (options.refactor) {\n const { changedComponents } = await this.refactoring.replaceMultipleStrings(\n allComponents,\n stringsToReplace,\n options.ast ? [importTransformer, exportTransformer] : undefined\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n\n const { changedComponents: changedComponentsVariables } = await this.refactoring.replaceMultipleStrings(\n allComponents,\n stringsToReplaceForVariable,\n options.ast ? [importTransformer, exportTransformer] : undefined,\n true\n );\n\n await Promise.all(changedComponentsVariables.map((comp) => this.workspace.write(comp)));\n }\n const forkedComponents = results.map((result) => result.component);\n const policy = await Promise.all(forkedComponents.map((comp) => this.extractDeps(comp)));\n const policyFlatAndUnique = uniqBy(policy.flat(), 'dependencyId');\n const policyWithoutWorkspaceComps = policyFlatAndUnique.filter((dep) => !oldPackages.includes(dep.dependencyId));\n this.dependencyResolver.addToRootPolicy(policyWithoutWorkspaceComps, { updateExisting: true });\n await this.dependencyResolver.persistConfig('fork');\n if (options.install) {\n await this.installDeps();\n }\n }\n\n /**\n * fork all components of the given scope\n */\n async forkScope(\n originalScope: string,\n newOptionalScope?: string, // if not specified, it'll be the default scope\n pattern?: string,\n options?: ScopeForkOptions\n ): Promise<ComponentID[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const newScope = newOptionalScope || this.workspace.defaultScope;\n const allIdsFromOriginalScope = await this.workspace.scope.listRemoteScope(originalScope);\n if (!allIdsFromOriginalScope.length) {\n throw new Error(`unable to find components to fork from ${originalScope}`);\n }\n const getPatternWithScopeName = () => {\n if (!pattern) return undefined;\n const patterns = pattern.split(',').map((p) => p.trim());\n const patternsWithScope = patterns.map((p) => {\n if (p.startsWith(`${originalScope}/`)) return p;\n return `${originalScope}/${p}`;\n });\n return patternsWithScope.join(', ');\n };\n const patternWithScopeName = getPatternWithScopeName();\n const idsFromOriginalScope = patternWithScopeName\n ? await this.workspace.scope.filterIdsFromPoolIdsByPattern(patternWithScopeName, allIdsFromOriginalScope)\n : allIdsFromOriginalScope;\n const workspaceIds = this.workspace.listIds();\n const workspaceBitIds = ComponentIdList.fromArray(workspaceIds.map((id) => id));\n idsFromOriginalScope.forEach((id) => {\n const existInWorkspace = workspaceBitIds.searchWithoutVersion(id);\n if (existInWorkspace) {\n throw new Error(\n `unable to fork \"${id.toString()}\". the workspace has a component \"${existInWorkspace.toString()}\" with the same name and same scope`\n );\n }\n });\n const multipleForkInfo: MultipleForkInfo[] = [];\n const components = await this.workspace.scope.getManyRemoteComponents(idsFromOriginalScope);\n await pMapSeries(components, async (component) => {\n const config = await this.getConfig(component);\n const targetCompId = ComponentID.fromObject({ name: component.id.fullName }, newScope);\n await this.newComponentHelper.writeAndAddNewComp(\n component,\n targetCompId,\n {\n scope: newScope,\n incrementPathIfConflicted: true,\n },\n config\n );\n multipleForkInfo.push({ targetCompId, sourceId: component.id.toStringWithoutVersion(), component });\n });\n await this.refactorMultipleAndInstall(multipleForkInfo, {\n refactor: true,\n install: !options?.skipDependencyInstallation,\n ast: options?.ast,\n });\n return multipleForkInfo.map((info) => info.targetCompId);\n }\n\n private async forkExistingInWorkspace(existing: Component, targetId?: string, options?: ForkOptions) {\n targetId = targetId || existing.id.fullName;\n const targetCompId = this.newComponentHelper.getNewComponentId(targetId, undefined, options?.scope);\n\n const config = await this.getConfig(existing, options);\n await this.newComponentHelper.writeAndAddNewComp(existing, targetCompId, options, config);\n if (options?.refactor) {\n const allComponents = await this.workspace.list();\n const { changedComponents } = await this.refactoring.refactorDependencyName(allComponents, existing.id, targetId);\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n }\n return targetCompId;\n }\n\n async forkRemoteComponent(\n sourceId: ComponentID,\n targetId?: string,\n options?: ForkOptions,\n shouldRefactorVariablesAndClasses = true\n ): Promise<{\n targetCompId: ComponentID;\n component: Component;\n }> {\n if (options?.refactor) {\n throw new BitError(`the component ${sourceId.toStringWithoutVersion()} is not in the workspace, you can't use the --refactor flag.\nthe reason is that the refactor changes the components using ${sourceId.toStringWithoutVersion()}, since it's not in the workspace, no components were using it, so nothing to refactor`);\n }\n const targetName = targetId || sourceId.fullName;\n const targetCompId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope);\n const component = await this.scope.getRemoteComponent(sourceId);\n await this.refactoring.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: sourceId.toStringWithoutVersion(),\n newStr: targetCompId.toStringWithoutVersion(),\n },\n ],\n options?.ast ? [importTransformer, exportTransformer] : undefined\n );\n if (!options?.preserve) {\n if (shouldRefactorVariablesAndClasses) {\n await this.refactoring.refactorVariableAndClasses(component, sourceId, targetCompId, options);\n }\n this.refactoring.refactorFilenames(component, sourceId, targetCompId);\n }\n const config = await this.getConfig(component, options);\n if (this.workspace) {\n await this.newComponentHelper.writeAndAddNewComp(component, targetCompId, options, config);\n }\n\n return { targetCompId, component };\n }\n\n private async saveDeps(component: Component) {\n const workspacePolicyEntries = this.extractDeps(component);\n this.dependencyResolver.addToRootPolicy(workspacePolicyEntries, { updateExisting: true });\n await this.dependencyResolver.persistConfig('fork (save deps)');\n }\n\n private async installDeps() {\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n }\n\n private extractDeps(component: Component) {\n const deps = this.dependencyResolver.getDependencies(component);\n const excludePackages = ['@teambit/legacy'];\n const excludeCompIds = this.dependencyResolver.getCompIdsThatShouldNotBeInPolicy();\n return deps\n .filter((dep) => dep.source === 'auto')\n .filter((dep) => {\n if (dep instanceof ComponentDependency) {\n const compIdStr = dep.componentId.toStringWithoutVersion();\n return !excludeCompIds.includes(compIdStr);\n }\n return !excludePackages.includes(dep.id);\n })\n .map((dep) => {\n const parsedVersion = parse(dep.version);\n const versionWithPrefix = parsedVersion\n ? this.dependencyResolver.getVersionWithSavePrefix({ version: dep.version })\n : dep.version;\n const version = isHash(versionWithPrefix) ? snapToSemver(versionWithPrefix) : versionWithPrefix;\n return {\n dependencyId: dep.getPackageName?.() || dep.id,\n lifecycleType: dep.lifecycle === 'dev' ? 'runtime' : dep.lifecycle,\n value: {\n version,\n },\n };\n });\n }\n\n private async getConfig(comp: Component, options?: ForkOptions) {\n const config = options?.config || {};\n const fromExisting = options?.skipConfig\n ? {}\n : await this.newComponentHelper.getConfigFromExistingToNewComponent(comp);\n const linkToOriginal = options?.noLink ? {} : { [ForkingAspect.id]: { forkedFrom: comp.id.toObject() } };\n return {\n ...fromExisting,\n ...linkToOriginal,\n ...config,\n };\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n ScopeAspect,\n DependencyResolverAspect,\n ComponentAspect,\n NewComponentHelperAspect,\n GraphqlAspect,\n RefactoringAspect,\n PkgAspect,\n InstallAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n scope,\n dependencyResolver,\n componentMain,\n newComponentHelper,\n graphql,\n refactoring,\n pkg,\n install,\n ]: [\n CLIMain,\n Workspace,\n ScopeMain,\n DependencyResolverMain,\n ComponentMain,\n NewComponentHelperMain,\n GraphqlMain,\n RefactoringMain,\n PkgMain,\n InstallMain,\n ]) {\n const forkingMain = new ForkingMain(\n workspace,\n scope,\n install,\n dependencyResolver,\n newComponentHelper,\n refactoring,\n pkg\n );\n cli.register(new ForkCmd(forkingMain));\n graphql.register(() => forkingSchema(forkingMain));\n componentMain.registerShowFragments([new ForkingFragment(forkingMain)]);\n\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeForkCmd(forkingMain));\n\n return forkingMain;\n }\n}\n\nForkingAspect.addRuntime(ForkingMain);\n\nexport type ForkConfig = {\n forkedFrom: ComponentIdObj;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","_cli","_typescript","_component","_dependencyResolver","_graphql","_componentVersion","_install","_componentId","_newComponentHelper","_pkg","_refactoring","_workspace","_componentPackageVersion","_lodash","_pMapSeries","_interopRequireDefault","_semver","_fork","_forking","_forking2","_forking3","_scopeFork","_scope","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ForkingMain","constructor","workspace","scope","install","dependencyResolver","newComponentHelper","refactoring","pkg","fork","sourceId","targetId","options","OutsideWorkspaceError","sourceCompId","resolveComponentId","exists","hasId","ignoreVersion","existingInWorkspace","get","forkExistingInWorkspace","sourceIdWithScope","_legacy","ComponentID","fromString","targetCompId","component","forkRemoteComponent","saveDeps","skipDependencyInstallation","installDeps","forkByPattern","pattern","targetScope","defaultScope","workspaceIds","listIds","matchedWorkspaceIds","filterIdsFromPoolIdsByPattern","scopeNames","extractScopeNamesFromPattern","remoteIds","scopeName","allIdsFromScope","listRemoteScope","filtered","allMatchedIds","BitError","workspaceBitIds","ComponentIdList","fromArray","idsToFork","id","newComponentId","fromObject","name","fullName","existInWorkspace","searchWithoutVersion","forkedIds","workspaceIdsToFork","some","wsId","isEqual","existing","undefined","remoteIdsToFork","remoteId","componentsToFork","map","toString","results","forkMultipleFromRemote","refactor","ast","compile","result","patterns","split","p","trim","Set","pat","startsWith","parts","potentialScope","includes","add","Array","from","getForkInfo","forkConfig","state","aspects","ForkingAspect","config","forkedFrom","componentsToForkSorted","sortComponentsToFork","pMapSeries","path","env","loadOptions","executeLoadSlot","loadExtensions","loadSeedersAsAspects","refactorMultipleAndInstall","sort","a","b","oldPackages","stringsToReplace","oldPackageName","getPackageName","newName","replace","scopeToReplace","newPackageName","oldStr","newStr","toStringWithoutVersion","flat","stringsToReplaceForVariable","getStringReplacementsForVariablesAndClasses","allComponents","list","changedComponents","replaceMultipleStrings","importTransformer","exportTransformer","Promise","all","comp","write","changedComponentsVariables","forkedComponents","policy","extractDeps","policyFlatAndUnique","uniqBy","policyWithoutWorkspaceComps","dep","dependencyId","addToRootPolicy","updateExisting","persistConfig","forkScope","originalScope","newOptionalScope","newScope","allIdsFromOriginalScope","Error","getPatternWithScopeName","patternsWithScope","join","patternWithScopeName","idsFromOriginalScope","multipleForkInfo","components","getManyRemoteComponents","getConfig","writeAndAddNewComp","incrementPathIfConflicted","info","getNewComponentId","refactorDependencyName","shouldRefactorVariablesAndClasses","targetName","getRemoteComponent","preserve","refactorVariableAndClasses","refactorFilenames","workspacePolicyEntries","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","deps","getDependencies","excludePackages","excludeCompIds","getCompIdsThatShouldNotBeInPolicy","source","ComponentDependency","compIdStr","componentId","parsedVersion","parse","version","versionWithPrefix","getVersionWithSavePrefix","isHash","snapToSemver","lifecycleType","lifecycle","fromExisting","skipConfig","getConfigFromExistingToNewComponent","linkToOriginal","noLink","toObject","provider","cli","componentMain","graphql","forkingMain","register","ForkCmd","forkingSchema","registerShowFragments","ForkingFragment","scopeCommand","getCommand","commands","ScopeForkCmd","exports","CLIAspect","WorkspaceAspect","ScopeAspect","DependencyResolverAspect","ComponentAspect","NewComponentHelperAspect","GraphqlAspect","RefactoringAspect","PkgAspect","InstallAspect","MainRuntime","addRuntime"],"sources":["forking.main.runtime.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { importTransformer, exportTransformer } from '@teambit/typescript';\nimport type { Component, ComponentMain } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ComponentDependency, DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport type { ComponentConfig } from '@teambit/generator';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport { isHash } from '@teambit/component-version';\nimport type { InstallMain } from '@teambit/install';\nimport { InstallAspect } from '@teambit/install';\nimport type { ComponentIdObj } from '@teambit/component-id';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport type { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport { NewComponentHelperAspect } from '@teambit/new-component-helper';\nimport type { PkgMain } from '@teambit/pkg';\nimport { PkgAspect } from '@teambit/pkg';\nimport type { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';\nimport { RefactoringAspect } from '@teambit/refactoring';\nimport type { Workspace, WorkspaceComponentLoadOptions } from '@teambit/workspace';\nimport { WorkspaceAspect, OutsideWorkspaceError } from '@teambit/workspace';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { uniqBy } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { parse } from 'semver';\nimport type { ForkOptions } from './fork.cmd';\nimport { ForkCmd } from './fork.cmd';\nimport { ForkingAspect } from './forking.aspect';\nimport { ForkingFragment } from './forking.fragment';\nimport { forkingSchema } from './forking.graphql';\nimport type { ScopeForkOptions } from './scope-fork.cmd';\nimport { ScopeForkCmd } from './scope-fork.cmd';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\n\nexport type ForkInfo = {\n forkedFrom: ComponentID;\n};\n\ntype MultipleForkInfo = {\n targetCompId: ComponentID;\n sourceId: string;\n component: Component;\n};\n\ntype MultipleComponentsToFork = Array<{\n sourceId: string;\n targetId?: string; // if not specified, it'll be the same as the source\n targetScope?: string; // if not specified, it'll be taken from the options or from the default scope\n path?: string; // if not specified, use the default component path\n env?: string; // if not specified, use the default env\n config?: ComponentConfig; // if specified, adds to/overrides the existing config\n}>;\n\ntype MultipleForkOptions = {\n refactor?: boolean;\n scope?: string; // different scope-name than the original components\n install?: boolean; // whether to run \"bit install\" once done.\n ast?: boolean; // whether to use AST to transform files instead of regex\n compile?: boolean; // whether to compile the component after forking\n};\n\nexport class ForkingMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n private install: InstallMain,\n private dependencyResolver: DependencyResolverMain,\n private newComponentHelper: NewComponentHelperMain,\n private refactoring: RefactoringMain,\n private pkg: PkgMain\n ) {}\n\n /**\n * create a new copy of existing/remote component.\n * the new component holds a reference to the old one for future reference.\n * if refactor option is enable, change the source-code to update all dependencies with the new name.\n */\n async fork(sourceId: string, targetId?: string, options?: ForkOptions): Promise<ComponentID> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const sourceCompId = await this.workspace.resolveComponentId(sourceId);\n const exists = this.workspace.hasId(sourceCompId, { ignoreVersion: true });\n if (exists) {\n const existingInWorkspace = await this.workspace.get(sourceCompId);\n return this.forkExistingInWorkspace(existingInWorkspace, targetId, options);\n }\n const sourceIdWithScope = sourceCompId._legacy.scope ? sourceCompId : ComponentID.fromString(sourceId);\n const { targetCompId, component } = await this.forkRemoteComponent(sourceIdWithScope, targetId, options);\n await this.saveDeps(component);\n if (!options?.skipDependencyInstallation) await this.installDeps();\n return targetCompId;\n }\n\n /**\n * fork multiple components matching a pattern\n * all components are forked with the same name to a target scope\n */\n async forkByPattern(pattern: string, options?: ForkOptions): Promise<ComponentID[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n\n const targetScope = options?.scope || this.workspace.defaultScope;\n\n // Get workspace components matching the pattern\n const workspaceIds = this.workspace.listIds();\n const matchedWorkspaceIds = await this.workspace.filterIdsFromPoolIdsByPattern(pattern, workspaceIds, false);\n\n // Get remote components matching the pattern\n // Extract unique scope names from the pattern to query remote scopes\n const scopeNames = this.extractScopeNamesFromPattern(pattern);\n const remoteIds: ComponentID[] = [];\n\n for (const scopeName of scopeNames) {\n try {\n const allIdsFromScope = await this.workspace.scope.listRemoteScope(scopeName);\n if (allIdsFromScope.length > 0) {\n const filtered = await this.workspace.scope.filterIdsFromPoolIdsByPattern(pattern, allIdsFromScope, false);\n remoteIds.push(...filtered);\n }\n } catch {\n // If the scope doesn't exist or can't be accessed, continue\n }\n }\n\n const allMatchedIds = [...matchedWorkspaceIds, ...remoteIds];\n\n if (!allMatchedIds.length) {\n throw new BitError(`no components found matching pattern \"${pattern}\"`);\n }\n\n // Filter out components that would conflict with existing workspace components\n const workspaceBitIds = ComponentIdList.fromArray(workspaceIds);\n const idsToFork = allMatchedIds.filter((id) => {\n const newComponentId = ComponentID.fromObject({ name: id.fullName }, targetScope);\n const existInWorkspace = workspaceBitIds.searchWithoutVersion(newComponentId);\n return !existInWorkspace;\n });\n\n if (!idsToFork.length) {\n throw new BitError(\n `all components matching pattern \"${pattern}\" already exist in the workspace with scope \"${targetScope}\"`\n );\n }\n\n const forkedIds: ComponentID[] = [];\n\n // Fork workspace components\n const workspaceIdsToFork = idsToFork.filter((id) => matchedWorkspaceIds.some((wsId) => wsId.isEqual(id)));\n for (const id of workspaceIdsToFork) {\n const existing = await this.workspace.get(id);\n const targetCompId = await this.forkExistingInWorkspace(existing, undefined, { ...options, scope: targetScope });\n forkedIds.push(targetCompId);\n }\n\n // Fork remote components\n const remoteIdsToFork = idsToFork.filter((id) => remoteIds.some((remoteId) => remoteId.isEqual(id)));\n if (remoteIdsToFork.length > 0) {\n const componentsToFork: MultipleComponentsToFork = remoteIdsToFork.map((id) => ({\n sourceId: id.toString(),\n targetScope,\n }));\n\n const results = await this.forkMultipleFromRemote(componentsToFork, {\n refactor: options?.refactor,\n scope: targetScope,\n install: !options?.skipDependencyInstallation,\n ast: options?.ast,\n compile: false,\n });\n\n forkedIds.push(...results.map((result) => result.targetCompId));\n }\n\n return forkedIds;\n }\n\n /**\n * Extract scope names from a pattern\n * e.g., \"org.scope/**\" -> [\"org.scope\"]\n * e.g., \"org.scope/ui/**, org.scope2/backend/**\" -> [\"org.scope\", \"org.scope2\"]\n */\n private extractScopeNamesFromPattern(pattern: string): string[] {\n const patterns = pattern.split(',').map((p) => p.trim());\n const scopeNames = new Set<string>();\n\n for (const pat of patterns) {\n // Skip negation patterns\n if (pat.startsWith('!')) continue;\n // Skip state filters\n if (pat.startsWith('$')) continue;\n\n const parts = pat.split('/');\n const potentialScope = parts[0];\n\n // Only add if it looks like a scope name (contains a dot or doesn't have wildcards)\n if (\n potentialScope &&\n !potentialScope.includes('*') &&\n (potentialScope.includes('.') || !potentialScope.includes('/'))\n ) {\n scopeNames.add(potentialScope);\n }\n }\n\n return Array.from(scopeNames);\n }\n\n /**\n * get the forking data, such as the source where a component was forked from\n */\n getForkInfo(component: Component): ForkInfo | null {\n const forkConfig = component.state.aspects.get(ForkingAspect.id)?.config as ForkConfig | undefined;\n if (!forkConfig?.forkedFrom) return null;\n return {\n forkedFrom: ComponentID.fromObject(forkConfig.forkedFrom),\n };\n }\n\n async forkMultipleFromRemote(componentsToFork: MultipleComponentsToFork, options: MultipleForkOptions = {}) {\n const componentsToForkSorted = this.sortComponentsToFork(componentsToFork);\n const { scope } = options;\n const results = await pMapSeries(\n componentsToForkSorted,\n async ({ sourceId, targetId, path, env, config, targetScope }) => {\n const sourceCompId = await this.workspace.resolveComponentId(sourceId);\n const sourceIdWithScope = sourceCompId._legacy.scope ? sourceCompId : ComponentID.fromString(sourceId);\n const loadOptions: WorkspaceComponentLoadOptions = {\n executeLoadSlot: false,\n loadExtensions: false,\n loadSeedersAsAspects: false,\n };\n\n const { targetCompId, component } = await this.forkRemoteComponent(\n sourceIdWithScope,\n targetId,\n {\n scope: targetScope || scope,\n path,\n env,\n config,\n compile: options.compile,\n loadOptions,\n },\n false\n );\n return { targetCompId, sourceId, component };\n }\n );\n await this.refactorMultipleAndInstall(results, options);\n return results;\n }\n\n /**\n * sort the components to fork so that components without \"env\" prop will be forked first.\n * this way, if some components are envs, their \"env\" prop is empty and will be forked first, then components that\n * depends on them.\n * otherwise, forking the components first result in errors when loading them as their envs are missing at that point\n */\n private sortComponentsToFork(componentsToFork: MultipleComponentsToFork) {\n return componentsToFork.sort((a, b) => {\n if (a.env && b.env) return 0;\n if (a.env) return 1;\n return -1;\n });\n }\n\n private async refactorMultipleAndInstall(results: MultipleForkInfo[], options: MultipleForkOptions = {}) {\n const oldPackages: string[] = [];\n const stringsToReplace: MultipleStringsReplacement = results\n .map(({ targetCompId, sourceId, component }) => {\n const oldPackageName = this.pkg.getPackageName(component);\n oldPackages.push(oldPackageName);\n const newName = targetCompId.fullName.replace(/\\//g, '.');\n const scopeToReplace = targetCompId.scope.replace('.', '/');\n // for locally hosted, the scope has no \"/\", so the package name would be \"@scope/name\".\n // for the cloud, the package name would be \"@org.scope/name\".\n const newPackageName = scopeToReplace.includes('/')\n ? `@${scopeToReplace}.${newName}`\n : `@${scopeToReplace}/${newName}`;\n return [\n { oldStr: oldPackageName, newStr: newPackageName },\n { oldStr: sourceId, newStr: targetCompId.toStringWithoutVersion() },\n ];\n })\n .flat();\n\n const stringsToReplaceForVariable: MultipleStringsReplacement = results\n .map(({ targetCompId, sourceId }) => {\n const sourceCompId = ComponentID.fromString(sourceId);\n if (sourceCompId.name === targetCompId.name) return [];\n return this.refactoring.getStringReplacementsForVariablesAndClasses(sourceCompId, targetCompId);\n })\n .flat();\n\n const allComponents = await this.workspace.list();\n if (options.refactor) {\n const { changedComponents } = await this.refactoring.replaceMultipleStrings(\n allComponents,\n stringsToReplace,\n options.ast ? [importTransformer, exportTransformer] : undefined\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n\n const { changedComponents: changedComponentsVariables } = await this.refactoring.replaceMultipleStrings(\n allComponents,\n stringsToReplaceForVariable,\n options.ast ? [importTransformer, exportTransformer] : undefined,\n true\n );\n\n await Promise.all(changedComponentsVariables.map((comp) => this.workspace.write(comp)));\n }\n const forkedComponents = results.map((result) => result.component);\n const policy = await Promise.all(forkedComponents.map((comp) => this.extractDeps(comp)));\n const policyFlatAndUnique = uniqBy(policy.flat(), 'dependencyId');\n const policyWithoutWorkspaceComps = policyFlatAndUnique.filter((dep) => !oldPackages.includes(dep.dependencyId));\n this.dependencyResolver.addToRootPolicy(policyWithoutWorkspaceComps, { updateExisting: true });\n await this.dependencyResolver.persistConfig('fork');\n if (options.install) {\n await this.installDeps();\n }\n }\n\n /**\n * fork all components of the given scope\n */\n async forkScope(\n originalScope: string,\n newOptionalScope?: string, // if not specified, it'll be the default scope\n pattern?: string,\n options?: ScopeForkOptions\n ): Promise<ComponentID[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const newScope = newOptionalScope || this.workspace.defaultScope;\n const allIdsFromOriginalScope = await this.workspace.scope.listRemoteScope(originalScope);\n if (!allIdsFromOriginalScope.length) {\n throw new Error(`unable to find components to fork from ${originalScope}`);\n }\n const getPatternWithScopeName = () => {\n if (!pattern) return undefined;\n const patterns = pattern.split(',').map((p) => p.trim());\n const patternsWithScope = patterns.map((p) => {\n if (p.startsWith(`${originalScope}/`)) return p;\n return `${originalScope}/${p}`;\n });\n return patternsWithScope.join(', ');\n };\n const patternWithScopeName = getPatternWithScopeName();\n const idsFromOriginalScope = patternWithScopeName\n ? await this.workspace.scope.filterIdsFromPoolIdsByPattern(patternWithScopeName, allIdsFromOriginalScope)\n : allIdsFromOriginalScope;\n const workspaceIds = this.workspace.listIds();\n const workspaceBitIds = ComponentIdList.fromArray(workspaceIds.map((id) => id));\n idsFromOriginalScope.forEach((id) => {\n const existInWorkspace = workspaceBitIds.searchWithoutVersion(id);\n if (existInWorkspace) {\n throw new Error(\n `unable to fork \"${id.toString()}\". the workspace has a component \"${existInWorkspace.toString()}\" with the same name and same scope`\n );\n }\n });\n const multipleForkInfo: MultipleForkInfo[] = [];\n const components = await this.workspace.scope.getManyRemoteComponents(idsFromOriginalScope);\n await pMapSeries(components, async (component) => {\n const config = await this.getConfig(component);\n const targetCompId = ComponentID.fromObject({ name: component.id.fullName }, newScope);\n await this.newComponentHelper.writeAndAddNewComp(\n component,\n targetCompId,\n {\n scope: newScope,\n incrementPathIfConflicted: true,\n },\n config\n );\n multipleForkInfo.push({ targetCompId, sourceId: component.id.toStringWithoutVersion(), component });\n });\n await this.refactorMultipleAndInstall(multipleForkInfo, {\n refactor: true,\n install: !options?.skipDependencyInstallation,\n ast: options?.ast,\n });\n return multipleForkInfo.map((info) => info.targetCompId);\n }\n\n private async forkExistingInWorkspace(existing: Component, targetId?: string, options?: ForkOptions) {\n targetId = targetId || existing.id.fullName;\n const targetCompId = this.newComponentHelper.getNewComponentId(targetId, undefined, options?.scope);\n\n const config = await this.getConfig(existing, options);\n await this.newComponentHelper.writeAndAddNewComp(existing, targetCompId, options, config);\n if (options?.refactor) {\n const allComponents = await this.workspace.list();\n const { changedComponents } = await this.refactoring.refactorDependencyName(allComponents, existing.id, targetId);\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n }\n return targetCompId;\n }\n\n async forkRemoteComponent(\n sourceId: ComponentID,\n targetId?: string,\n options?: ForkOptions,\n shouldRefactorVariablesAndClasses = true\n ): Promise<{\n targetCompId: ComponentID;\n component: Component;\n }> {\n if (options?.refactor) {\n throw new BitError(`the component ${sourceId.toStringWithoutVersion()} is not in the workspace, you can't use the --refactor flag.\nthe reason is that the refactor changes the components using ${sourceId.toStringWithoutVersion()}, since it's not in the workspace, no components were using it, so nothing to refactor`);\n }\n const targetName = targetId || sourceId.fullName;\n const targetCompId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope);\n const component = await this.scope.getRemoteComponent(sourceId);\n await this.refactoring.replaceMultipleStrings(\n [component],\n [\n {\n oldStr: sourceId.toStringWithoutVersion(),\n newStr: targetCompId.toStringWithoutVersion(),\n },\n ],\n options?.ast ? [importTransformer, exportTransformer] : undefined\n );\n if (!options?.preserve) {\n if (shouldRefactorVariablesAndClasses) {\n await this.refactoring.refactorVariableAndClasses(component, sourceId, targetCompId, options);\n }\n this.refactoring.refactorFilenames(component, sourceId, targetCompId);\n }\n const config = await this.getConfig(component, options);\n if (this.workspace) {\n await this.newComponentHelper.writeAndAddNewComp(component, targetCompId, options, config);\n }\n\n return { targetCompId, component };\n }\n\n private async saveDeps(component: Component) {\n const workspacePolicyEntries = this.extractDeps(component);\n this.dependencyResolver.addToRootPolicy(workspacePolicyEntries, { updateExisting: true });\n await this.dependencyResolver.persistConfig('fork (save deps)');\n }\n\n private async installDeps() {\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n }\n\n private extractDeps(component: Component) {\n const deps = this.dependencyResolver.getDependencies(component);\n const excludePackages = ['@teambit/legacy'];\n const excludeCompIds = this.dependencyResolver.getCompIdsThatShouldNotBeInPolicy();\n return deps\n .filter((dep) => dep.source === 'auto')\n .filter((dep) => {\n if (dep instanceof ComponentDependency) {\n const compIdStr = dep.componentId.toStringWithoutVersion();\n return !excludeCompIds.includes(compIdStr);\n }\n return !excludePackages.includes(dep.id);\n })\n .map((dep) => {\n const parsedVersion = parse(dep.version);\n const versionWithPrefix = parsedVersion\n ? this.dependencyResolver.getVersionWithSavePrefix({ version: dep.version })\n : dep.version;\n const version = isHash(versionWithPrefix) ? snapToSemver(versionWithPrefix) : versionWithPrefix;\n return {\n dependencyId: dep.getPackageName?.() || dep.id,\n lifecycleType: dep.lifecycle === 'dev' ? 'runtime' : dep.lifecycle,\n value: {\n version,\n },\n };\n });\n }\n\n private async getConfig(comp: Component, options?: ForkOptions) {\n const config = options?.config || {};\n const fromExisting = options?.skipConfig\n ? {}\n : await this.newComponentHelper.getConfigFromExistingToNewComponent(comp);\n const linkToOriginal = options?.noLink ? {} : { [ForkingAspect.id]: { forkedFrom: comp.id.toObject() } };\n return {\n ...fromExisting,\n ...linkToOriginal,\n ...config,\n };\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n ScopeAspect,\n DependencyResolverAspect,\n ComponentAspect,\n NewComponentHelperAspect,\n GraphqlAspect,\n RefactoringAspect,\n PkgAspect,\n InstallAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n scope,\n dependencyResolver,\n componentMain,\n newComponentHelper,\n graphql,\n refactoring,\n pkg,\n install,\n ]: [\n CLIMain,\n Workspace,\n ScopeMain,\n DependencyResolverMain,\n ComponentMain,\n NewComponentHelperMain,\n GraphqlMain,\n RefactoringMain,\n PkgMain,\n InstallMain,\n ]) {\n const forkingMain = new ForkingMain(\n workspace,\n scope,\n install,\n dependencyResolver,\n newComponentHelper,\n refactoring,\n pkg\n );\n cli.register(new ForkCmd(forkingMain));\n graphql.register(() => forkingSchema(forkingMain));\n componentMain.registerShowFragments([new ForkingFragment(forkingMain)]);\n\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeForkCmd(forkingMain));\n\n return forkingMain;\n }\n}\n\nForkingAspect.addRuntime(ForkingMain);\n\nexport type ForkConfig = {\n forkedFrom: ComponentIdObj;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_forking@1.0.822/dist/forking.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_forking@1.0.822/dist/forking.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_forking@1.0.824/dist/forking.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_forking@1.0.824/dist/forking.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/forking",
3
- "version": "1.0.822",
3
+ "version": "1.0.824",
4
4
  "homepage": "https://bit.cloud/teambit/component/forking",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "forking",
9
- "version": "1.0.822"
9
+ "version": "1.0.824"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -15,23 +15,24 @@
15
15
  "p-map-series": "2.1.0",
16
16
  "semver": "7.7.1",
17
17
  "@teambit/cli": "0.0.1288",
18
+ "@teambit/legacy.constants": "0.0.20",
19
+ "@teambit/legacy.utils": "0.0.29",
18
20
  "@teambit/harmony": "0.4.7",
19
21
  "@teambit/bit-error": "0.0.404",
20
22
  "@teambit/component-id": "1.2.4",
21
23
  "@teambit/component-package-version": "0.0.445",
22
24
  "@teambit/component-version": "1.0.4",
23
- "@teambit/legacy.constants": "0.0.20",
24
- "@teambit/generator": "1.0.823",
25
- "@teambit/workspace": "1.0.822",
26
- "@teambit/component": "1.0.822",
27
- "@teambit/graphql": "1.0.822",
28
- "@teambit/dependency-resolver": "1.0.822",
29
- "@teambit/install": "1.0.822",
30
- "@teambit/new-component-helper": "1.0.822",
31
- "@teambit/pkg": "1.0.822",
32
- "@teambit/refactoring": "1.0.822",
33
- "@teambit/scope": "1.0.822",
34
- "@teambit/typescript": "1.0.822"
25
+ "@teambit/generator": "1.0.825",
26
+ "@teambit/workspace": "1.0.824",
27
+ "@teambit/component": "1.0.824",
28
+ "@teambit/graphql": "1.0.824",
29
+ "@teambit/dependency-resolver": "1.0.824",
30
+ "@teambit/install": "1.0.824",
31
+ "@teambit/new-component-helper": "1.0.824",
32
+ "@teambit/pkg": "1.0.824",
33
+ "@teambit/refactoring": "1.0.824",
34
+ "@teambit/scope": "1.0.824",
35
+ "@teambit/typescript": "1.0.824"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/lodash": "4.14.165",