Skip to content

Commit

Permalink
fix: applying resolve.alias config
Browse files Browse the repository at this point in the history
  • Loading branch information
lazarv committed Sep 15, 2024
1 parent 9c4b88b commit fb4fa88
Show file tree
Hide file tree
Showing 10 changed files with 45 additions and 18 deletions.
3 changes: 1 addition & 2 deletions examples/photos/src/app/(root).layout.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import "./global.css";

import GithubCorner from "@/components/github-corner/GithubCorner";
import { ReactServerComponent } from "@lazarv/react-server/navigation";

import GithubCorner from "../components/github-corner/GithubCorner";

export default function Layout({
modal,
children,
Expand Down
6 changes: 3 additions & 3 deletions examples/photos/src/app/@modal/photos/[id].page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Frame from "../../../components/frame/Frame";
import Modal from "../../../components/modal/Modal";
import photos from "../../../photos";
import Frame from "@/components/frame/Frame";
import Modal from "@/components/modal/Modal";
import photos from "@/photos";

export default function PhotoModal({ id: photoId }: { id: string }) {
const photo = photos.find((p) => p.id === photoId);
Expand Down
3 changes: 1 addition & 2 deletions examples/photos/src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import swagPhotos from "@/photos";
import { Link } from "@lazarv/react-server/navigation";

import swagPhotos from "../photos";

export const ttl = 30000;

export default function Home() {
Expand Down
2 changes: 1 addition & 1 deletion examples/photos/src/components/frame/Frame.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Photo } from "../../photos";
import { Photo } from "@/photos";

export default function Frame({ photo }: { photo: Photo }) {
return (
Expand Down
6 changes: 5 additions & 1 deletion examples/photos/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
"types": ["react/experimental", "react-dom/experimental"],
"module": "ESNext",
"moduleResolution": "Bundler",
"plugins": [{ "name": "typescript-plugin-css-modules" }]
"plugins": [{ "name": "typescript-plugin-css-modules" }],
"baseUrl": "./src",
"paths": {
"@/*": ["./*"]
}
},
"include": ["**/*.ts", "**/*.tsx", ".react-server/**/*.ts"],
"exclude": ["**/*.js", "**/*.mjs"]
Expand Down
9 changes: 9 additions & 0 deletions examples/photos/vite.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { defineConfig } from "vite";

export default defineConfig({
resolve: {
alias: {
"@/": new URL("src/", import.meta.url).pathname,
},
},
});
5 changes: 3 additions & 2 deletions packages/react-server/lib/build/client.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ import { build as viteBuild } from "vite";

import { forRoot } from "../../config/index.mjs";
import merge from "../../lib/utils/merge.mjs";
import resolveWorkspace from "../plugins/resolve-workspace.mjs";
import rollupUseClient from "../plugins/use-client.mjs";
import rollupUseServer from "../plugins/use-server.mjs";
import resolveWorkspace from "../plugins/resolve-workspace.mjs";
import * as sys from "../sys.mjs";
import { makeResolveAlias } from "../utils/config.mjs";
import {
filterOutVitePluginReact,
userOrBuiltInVitePluginReact,
Expand Down Expand Up @@ -79,7 +80,7 @@ export default async function clientBuild(_, options) {
replacement: join(sys.rootDir, "client"),
},
...clientAlias(options.dev),
...(config.resolve?.alias ?? []),
...makeResolveAlias(config.resolve?.alias ?? []),
],
},
customLogger,
Expand Down
12 changes: 6 additions & 6 deletions packages/react-server/lib/build/server.mjs
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
import { writeFile } from "node:fs/promises";
import { createRequire } from "node:module";
import { join } from "node:path";
import { pathToFileURL } from "node:url";

import replace from "@rollup/plugin-replace";
import { build as viteBuild } from "vite";

import { forRoot } from "../../config/index.mjs";
import merge from "../../lib/utils/merge.mjs";
import fileRouter from "../plugins/file-router/plugin.mjs";
import reactServerEval from "../plugins/react-server-eval.mjs";
import resolveWorkspace from "../plugins/resolve-workspace.mjs";
import rootModule from "../plugins/root-module.mjs";
import rollupUseClient from "../plugins/use-client.mjs";
import rollupUseServerInline from "../plugins/use-server-inline.mjs";
import rollupUseServer from "../plugins/use-server.mjs";
import rootModule from "../plugins/root-module.mjs";
import fileRouter from "../plugins/file-router/plugin.mjs";
import * as sys from "../sys.mjs";
import { makeResolveAlias } from "../utils/config.mjs";
import merge from "../utils/merge.mjs";
import { bareImportRE } from "../utils/module.mjs";
import {
filterOutVitePluginReact,
userOrBuiltInVitePluginReact,
} from "../utils/plugins.mjs";
import banner from "./banner.mjs";
import customLogger from "./custom-logger.mjs";
import { bareImportRE } from "../utils/module.mjs";

const __require = createRequire(import.meta.url);
const cwd = sys.cwd();
Expand Down Expand Up @@ -53,7 +53,7 @@ export default async function serverBuild(root, options) {
find: /^@lazarv\/react-server\/client$/,
replacement: join(sys.rootDir, "client"),
},
...(config.resolve?.alias ?? []),
...makeResolveAlias(config.resolve?.alias ?? []),
],
conditions: ["react-server"],
externalConditions: ["react-server"],
Expand Down
3 changes: 2 additions & 1 deletion packages/react-server/lib/dev/create-server.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ import useClient from "../plugins/use-client.mjs";
import useServer from "../plugins/use-server.mjs";
import useServerInline from "../plugins/use-server-inline.mjs";
import * as sys from "../sys.mjs";
import { makeResolveAlias } from "../utils/config.mjs";
import { replaceError } from "../utils/error.mjs";
import merge from "../utils/merge.mjs";
import { bareImportRE, findPackageRoot, tryStat } from "../utils/module.mjs";
Expand Down Expand Up @@ -145,7 +146,7 @@ export default async function createServer(root, options) {
find: /^@lazarv\/react-server\/client$/,
replacement: join(sys.rootDir, "client"),
},
...(config.resolve?.alias ?? []),
...makeResolveAlias(config.resolve?.alias),
],
noExternal: [bareImportRE],
},
Expand Down
14 changes: 14 additions & 0 deletions packages/react-server/lib/utils/config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export function makeResolveAlias(alias) {
if (alias && typeof alias === "object") {
if (Array.isArray(alias)) {
return alias.map((item) =>
typeof item === "string" ? { find: item, replacement: item } : item
);
}
return Object.entries(alias).map(([key, value]) => ({
find: key,
replacement: value,
}));
}
return [];
}

0 comments on commit fb4fa88

Please sign in to comment.