UNPKG

@tanstack/router-plugin

Version:

Modern and scalable routing for React applications

1 lines 1.41 kB
{"version":3,"file":"select-adapter.cjs","names":[],"sources":["../../../../src/core/hmr/select-adapter.ts"],"sourcesContent":["import { createViteHmrStatement } from './vite-adapter'\nimport { createWebpackHmrStatement } from './webpack-adapter'\nimport type { Config, HmrStyle } from '../config'\nimport type * as t from '@babel/types'\n\nexport type CreateRouteHmrStatementOpts = {\n hmrStyle: HmrStyle\n targetFramework: Config['target']\n routeId?: string\n}\n\n/**\n * Dispatches to the configured HMR adapter. `hmrStyle` is set explicitly by\n * the bundler-specific plugin entry (e.g. `rspack.ts` → `'webpack'`), so there\n * is no runtime inference based on config string shapes.\n */\nexport function createRouteHmrStatement(\n stableRouteOptionKeys: Array<string>,\n opts: CreateRouteHmrStatementOpts,\n): Array<t.Statement> {\n const routeId = opts.routeId === '/__root' ? '__root__' : opts.routeId\n\n if (opts.hmrStyle === 'webpack') {\n return createWebpackHmrStatement(stableRouteOptionKeys, {\n targetFramework: opts.targetFramework,\n routeId,\n })\n }\n return createViteHmrStatement(stableRouteOptionKeys, {\n routeId,\n })\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgB,wBACd,uBACA,MACoB;CACpB,MAAM,UAAU,KAAK,YAAY,YAAY,aAAa,KAAK;AAE/D,KAAI,KAAK,aAAa,UACpB,QAAO,wBAAA,0BAA0B,uBAAuB;EACtD,iBAAiB,KAAK;EACtB;EACD,CAAC;AAEJ,QAAO,qBAAA,uBAAuB,uBAAuB,EACnD,SACD,CAAC"}