WIP
This commit is contained in:
parent
b03b59002a
commit
88a5be0ec1
|
@ -1,4 +1,4 @@
|
|||
import { renderPage } from 'vite-plugin-ssr/server'
|
||||
import { renderPage } from 'vike/server'
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const { url, cookies } = req
|
||||
|
|
178
package-lock.json
generated
178
package-lock.json
generated
|
@ -126,11 +126,11 @@
|
|||
"typescript": "5.2.2",
|
||||
"typograf": "7.1.0",
|
||||
"uniqolor": "1.1.0",
|
||||
"vike": "0.4.144",
|
||||
"vite": "4.3.9",
|
||||
"vite-plugin-mkcert": "1.16.0",
|
||||
"vite-plugin-sass-dts": "1.3.11",
|
||||
"vite-plugin-solid": "2.7.0",
|
||||
"vite-plugin-ssr": "0.4.123",
|
||||
"y-prosemirror": "1.2.1",
|
||||
"yjs": "13.6.0"
|
||||
}
|
||||
|
@ -1454,9 +1454,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@brillout/json-serializer": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.6.tgz",
|
||||
"integrity": "sha512-48u+Wthh0muDueyooi/Or59DDFCPitnuCN9OkMWoj7MQAbDn5pS/cVBB7ds6ENmtC1Qb0spI4PfKZxQSBEkubg==",
|
||||
"version": "0.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.8.tgz",
|
||||
"integrity": "sha512-vEuXw30ok+mJfJutOxXKBb4lBJ0HymA7lev9PcYK6W/hzjhCTPk9Bdk85HrcNcKZWRQiwoWtw0F2Di4TRJ7ssQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@brillout/picocolors": {
|
||||
|
@ -1465,10 +1465,16 @@
|
|||
"integrity": "sha512-Lt/W5JsA75hcDJ2cOAlE4TqSMl6c9K+rXGRo/cU2fApnmhbRcNdkR4UHQDAwtWfZyUKWaxdwSui+jp+74J1pZg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@brillout/require-shim": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/require-shim/-/require-shim-0.1.2.tgz",
|
||||
"integrity": "sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@brillout/vite-plugin-import-build": {
|
||||
"version": "0.2.18",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.18.tgz",
|
||||
"integrity": "sha512-sedZNrqIboHCeSnN7hwo34xRyP8egfMHcifixQ2YGNnQVb93884drTVE3b0vlSGz7LWumVDochKuHdWQljup9A==",
|
||||
"version": "0.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.20.tgz",
|
||||
"integrity": "sha512-/bdw1dg+H1nOYSy2PzYInQoZlIFP2uwyaF2GX64fyBqVAEWGopiMlnx294CbysjmP9Z+fJe48TkMzyogkyIDLw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@brillout/import": "^0.2.3"
|
||||
|
@ -8021,9 +8027,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/es-module-lexer": {
|
||||
"version": "0.10.5",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz",
|
||||
"integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
|
||||
"integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/es-set-tostringtag": {
|
||||
|
@ -18077,6 +18083,51 @@
|
|||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/vike": {
|
||||
"version": "0.4.144",
|
||||
"resolved": "https://registry.npmjs.org/vike/-/vike-0.4.144.tgz",
|
||||
"integrity": "sha512-smvBXv33IhP5FHOvoBYZuir/Zip93AoBGqiIdmWHva1RYeQDFlXQMbs/YZ5HqFc7OrL8cL3K7iUsEC6t/pF+/Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@brillout/import": "0.2.3",
|
||||
"@brillout/json-serializer": "^0.5.6",
|
||||
"@brillout/picocolors": "^1.0.9",
|
||||
"@brillout/require-shim": "^0.1.2",
|
||||
"@brillout/vite-plugin-import-build": "^0.2.20",
|
||||
"acorn": "^8.8.2",
|
||||
"cac": "^6.7.14",
|
||||
"es-module-lexer": "^1.3.0",
|
||||
"esbuild": "^0.17.18",
|
||||
"fast-glob": "^3.2.12",
|
||||
"sirv": "^2.0.2",
|
||||
"source-map-support": "^0.5.21"
|
||||
},
|
||||
"bin": {
|
||||
"vike": "node/cli/bin-entry.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react-streaming": ">=0.3.5",
|
||||
"vite": ">=3.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-streaming": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/vike/node_modules/source-map-support": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "4.3.9",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
|
||||
|
@ -18180,39 +18231,6 @@
|
|||
"vite": "^3.0.0 || ^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vite-plugin-ssr": {
|
||||
"version": "0.4.123",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.123.tgz",
|
||||
"integrity": "sha512-lIHmvsS7xINxk8AiMn9O9q6dTeLDay0q3iRCMZd4MlzhyMcEUUuEYyx/vWevXIO7+CTt5cOVcTsojeAU+eUMNw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@brillout/import": "0.2.3",
|
||||
"@brillout/json-serializer": "^0.5.3",
|
||||
"@brillout/picocolors": "^1.0.4",
|
||||
"@brillout/vite-plugin-import-build": "^0.2.16",
|
||||
"acorn": "^8.0.0",
|
||||
"cac": "^6.0.0",
|
||||
"es-module-lexer": "^0.10.0",
|
||||
"esbuild": "^0.17.0",
|
||||
"fast-glob": "^3.0.0",
|
||||
"sirv": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"vite-plugin-ssr": "node/cli/bin-entry.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.19.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react-streaming": ">=0.3.5",
|
||||
"vite": ">=3.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-streaming": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/vitefu": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
|
||||
|
@ -19561,9 +19579,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@brillout/json-serializer": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.6.tgz",
|
||||
"integrity": "sha512-48u+Wthh0muDueyooi/Or59DDFCPitnuCN9OkMWoj7MQAbDn5pS/cVBB7ds6ENmtC1Qb0spI4PfKZxQSBEkubg==",
|
||||
"version": "0.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/json-serializer/-/json-serializer-0.5.8.tgz",
|
||||
"integrity": "sha512-vEuXw30ok+mJfJutOxXKBb4lBJ0HymA7lev9PcYK6W/hzjhCTPk9Bdk85HrcNcKZWRQiwoWtw0F2Di4TRJ7ssQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@brillout/picocolors": {
|
||||
|
@ -19572,10 +19590,16 @@
|
|||
"integrity": "sha512-Lt/W5JsA75hcDJ2cOAlE4TqSMl6c9K+rXGRo/cU2fApnmhbRcNdkR4UHQDAwtWfZyUKWaxdwSui+jp+74J1pZg==",
|
||||
"dev": true
|
||||
},
|
||||
"@brillout/require-shim": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/require-shim/-/require-shim-0.1.2.tgz",
|
||||
"integrity": "sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==",
|
||||
"dev": true
|
||||
},
|
||||
"@brillout/vite-plugin-import-build": {
|
||||
"version": "0.2.18",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.18.tgz",
|
||||
"integrity": "sha512-sedZNrqIboHCeSnN7hwo34xRyP8egfMHcifixQ2YGNnQVb93884drTVE3b0vlSGz7LWumVDochKuHdWQljup9A==",
|
||||
"version": "0.2.20",
|
||||
"resolved": "https://registry.npmjs.org/@brillout/vite-plugin-import-build/-/vite-plugin-import-build-0.2.20.tgz",
|
||||
"integrity": "sha512-/bdw1dg+H1nOYSy2PzYInQoZlIFP2uwyaF2GX64fyBqVAEWGopiMlnx294CbysjmP9Z+fJe48TkMzyogkyIDLw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@brillout/import": "^0.2.3"
|
||||
|
@ -24267,9 +24291,9 @@
|
|||
}
|
||||
},
|
||||
"es-module-lexer": {
|
||||
"version": "0.10.5",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz",
|
||||
"integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
|
||||
"integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
|
||||
"dev": true
|
||||
},
|
||||
"es-set-tostringtag": {
|
||||
|
@ -31660,6 +31684,38 @@
|
|||
"integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==",
|
||||
"dev": true
|
||||
},
|
||||
"vike": {
|
||||
"version": "0.4.144",
|
||||
"resolved": "https://registry.npmjs.org/vike/-/vike-0.4.144.tgz",
|
||||
"integrity": "sha512-smvBXv33IhP5FHOvoBYZuir/Zip93AoBGqiIdmWHva1RYeQDFlXQMbs/YZ5HqFc7OrL8cL3K7iUsEC6t/pF+/Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@brillout/import": "0.2.3",
|
||||
"@brillout/json-serializer": "^0.5.6",
|
||||
"@brillout/picocolors": "^1.0.9",
|
||||
"@brillout/require-shim": "^0.1.2",
|
||||
"@brillout/vite-plugin-import-build": "^0.2.20",
|
||||
"acorn": "^8.8.2",
|
||||
"cac": "^6.7.14",
|
||||
"es-module-lexer": "^1.3.0",
|
||||
"esbuild": "^0.17.18",
|
||||
"fast-glob": "^3.2.12",
|
||||
"sirv": "^2.0.2",
|
||||
"source-map-support": "^0.5.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"source-map-support": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vite": {
|
||||
"version": "4.3.9",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
|
||||
|
@ -31708,24 +31764,6 @@
|
|||
"vitefu": "^0.2.3"
|
||||
}
|
||||
},
|
||||
"vite-plugin-ssr": {
|
||||
"version": "0.4.123",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-ssr/-/vite-plugin-ssr-0.4.123.tgz",
|
||||
"integrity": "sha512-lIHmvsS7xINxk8AiMn9O9q6dTeLDay0q3iRCMZd4MlzhyMcEUUuEYyx/vWevXIO7+CTt5cOVcTsojeAU+eUMNw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@brillout/import": "0.2.3",
|
||||
"@brillout/json-serializer": "^0.5.3",
|
||||
"@brillout/picocolors": "^1.0.4",
|
||||
"@brillout/vite-plugin-import-build": "^0.2.16",
|
||||
"acorn": "^8.0.0",
|
||||
"cac": "^6.0.0",
|
||||
"es-module-lexer": "^0.10.0",
|
||||
"esbuild": "^0.17.0",
|
||||
"fast-glob": "^3.0.0",
|
||||
"sirv": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"vitefu": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"version": "0.8.0",
|
||||
"private": true,
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "vite build",
|
||||
"check": "npm run lint && npm run typecheck",
|
||||
|
@ -146,11 +147,11 @@
|
|||
"typescript": "5.2.2",
|
||||
"typograf": "7.1.0",
|
||||
"uniqolor": "1.1.0",
|
||||
"vike": "0.4.144",
|
||||
"vite": "4.3.9",
|
||||
"vite-plugin-mkcert": "1.16.0",
|
||||
"vite-plugin-sass-dts": "1.3.11",
|
||||
"vite-plugin-solid": "2.7.0",
|
||||
"vite-plugin-ssr": "0.4.123",
|
||||
"y-prosemirror": "1.2.1",
|
||||
"yjs": "13.6.0"
|
||||
},
|
||||
|
|
|
@ -158,7 +158,7 @@ export const ArticleCard = (props: ArticleCardProps) => {
|
|||
[styles.shoutCardTitlesContainerFeedMode]: props.settings?.isFeedMode
|
||||
})}
|
||||
>
|
||||
<a href={`/${props.article.slug || ''}`}>
|
||||
<a href={`/${props.article.slug || ''}1111`}>
|
||||
<div class={styles.shoutCardTitle}>
|
||||
<span class={styles.shoutCardLinkWrapper}>
|
||||
<span class={styles.shoutCardLinkContainer}>{title}</span>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import type { PageContext } from '../renderer/types'
|
||||
import type { PageProps } from './types'
|
||||
import { apiClient } from '../utils/apiClient'
|
||||
import { RenderErrorPage } from 'vite-plugin-ssr/RenderErrorPage'
|
||||
import { render } from 'vike/abort'
|
||||
|
||||
export const onBeforeRender = async (pageContext: PageContext) => {
|
||||
const { slug } = pageContext.routeParams
|
||||
const article = await apiClient.getShoutBySlug(slug)
|
||||
|
||||
if (!article) {
|
||||
throw RenderErrorPage({ pageContext: {} })
|
||||
throw render(404, '/404')
|
||||
}
|
||||
|
||||
const pageProps: PageProps = { article }
|
||||
|
|
|
@ -28,6 +28,7 @@ export const ArticlePage = (props: PageProps) => {
|
|||
const loadShoutPromise = loadShout(slug())
|
||||
setPageLoadManagerPromise(loadShoutPromise)
|
||||
await loadShoutPromise
|
||||
// тут видимо тоже что-то нужно написать
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { App } from '../components/App'
|
||||
import { hydrate } from 'solid-js/web'
|
||||
import type { PageContextBuiltInClientWithClientRouting } from 'vite-plugin-ssr/types'
|
||||
import type { PageContextBuiltInClientWithClientRouting } from 'vike/types'
|
||||
import type { PageContext } from './types'
|
||||
import { MetaProvider } from '@solidjs/meta'
|
||||
import i18next, { use as useI18next } from 'i18next'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { generateHydrationScript, renderToString } from 'solid-js/web'
|
||||
import { escapeInject, dangerouslySkipEscape } from 'vite-plugin-ssr/server'
|
||||
import { escapeInject, dangerouslySkipEscape } from 'vike/server'
|
||||
import { App } from '../components/App'
|
||||
import { initRouter } from '../stores/router'
|
||||
import type { PageContext } from './types'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this file is required by vite-plugin-ssr to show something after an error occurred
|
||||
// this file is required by vike to show something after an error occurred
|
||||
// it's empty because error handling logic lives in _default.page.server.tsx and _default.page.client.tsx
|
||||
|
||||
// eslint-disable-next-line unicorn/no-empty-file
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import type { PageContextBuiltIn } from 'vite-plugin-ssr/types'
|
||||
import type { PageContextBuiltIn } from 'vike/types'
|
||||
import type { PageProps } from '../pages/types'
|
||||
import type { Component } from 'solid-js'
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// /:slug -> /@slug
|
||||
// https://vite-plugin-ssr.com/routing
|
||||
// https://vike.dev/routing
|
||||
// https://www.npmjs.com/package/@nanostores/router
|
||||
export const getServerRoute = (clientRoute: string) => clientRoute.replaceAll(':', '@')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { defineConfig } from 'vite'
|
||||
import solidPlugin from 'vite-plugin-solid'
|
||||
import ssrPlugin from 'vite-plugin-ssr/plugin'
|
||||
import ssrPlugin from 'vike/plugin'
|
||||
import sassDts from 'vite-plugin-sass-dts'
|
||||
import mkcert from 'vite-plugin-mkcert'
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user