@teambit/refactoring 0.0.33 → 0.0.36

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["RefactoringAspect"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;eAGeA,gC","sourcesContent":["import { RefactoringAspect } from './refactoring.aspect';\n\nexport type { RefactoringMain, MultipleStringsReplacement } from './refactoring.main.runtime';\nexport default RefactoringAspect;\nexport { RefactoringAspect };\n"]}
1
+ {"version":3,"names":["RefactoringAspect"],"sources":["index.ts"],"sourcesContent":["import { RefactoringAspect } from './refactoring.aspect';\n\nexport type { RefactoringMain, MultipleStringsReplacement } from './refactoring.main.runtime';\nexport default RefactoringAspect;\nexport { RefactoringAspect };\n"],"mappings":";;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAGeA,gC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["refactor.cmd.ts"],"names":["DependencyNameRefactorCmd","constructor","refactoringMain","componentMain","report","oldId","newId","host","getHost","allComps","list","changedComponents","oldPackageName","newPackageName","refactorDependencyName","Promise","all","map","comp","write","c","id","toString","join","RefactorCmd","unrecognizedSubcommand","chalk","red"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAJA;AAGA;AAIO,MAAMA,yBAAN,CAAmD;AAKxD;AAGAC,EAAAA,WAAW,CAASC,eAAT,EAAmDC,aAAnD,EAAiF;AAAA,SAAxED,eAAwE,GAAxEA,eAAwE;AAAA,SAA9BC,aAA8B,GAA9BA,aAA8B;AAAA,kDAPrF,mCAOqF;AAAA,yDAN9E,sEAM8E;AAAA,qDALlF,EAKkF;AAAA,mDAJpF,aAIoF;AAAA,iEAFrE,6FAEqE;AAAE;;AAElF,QAANC,MAAM,CAAC,CAACC,KAAD,EAAQC,KAAR,CAAD,EAAmC;AAC7C,UAAMC,IAAI,GAAG,KAAKJ,aAAL,CAAmBK,OAAnB,EAAb;AACA,UAAMC,QAAQ,GAAG,MAAMF,IAAI,CAACG,IAAL,EAAvB;AACA,UAAM;AAAEC,MAAAA,iBAAF;AAAqBC,MAAAA,cAArB;AAAqCC,MAAAA;AAArC,QAAwD,MAAM,KAAKX,eAAL,CAAqBY,sBAArB,CAClEL,QADkE,EAElEJ,KAFkE,EAGlEC,KAHkE,CAApE;AAKA,UAAMS,OAAO,CAACC,GAAR,CAAYL,iBAAiB,CAACM,GAAlB,CAAuBC,IAAD,IAAUX,IAAI,CAACY,KAAL,CAAWD,IAAX,CAAhC,CAAZ,CAAN;AACA,WAAQ,+CAA8CN,cAAe,OAAMC,cAAe,OAAMF,iBAAiB,CAC9GM,GAD6F,CACxFG,CAAD,IAAOA,CAAC,CAACC,EAAF,CAAKC,QAAL,EADkF,EAE7FC,IAF6F,CAExF,IAFwF,CAElF,EAFd;AAGD;;AAtBuD;;;;AAyBnD,MAAMC,WAAN,CAAqC;AAAA;AAAA,kDACnC,wBADmC;AAAA,mDAElC,EAFkC;AAAA,yDAG5B,iDAH4B;AAAA,qDAIhC,EAJgC;AAAA,mDAKlC,aALkC;AAAA,sDAMpB,EANoB;AAAA;;AAQ9B,QAANpB,MAAM,CAAC,CAACqB,sBAAD,CAAD,EAAqC;AAC/C,WAAOC,iBAAMC,GAAN,CACJ,IAAGF,sBAAuB,+FADtB,CAAP;AAGD;;AAZyC","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentMain } from '@teambit/component';\n// import { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { RefactoringMain } from './refactoring.main.runtime';\n\nexport class DependencyNameRefactorCmd implements Command {\n name = 'dependency-name <old-id> <new-id>';\n description = \"replace the dependency's old package-name with a new one in the code\";\n options = [] as CommandOptions;\n group = 'development';\n // extendedDescription = `${PATTERN_HELP('refactor dependency-name')}`;\n extendedDescription = `the \\`<old-id>\\` and \\`<new-id>\\` arguments can be either a component-id or a package-name.`;\n\n constructor(private refactoringMain: RefactoringMain, private componentMain: ComponentMain) {}\n\n async report([oldId, newId]: [string, string]) {\n const host = this.componentMain.getHost();\n const allComps = await host.list();\n const { changedComponents, oldPackageName, newPackageName } = await this.refactoringMain.refactorDependencyName(\n allComps,\n oldId,\n newId\n );\n await Promise.all(changedComponents.map((comp) => host.write(comp)));\n return `the following components have been changed (${oldPackageName} => ${newPackageName}):\\n${changedComponents\n .map((c) => c.id.toString())\n .join('\\n')}`;\n }\n}\n\nexport class RefactorCmd implements Command {\n name = 'refactor <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. source code refactoring / codemod';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"refactor\", please run \"bit refactor --help\" to list the subcommands`\n );\n }\n}\n"]}
1
+ {"version":3,"names":["DependencyNameRefactorCmd","constructor","refactoringMain","componentMain","report","oldId","newId","host","getHost","allComps","list","changedComponents","oldPackageName","newPackageName","refactorDependencyName","Promise","all","map","comp","write","c","id","toString","join","RefactorCmd","unrecognizedSubcommand","chalk","red"],"sources":["refactor.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentMain } from '@teambit/component';\n// import { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { RefactoringMain } from './refactoring.main.runtime';\n\nexport class DependencyNameRefactorCmd implements Command {\n name = 'dependency-name <old-id> <new-id>';\n description = \"replace the dependency's old package-name with a new one in the code\";\n options = [] as CommandOptions;\n group = 'development';\n // extendedDescription = `${PATTERN_HELP('refactor dependency-name')}`;\n extendedDescription = `the \\`<old-id>\\` and \\`<new-id>\\` arguments can be either a component-id or a package-name.`;\n\n constructor(private refactoringMain: RefactoringMain, private componentMain: ComponentMain) {}\n\n async report([oldId, newId]: [string, string]) {\n const host = this.componentMain.getHost();\n const allComps = await host.list();\n const { changedComponents, oldPackageName, newPackageName } = await this.refactoringMain.refactorDependencyName(\n allComps,\n oldId,\n newId\n );\n await Promise.all(changedComponents.map((comp) => host.write(comp)));\n return `the following components have been changed (${oldPackageName} => ${newPackageName}):\\n${changedComponents\n .map((c) => c.id.toString())\n .join('\\n')}`;\n }\n}\n\nexport class RefactorCmd implements Command {\n name = 'refactor <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. source code refactoring / codemod';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"refactor\", please run \"bit refactor --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAJA;AAGA;AAIO,MAAMA,yBAAN,CAAmD;EAKxD;EAGAC,WAAW,CAASC,eAAT,EAAmDC,aAAnD,EAAiF;IAAA,KAAxED,eAAwE,GAAxEA,eAAwE;IAAA,KAA9BC,aAA8B,GAA9BA,aAA8B;IAAA,8CAPrF,mCAOqF;IAAA,qDAN9E,sEAM8E;IAAA,iDALlF,EAKkF;IAAA,+CAJpF,aAIoF;IAAA,6DAFrE,6FAEqE;EAAE;;EAElF,MAANC,MAAM,CAAC,CAACC,KAAD,EAAQC,KAAR,CAAD,EAAmC;IAC7C,MAAMC,IAAI,GAAG,KAAKJ,aAAL,CAAmBK,OAAnB,EAAb;IACA,MAAMC,QAAQ,GAAG,MAAMF,IAAI,CAACG,IAAL,EAAvB;IACA,MAAM;MAAEC,iBAAF;MAAqBC,cAArB;MAAqCC;IAArC,IAAwD,MAAM,KAAKX,eAAL,CAAqBY,sBAArB,CAClEL,QADkE,EAElEJ,KAFkE,EAGlEC,KAHkE,CAApE;IAKA,MAAMS,OAAO,CAACC,GAAR,CAAYL,iBAAiB,CAACM,GAAlB,CAAuBC,IAAD,IAAUX,IAAI,CAACY,KAAL,CAAWD,IAAX,CAAhC,CAAZ,CAAN;IACA,OAAQ,+CAA8CN,cAAe,OAAMC,cAAe,OAAMF,iBAAiB,CAC9GM,GAD6F,CACxFG,CAAD,IAAOA,CAAC,CAACC,EAAF,CAAKC,QAAL,EADkF,EAE7FC,IAF6F,CAExF,IAFwF,CAElF,EAFd;EAGD;;AAtBuD;;;;AAyBnD,MAAMC,WAAN,CAAqC;EAAA;IAAA,8CACnC,wBADmC;IAAA,+CAElC,EAFkC;IAAA,qDAG5B,iDAH4B;IAAA,iDAIhC,EAJgC;IAAA,+CAKlC,aALkC;IAAA,kDAMpB,EANoB;EAAA;;EAQ9B,MAANpB,MAAM,CAAC,CAACqB,sBAAD,CAAD,EAAqC;IAC/C,OAAOC,gBAAA,CAAMC,GAAN,CACJ,IAAGF,sBAAuB,+FADtB,CAAP;EAGD;;AAZyC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["refactoring.aspect.ts"],"names":["RefactoringAspect","Aspect","create","id"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,iBAAiB,GAAGC,kBAAOC,MAAP,CAAc;AAC7CC,EAAAA,EAAE,EAAE;AADyC,CAAd,CAA1B","sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const RefactoringAspect = Aspect.create({\n id: 'teambit.component/refactoring',\n});\n"]}
1
+ {"version":3,"names":["RefactoringAspect","Aspect","create","id"],"sources":["refactoring.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const RefactoringAspect = Aspect.create({\n id: 'teambit.component/refactoring',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,iBAAiB,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EAC7CC,EAAE,EAAE;AADyC,CAAd,CAA1B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["refactoring.main.runtime.ts"],"names":["RefactoringMain","constructor","componentMain","pkg","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replaceString","replaceMultipleStrings","stringsToReplace","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","get","toString","getPackageName","name","startsWith","includes","length","oldString","newString","changed","filesystem","files","file","isBinary","contents","strContent","oldStringRegex","RegExp","newContent","replace","Buffer","from","some","c","forEach","oldStr","newStr","provider","cli","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","ComponentAspect","PkgAspect","CLIAspect","MainRuntime","RefactoringAspect","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isBinaryFile } from 'isbinaryfile';\nimport { compact } from 'lodash';\nimport ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';\nimport { BitError } from '@teambit/bit-error';\nimport PkgAspect, { PkgMain } from '@teambit/pkg';\nimport { RefactoringAspect } from './refactoring.aspect';\nimport { DependencyNameRefactorCmd, RefactorCmd } from './refactor.cmd';\n\nexport type MultipleStringsReplacement = Array<{ oldStr: string; newStr: string }>;\n\nexport class RefactoringMain {\n constructor(private componentMain: ComponentMain, private pkg: PkgMain) {}\n\n /**\n * refactor the dependency name of a component.\n * oldId and newId can be either a component-id or a package-name.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async refactorDependencyName(\n components: Component[],\n oldId: ComponentID | string,\n newId: ComponentID | string\n ): Promise<{ oldPackageName: string; newPackageName: string; changedComponents: Component[] }> {\n const oldPackageName = await this.getPackageNameByUnknownId(oldId);\n const newPackageName = await this.getPackageNameByUnknownId(newId);\n if (oldPackageName === newPackageName) {\n throw new BitError(`refactoring: the old package-name and the new package-name are the same: ${oldPackageName}`);\n }\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceString(comp, oldPackageName, newPackageName);\n return hasChanged ? comp : null;\n })\n );\n return { oldPackageName, newPackageName, changedComponents: compact(changedComponents) };\n }\n\n /**\n * rename multiple packages dependencies.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async replaceMultipleStrings(\n components: Component[],\n stringsToReplace: MultipleStringsReplacement\n ): Promise<{\n changedComponents: Component[];\n }> {\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace);\n return hasChanged ? comp : null;\n })\n );\n return { changedComponents: compact(changedComponents) };\n }\n\n private async getPackageNameByUnknownId(id: ComponentID | string): Promise<string> {\n if (id instanceof ComponentID) {\n return this.getPackageNameByComponentID(id);\n }\n if (typeof id !== 'string') {\n throw new Error(`getPackageNameByUnknownId expects id to be either string or ComponentID, got ${typeof id}`);\n }\n try {\n const host = this.componentMain.getHost();\n const componentID = await host.resolveComponentId(id);\n return await this.getPackageNameByComponentID(componentID);\n } catch (err) {\n if (this.isValidScopedPackageName(id)) {\n return id; // assume this is a package-name\n }\n throw new BitError(\n `refactoring: the id \"${id}\" is neither a valid scoped-package-name nor an existing component-id`\n );\n }\n }\n\n private async getPackageNameByComponentID(id: ComponentID) {\n const host = this.componentMain.getHost();\n const comp = await host.get(id);\n if (!comp) throw new Error(`unable to find a component: \"${id.toString()}\"`);\n return this.pkg.getPackageName(comp);\n }\n\n private isValidScopedPackageName(name: string) {\n return (\n name.startsWith('@') && name.includes('/') && name.length <= 214 && !name.includes('\\\\') && !name.includes('..')\n );\n }\n\n private async replaceString(comp: Component, oldString: string, newString: string): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n if (strContent.includes(oldString)) {\n const oldStringRegex = new RegExp(oldString, 'g');\n const newContent = strContent.replace(oldStringRegex, newString);\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n private async replaceMultipleStringsInOneComp(\n comp: Component,\n stringsToReplace: MultipleStringsReplacement\n ): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n let newContent = strContent;\n stringsToReplace.forEach(({ oldStr, newStr }) => {\n const oldStringRegex = new RegExp(oldStr, 'g');\n newContent = newContent.replace(oldStringRegex, newStr);\n });\n if (strContent !== newContent) {\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n static slots = [];\n static dependencies = [ComponentAspect, PkgAspect, CLIAspect];\n static runtime = MainRuntime;\n static async provider([componentMain, pkg, cli]: [ComponentMain, PkgMain, CLIMain]) {\n const refactoringMain = new RefactoringMain(componentMain, pkg);\n const subCommands = [new DependencyNameRefactorCmd(refactoringMain, componentMain)];\n const refactorCmd = new RefactorCmd();\n refactorCmd.commands = subCommands;\n cli.register(refactorCmd);\n return refactoringMain;\n }\n}\n\nRefactoringAspect.addRuntime(RefactoringMain);\n"]}
1
+ {"version":3,"names":["RefactoringMain","constructor","componentMain","pkg","refactorDependencyName","components","oldId","newId","oldPackageName","getPackageNameByUnknownId","newPackageName","BitError","changedComponents","Promise","all","map","comp","hasChanged","replaceString","compact","replaceMultipleStrings","stringsToReplace","replaceMultipleStringsInOneComp","id","ComponentID","getPackageNameByComponentID","Error","host","getHost","componentID","resolveComponentId","err","isValidScopedPackageName","get","toString","getPackageName","name","startsWith","includes","length","oldString","newString","changed","filesystem","files","file","isBinary","isBinaryFile","contents","strContent","oldStringRegex","RegExp","newContent","replace","Buffer","from","some","c","forEach","oldStr","newStr","provider","cli","refactoringMain","subCommands","DependencyNameRefactorCmd","refactorCmd","RefactorCmd","commands","register","ComponentAspect","PkgAspect","CLIAspect","MainRuntime","RefactoringAspect","addRuntime"],"sources":["refactoring.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isBinaryFile } from 'isbinaryfile';\nimport { compact } from 'lodash';\nimport ComponentAspect, { Component, ComponentID, ComponentMain } from '@teambit/component';\nimport { BitError } from '@teambit/bit-error';\nimport PkgAspect, { PkgMain } from '@teambit/pkg';\nimport { RefactoringAspect } from './refactoring.aspect';\nimport { DependencyNameRefactorCmd, RefactorCmd } from './refactor.cmd';\n\nexport type MultipleStringsReplacement = Array<{ oldStr: string; newStr: string }>;\n\nexport class RefactoringMain {\n constructor(private componentMain: ComponentMain, private pkg: PkgMain) {}\n\n /**\n * refactor the dependency name of a component.\n * oldId and newId can be either a component-id or a package-name.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async refactorDependencyName(\n components: Component[],\n oldId: ComponentID | string,\n newId: ComponentID | string\n ): Promise<{ oldPackageName: string; newPackageName: string; changedComponents: Component[] }> {\n const oldPackageName = await this.getPackageNameByUnknownId(oldId);\n const newPackageName = await this.getPackageNameByUnknownId(newId);\n if (oldPackageName === newPackageName) {\n throw new BitError(`refactoring: the old package-name and the new package-name are the same: ${oldPackageName}`);\n }\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceString(comp, oldPackageName, newPackageName);\n return hasChanged ? comp : null;\n })\n );\n return { oldPackageName, newPackageName, changedComponents: compact(changedComponents) };\n }\n\n /**\n * rename multiple packages dependencies.\n * this method changes the source code of the component, but doesn't write to the filesystem.\n */\n async replaceMultipleStrings(\n components: Component[],\n stringsToReplace: MultipleStringsReplacement\n ): Promise<{\n changedComponents: Component[];\n }> {\n const changedComponents = await Promise.all(\n components.map(async (comp) => {\n const hasChanged = await this.replaceMultipleStringsInOneComp(comp, stringsToReplace);\n return hasChanged ? comp : null;\n })\n );\n return { changedComponents: compact(changedComponents) };\n }\n\n private async getPackageNameByUnknownId(id: ComponentID | string): Promise<string> {\n if (id instanceof ComponentID) {\n return this.getPackageNameByComponentID(id);\n }\n if (typeof id !== 'string') {\n throw new Error(`getPackageNameByUnknownId expects id to be either string or ComponentID, got ${typeof id}`);\n }\n try {\n const host = this.componentMain.getHost();\n const componentID = await host.resolveComponentId(id);\n return await this.getPackageNameByComponentID(componentID);\n } catch (err) {\n if (this.isValidScopedPackageName(id)) {\n return id; // assume this is a package-name\n }\n throw new BitError(\n `refactoring: the id \"${id}\" is neither a valid scoped-package-name nor an existing component-id`\n );\n }\n }\n\n private async getPackageNameByComponentID(id: ComponentID) {\n const host = this.componentMain.getHost();\n const comp = await host.get(id);\n if (!comp) throw new Error(`unable to find a component: \"${id.toString()}\"`);\n return this.pkg.getPackageName(comp);\n }\n\n private isValidScopedPackageName(name: string) {\n return (\n name.startsWith('@') && name.includes('/') && name.length <= 214 && !name.includes('\\\\') && !name.includes('..')\n );\n }\n\n private async replaceString(comp: Component, oldString: string, newString: string): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n if (strContent.includes(oldString)) {\n const oldStringRegex = new RegExp(oldString, 'g');\n const newContent = strContent.replace(oldStringRegex, newString);\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n private async replaceMultipleStringsInOneComp(\n comp: Component,\n stringsToReplace: MultipleStringsReplacement\n ): Promise<boolean> {\n const changed = await Promise.all(\n comp.filesystem.files.map(async (file) => {\n const isBinary = await isBinaryFile(file.contents);\n if (isBinary) return false;\n const strContent = file.contents.toString();\n let newContent = strContent;\n stringsToReplace.forEach(({ oldStr, newStr }) => {\n const oldStringRegex = new RegExp(oldStr, 'g');\n newContent = newContent.replace(oldStringRegex, newStr);\n });\n if (strContent !== newContent) {\n file.contents = Buffer.from(newContent);\n return true;\n }\n return false;\n })\n );\n return changed.some((c) => c);\n }\n\n static slots = [];\n static dependencies = [ComponentAspect, PkgAspect, CLIAspect];\n static runtime = MainRuntime;\n static async provider([componentMain, pkg, cli]: [ComponentMain, PkgMain, CLIMain]) {\n const refactoringMain = new RefactoringMain(componentMain, pkg);\n const subCommands = [new DependencyNameRefactorCmd(refactoringMain, componentMain)];\n const refactorCmd = new RefactorCmd();\n refactorCmd.commands = subCommands;\n cli.register(refactorCmd);\n return refactoringMain;\n }\n}\n\nRefactoringAspect.addRuntime(RefactoringMain);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/refactoring",
3
- "version": "0.0.33",
3
+ "version": "0.0.36",
4
4
  "homepage": "https://bit.dev/teambit/component/refactoring",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "refactoring",
9
- "version": "0.0.33"
9
+ "version": "0.0.36"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,9 +16,9 @@
16
16
  "core-js": "^3.0.0",
17
17
  "@teambit/harmony": "0.3.3",
18
18
  "@teambit/cli": "0.0.491",
19
- "@teambit/component": "0.0.736",
19
+ "@teambit/component": "0.0.739",
20
20
  "@teambit/bit-error": "0.0.394",
21
- "@teambit/pkg": "0.0.736"
21
+ "@teambit/pkg": "0.0.739"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/lodash": "4.14.165",
package/tsconfig.json CHANGED
@@ -15,13 +15,13 @@
15
15
  "declaration": true,
16
16
  "sourceMap": true,
17
17
  "skipLibCheck": true,
18
+ "experimentalDecorators": true,
18
19
  "outDir": "dist",
19
20
  "moduleResolution": "node",
20
21
  "esModuleInterop": true,
21
22
  "rootDir": ".",
22
23
  "resolveJsonModule": true,
23
24
  "emitDeclarationOnly": true,
24
- "experimentalDecorators": true,
25
25
  "emitDecoratorMetadata": true,
26
26
  "allowSyntheticDefaultImports": true,
27
27
  "strictPropertyInitialization": false,