@tanstack/router-plugin
Version:
Modern and scalable routing for React applications
58 lines (57 loc) • 1.77 kB
JavaScript
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