@react-router/dev 0.0.0-experimental-8265d95da → 0.0.0-experimental-1b459f580

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @react-router/dev v0.0.0-experimental-8265d95da
3
+ * @react-router/dev v0.0.0-experimental-1b459f580
4
4
  *
5
5
  * Copyright (c) Remix Software Inc.
6
6
  *
package/dist/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-8265d95da
2
+ * @react-router/dev v0.0.0-experimental-1b459f580
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/routes.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-8265d95da
2
+ * @react-router/dev v0.0.0-experimental-1b459f580
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-8265d95da
2
+ * @react-router/dev v0.0.0-experimental-1b459f580
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/vite.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-8265d95da
2
+ * @react-router/dev v0.0.0-experimental-1b459f580
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -2403,14 +2403,27 @@ var getPublicModulePathForEntry = (ctx, viteManifest, entryFilePath) => {
2403
2403
  let entryChunk = resolveChunk(ctx, viteManifest, entryFilePath);
2404
2404
  return entryChunk ? `${ctx.publicPath}${entryChunk.file}` : void 0;
2405
2405
  };
2406
- var getReactRouterManifestBuildAssets = (ctx, viteManifest, entryFilePath, prependedAssetFilePaths = []) => {
2406
+ var getCssCodeSplitDisabledFile = (ctx, viteConfig, viteManifest) => {
2407
+ if (viteConfig.build.cssCodeSplit) {
2408
+ return null;
2409
+ }
2410
+ let cssFile = viteManifest["style.css"]?.file;
2411
+ invariant(
2412
+ cssFile,
2413
+ "Expected `style.css` to be present in Vite manifest when `build.cssCodeSplit` is disabled"
2414
+ );
2415
+ return `${ctx.publicPath}${cssFile}`;
2416
+ };
2417
+ var getClientEntryChunk = (ctx, viteManifest) => {
2418
+ let filePath = ctx.entryClientFilePath;
2419
+ let chunk = resolveChunk(ctx, viteManifest, filePath);
2420
+ invariant(chunk, `Chunk not found: ${filePath}`);
2421
+ return chunk;
2422
+ };
2423
+ var getReactRouterManifestBuildAssets = (ctx, viteConfig, viteManifest, entryFilePath, route) => {
2407
2424
  let entryChunk = resolveChunk(ctx, viteManifest, entryFilePath);
2408
- invariant(entryChunk, "Chunk not found");
2409
- let prependedAssetChunks = prependedAssetFilePaths.map((filePath) => {
2410
- let chunk = resolveChunk(ctx, viteManifest, filePath);
2411
- invariant(chunk, "Chunk not found");
2412
- return chunk;
2413
- });
2425
+ invariant(entryChunk, `Chunk not found: ${entryFilePath}`);
2426
+ let isRootRoute = Boolean(route && route.parentId === void 0);
2414
2427
  let routeModuleChunks = routeChunkNames.map(
2415
2428
  (routeChunkName) => resolveChunk(
2416
2429
  ctx,
@@ -2418,19 +2431,31 @@ var getReactRouterManifestBuildAssets = (ctx, viteManifest, entryFilePath, prepe
2418
2431
  getRouteChunkModuleId(entryFilePath.split("?")[0], routeChunkName)
2419
2432
  )
2420
2433
  ).filter(isNonNullable);
2421
- let chunks = resolveDependantChunks(viteManifest, [
2422
- ...prependedAssetChunks,
2423
- entryChunk,
2424
- ...routeModuleChunks
2425
- ]);
2434
+ let chunks = resolveDependantChunks(
2435
+ viteManifest,
2436
+ [
2437
+ // If this is the root route, we also need to include assets from the
2438
+ // client entry file as this is a common way for consumers to import
2439
+ // global reset styles, etc.
2440
+ isRootRoute ? getClientEntryChunk(ctx, viteManifest) : null,
2441
+ entryChunk,
2442
+ routeModuleChunks
2443
+ ].flat(1).filter(isNonNullable)
2444
+ );
2426
2445
  return {
2427
2446
  module: `${ctx.publicPath}${entryChunk.file}`,
2428
2447
  imports: dedupe(chunks.flatMap((e) => e.imports ?? [])).map((imported) => {
2429
2448
  return `${ctx.publicPath}${viteManifest[imported].file}`;
2430
2449
  }) ?? [],
2431
- css: dedupe(chunks.flatMap((e) => e.css ?? [])).map((href) => {
2432
- return `${ctx.publicPath}${href}`;
2433
- }) ?? []
2450
+ css: dedupe(
2451
+ [
2452
+ // If CSS code splitting is disabled, Vite includes a singular 'style.css' asset
2453
+ // in the manifest that isn't tied to any route file. If we want to render these
2454
+ // styles correctly, we need to include them in the root route.
2455
+ isRootRoute ? getCssCodeSplitDisabledFile(ctx, viteConfig, viteManifest) : null,
2456
+ chunks.flatMap((e) => e.css ?? []).map((href) => `${ctx.publicPath}${href}`)
2457
+ ].flat(1).filter(isNonNullable)
2458
+ )
2434
2459
  };
2435
2460
  };
2436
2461
  function resolveDependantChunks(viteManifest, entryChunks) {
@@ -2744,16 +2769,19 @@ var reactRouterVitePlugin = () => {
2744
2769
  return sriManifest;
2745
2770
  };
2746
2771
  let generateReactRouterManifestsForBuild = async ({
2772
+ viteConfig: viteConfig2,
2747
2773
  routeIds
2748
2774
  }) => {
2749
- invariant(viteConfig);
2775
+ invariant(viteConfig2);
2750
2776
  let viteManifest = await loadViteManifest(
2751
2777
  getClientBuildDirectory(ctx.reactRouterConfig)
2752
2778
  );
2753
2779
  let entry = getReactRouterManifestBuildAssets(
2754
2780
  ctx,
2781
+ viteConfig2,
2755
2782
  viteManifest,
2756
- ctx.entryClientFilePath
2783
+ ctx.entryClientFilePath,
2784
+ null
2757
2785
  );
2758
2786
  let browserRoutes = {};
2759
2787
  let serverRoutes = {};
@@ -2765,7 +2793,6 @@ var reactRouterVitePlugin = () => {
2765
2793
  for (let route of Object.values(ctx.reactRouterConfig.routes)) {
2766
2794
  let routeFile = path5.join(ctx.reactRouterConfig.appDirectory, route.file);
2767
2795
  let sourceExports = routeManifestExports[route.id];
2768
- let isRootRoute = route.parentId === void 0;
2769
2796
  let hasClientAction = sourceExports.includes("clientAction");
2770
2797
  let hasClientLoader = sourceExports.includes("clientLoader");
2771
2798
  let hasClientMiddleware = sourceExports.includes(
@@ -2804,12 +2831,10 @@ var reactRouterVitePlugin = () => {
2804
2831
  hasErrorBoundary: sourceExports.includes("ErrorBoundary"),
2805
2832
  ...getReactRouterManifestBuildAssets(
2806
2833
  ctx,
2834
+ viteConfig2,
2807
2835
  viteManifest,
2808
2836
  `${routeFile}${BUILD_CLIENT_ROUTE_QUERY_STRING}`,
2809
- // If this is the root route, we also need to include assets from the
2810
- // client entry file as this is a common way for consumers to import
2811
- // global reset styles, etc.
2812
- isRootRoute ? [ctx.entryClientFilePath] : []
2837
+ route
2813
2838
  ),
2814
2839
  clientActionModule: hasRouteChunkByExportName.clientAction ? getPublicModulePathForEntry(
2815
2840
  ctx,
@@ -2840,7 +2865,7 @@ var reactRouterVitePlugin = () => {
2840
2865
  let fingerprintedValues = { entry, routes: browserRoutes };
2841
2866
  let version = getHash(JSON.stringify(fingerprintedValues), 8);
2842
2867
  let manifestPath = path5.posix.join(
2843
- viteConfig.build.assetsDir,
2868
+ viteConfig2.build.assetsDir,
2844
2869
  `manifest-${version}.js`
2845
2870
  );
2846
2871
  let url2 = `${ctx.publicPath}${manifestPath}`;
@@ -3610,7 +3635,9 @@ var reactRouterVitePlugin = () => {
3610
3635
  }
3611
3636
  case virtual.serverManifest.resolvedId: {
3612
3637
  let routeIds = getServerBundleRouteIds(this, ctx);
3638
+ invariant(viteConfig);
3613
3639
  let reactRouterManifest = viteCommand === "build" ? (await generateReactRouterManifestsForBuild({
3640
+ viteConfig,
3614
3641
  routeIds
3615
3642
  })).reactRouterServerManifest : await getReactRouterManifestForDev();
3616
3643
  if (!ctx.reactRouterConfig.ssr) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-8265d95da",
3
+ "version": "0.0.0-experimental-1b459f580",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -60,6 +60,7 @@
60
60
  }
61
61
  },
62
62
  "dependencies": {
63
+ "isbot": "^5.1.11",
63
64
  "@babel/core": "^7.27.7",
64
65
  "@babel/generator": "^7.27.5",
65
66
  "@babel/parser": "^7.27.7",
@@ -85,7 +86,7 @@
85
86
  "tinyglobby": "^0.2.14",
86
87
  "valibot": "^0.41.0",
87
88
  "vite-node": "^3.2.2",
88
- "@react-router/node": "0.0.0-experimental-8265d95da"
89
+ "@react-router/node": "0.0.0-experimental-1b459f580"
89
90
  },
90
91
  "devDependencies": {
91
92
  "@types/babel__core": "^7.20.5",
@@ -108,16 +109,16 @@
108
109
  "typescript": "^5.1.6",
109
110
  "vite": "^6.1.0",
110
111
  "wireit": "0.14.9",
111
- "wrangler": "^4.2.0",
112
- "@react-router/serve": "0.0.0-experimental-8265d95da",
113
- "react-router": "^0.0.0-experimental-8265d95da"
112
+ "wrangler": "^4.23.0",
113
+ "react-router": "^0.0.0-experimental-1b459f580",
114
+ "@react-router/serve": "0.0.0-experimental-1b459f580"
114
115
  },
115
116
  "peerDependencies": {
116
117
  "typescript": "^5.1.0",
117
118
  "vite": "^5.1.0 || ^6.0.0 || ^7.0.0",
118
119
  "wrangler": "^3.28.2 || ^4.0.0",
119
- "@react-router/serve": "^0.0.0-experimental-8265d95da",
120
- "react-router": "^0.0.0-experimental-8265d95da"
120
+ "@react-router/serve": "^0.0.0-experimental-1b459f580",
121
+ "react-router": "^0.0.0-experimental-1b459f580"
121
122
  },
122
123
  "peerDependenciesMeta": {
123
124
  "@react-router/serve": {