@react-router/dev 0.0.0-experimental-07f9b5e04 → 0.0.0-experimental-42a5853ef

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.
@@ -10,4 +10,4 @@ export declare function generateEntry(entry: string, reactRouterRoot: string, fl
10
10
  typescript?: boolean;
11
11
  config?: string;
12
12
  }): Promise<void>;
13
- export declare function typegen(root?: string): Promise<void>;
13
+ export declare function typegen(root: string): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -166,9 +166,10 @@ async function typegen(root) {
166
166
  root
167
167
  });
168
168
  await typegen$1.writeAll({
169
- rootDirectory: ctx.rootDirectory,
170
- appDirectory: ctx.reactRouterConfig.appDirectory
171
- }, ctx.reactRouterConfig.routes);
169
+ rootDirectory: root,
170
+ appDirectory: ctx.reactRouterConfig.appDirectory,
171
+ routes: ctx.reactRouterConfig.routes
172
+ });
172
173
  }
173
174
 
174
175
  exports.build = build;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/cli/run.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/colors.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/invariant.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -1,6 +1,4 @@
1
1
  import type ts from "typescript/lib/tsserverlibrary";
2
- export default function init(modules: {
3
- typescript: typeof ts;
4
- }): {
2
+ export default function init(): {
5
3
  create: (info: ts.server.PluginCreateInfo) => ts.LanguageService;
6
4
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -34,18 +34,14 @@ function _interopNamespace(e) {
34
34
  var Path__namespace = /*#__PURE__*/_interopNamespace(Path);
35
35
 
36
36
  // For compatibility with the TS language service plugin API, this entrypoint:
37
- function init(modules) {
37
+ function init() {
38
38
  function create(info) {
39
39
  const {
40
40
  logger
41
41
  } = info.project.projectService;
42
42
  logger.info("[react-router] setup");
43
43
  const rootDirectory = Path__namespace.normalize(info.project.getCurrentDirectory());
44
- const ctx = {
45
- rootDirectory,
46
- appDirectory: Path__namespace.join(rootDirectory, "app")
47
- };
48
- typegen.watch(ctx);
44
+ typegen.watch(rootDirectory);
49
45
  return info.languageService;
50
46
  }
51
47
  return {
@@ -2,8 +2,9 @@ import { type RouteManifest, type RouteManifestEntry } from "../config/routes";
2
2
  type Context = {
3
3
  rootDirectory: string;
4
4
  appDirectory: string;
5
+ routes: RouteManifest;
5
6
  };
6
7
  export declare function getPath(ctx: Context, route: RouteManifestEntry): string;
7
- export declare function watch(ctx: Context): Promise<void>;
8
- export declare function writeAll(ctx: Context, routes: RouteManifest): Promise<void>;
8
+ export declare function watch(rootDirectory: string): Promise<void>;
9
+ export declare function writeAll(ctx: Context): Promise<void>;
9
10
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -19,6 +19,8 @@ var Path = require('pathe');
19
19
  var Pathe = require('pathe/utils');
20
20
  var routes = require('../config/routes.js');
21
21
  var viteNode = require('../vite/vite-node.js');
22
+ var config = require('../vite/config.js');
23
+ var plugin = require('../vite/plugin.js');
22
24
 
23
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
26
 
@@ -50,49 +52,67 @@ function getDirectory(ctx) {
50
52
  return Path__namespace.join(ctx.rootDirectory, ".react-router/types");
51
53
  }
52
54
  function getPath(ctx, route) {
53
- return Path__namespace.join(getDirectory(ctx), "app", Path__namespace.dirname(route.file), "+types." + Path__namespace.basename(route.file));
55
+ return Path__namespace.join(getDirectory(ctx), "app", Path__namespace.dirname(route.file), "+types." + Pathe__namespace.filename(route.file) + ".d.ts");
54
56
  }
55
- async function watch(ctx) {
56
- const appDirectory = Path__namespace.normalize(ctx.appDirectory);
57
- const routesTsPath = Path__namespace.join(appDirectory, "routes.ts");
57
+ async function watch(rootDirectory) {
58
+ const vitePluginCtx = await plugin.loadPluginContext({
59
+ root: rootDirectory
60
+ });
61
+ const routesTsPath = Path__namespace.join(vitePluginCtx.reactRouterConfig.appDirectory, "routes.ts");
58
62
  const routesViteNodeContext = await viteNode.createContext({
59
- root: ctx.rootDirectory
63
+ root: rootDirectory
60
64
  });
61
65
  async function getRoutes() {
66
+ const routes$1 = {};
67
+ const rootRouteFile = config.findEntry(vitePluginCtx.reactRouterConfig.appDirectory, "root");
68
+ if (rootRouteFile) {
69
+ routes$1.root = {
70
+ path: "",
71
+ id: "root",
72
+ file: rootRouteFile
73
+ };
74
+ }
62
75
  routesViteNodeContext.devServer.moduleGraph.invalidateAll();
63
76
  routesViteNodeContext.runner.moduleCache.clear();
64
77
  const result = await routesViteNodeContext.runner.executeFile(routesTsPath);
65
- return routes.configRoutesToRouteManifest(result.routes);
78
+ return {
79
+ ...routes$1,
80
+ ...routes.configRoutesToRouteManifest(result.routes)
81
+ };
66
82
  }
67
- const initialRoutes = await getRoutes();
68
- await writeAll(ctx, initialRoutes);
69
- const watcher = Chokidar__default["default"].watch(appDirectory, {
83
+ const ctx = {
84
+ rootDirectory,
85
+ appDirectory: vitePluginCtx.reactRouterConfig.appDirectory,
86
+ routes: await getRoutes()
87
+ };
88
+ await writeAll(ctx);
89
+ const watcher = Chokidar__default["default"].watch(ctx.appDirectory, {
70
90
  ignoreInitial: true
71
91
  });
72
92
  watcher.on("all", async (event, path) => {
73
93
  path = Path__namespace.normalize(path);
74
- const routes = await getRoutes();
94
+ ctx.routes = await getRoutes();
75
95
  const routeConfigChanged = Boolean(routesViteNodeContext.devServer.moduleGraph.getModuleById(path));
76
96
  if (routeConfigChanged) {
77
- await writeAll(ctx, routes);
97
+ await writeAll(ctx);
78
98
  return;
79
99
  }
80
- const isRoute = Object.values(routes).find(route => path === Path__namespace.join(ctx.appDirectory, route.file));
100
+ const isRoute = Object.values(ctx.routes).find(route => path === Path__namespace.join(ctx.appDirectory, route.file));
81
101
  if (isRoute && (event === "add" || event === "unlink")) {
82
- await writeAll(ctx, routes);
102
+ await writeAll(ctx);
83
103
  return;
84
104
  }
85
105
  });
86
106
  }
87
- async function writeAll(ctx, routes) {
107
+ async function writeAll(ctx) {
88
108
  fs__default["default"].rmSync(getDirectory(ctx), {
89
109
  recursive: true,
90
110
  force: true
91
111
  });
92
- Object.values(routes).forEach(route => {
112
+ Object.values(ctx.routes).forEach(route => {
93
113
  if (!fs__default["default"].existsSync(Path__namespace.join(ctx.appDirectory, route.file))) return;
94
114
  const typesPath = getPath(ctx, route);
95
- const content = getModule(routes, route);
115
+ const content = getModule(ctx.routes, route);
96
116
  fs__default["default"].mkdirSync(Path__namespace.dirname(typesPath), {
97
117
  recursive: true
98
118
  });
@@ -119,7 +139,7 @@ function getModule(routes, route) {
119
139
  export type ClientActionArgs = T.CreateClientActionArgs<Params, Route>
120
140
 
121
141
  export type HydrateFallbackProps = T.CreateHydrateFallbackProps<Params>
122
- export type DefaultProps = T.CreateDefaultProps<Params, LoaderData, ActionData>
142
+ export type ComponentProps = T.CreateComponentProps<Params, LoaderData, ActionData>
123
143
  export type ErrorBoundaryProps = T.CreateErrorBoundaryProps<Params, LoaderData, ActionData>
124
144
  `;
125
145
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -230,4 +230,5 @@ export declare function resolveEntryFiles({ rootDirectory, reactRouterConfig, }:
230
230
  entryClientFilePath: string;
231
231
  entryServerFilePath: string;
232
232
  }>;
233
+ export declare function findEntry(dir: string, basename: string): string | undefined;
233
234
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -276,6 +276,7 @@ function findEntry(dir, basename) {
276
276
  }
277
277
 
278
278
  exports.configRouteToBranchRoute = configRouteToBranchRoute;
279
+ exports.findEntry = findEntry;
279
280
  exports.resolveEntryFiles = resolveEntryFiles;
280
281
  exports.resolvePublicPath = resolvePublicPath;
281
282
  exports.resolveReactRouterConfig = resolveReactRouterConfig;
package/dist/vite/dev.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -487,6 +487,7 @@ const reactRouterVitePlugin = _config => {
487
487
  viteConfigEnv = _viteConfigEnv;
488
488
  viteCommand = viteConfigEnv.command;
489
489
  routesViteNodeContext = await viteNode.createContext({
490
+ root: viteUserConfig.root,
490
491
  mode: viteConfigEnv.mode,
491
492
  server: {
492
493
  watch: viteCommand === "build" ? null : undefined
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/dist/vite/vmod.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @react-router/dev v0.0.0-experimental-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
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-07f9b5e04
2
+ * @react-router/dev v0.0.0-experimental-42a5853ef
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-router/dev",
3
- "version": "0.0.0-experimental-07f9b5e04",
3
+ "version": "0.0.0-experimental-42a5853ef",
4
4
  "description": "Dev tools and CLI for React Router",
5
5
  "homepage": "https://reactrouter.com",
6
6
  "bugs": {
@@ -61,7 +61,7 @@
61
61
  "set-cookie-parser": "^2.6.0",
62
62
  "valibot": "^0.41.0",
63
63
  "vite-node": "^1.6.0",
64
- "@react-router/node": "0.0.0-experimental-07f9b5e04"
64
+ "@react-router/node": "0.0.0-experimental-42a5853ef"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/babel__core": "^7.20.5",
@@ -87,15 +87,15 @@
87
87
  "tiny-invariant": "^1.2.0",
88
88
  "vite": "^5.1.0",
89
89
  "wrangler": "^3.28.2",
90
- "@react-router/serve": "0.0.0-experimental-07f9b5e04",
91
- "react-router": "^0.0.0-experimental-07f9b5e04"
90
+ "react-router": "^0.0.0-experimental-42a5853ef",
91
+ "@react-router/serve": "0.0.0-experimental-42a5853ef"
92
92
  },
93
93
  "peerDependencies": {
94
94
  "typescript": "^5.1.0",
95
95
  "vite": "^5.1.0",
96
96
  "wrangler": "^3.28.2",
97
- "@react-router/serve": "^0.0.0-experimental-07f9b5e04",
98
- "react-router": "^0.0.0-experimental-07f9b5e04"
97
+ "@react-router/serve": "^0.0.0-experimental-42a5853ef",
98
+ "react-router": "^0.0.0-experimental-42a5853ef"
99
99
  },
100
100
  "peerDependenciesMeta": {
101
101
  "@react-router/serve": {