diff --git a/packages/cli/src/commands/server/runServer.js b/packages/cli/src/commands/server/runServer.js index 181d8fd34..e07312f72 100644 --- a/packages/cli/src/commands/server/runServer.js +++ b/packages/cli/src/commands/server/runServer.js @@ -20,6 +20,7 @@ import loadMetroConfig from '../../tools/loadMetroConfig'; export type Args = {| assetExts?: string[], + assetPlugins?: string[], cert?: string, customLogReporterPath?: string, host?: string, @@ -54,6 +55,12 @@ async function runServer(argv: Array, ctx: ConfigT, args: Args) { reporter, }); + if (args.assetPlugins) { + metroConfig.transformer.assetPlugins = args.assetPlugins.map(plugin => + require.resolve(plugin), + ); + } + const middlewareManager = new MiddlewareManager({ host: args.host, port: metroConfig.server.port, diff --git a/packages/cli/src/commands/server/server.js b/packages/cli/src/commands/server/server.js index 6fe1adbb8..e4b5ac073 100644 --- a/packages/cli/src/commands/server/server.js +++ b/packages/cli/src/commands/server/server.js @@ -30,6 +30,12 @@ export default { 'Specify any additional folders to be added to the watch list', parse: (val: string) => val.split(','), }, + { + command: '--assetPlugins [list]', + description: + 'Specify any additional asset plugins to be used by the packager by full filepath', + parse: (val: string) => val.split(','), + }, { command: '--assetExts [list]', description: