Command Line Tool

Module Federation provides a lightweight command-line tool mf, shipped by @module-federation/enhanced.

Note

Once you have integrated Module Federation by following an integration guide, @module-federation/enhanced is typically already in your dependency tree and the mf command is available out of the box. Otherwise, install it manually in your project before running the commands below.

View All Commands

If you need to view all available CLI commands, please run the following command in the project directory:

npx mf -h

Output:


Usage: mf <command> [options]

Options:
  -V, --version   output the version number
  -h, --help      display help for command

Commands:
  dts [options]   generate or fetch the mf types
  help [command]  display help for command

Common Options

Module Federation CLI provides some common options that can be used for all commands:

OptionDescription
-c, --config <config>Specify the configuration file path, which can be a relative or absolute path. The default value is module-federation.config.ts
-m, --mode <mode>Specify the running environment, you can choose "dev" or "prod". The default value is "dev". After setting, "development" or "production" will be automatically injected into the process.env.NODE_ENV environment variable according to the value.
-h, --helpShow command help

mf dts

The mf dts command is used to pull or generate TypeScript type declaration files.


Usage: mf dts [options]

generate or fetch the mf types

Options:
  --root <root>         specify the project root directory
  --output <output>     specify the generated dts output directory
  --fetch <boolean>     fetch types from remote, default is true (default: true)
  --generate <boolean>  generate types, default is true (default: true)
  -c --config <config>  specify the configuration file, can be a relative or absolute path
  -m --mode <mode>      Specify the runtime environment. You can choose "dev" or "prod". The default value is "dev". After setting, the process.env.NODE_ENV environment variable will be
                        automatically injected with "development" or "production" according to the value. (default: "dev")
  -h, --help            display help for command
注意

The mf dts command will automatically generate or pull type declaration files based on the configuration in module-federation.config.ts. This means you must provide a valid configuration file, otherwise the command will not run correctly.

If you are only using the runtime API, you need to create a temporary module-federation.config.ts file, configure dts.consumeTypes.remoteTypeUrls, and then run the mf dts command.