From 236fea9da1e918c91543a68dc43bb4dab20ed01e Mon Sep 17 00:00:00 2001 From: Muhammad Date: Wed, 19 Jun 2024 16:51:29 +0700 Subject: [PATCH 1/3] chore: refactor --- vike-solid/+config.ts | 91 +++++---------------- vike-solid/hooks/usePageContext.tsx | 34 ++++++-- vike-solid/index.ts | 5 ++ vike-solid/main.ts | 5 -- vike-solid/package.json | 8 +- vike-solid/renderer/PageContextProvider.tsx | 23 ------ vike-solid/renderer/getPageElement.tsx | 3 +- vike-solid/renderer/onRenderClient.tsx | 2 +- vike-solid/renderer/onRenderHtml.tsx | 31 ++++--- vike-solid/renderer/ssrEffect.ts | 21 +++++ vike-solid/rollup.config.js | 4 +- vike-solid/types/Config.ts | 61 ++++++++++++++ vike-solid/types/PageContext.ts | 12 +++ vike-solid/types/index.ts | 19 +---- 14 files changed, 172 insertions(+), 147 deletions(-) create mode 100644 vike-solid/index.ts delete mode 100644 vike-solid/main.ts delete mode 100644 vike-solid/renderer/PageContextProvider.tsx create mode 100644 vike-solid/renderer/ssrEffect.ts create mode 100644 vike-solid/types/Config.ts create mode 100644 vike-solid/types/PageContext.ts diff --git a/vike-solid/+config.ts b/vike-solid/+config.ts index 058d0ce..99e9f8d 100644 --- a/vike-solid/+config.ts +++ b/vike-solid/+config.ts @@ -1,43 +1,26 @@ -export { config }; +import type { Config } from "vike/types"; +import { ssrEffect } from './renderer/ssrEffect.js' -import type { Config, ConfigEffect, PageContext } from "vike/types"; -import type { Component } from "solid-js"; +// This is required to make TypeScript load the global interfaces such as Vike.PageContext so that they're always loaded. +// We can assume that the user always imports this file over `import vikeSolid from 'vike-solid/config'` +import "./types/index.js" -// Depending on the value of `config.meta.ssr`, set other config options' `env` -// accordingly. -// See https://vike.dev/meta#:~:text=Modifying%20the%20environment%20of%20existing%20hooks -const toggleSsrRelatedConfig: ConfigEffect = ({ - configDefinedAt, - configValue, -}) => { - if (typeof configValue !== "boolean") { - throw new Error(`${configDefinedAt} should be a boolean`); - } - - return { - meta: { - // When the SSR flag is false, we want to render the page only in the - // browser. We achieve this by then making the `Page` implementation - // accessible only in the client's renderer. - Page: { - env: configValue - ? { server: true, client: true } // default - : { client: true }, - }, - }, - }; -}; +export default { + name: "vike-solid", + require: { + vike: '>=0.4.173' + }, -const config = { - // @ts-ignore Remove this ts-ignore once Vike's new version is released. - name: 'vike-solid', // https://vike.dev/onRenderHtml onRenderHtml: "import:vike-solid/renderer/onRenderHtml:onRenderHtml", // https://vike.dev/onRenderClient onRenderClient: "import:vike-solid/renderer/onRenderClient:onRenderClient", + // https://vike.dev/clientRouting + // https://vike.dev/clientRouting clientRouting: true, hydrationCanBeAborted: true, + // https://vike.dev/meta meta: { Head: { @@ -58,7 +41,7 @@ const config = { }, ssr: { env: { config: true }, - effect: toggleSsrRelatedConfig, + effect: ssrEffect, }, stream: { env: { server: true }, @@ -67,45 +50,9 @@ const config = { name: { env: { config: true } }, + // Vike already defines the setting 'require', but we redundantly define it here for older Vike versions (otherwise older Vike versions will complain that 'require` is an unknown config). TODO/eventually: remove this once <=0.4.172 versions become rare (also because we use the `require` setting starting from `0.4.173`). + require: { + env: { config: true } + }, }, -} satisfies Config; - -// We purposely define the ConfigVikeSolid interface in this file: that way we ensure it's always applied whenever the user `import vikeSolid from 'vike-solid/config'` -// https://vike.dev/pageContext#typescript -declare global { - namespace Vike { - interface Config { - /** The page's root Solid component */ - Page?: Component; - /** Solid element renderer and appended into */ - Head?: Component; - /** A component, usually common to several pages, that wraps the root component `Page` */ - Layout?: Component; - title?: string | ((pageContext: PageContext) => string); - favicon?: string; - /** - * @default 'en' - */ - lang?: string; - /** - * If true, render mode is SSR or pre-rendering (aka SSG). In other words, the - * page's HTML will be rendered at build-time or request-time. - * If false, render mode is SPA. In other words, the page will only be - * rendered in the browser. - * - * See https://vike.dev/render-modes - * - * @default true - * - */ - ssr?: boolean; - /** - * Whether to stream the page's HTML. Requires Server-Side Rendering (`ssr: true`). - * - * @default false - * - */ - stream?: boolean; - } - } -} +} satisfies Config; \ No newline at end of file diff --git a/vike-solid/hooks/usePageContext.tsx b/vike-solid/hooks/usePageContext.tsx index 1881088..6415db9 100644 --- a/vike-solid/hooks/usePageContext.tsx +++ b/vike-solid/hooks/usePageContext.tsx @@ -1,11 +1,35 @@ export { usePageContext }; +export { PageContextProvider }; -import { useContext } from "solid-js"; -import { Context } from "../renderer/PageContextProvider.js"; +import { createContext, useContext, type JSX } from "solid-js"; +import { type Store } from "solid-js/store"; +import type { PageContext } from "vike/types"; +import { getGlobalObject } from "../utils/getGlobalObject.js"; -/** Access the pageContext from any SolidJS component */ -function usePageContext() { - const pageContext = useContext(Context); +const globalContext = getGlobalObject("PageContextProvider.ts", { + solidContext: createContext>(undefined as never), +}); + +function PageContextProvider(props: { + pageContext: Store; + children: JSX.Element; +}) { + const { solidContext } = globalContext + return ( + + {props.children} + + ); +} + +/** + * Access `pageContext` from any Solid component. + * + * https://vike.dev/usePageContext + */ +function usePageContext(): PageContext { + const { solidContext } = globalContext + const pageContext = useContext(solidContext) if (!pageContext) throw new Error( " is needed for being able to use usePageContext()" diff --git a/vike-solid/index.ts b/vike-solid/index.ts new file mode 100644 index 0000000..3204dc6 --- /dev/null +++ b/vike-solid/index.ts @@ -0,0 +1,5 @@ +// TODO/next-major-release: remove this file/export +console.warn( + "[vike-solid][warning][deprecation] Replace `import vikeSolid from 'vike-solid'` with `import vikeSolid from 'vike-solid/config'` (typically in your /pages/+config.js)" +); +export { default } from "./+config.js"; diff --git a/vike-solid/main.ts b/vike-solid/main.ts deleted file mode 100644 index c4635d1..0000000 --- a/vike-solid/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -// TODO/next-major-release: remove this file/export -console.warn( - "[vike-solid][warning][deprecation] Replace `import vikeVue from 'vike-solid'` with `import vikeSolid from 'vike-solid/config'` (typically in your /pages/+config.js)" -); -export { config } from "./+config.js"; diff --git a/vike-solid/package.json b/vike-solid/package.json index 19b1ca0..275ac72 100644 --- a/vike-solid/package.json +++ b/vike-solid/package.json @@ -33,7 +33,7 @@ "vite": "^5.3.1" }, "exports": { - ".": "./dist/main.js", + ".": "./dist/index.js", "./config": "./dist/+config.js", "./vite": "./dist/vite-plugin-vike-solid.js", "./usePageContext": "./dist/hooks/usePageContext.js", @@ -48,7 +48,7 @@ "typesVersions": { "*": { ".": [ - "dist/main.d.ts" + "dist/index.d.ts" ], "config": [ "dist/+config.d.ts" @@ -74,8 +74,8 @@ "dist/", "client.d.ts" ], - "main": "dist/main.js", - "types": "dist/main.d.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", "repository": "github:vikejs/vike-solid", "license": "MIT" } diff --git a/vike-solid/renderer/PageContextProvider.tsx b/vike-solid/renderer/PageContextProvider.tsx deleted file mode 100644 index 0a9cda5..0000000 --- a/vike-solid/renderer/PageContextProvider.tsx +++ /dev/null @@ -1,23 +0,0 @@ -export { PageContextProvider }; -export { Context }; - -import { createContext, type JSX } from "solid-js"; -import { type Store } from "solid-js/store"; -import type { PageContext } from "vike/types"; -import { getGlobalObject } from "../utils/getGlobalObject.js"; - -const { Context } = getGlobalObject("PageContextProvider.ts", { - Context: createContext>(), -}); - -function PageContextProvider(props: { - pageContext: Store; - children: JSX.Element; -}) { - if (!props.pageContext) throw new Error("Argument pageContext missing"); - return ( - - {props.children} - - ); -} diff --git a/vike-solid/renderer/getPageElement.tsx b/vike-solid/renderer/getPageElement.tsx index 27e41a3..8290044 100644 --- a/vike-solid/renderer/getPageElement.tsx +++ b/vike-solid/renderer/getPageElement.tsx @@ -1,6 +1,5 @@ import type { PageContext } from "vike/types"; -import { PageContextProvider } from "./PageContextProvider.js"; -import { usePageContext } from "../hooks/usePageContext.js"; +import { usePageContext, PageContextProvider } from "../hooks/usePageContext.js"; import type { FlowComponent, JSX } from "solid-js"; import { createComponent, createComputed } from "solid-js"; import { Dynamic } from "solid-js/web"; diff --git a/vike-solid/renderer/onRenderClient.tsx b/vike-solid/renderer/onRenderClient.tsx index a1731aa..ed21fda 100644 --- a/vike-solid/renderer/onRenderClient.tsx +++ b/vike-solid/renderer/onRenderClient.tsx @@ -23,7 +23,7 @@ const onRenderClient: OnRenderClientAsync = async ( setPageContext(pageContext); - const container = document.getElementById("page-view")!; + const container = document.getElementById("root")!; if (container.innerHTML !== "" && pageContext.isHydration) { // Hydration dispose = hydrate(() => getPageElement(pageContextStore)!, container); diff --git a/vike-solid/renderer/onRenderHtml.tsx b/vike-solid/renderer/onRenderHtml.tsx index 98659ab..bf6c94a 100644 --- a/vike-solid/renderer/onRenderHtml.tsx +++ b/vike-solid/renderer/onRenderHtml.tsx @@ -6,7 +6,7 @@ import { dangerouslySkipEscape, escapeInject, stampPipe, version } from "vike/se import { getHeadSetting } from "./getHeadSetting.js"; import { getPageElement } from "./getPageElement.js"; import type { OnRenderHtmlAsync } from "vike/types"; -import { PageContextProvider } from "./PageContextProvider.js"; +import { PageContextProvider } from "../hooks/usePageContext.js"; checkVikeVersion(); @@ -18,17 +18,17 @@ const onRenderHtml: OnRenderHtmlAsync = async ( const lang = getHeadSetting("lang", pageContext) || "en"; const titleTag = !title ? "" : escapeInject`${title}`; - const faviconTag = !favicon - ? "" - : escapeInject``; + const faviconTag = !favicon ? "" : escapeInject``; const Head = pageContext.config.Head || (() => <>); - const headHtml = renderToString(() => ( + const head = renderToString(() => ( )); + const headHtml = dangerouslySkipEscape(head) + type TPipe = (writable: { write: (v: string) => void }) => void; let pageView: string | ReturnType | TPipe = ""; @@ -48,12 +48,12 @@ const onRenderHtml: OnRenderHtmlAsync = async ( ${titleTag} - ${dangerouslySkipEscape(headHtml)} + ${headHtml} ${faviconTag} ${dangerouslySkipEscape(generateHydrationScript())} -
${pageView}
+
${pageView}
`; @@ -61,16 +61,15 @@ const onRenderHtml: OnRenderHtmlAsync = async ( return documentHtml; }; +// We don't need this anymore starting from vike@0.4.173 which added the `require` setting. +// TODO/eventually: remove this once <=0.4.172 versions become rare. function checkVikeVersion() { if (version) { - const versionParts = version.split(".").map((s) => parseInt(s, 10)) as [ - number, - number, - number - ]; - if (versionParts[0] > 0) return; - if (versionParts[1] > 4) return; - if (versionParts[2] >= 147) return; + const versionParts = version.split('.').map((s) => parseInt(s, 10)) as [number, number, number] + if (versionParts[0] > 0) return + if (versionParts[1] > 4) return + if (versionParts[2] >= 173) return } - throw new Error("Update Vike to 0.4.147 or above"); + // We can leave it 0.4.173 until we entirely remove checkVikeVersion() (because starting vike@0.4.173 we use the new `require` setting). + throw new Error('Update Vike to 0.4.173 or above') } diff --git a/vike-solid/renderer/ssrEffect.ts b/vike-solid/renderer/ssrEffect.ts new file mode 100644 index 0000000..e6a1e98 --- /dev/null +++ b/vike-solid/renderer/ssrEffect.ts @@ -0,0 +1,21 @@ +export { ssrEffect } + +import type { ConfigEffect } from 'vike/types' + +function ssrEffect({ configDefinedAt, configValue }: Parameters[0]): ReturnType { + if (typeof configValue !== 'boolean') throw new Error(`${configDefinedAt} should be a boolean`) + return { + meta: { + Page: { + env: { + // Always load `Page` on the client-side. + client: true, + // When the SSR flag is false, we want to render the page only on the client-side. + // We achieve this by loading `Page` only on the client-side: when onRenderHtml() + // gets a `Page` value that is undefined it skip server-side rendering. + server: configValue !== false + } + } + } + } +} diff --git a/vike-solid/rollup.config.js b/vike-solid/rollup.config.js index a62f023..6a07631 100644 --- a/vike-solid/rollup.config.js +++ b/vike-solid/rollup.config.js @@ -6,7 +6,7 @@ export default [ withSolid({ input: { "renderer/onRenderHtml": "./renderer/onRenderHtml.tsx", - "main": "./main.ts", + "index": "./index.ts", "+config": "./+config.ts", "hooks/usePageContext": "./hooks/usePageContext.tsx", "hooks/useData": "./hooks/useData.tsx", @@ -26,7 +26,7 @@ export default [ }), { input: [ - "./main.ts", + "./index.ts", "./+config.ts", "./hooks/usePageContext.tsx", "./hooks/useData.tsx", diff --git a/vike-solid/types/Config.ts b/vike-solid/types/Config.ts new file mode 100644 index 0000000..87f0c97 --- /dev/null +++ b/vike-solid/types/Config.ts @@ -0,0 +1,61 @@ +// https://vike.dev/meta#typescript +import type { Component, JSX } from "solid-js"; + +declare global { + namespace Vike { + interface Config { + /** The page's root Solid component */ + Page?: () => JSX.Element; + + /** Solid element renderer and appended into */ + Head?: Component; + + /** + * A component that defines the visual layout of the page common to several pages. + * + * Technically: the `` component wraps the root component ``. + * + * https://vike.dev/Layout + */ + Layout?: Component; + + /** ${title} */ + title?: string | ((pageContext: PageContext) => string); + + /** */ + favicon?: string; + + /** + * + * @default 'en' + * + */ + lang?: string; + + /** + * If `true`, the page is rendered twice: on the server-side (to HTML) and on the client-side (hydration). + * + * If `false`, the page is rendered only once in the browser. + * + * https://vike.dev/ssr + * + * @default true + * + */ + ssr?: boolean; + + /** + * Whether to stream the page's HTML. Requires Server-Side Rendering (`ssr: true`). + * + * @default false + * + * https://vike.dev/stream + * + */ + stream?: boolean; + } + interface ConfigResolved { + Layout?: Array; + } + } +} diff --git a/vike-solid/types/PageContext.ts b/vike-solid/types/PageContext.ts new file mode 100644 index 0000000..b1a7253 --- /dev/null +++ b/vike-solid/types/PageContext.ts @@ -0,0 +1,12 @@ +import type { JSX } from "solid-js"; + +// https://vike.dev/pageContext#typescript +declare global { + namespace Vike { + interface PageContext { + /** The root React component of the page */ + Page?: () => JSX.Element + } + } + } + \ No newline at end of file diff --git a/vike-solid/types/index.ts b/vike-solid/types/index.ts index 69c6a1e..901e766 100644 --- a/vike-solid/types/index.ts +++ b/vike-solid/types/index.ts @@ -1,17 +1,2 @@ -export type { Component } from "solid-js"; - -import type { Component, JSX } from "solid-js"; - -type Page = () => JSX.Element; - -declare global { - namespace Vike { - interface ConfigResolved { - Layout?: Array; - } - interface PageContext { - // Page is undefined in onRenderHtml() when setting the `ssr` config flag to `false` - Page?: Page; - } - } -} +import "./PageContext.js" +import "./Config.js" \ No newline at end of file From 4f08a138fb3f5262c4b8b0f70e3def38dc2e9ee0 Mon Sep 17 00:00:00 2001 From: Muhammad Date: Wed, 19 Jun 2024 21:14:08 +0700 Subject: [PATCH 2/3] Use `@brillout/release-me` --- pnpm-lock.yaml | 552 ++++++++++++++++++++++++++++++++++++++++ vike-solid/package.json | 5 +- 2 files changed, 556 insertions(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a2d207b..d696494 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,6 +67,9 @@ importers: '@babel/preset-typescript': specifier: ^7.24.7 version: 7.24.7(@babel/core@7.24.7) + '@brillout/release-me': + specifier: ^0.3.9 + version: 0.3.9 '@rollup/plugin-babel': specifier: ^6.0.4 version: 6.0.4(@babel/core@7.24.7)(@types/babel__core@7.20.5)(rollup@4.18.0) @@ -723,6 +726,10 @@ packages: '@brillout/picocolors@1.0.13': resolution: {integrity: sha512-LblvMKItHbvkaIMI+Awsk1EEjmReE8E8Mgjtj3Pdn/qBvwQ6e+ts5uEqG6iTrK6JWndcxrQgSe664KfoteN6fA==} + '@brillout/release-me@0.3.9': + resolution: {integrity: sha512-7Q9YD+rnVF9hFmRFNSEePAejYSgZzWABJTA5sFrfD1utREt5K8aokoldvm/WES83SOMIkPO97c2kII9J4snc7Q==} + hasBin: true + '@brillout/require-shim@0.1.2': resolution: {integrity: sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==} @@ -1005,6 +1012,10 @@ packages: cpu: [x64] os: [win32] + '@hutson/parse-repository-url@5.0.0': + resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} + engines: {node: '>=10.13.0'} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -1174,14 +1185,24 @@ packages: '@types/node@20.14.5': resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + acorn@8.12.0: resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true + add-stream@1.0.0: + resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -1193,6 +1214,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + babel-plugin-jsx-dom-expressions@0.37.20: resolution: {integrity: sha512-0L3aC5EFyvCgIlEYIqJb4Ym29s1IDI/U5SntZ1ZK054xe0MqBmBi2GLK3f9AOklhdY7kCC3GsHD0bILh6u0Qsg==} peerDependencies: @@ -1277,6 +1301,13 @@ packages: color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + confbox@0.1.3: resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} @@ -1284,6 +1315,68 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} + conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} + + conventional-changelog-atom@4.0.0: + resolution: {integrity: sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==} + engines: {node: '>=16'} + + conventional-changelog-codemirror@4.0.0: + resolution: {integrity: sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==} + engines: {node: '>=16'} + + conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} + + conventional-changelog-core@7.0.0: + resolution: {integrity: sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==} + engines: {node: '>=16'} + + conventional-changelog-ember@4.0.0: + resolution: {integrity: sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==} + engines: {node: '>=16'} + + conventional-changelog-eslint@5.0.0: + resolution: {integrity: sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==} + engines: {node: '>=16'} + + conventional-changelog-express@4.0.0: + resolution: {integrity: sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==} + engines: {node: '>=16'} + + conventional-changelog-jquery@5.0.0: + resolution: {integrity: sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==} + engines: {node: '>=16'} + + conventional-changelog-jshint@4.0.0: + resolution: {integrity: sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==} + engines: {node: '>=16'} + + conventional-changelog-preset-loader@4.1.0: + resolution: {integrity: sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==} + engines: {node: '>=16'} + + conventional-changelog-writer@7.0.1: + resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} + engines: {node: '>=16'} + hasBin: true + + conventional-changelog@5.1.0: + resolution: {integrity: sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==} + engines: {node: '>=16'} + + conventional-commits-filter@4.0.0: + resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} + engines: {node: '>=16'} + + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} + hasBin: true + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -1297,6 +1390,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} + data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -1320,6 +1417,10 @@ packages: destr@2.0.1: resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} @@ -1327,6 +1428,9 @@ packages: electron-to-chromium@1.4.738: resolution: {integrity: sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A==} + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-module-lexer@1.5.3: resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} @@ -1355,6 +1459,10 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -1374,6 +1482,10 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true @@ -1398,6 +1510,10 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -1406,6 +1522,16 @@ packages: resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} hasBin: true + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} + hasBin: true + + git-semver-tags@7.0.1: + resolution: {integrity: sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==} + engines: {node: '>=16'} + hasBin: true + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1414,6 +1540,11 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -1422,13 +1553,24 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -1455,10 +1597,22 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} + is-what@4.1.15: resolution: {integrity: sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA==} engines: {node: '>=12.13'} @@ -1486,6 +1640,13 @@ packages: engines: {node: '>=4'} hasBin: true + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -1494,19 +1655,39 @@ packages: jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + merge-anything@5.1.7: resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} engines: {node: '>=12.13'} @@ -1522,10 +1703,17 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -1558,6 +1746,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -1572,10 +1763,18 @@ packages: node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + normalize-package-data@6.0.1: + resolution: {integrity: sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==} + engines: {node: ^16.14.0 || >=18.0.0} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + npm-run-path@5.2.0: resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1588,10 +1787,30 @@ packages: ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + parse-json@7.1.1: + resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} + engines: {node: '>=16'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1633,6 +1852,14 @@ packages: rc9@2.1.1: resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} + read-pkg-up@10.1.0: + resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} + engines: {node: '>=16'} + + read-pkg@8.1.0: + resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} + engines: {node: '>=16'} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -1708,6 +1935,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -1738,10 +1968,30 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -1758,6 +2008,13 @@ packages: resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -1777,6 +2034,14 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + + type-fest@4.20.1: + resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} + engines: {node: '>=16'} + typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} @@ -1785,6 +2050,11 @@ packages: ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + uglify-js@3.18.0: + resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} + engines: {node: '>=0.8.0'} + hasBin: true + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1813,6 +2083,9 @@ packages: validate-html-nesting@1.2.2: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vike@0.4.177: resolution: {integrity: sha512-ZCyJkeNJ+ssmkoVyrET1tDsKfW+y7Is3vwzkSDeac+disp8KITJWUMvgJsOPKII/q6eNZGbJWnZ+v3Xli0rong==} engines: {node: '>=18.0.0'} @@ -1879,12 +2152,19 @@ packages: engines: {node: '>= 8'} hasBin: true + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + snapshots: '@ampproject/remapping@2.3.0': @@ -2701,6 +2981,14 @@ snapshots: '@brillout/picocolors@1.0.13': {} + '@brillout/release-me@0.3.9': + dependencies: + '@brillout/picocolors': 1.0.13 + commander: 11.1.0 + conventional-changelog: 5.1.0 + execa: 5.1.1 + semver: 7.6.2 + '@brillout/require-shim@0.1.2': {} '@brillout/vite-plugin-server-entry@0.4.6': @@ -2845,6 +3133,8 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@hutson/parse-repository-url@5.0.0': {} + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 @@ -2991,10 +3281,19 @@ snapshots: undici-types: 5.26.5 optional: true + '@types/normalize-package-data@2.4.4': {} + '@types/resolve@1.20.2': {} + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + acorn@8.12.0: {} + add-stream@1.0.0: {} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -3006,6 +3305,8 @@ snapshots: argparse@2.0.1: {} + array-ify@1.0.0: {} + babel-plugin-jsx-dom-expressions@0.37.20(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 @@ -3123,10 +3424,88 @@ snapshots: color-name@1.1.3: {} + commander@11.1.0: {} + + compare-func@2.0.0: + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + confbox@0.1.3: {} consola@3.2.3: {} + conventional-changelog-angular@7.0.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-atom@4.0.0: {} + + conventional-changelog-codemirror@4.0.0: {} + + conventional-changelog-conventionalcommits@7.0.2: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-core@7.0.0: + dependencies: + '@hutson/parse-repository-url': 5.0.0 + add-stream: 1.0.0 + conventional-changelog-writer: 7.0.1 + conventional-commits-parser: 5.0.0 + git-raw-commits: 4.0.0 + git-semver-tags: 7.0.1 + hosted-git-info: 7.0.2 + normalize-package-data: 6.0.1 + read-pkg: 8.1.0 + read-pkg-up: 10.1.0 + + conventional-changelog-ember@4.0.0: {} + + conventional-changelog-eslint@5.0.0: {} + + conventional-changelog-express@4.0.0: {} + + conventional-changelog-jquery@5.0.0: {} + + conventional-changelog-jshint@4.0.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-preset-loader@4.1.0: {} + + conventional-changelog-writer@7.0.1: + dependencies: + conventional-commits-filter: 4.0.0 + handlebars: 4.7.8 + json-stringify-safe: 5.0.1 + meow: 12.1.1 + semver: 7.6.2 + split2: 4.2.0 + + conventional-changelog@5.1.0: + dependencies: + conventional-changelog-angular: 7.0.0 + conventional-changelog-atom: 4.0.0 + conventional-changelog-codemirror: 4.0.0 + conventional-changelog-conventionalcommits: 7.0.2 + conventional-changelog-core: 7.0.0 + conventional-changelog-ember: 4.0.0 + conventional-changelog-eslint: 5.0.0 + conventional-changelog-express: 4.0.0 + conventional-changelog-jquery: 5.0.0 + conventional-changelog-jshint: 4.0.0 + conventional-changelog-preset-loader: 4.1.0 + + conventional-commits-filter@4.0.0: {} + + conventional-commits-parser@5.0.0: + dependencies: + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 + convert-source-map@2.0.0: {} core-js-compat@3.37.0: @@ -3141,6 +3520,8 @@ snapshots: csstype@3.1.3: {} + dargs@8.1.0: {} + data-uri-to-buffer@4.0.1: {} debug@4.3.4: @@ -3153,10 +3534,18 @@ snapshots: destr@2.0.1: {} + dot-prop@5.3.0: + dependencies: + is-obj: 2.0.0 + dotenv@16.4.5: {} electron-to-chromium@1.4.738: {} + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + es-module-lexer@1.5.3: {} esbuild@0.19.12: @@ -3219,6 +3608,18 @@ snapshots: esutils@2.0.3: {} + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + execa@8.0.1: dependencies: cross-spawn: 7.0.3 @@ -3252,6 +3653,11 @@ snapshots: dependencies: to-regex-range: 5.0.1 + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + flat@5.0.2: {} formdata-polyfill@4.0.10: @@ -3269,6 +3675,8 @@ snapshots: gensync@1.0.0-beta.2: {} + get-stream@6.0.1: {} + get-stream@8.0.1: {} giget@1.2.1: @@ -3282,22 +3690,50 @@ snapshots: pathe: 1.1.2 tar: 6.2.0 + git-raw-commits@4.0.0: + dependencies: + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 + + git-semver-tags@7.0.1: + dependencies: + meow: 12.1.1 + semver: 7.6.2 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 globals@11.12.0: {} + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.18.0 + has-flag@3.0.0: {} hasown@2.0.2: dependencies: function-bind: 1.1.2 + hosted-git-info@7.0.2: + dependencies: + lru-cache: 10.2.2 + html-entities@2.3.3: {} + human-signals@2.1.0: {} + human-signals@5.0.0: {} + is-arrayish@0.2.1: {} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.2.0 @@ -3320,8 +3756,16 @@ snapshots: is-number@7.0.0: {} + is-obj@2.0.0: {} + + is-stream@2.0.1: {} + is-stream@3.0.0: {} + is-text-path@2.0.0: + dependencies: + text-extensions: 2.4.0 + is-what@4.1.15: {} isexe@2.0.0: {} @@ -3338,14 +3782,28 @@ snapshots: jsesc@2.5.2: {} + json-parse-even-better-errors@3.0.2: {} + + json-stringify-safe@5.0.1: {} + json5@2.2.3: {} jsonc-parser@3.2.0: {} + jsonparse@1.3.1: {} + kleur@3.0.3: {} + lines-and-columns@2.0.4: {} + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + lodash.debounce@4.0.8: {} + lru-cache@10.2.2: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -3354,6 +3812,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + meow@12.1.1: {} + merge-anything@5.1.7: dependencies: is-what: 4.1.15 @@ -3367,8 +3827,12 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + mimic-fn@2.1.0: {} + mimic-fn@4.0.0: {} + minimist@1.2.8: {} + minipass@3.3.6: dependencies: yallist: 4.0.0 @@ -3395,6 +3859,8 @@ snapshots: nanoid@3.3.7: {} + neo-async@2.6.2: {} + node-domexception@1.0.0: {} node-fetch-native@1.6.1: {} @@ -3407,8 +3873,19 @@ snapshots: node-releases@2.0.14: {} + normalize-package-data@6.0.1: + dependencies: + hosted-git-info: 7.0.2 + is-core-module: 2.13.1 + semver: 7.6.2 + validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + npm-run-path@5.2.0: dependencies: path-key: 4.0.0 @@ -3422,10 +3899,32 @@ snapshots: ohash@1.1.3: {} + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + parse-json@7.1.1: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.2 + lines-and-columns: 2.0.4 + type-fest: 3.13.1 + + path-exists@5.0.0: {} + path-key@3.1.1: {} path-key@4.0.0: {} @@ -3465,6 +3964,19 @@ snapshots: destr: 2.0.1 flat: 5.0.2 + read-pkg-up@10.1.0: + dependencies: + find-up: 6.3.0 + read-pkg: 8.1.0 + type-fest: 4.20.1 + + read-pkg@8.1.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 6.0.1 + parse-json: 7.1.1 + type-fest: 4.20.1 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -3552,6 +4064,8 @@ snapshots: shebang-regex@3.0.0: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} sirv@2.0.4: @@ -3586,8 +4100,26 @@ snapshots: source-map@0.6.1: {} + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.18 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.18 + + spdx-license-ids@3.0.18: {} + + split2@4.2.0: {} + string-argv@0.3.2: {} + strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} supports-color@5.5.0: @@ -3605,6 +4137,10 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + text-extensions@2.4.0: {} + + through@2.3.8: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -3617,10 +4153,17 @@ snapshots: type-detect@4.0.8: {} + type-fest@3.13.1: {} + + type-fest@4.20.1: {} + typescript@5.4.5: {} ufo@1.3.2: {} + uglify-js@3.18.0: + optional: true + undici-types@5.26.5: optional: true @@ -3643,6 +4186,11 @@ snapshots: validate-html-nesting@1.2.2: {} + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + vike@0.4.177(vite@5.3.1(@types/node@18.17.4)): dependencies: '@brillout/import': 0.2.3 @@ -3718,6 +4266,10 @@ snapshots: dependencies: isexe: 2.0.0 + wordwrap@1.0.0: {} + yallist@3.1.1: {} yallist@4.0.0: {} + + yocto-queue@1.0.0: {} diff --git a/vike-solid/package.json b/vike-solid/package.json index 275ac72..c8c8e78 100644 --- a/vike-solid/package.json +++ b/vike-solid/package.json @@ -5,7 +5,9 @@ "scripts": { "dev": "rollup -c rollup.config.js --watch", "build": "tsc --noEmit && rollup -c rollup.config.js", - "release": "pnpm run build && bumpp --commit --push --tag && pnpm publish" + "release": "release-me patch", + "release:minor": "release-me minor", + "release:commit": "release-me commit" }, "dependencies": { "vite-plugin-solid": "^2.10.2" @@ -19,6 +21,7 @@ "@babel/core": "^7.24.7", "@babel/preset-env": "^7.24.7", "@babel/preset-typescript": "^7.24.7", + "@brillout/release-me": "^0.3.9", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-node-resolve": "^15.2.3", "@types/node": "^18.17.4", From 84675f658af5acbb49bb9fd4a59fe627ffcc6309 Mon Sep 17 00:00:00 2001 From: Muhammad Date: Sat, 22 Jun 2024 12:32:23 +0700 Subject: [PATCH 3/3] update error page of all examples --- examples/basic/pages/_error/+Page.tsx | 37 +++++++++++++------------ examples/ssr-spa/pages/_error/+Page.tsx | 37 +++++++++++++------------ 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/examples/basic/pages/_error/+Page.tsx b/examples/basic/pages/_error/+Page.tsx index 8b384c0..a04b985 100644 --- a/examples/basic/pages/_error/+Page.tsx +++ b/examples/basic/pages/_error/+Page.tsx @@ -1,18 +1,21 @@ -export default function Page(props: { is404: boolean; errorInfo?: string }) { - if (props.is404) { - return ( - <> -

404 Page Not Found

-

This page could not be found.

-

{props.errorInfo}

- - ); - } else { - return ( - <> -

500 Internal Server Error

-

Something went wrong.

- - ); - } +import { Show } from "solid-js"; +import { usePageContext } from "vike-solid/usePageContext"; + +export default function Page() { + const { is404 } = usePageContext() + + return ( + +

500 Internal Server Error

+

Something went wrong.

+ + } + > +

404 Page Not Found

+

This page could not be found.

+
+ ); } diff --git a/examples/ssr-spa/pages/_error/+Page.tsx b/examples/ssr-spa/pages/_error/+Page.tsx index 8b384c0..a04b985 100644 --- a/examples/ssr-spa/pages/_error/+Page.tsx +++ b/examples/ssr-spa/pages/_error/+Page.tsx @@ -1,18 +1,21 @@ -export default function Page(props: { is404: boolean; errorInfo?: string }) { - if (props.is404) { - return ( - <> -

404 Page Not Found

-

This page could not be found.

-

{props.errorInfo}

- - ); - } else { - return ( - <> -

500 Internal Server Error

-

Something went wrong.

- - ); - } +import { Show } from "solid-js"; +import { usePageContext } from "vike-solid/usePageContext"; + +export default function Page() { + const { is404 } = usePageContext() + + return ( + +

500 Internal Server Error

+

Something went wrong.

+ + } + > +

404 Page Not Found

+

This page could not be found.

+
+ ); }