diff --git a/package-lock.json b/package-lock.json
index 49e5cac..1b97712 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,10 +6,10 @@
"": {
"dependencies": {
"preact": "^10.5.12",
- "preact-iso": "^2.0.0"
+ "preact-iso": "^2.0.3"
},
"devDependencies": {
- "@wmr-plugins/directory-import": "^0.1.1",
+ "@wmr-plugins/directory-import": "^0.1.2",
"eslint": "^7.22.0",
"eslint-config-preact": "^1.1.3",
"eslint-config-prettier": "^8.1.0",
@@ -18,7 +18,7 @@
"marked": "^2.0.1",
"prettier": "^2.2.1",
"sass": "^1.32.12",
- "wmr": "^1.7.0",
+ "wmr": "^3.0.1",
"yaml": "^1.10.2"
}
},
@@ -355,9 +355,10 @@
}
},
"node_modules/@wmr-plugins/directory-import": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@wmr-plugins/directory-import/-/directory-import-0.1.1.tgz",
- "integrity": "sha512-js/nZrC0Y+fItAYicRTvv6oflk1toPY0FdFS+uiXQ44bd1C1swbR2/dyV713dgBXnFZK2RX6sMq2k3fv/LKgqw==",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@wmr-plugins/directory-import/-/directory-import-0.1.2.tgz",
+ "integrity": "sha512-/7Ox60OLG4tuG5qbHVLgDm7XD/lJ+mNVZAODGXfJ10vlR+FMxGbM17jNd64BSePQuDoU+iGZim2IPXUem7BOGQ==",
+ "deprecated": "@wmr-plugins/directory-import has moved to @wmrjs/directory-import",
"dev": true,
"engines": {
"node": ">=12"
@@ -2394,9 +2395,10 @@
}
},
"node_modules/preact-iso": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/preact-iso/-/preact-iso-2.0.0.tgz",
- "integrity": "sha512-tAQ+uSGJmh8VPqRD9AUd8xGAj/d9NTB0vMxPX1NimzvQ8EzBdf2pxl23cYav0SJmUs9c1PXnoH973GKwVO2upQ==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/preact-iso/-/preact-iso-2.0.3.tgz",
+ "integrity": "sha512-YQ+HTVDDFVuTvxL8xUMy+1QlrEuIFSXC5Np4WO1UEVDWXy51n56H2jd05bjMFeTEiKLxQmr86SqhSmgo5PzCLw==",
+ "license": "MIT",
"peerDependencies": {
"preact": ">=10",
"preact-render-to-string": ">=5"
@@ -3104,9 +3106,9 @@
}
},
"node_modules/wmr": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/wmr/-/wmr-1.7.0.tgz",
- "integrity": "sha512-o3j0ycWXoTczrI15YSJ8aEDZhTOoiBUDnwiUhs6bk7ZvrpVTVtdKRomHfWWGQQPk1De8bSGGnCIlhSpAFxLS7Q==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/wmr/-/wmr-3.0.1.tgz",
+ "integrity": "sha512-wQ7DkppqxjJU30umAU4Uvr+ZAgjaVfINar2exQ/IxTS51QXle8sGv5buHJ36MoBkPW6SpilkwuMRyx5+D2P7QA==",
"dev": true,
"bin": {
"wmr": "wmr.cjs"
@@ -3432,9 +3434,9 @@
}
},
"@wmr-plugins/directory-import": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@wmr-plugins/directory-import/-/directory-import-0.1.1.tgz",
- "integrity": "sha512-js/nZrC0Y+fItAYicRTvv6oflk1toPY0FdFS+uiXQ44bd1C1swbR2/dyV713dgBXnFZK2RX6sMq2k3fv/LKgqw==",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@wmr-plugins/directory-import/-/directory-import-0.1.2.tgz",
+ "integrity": "sha512-/7Ox60OLG4tuG5qbHVLgDm7XD/lJ+mNVZAODGXfJ10vlR+FMxGbM17jNd64BSePQuDoU+iGZim2IPXUem7BOGQ==",
"dev": true,
"requires": {}
},
@@ -4953,9 +4955,9 @@
"integrity": "sha512-q/vlKIGNwzTLu+jCcvywgGrt+H/1P/oIRSD6mV4ln3hmlC+Aa34C7yfPI4+5bzW8pONyVXYS7SvXosy2dKKtWQ=="
},
"preact-iso": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/preact-iso/-/preact-iso-2.0.0.tgz",
- "integrity": "sha512-tAQ+uSGJmh8VPqRD9AUd8xGAj/d9NTB0vMxPX1NimzvQ8EzBdf2pxl23cYav0SJmUs9c1PXnoH973GKwVO2upQ==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/preact-iso/-/preact-iso-2.0.3.tgz",
+ "integrity": "sha512-YQ+HTVDDFVuTvxL8xUMy+1QlrEuIFSXC5Np4WO1UEVDWXy51n56H2jd05bjMFeTEiKLxQmr86SqhSmgo5PzCLw==",
"requires": {}
},
"preact-render-to-string": {
@@ -5488,9 +5490,9 @@
}
},
"wmr": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/wmr/-/wmr-1.7.0.tgz",
- "integrity": "sha512-o3j0ycWXoTczrI15YSJ8aEDZhTOoiBUDnwiUhs6bk7ZvrpVTVtdKRomHfWWGQQPk1De8bSGGnCIlhSpAFxLS7Q==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/wmr/-/wmr-3.0.1.tgz",
+ "integrity": "sha512-wQ7DkppqxjJU30umAU4Uvr+ZAgjaVfINar2exQ/IxTS51QXle8sGv5buHJ36MoBkPW6SpilkwuMRyx5+D2P7QA==",
"dev": true,
"requires": {
"fsevents": "^2.1.3"
diff --git a/package.json b/package.json
index 329f45a..f8b7b00 100644
--- a/package.json
+++ b/package.json
@@ -46,10 +46,10 @@
},
"dependencies": {
"preact": "^10.5.12",
- "preact-iso": "^2.0.0"
+ "preact-iso": "^2.0.3"
},
"devDependencies": {
- "@wmr-plugins/directory-import": "^0.1.1",
+ "@wmr-plugins/directory-import": "^0.1.2",
"eslint": "^7.22.0",
"eslint-config-preact": "^1.1.3",
"eslint-config-prettier": "^8.1.0",
@@ -58,7 +58,7 @@
"marked": "^2.0.1",
"prettier": "^2.2.1",
"sass": "^1.32.12",
- "wmr": "^1.7.0",
+ "wmr": "^3.0.1",
"yaml": "^1.10.2"
}
}
diff --git a/plugins/content.js b/plugins/content.js
index 44e71ca..f8b93bd 100644
--- a/plugins/content.js
+++ b/plugins/content.js
@@ -69,7 +69,7 @@ async function getMeta(filename) {
/**
* markdown blog/content plugin for Rollup / WMR
*/
-function contentRollupPlugin({ cwd, prod, ...opts }) {
+function contentRollupPlugin({ root, prod, ...opts }) {
return {
name: 'content',
async resolveId(id, importer) {
@@ -98,7 +98,7 @@ function contentRollupPlugin({ cwd, prod, ...opts }) {
},
async load(id) {
if (!id.startsWith('\0content:')) return;
- id = path.resolve(cwd || '.', id.slice(9));
+ id = path.resolve(root || '.', id.slice(9));
// const base = path.relative(cwd || '.', id);
const files = await tree(id);
diff --git a/plugins/markdown.js b/plugins/markdown.js
index c07b907..f3a133a 100644
--- a/plugins/markdown.js
+++ b/plugins/markdown.js
@@ -3,8 +3,8 @@ import yaml from 'yaml';
import { promises as fs } from 'fs';
import path from 'path';
-export default function markdownPlugin({ plugins, cwd, prod }, opts) {
- plugins.push(markdownRollupPlugin({ cwd, prod, ...opts }));
+export default function markdownPlugin({ plugins, root, prod }, opts) {
+ plugins.push(markdownRollupPlugin({ root, prod, ...opts }));
}
markdownPlugin.rollup = markdownRollupPlugin;
@@ -39,7 +39,7 @@ async function processMarkdown(filename, opts) {
* @example
* import html from 'markdown:./pages';
*/
-function markdownRollupPlugin({ cwd, prod, ...opts }) {
+function markdownRollupPlugin({ root, prod, ...opts }) {
return {
name: 'markdown',
async resolveId(id, importer) {
@@ -75,7 +75,7 @@ function markdownRollupPlugin({ cwd, prod, ...opts }) {
// return `export default ${JSON.stringify(html)}`;
if (!id.startsWith('\0markdown:')) return;
- id = path.resolve(cwd || '.', id.slice(10));
+ id = path.resolve(root || '.', id.slice(10));
this.addWatchFile(id);
const html = await processMarkdown(id, opts);
@@ -87,8 +87,8 @@ function markdownRollupPlugin({ cwd, prod, ...opts }) {
// console.log(path.relative(cwd || '.', id));
const fileId = this.emitFile({
type: 'asset',
- name: path.relative(cwd || '.', id),
- fileName: path.relative(cwd || '.', id),
+ name: path.relative(root || '.', id),
+ fileName: path.relative(root || '.', id),
source: html
});
return `export default import.meta.ROLLUP_FILE_URL_${fileId}`;
diff --git a/public/components/Home/index.js b/public/components/Home/index.js
index ede5ed2..fc38c70 100644
--- a/public/components/Home/index.js
+++ b/public/components/Home/index.js
@@ -4,7 +4,7 @@ import styles from './style.module.scss';
export default function Home() {
if (typeof window === 'undefined') {
- document.head.insertAdjacentHTML('beforeend', ``);
+ wmrHead.elements.push(``);
}
return (
diff --git a/public/index.js b/public/index.js
index 111e475..2894b58 100644
--- a/public/index.js
+++ b/public/index.js
@@ -47,6 +47,15 @@ export async function prerender(data) {
const text = () => fs.readFile('dist/' + String(url).replace(/^\//, ''), 'utf-8');
return { text, json: () => text().then(JSON.parse) };
};
+ global.wmrHead = {
+ title: undefined,
+ lang: undefined,
+ elements: []
+ };
const { default: prerender } = await import('preact-iso/prerender');
- return await prerender();
+ const res = await prerender();
+ return {
+ ...res,
+ head: global.wmrHead
+ };
}