Compare commits
5 Commits
30e3a516ab
...
c08fdbf7fd
| Author | SHA1 | Date | |
|---|---|---|---|
| c08fdbf7fd | |||
| 2d4e1fb375 | |||
| fc263eeb65 | |||
| 4b537c4b04 | |||
| cbd6ff05df |
@@ -3,6 +3,9 @@ import { defineConfig } from "astro/config";
|
|||||||
import fulldev from "fulldev-ui/integration";
|
import fulldev from "fulldev-ui/integration";
|
||||||
import node from "@astrojs/node";
|
import node from "@astrojs/node";
|
||||||
import UnoCSS from "unocss/astro";
|
import UnoCSS from "unocss/astro";
|
||||||
|
// import { createRequire } from "node:module";
|
||||||
|
|
||||||
|
// const require = createRequire(import.meta.url);
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
@@ -34,4 +37,20 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
|
||||||
|
vite: {
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
fs: "node:fs",
|
||||||
|
// fs: require.resolve("rollup-plugin-node-builtins"),
|
||||||
|
// http: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
// util: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
// stream: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
// buffer: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
// process: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
// url: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
// querystring: require.resolve('rollup-plugin-node-builtins'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@unocss/reset": "^0.64.1",
|
|
||||||
"unocss": "^0.64.1"
|
"unocss": "^0.64.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Generated
-3
@@ -24,9 +24,6 @@ importers:
|
|||||||
specifier: ^5.6.3
|
specifier: ^5.6.3
|
||||||
version: 5.6.3
|
version: 5.6.3
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@unocss/reset':
|
|
||||||
specifier: ^0.64.1
|
|
||||||
version: 0.64.1
|
|
||||||
unocss:
|
unocss:
|
||||||
specifier: ^0.64.1
|
specifier: ^0.64.1
|
||||||
version: 0.64.1(postcss@8.4.49)(rollup@4.27.2)(vite@5.4.11(sass@1.81.0))(vue@3.5.13(typescript@5.6.3))
|
version: 0.64.1(postcss@8.4.49)(rollup@4.27.2)(vite@5.4.11(sass@1.81.0))(vue@3.5.13(typescript@5.6.3))
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
---
|
|
||||||
interface Props {
|
|
||||||
title: string;
|
|
||||||
body: string;
|
|
||||||
href: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { href, title, body } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<li class="link-card">
|
|
||||||
<a href={href}>
|
|
||||||
<h2>
|
|
||||||
{title}
|
|
||||||
<span>→</span>
|
|
||||||
</h2>
|
|
||||||
<p>
|
|
||||||
{body}
|
|
||||||
</p>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<style>
|
|
||||||
.link-card {
|
|
||||||
list-style: none;
|
|
||||||
display: flex;
|
|
||||||
padding: 1px;
|
|
||||||
background-color: #23262d;
|
|
||||||
background-image: none;
|
|
||||||
background-size: 400%;
|
|
||||||
border-radius: 7px;
|
|
||||||
background-position: 100%;
|
|
||||||
transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
|
||||||
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
||||||
}
|
|
||||||
.link-card > a {
|
|
||||||
width: 100%;
|
|
||||||
text-decoration: none;
|
|
||||||
line-height: 1.4;
|
|
||||||
padding: calc(1.5rem - 1px);
|
|
||||||
border-radius: 8px;
|
|
||||||
color: white;
|
|
||||||
background-color: #23262d;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
margin: 0;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin-top: 0.5rem;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.link-card:is(:hover, :focus-within) {
|
|
||||||
background-position: 0;
|
|
||||||
background-image: var(--accent-gradient);
|
|
||||||
}
|
|
||||||
.link-card:is(:hover, :focus-within) h2 {
|
|
||||||
color: rgb(var(--accent-light));
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// 1. Import utilities from `astro:content`
|
||||||
|
import { defineCollection } from "astro:content";
|
||||||
|
// 2. Define your collection(s)
|
||||||
|
const blogCollection = defineCollection({
|
||||||
|
/* ... */
|
||||||
|
});
|
||||||
|
// 3. Export a single `collections` object to register your collection(s)
|
||||||
|
// This key should match your collection directory name in "src/content"
|
||||||
|
export const collections = {
|
||||||
|
blog: blogCollection,
|
||||||
|
};
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
---
|
||||||
|
title: @astrojs/node Build Error
|
||||||
|
date: 2024-11-23
|
||||||
|
---
|
||||||
|
|
||||||
|
Today's entry is about this very site.
|
||||||
|
|
||||||
|
I'm using [Astro](https://astro.build) to build this site, with the [Astro Node](https://github.com/withastro/astro/tree/main/packages/integrations/node) integration for SSR.
|
||||||
|
|
||||||
|
Well, I installed it, and set it up in `astro.config.mjs`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { defineConfig } from "astro/config";
|
||||||
|
import node from "@astrojs/node";
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
// pre-render by default; opt-in to dynamic SSR:
|
||||||
|
output: "hybrid",
|
||||||
|
|
||||||
|
adapter: node({
|
||||||
|
mode: "standalone",
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
It ran fine in dev mode (`pnpm run dev`), but when I tried to build it (`pnpm run build`), I got this error:
|
||||||
|
|
||||||
|
```
|
||||||
|
23:29:44 [ERROR] [vite] x Build failed in 331ms
|
||||||
|
[commonjs--resolver] Failed to resolve entry for package "fs". The package may have incorrect main/module/exports specified in its package.json.
|
||||||
|
file: /home/avraham/sakal.us/blog-astro/node_modules/.pnpm/send@0.19.1/node_modules/send/index.js
|
||||||
|
Stack trace:
|
||||||
|
at packageEntryFailure (file:///home/avraham/sakal.us/blog-astro/node_modules/.pnpm/vite@5.4.11_sass@1.81.0/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:46637:15)
|
||||||
|
at tryNodeResolve (file:///home/avraham/sakal.us/blog-astro/node_modules/.pnpm/vite@5.4.11_sass@1.81.0/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:46450:16)
|
||||||
|
at Object.handler (file:///home/avraham/sakal.us/blog-astro/node_modules/.pnpm/vite@5.4.11_sass@1.81.0/node_modules/vite/dist/node/chunks/dep-CB_7IfJ-.js:65653:15)
|
||||||
|
at async PluginDriver.hookFirstAndGetPlugin (file:///home/avraham/sakal.us/blog-astro/node_modules/.pnpm/rollup@4.27.2/node_modules/rollup/dist/es/shared/node-entry.js:21099:28)
|
||||||
|
at async ModuleLoader.resolveId (file:///home/avraham/sakal.us/blog-astro/node_modules/.pnpm/rollup@4.27.2/node_modules/rollup/dist/es/shared/node-entry.js:20132:15)
|
||||||
|
ELIFECYCLE Command failed with exit code 1.
|
||||||
|
```
|
||||||
|
|
||||||
|
Of course I searched the 'net, and never found the exact same issue; only similar issues. This is surprising, because it's not like I have an edge-case setup. Anyway, long story short, the fix was not to be found on the Internet, but on a hunch I added the following to `astro.config.mjs`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { defineConfig } from "astro/config";
|
||||||
|
import node from "@astrojs/node";
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
// pre-render by default; opt-in to dynamic SSR:
|
||||||
|
output: "hybrid",
|
||||||
|
|
||||||
|
adapter: node({
|
||||||
|
mode: "standalone",
|
||||||
|
}),
|
||||||
|
|
||||||
|
vite: {
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
fs: "node:fs",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
The worked famously.
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
---
|
---
|
||||||
import Layout from '../../layouts/Layout.astro';
|
import Layout from '../../layouts/Layout.astro';
|
||||||
|
export const prerender = true;
|
||||||
---
|
---
|
||||||
<Layout title="Articles">
|
<Layout title="Articles">
|
||||||
<main>
|
<main>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
</Layout>
|
</Layout>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
import Layout from '../../layouts/Layout.astro';
|
import Layout from '../../layouts/Layout.astro';
|
||||||
|
export const prerender = true;
|
||||||
---
|
---
|
||||||
<Layout title="Journal Entries">
|
<Layout title="Journal Entries">
|
||||||
<main>
|
<main>
|
||||||
|
|||||||
Reference in New Issue
Block a user