import { flags } from '@oclif/parser'; import { OutputFlags } from '@oclif/parser/lib/parse'; import FlexPlugin, { ConfigData, PkgCallback, SecureStorage } from '../../../sub-commands/flex-plugin'; interface ScriptsToRemove { name: string; it: string; pre?: string; post?: string; } export interface DependencyUpdates { remove: string[]; deps: Record; devDeps: Record; } /** * Starts the dev-server for building and iterating on a plugin bundle */ export default class FlexPluginsUpgradePlugin extends FlexPlugin { static topicName: string; static description: string; static flags: { 'remove-legacy-plugin': flags.IBooleanFlag; install: flags.IBooleanFlag; beta: flags.IBooleanFlag; dev: flags.IBooleanFlag; nightly: flags.IBooleanFlag; yarn: flags.IBooleanFlag; yes: flags.IBooleanFlag; 'flex-ui-2.0': flags.IBooleanFlag; json: flags.IBooleanFlag; 'clear-terminal': flags.IBooleanFlag; region: import("@oclif/command/lib/flags").IOptionFlag; }; static packagesToRemove: string[]; private static cracoConfigSha; private static packagesToRemoveFlexUI2; private static packageVersionsFlexUI2; _flags: OutputFlags; private prints; constructor(argv: string[], config: ConfigData, secureStorage: SecureStorage); init(): Promise; /** * @override */ doRun(): Promise; /** * Upgrade from v1 to v4 */ upgradeFromV1(): Promise; /** * Upgrade from v2 to v4 */ upgradeFromV2(): Promise; /** * Upgrade from v3 to v4 */ upgradeFromV3(): Promise; /** * Upgrades the packages to the latest version */ upgradeToLatest(): Promise; /** * Upgrades the packages to the latest version needed for flexui 2.0 */ upgradeToFlexUI2(flexUIVersion: string): Promise; /** * Removes craco.config.js file */ cleanupScaffold(): Promise; /** * Updates the package json by removing the provided list and updating the version to the latest from the given list. * Provide the list as key:value. If value is *, then script will find the latest available version. * @param dependencies the list of dependencies to modify - can also be used to update to the latest * @param custom a custom callback for modifying package.json */ updatePackageJson(dependencies: DependencyUpdates, custom?: PkgCallback): Promise; /** * Removes scripts from the package.json * @param scripts the scripts remove */ removePackageScripts(scripts: ScriptsToRemove[]): Promise; /** * Cleans up node_modules and lockfiles */ cleanupNodeModules(): Promise; /** * Runs npm install if flag is set */ npmInstall(): Promise; /** * Removes the legacy plugin */ removeLegacyPlugin(): Promise; getDependencyUpdates(): DependencyUpdates; /** * Returns the dependencies which need to be removed and installed for the plugin * to be compatible with flex ui 2.0 * @param flexUIVersion the flex ui version retrieved for 2.0 */ getDependencyUpdatesFlexUI2(flexUIVersion: string): DependencyUpdates; /** * Returns the flex-plugin-scripts version from the plugin */ get pkgVersion(): number | undefined; /** * @override */ getTopicName(): string; } export {};