{"version":3,"file":"router-composed-plugin.cjs","names":[],"sources":["../../../src/core/router-composed-plugin.ts"],"sourcesContent":["import { getConfig } from '@tanstack/router-generator'\nimport { unpluginRouterGeneratorFactory } from './router-generator-plugin'\nimport { unpluginRouterCodeSplitterFactory } from './router-code-splitter-plugin'\nimport { unpluginRouterHmrFactory } from './router-hmr-plugin'\nimport type { Config } from './config'\nimport type { UnpluginFactory } from 'unplugin'\n\nexport const unpluginRouterComposedFactory: UnpluginFactory<\n  Partial<Config | (() => Config)> | undefined\n> = (options = {}, meta) => {\n  const ROOT: string = process.cwd()\n  const userConfig = getConfig(\n    (typeof options === 'function' ? options() : options) as Partial<Config>,\n    ROOT,\n  )\n\n  const getPlugin = (\n    pluginFactory: UnpluginFactory<Partial<Config | (() => Config)>>,\n  ) => {\n    const plugin = pluginFactory(options, meta)\n    if (!Array.isArray(plugin)) {\n      return [plugin]\n    }\n    return plugin\n  }\n\n  const routerGenerator = getPlugin(unpluginRouterGeneratorFactory)\n  const routerCodeSplitter = getPlugin(unpluginRouterCodeSplitterFactory)\n\n  const result = [...routerGenerator]\n  if (userConfig.autoCodeSplitting) {\n    result.push(...routerCodeSplitter)\n  }\n\n  const isProduction = process.env.NODE_ENV === 'production'\n\n  if (!isProduction && !userConfig.autoCodeSplitting) {\n    const routerHmr = getPlugin(unpluginRouterHmrFactory)\n    result.push(...routerHmr)\n  }\n  return result\n}\n"],"mappings":";;;;;;AAOA,IAAa,iCAER,UAAU,EAAE,EAAE,SAAS;CAC1B,MAAM,OAAe,QAAQ,KAAK;CAClC,MAAM,cAAA,GAAA,2BAAA,WACH,OAAO,YAAY,aAAa,SAAS,GAAG,SAC7C,KACD;CAED,MAAM,aACJ,kBACG;EACH,MAAM,SAAS,cAAc,SAAS,KAAK;AAC3C,MAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,QAAO,CAAC,OAAO;AAEjB,SAAO;;CAGT,MAAM,kBAAkB,UAAU,gCAAA,+BAA+B;CACjE,MAAM,qBAAqB,UAAU,oCAAA,kCAAkC;CAEvE,MAAM,SAAS,CAAC,GAAG,gBAAgB;AACnC,KAAI,WAAW,kBACb,QAAO,KAAK,GAAG,mBAAmB;AAKpC,KAAI,EAAA,QAAA,IAAA,aAF0C,iBAEzB,CAAC,WAAW,mBAAmB;EAClD,MAAM,YAAY,UAAU,0BAAA,yBAAyB;AACrD,SAAO,KAAK,GAAG,UAAU;;AAE3B,QAAO"}