@teambit/renaming 1.0.106 → 1.0.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{preview-1703505948637.js → preview-1703647408454.js} +2 -2
- package/dist/rename.cmd.d.ts +1 -1
- package/dist/renaming.composition.d.ts +2 -2
- package/dist/renaming.fragment.d.ts +1 -1
- package/dist/renaming.graphql.js +1 -1
- package/dist/renaming.graphql.js.map +1 -1
- package/dist/renaming.main.runtime.d.ts +4 -4
- package/dist/renaming.main.runtime.js +5 -7
- package/dist/renaming.main.runtime.js.map +1 -1
- package/index.ts +5 -0
- package/package.json +26 -33
- package/rename.cmd.ts +54 -0
- package/renaming.aspect.ts +5 -0
- package/renaming.fragment.ts +26 -0
- package/renaming.graphql.ts +28 -0
- package/renaming.main.runtime.ts +439 -0
- package/scope-rename-owner.cmd.ts +37 -0
- package/scope-rename.cmd.ts +40 -0
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_renaming@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_renaming@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_renaming@1.0.108/dist/renaming.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_renaming@1.0.108/dist/renaming.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/rename.cmd.d.ts
CHANGED
|
@@ -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 RenamingFragment implements ShowFragment {
|
|
|
10
10
|
}>;
|
|
11
11
|
json(component: Component): Promise<{
|
|
12
12
|
title: string;
|
|
13
|
-
json: import("./renaming.main.runtime").RenamingInfo
|
|
13
|
+
json: import("./renaming.main.runtime").RenamingInfo;
|
|
14
14
|
}>;
|
|
15
15
|
weight: number;
|
|
16
16
|
}
|
package/dist/renaming.graphql.js
CHANGED
|
@@ -28,7 +28,7 @@ function renamingSchema(renaming) {
|
|
|
28
28
|
renaming: component => {
|
|
29
29
|
const renamingInfo = renaming.getRenamingInfo(component);
|
|
30
30
|
return {
|
|
31
|
-
renamedFrom: renamingInfo
|
|
31
|
+
renamedFrom: renamingInfo?.renamedFrom.toString()
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","obj","__esModule","default","renamingSchema","renaming","typeDefs","gql","resolvers","Component","component","renamingInfo","getRenamingInfo","renamedFrom","toString"],"sources":["renaming.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\nimport { RenamingMain } from './renaming.main.runtime';\n\nexport function renamingSchema(renaming: RenamingMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n renaming: RenamingInfo\n }\n\n type RenamingInfo {\n renamedFrom: String\n }\n `,\n resolvers: {\n Component: {\n renaming: (component: Component) => {\n const renamingInfo = renaming.getRenamingInfo(component);\n return {\n renamedFrom: renamingInfo?.renamedFrom.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,cAAcA,CAACC,QAAsB,EAAU;EAC7D,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTJ,QAAQ,EAAGK,SAAoB,IAAK;UAClC,MAAMC,YAAY,GAAGN,QAAQ,CAACO,eAAe,CAACF,SAAS,CAAC;UACxD,OAAO;YACLG,WAAW,EAAEF,YAAY,
|
|
1
|
+
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","obj","__esModule","default","renamingSchema","renaming","typeDefs","gql","resolvers","Component","component","renamingInfo","getRenamingInfo","renamedFrom","toString"],"sources":["renaming.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\nimport { RenamingMain } from './renaming.main.runtime';\n\nexport function renamingSchema(renaming: RenamingMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n renaming: RenamingInfo\n }\n\n type RenamingInfo {\n renamedFrom: String\n }\n `,\n resolvers: {\n Component: {\n renaming: (component: Component) => {\n const renamingInfo = renaming.getRenamingInfo(component);\n return {\n renamedFrom: renamingInfo?.renamedFrom.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,cAAcA,CAACC,QAAsB,EAAU;EAC7D,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTJ,QAAQ,EAAGK,SAAoB,IAAK;UAClC,MAAMC,YAAY,GAAGN,QAAQ,CAACO,eAAe,CAACF,SAAS,CAAC;UACxD,OAAO;YACLG,WAAW,EAAEF,YAAY,EAAEE,WAAW,CAACC,QAAQ,CAAC;UAClD,CAAC;QACH;MACF;IACF;EACF,CAAC;AACH"}
|
|
@@ -53,7 +53,7 @@ export declare class RenamingMain {
|
|
|
53
53
|
private compileGracefully;
|
|
54
54
|
private renameOwnerInScopeName;
|
|
55
55
|
private getConfig;
|
|
56
|
-
static slots:
|
|
56
|
+
static slots: any[];
|
|
57
57
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
58
58
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
59
59
|
static provider([cli, workspace, deprecation, newComponentHelper, componentMain, graphql, refactoring, install, config, componentWriter, compiler, loggerMain, envs,]: [
|
|
@@ -72,14 +72,14 @@ export declare class RenamingMain {
|
|
|
72
72
|
EnvsMain
|
|
73
73
|
]): Promise<RenamingMain>;
|
|
74
74
|
}
|
|
75
|
-
export
|
|
75
|
+
export type RenameDependencyNameResult = {
|
|
76
76
|
sourceId: ComponentID;
|
|
77
77
|
targetId: ComponentID;
|
|
78
78
|
};
|
|
79
|
-
export
|
|
79
|
+
export type RenamingInfo = {
|
|
80
80
|
renamedFrom: ComponentID;
|
|
81
81
|
};
|
|
82
|
-
export
|
|
82
|
+
export type RenameScopeResult = {
|
|
83
83
|
scopeRenamedComponentIds: ComponentID[];
|
|
84
84
|
refactoredIds: ComponentID[];
|
|
85
85
|
};
|
|
@@ -238,7 +238,7 @@ make sure this argument is the name only, without the scope-name. to change the
|
|
|
238
238
|
const isTagged = sourceId.hasVersion();
|
|
239
239
|
const sourceComp = await this.workspace.get(sourceId);
|
|
240
240
|
const sourcePackageName = this.workspace.componentPackageName(sourceComp);
|
|
241
|
-
const targetId = this.newComponentHelper.getNewComponentId(targetName, undefined,
|
|
241
|
+
const targetId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope || sourceId.scope);
|
|
242
242
|
if (!options.preserve) {
|
|
243
243
|
await this.refactoring.refactorVariableAndClasses(sourceComp, sourceId, targetId);
|
|
244
244
|
this.refactoring.refactorFilenames(sourceComp, sourceId, targetId);
|
|
@@ -285,8 +285,7 @@ make sure this argument is the name only, without the scope-name. to change the
|
|
|
285
285
|
};
|
|
286
286
|
}
|
|
287
287
|
getRenamingInfo(component) {
|
|
288
|
-
|
|
289
|
-
const renameConfig = (_component$state$aspe = component.state.aspects.get(_renaming().RenamingAspect.id)) === null || _component$state$aspe === void 0 ? void 0 : _component$state$aspe.config;
|
|
288
|
+
const renameConfig = component.state.aspects.get(_renaming().RenamingAspect.id)?.config;
|
|
290
289
|
if (!renameConfig) return null;
|
|
291
290
|
return {
|
|
292
291
|
renamedFrom: _component().ComponentID.fromObject(renameConfig.renamedFrom)
|
|
@@ -333,7 +332,7 @@ make sure this argument is the name only, without the scope-name. to change the
|
|
|
333
332
|
await this.workspace.clearCache();
|
|
334
333
|
await Promise.all(envs.map(async env => {
|
|
335
334
|
const componentIds = compsUsingEnv[env.id.toString()];
|
|
336
|
-
if (!
|
|
335
|
+
if (!componentIds?.length) return;
|
|
337
336
|
const newEnvId = env.id.changeDefaultScope(newScope);
|
|
338
337
|
const newComponentIds = componentIds.map(id => id.changeDefaultScope(newScope));
|
|
339
338
|
await this.workspace.setEnvToComponents(newEnvId, newComponentIds);
|
|
@@ -493,13 +492,12 @@ make sure this argument is the name only, without the scope-name. to change the
|
|
|
493
492
|
});
|
|
494
493
|
}
|
|
495
494
|
static async provider([cli, workspace, deprecation, newComponentHelper, componentMain, graphql, refactoring, install, config, componentWriter, compiler, loggerMain, envs]) {
|
|
496
|
-
var _scopeCommand$command, _scopeCommand$command2;
|
|
497
495
|
const logger = loggerMain.createLogger(_renaming().RenamingAspect.id);
|
|
498
496
|
const renaming = new RenamingMain(workspace, install, newComponentHelper, deprecation, refactoring, config, componentWriter, compiler, logger, envs);
|
|
499
497
|
cli.register(new (_rename().RenameCmd)(renaming));
|
|
500
498
|
const scopeCommand = cli.getCommand('scope');
|
|
501
|
-
scopeCommand
|
|
502
|
-
scopeCommand
|
|
499
|
+
scopeCommand?.commands?.push(new (_scopeRename().ScopeRenameCmd)(renaming));
|
|
500
|
+
scopeCommand?.commands?.push(new (_scopeRenameOwner().ScopeRenameOwnerCmd)(renaming));
|
|
503
501
|
graphql.register((0, _renaming3().renamingSchema)(renaming));
|
|
504
502
|
componentMain.registerShowFragments([new (_renaming2().RenamingFragment)(renaming)]);
|
|
505
503
|
return renaming;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_componentIdToPackageName","data","_interopRequireDefault","require","_fsExtra","_path","_config","_logger","_workspaceModules","_cli","_component","_interopRequireWildcard","_deprecation","_graphql","_compiler","_envs","_newComponentHelper","_refactoring","_componentWriter","_componentConfig","_workspace","_typescript","_install","_legacyBitId","_rename","_renaming","_renaming2","_renaming3","_scopeRename","_oldScopeNotFound","_oldScopeExported","_oldScopeTagged","_scopeRenameOwner","_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","RenamingMain","constructor","workspace","install","newComponentHelper","deprecation","refactoring","config","componentWriter","compiler","logger","envs","rename","sourceIdStr","targetName","options","isValidIdChunk","includes","Error","InvalidName","sourceId","resolveComponentId","isTagged","hasVersion","sourceComp","sourcePackageName","componentPackageName","targetId","getNewComponentId","undefined","scope","preserve","refactorVariableAndClasses","refactorFilenames","getConfig","writeAndAddNewComp","deprecate","bitMap","renameNewComponent","write","deleteLinkFromNodeModules","renameAspectIdInWorkspaceConfig","_reloadConsumer","targetComp","refactor","allComponents","list","targetPackageName","changedComponents","refactorDependencyName","Promise","all","map","comp","writeMany","components","state","_consumer","skipDependencyInstallation","writeToPath","getNewComponentPath","reasonForBitmapChange","renameAspectInConfig","linkToNodeModulesByComponents","compileGracefully","id","getRenamingInfo","component","_component$state$aspe","renameConfig","aspects","RenamingAspect","renamedFrom","ComponentID","fromObject","renameScope","oldScope","newScope","componentsUsingOldScope","defaultScope","OldScopeNotFound","c","isEnv","compsUsingEnv","env","getComponentsUsingEnv","toString","componentIds","exported","isExported","idsStr","OldScopeExported","tagged","OldScopeTagged","setDefaultScope","clearCache","newEnvId","changeDefaultScope","newComponentIds","setEnvToComponents","refactoredIds","legacyComps","packagesToReplace","oldStr","componentIdToPackageName","newStr","bindingPrefix","getBindingPrefixByDefaultScope","changeScope","replaceMultipleStrings","importTransformer","exportTransformer","renameScopeOfAspectIdsInWorkspaceConfig","newIds","_legacy","relinkAndCompile","scopeRenamedComponentIds","debug","pkgName","newComps","getMany","renameOwner","oldOwner","newOwner","isScopeUsesOldOwner","startsWith","oldWorkspaceDefaultScope","newWorkspaceDefaultScope","renameOwnerInScopeName","removeDefaultScope","newCompScope","ast","renameOwnerOfAspectIdsInWorkspaceConfig","workspaceConfig","hasChanged","renameExtensionInRaw","toStringWithoutVersion","ids","changed","packageName","fs","remove","path","join","compileOnWorkspace","err","consoleFailure","message","scopeName","replace","fromExisting","getConfigFromExistingToNewComponent","toObject","provider","cli","componentMain","graphql","loggerMain","_scopeCommand$command","_scopeCommand$command2","createLogger","renaming","register","RenameCmd","scopeCommand","getCommand","commands","ScopeRenameCmd","ScopeRenameOwnerCmd","renamingSchema","registerShowFragments","RenamingFragment","exports","CLIAspect","WorkspaceAspect","DeprecationAspect","NewComponentHelperAspect","ComponentAspect","GraphqlAspect","RefactoringAspect","InstallAspect","ConfigAspect","ComponentWriterAspect","CompilerAspect","LoggerAspect","EnvsAspect","MainRuntime","addRuntime"],"sources":["renaming.main.runtime.ts"],"sourcesContent":["import componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { ConfigAspect, ConfigMain } from '@teambit/config';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';\nimport { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport RefactoringAspect, { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';\nimport ComponentWriterAspect, { ComponentWriterMain } from '@teambit/component-writer';\nimport { getBindingPrefixByDefaultScope } from '@teambit/legacy/dist/consumer/config/component-config';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { importTransformer, exportTransformer } from '@teambit/typescript';\nimport { InstallMain, InstallAspect } from '@teambit/install';\nimport { isValidIdChunk, InvalidName } from '@teambit/legacy-bit-id';\nimport { RenameCmd, RenameOptions } from './rename.cmd';\nimport { RenamingAspect } from './renaming.aspect';\nimport { RenamingFragment } from './renaming.fragment';\nimport { renamingSchema } from './renaming.graphql';\nimport { ScopeRenameCmd } from './scope-rename.cmd';\nimport { OldScopeNotFound } from './exceptions/old-scope-not-found';\nimport { OldScopeExported } from './exceptions/old-scope-exported';\nimport { OldScopeTagged } from './exceptions/old-scope-tagged';\nimport { ScopeRenameOwnerCmd } from './scope-rename-owner.cmd';\n\nexport class RenamingMain {\n constructor(\n private workspace: Workspace,\n private install: InstallMain,\n private newComponentHelper: NewComponentHelperMain,\n private deprecation: DeprecationMain,\n private refactoring: RefactoringMain,\n private config: ConfigMain,\n private componentWriter: ComponentWriterMain,\n private compiler: CompilerMain,\n private logger: Logger,\n private envs: EnvsMain\n ) {}\n\n async rename(sourceIdStr: string, targetName: string, options: RenameOptions): Promise<RenameDependencyNameResult> {\n if (!isValidIdChunk(targetName)) {\n if (targetName.includes('.'))\n throw new Error(`error: new-name argument \"${targetName}\" includes a dot.\nmake sure this argument is the name only, without the scope-name. to change the scope-name, use --scope flag`);\n throw new InvalidName(targetName);\n }\n const sourceId = await this.workspace.resolveComponentId(sourceIdStr);\n const isTagged = sourceId.hasVersion();\n const sourceComp = await this.workspace.get(sourceId);\n const sourcePackageName = this.workspace.componentPackageName(sourceComp);\n const targetId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope || sourceId.scope);\n if (!options.preserve) {\n await this.refactoring.refactorVariableAndClasses(sourceComp, sourceId, targetId);\n this.refactoring.refactorFilenames(sourceComp, sourceId, targetId);\n }\n if (isTagged) {\n const config = await this.getConfig(sourceComp);\n await this.newComponentHelper.writeAndAddNewComp(sourceComp, targetId, options, config);\n await this.deprecation.deprecate(sourceId, targetId);\n } else {\n this.workspace.bitMap.renameNewComponent(sourceId, targetId);\n await this.workspace.bitMap.write(`rename (${sourceIdStr} to ${targetName})`);\n await this.deleteLinkFromNodeModules(sourcePackageName);\n }\n await this.renameAspectIdInWorkspaceConfig(sourceId, targetId);\n await this.workspace._reloadConsumer(); // in order to reload .bitmap file and clear all caches.\n const targetComp = await this.workspace.get(targetId);\n if (options.refactor) {\n const allComponents = await this.workspace.list();\n const targetPackageName = this.workspace.componentPackageName(targetComp);\n const { changedComponents } = await this.refactoring.refactorDependencyName(\n allComponents,\n sourcePackageName,\n targetPackageName\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n }\n\n // only write if it is not tagged, since we writeAndAddNewComp for tagged components\n if (!isTagged && !options.preserve) {\n await this.refactoring.refactorVariableAndClasses(targetComp, sourceId, targetId, options);\n this.refactoring.refactorFilenames(targetComp, sourceId, targetId);\n await this.componentWriter.writeMany({\n components: [targetComp.state._consumer],\n skipDependencyInstallation: true,\n writeToPath: this.newComponentHelper.getNewComponentPath(targetId),\n reasonForBitmapChange: 'rename',\n });\n }\n\n this.workspace.bitMap.renameAspectInConfig(sourceId, targetId);\n await this.workspace.bitMap.write(`rename (${sourceIdStr} to ${targetName})`);\n\n await linkToNodeModulesByComponents([targetComp], this.workspace); // link the new-name to node-modules\n await this.compileGracefully([targetComp.id]);\n\n return {\n sourceId,\n targetId,\n };\n }\n\n getRenamingInfo(component: Component): RenamingInfo | null {\n const renameConfig = component.state.aspects.get(RenamingAspect.id)?.config as RenamingInfo | undefined;\n if (!renameConfig) return null;\n return {\n renamedFrom: ComponentID.fromObject(renameConfig.renamedFrom),\n };\n }\n\n /**\n * change the default-scope for new components. optionally (if refactor is true), change the source code to match the\n * new scope-name.\n * keep in mind that this is working for new components only, for tagged/exported it's impossible. See the errors\n * thrown in such cases in this method.\n */\n async renameScope(oldScope: string, newScope: string, options: { refactor?: boolean }): Promise<RenameScopeResult> {\n const allComponents = await this.workspace.list();\n const componentsUsingOldScope = allComponents.filter((comp) => comp.id.scope === oldScope);\n if (!componentsUsingOldScope.length && this.workspace.defaultScope !== oldScope) {\n throw new OldScopeNotFound(oldScope);\n }\n const envs = componentsUsingOldScope.filter((c) => this.envs.isEnv(c));\n const compsUsingEnv: { [envIdStr: string]: ComponentID[] } = {};\n await Promise.all(\n envs.map(async (env) => {\n const components = await this.workspace.getComponentsUsingEnv(env.id.toString(), true);\n if (!components.length) return;\n const componentIds = components.map((comp) => comp.id);\n compsUsingEnv[env.id.toString()] = componentIds;\n })\n );\n\n // verify they're all new.\n const exported = componentsUsingOldScope.filter((comp) => this.workspace.isExported(comp.id));\n if (exported.length) {\n const idsStr = exported.map((comp) => comp.id.toString());\n throw new OldScopeExported(idsStr);\n }\n const tagged = componentsUsingOldScope.filter((comp) => comp.id.hasVersion());\n if (tagged.length) {\n const idsStr = tagged.map((comp) => comp.id.toString());\n throw new OldScopeTagged(idsStr);\n }\n if (this.workspace.defaultScope === oldScope) {\n await this.workspace.setDefaultScope(newScope);\n }\n componentsUsingOldScope.forEach((comp) => this.workspace.bitMap.setDefaultScope(comp.id, newScope));\n await this.workspace.bitMap.write(`rename-scope (${oldScope} to ${newScope})`);\n await this.workspace.clearCache();\n\n await Promise.all(\n envs.map(async (env) => {\n const componentIds = compsUsingEnv[env.id.toString()];\n if (!componentIds?.length) return;\n const newEnvId = env.id.changeDefaultScope(newScope);\n const newComponentIds = componentIds.map((id) => id.changeDefaultScope(newScope));\n await this.workspace.setEnvToComponents(newEnvId, newComponentIds);\n })\n );\n\n const refactoredIds: ComponentID[] = [];\n if (options.refactor) {\n const legacyComps = componentsUsingOldScope.map((c) => c.state._consumer);\n const packagesToReplace: MultipleStringsReplacement = legacyComps.map((comp) => {\n return {\n oldStr: componentIdToPackageName(comp),\n newStr: componentIdToPackageName({\n ...comp,\n bindingPrefix: getBindingPrefixByDefaultScope(newScope),\n id: comp.id.changeScope(newScope),\n }),\n };\n });\n\n const { changedComponents } = await this.refactoring.replaceMultipleStrings(allComponents, packagesToReplace, [\n importTransformer,\n exportTransformer,\n ]);\n await this.renameScopeOfAspectIdsInWorkspaceConfig(\n componentsUsingOldScope.map((c) => c.id),\n newScope\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n refactoredIds.push(...changedComponents.map((c) => c.id));\n }\n\n const newIds = componentsUsingOldScope.map((comp) => new ComponentID(comp.id._legacy, newScope));\n await this.relinkAndCompile(componentsUsingOldScope, newIds);\n\n return { scopeRenamedComponentIds: componentsUsingOldScope.map((comp) => comp.id), refactoredIds };\n }\n\n private async relinkAndCompile(componentsUsingOldScope: Component[], newIds: ComponentID[]) {\n this.logger.debug(`the scope has been renamed, re-linking to node-modules`);\n await Promise.all(\n componentsUsingOldScope.map(async (comp) => {\n const pkgName = this.workspace.componentPackageName(comp);\n await this.deleteLinkFromNodeModules(pkgName);\n })\n );\n\n await this.workspace.clearCache();\n await this.workspace._reloadConsumer();\n\n const newComps = await this.workspace.getMany(newIds);\n await linkToNodeModulesByComponents(newComps, this.workspace); // link the new-name to node-modules\n await this.compileGracefully(newIds);\n }\n\n /**\n * change the default-scope for new components. optionally (if refactor is true), change the source code to match the\n * new scope-name.\n * keep in mind that this is working for new components only, for tagged/exported it's impossible. See the errors\n * thrown in such cases in this method.\n */\n async renameOwner(\n oldOwner: string,\n newOwner: string,\n options: { refactor?: boolean; ast?: boolean }\n ): Promise<RenameScopeResult> {\n const allComponents = await this.workspace.list();\n const isScopeUsesOldOwner = (scope: string) => scope.startsWith(`${oldOwner}.`);\n const componentsUsingOldScope = allComponents.filter((comp) => isScopeUsesOldOwner(comp.id.scope));\n if (!componentsUsingOldScope.length && !isScopeUsesOldOwner(this.workspace.defaultScope)) {\n throw new OldScopeNotFound(oldOwner);\n }\n // verify they're all new.\n const exported = componentsUsingOldScope.filter((comp) => this.workspace.isExported(comp.id));\n if (exported.length) {\n const idsStr = exported.map((comp) => comp.id.toString());\n throw new OldScopeExported(idsStr);\n }\n const tagged = componentsUsingOldScope.filter((comp) => comp.id.hasVersion());\n if (tagged.length) {\n const idsStr = tagged.map((comp) => comp.id.toString());\n throw new OldScopeTagged(idsStr);\n }\n const oldWorkspaceDefaultScope = this.workspace.defaultScope;\n const newWorkspaceDefaultScope = isScopeUsesOldOwner(oldWorkspaceDefaultScope)\n ? this.renameOwnerInScopeName(oldWorkspaceDefaultScope, oldOwner, newOwner)\n : undefined;\n if (newWorkspaceDefaultScope) {\n await this.workspace.setDefaultScope(newWorkspaceDefaultScope);\n }\n const newIds = componentsUsingOldScope.map((comp) => {\n if (newWorkspaceDefaultScope && comp.id.scope === oldWorkspaceDefaultScope) {\n this.workspace.bitMap.removeDefaultScope(comp.id);\n return new ComponentID(comp.id._legacy, newWorkspaceDefaultScope);\n }\n const newCompScope = this.renameOwnerInScopeName(comp.id.scope, oldOwner, newOwner);\n this.workspace.bitMap.setDefaultScope(comp.id, newCompScope);\n return new ComponentID(comp.id._legacy, newCompScope);\n });\n await this.workspace.bitMap.write(`rename-owner (${oldOwner} to ${newOwner})`);\n const refactoredIds: ComponentID[] = [];\n if (options.refactor) {\n const legacyComps = componentsUsingOldScope.map((c) => c.state._consumer);\n const packagesToReplace: MultipleStringsReplacement = legacyComps.map((comp) => {\n const newScope = this.renameOwnerInScopeName(comp.id.scope, oldOwner, newOwner);\n return {\n oldStr: componentIdToPackageName(comp),\n newStr: componentIdToPackageName({\n ...comp,\n bindingPrefix: getBindingPrefixByDefaultScope(newScope),\n id: comp.id,\n defaultScope: newScope,\n }),\n };\n });\n const { changedComponents } = await this.refactoring.replaceMultipleStrings(\n allComponents,\n packagesToReplace,\n options.ast ? [importTransformer, exportTransformer] : undefined\n );\n await this.renameOwnerOfAspectIdsInWorkspaceConfig(\n componentsUsingOldScope.map((c) => c.id),\n oldOwner,\n newOwner\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n refactoredIds.push(...changedComponents.map((c) => c.id));\n }\n\n await this.relinkAndCompile(componentsUsingOldScope, newIds);\n\n return { scopeRenamedComponentIds: componentsUsingOldScope.map((comp) => comp.id), refactoredIds };\n }\n\n private async renameAspectIdInWorkspaceConfig(sourceId: ComponentID, targetId: ComponentID) {\n const config = this.config.workspaceConfig;\n if (!config) throw new Error('unable to get workspace config');\n const hasChanged = config.renameExtensionInRaw(\n sourceId.toStringWithoutVersion(),\n targetId.toStringWithoutVersion()\n );\n if (hasChanged) await config.write();\n }\n\n private async renameScopeOfAspectIdsInWorkspaceConfig(ids: ComponentID[], newScope: string) {\n const config = this.config.workspaceConfig;\n if (!config) throw new Error('unable to get workspace config');\n let hasChanged = false;\n ids.forEach((id) => {\n const changed = config.renameExtensionInRaw(\n id.toStringWithoutVersion(),\n id.changeScope(newScope).toStringWithoutVersion()\n );\n if (changed) hasChanged = true;\n });\n if (hasChanged) await config.write();\n }\n\n private async renameOwnerOfAspectIdsInWorkspaceConfig(ids: ComponentID[], oldOwner: string, newOwner: string) {\n const config = this.config.workspaceConfig;\n if (!config) throw new Error('unable to get workspace config');\n let hasChanged = false;\n ids.forEach((id) => {\n const newScope = this.renameOwnerInScopeName(id.scope, oldOwner, newOwner);\n const changed = config.renameExtensionInRaw(\n id.toStringWithoutVersion(),\n id.changeScope(newScope).toStringWithoutVersion()\n );\n if (changed) hasChanged = true;\n });\n if (hasChanged) await config.write();\n }\n\n private async deleteLinkFromNodeModules(packageName: string) {\n await fs.remove(path.join(this.workspace.path, 'node_modules', packageName));\n }\n private async compileGracefully(ids: ComponentID[]) {\n try {\n await this.compiler.compileOnWorkspace(ids);\n } catch (err: any) {\n const idsStr = ids.map((id) => id.toString()).join(', ');\n this.logger.consoleFailure(`failed compiling the component(s) ${idsStr}. error: ${err.message}`);\n }\n }\n\n private renameOwnerInScopeName(scopeName: string, oldOwner: string, newOwner: string): string {\n return scopeName.replace(`${oldOwner}.`, `${newOwner}.`);\n }\n\n private async getConfig(comp: Component) {\n const fromExisting = await this.newComponentHelper.getConfigFromExistingToNewComponent(comp);\n return {\n ...fromExisting,\n [RenamingAspect.id]: {\n renamedFrom: comp.id.toObject(),\n },\n };\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n DeprecationAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n GraphqlAspect,\n RefactoringAspect,\n InstallAspect,\n ConfigAspect,\n ComponentWriterAspect,\n CompilerAspect,\n LoggerAspect,\n EnvsAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n deprecation,\n newComponentHelper,\n componentMain,\n graphql,\n refactoring,\n install,\n config,\n componentWriter,\n compiler,\n loggerMain,\n envs,\n ]: [\n CLIMain,\n Workspace,\n DeprecationMain,\n NewComponentHelperMain,\n ComponentMain,\n GraphqlMain,\n RefactoringMain,\n InstallMain,\n ConfigMain,\n ComponentWriterMain,\n CompilerMain,\n LoggerMain,\n EnvsMain\n ]) {\n const logger = loggerMain.createLogger(RenamingAspect.id);\n const renaming = new RenamingMain(\n workspace,\n install,\n newComponentHelper,\n deprecation,\n refactoring,\n config,\n componentWriter,\n compiler,\n logger,\n envs\n );\n cli.register(new RenameCmd(renaming));\n\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeRenameCmd(renaming));\n scopeCommand?.commands?.push(new ScopeRenameOwnerCmd(renaming));\n\n graphql.register(renamingSchema(renaming));\n componentMain.registerShowFragments([new RenamingFragment(renaming)]);\n return renaming;\n }\n}\n\nRenamingAspect.addRuntime(RenamingMain);\n\nexport type RenameDependencyNameResult = { sourceId: ComponentID; targetId: ComponentID };\n\nexport type RenamingInfo = {\n renamedFrom: ComponentID;\n};\n\nexport type RenameScopeResult = { scopeRenamedComponentIds: ComponentID[]; refactoredIds: ComponentID[] };\n"],"mappings":";;;;;;AAAA,SAAAA,0BAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,yBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,MAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,KAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,kBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,iBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,KAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,IAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,WAAA;EAAA,MAAAT,IAAA,GAAAU,uBAAA,CAAAR,OAAA;EAAAO,UAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,aAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,YAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,SAAA;EAAA,MAAAZ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAU,QAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,UAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,SAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,MAAA;EAAA,MAAAd,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAY,KAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,oBAAA;EAAA,MAAAf,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAa,mBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,aAAA;EAAA,MAAAhB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAc,YAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,iBAAA;EAAA,MAAAjB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAe,gBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,iBAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,gBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,WAAA;EAAA,MAAAnB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAiB,UAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,YAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,WAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,SAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,QAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,aAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,YAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,QAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,OAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,UAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,SAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,WAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,UAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,WAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,UAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,aAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,YAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,kBAAA;EAAA,MAAA5B,IAAA,GAAAE,OAAA;EAAA0B,iBAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,kBAAA;EAAA,MAAA7B,IAAA,GAAAE,OAAA;EAAA2B,iBAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,gBAAA;EAAA,MAAA9B,IAAA,GAAAE,OAAA;EAAA4B,eAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,kBAAA;EAAA,MAAA/B,IAAA,GAAAE,OAAA;EAAA6B,iBAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+D,SAAAgC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAvB,wBAAAuB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAxC,uBAAAoD,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,QAAArB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAW,IAAA,CAAAtB,CAAA,OAAAW,MAAA,CAAAY,qBAAA,QAAAC,CAAA,GAAAb,MAAA,CAAAY,qBAAA,CAAAvB,CAAA,GAAAE,CAAA,KAAAsB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAvB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAwB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAqB,CAAA,YAAArB,CAAA;AAAA,SAAA0B,cAAA7B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4B,SAAA,CAAAC,MAAA,EAAA7B,CAAA,UAAAC,CAAA,WAAA2B,SAAA,CAAA5B,CAAA,IAAA4B,SAAA,CAAA5B,CAAA,QAAAA,CAAA,OAAAmB,OAAA,CAAAV,MAAA,CAAAR,CAAA,OAAA6B,OAAA,WAAA9B,CAAA,IAAA+B,eAAA,CAAAjC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAuB,yBAAA,GAAAvB,MAAA,CAAAwB,gBAAA,CAAAnC,CAAA,EAAAW,MAAA,CAAAuB,yBAAA,CAAA/B,CAAA,KAAAkB,OAAA,CAAAV,MAAA,CAAAR,CAAA,GAAA6B,OAAA,WAAA9B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAiC,gBAAAb,GAAA,EAAAgB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAT,MAAA,CAAAC,cAAA,CAAAQ,GAAA,EAAAgB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAX,UAAA,QAAAa,YAAA,QAAAC,QAAA,oBAAApB,GAAA,CAAAgB,GAAA,IAAAC,KAAA,WAAAjB,GAAA;AAAA,SAAAkB,eAAAnC,CAAA,QAAAe,CAAA,GAAAuB,YAAA,CAAAtC,CAAA,uCAAAe,CAAA,GAAAA,CAAA,GAAAwB,MAAA,CAAAxB,CAAA;AAAA,SAAAuB,aAAAtC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAwC,MAAA,CAAAC,WAAA,kBAAA5C,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAd,CAAA,EAAAD,CAAA,uCAAAgB,CAAA,SAAAA,CAAA,YAAA2B,SAAA,yEAAA3C,CAAA,GAAAwC,MAAA,GAAAI,MAAA,EAAA3C,CAAA;AAExD,MAAM4C,YAAY,CAAC;EACxBC,WAAWA,CACDC,SAAoB,EACpBC,OAAoB,EACpBC,kBAA0C,EAC1CC,WAA4B,EAC5BC,WAA4B,EAC5BC,MAAkB,EAClBC,eAAoC,EACpCC,QAAsB,EACtBC,MAAc,EACdC,IAAc,EACtB;IAAA,KAVQT,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAC1CC,WAA4B,GAA5BA,WAA4B;IAAA,KAC5BC,WAA4B,GAA5BA,WAA4B;IAAA,KAC5BC,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,eAAoC,GAApCA,eAAoC;IAAA,KACpCC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,MAAc,GAAdA,MAAc;IAAA,KACdC,IAAc,GAAdA,IAAc;EACrB;EAEH,MAAMC,MAAMA,CAACC,WAAmB,EAAEC,UAAkB,EAAEC,OAAsB,EAAuC;IACjH,IAAI,CAAC,IAAAC,6BAAc,EAACF,UAAU,CAAC,EAAE;MAC/B,IAAIA,UAAU,CAACG,QAAQ,CAAC,GAAG,CAAC,EAC1B,MAAM,IAAIC,KAAK,CAAE,6BAA4BJ,UAAW;AAChE,6GAA6G,CAAC;MACxG,MAAM,KAAIK,0BAAW,EAACL,UAAU,CAAC;IACnC;IACA,MAAMM,QAAQ,GAAG,MAAM,IAAI,CAAClB,SAAS,CAACmB,kBAAkB,CAACR,WAAW,CAAC;IACrE,MAAMS,QAAQ,GAAGF,QAAQ,CAACG,UAAU,CAAC,CAAC;IACtC,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACtB,SAAS,CAAC1C,GAAG,CAAC4D,QAAQ,CAAC;IACrD,MAAMK,iBAAiB,GAAG,IAAI,CAACvB,SAAS,CAACwB,oBAAoB,CAACF,UAAU,CAAC;IACzE,MAAMG,QAAQ,GAAG,IAAI,CAACvB,kBAAkB,CAACwB,iBAAiB,CAACd,UAAU,EAAEe,SAAS,EAAE,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEe,KAAK,KAAIV,QAAQ,CAACU,KAAK,CAAC;IACnH,IAAI,CAACf,OAAO,CAACgB,QAAQ,EAAE;MACrB,MAAM,IAAI,CAACzB,WAAW,CAAC0B,0BAA0B,CAACR,UAAU,EAAEJ,QAAQ,EAAEO,QAAQ,CAAC;MACjF,IAAI,CAACrB,WAAW,CAAC2B,iBAAiB,CAACT,UAAU,EAAEJ,QAAQ,EAAEO,QAAQ,CAAC;IACpE;IACA,IAAIL,QAAQ,EAAE;MACZ,MAAMf,MAAM,GAAG,MAAM,IAAI,CAAC2B,SAAS,CAACV,UAAU,CAAC;MAC/C,MAAM,IAAI,CAACpB,kBAAkB,CAAC+B,kBAAkB,CAACX,UAAU,EAAEG,QAAQ,EAAEZ,OAAO,EAAER,MAAM,CAAC;MACvF,MAAM,IAAI,CAACF,WAAW,CAAC+B,SAAS,CAAChB,QAAQ,EAAEO,QAAQ,CAAC;IACtD,CAAC,MAAM;MACL,IAAI,CAACzB,SAAS,CAACmC,MAAM,CAACC,kBAAkB,CAAClB,QAAQ,EAAEO,QAAQ,CAAC;MAC5D,MAAM,IAAI,CAACzB,SAAS,CAACmC,MAAM,CAACE,KAAK,CAAE,WAAU1B,WAAY,OAAMC,UAAW,GAAE,CAAC;MAC7E,MAAM,IAAI,CAAC0B,yBAAyB,CAACf,iBAAiB,CAAC;IACzD;IACA,MAAM,IAAI,CAACgB,+BAA+B,CAACrB,QAAQ,EAAEO,QAAQ,CAAC;IAC9D,MAAM,IAAI,CAACzB,SAAS,CAACwC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACzC,SAAS,CAAC1C,GAAG,CAACmE,QAAQ,CAAC;IACrD,IAAIZ,OAAO,CAAC6B,QAAQ,EAAE;MACpB,MAAMC,aAAa,GAAG,MAAM,IAAI,CAAC3C,SAAS,CAAC4C,IAAI,CAAC,CAAC;MACjD,MAAMC,iBAAiB,GAAG,IAAI,CAAC7C,SAAS,CAACwB,oBAAoB,CAACiB,UAAU,CAAC;MACzE,MAAM;QAAEK;MAAkB,CAAC,GAAG,MAAM,IAAI,CAAC1C,WAAW,CAAC2C,sBAAsB,CACzEJ,aAAa,EACbpB,iBAAiB,EACjBsB,iBACF,CAAC;MACD,MAAMG,OAAO,CAACC,GAAG,CAACH,iBAAiB,CAACI,GAAG,CAAEC,IAAI,IAAK,IAAI,CAACnD,SAAS,CAACqC,KAAK,CAACc,IAAI,CAAC,CAAC,CAAC;IAChF;;IAEA;IACA,IAAI,CAAC/B,QAAQ,IAAI,CAACP,OAAO,CAACgB,QAAQ,EAAE;MAClC,MAAM,IAAI,CAACzB,WAAW,CAAC0B,0BAA0B,CAACW,UAAU,EAAEvB,QAAQ,EAAEO,QAAQ,EAAEZ,OAAO,CAAC;MAC1F,IAAI,CAACT,WAAW,CAAC2B,iBAAiB,CAACU,UAAU,EAAEvB,QAAQ,EAAEO,QAAQ,CAAC;MAClE,MAAM,IAAI,CAACnB,eAAe,CAAC8C,SAAS,CAAC;QACnCC,UAAU,EAAE,CAACZ,UAAU,CAACa,KAAK,CAACC,SAAS,CAAC;QACxCC,0BAA0B,EAAE,IAAI;QAChCC,WAAW,EAAE,IAAI,CAACvD,kBAAkB,CAACwD,mBAAmB,CAACjC,QAAQ,CAAC;QAClEkC,qBAAqB,EAAE;MACzB,CAAC,CAAC;IACJ;IAEA,IAAI,CAAC3D,SAAS,CAACmC,MAAM,CAACyB,oBAAoB,CAAC1C,QAAQ,EAAEO,QAAQ,CAAC;IAC9D,MAAM,IAAI,CAACzB,SAAS,CAACmC,MAAM,CAACE,KAAK,CAAE,WAAU1B,WAAY,OAAMC,UAAW,GAAE,CAAC;IAE7E,MAAM,IAAAiD,iDAA6B,EAAC,CAACpB,UAAU,CAAC,EAAE,IAAI,CAACzC,SAAS,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,CAAC8D,iBAAiB,CAAC,CAACrB,UAAU,CAACsB,EAAE,CAAC,CAAC;IAE7C,OAAO;MACL7C,QAAQ;MACRO;IACF,CAAC;EACH;EAEAuC,eAAeA,CAACC,SAAoB,EAAuB;IAAA,IAAAC,qBAAA;IACzD,MAAMC,YAAY,IAAAD,qBAAA,GAAGD,SAAS,CAACX,KAAK,CAACc,OAAO,CAAC9G,GAAG,CAAC+G,0BAAc,CAACN,EAAE,CAAC,cAAAG,qBAAA,uBAA9CA,qBAAA,CAAgD7D,MAAkC;IACvG,IAAI,CAAC8D,YAAY,EAAE,OAAO,IAAI;IAC9B,OAAO;MACLG,WAAW,EAAEC,wBAAW,CAACC,UAAU,CAACL,YAAY,CAACG,WAAW;IAC9D,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMG,WAAWA,CAACC,QAAgB,EAAEC,QAAgB,EAAE9D,OAA+B,EAA8B;IACjH,MAAM8B,aAAa,GAAG,MAAM,IAAI,CAAC3C,SAAS,CAAC4C,IAAI,CAAC,CAAC;IACjD,MAAMgC,uBAAuB,GAAGjC,aAAa,CAACnE,MAAM,CAAE2E,IAAI,IAAKA,IAAI,CAACY,EAAE,CAACnC,KAAK,KAAK8C,QAAQ,CAAC;IAC1F,IAAI,CAACE,uBAAuB,CAAC9F,MAAM,IAAI,IAAI,CAACkB,SAAS,CAAC6E,YAAY,KAAKH,QAAQ,EAAE;MAC/E,MAAM,KAAII,oCAAgB,EAACJ,QAAQ,CAAC;IACtC;IACA,MAAMjE,IAAI,GAAGmE,uBAAuB,CAACpG,MAAM,CAAEuG,CAAC,IAAK,IAAI,CAACtE,IAAI,CAACuE,KAAK,CAACD,CAAC,CAAC,CAAC;IACtE,MAAME,aAAoD,GAAG,CAAC,CAAC;IAC/D,MAAMjC,OAAO,CAACC,GAAG,CACfxC,IAAI,CAACyC,GAAG,CAAC,MAAOgC,GAAG,IAAK;MACtB,MAAM7B,UAAU,GAAG,MAAM,IAAI,CAACrD,SAAS,CAACmF,qBAAqB,CAACD,GAAG,CAACnB,EAAE,CAACqB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;MACtF,IAAI,CAAC/B,UAAU,CAACvE,MAAM,EAAE;MACxB,MAAMuG,YAAY,GAAGhC,UAAU,CAACH,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAAC;MACtDkB,aAAa,CAACC,GAAG,CAACnB,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC,GAAGC,YAAY;IACjD,CAAC,CACH,CAAC;;IAED;IACA,MAAMC,QAAQ,GAAGV,uBAAuB,CAACpG,MAAM,CAAE2E,IAAI,IAAK,IAAI,CAACnD,SAAS,CAACuF,UAAU,CAACpC,IAAI,CAACY,EAAE,CAAC,CAAC;IAC7F,IAAIuB,QAAQ,CAACxG,MAAM,EAAE;MACnB,MAAM0G,MAAM,GAAGF,QAAQ,CAACpC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC;MACzD,MAAM,KAAIK,oCAAgB,EAACD,MAAM,CAAC;IACpC;IACA,MAAME,MAAM,GAAGd,uBAAuB,CAACpG,MAAM,CAAE2E,IAAI,IAAKA,IAAI,CAACY,EAAE,CAAC1C,UAAU,CAAC,CAAC,CAAC;IAC7E,IAAIqE,MAAM,CAAC5G,MAAM,EAAE;MACjB,MAAM0G,MAAM,GAAGE,MAAM,CAACxC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC;MACvD,MAAM,KAAIO,gCAAc,EAACH,MAAM,CAAC;IAClC;IACA,IAAI,IAAI,CAACxF,SAAS,CAAC6E,YAAY,KAAKH,QAAQ,EAAE;MAC5C,MAAM,IAAI,CAAC1E,SAAS,CAAC4F,eAAe,CAACjB,QAAQ,CAAC;IAChD;IACAC,uBAAuB,CAAC7F,OAAO,CAAEoE,IAAI,IAAK,IAAI,CAACnD,SAAS,CAACmC,MAAM,CAACyD,eAAe,CAACzC,IAAI,CAACY,EAAE,EAAEY,QAAQ,CAAC,CAAC;IACnG,MAAM,IAAI,CAAC3E,SAAS,CAACmC,MAAM,CAACE,KAAK,CAAE,iBAAgBqC,QAAS,OAAMC,QAAS,GAAE,CAAC;IAC9E,MAAM,IAAI,CAAC3E,SAAS,CAAC6F,UAAU,CAAC,CAAC;IAEjC,MAAM7C,OAAO,CAACC,GAAG,CACfxC,IAAI,CAACyC,GAAG,CAAC,MAAOgC,GAAG,IAAK;MACtB,MAAMG,YAAY,GAAGJ,aAAa,CAACC,GAAG,CAACnB,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC;MACrD,IAAI,EAACC,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEvG,MAAM,GAAE;MAC3B,MAAMgH,QAAQ,GAAGZ,GAAG,CAACnB,EAAE,CAACgC,kBAAkB,CAACpB,QAAQ,CAAC;MACpD,MAAMqB,eAAe,GAAGX,YAAY,CAACnC,GAAG,CAAEa,EAAE,IAAKA,EAAE,CAACgC,kBAAkB,CAACpB,QAAQ,CAAC,CAAC;MACjF,MAAM,IAAI,CAAC3E,SAAS,CAACiG,kBAAkB,CAACH,QAAQ,EAAEE,eAAe,CAAC;IACpE,CAAC,CACH,CAAC;IAED,MAAME,aAA4B,GAAG,EAAE;IACvC,IAAIrF,OAAO,CAAC6B,QAAQ,EAAE;MACpB,MAAMyD,WAAW,GAAGvB,uBAAuB,CAAC1B,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAACzB,KAAK,CAACC,SAAS,CAAC;MACzE,MAAM6C,iBAA6C,GAAGD,WAAW,CAACjD,GAAG,CAAEC,IAAI,IAAK;QAC9E,OAAO;UACLkD,MAAM,EAAE,IAAAC,mCAAwB,EAACnD,IAAI,CAAC;UACtCoD,MAAM,EAAE,IAAAD,mCAAwB,EAAA1H,aAAA,CAAAA,aAAA,KAC3BuE,IAAI;YACPqD,aAAa,EAAE,IAAAC,iDAA8B,EAAC9B,QAAQ,CAAC;YACvDZ,EAAE,EAAEZ,IAAI,CAACY,EAAE,CAAC2C,WAAW,CAAC/B,QAAQ;UAAC,EAClC;QACH,CAAC;MACH,CAAC,CAAC;MAEF,MAAM;QAAE7B;MAAkB,CAAC,GAAG,MAAM,IAAI,CAAC1C,WAAW,CAACuG,sBAAsB,CAAChE,aAAa,EAAEyD,iBAAiB,EAAE,CAC5GQ,+BAAiB,EACjBC,+BAAiB,CAClB,CAAC;MACF,MAAM,IAAI,CAACC,uCAAuC,CAChDlC,uBAAuB,CAAC1B,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAAChB,EAAE,CAAC,EACxCY,QACF,CAAC;MACD,MAAM3B,OAAO,CAACC,GAAG,CAACH,iBAAiB,CAACI,GAAG,CAAEC,IAAI,IAAK,IAAI,CAACnD,SAAS,CAACqC,KAAK,CAACc,IAAI,CAAC,CAAC,CAAC;MAC9E+C,aAAa,CAACxH,IAAI,CAAC,GAAGoE,iBAAiB,CAACI,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAAChB,EAAE,CAAC,CAAC;IAC3D;IAEA,MAAMgD,MAAM,GAAGnC,uBAAuB,CAAC1B,GAAG,CAAEC,IAAI,IAAK,KAAIoB,wBAAW,EAACpB,IAAI,CAACY,EAAE,CAACiD,OAAO,EAAErC,QAAQ,CAAC,CAAC;IAChG,MAAM,IAAI,CAACsC,gBAAgB,CAACrC,uBAAuB,EAAEmC,MAAM,CAAC;IAE5D,OAAO;MAAEG,wBAAwB,EAAEtC,uBAAuB,CAAC1B,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAAC;MAAEmC;IAAc,CAAC;EACpG;EAEA,MAAce,gBAAgBA,CAACrC,uBAAoC,EAAEmC,MAAqB,EAAE;IAC1F,IAAI,CAACvG,MAAM,CAAC2G,KAAK,CAAE,wDAAuD,CAAC;IAC3E,MAAMnE,OAAO,CAACC,GAAG,CACf2B,uBAAuB,CAAC1B,GAAG,CAAC,MAAOC,IAAI,IAAK;MAC1C,MAAMiE,OAAO,GAAG,IAAI,CAACpH,SAAS,CAACwB,oBAAoB,CAAC2B,IAAI,CAAC;MACzD,MAAM,IAAI,CAACb,yBAAyB,CAAC8E,OAAO,CAAC;IAC/C,CAAC,CACH,CAAC;IAED,MAAM,IAAI,CAACpH,SAAS,CAAC6F,UAAU,CAAC,CAAC;IACjC,MAAM,IAAI,CAAC7F,SAAS,CAACwC,eAAe,CAAC,CAAC;IAEtC,MAAM6E,QAAQ,GAAG,MAAM,IAAI,CAACrH,SAAS,CAACsH,OAAO,CAACP,MAAM,CAAC;IACrD,MAAM,IAAAlD,iDAA6B,EAACwD,QAAQ,EAAE,IAAI,CAACrH,SAAS,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC8D,iBAAiB,CAACiD,MAAM,CAAC;EACtC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMQ,WAAWA,CACfC,QAAgB,EAChBC,QAAgB,EAChB5G,OAA8C,EAClB;IAC5B,MAAM8B,aAAa,GAAG,MAAM,IAAI,CAAC3C,SAAS,CAAC4C,IAAI,CAAC,CAAC;IACjD,MAAM8E,mBAAmB,GAAI9F,KAAa,IAAKA,KAAK,CAAC+F,UAAU,CAAE,GAAEH,QAAS,GAAE,CAAC;IAC/E,MAAM5C,uBAAuB,GAAGjC,aAAa,CAACnE,MAAM,CAAE2E,IAAI,IAAKuE,mBAAmB,CAACvE,IAAI,CAACY,EAAE,CAACnC,KAAK,CAAC,CAAC;IAClG,IAAI,CAACgD,uBAAuB,CAAC9F,MAAM,IAAI,CAAC4I,mBAAmB,CAAC,IAAI,CAAC1H,SAAS,CAAC6E,YAAY,CAAC,EAAE;MACxF,MAAM,KAAIC,oCAAgB,EAAC0C,QAAQ,CAAC;IACtC;IACA;IACA,MAAMlC,QAAQ,GAAGV,uBAAuB,CAACpG,MAAM,CAAE2E,IAAI,IAAK,IAAI,CAACnD,SAAS,CAACuF,UAAU,CAACpC,IAAI,CAACY,EAAE,CAAC,CAAC;IAC7F,IAAIuB,QAAQ,CAACxG,MAAM,EAAE;MACnB,MAAM0G,MAAM,GAAGF,QAAQ,CAACpC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC;MACzD,MAAM,KAAIK,oCAAgB,EAACD,MAAM,CAAC;IACpC;IACA,MAAME,MAAM,GAAGd,uBAAuB,CAACpG,MAAM,CAAE2E,IAAI,IAAKA,IAAI,CAACY,EAAE,CAAC1C,UAAU,CAAC,CAAC,CAAC;IAC7E,IAAIqE,MAAM,CAAC5G,MAAM,EAAE;MACjB,MAAM0G,MAAM,GAAGE,MAAM,CAACxC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC;MACvD,MAAM,KAAIO,gCAAc,EAACH,MAAM,CAAC;IAClC;IACA,MAAMoC,wBAAwB,GAAG,IAAI,CAAC5H,SAAS,CAAC6E,YAAY;IAC5D,MAAMgD,wBAAwB,GAAGH,mBAAmB,CAACE,wBAAwB,CAAC,GAC1E,IAAI,CAACE,sBAAsB,CAACF,wBAAwB,EAAEJ,QAAQ,EAAEC,QAAQ,CAAC,GACzE9F,SAAS;IACb,IAAIkG,wBAAwB,EAAE;MAC5B,MAAM,IAAI,CAAC7H,SAAS,CAAC4F,eAAe,CAACiC,wBAAwB,CAAC;IAChE;IACA,MAAMd,MAAM,GAAGnC,uBAAuB,CAAC1B,GAAG,CAAEC,IAAI,IAAK;MACnD,IAAI0E,wBAAwB,IAAI1E,IAAI,CAACY,EAAE,CAACnC,KAAK,KAAKgG,wBAAwB,EAAE;QAC1E,IAAI,CAAC5H,SAAS,CAACmC,MAAM,CAAC4F,kBAAkB,CAAC5E,IAAI,CAACY,EAAE,CAAC;QACjD,OAAO,KAAIQ,wBAAW,EAACpB,IAAI,CAACY,EAAE,CAACiD,OAAO,EAAEa,wBAAwB,CAAC;MACnE;MACA,MAAMG,YAAY,GAAG,IAAI,CAACF,sBAAsB,CAAC3E,IAAI,CAACY,EAAE,CAACnC,KAAK,EAAE4F,QAAQ,EAAEC,QAAQ,CAAC;MACnF,IAAI,CAACzH,SAAS,CAACmC,MAAM,CAACyD,eAAe,CAACzC,IAAI,CAACY,EAAE,EAAEiE,YAAY,CAAC;MAC5D,OAAO,KAAIzD,wBAAW,EAACpB,IAAI,CAACY,EAAE,CAACiD,OAAO,EAAEgB,YAAY,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,IAAI,CAAChI,SAAS,CAACmC,MAAM,CAACE,KAAK,CAAE,iBAAgBmF,QAAS,OAAMC,QAAS,GAAE,CAAC;IAC9E,MAAMvB,aAA4B,GAAG,EAAE;IACvC,IAAIrF,OAAO,CAAC6B,QAAQ,EAAE;MACpB,MAAMyD,WAAW,GAAGvB,uBAAuB,CAAC1B,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAACzB,KAAK,CAACC,SAAS,CAAC;MACzE,MAAM6C,iBAA6C,GAAGD,WAAW,CAACjD,GAAG,CAAEC,IAAI,IAAK;QAC9E,MAAMwB,QAAQ,GAAG,IAAI,CAACmD,sBAAsB,CAAC3E,IAAI,CAACY,EAAE,CAACnC,KAAK,EAAE4F,QAAQ,EAAEC,QAAQ,CAAC;QAC/E,OAAO;UACLpB,MAAM,EAAE,IAAAC,mCAAwB,EAACnD,IAAI,CAAC;UACtCoD,MAAM,EAAE,IAAAD,mCAAwB,EAAA1H,aAAA,CAAAA,aAAA,KAC3BuE,IAAI;YACPqD,aAAa,EAAE,IAAAC,iDAA8B,EAAC9B,QAAQ,CAAC;YACvDZ,EAAE,EAAEZ,IAAI,CAACY,EAAE;YACXc,YAAY,EAAEF;UAAQ,EACvB;QACH,CAAC;MACH,CAAC,CAAC;MACF,MAAM;QAAE7B;MAAkB,CAAC,GAAG,MAAM,IAAI,CAAC1C,WAAW,CAACuG,sBAAsB,CACzEhE,aAAa,EACbyD,iBAAiB,EACjBvF,OAAO,CAACoH,GAAG,GAAG,CAACrB,+BAAiB,EAAEC,+BAAiB,CAAC,GAAGlF,SACzD,CAAC;MACD,MAAM,IAAI,CAACuG,uCAAuC,CAChDtD,uBAAuB,CAAC1B,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAAChB,EAAE,CAAC,EACxCyD,QAAQ,EACRC,QACF,CAAC;MACD,MAAMzE,OAAO,CAACC,GAAG,CAACH,iBAAiB,CAACI,GAAG,CAAEC,IAAI,IAAK,IAAI,CAACnD,SAAS,CAACqC,KAAK,CAACc,IAAI,CAAC,CAAC,CAAC;MAC9E+C,aAAa,CAACxH,IAAI,CAAC,GAAGoE,iBAAiB,CAACI,GAAG,CAAE6B,CAAC,IAAKA,CAAC,CAAChB,EAAE,CAAC,CAAC;IAC3D;IAEA,MAAM,IAAI,CAACkD,gBAAgB,CAACrC,uBAAuB,EAAEmC,MAAM,CAAC;IAE5D,OAAO;MAAEG,wBAAwB,EAAEtC,uBAAuB,CAAC1B,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACY,EAAE,CAAC;MAAEmC;IAAc,CAAC;EACpG;EAEA,MAAc3D,+BAA+BA,CAACrB,QAAqB,EAAEO,QAAqB,EAAE;IAC1F,MAAMpB,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC8H,eAAe;IAC1C,IAAI,CAAC9H,MAAM,EAAE,MAAM,IAAIW,KAAK,CAAC,gCAAgC,CAAC;IAC9D,MAAMoH,UAAU,GAAG/H,MAAM,CAACgI,oBAAoB,CAC5CnH,QAAQ,CAACoH,sBAAsB,CAAC,CAAC,EACjC7G,QAAQ,CAAC6G,sBAAsB,CAAC,CAClC,CAAC;IACD,IAAIF,UAAU,EAAE,MAAM/H,MAAM,CAACgC,KAAK,CAAC,CAAC;EACtC;EAEA,MAAcyE,uCAAuCA,CAACyB,GAAkB,EAAE5D,QAAgB,EAAE;IAC1F,MAAMtE,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC8H,eAAe;IAC1C,IAAI,CAAC9H,MAAM,EAAE,MAAM,IAAIW,KAAK,CAAC,gCAAgC,CAAC;IAC9D,IAAIoH,UAAU,GAAG,KAAK;IACtBG,GAAG,CAACxJ,OAAO,CAAEgF,EAAE,IAAK;MAClB,MAAMyE,OAAO,GAAGnI,MAAM,CAACgI,oBAAoB,CACzCtE,EAAE,CAACuE,sBAAsB,CAAC,CAAC,EAC3BvE,EAAE,CAAC2C,WAAW,CAAC/B,QAAQ,CAAC,CAAC2D,sBAAsB,CAAC,CAClD,CAAC;MACD,IAAIE,OAAO,EAAEJ,UAAU,GAAG,IAAI;IAChC,CAAC,CAAC;IACF,IAAIA,UAAU,EAAE,MAAM/H,MAAM,CAACgC,KAAK,CAAC,CAAC;EACtC;EAEA,MAAc6F,uCAAuCA,CAACK,GAAkB,EAAEf,QAAgB,EAAEC,QAAgB,EAAE;IAC5G,MAAMpH,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC8H,eAAe;IAC1C,IAAI,CAAC9H,MAAM,EAAE,MAAM,IAAIW,KAAK,CAAC,gCAAgC,CAAC;IAC9D,IAAIoH,UAAU,GAAG,KAAK;IACtBG,GAAG,CAACxJ,OAAO,CAAEgF,EAAE,IAAK;MAClB,MAAMY,QAAQ,GAAG,IAAI,CAACmD,sBAAsB,CAAC/D,EAAE,CAACnC,KAAK,EAAE4F,QAAQ,EAAEC,QAAQ,CAAC;MAC1E,MAAMe,OAAO,GAAGnI,MAAM,CAACgI,oBAAoB,CACzCtE,EAAE,CAACuE,sBAAsB,CAAC,CAAC,EAC3BvE,EAAE,CAAC2C,WAAW,CAAC/B,QAAQ,CAAC,CAAC2D,sBAAsB,CAAC,CAClD,CAAC;MACD,IAAIE,OAAO,EAAEJ,UAAU,GAAG,IAAI;IAChC,CAAC,CAAC;IACF,IAAIA,UAAU,EAAE,MAAM/H,MAAM,CAACgC,KAAK,CAAC,CAAC;EACtC;EAEA,MAAcC,yBAAyBA,CAACmG,WAAmB,EAAE;IAC3D,MAAMC,kBAAE,CAACC,MAAM,CAACC,eAAI,CAACC,IAAI,CAAC,IAAI,CAAC7I,SAAS,CAAC4I,IAAI,EAAE,cAAc,EAAEH,WAAW,CAAC,CAAC;EAC9E;EACA,MAAc3E,iBAAiBA,CAACyE,GAAkB,EAAE;IAClD,IAAI;MACF,MAAM,IAAI,CAAChI,QAAQ,CAACuI,kBAAkB,CAACP,GAAG,CAAC;IAC7C,CAAC,CAAC,OAAOQ,GAAQ,EAAE;MACjB,MAAMvD,MAAM,GAAG+C,GAAG,CAACrF,GAAG,CAAEa,EAAE,IAAKA,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAACyD,IAAI,CAAC,IAAI,CAAC;MACxD,IAAI,CAACrI,MAAM,CAACwI,cAAc,CAAE,qCAAoCxD,MAAO,YAAWuD,GAAG,CAACE,OAAQ,EAAC,CAAC;IAClG;EACF;EAEQnB,sBAAsBA,CAACoB,SAAiB,EAAE1B,QAAgB,EAAEC,QAAgB,EAAU;IAC5F,OAAOyB,SAAS,CAACC,OAAO,CAAE,GAAE3B,QAAS,GAAE,EAAG,GAAEC,QAAS,GAAE,CAAC;EAC1D;EAEA,MAAczF,SAASA,CAACmB,IAAe,EAAE;IACvC,MAAMiG,YAAY,GAAG,MAAM,IAAI,CAAClJ,kBAAkB,CAACmJ,mCAAmC,CAAClG,IAAI,CAAC;IAC5F,OAAAvE,aAAA,CAAAA,aAAA,KACKwK,YAAY;MACf,CAAC/E,0BAAc,CAACN,EAAE,GAAG;QACnBO,WAAW,EAAEnB,IAAI,CAACY,EAAE,CAACuF,QAAQ,CAAC;MAChC;IAAC;EAEL;EAmBA,aAAaC,QAAQA,CAAC,CACpBC,GAAG,EACHxJ,SAAS,EACTG,WAAW,EACXD,kBAAkB,EAClBuJ,aAAa,EACbC,OAAO,EACPtJ,WAAW,EACXH,OAAO,EACPI,MAAM,EACNC,eAAe,EACfC,QAAQ,EACRoJ,UAAU,EACVlJ,IAAI,CAeL,EAAE;IAAA,IAAAmJ,qBAAA,EAAAC,sBAAA;IACD,MAAMrJ,MAAM,GAAGmJ,UAAU,CAACG,YAAY,CAACzF,0BAAc,CAACN,EAAE,CAAC;IACzD,MAAMgG,QAAQ,GAAG,IAAIjK,YAAY,CAC/BE,SAAS,EACTC,OAAO,EACPC,kBAAkB,EAClBC,WAAW,EACXC,WAAW,EACXC,MAAM,EACNC,eAAe,EACfC,QAAQ,EACRC,MAAM,EACNC,IACF,CAAC;IACD+I,GAAG,CAACQ,QAAQ,CAAC,KAAIC,mBAAS,EAACF,QAAQ,CAAC,CAAC;IAErC,MAAMG,YAAY,GAAGV,GAAG,CAACW,UAAU,CAAC,OAAO,CAAC;IAC5CD,YAAY,aAAZA,YAAY,gBAAAN,qBAAA,GAAZM,YAAY,CAAEE,QAAQ,cAAAR,qBAAA,eAAtBA,qBAAA,CAAwBlL,IAAI,CAAC,KAAI2L,6BAAc,EAACN,QAAQ,CAAC,CAAC;IAC1DG,YAAY,aAAZA,YAAY,gBAAAL,sBAAA,GAAZK,YAAY,CAAEE,QAAQ,cAAAP,sBAAA,eAAtBA,sBAAA,CAAwBnL,IAAI,CAAC,KAAI4L,uCAAmB,EAACP,QAAQ,CAAC,CAAC;IAE/DL,OAAO,CAACM,QAAQ,CAAC,IAAAO,2BAAc,EAACR,QAAQ,CAAC,CAAC;IAC1CN,aAAa,CAACe,qBAAqB,CAAC,CAAC,KAAIC,6BAAgB,EAACV,QAAQ,CAAC,CAAC,CAAC;IACrE,OAAOA,QAAQ;EACjB;AACF;AAACW,OAAA,CAAA5K,YAAA,GAAAA,YAAA;AAAAd,eAAA,CA9YYc,YAAY,WAyUR,EAAE;AAAAd,eAAA,CAzUNc,YAAY,kBA0UD,CACpB6K,gBAAS,EACTC,oBAAe,EACfC,gCAAiB,EACjBC,6BAAwB,EACxBC,oBAAe,EACfC,kBAAa,EACbC,sBAAiB,EACjBC,wBAAa,EACbC,sBAAY,EACZC,0BAAqB,EACrBC,0BAAc,EACdC,sBAAY,EACZC,eAAU,CACX;AAAAvM,eAAA,CAxVUc,YAAY,aAyVN0L,kBAAW;AAuD9BnH,0BAAc,CAACoH,UAAU,CAAC3L,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"names":["_componentIdToPackageName","data","_interopRequireDefault","require","_fsExtra","_path","_config","_logger","_workspaceModules","_cli","_component","_interopRequireWildcard","_deprecation","_graphql","_compiler","_envs","_newComponentHelper","_refactoring","_componentWriter","_componentConfig","_workspace","_typescript","_install","_legacyBitId","_rename","_renaming","_renaming2","_renaming3","_scopeRename","_oldScopeNotFound","_oldScopeExported","_oldScopeTagged","_scopeRenameOwner","_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","RenamingMain","constructor","workspace","install","newComponentHelper","deprecation","refactoring","config","componentWriter","compiler","logger","envs","rename","sourceIdStr","targetName","options","isValidIdChunk","includes","Error","InvalidName","sourceId","resolveComponentId","isTagged","hasVersion","sourceComp","sourcePackageName","componentPackageName","targetId","getNewComponentId","undefined","scope","preserve","refactorVariableAndClasses","refactorFilenames","getConfig","writeAndAddNewComp","deprecate","bitMap","renameNewComponent","write","deleteLinkFromNodeModules","renameAspectIdInWorkspaceConfig","_reloadConsumer","targetComp","refactor","allComponents","list","targetPackageName","changedComponents","refactorDependencyName","Promise","all","map","comp","writeMany","components","state","_consumer","skipDependencyInstallation","writeToPath","getNewComponentPath","reasonForBitmapChange","renameAspectInConfig","linkToNodeModulesByComponents","compileGracefully","id","getRenamingInfo","component","renameConfig","aspects","RenamingAspect","renamedFrom","ComponentID","fromObject","renameScope","oldScope","newScope","componentsUsingOldScope","defaultScope","OldScopeNotFound","c","isEnv","compsUsingEnv","env","getComponentsUsingEnv","toString","componentIds","exported","isExported","idsStr","OldScopeExported","tagged","OldScopeTagged","setDefaultScope","clearCache","newEnvId","changeDefaultScope","newComponentIds","setEnvToComponents","refactoredIds","legacyComps","packagesToReplace","oldStr","componentIdToPackageName","newStr","bindingPrefix","getBindingPrefixByDefaultScope","changeScope","replaceMultipleStrings","importTransformer","exportTransformer","renameScopeOfAspectIdsInWorkspaceConfig","newIds","_legacy","relinkAndCompile","scopeRenamedComponentIds","debug","pkgName","newComps","getMany","renameOwner","oldOwner","newOwner","isScopeUsesOldOwner","startsWith","oldWorkspaceDefaultScope","newWorkspaceDefaultScope","renameOwnerInScopeName","removeDefaultScope","newCompScope","ast","renameOwnerOfAspectIdsInWorkspaceConfig","workspaceConfig","hasChanged","renameExtensionInRaw","toStringWithoutVersion","ids","changed","packageName","fs","remove","path","join","compileOnWorkspace","err","consoleFailure","message","scopeName","replace","fromExisting","getConfigFromExistingToNewComponent","toObject","provider","cli","componentMain","graphql","loggerMain","createLogger","renaming","register","RenameCmd","scopeCommand","getCommand","commands","ScopeRenameCmd","ScopeRenameOwnerCmd","renamingSchema","registerShowFragments","RenamingFragment","exports","CLIAspect","WorkspaceAspect","DeprecationAspect","NewComponentHelperAspect","ComponentAspect","GraphqlAspect","RefactoringAspect","InstallAspect","ConfigAspect","ComponentWriterAspect","CompilerAspect","LoggerAspect","EnvsAspect","MainRuntime","addRuntime"],"sources":["renaming.main.runtime.ts"],"sourcesContent":["import componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { ConfigAspect, ConfigMain } from '@teambit/config';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';\nimport { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport EnvsAspect, { EnvsMain } from '@teambit/envs';\nimport NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';\nimport RefactoringAspect, { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';\nimport ComponentWriterAspect, { ComponentWriterMain } from '@teambit/component-writer';\nimport { getBindingPrefixByDefaultScope } from '@teambit/legacy/dist/consumer/config/component-config';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { importTransformer, exportTransformer } from '@teambit/typescript';\nimport { InstallMain, InstallAspect } from '@teambit/install';\nimport { isValidIdChunk, InvalidName } from '@teambit/legacy-bit-id';\nimport { RenameCmd, RenameOptions } from './rename.cmd';\nimport { RenamingAspect } from './renaming.aspect';\nimport { RenamingFragment } from './renaming.fragment';\nimport { renamingSchema } from './renaming.graphql';\nimport { ScopeRenameCmd } from './scope-rename.cmd';\nimport { OldScopeNotFound } from './exceptions/old-scope-not-found';\nimport { OldScopeExported } from './exceptions/old-scope-exported';\nimport { OldScopeTagged } from './exceptions/old-scope-tagged';\nimport { ScopeRenameOwnerCmd } from './scope-rename-owner.cmd';\n\nexport class RenamingMain {\n constructor(\n private workspace: Workspace,\n private install: InstallMain,\n private newComponentHelper: NewComponentHelperMain,\n private deprecation: DeprecationMain,\n private refactoring: RefactoringMain,\n private config: ConfigMain,\n private componentWriter: ComponentWriterMain,\n private compiler: CompilerMain,\n private logger: Logger,\n private envs: EnvsMain\n ) {}\n\n async rename(sourceIdStr: string, targetName: string, options: RenameOptions): Promise<RenameDependencyNameResult> {\n if (!isValidIdChunk(targetName)) {\n if (targetName.includes('.'))\n throw new Error(`error: new-name argument \"${targetName}\" includes a dot.\nmake sure this argument is the name only, without the scope-name. to change the scope-name, use --scope flag`);\n throw new InvalidName(targetName);\n }\n const sourceId = await this.workspace.resolveComponentId(sourceIdStr);\n const isTagged = sourceId.hasVersion();\n const sourceComp = await this.workspace.get(sourceId);\n const sourcePackageName = this.workspace.componentPackageName(sourceComp);\n const targetId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope || sourceId.scope);\n if (!options.preserve) {\n await this.refactoring.refactorVariableAndClasses(sourceComp, sourceId, targetId);\n this.refactoring.refactorFilenames(sourceComp, sourceId, targetId);\n }\n if (isTagged) {\n const config = await this.getConfig(sourceComp);\n await this.newComponentHelper.writeAndAddNewComp(sourceComp, targetId, options, config);\n await this.deprecation.deprecate(sourceId, targetId);\n } else {\n this.workspace.bitMap.renameNewComponent(sourceId, targetId);\n await this.workspace.bitMap.write(`rename (${sourceIdStr} to ${targetName})`);\n await this.deleteLinkFromNodeModules(sourcePackageName);\n }\n await this.renameAspectIdInWorkspaceConfig(sourceId, targetId);\n await this.workspace._reloadConsumer(); // in order to reload .bitmap file and clear all caches.\n const targetComp = await this.workspace.get(targetId);\n if (options.refactor) {\n const allComponents = await this.workspace.list();\n const targetPackageName = this.workspace.componentPackageName(targetComp);\n const { changedComponents } = await this.refactoring.refactorDependencyName(\n allComponents,\n sourcePackageName,\n targetPackageName\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n }\n\n // only write if it is not tagged, since we writeAndAddNewComp for tagged components\n if (!isTagged && !options.preserve) {\n await this.refactoring.refactorVariableAndClasses(targetComp, sourceId, targetId, options);\n this.refactoring.refactorFilenames(targetComp, sourceId, targetId);\n await this.componentWriter.writeMany({\n components: [targetComp.state._consumer],\n skipDependencyInstallation: true,\n writeToPath: this.newComponentHelper.getNewComponentPath(targetId),\n reasonForBitmapChange: 'rename',\n });\n }\n\n this.workspace.bitMap.renameAspectInConfig(sourceId, targetId);\n await this.workspace.bitMap.write(`rename (${sourceIdStr} to ${targetName})`);\n\n await linkToNodeModulesByComponents([targetComp], this.workspace); // link the new-name to node-modules\n await this.compileGracefully([targetComp.id]);\n\n return {\n sourceId,\n targetId,\n };\n }\n\n getRenamingInfo(component: Component): RenamingInfo | null {\n const renameConfig = component.state.aspects.get(RenamingAspect.id)?.config as RenamingInfo | undefined;\n if (!renameConfig) return null;\n return {\n renamedFrom: ComponentID.fromObject(renameConfig.renamedFrom),\n };\n }\n\n /**\n * change the default-scope for new components. optionally (if refactor is true), change the source code to match the\n * new scope-name.\n * keep in mind that this is working for new components only, for tagged/exported it's impossible. See the errors\n * thrown in such cases in this method.\n */\n async renameScope(oldScope: string, newScope: string, options: { refactor?: boolean }): Promise<RenameScopeResult> {\n const allComponents = await this.workspace.list();\n const componentsUsingOldScope = allComponents.filter((comp) => comp.id.scope === oldScope);\n if (!componentsUsingOldScope.length && this.workspace.defaultScope !== oldScope) {\n throw new OldScopeNotFound(oldScope);\n }\n const envs = componentsUsingOldScope.filter((c) => this.envs.isEnv(c));\n const compsUsingEnv: { [envIdStr: string]: ComponentID[] } = {};\n await Promise.all(\n envs.map(async (env) => {\n const components = await this.workspace.getComponentsUsingEnv(env.id.toString(), true);\n if (!components.length) return;\n const componentIds = components.map((comp) => comp.id);\n compsUsingEnv[env.id.toString()] = componentIds;\n })\n );\n\n // verify they're all new.\n const exported = componentsUsingOldScope.filter((comp) => this.workspace.isExported(comp.id));\n if (exported.length) {\n const idsStr = exported.map((comp) => comp.id.toString());\n throw new OldScopeExported(idsStr);\n }\n const tagged = componentsUsingOldScope.filter((comp) => comp.id.hasVersion());\n if (tagged.length) {\n const idsStr = tagged.map((comp) => comp.id.toString());\n throw new OldScopeTagged(idsStr);\n }\n if (this.workspace.defaultScope === oldScope) {\n await this.workspace.setDefaultScope(newScope);\n }\n componentsUsingOldScope.forEach((comp) => this.workspace.bitMap.setDefaultScope(comp.id, newScope));\n await this.workspace.bitMap.write(`rename-scope (${oldScope} to ${newScope})`);\n await this.workspace.clearCache();\n\n await Promise.all(\n envs.map(async (env) => {\n const componentIds = compsUsingEnv[env.id.toString()];\n if (!componentIds?.length) return;\n const newEnvId = env.id.changeDefaultScope(newScope);\n const newComponentIds = componentIds.map((id) => id.changeDefaultScope(newScope));\n await this.workspace.setEnvToComponents(newEnvId, newComponentIds);\n })\n );\n\n const refactoredIds: ComponentID[] = [];\n if (options.refactor) {\n const legacyComps = componentsUsingOldScope.map((c) => c.state._consumer);\n const packagesToReplace: MultipleStringsReplacement = legacyComps.map((comp) => {\n return {\n oldStr: componentIdToPackageName(comp),\n newStr: componentIdToPackageName({\n ...comp,\n bindingPrefix: getBindingPrefixByDefaultScope(newScope),\n id: comp.id.changeScope(newScope),\n }),\n };\n });\n\n const { changedComponents } = await this.refactoring.replaceMultipleStrings(allComponents, packagesToReplace, [\n importTransformer,\n exportTransformer,\n ]);\n await this.renameScopeOfAspectIdsInWorkspaceConfig(\n componentsUsingOldScope.map((c) => c.id),\n newScope\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n refactoredIds.push(...changedComponents.map((c) => c.id));\n }\n\n const newIds = componentsUsingOldScope.map((comp) => new ComponentID(comp.id._legacy, newScope));\n await this.relinkAndCompile(componentsUsingOldScope, newIds);\n\n return { scopeRenamedComponentIds: componentsUsingOldScope.map((comp) => comp.id), refactoredIds };\n }\n\n private async relinkAndCompile(componentsUsingOldScope: Component[], newIds: ComponentID[]) {\n this.logger.debug(`the scope has been renamed, re-linking to node-modules`);\n await Promise.all(\n componentsUsingOldScope.map(async (comp) => {\n const pkgName = this.workspace.componentPackageName(comp);\n await this.deleteLinkFromNodeModules(pkgName);\n })\n );\n\n await this.workspace.clearCache();\n await this.workspace._reloadConsumer();\n\n const newComps = await this.workspace.getMany(newIds);\n await linkToNodeModulesByComponents(newComps, this.workspace); // link the new-name to node-modules\n await this.compileGracefully(newIds);\n }\n\n /**\n * change the default-scope for new components. optionally (if refactor is true), change the source code to match the\n * new scope-name.\n * keep in mind that this is working for new components only, for tagged/exported it's impossible. See the errors\n * thrown in such cases in this method.\n */\n async renameOwner(\n oldOwner: string,\n newOwner: string,\n options: { refactor?: boolean; ast?: boolean }\n ): Promise<RenameScopeResult> {\n const allComponents = await this.workspace.list();\n const isScopeUsesOldOwner = (scope: string) => scope.startsWith(`${oldOwner}.`);\n const componentsUsingOldScope = allComponents.filter((comp) => isScopeUsesOldOwner(comp.id.scope));\n if (!componentsUsingOldScope.length && !isScopeUsesOldOwner(this.workspace.defaultScope)) {\n throw new OldScopeNotFound(oldOwner);\n }\n // verify they're all new.\n const exported = componentsUsingOldScope.filter((comp) => this.workspace.isExported(comp.id));\n if (exported.length) {\n const idsStr = exported.map((comp) => comp.id.toString());\n throw new OldScopeExported(idsStr);\n }\n const tagged = componentsUsingOldScope.filter((comp) => comp.id.hasVersion());\n if (tagged.length) {\n const idsStr = tagged.map((comp) => comp.id.toString());\n throw new OldScopeTagged(idsStr);\n }\n const oldWorkspaceDefaultScope = this.workspace.defaultScope;\n const newWorkspaceDefaultScope = isScopeUsesOldOwner(oldWorkspaceDefaultScope)\n ? this.renameOwnerInScopeName(oldWorkspaceDefaultScope, oldOwner, newOwner)\n : undefined;\n if (newWorkspaceDefaultScope) {\n await this.workspace.setDefaultScope(newWorkspaceDefaultScope);\n }\n const newIds = componentsUsingOldScope.map((comp) => {\n if (newWorkspaceDefaultScope && comp.id.scope === oldWorkspaceDefaultScope) {\n this.workspace.bitMap.removeDefaultScope(comp.id);\n return new ComponentID(comp.id._legacy, newWorkspaceDefaultScope);\n }\n const newCompScope = this.renameOwnerInScopeName(comp.id.scope, oldOwner, newOwner);\n this.workspace.bitMap.setDefaultScope(comp.id, newCompScope);\n return new ComponentID(comp.id._legacy, newCompScope);\n });\n await this.workspace.bitMap.write(`rename-owner (${oldOwner} to ${newOwner})`);\n const refactoredIds: ComponentID[] = [];\n if (options.refactor) {\n const legacyComps = componentsUsingOldScope.map((c) => c.state._consumer);\n const packagesToReplace: MultipleStringsReplacement = legacyComps.map((comp) => {\n const newScope = this.renameOwnerInScopeName(comp.id.scope, oldOwner, newOwner);\n return {\n oldStr: componentIdToPackageName(comp),\n newStr: componentIdToPackageName({\n ...comp,\n bindingPrefix: getBindingPrefixByDefaultScope(newScope),\n id: comp.id,\n defaultScope: newScope,\n }),\n };\n });\n const { changedComponents } = await this.refactoring.replaceMultipleStrings(\n allComponents,\n packagesToReplace,\n options.ast ? [importTransformer, exportTransformer] : undefined\n );\n await this.renameOwnerOfAspectIdsInWorkspaceConfig(\n componentsUsingOldScope.map((c) => c.id),\n oldOwner,\n newOwner\n );\n await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));\n refactoredIds.push(...changedComponents.map((c) => c.id));\n }\n\n await this.relinkAndCompile(componentsUsingOldScope, newIds);\n\n return { scopeRenamedComponentIds: componentsUsingOldScope.map((comp) => comp.id), refactoredIds };\n }\n\n private async renameAspectIdInWorkspaceConfig(sourceId: ComponentID, targetId: ComponentID) {\n const config = this.config.workspaceConfig;\n if (!config) throw new Error('unable to get workspace config');\n const hasChanged = config.renameExtensionInRaw(\n sourceId.toStringWithoutVersion(),\n targetId.toStringWithoutVersion()\n );\n if (hasChanged) await config.write();\n }\n\n private async renameScopeOfAspectIdsInWorkspaceConfig(ids: ComponentID[], newScope: string) {\n const config = this.config.workspaceConfig;\n if (!config) throw new Error('unable to get workspace config');\n let hasChanged = false;\n ids.forEach((id) => {\n const changed = config.renameExtensionInRaw(\n id.toStringWithoutVersion(),\n id.changeScope(newScope).toStringWithoutVersion()\n );\n if (changed) hasChanged = true;\n });\n if (hasChanged) await config.write();\n }\n\n private async renameOwnerOfAspectIdsInWorkspaceConfig(ids: ComponentID[], oldOwner: string, newOwner: string) {\n const config = this.config.workspaceConfig;\n if (!config) throw new Error('unable to get workspace config');\n let hasChanged = false;\n ids.forEach((id) => {\n const newScope = this.renameOwnerInScopeName(id.scope, oldOwner, newOwner);\n const changed = config.renameExtensionInRaw(\n id.toStringWithoutVersion(),\n id.changeScope(newScope).toStringWithoutVersion()\n );\n if (changed) hasChanged = true;\n });\n if (hasChanged) await config.write();\n }\n\n private async deleteLinkFromNodeModules(packageName: string) {\n await fs.remove(path.join(this.workspace.path, 'node_modules', packageName));\n }\n private async compileGracefully(ids: ComponentID[]) {\n try {\n await this.compiler.compileOnWorkspace(ids);\n } catch (err: any) {\n const idsStr = ids.map((id) => id.toString()).join(', ');\n this.logger.consoleFailure(`failed compiling the component(s) ${idsStr}. error: ${err.message}`);\n }\n }\n\n private renameOwnerInScopeName(scopeName: string, oldOwner: string, newOwner: string): string {\n return scopeName.replace(`${oldOwner}.`, `${newOwner}.`);\n }\n\n private async getConfig(comp: Component) {\n const fromExisting = await this.newComponentHelper.getConfigFromExistingToNewComponent(comp);\n return {\n ...fromExisting,\n [RenamingAspect.id]: {\n renamedFrom: comp.id.toObject(),\n },\n };\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n DeprecationAspect,\n NewComponentHelperAspect,\n ComponentAspect,\n GraphqlAspect,\n RefactoringAspect,\n InstallAspect,\n ConfigAspect,\n ComponentWriterAspect,\n CompilerAspect,\n LoggerAspect,\n EnvsAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n deprecation,\n newComponentHelper,\n componentMain,\n graphql,\n refactoring,\n install,\n config,\n componentWriter,\n compiler,\n loggerMain,\n envs,\n ]: [\n CLIMain,\n Workspace,\n DeprecationMain,\n NewComponentHelperMain,\n ComponentMain,\n GraphqlMain,\n RefactoringMain,\n InstallMain,\n ConfigMain,\n ComponentWriterMain,\n CompilerMain,\n LoggerMain,\n EnvsMain\n ]) {\n const logger = loggerMain.createLogger(RenamingAspect.id);\n const renaming = new RenamingMain(\n workspace,\n install,\n newComponentHelper,\n deprecation,\n refactoring,\n config,\n componentWriter,\n compiler,\n logger,\n envs\n );\n cli.register(new RenameCmd(renaming));\n\n const scopeCommand = cli.getCommand('scope');\n scopeCommand?.commands?.push(new ScopeRenameCmd(renaming));\n scopeCommand?.commands?.push(new ScopeRenameOwnerCmd(renaming));\n\n graphql.register(renamingSchema(renaming));\n componentMain.registerShowFragments([new RenamingFragment(renaming)]);\n return renaming;\n }\n}\n\nRenamingAspect.addRuntime(RenamingMain);\n\nexport type RenameDependencyNameResult = { sourceId: ComponentID; targetId: ComponentID };\n\nexport type RenamingInfo = {\n renamedFrom: ComponentID;\n};\n\nexport type RenameScopeResult = { scopeRenamedComponentIds: ComponentID[]; refactoredIds: ComponentID[] };\n"],"mappings":"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"}
|
package/index.ts
ADDED
package/package.json
CHANGED
|
@@ -1,51 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/renaming",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.108",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/renaming",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "renaming",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.108"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
13
13
|
"graphql-tag": "2.12.1",
|
|
14
14
|
"fs-extra": "10.0.0",
|
|
15
|
-
"core-js": "^3.0.0",
|
|
16
|
-
"@babel/runtime": "7.20.0",
|
|
17
15
|
"@teambit/harmony": "0.4.6",
|
|
18
16
|
"@teambit/legacy-bit-id": "1.1.0",
|
|
19
17
|
"@teambit/bit-error": "0.0.404",
|
|
20
|
-
"@teambit/cli": "0.0.
|
|
21
|
-
"@teambit/component": "1.0.
|
|
22
|
-
"@teambit/graphql": "1.0.
|
|
23
|
-
"@teambit/compiler": "1.0.
|
|
24
|
-
"@teambit/component-writer": "1.0.
|
|
25
|
-
"@teambit/config": "0.0.
|
|
26
|
-
"@teambit/deprecation": "1.0.
|
|
27
|
-
"@teambit/envs": "1.0.
|
|
28
|
-
"@teambit/install": "1.0.
|
|
29
|
-
"@teambit/logger": "0.0.
|
|
30
|
-
"@teambit/new-component-helper": "1.0.
|
|
31
|
-
"@teambit/refactoring": "1.0.
|
|
32
|
-
"@teambit/typescript": "1.0.
|
|
33
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
|
34
|
-
"@teambit/workspace": "1.0.
|
|
18
|
+
"@teambit/cli": "0.0.840",
|
|
19
|
+
"@teambit/component": "1.0.108",
|
|
20
|
+
"@teambit/graphql": "1.0.108",
|
|
21
|
+
"@teambit/compiler": "1.0.108",
|
|
22
|
+
"@teambit/component-writer": "1.0.108",
|
|
23
|
+
"@teambit/config": "0.0.859",
|
|
24
|
+
"@teambit/deprecation": "1.0.108",
|
|
25
|
+
"@teambit/envs": "1.0.108",
|
|
26
|
+
"@teambit/install": "1.0.108",
|
|
27
|
+
"@teambit/logger": "0.0.933",
|
|
28
|
+
"@teambit/new-component-helper": "1.0.108",
|
|
29
|
+
"@teambit/refactoring": "1.0.108",
|
|
30
|
+
"@teambit/typescript": "1.0.108",
|
|
31
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.158",
|
|
32
|
+
"@teambit/workspace": "1.0.108"
|
|
35
33
|
},
|
|
36
34
|
"devDependencies": {
|
|
37
|
-
"@types/react": "^17.0.8",
|
|
38
35
|
"@types/fs-extra": "9.0.7",
|
|
39
36
|
"@types/mocha": "9.1.0",
|
|
40
|
-
"@types/
|
|
41
|
-
"@types/
|
|
42
|
-
"@
|
|
43
|
-
"@types/testing-library__jest-dom": "5.9.5"
|
|
37
|
+
"@types/jest": "^29.2.2",
|
|
38
|
+
"@types/testing-library__jest-dom": "^5.9.5",
|
|
39
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.13"
|
|
44
40
|
},
|
|
45
41
|
"peerDependencies": {
|
|
46
|
-
"
|
|
47
|
-
"react": "^
|
|
48
|
-
"
|
|
42
|
+
"react": "^17.0.0 || ^18.0.0",
|
|
43
|
+
"@types/react": "^18.2.12",
|
|
44
|
+
"@teambit/legacy": "1.0.624"
|
|
49
45
|
},
|
|
50
46
|
"license": "Apache-2.0",
|
|
51
47
|
"optionalDependencies": {},
|
|
@@ -59,7 +55,7 @@
|
|
|
59
55
|
},
|
|
60
56
|
"private": false,
|
|
61
57
|
"engines": {
|
|
62
|
-
"node": ">=
|
|
58
|
+
"node": ">=16.0.0"
|
|
63
59
|
},
|
|
64
60
|
"repository": {
|
|
65
61
|
"type": "git",
|
|
@@ -68,12 +64,9 @@
|
|
|
68
64
|
"keywords": [
|
|
69
65
|
"bit",
|
|
70
66
|
"bit-aspect",
|
|
67
|
+
"bit-core-aspect",
|
|
71
68
|
"components",
|
|
72
69
|
"collaboration",
|
|
73
|
-
"web"
|
|
74
|
-
"react",
|
|
75
|
-
"react-components",
|
|
76
|
-
"angular",
|
|
77
|
-
"angular-components"
|
|
70
|
+
"web"
|
|
78
71
|
]
|
|
79
72
|
}
|
package/rename.cmd.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
3
|
+
import { RenamingMain } from '.';
|
|
4
|
+
|
|
5
|
+
export type RenameOptions = {
|
|
6
|
+
scope?: string;
|
|
7
|
+
path?: string;
|
|
8
|
+
refactor?: boolean;
|
|
9
|
+
preserve?: boolean;
|
|
10
|
+
ast?: boolean;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export class RenameCmd implements Command {
|
|
14
|
+
name = 'rename <current-name> <new-name>';
|
|
15
|
+
description =
|
|
16
|
+
'rename component. if tagged/exported, create a new component and deprecate the original component. otherwise just renames current component';
|
|
17
|
+
helpUrl = 'reference/components/renaming-components';
|
|
18
|
+
arguments = [
|
|
19
|
+
{
|
|
20
|
+
name: 'current-name',
|
|
21
|
+
description: 'the current component name (without its scope name)',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'new-name',
|
|
25
|
+
description: "the new component name (without its scope name. use --scope to define the new component's scope)",
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
group = 'collaborate';
|
|
29
|
+
skipWorkspace = true;
|
|
30
|
+
alias = '';
|
|
31
|
+
options = [
|
|
32
|
+
['s', 'scope <scope-name>', 'define the scope for the newly created component'],
|
|
33
|
+
[
|
|
34
|
+
'p',
|
|
35
|
+
'path <relative-path>',
|
|
36
|
+
'relative path in the workspace to place new component in. by default, the directory of the new component is from your workspace\'s "defaultScope" value',
|
|
37
|
+
],
|
|
38
|
+
['r', 'refactor', 'update the import/require statements in all dependent components (in the same workspace)'],
|
|
39
|
+
['', 'preserve', 'avoid renaming files and variables/classes according to the new component name'],
|
|
40
|
+
['', 'ast', 'EXPERIMENTAL. use ast to transform files instead of regex'],
|
|
41
|
+
] as CommandOptions;
|
|
42
|
+
loader = true;
|
|
43
|
+
migration = true;
|
|
44
|
+
remoteOp = true;
|
|
45
|
+
|
|
46
|
+
constructor(private renaming: RenamingMain) {}
|
|
47
|
+
|
|
48
|
+
async report([sourceId, targetId]: [string, string], options: RenameOptions): Promise<string> {
|
|
49
|
+
const results = await this.renaming.rename(sourceId, targetId, options);
|
|
50
|
+
return chalk.green(
|
|
51
|
+
`successfully renamed ${chalk.bold(results.sourceId.toString())} to ${chalk.bold(results.targetId.toString())}`
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, ShowFragment } from '@teambit/component';
|
|
2
|
+
import { RenamingMain } from './renaming.main.runtime';
|
|
3
|
+
|
|
4
|
+
export class RenamingFragment implements ShowFragment {
|
|
5
|
+
constructor(private renaming: RenamingMain) {}
|
|
6
|
+
|
|
7
|
+
title = 'renaming';
|
|
8
|
+
|
|
9
|
+
async renderRow(component: Component) {
|
|
10
|
+
const renamingInfo = this.renaming.getRenamingInfo(component);
|
|
11
|
+
const content = renamingInfo ? `origin: ${renamingInfo.renamedFrom.toString()}` : '';
|
|
12
|
+
return {
|
|
13
|
+
title: this.title,
|
|
14
|
+
content,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async json(component: Component) {
|
|
19
|
+
return {
|
|
20
|
+
title: this.title,
|
|
21
|
+
json: this.renaming.getRenamingInfo(component),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
weight = 3;
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component } from '@teambit/component';
|
|
2
|
+
import { Schema } from '@teambit/graphql';
|
|
3
|
+
import gql from 'graphql-tag';
|
|
4
|
+
import { RenamingMain } from './renaming.main.runtime';
|
|
5
|
+
|
|
6
|
+
export function renamingSchema(renaming: RenamingMain): Schema {
|
|
7
|
+
return {
|
|
8
|
+
typeDefs: gql`
|
|
9
|
+
extend type Component {
|
|
10
|
+
renaming: RenamingInfo
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type RenamingInfo {
|
|
14
|
+
renamedFrom: String
|
|
15
|
+
}
|
|
16
|
+
`,
|
|
17
|
+
resolvers: {
|
|
18
|
+
Component: {
|
|
19
|
+
renaming: (component: Component) => {
|
|
20
|
+
const renamingInfo = renaming.getRenamingInfo(component);
|
|
21
|
+
return {
|
|
22
|
+
renamedFrom: renamingInfo?.renamedFrom.toString(),
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
import componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { ConfigAspect, ConfigMain } from '@teambit/config';
|
|
5
|
+
import { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';
|
|
6
|
+
import { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';
|
|
7
|
+
import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';
|
|
8
|
+
import ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';
|
|
9
|
+
import { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';
|
|
10
|
+
import GraphqlAspect, { GraphqlMain } from '@teambit/graphql';
|
|
11
|
+
import { CompilerAspect, CompilerMain } from '@teambit/compiler';
|
|
12
|
+
import EnvsAspect, { EnvsMain } from '@teambit/envs';
|
|
13
|
+
import NewComponentHelperAspect, { NewComponentHelperMain } from '@teambit/new-component-helper';
|
|
14
|
+
import RefactoringAspect, { MultipleStringsReplacement, RefactoringMain } from '@teambit/refactoring';
|
|
15
|
+
import ComponentWriterAspect, { ComponentWriterMain } from '@teambit/component-writer';
|
|
16
|
+
import { getBindingPrefixByDefaultScope } from '@teambit/legacy/dist/consumer/config/component-config';
|
|
17
|
+
import WorkspaceAspect, { Workspace } from '@teambit/workspace';
|
|
18
|
+
import { importTransformer, exportTransformer } from '@teambit/typescript';
|
|
19
|
+
import { InstallMain, InstallAspect } from '@teambit/install';
|
|
20
|
+
import { isValidIdChunk, InvalidName } from '@teambit/legacy-bit-id';
|
|
21
|
+
import { RenameCmd, RenameOptions } from './rename.cmd';
|
|
22
|
+
import { RenamingAspect } from './renaming.aspect';
|
|
23
|
+
import { RenamingFragment } from './renaming.fragment';
|
|
24
|
+
import { renamingSchema } from './renaming.graphql';
|
|
25
|
+
import { ScopeRenameCmd } from './scope-rename.cmd';
|
|
26
|
+
import { OldScopeNotFound } from './exceptions/old-scope-not-found';
|
|
27
|
+
import { OldScopeExported } from './exceptions/old-scope-exported';
|
|
28
|
+
import { OldScopeTagged } from './exceptions/old-scope-tagged';
|
|
29
|
+
import { ScopeRenameOwnerCmd } from './scope-rename-owner.cmd';
|
|
30
|
+
|
|
31
|
+
export class RenamingMain {
|
|
32
|
+
constructor(
|
|
33
|
+
private workspace: Workspace,
|
|
34
|
+
private install: InstallMain,
|
|
35
|
+
private newComponentHelper: NewComponentHelperMain,
|
|
36
|
+
private deprecation: DeprecationMain,
|
|
37
|
+
private refactoring: RefactoringMain,
|
|
38
|
+
private config: ConfigMain,
|
|
39
|
+
private componentWriter: ComponentWriterMain,
|
|
40
|
+
private compiler: CompilerMain,
|
|
41
|
+
private logger: Logger,
|
|
42
|
+
private envs: EnvsMain
|
|
43
|
+
) {}
|
|
44
|
+
|
|
45
|
+
async rename(sourceIdStr: string, targetName: string, options: RenameOptions): Promise<RenameDependencyNameResult> {
|
|
46
|
+
if (!isValidIdChunk(targetName)) {
|
|
47
|
+
if (targetName.includes('.'))
|
|
48
|
+
throw new Error(`error: new-name argument "${targetName}" includes a dot.
|
|
49
|
+
make sure this argument is the name only, without the scope-name. to change the scope-name, use --scope flag`);
|
|
50
|
+
throw new InvalidName(targetName);
|
|
51
|
+
}
|
|
52
|
+
const sourceId = await this.workspace.resolveComponentId(sourceIdStr);
|
|
53
|
+
const isTagged = sourceId.hasVersion();
|
|
54
|
+
const sourceComp = await this.workspace.get(sourceId);
|
|
55
|
+
const sourcePackageName = this.workspace.componentPackageName(sourceComp);
|
|
56
|
+
const targetId = this.newComponentHelper.getNewComponentId(targetName, undefined, options?.scope || sourceId.scope);
|
|
57
|
+
if (!options.preserve) {
|
|
58
|
+
await this.refactoring.refactorVariableAndClasses(sourceComp, sourceId, targetId);
|
|
59
|
+
this.refactoring.refactorFilenames(sourceComp, sourceId, targetId);
|
|
60
|
+
}
|
|
61
|
+
if (isTagged) {
|
|
62
|
+
const config = await this.getConfig(sourceComp);
|
|
63
|
+
await this.newComponentHelper.writeAndAddNewComp(sourceComp, targetId, options, config);
|
|
64
|
+
await this.deprecation.deprecate(sourceId, targetId);
|
|
65
|
+
} else {
|
|
66
|
+
this.workspace.bitMap.renameNewComponent(sourceId, targetId);
|
|
67
|
+
await this.workspace.bitMap.write(`rename (${sourceIdStr} to ${targetName})`);
|
|
68
|
+
await this.deleteLinkFromNodeModules(sourcePackageName);
|
|
69
|
+
}
|
|
70
|
+
await this.renameAspectIdInWorkspaceConfig(sourceId, targetId);
|
|
71
|
+
await this.workspace._reloadConsumer(); // in order to reload .bitmap file and clear all caches.
|
|
72
|
+
const targetComp = await this.workspace.get(targetId);
|
|
73
|
+
if (options.refactor) {
|
|
74
|
+
const allComponents = await this.workspace.list();
|
|
75
|
+
const targetPackageName = this.workspace.componentPackageName(targetComp);
|
|
76
|
+
const { changedComponents } = await this.refactoring.refactorDependencyName(
|
|
77
|
+
allComponents,
|
|
78
|
+
sourcePackageName,
|
|
79
|
+
targetPackageName
|
|
80
|
+
);
|
|
81
|
+
await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// only write if it is not tagged, since we writeAndAddNewComp for tagged components
|
|
85
|
+
if (!isTagged && !options.preserve) {
|
|
86
|
+
await this.refactoring.refactorVariableAndClasses(targetComp, sourceId, targetId, options);
|
|
87
|
+
this.refactoring.refactorFilenames(targetComp, sourceId, targetId);
|
|
88
|
+
await this.componentWriter.writeMany({
|
|
89
|
+
components: [targetComp.state._consumer],
|
|
90
|
+
skipDependencyInstallation: true,
|
|
91
|
+
writeToPath: this.newComponentHelper.getNewComponentPath(targetId),
|
|
92
|
+
reasonForBitmapChange: 'rename',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
this.workspace.bitMap.renameAspectInConfig(sourceId, targetId);
|
|
97
|
+
await this.workspace.bitMap.write(`rename (${sourceIdStr} to ${targetName})`);
|
|
98
|
+
|
|
99
|
+
await linkToNodeModulesByComponents([targetComp], this.workspace); // link the new-name to node-modules
|
|
100
|
+
await this.compileGracefully([targetComp.id]);
|
|
101
|
+
|
|
102
|
+
return {
|
|
103
|
+
sourceId,
|
|
104
|
+
targetId,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
getRenamingInfo(component: Component): RenamingInfo | null {
|
|
109
|
+
const renameConfig = component.state.aspects.get(RenamingAspect.id)?.config as RenamingInfo | undefined;
|
|
110
|
+
if (!renameConfig) return null;
|
|
111
|
+
return {
|
|
112
|
+
renamedFrom: ComponentID.fromObject(renameConfig.renamedFrom),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* change the default-scope for new components. optionally (if refactor is true), change the source code to match the
|
|
118
|
+
* new scope-name.
|
|
119
|
+
* keep in mind that this is working for new components only, for tagged/exported it's impossible. See the errors
|
|
120
|
+
* thrown in such cases in this method.
|
|
121
|
+
*/
|
|
122
|
+
async renameScope(oldScope: string, newScope: string, options: { refactor?: boolean }): Promise<RenameScopeResult> {
|
|
123
|
+
const allComponents = await this.workspace.list();
|
|
124
|
+
const componentsUsingOldScope = allComponents.filter((comp) => comp.id.scope === oldScope);
|
|
125
|
+
if (!componentsUsingOldScope.length && this.workspace.defaultScope !== oldScope) {
|
|
126
|
+
throw new OldScopeNotFound(oldScope);
|
|
127
|
+
}
|
|
128
|
+
const envs = componentsUsingOldScope.filter((c) => this.envs.isEnv(c));
|
|
129
|
+
const compsUsingEnv: { [envIdStr: string]: ComponentID[] } = {};
|
|
130
|
+
await Promise.all(
|
|
131
|
+
envs.map(async (env) => {
|
|
132
|
+
const components = await this.workspace.getComponentsUsingEnv(env.id.toString(), true);
|
|
133
|
+
if (!components.length) return;
|
|
134
|
+
const componentIds = components.map((comp) => comp.id);
|
|
135
|
+
compsUsingEnv[env.id.toString()] = componentIds;
|
|
136
|
+
})
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
// verify they're all new.
|
|
140
|
+
const exported = componentsUsingOldScope.filter((comp) => this.workspace.isExported(comp.id));
|
|
141
|
+
if (exported.length) {
|
|
142
|
+
const idsStr = exported.map((comp) => comp.id.toString());
|
|
143
|
+
throw new OldScopeExported(idsStr);
|
|
144
|
+
}
|
|
145
|
+
const tagged = componentsUsingOldScope.filter((comp) => comp.id.hasVersion());
|
|
146
|
+
if (tagged.length) {
|
|
147
|
+
const idsStr = tagged.map((comp) => comp.id.toString());
|
|
148
|
+
throw new OldScopeTagged(idsStr);
|
|
149
|
+
}
|
|
150
|
+
if (this.workspace.defaultScope === oldScope) {
|
|
151
|
+
await this.workspace.setDefaultScope(newScope);
|
|
152
|
+
}
|
|
153
|
+
componentsUsingOldScope.forEach((comp) => this.workspace.bitMap.setDefaultScope(comp.id, newScope));
|
|
154
|
+
await this.workspace.bitMap.write(`rename-scope (${oldScope} to ${newScope})`);
|
|
155
|
+
await this.workspace.clearCache();
|
|
156
|
+
|
|
157
|
+
await Promise.all(
|
|
158
|
+
envs.map(async (env) => {
|
|
159
|
+
const componentIds = compsUsingEnv[env.id.toString()];
|
|
160
|
+
if (!componentIds?.length) return;
|
|
161
|
+
const newEnvId = env.id.changeDefaultScope(newScope);
|
|
162
|
+
const newComponentIds = componentIds.map((id) => id.changeDefaultScope(newScope));
|
|
163
|
+
await this.workspace.setEnvToComponents(newEnvId, newComponentIds);
|
|
164
|
+
})
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
const refactoredIds: ComponentID[] = [];
|
|
168
|
+
if (options.refactor) {
|
|
169
|
+
const legacyComps = componentsUsingOldScope.map((c) => c.state._consumer);
|
|
170
|
+
const packagesToReplace: MultipleStringsReplacement = legacyComps.map((comp) => {
|
|
171
|
+
return {
|
|
172
|
+
oldStr: componentIdToPackageName(comp),
|
|
173
|
+
newStr: componentIdToPackageName({
|
|
174
|
+
...comp,
|
|
175
|
+
bindingPrefix: getBindingPrefixByDefaultScope(newScope),
|
|
176
|
+
id: comp.id.changeScope(newScope),
|
|
177
|
+
}),
|
|
178
|
+
};
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
const { changedComponents } = await this.refactoring.replaceMultipleStrings(allComponents, packagesToReplace, [
|
|
182
|
+
importTransformer,
|
|
183
|
+
exportTransformer,
|
|
184
|
+
]);
|
|
185
|
+
await this.renameScopeOfAspectIdsInWorkspaceConfig(
|
|
186
|
+
componentsUsingOldScope.map((c) => c.id),
|
|
187
|
+
newScope
|
|
188
|
+
);
|
|
189
|
+
await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));
|
|
190
|
+
refactoredIds.push(...changedComponents.map((c) => c.id));
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
const newIds = componentsUsingOldScope.map((comp) => new ComponentID(comp.id._legacy, newScope));
|
|
194
|
+
await this.relinkAndCompile(componentsUsingOldScope, newIds);
|
|
195
|
+
|
|
196
|
+
return { scopeRenamedComponentIds: componentsUsingOldScope.map((comp) => comp.id), refactoredIds };
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
private async relinkAndCompile(componentsUsingOldScope: Component[], newIds: ComponentID[]) {
|
|
200
|
+
this.logger.debug(`the scope has been renamed, re-linking to node-modules`);
|
|
201
|
+
await Promise.all(
|
|
202
|
+
componentsUsingOldScope.map(async (comp) => {
|
|
203
|
+
const pkgName = this.workspace.componentPackageName(comp);
|
|
204
|
+
await this.deleteLinkFromNodeModules(pkgName);
|
|
205
|
+
})
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
await this.workspace.clearCache();
|
|
209
|
+
await this.workspace._reloadConsumer();
|
|
210
|
+
|
|
211
|
+
const newComps = await this.workspace.getMany(newIds);
|
|
212
|
+
await linkToNodeModulesByComponents(newComps, this.workspace); // link the new-name to node-modules
|
|
213
|
+
await this.compileGracefully(newIds);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* change the default-scope for new components. optionally (if refactor is true), change the source code to match the
|
|
218
|
+
* new scope-name.
|
|
219
|
+
* keep in mind that this is working for new components only, for tagged/exported it's impossible. See the errors
|
|
220
|
+
* thrown in such cases in this method.
|
|
221
|
+
*/
|
|
222
|
+
async renameOwner(
|
|
223
|
+
oldOwner: string,
|
|
224
|
+
newOwner: string,
|
|
225
|
+
options: { refactor?: boolean; ast?: boolean }
|
|
226
|
+
): Promise<RenameScopeResult> {
|
|
227
|
+
const allComponents = await this.workspace.list();
|
|
228
|
+
const isScopeUsesOldOwner = (scope: string) => scope.startsWith(`${oldOwner}.`);
|
|
229
|
+
const componentsUsingOldScope = allComponents.filter((comp) => isScopeUsesOldOwner(comp.id.scope));
|
|
230
|
+
if (!componentsUsingOldScope.length && !isScopeUsesOldOwner(this.workspace.defaultScope)) {
|
|
231
|
+
throw new OldScopeNotFound(oldOwner);
|
|
232
|
+
}
|
|
233
|
+
// verify they're all new.
|
|
234
|
+
const exported = componentsUsingOldScope.filter((comp) => this.workspace.isExported(comp.id));
|
|
235
|
+
if (exported.length) {
|
|
236
|
+
const idsStr = exported.map((comp) => comp.id.toString());
|
|
237
|
+
throw new OldScopeExported(idsStr);
|
|
238
|
+
}
|
|
239
|
+
const tagged = componentsUsingOldScope.filter((comp) => comp.id.hasVersion());
|
|
240
|
+
if (tagged.length) {
|
|
241
|
+
const idsStr = tagged.map((comp) => comp.id.toString());
|
|
242
|
+
throw new OldScopeTagged(idsStr);
|
|
243
|
+
}
|
|
244
|
+
const oldWorkspaceDefaultScope = this.workspace.defaultScope;
|
|
245
|
+
const newWorkspaceDefaultScope = isScopeUsesOldOwner(oldWorkspaceDefaultScope)
|
|
246
|
+
? this.renameOwnerInScopeName(oldWorkspaceDefaultScope, oldOwner, newOwner)
|
|
247
|
+
: undefined;
|
|
248
|
+
if (newWorkspaceDefaultScope) {
|
|
249
|
+
await this.workspace.setDefaultScope(newWorkspaceDefaultScope);
|
|
250
|
+
}
|
|
251
|
+
const newIds = componentsUsingOldScope.map((comp) => {
|
|
252
|
+
if (newWorkspaceDefaultScope && comp.id.scope === oldWorkspaceDefaultScope) {
|
|
253
|
+
this.workspace.bitMap.removeDefaultScope(comp.id);
|
|
254
|
+
return new ComponentID(comp.id._legacy, newWorkspaceDefaultScope);
|
|
255
|
+
}
|
|
256
|
+
const newCompScope = this.renameOwnerInScopeName(comp.id.scope, oldOwner, newOwner);
|
|
257
|
+
this.workspace.bitMap.setDefaultScope(comp.id, newCompScope);
|
|
258
|
+
return new ComponentID(comp.id._legacy, newCompScope);
|
|
259
|
+
});
|
|
260
|
+
await this.workspace.bitMap.write(`rename-owner (${oldOwner} to ${newOwner})`);
|
|
261
|
+
const refactoredIds: ComponentID[] = [];
|
|
262
|
+
if (options.refactor) {
|
|
263
|
+
const legacyComps = componentsUsingOldScope.map((c) => c.state._consumer);
|
|
264
|
+
const packagesToReplace: MultipleStringsReplacement = legacyComps.map((comp) => {
|
|
265
|
+
const newScope = this.renameOwnerInScopeName(comp.id.scope, oldOwner, newOwner);
|
|
266
|
+
return {
|
|
267
|
+
oldStr: componentIdToPackageName(comp),
|
|
268
|
+
newStr: componentIdToPackageName({
|
|
269
|
+
...comp,
|
|
270
|
+
bindingPrefix: getBindingPrefixByDefaultScope(newScope),
|
|
271
|
+
id: comp.id,
|
|
272
|
+
defaultScope: newScope,
|
|
273
|
+
}),
|
|
274
|
+
};
|
|
275
|
+
});
|
|
276
|
+
const { changedComponents } = await this.refactoring.replaceMultipleStrings(
|
|
277
|
+
allComponents,
|
|
278
|
+
packagesToReplace,
|
|
279
|
+
options.ast ? [importTransformer, exportTransformer] : undefined
|
|
280
|
+
);
|
|
281
|
+
await this.renameOwnerOfAspectIdsInWorkspaceConfig(
|
|
282
|
+
componentsUsingOldScope.map((c) => c.id),
|
|
283
|
+
oldOwner,
|
|
284
|
+
newOwner
|
|
285
|
+
);
|
|
286
|
+
await Promise.all(changedComponents.map((comp) => this.workspace.write(comp)));
|
|
287
|
+
refactoredIds.push(...changedComponents.map((c) => c.id));
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
await this.relinkAndCompile(componentsUsingOldScope, newIds);
|
|
291
|
+
|
|
292
|
+
return { scopeRenamedComponentIds: componentsUsingOldScope.map((comp) => comp.id), refactoredIds };
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
private async renameAspectIdInWorkspaceConfig(sourceId: ComponentID, targetId: ComponentID) {
|
|
296
|
+
const config = this.config.workspaceConfig;
|
|
297
|
+
if (!config) throw new Error('unable to get workspace config');
|
|
298
|
+
const hasChanged = config.renameExtensionInRaw(
|
|
299
|
+
sourceId.toStringWithoutVersion(),
|
|
300
|
+
targetId.toStringWithoutVersion()
|
|
301
|
+
);
|
|
302
|
+
if (hasChanged) await config.write();
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
private async renameScopeOfAspectIdsInWorkspaceConfig(ids: ComponentID[], newScope: string) {
|
|
306
|
+
const config = this.config.workspaceConfig;
|
|
307
|
+
if (!config) throw new Error('unable to get workspace config');
|
|
308
|
+
let hasChanged = false;
|
|
309
|
+
ids.forEach((id) => {
|
|
310
|
+
const changed = config.renameExtensionInRaw(
|
|
311
|
+
id.toStringWithoutVersion(),
|
|
312
|
+
id.changeScope(newScope).toStringWithoutVersion()
|
|
313
|
+
);
|
|
314
|
+
if (changed) hasChanged = true;
|
|
315
|
+
});
|
|
316
|
+
if (hasChanged) await config.write();
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
private async renameOwnerOfAspectIdsInWorkspaceConfig(ids: ComponentID[], oldOwner: string, newOwner: string) {
|
|
320
|
+
const config = this.config.workspaceConfig;
|
|
321
|
+
if (!config) throw new Error('unable to get workspace config');
|
|
322
|
+
let hasChanged = false;
|
|
323
|
+
ids.forEach((id) => {
|
|
324
|
+
const newScope = this.renameOwnerInScopeName(id.scope, oldOwner, newOwner);
|
|
325
|
+
const changed = config.renameExtensionInRaw(
|
|
326
|
+
id.toStringWithoutVersion(),
|
|
327
|
+
id.changeScope(newScope).toStringWithoutVersion()
|
|
328
|
+
);
|
|
329
|
+
if (changed) hasChanged = true;
|
|
330
|
+
});
|
|
331
|
+
if (hasChanged) await config.write();
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
private async deleteLinkFromNodeModules(packageName: string) {
|
|
335
|
+
await fs.remove(path.join(this.workspace.path, 'node_modules', packageName));
|
|
336
|
+
}
|
|
337
|
+
private async compileGracefully(ids: ComponentID[]) {
|
|
338
|
+
try {
|
|
339
|
+
await this.compiler.compileOnWorkspace(ids);
|
|
340
|
+
} catch (err: any) {
|
|
341
|
+
const idsStr = ids.map((id) => id.toString()).join(', ');
|
|
342
|
+
this.logger.consoleFailure(`failed compiling the component(s) ${idsStr}. error: ${err.message}`);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
private renameOwnerInScopeName(scopeName: string, oldOwner: string, newOwner: string): string {
|
|
347
|
+
return scopeName.replace(`${oldOwner}.`, `${newOwner}.`);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
private async getConfig(comp: Component) {
|
|
351
|
+
const fromExisting = await this.newComponentHelper.getConfigFromExistingToNewComponent(comp);
|
|
352
|
+
return {
|
|
353
|
+
...fromExisting,
|
|
354
|
+
[RenamingAspect.id]: {
|
|
355
|
+
renamedFrom: comp.id.toObject(),
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
static slots = [];
|
|
361
|
+
static dependencies = [
|
|
362
|
+
CLIAspect,
|
|
363
|
+
WorkspaceAspect,
|
|
364
|
+
DeprecationAspect,
|
|
365
|
+
NewComponentHelperAspect,
|
|
366
|
+
ComponentAspect,
|
|
367
|
+
GraphqlAspect,
|
|
368
|
+
RefactoringAspect,
|
|
369
|
+
InstallAspect,
|
|
370
|
+
ConfigAspect,
|
|
371
|
+
ComponentWriterAspect,
|
|
372
|
+
CompilerAspect,
|
|
373
|
+
LoggerAspect,
|
|
374
|
+
EnvsAspect,
|
|
375
|
+
];
|
|
376
|
+
static runtime = MainRuntime;
|
|
377
|
+
static async provider([
|
|
378
|
+
cli,
|
|
379
|
+
workspace,
|
|
380
|
+
deprecation,
|
|
381
|
+
newComponentHelper,
|
|
382
|
+
componentMain,
|
|
383
|
+
graphql,
|
|
384
|
+
refactoring,
|
|
385
|
+
install,
|
|
386
|
+
config,
|
|
387
|
+
componentWriter,
|
|
388
|
+
compiler,
|
|
389
|
+
loggerMain,
|
|
390
|
+
envs,
|
|
391
|
+
]: [
|
|
392
|
+
CLIMain,
|
|
393
|
+
Workspace,
|
|
394
|
+
DeprecationMain,
|
|
395
|
+
NewComponentHelperMain,
|
|
396
|
+
ComponentMain,
|
|
397
|
+
GraphqlMain,
|
|
398
|
+
RefactoringMain,
|
|
399
|
+
InstallMain,
|
|
400
|
+
ConfigMain,
|
|
401
|
+
ComponentWriterMain,
|
|
402
|
+
CompilerMain,
|
|
403
|
+
LoggerMain,
|
|
404
|
+
EnvsMain
|
|
405
|
+
]) {
|
|
406
|
+
const logger = loggerMain.createLogger(RenamingAspect.id);
|
|
407
|
+
const renaming = new RenamingMain(
|
|
408
|
+
workspace,
|
|
409
|
+
install,
|
|
410
|
+
newComponentHelper,
|
|
411
|
+
deprecation,
|
|
412
|
+
refactoring,
|
|
413
|
+
config,
|
|
414
|
+
componentWriter,
|
|
415
|
+
compiler,
|
|
416
|
+
logger,
|
|
417
|
+
envs
|
|
418
|
+
);
|
|
419
|
+
cli.register(new RenameCmd(renaming));
|
|
420
|
+
|
|
421
|
+
const scopeCommand = cli.getCommand('scope');
|
|
422
|
+
scopeCommand?.commands?.push(new ScopeRenameCmd(renaming));
|
|
423
|
+
scopeCommand?.commands?.push(new ScopeRenameOwnerCmd(renaming));
|
|
424
|
+
|
|
425
|
+
graphql.register(renamingSchema(renaming));
|
|
426
|
+
componentMain.registerShowFragments([new RenamingFragment(renaming)]);
|
|
427
|
+
return renaming;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
RenamingAspect.addRuntime(RenamingMain);
|
|
432
|
+
|
|
433
|
+
export type RenameDependencyNameResult = { sourceId: ComponentID; targetId: ComponentID };
|
|
434
|
+
|
|
435
|
+
export type RenamingInfo = {
|
|
436
|
+
renamedFrom: ComponentID;
|
|
437
|
+
};
|
|
438
|
+
|
|
439
|
+
export type RenameScopeResult = { scopeRenamedComponentIds: ComponentID[]; refactoredIds: ComponentID[] };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { RenamingMain } from './renaming.main.runtime';
|
|
4
|
+
|
|
5
|
+
export class ScopeRenameOwnerCmd implements Command {
|
|
6
|
+
name = 'rename-owner <current-owner-name> <new-owner-name>';
|
|
7
|
+
description = "Renames the owner part of the scope-name for all components with the specified 'current owner name'";
|
|
8
|
+
arguments = [
|
|
9
|
+
{ name: 'current-owner-name', description: 'the owner name to be replaced by another owner name' },
|
|
10
|
+
{ name: 'new-owner-name', description: 'a new owner name to replace the current owner name' },
|
|
11
|
+
];
|
|
12
|
+
options = [
|
|
13
|
+
[
|
|
14
|
+
'r',
|
|
15
|
+
'refactor',
|
|
16
|
+
'update the import statements in all dependent components to the new package name (that contains the new owner name)',
|
|
17
|
+
],
|
|
18
|
+
['', 'ast', 'EXPERIMENTAL. use ast to transform files instead of regex'],
|
|
19
|
+
] as CommandOptions;
|
|
20
|
+
group = 'development';
|
|
21
|
+
|
|
22
|
+
constructor(private renaming: RenamingMain) {}
|
|
23
|
+
|
|
24
|
+
async report([oldName, newName]: [string, string], { refactor }: { refactor?: boolean }) {
|
|
25
|
+
const { scopeRenamedComponentIds, refactoredIds } = await this.renaming.renameOwner(oldName, newName, { refactor });
|
|
26
|
+
const title = chalk.green(`successfully replaced "${oldName}" owner with "${newName}"`);
|
|
27
|
+
const renamedIdsStr = scopeRenamedComponentIds.length
|
|
28
|
+
? `\n${chalk.bold(
|
|
29
|
+
'the following components were affected by this scope-name change:'
|
|
30
|
+
)}\n${scopeRenamedComponentIds.map((c) => c.changeScope(newName)).join('\n')}`
|
|
31
|
+
: '';
|
|
32
|
+
const refactoredStr = refactoredIds.length
|
|
33
|
+
? `\n\n${chalk.bold('the following components have been refactored:')}\n${refactoredIds.join('\n')}`
|
|
34
|
+
: '';
|
|
35
|
+
return `${title}\n${renamedIdsStr}${refactoredStr}`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { RenamingMain } from './renaming.main.runtime';
|
|
4
|
+
|
|
5
|
+
export class ScopeRenameCmd implements Command {
|
|
6
|
+
name = 'rename <current-scope-name> <new-scope-name>';
|
|
7
|
+
description =
|
|
8
|
+
"Renames the scope name for all components with the specified 'current scope name' - only available for new components that have not yet been snapped/tagged";
|
|
9
|
+
extendedDescription = `Note: if \`<current-scope-name>\` is also the defaultScope for the workspace, this command will set \`<new-scope-name>\`
|
|
10
|
+
as the defaultScope instead, and that will then be set for all components by default. You may see updates in your .bitmap file
|
|
11
|
+
as a result of this change`;
|
|
12
|
+
arguments = [
|
|
13
|
+
{ name: 'current-scope-name', description: 'the scope name to be replaced by another scope name' },
|
|
14
|
+
{ name: 'new-scope-name', description: 'a new scope name to replace the current scope name' },
|
|
15
|
+
];
|
|
16
|
+
options = [
|
|
17
|
+
[
|
|
18
|
+
'r',
|
|
19
|
+
'refactor',
|
|
20
|
+
'update the import statements in all dependent components to the new package name (i.e. with the new scope name)',
|
|
21
|
+
],
|
|
22
|
+
] as CommandOptions;
|
|
23
|
+
group = 'development';
|
|
24
|
+
|
|
25
|
+
constructor(private renaming: RenamingMain) {}
|
|
26
|
+
|
|
27
|
+
async report([oldName, newName]: [string, string], { refactor }: { refactor?: boolean }) {
|
|
28
|
+
const { scopeRenamedComponentIds, refactoredIds } = await this.renaming.renameScope(oldName, newName, { refactor });
|
|
29
|
+
const title = chalk.green(`successfully replaced "${oldName}" scope with "${newName}"`);
|
|
30
|
+
const renamedIdsStr = scopeRenamedComponentIds.length
|
|
31
|
+
? `\n${chalk.bold(
|
|
32
|
+
'the following components were affected by this scope-name change:'
|
|
33
|
+
)}\n${scopeRenamedComponentIds.map((c) => c.changeScope(newName)).join('\n')}`
|
|
34
|
+
: '';
|
|
35
|
+
const refactoredStr = refactoredIds.length
|
|
36
|
+
? `\n\n${chalk.bold('the following components have been refactored:')}\n${refactoredIds.join('\n')}`
|
|
37
|
+
: '';
|
|
38
|
+
return `${title}\n${renamedIdsStr}${refactoredStr}`;
|
|
39
|
+
}
|
|
40
|
+
}
|
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
|
+
}
|