@teambit/forking 1.0.107 → 1.0.109
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/artifacts/preview/teambit_component_forking-preview.js +1 -0
- package/dist/fork.cmd.d.ts +1 -1
- package/dist/forking.composition.d.ts +2 -2
- package/dist/forking.fragment.d.ts +1 -1
- package/dist/forking.graphql.js +1 -1
- package/dist/forking.graphql.js.map +1 -1
- package/dist/forking.main.runtime.d.ts +5 -5
- package/dist/forking.main.runtime.js +21 -26
- package/dist/forking.main.runtime.js.map +1 -1
- package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
- package/dist/scope-fork.cmd.d.ts +1 -1
- package/package.json +22 -29
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
@@ -0,0 +1 @@
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.component/forking-preview"]=t():e["teambit.component/forking-preview"]=t()}(self,(()=>(()=>{"use strict";var e={87675:(e,t,o)=>{var n={id:"teambit.component/forking@1.0.109",homepage:"https://bit.cloud/teambit/component/forking",exported:!0};function r(){const e=i(o(87363));return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,i.__bit_component=n;const p=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/forking.svg"}));p.__bit_component=n,t.Logo=p},87363:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>d,compositions_metadata:()=>l,overview:()=>u});var e={};o.r(e),o.d(e,{default:()=>f});var t=o(87675);o(87363);const r=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var p=["components"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},c.apply(this,arguments)}var a={},s="wrapper";function f(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,p);return(0,r.mdx)(s,c({},a,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}f.isMDXComponent=!0;const d=[t],u=[e],l={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
|
package/dist/fork.cmd.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Command, CommandOptions } from '@teambit/cli';
|
2
2
|
import { ComponentConfig } from '@teambit/generator';
|
3
3
|
import { ForkingMain } from '.';
|
4
|
-
export
|
4
|
+
export type ForkOptions = {
|
5
5
|
scope?: string;
|
6
6
|
path?: string;
|
7
7
|
refactor?: boolean;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
export declare const Logo: () =>
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare const Logo: () => JSX.Element;
|
@@ -10,7 +10,7 @@ export declare class ForkingFragment implements ShowFragment {
|
|
10
10
|
}>;
|
11
11
|
json(component: Component): Promise<{
|
12
12
|
title: string;
|
13
|
-
json: import("./forking.main.runtime").ForkInfo
|
13
|
+
json: import("./forking.main.runtime").ForkInfo;
|
14
14
|
}>;
|
15
15
|
weight: number;
|
16
16
|
}
|
package/dist/forking.graphql.js
CHANGED
@@ -28,7 +28,7 @@ function forkingSchema(forking) {
|
|
28
28
|
forking: component => {
|
29
29
|
const forkInfo = forking.getForkInfo(component);
|
30
30
|
return {
|
31
|
-
forkedFrom: forkInfo
|
31
|
+
forkedFrom: forkInfo?.forkedFrom.toString()
|
32
32
|
};
|
33
33
|
}
|
34
34
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","obj","__esModule","default","forkingSchema","forking","typeDefs","gql","resolvers","Component","component","forkInfo","getForkInfo","forkedFrom","toString"],"sources":["forking.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\nimport { ForkingMain } from './forking.main.runtime';\n\nexport function forkingSchema(forking: ForkingMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n forking: ForkingInfo\n }\n\n type ForkingInfo {\n forkedFrom: String\n }\n `,\n resolvers: {\n Component: {\n forking: (component: Component) => {\n const forkInfo = forking.getForkInfo(component);\n return {\n forkedFrom: forkInfo?.forkedFrom.toString(),\n };\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AAEA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGvB,SAASG,aAAaA,CAACC,OAAoB,EAAU;EAC1D,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTJ,OAAO,EAAGK,SAAoB,IAAK;UACjC,MAAMC,QAAQ,GAAGN,OAAO,CAACO,WAAW,CAACF,SAAS,CAAC;UAC/C,OAAO;YACLG,UAAU,EAAEF,QAAQ,
|
1
|
+
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","obj","__esModule","default","forkingSchema","forking","typeDefs","gql","resolvers","Component","component","forkInfo","getForkInfo","forkedFrom","toString"],"sources":["forking.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\nimport { ForkingMain } from './forking.main.runtime';\n\nexport function forkingSchema(forking: ForkingMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n forking: ForkingInfo\n }\n\n type ForkingInfo {\n forkedFrom: String\n }\n `,\n resolvers: {\n Component: {\n forking: (component: Component) => {\n const forkInfo = forking.getForkInfo(component);\n return {\n forkedFrom: forkInfo?.forkedFrom.toString(),\n };\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AAEA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGvB,SAASG,aAAaA,CAACC,OAAoB,EAAU;EAC1D,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTJ,OAAO,EAAGK,SAAoB,IAAK;UACjC,MAAMC,QAAQ,GAAGN,OAAO,CAACO,WAAW,CAACF,SAAS,CAAC;UAC/C,OAAO;YACLG,UAAU,EAAEF,QAAQ,EAAEE,UAAU,CAACC,QAAQ,CAAC;UAC5C,CAAC;QACH;MACF;IACF;EACF,CAAC;AACH"}
|
@@ -11,10 +11,10 @@ import { RefactoringMain } from '@teambit/refactoring';
|
|
11
11
|
import { Workspace } from '@teambit/workspace';
|
12
12
|
import { ForkOptions } from './fork.cmd';
|
13
13
|
import { ScopeForkOptions } from './scope-fork.cmd';
|
14
|
-
export
|
14
|
+
export type ForkInfo = {
|
15
15
|
forkedFrom: ComponentID;
|
16
16
|
};
|
17
|
-
|
17
|
+
type MultipleComponentsToFork = Array<{
|
18
18
|
sourceId: string;
|
19
19
|
targetId?: string;
|
20
20
|
targetScope?: string;
|
@@ -22,7 +22,7 @@ declare type MultipleComponentsToFork = Array<{
|
|
22
22
|
env?: string;
|
23
23
|
config?: ComponentConfig;
|
24
24
|
}>;
|
25
|
-
|
25
|
+
type MultipleForkOptions = {
|
26
26
|
refactor?: boolean;
|
27
27
|
scope?: string;
|
28
28
|
install?: boolean;
|
@@ -65,7 +65,7 @@ export declare class ForkingMain {
|
|
65
65
|
private installDeps;
|
66
66
|
private extractDeps;
|
67
67
|
private getConfig;
|
68
|
-
static slots:
|
68
|
+
static slots: any[];
|
69
69
|
static dependencies: import("@teambit/harmony").Aspect[];
|
70
70
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
71
71
|
static provider([cli, workspace, dependencyResolver, componentMain, newComponentHelper, graphql, refactoring, pkg, install,]: [
|
@@ -80,7 +80,7 @@ export declare class ForkingMain {
|
|
80
80
|
InstallMain
|
81
81
|
]): Promise<ForkingMain>;
|
82
82
|
}
|
83
|
-
export
|
83
|
+
export type ForkConfig = {
|
84
84
|
forkedFrom: ComponentIdObj;
|
85
85
|
};
|
86
86
|
export {};
|
@@ -174,7 +174,7 @@ class ForkingMain {
|
|
174
174
|
component
|
175
175
|
} = await this.forkRemoteComponent(sourceIdWithScope, targetId, options);
|
176
176
|
await this.saveDeps(component);
|
177
|
-
if (!
|
177
|
+
if (!options?.skipDependencyInstallation) await this.installDeps();
|
178
178
|
return targetCompId;
|
179
179
|
}
|
180
180
|
|
@@ -182,8 +182,7 @@ class ForkingMain {
|
|
182
182
|
* get the forking data, such as the source where a component was forked from
|
183
183
|
*/
|
184
184
|
getForkInfo(component) {
|
185
|
-
|
186
|
-
const forkConfig = (_component$state$aspe = component.state.aspects.get(_forking().ForkingAspect.id)) === null || _component$state$aspe === void 0 ? void 0 : _component$state$aspe.config;
|
185
|
+
const forkConfig = component.state.aspects.get(_forking().ForkingAspect.id)?.config;
|
187
186
|
if (!forkConfig) return null;
|
188
187
|
return {
|
189
188
|
forkedFrom: _componentId().ComponentID.fromObject(forkConfig.forkedFrom)
|
@@ -316,17 +315,17 @@ class ForkingMain {
|
|
316
315
|
});
|
317
316
|
await this.refactorMultipleAndInstall(multipleForkInfo, {
|
318
317
|
refactor: true,
|
319
|
-
install: !
|
320
|
-
ast: options
|
318
|
+
install: !options?.skipDependencyInstallation,
|
319
|
+
ast: options?.ast
|
321
320
|
});
|
322
321
|
return multipleForkInfo.map(info => info.targetCompId);
|
323
322
|
}
|
324
323
|
async forkExistingInWorkspace(existing, targetId, options) {
|
325
324
|
targetId = targetId || existing.id.fullName;
|
326
|
-
const targetCompId = this.newComponentHelper.getNewComponentId(targetId, undefined, options
|
325
|
+
const targetCompId = this.newComponentHelper.getNewComponentId(targetId, undefined, options?.scope);
|
327
326
|
const config = await this.getConfig(existing, options);
|
328
327
|
await this.newComponentHelper.writeAndAddNewComp(existing, targetCompId, options, config);
|
329
|
-
if (options
|
328
|
+
if (options?.refactor) {
|
330
329
|
const allComponents = await this.workspace.list();
|
331
330
|
const {
|
332
331
|
changedComponents
|
@@ -336,18 +335,18 @@ class ForkingMain {
|
|
336
335
|
return targetCompId;
|
337
336
|
}
|
338
337
|
async forkRemoteComponent(sourceId, targetId, options) {
|
339
|
-
if (options
|
338
|
+
if (options?.refactor) {
|
340
339
|
throw new (_bitError().BitError)(`the component ${sourceId.toStringWithoutVersion()} is not in the workspace, you can't use the --refactor flag.
|
341
340
|
the 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`);
|
342
341
|
}
|
343
342
|
const targetName = targetId || sourceId.fullName;
|
344
|
-
const targetCompId = this.newComponentHelper.getNewComponentId(targetName, undefined, options
|
343
|
+
const targetCompId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope);
|
345
344
|
const component = await this.workspace.scope.getRemoteComponent(sourceId);
|
346
345
|
await this.refactoring.replaceMultipleStrings([component], [{
|
347
346
|
oldStr: sourceId.toStringWithoutVersion(),
|
348
347
|
newStr: targetCompId.toStringWithoutVersion()
|
349
|
-
}], options
|
350
|
-
if (!
|
348
|
+
}], options?.ast ? [_typescript().importTransformer, _typescript().exportTransformer] : undefined);
|
349
|
+
if (!options?.preserve) {
|
351
350
|
await this.refactoring.refactorVariableAndClasses(component, sourceId, targetCompId);
|
352
351
|
this.refactoring.refactorFilenames(component, sourceId, targetCompId);
|
353
352
|
}
|
@@ -384,21 +383,18 @@ the reason is that the refactor changes the components using ${sourceId.toString
|
|
384
383
|
return !excludeCompIds.includes(compIdStr);
|
385
384
|
}
|
386
385
|
return !excludePackages.includes(dep.id);
|
387
|
-
}).map(dep => {
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
}
|
395
|
-
};
|
396
|
-
});
|
386
|
+
}).map(dep => ({
|
387
|
+
dependencyId: dep.getPackageName?.() || dep.id,
|
388
|
+
lifecycleType: dep.lifecycle === 'dev' ? 'runtime' : dep.lifecycle,
|
389
|
+
value: {
|
390
|
+
version: dep.version
|
391
|
+
}
|
392
|
+
}));
|
397
393
|
}
|
398
394
|
async getConfig(comp, options) {
|
399
|
-
const config =
|
400
|
-
const fromExisting = options
|
401
|
-
const linkToOriginal = options
|
395
|
+
const config = options?.config || {};
|
396
|
+
const fromExisting = options?.skipConfig ? {} : await this.newComponentHelper.getConfigFromExistingToNewComponent(comp);
|
397
|
+
const linkToOriginal = options?.noLink ? {} : {
|
402
398
|
[_forking().ForkingAspect.id]: {
|
403
399
|
forkedFrom: comp.id.toObject()
|
404
400
|
}
|
@@ -406,13 +402,12 @@ the reason is that the refactor changes the components using ${sourceId.toString
|
|
406
402
|
return _objectSpread(_objectSpread(_objectSpread({}, fromExisting), linkToOriginal), config);
|
407
403
|
}
|
408
404
|
static async provider([cli, workspace, dependencyResolver, componentMain, newComponentHelper, graphql, refactoring, pkg, install]) {
|
409
|
-
var _scopeCommand$command;
|
410
405
|
const forkingMain = new ForkingMain(workspace, install, dependencyResolver, newComponentHelper, refactoring, pkg);
|
411
406
|
cli.register(new (_fork().ForkCmd)(forkingMain));
|
412
407
|
graphql.register((0, _forking3().forkingSchema)(forkingMain));
|
413
408
|
componentMain.registerShowFragments([new (_forking2().ForkingFragment)(forkingMain)]);
|
414
409
|
const scopeCommand = cli.getCommand('scope');
|
415
|
-
scopeCommand
|
410
|
+
scopeCommand?.commands?.push(new (_scopeFork().ScopeForkCmd)(forkingMain));
|
416
411
|
return forkingMain;
|
417
412
|
}
|
418
413
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_cli","_typescript","_component","_interopRequireDefault","_dependencyResolver","_graphql","_install","_componentId","_newComponentHelper","_pkg","_refactoring","_workspace","_interopRequireWildcard","_lodash","_pMapSeries","_fork","_forking","_forking2","_forking3","_scopeFork","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ForkingMain","constructor","workspace","install","dependencyResolver","newComponentHelper","refactoring","pkg","fork","sourceId","targetId","options","OutsideWorkspaceError","sourceCompId","resolveComponentId","exists","existingInWorkspace","forkExistingInWorkspace","sourceIdWithScope","_legacy","scope","ComponentID","fromString","targetCompId","component","forkRemoteComponent","saveDeps","skipDependencyInstallation","installDeps","getForkInfo","_component$state$aspe","forkConfig","state","aspects","ForkingAspect","id","config","forkedFrom","fromObject","forkMultipleFromRemote","componentsToFork","componentsToForkSorted","sortComponentsToFork","results","pMapSeries","path","env","targetScope","refactorMultipleAndInstall","sort","b","oldPackages","stringsToReplace","map","oldPackageName","getPackageName","newName","fullName","replace","scopeToReplace","newPackageName","oldStr","newStr","toStringWithoutVersion","flat","allComponents","list","refactor","changedComponents","replaceMultipleStrings","ast","importTransformer","exportTransformer","undefined","Promise","all","comp","write","forkedComponents","result","policy","extractDeps","policyFlatAndUnique","uniqBy","policyWithoutWorkspaceComps","dep","includes","dependencyId","addToRootPolicy","updateExisting","persistConfig","forkScope","originalScope","newScope","pattern","allIdsFromOriginalScope","listRemoteScope","Error","getPatternWithScopeName","startsWith","patternWithScopeName","idsFromOriginalScope","filterIdsFromPoolIdsByPattern","workspaceIds","listIds","workspaceBitIds","ComponentIdList","fromArray","existInWorkspace","searchWithoutVersion","toString","multipleForkInfo","components","getManyRemoteComponents","getConfig","name","writeAndAddNewComp","info","existing","getNewComponentId","refactorDependencyName","BitError","targetName","getRemoteComponent","preserve","refactorVariableAndClasses","refactorFilenames","workspacePolicyEntries","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","deps","getDependencies","excludePackages","excludeCompIds","getCompIdsThatShouldNotBeInPolicy","source","ComponentDependency","compIdStr","componentId","_dep$getPackageName","lifecycleType","lifecycle","version","fromExisting","skipConfig","getConfigFromExistingToNewComponent","linkToOriginal","noLink","toObject","provider","cli","componentMain","graphql","_scopeCommand$command","forkingMain","register","ForkCmd","forkingSchema","registerShowFragments","ForkingFragment","scopeCommand","getCommand","commands","ScopeForkCmd","exports","CLIAspect","WorkspaceAspect","DependencyResolverAspect","ComponentAspect","NewComponentHelperAspect","GraphqlAspect","RefactoringAspect","PkgAspect","InstallAspect","MainRuntime","addRuntime"],"sources":["forking.main.runtime.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { importTransformer, exportTransformer } from '@teambit/typescript';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport { ComponentDependency, DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ComponentConfig } from '@teambit/generator';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { ComponentID, ComponentIdObj, ComponentIdList } from '@teambit/component-id';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport PkgAspect, { PkgMain } from '@teambit/pkg';\nimport RefactoringAspect, { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { uniqBy } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { ForkCmd, ForkOptions } from './fork.cmd';\nimport { ForkingAspect } from './forking.aspect';\nimport { ForkingFragment } from './forking.fragment';\nimport { forkingSchema } from './forking.graphql';\nimport { ScopeForkCmd, ScopeForkOptions } from './scope-fork.cmd';\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};\n\nexport class ForkingMain {\n constructor(\n private workspace: Workspace,\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.exists(sourceCompId);\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) 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 { targetCompId, component } = await this.forkRemoteComponent(sourceIdWithScope, targetId, {\n scope: targetScope || scope,\n path,\n env,\n config,\n });\n return { targetCompId, sourceId, component };\n }\n );\n await this.refactorMultipleAndInstall(results, options);\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 const newPackageName = `@${scopeToReplace}.${newName}`;\n return [\n { oldStr: oldPackageName, newStr: newPackageName },\n { oldStr: sourceId, newStr: targetCompId.toStringWithoutVersion() },\n ];\n })\n .flat();\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 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(this.workspace.path);\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 newScope: string,\n pattern?: string,\n options?: ScopeForkOptions\n ): Promise<ComponentID[]> {\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 if (pattern.startsWith(`${originalScope}/`)) return pattern;\n return `${originalScope}/${pattern}`;\n };\n const patternWithScopeName = getPatternWithScopeName();\n const idsFromOriginalScope = patternWithScopeName\n ? await this.workspace.scope.filterIdsFromPoolIdsByPattern(patternWithScopeName, allIdsFromOriginalScope)\n : allIdsFromOriginalScope;\n const workspaceIds = await 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(component, targetCompId, { scope: newScope }, config);\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 private async forkRemoteComponent(\n sourceId: ComponentID,\n targetId?: string,\n options?: ForkOptions\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.workspace.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 await this.refactoring.refactorVariableAndClasses(component, sourceId, targetCompId);\n this.refactoring.refactorFilenames(component, sourceId, targetCompId);\n }\n const config = await this.getConfig(component, options);\n await this.newComponentHelper.writeAndAddNewComp(component, targetCompId, options, config);\n\n return { targetCompId, component };\n }\n\n private async saveDeps(component: Component) {\n const workspacePolicyEntries = await this.extractDeps(component);\n this.dependencyResolver.addToRootPolicy(workspacePolicyEntries, { updateExisting: true });\n await this.dependencyResolver.persistConfig(this.workspace.path);\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 async extractDeps(component: Component) {\n const deps = await 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 dependencyId: dep.getPackageName?.() || dep.id,\n lifecycleType: dep.lifecycle === 'dev' ? 'runtime' : dep.lifecycle,\n value: {\n version: dep.version,\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 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 dependencyResolver,\n componentMain,\n newComponentHelper,\n graphql,\n refactoring,\n pkg,\n install,\n ]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n ComponentMain,\n NewComponentHelperMain,\n GraphqlMain,\n RefactoringMain,\n PkgMain,\n InstallMain\n ]) {\n const forkingMain = new ForkingMain(workspace, install, dependencyResolver, newComponentHelper, refactoring, pkg);\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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"}
|
1
|
+
{"version":3,"names":["_bitError","data","require","_cli","_typescript","_component","_interopRequireDefault","_dependencyResolver","_graphql","_install","_componentId","_newComponentHelper","_pkg","_refactoring","_workspace","_interopRequireWildcard","_lodash","_pMapSeries","_fork","_forking","_forking2","_forking3","_scopeFork","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ForkingMain","constructor","workspace","install","dependencyResolver","newComponentHelper","refactoring","pkg","fork","sourceId","targetId","options","OutsideWorkspaceError","sourceCompId","resolveComponentId","exists","existingInWorkspace","forkExistingInWorkspace","sourceIdWithScope","_legacy","scope","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","refactorMultipleAndInstall","sort","b","oldPackages","stringsToReplace","map","oldPackageName","getPackageName","newName","fullName","replace","scopeToReplace","newPackageName","oldStr","newStr","toStringWithoutVersion","flat","allComponents","list","refactor","changedComponents","replaceMultipleStrings","ast","importTransformer","exportTransformer","undefined","Promise","all","comp","write","forkedComponents","result","policy","extractDeps","policyFlatAndUnique","uniqBy","policyWithoutWorkspaceComps","dep","includes","dependencyId","addToRootPolicy","updateExisting","persistConfig","forkScope","originalScope","newScope","pattern","allIdsFromOriginalScope","listRemoteScope","Error","getPatternWithScopeName","startsWith","patternWithScopeName","idsFromOriginalScope","filterIdsFromPoolIdsByPattern","workspaceIds","listIds","workspaceBitIds","ComponentIdList","fromArray","existInWorkspace","searchWithoutVersion","toString","multipleForkInfo","components","getManyRemoteComponents","getConfig","name","writeAndAddNewComp","info","existing","getNewComponentId","refactorDependencyName","BitError","targetName","getRemoteComponent","preserve","refactorVariableAndClasses","refactorFilenames","workspacePolicyEntries","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","deps","getDependencies","excludePackages","excludeCompIds","getCompIdsThatShouldNotBeInPolicy","source","ComponentDependency","compIdStr","componentId","lifecycleType","lifecycle","version","fromExisting","skipConfig","getConfigFromExistingToNewComponent","linkToOriginal","noLink","toObject","provider","cli","componentMain","graphql","forkingMain","register","ForkCmd","forkingSchema","registerShowFragments","ForkingFragment","scopeCommand","getCommand","commands","ScopeForkCmd","exports","CLIAspect","WorkspaceAspect","DependencyResolverAspect","ComponentAspect","NewComponentHelperAspect","GraphqlAspect","RefactoringAspect","PkgAspect","InstallAspect","MainRuntime","addRuntime"],"sources":["forking.main.runtime.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { importTransformer, exportTransformer } from '@teambit/typescript';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport { ComponentDependency, DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ComponentConfig } from '@teambit/generator';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { ComponentID, ComponentIdObj, ComponentIdList } from '@teambit/component-id';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport PkgAspect, { PkgMain } from '@teambit/pkg';\nimport RefactoringAspect, { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { uniqBy } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { ForkCmd, ForkOptions } from './fork.cmd';\nimport { ForkingAspect } from './forking.aspect';\nimport { ForkingFragment } from './forking.fragment';\nimport { forkingSchema } from './forking.graphql';\nimport { ScopeForkCmd, ScopeForkOptions } from './scope-fork.cmd';\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};\n\nexport class ForkingMain {\n constructor(\n private workspace: Workspace,\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.exists(sourceCompId);\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) 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 { targetCompId, component } = await this.forkRemoteComponent(sourceIdWithScope, targetId, {\n scope: targetScope || scope,\n path,\n env,\n config,\n });\n return { targetCompId, sourceId, component };\n }\n );\n await this.refactorMultipleAndInstall(results, options);\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 const newPackageName = `@${scopeToReplace}.${newName}`;\n return [\n { oldStr: oldPackageName, newStr: newPackageName },\n { oldStr: sourceId, newStr: targetCompId.toStringWithoutVersion() },\n ];\n })\n .flat();\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 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(this.workspace.path);\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 newScope: string,\n pattern?: string,\n options?: ScopeForkOptions\n ): Promise<ComponentID[]> {\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 if (pattern.startsWith(`${originalScope}/`)) return pattern;\n return `${originalScope}/${pattern}`;\n };\n const patternWithScopeName = getPatternWithScopeName();\n const idsFromOriginalScope = patternWithScopeName\n ? await this.workspace.scope.filterIdsFromPoolIdsByPattern(patternWithScopeName, allIdsFromOriginalScope)\n : allIdsFromOriginalScope;\n const workspaceIds = await 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(component, targetCompId, { scope: newScope }, config);\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 private async forkRemoteComponent(\n sourceId: ComponentID,\n targetId?: string,\n options?: ForkOptions\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.workspace.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 await this.refactoring.refactorVariableAndClasses(component, sourceId, targetCompId);\n this.refactoring.refactorFilenames(component, sourceId, targetCompId);\n }\n const config = await this.getConfig(component, options);\n await this.newComponentHelper.writeAndAddNewComp(component, targetCompId, options, config);\n\n return { targetCompId, component };\n }\n\n private async saveDeps(component: Component) {\n const workspacePolicyEntries = await this.extractDeps(component);\n this.dependencyResolver.addToRootPolicy(workspacePolicyEntries, { updateExisting: true });\n await this.dependencyResolver.persistConfig(this.workspace.path);\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 async extractDeps(component: Component) {\n const deps = await 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 dependencyId: dep.getPackageName?.() || dep.id,\n lifecycleType: dep.lifecycle === 'dev' ? 'runtime' : dep.lifecycle,\n value: {\n version: dep.version,\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 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 dependencyResolver,\n componentMain,\n newComponentHelper,\n graphql,\n refactoring,\n pkg,\n install,\n ]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n ComponentMain,\n NewComponentHelperMain,\n GraphqlMain,\n RefactoringMain,\n PkgMain,\n InstallMain\n ]) {\n const forkingMain = new ForkingMain(workspace, install, dependencyResolver, newComponentHelper, refactoring, pkg);\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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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_forking@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_forking@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_forking@1.0.109/dist/forking.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_forking@1.0.109/dist/forking.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/dist/scope-fork.cmd.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,48 +1,44 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/forking",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.109",
|
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.
|
9
|
+
"version": "1.0.109"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
13
13
|
"graphql-tag": "2.12.1",
|
14
14
|
"lodash": "4.17.21",
|
15
15
|
"p-map-series": "2.1.0",
|
16
|
-
"core-js": "^3.0.0",
|
17
|
-
"@babel/runtime": "7.20.0",
|
18
16
|
"@teambit/harmony": "0.4.6",
|
19
17
|
"@teambit/bit-error": "0.0.404",
|
20
18
|
"@teambit/component-id": "1.2.0",
|
21
|
-
"@teambit/cli": "0.0.
|
22
|
-
"@teambit/generator": "1.0.
|
23
|
-
"@teambit/component": "1.0.
|
24
|
-
"@teambit/graphql": "1.0.
|
25
|
-
"@teambit/dependency-resolver": "1.0.
|
26
|
-
"@teambit/install": "1.0.
|
27
|
-
"@teambit/new-component-helper": "1.0.
|
28
|
-
"@teambit/pkg": "1.0.
|
29
|
-
"@teambit/refactoring": "1.0.
|
30
|
-
"@teambit/typescript": "1.0.
|
31
|
-
"@teambit/workspace": "1.0.
|
19
|
+
"@teambit/cli": "0.0.841",
|
20
|
+
"@teambit/generator": "1.0.110",
|
21
|
+
"@teambit/component": "1.0.109",
|
22
|
+
"@teambit/graphql": "1.0.109",
|
23
|
+
"@teambit/dependency-resolver": "1.0.109",
|
24
|
+
"@teambit/install": "1.0.109",
|
25
|
+
"@teambit/new-component-helper": "1.0.109",
|
26
|
+
"@teambit/pkg": "1.0.109",
|
27
|
+
"@teambit/refactoring": "1.0.109",
|
28
|
+
"@teambit/typescript": "1.0.109",
|
29
|
+
"@teambit/workspace": "1.0.109"
|
32
30
|
},
|
33
31
|
"devDependencies": {
|
34
|
-
"@types/react": "^17.0.8",
|
35
32
|
"@types/lodash": "4.14.165",
|
36
33
|
"@types/mocha": "9.1.0",
|
37
|
-
"@types/
|
38
|
-
"@types/
|
39
|
-
"@
|
40
|
-
"@types/testing-library__jest-dom": "5.9.5"
|
34
|
+
"@types/jest": "^29.2.2",
|
35
|
+
"@types/testing-library__jest-dom": "^5.9.5",
|
36
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.14"
|
41
37
|
},
|
42
38
|
"peerDependencies": {
|
43
|
-
"
|
44
|
-
"react": "^
|
45
|
-
"
|
39
|
+
"react": "^17.0.0 || ^18.0.0",
|
40
|
+
"@types/react": "^18.2.12",
|
41
|
+
"@teambit/legacy": "1.0.624"
|
46
42
|
},
|
47
43
|
"license": "Apache-2.0",
|
48
44
|
"optionalDependencies": {},
|
@@ -56,7 +52,7 @@
|
|
56
52
|
},
|
57
53
|
"private": false,
|
58
54
|
"engines": {
|
59
|
-
"node": ">=
|
55
|
+
"node": ">=16.0.0"
|
60
56
|
},
|
61
57
|
"repository": {
|
62
58
|
"type": "git",
|
@@ -65,12 +61,9 @@
|
|
65
61
|
"keywords": [
|
66
62
|
"bit",
|
67
63
|
"bit-aspect",
|
64
|
+
"bit-core-aspect",
|
68
65
|
"components",
|
69
66
|
"collaboration",
|
70
|
-
"web"
|
71
|
-
"react",
|
72
|
-
"react-components",
|
73
|
-
"angular",
|
74
|
-
"angular-components"
|
67
|
+
"web"
|
75
68
|
]
|
76
69
|
}
|
package/tsconfig.json
CHANGED
@@ -1,38 +1,33 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
3
|
"lib": [
|
4
|
-
"
|
5
|
-
"
|
6
|
-
"
|
7
|
-
"DOM.Iterable",
|
8
|
-
"ScriptHost"
|
4
|
+
"esnext",
|
5
|
+
"dom",
|
6
|
+
"dom.Iterable"
|
9
7
|
],
|
10
|
-
"target": "
|
11
|
-
"module": "
|
12
|
-
"jsx": "react",
|
13
|
-
"allowJs": true,
|
14
|
-
"composite": true,
|
8
|
+
"target": "es2020",
|
9
|
+
"module": "es2020",
|
10
|
+
"jsx": "react-jsx",
|
15
11
|
"declaration": true,
|
16
12
|
"sourceMap": true,
|
17
|
-
"skipLibCheck": true,
|
18
13
|
"experimentalDecorators": true,
|
19
|
-
"
|
14
|
+
"skipLibCheck": true,
|
20
15
|
"moduleResolution": "node",
|
21
16
|
"esModuleInterop": true,
|
22
|
-
"rootDir": ".",
|
23
17
|
"resolveJsonModule": true,
|
24
|
-
"
|
25
|
-
"
|
26
|
-
"
|
27
|
-
"strictPropertyInitialization": false,
|
28
|
-
"strict": true,
|
29
|
-
"noImplicitAny": false,
|
30
|
-
"preserveConstEnums": true
|
18
|
+
"allowJs": true,
|
19
|
+
"outDir": "dist",
|
20
|
+
"emitDeclarationOnly": true
|
31
21
|
},
|
32
22
|
"exclude": [
|
23
|
+
"artifacts",
|
24
|
+
"public",
|
33
25
|
"dist",
|
26
|
+
"node_modules",
|
27
|
+
"package.json",
|
34
28
|
"esm.mjs",
|
35
|
-
"
|
29
|
+
"**/*.cjs",
|
30
|
+
"./dist"
|
36
31
|
],
|
37
32
|
"include": [
|
38
33
|
"**/*",
|
package/types/asset.d.ts
CHANGED
@@ -5,12 +5,12 @@ declare module '*.png' {
|
|
5
5
|
declare module '*.svg' {
|
6
6
|
import type { FunctionComponent, SVGProps } from 'react';
|
7
7
|
|
8
|
-
export const ReactComponent: FunctionComponent<
|
8
|
+
export const ReactComponent: FunctionComponent<
|
9
|
+
SVGProps<SVGSVGElement> & { title?: string }
|
10
|
+
>;
|
9
11
|
const src: string;
|
10
12
|
export default src;
|
11
13
|
}
|
12
|
-
|
13
|
-
// @TODO Gilad
|
14
14
|
declare module '*.jpg' {
|
15
15
|
const value: any;
|
16
16
|
export = value;
|
@@ -27,3 +27,15 @@ declare module '*.bmp' {
|
|
27
27
|
const value: any;
|
28
28
|
export = value;
|
29
29
|
}
|
30
|
+
declare module '*.otf' {
|
31
|
+
const value: any;
|
32
|
+
export = value;
|
33
|
+
}
|
34
|
+
declare module '*.woff' {
|
35
|
+
const value: any;
|
36
|
+
export = value;
|
37
|
+
}
|
38
|
+
declare module '*.woff2' {
|
39
|
+
const value: any;
|
40
|
+
export = value;
|
41
|
+
}
|