@react-router/dev 0.0.0-experimental-2d8f5c807 → 0.0.0-experimental-303421afa

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # `@react-router/dev`
2
2
 
3
+ ## 7.9.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Use a dynamic `import()` to load ESM-only `p-map` dependency to avoid issues on Node 20.18 and below ([#14492](https://github.com/remix-run/react-router/pull/14492))
8
+ - Short circuit `HEAD` document requests before calling `renderToPipeableStream` in the default `entry.server.tsx` to more closely align with the [spec](https://httpwg.org/specs/rfc9110.html#HEAD) ([#14488](https://github.com/remix-run/react-router/pull/14488))
9
+ - Updated dependencies:
10
+ - `react-router@7.9.6`
11
+ - `@react-router/node@7.9.6`
12
+ - `@react-router/serve@7.9.6`
13
+
3
14
  ## 7.9.5
4
15
 
5
16
  ### Patch Changes
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-2d8f5c807
3
+ * @react-router/dev v0.0.0-experimental-303421afa
4
4
  *
5
5
  * Copyright (c) Remix Software Inc.
6
6
  *
@@ -718,17 +718,17 @@ function isEntryFileDependency(moduleGraph, entryFilepath, filepath, visited = /
718
718
  }
719
719
  return false;
720
720
  }
721
- var import_node_fs, import_node_child_process, import_package_json, import_pathe3, import_chokidar, import_picocolors, import_pick2, import_omit, import_cloneDeep, import_isEqual, excludedConfigPresetKeys, mergeReactRouterConfig, deepFreeze, entryExts;
721
+ var import_node_fs, import_node_child_process, import_pathe3, import_chokidar, import_picocolors, import_pkg_types, import_pick2, import_omit, import_cloneDeep, import_isEqual, excludedConfigPresetKeys, mergeReactRouterConfig, deepFreeze, entryExts;
722
722
  var init_config = __esm({
723
723
  "config/config.ts"() {
724
724
  "use strict";
725
725
  import_node_fs = __toESM(require("fs"));
726
726
  import_node_child_process = require("child_process");
727
- import_package_json = __toESM(require("@npmcli/package-json"));
728
727
  init_vite_node();
729
728
  import_pathe3 = __toESM(require("pathe"));
730
729
  import_chokidar = __toESM(require("chokidar"));
731
730
  import_picocolors = __toESM(require("picocolors"));
731
+ import_pkg_types = require("pkg-types");
732
732
  import_pick2 = __toESM(require("lodash/pick"));
733
733
  import_omit = __toESM(require("lodash/omit"));
734
734
  import_cloneDeep = __toESM(require("lodash/cloneDeep"));
@@ -2142,9 +2142,9 @@ var import_picocolors9 = __toESM(require("picocolors"));
2142
2142
  var import_node_fs4 = require("fs");
2143
2143
  var import_promises3 = require("fs/promises");
2144
2144
  var path8 = __toESM(require("path"));
2145
- var import_package_json2 = __toESM(require("@npmcli/package-json"));
2146
2145
  var import_exit_hook = __toESM(require("exit-hook"));
2147
2146
  var import_picocolors8 = __toESM(require("picocolors"));
2147
+ var import_pkg_types2 = require("pkg-types");
2148
2148
  var import_react_router3 = require("react-router");
2149
2149
  init_config();
2150
2150
 
@@ -2308,8 +2308,8 @@ async function generateEntry(entry, rootDirectory, flags = {}) {
2308
2308
  );
2309
2309
  return;
2310
2310
  }
2311
- let pkgJson = await import_package_json2.default.load(rootDirectory);
2312
- let deps = pkgJson.content.dependencies ?? {};
2311
+ let pkgJson = await (0, import_pkg_types2.readPackageJSON)(rootDirectory);
2312
+ let deps = pkgJson.dependencies ?? {};
2313
2313
  if (!deps["@react-router/node"]) {
2314
2314
  console.error(import_picocolors8.default.red(`No default server entry detected.`));
2315
2315
  return;
@@ -37,7 +37,7 @@ export default async function handler(request: Request) {
37
37
  const ssr = await import.meta.viteRsc.loadModule<
38
38
  typeof import("./entry.ssr")
39
39
  >("ssr", "index");
40
- return ssr.default(request, fetchServer);
40
+ return ssr.default(request, await fetchServer(request));
41
41
  }
42
42
 
43
43
  if (import.meta.hot) {
@@ -8,14 +8,14 @@ import {
8
8
 
9
9
  export default async function handler(
10
10
  request: Request,
11
- fetchServer: (request: Request) => Promise<Response>,
11
+ serverResponse: Response,
12
12
  ) {
13
13
  const bootstrapScriptContent =
14
14
  await import.meta.viteRsc.loadBootstrapScriptContent("index");
15
15
 
16
16
  return routeRSCServerRequest({
17
17
  request,
18
- fetchServer,
18
+ serverResponse,
19
19
  createFromReadableStream,
20
20
  async renderHTML(getPayload) {
21
21
  const payload = getPayload();
package/dist/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-2d8f5c807
2
+ * @react-router/dev v0.0.0-experimental-303421afa
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-2d8f5c807
2
+ * @react-router/dev v0.0.0-experimental-303421afa
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-2d8f5c807
2
+ * @react-router/dev v0.0.0-experimental-303421afa
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -108,7 +108,6 @@ function getVite() {
108
108
  // config/config.ts
109
109
  var import_node_fs = __toESM(require("fs"));
110
110
  var import_node_child_process = require("child_process");
111
- var import_package_json = __toESM(require("@npmcli/package-json"));
112
111
 
113
112
  // vite/ssr-externals.ts
114
113
  var ssrExternals = isReactRouterRepo() ? [
@@ -188,6 +187,7 @@ async function createContext({
188
187
  var import_pathe3 = __toESM(require("pathe"));
189
188
  var import_chokidar = __toESM(require("chokidar"));
190
189
  var import_picocolors = __toESM(require("picocolors"));
190
+ var import_pkg_types = require("pkg-types");
191
191
  var import_pick2 = __toESM(require("lodash/pick"));
192
192
  var import_omit = __toESM(require("lodash/omit"));
193
193
  var import_cloneDeep = __toESM(require("lodash/cloneDeep"));
package/dist/vite.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-2d8f5c807
2
+ * @react-router/dev v0.0.0-experimental-303421afa
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -68,7 +68,6 @@ var import_picocolors2 = require("picocolors");
68
68
  // config/config.ts
69
69
  var import_node_fs = __toESM(require("fs"));
70
70
  var import_node_child_process = require("child_process");
71
- var import_package_json = __toESM(require("@npmcli/package-json"));
72
71
 
73
72
  // vite/vite.ts
74
73
  var import_pathe2 = __toESM(require("pathe"));
@@ -192,6 +191,7 @@ async function createContext({
192
191
  var import_pathe3 = __toESM(require("pathe"));
193
192
  var import_chokidar = __toESM(require("chokidar"));
194
193
  var import_picocolors = __toESM(require("picocolors"));
194
+ var import_pkg_types = require("pkg-types");
195
195
  var import_pick2 = __toESM(require("lodash/pick"));
196
196
  var import_omit = __toESM(require("lodash/omit"));
197
197
  var import_cloneDeep = __toESM(require("lodash/cloneDeep"));
@@ -736,8 +736,8 @@ async function resolveEntryFiles({
736
736
  );
737
737
  }
738
738
  let packageJsonDirectory = import_pathe3.default.dirname(packageJsonPath);
739
- let pkgJson = await import_package_json.default.load(packageJsonDirectory);
740
- let deps = pkgJson.content.dependencies ?? {};
739
+ let pkgJson = await (0, import_pkg_types.readPackageJSON)(packageJsonDirectory);
740
+ let deps = pkgJson.dependencies ?? {};
741
741
  if (!deps["@react-router/node"]) {
742
742
  throw new Error(
743
743
  `Could not determine server runtime. Please install @react-router/node, or provide a custom entry.server.tsx/jsx file in your app directory.`
@@ -747,13 +747,11 @@ async function resolveEntryFiles({
747
747
  console.log(
748
748
  "adding `isbot@5` to your package.json, you should commit this change"
749
749
  );
750
- pkgJson.update({
751
- dependencies: {
752
- ...pkgJson.content.dependencies,
753
- isbot: "^5"
754
- }
750
+ await (0, import_pkg_types.updatePackage)(packageJsonPath, (pkg) => {
751
+ pkg.dependencies ??= {};
752
+ pkg.dependencies.isbot = "^5";
753
+ (0, import_pkg_types.sortPackage)(pkg);
755
754
  });
756
- await pkgJson.save();
757
755
  let packageManager = detectPackageManager() ?? "npm";
758
756
  (0, import_node_child_process.execSync)(`${packageManager} install`, {
759
757
  cwd: packageJsonDirectory,
@@ -3190,17 +3188,17 @@ var reactRouterVitePlugin = () => {
3190
3188
  logger: vite2.createLogger("warn", { prefix: "[react-router]" })
3191
3189
  });
3192
3190
  }
3191
+ await loadDotenv({
3192
+ rootDirectory,
3193
+ viteUserConfig,
3194
+ mode
3195
+ });
3193
3196
  reactRouterConfigLoader = await createConfigLoader({
3194
3197
  rootDirectory,
3195
3198
  mode,
3196
3199
  watch: viteCommand === "serve"
3197
3200
  });
3198
3201
  await updatePluginContext();
3199
- await loadDotenv({
3200
- rootDirectory,
3201
- viteUserConfig,
3202
- mode
3203
- });
3204
3202
  let environments = await getEnvironmentsOptions(ctx, viteCommand, {
3205
3203
  viteUserConfig
3206
3204
  });
@@ -5337,6 +5335,11 @@ function reactRouterRSCVitePlugin() {
5337
5335
  viteCommand = command;
5338
5336
  const rootDirectory = getRootDirectory(viteUserConfig);
5339
5337
  const watch2 = command === "serve";
5338
+ await loadDotenv({
5339
+ rootDirectory,
5340
+ viteUserConfig,
5341
+ mode
5342
+ });
5340
5343
  configLoader = await createConfigLoader({
5341
5344
  rootDirectory,
5342
5345
  mode,
@@ -5372,11 +5375,6 @@ ${errors.map((x) => ` - ${x}`).join("\n")}
5372
5375
  "When using the React Router `basename` and the Vite `base` config, the `basename` config must begin with `base` for the default Vite dev server."
5373
5376
  );
5374
5377
  }
5375
- await loadDotenv({
5376
- rootDirectory,
5377
- viteUserConfig,
5378
- mode
5379
- });
5380
5378
  const vite2 = await import("vite");
5381
5379
  logger = vite2.createLogger(viteUserConfig.logLevel, {
5382
5380
  prefix: "[react-router]"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-2d8f5c807",
3
+ "version": "0.0.0-experimental-303421afa",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -67,7 +67,6 @@
67
67
  "@babel/preset-typescript": "^7.27.1",
68
68
  "@babel/traverse": "^7.27.7",
69
69
  "@babel/types": "^7.27.7",
70
- "@npmcli/package-json": "^4.0.1",
71
70
  "@remix-run/node-fetch-server": "^0.9.0",
72
71
  "arg": "^5.0.1",
73
72
  "babel-dead-code-elimination": "^1.0.6",
@@ -81,13 +80,14 @@
81
80
  "p-map": "^7.0.3",
82
81
  "pathe": "^1.1.2",
83
82
  "picocolors": "^1.1.1",
83
+ "pkg-types": "^2.3.0",
84
84
  "prettier": "^3.6.2",
85
85
  "react-refresh": "^0.14.0",
86
86
  "semver": "^7.3.7",
87
87
  "tinyglobby": "^0.2.14",
88
88
  "valibot": "^1.1.0",
89
89
  "vite-node": "^3.2.2",
90
- "@react-router/node": "0.0.0-experimental-2d8f5c807"
90
+ "@react-router/node": "0.0.0-experimental-303421afa"
91
91
  },
92
92
  "devDependencies": {
93
93
  "@types/babel__core": "^7.20.5",
@@ -107,19 +107,19 @@
107
107
  "fast-glob": "3.2.11",
108
108
  "tsup": "^8.3.0",
109
109
  "typescript": "^5.1.6",
110
- "vite": "^6.1.0",
110
+ "vite": "^6.3.0",
111
111
  "wireit": "0.14.9",
112
112
  "wrangler": "^4.23.0",
113
- "@react-router/serve": "0.0.0-experimental-2d8f5c807",
114
- "react-router": "^0.0.0-experimental-2d8f5c807"
113
+ "react-router": "^0.0.0-experimental-303421afa",
114
+ "@react-router/serve": "0.0.0-experimental-303421afa"
115
115
  },
116
116
  "peerDependencies": {
117
117
  "@vitejs/plugin-rsc": "*",
118
118
  "typescript": "^5.1.0",
119
119
  "vite": "^5.1.0 || ^6.0.0 || ^7.0.0",
120
120
  "wrangler": "^3.28.2 || ^4.0.0",
121
- "react-router": "^0.0.0-experimental-2d8f5c807",
122
- "@react-router/serve": "^0.0.0-experimental-2d8f5c807"
121
+ "@react-router/serve": "^0.0.0-experimental-303421afa",
122
+ "react-router": "^0.0.0-experimental-303421afa"
123
123
  },
124
124
  "peerDependenciesMeta": {
125
125
  "@vitejs/plugin-rsc": {