UNPKG

@tanstack/router-plugin

Version:

Modern and scalable routing for React applications

58 lines (57 loc) 1.77 kB
import { configSchema } from "./core/config.js"; import { unpluginRouterCodeSplitterFactory } from "./core/router-code-splitter-plugin.js"; import { unpluginRouterGeneratorFactory } from "./core/router-generator-plugin.js"; import { unpluginRouterComposedFactory } from "./core/router-composed-plugin.js"; import { createWebpackPlugin } from "unplugin"; //#region src/webpack.ts /** * Webpack uses `module.hot` / `import.meta.webpackHot` HMR. Force * `plugin.hmr.style = 'webpack'` so the router HMR adapter emits the correct * accept/dispose shape regardless of user config. */ function withWebpackHmrStyle(options) { return { ...options, plugin: { ...options?.plugin, hmr: { ...options?.plugin?.hmr, style: "webpack" } } }; } /** * @example * ```ts * export default { * // ... * plugins: [TanStackRouterGeneratorWebpack()], * } * ``` */ var TanStackRouterGeneratorWebpack = /* @__PURE__ */ createWebpackPlugin(unpluginRouterGeneratorFactory); /** * @example * ```ts * export default { * // ... * plugins: [TanStackRouterCodeSplitterWebpack()], * } * ``` */ var TanStackRouterCodeSplitterWebpack = /* @__PURE__ */ createWebpackPlugin((options, meta) => unpluginRouterCodeSplitterFactory(withWebpackHmrStyle(options), meta)); /** * @example * ```ts * export default { * // ... * plugins: [tanstackRouter()], * } * ``` */ var TanStackRouterWebpack = /* @__PURE__ */ createWebpackPlugin((options, meta) => unpluginRouterComposedFactory(withWebpackHmrStyle(options), meta)); var tanstackRouter = TanStackRouterWebpack; //#endregion export { TanStackRouterCodeSplitterWebpack, TanStackRouterGeneratorWebpack, TanStackRouterWebpack, TanStackRouterWebpack as default, configSchema, tanstackRouter }; //# sourceMappingURL=webpack.js.map