diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 3ccf435..ebc1958 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,20 +1,30 @@
module.exports = {
root: true,
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:svelte/recommended',
+ 'prettier'
+ ],
parser: '@typescript-eslint/parser',
- extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
- plugins: ['svelte3', '@typescript-eslint'],
- ignorePatterns: ['*.cjs'],
- overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
- settings: {
- 'svelte3/typescript': () => require('typescript')
- },
+ plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
- ecmaVersion: 2020
+ ecmaVersion: 2020,
+ extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
- }
+ },
+ overrides: [
+ {
+ files: ['*.svelte'],
+ parser: 'svelte-eslint-parser',
+ parserOptions: {
+ parser: '@typescript-eslint/parser'
+ }
+ }
+ ]
};
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index b5c68e5..0000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: ''
-assignees: ''
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Desktop (please complete the following information):**
-
-- OS: [e.g. iOS]
-- Browser [e.g. chrome, safari]
-- Version [e.g. 22]
-
-**Smartphone (please complete the following information):**
-
-- Device: [e.g. iPhone6]
-- OS: [e.g. iOS8.1]
-- Browser [e.g. stock browser, safari]
-- Version [e.g. 22]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 2f28cea..0000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: ''
-assignees: ''
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index c629bb9..0000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-on:
- push:
- branches: main
-
-jobs:
- publish:
- runs-on: ubuntu-latest
- env:
- CI: true
- steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-node@v3
- with:
- node-version: 18
- - uses: pnpm/action-setup@v2
- name: Install pnpm
- id: pnpm-install
- with:
- version: 8.6.1
- - run: pnpm install
- - run: pnpm test:build
- - run: pnpm build
- #- run: pnpm test
- - uses: JS-DevTools/npm-publish@v2
- with:
- token: ${{ secrets.NPM_TOKEN }}
- package: "package"
diff --git a/.gitignore b/.gitignore
index 136bbef..2ec1cc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,12 @@
.DS_Store
node_modules
/build
+/dist
/.svelte-kit
/package
.env
.env.*
!.env.example
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
.idea
-package
-.vercel
-pnpm-lock.yaml
-dist
diff --git a/.npmrc b/.npmrc
index b6f27f1..0c05da4 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +1,2 @@
engine-strict=true
+resolution-mode=highest
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 8b21a13..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2022 Ether Corps
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
index 6f15c04..4fee31f 100644
--- a/README.md
+++ b/README.md
@@ -1,189 +1,58 @@
-# SvelteKit Open Graph Image Generation
+# create-svelte
-Dynamically generate Open Graph images from an HTML+CSS template or Svelte component using fast and efficient conversion from HTML > SVG > PNG. Based on [Satori](https://github.com/vercel/satori#documentation). No headless browser required.
+Everything you need to build a Svelte library, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
-## Installation
+Read more about creating a library [in the docs](https://kit.svelte.dev/docs/packaging).
+
+## Creating a project
+
+If you're seeing this, you've probably already done this step. Congrats!
```bash
-pnpm install -D @ethercorps/sveltekit-og
+# create a new project in the current directory
+npm create svelte@latest
+
+# create a new project in my-app
+npm create svelte@latest my-app
```
-> Using with Cloudflare Pages or Workers then you have to provide `url` polyfill by just installing it as `devDependency`.
+## Developing
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
-pnpm i -D url
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
```
-## Usage
+Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.
-Create a file at `/src/routes/og/+server.ts`. Alternatively, you can use JavaScript by removing the types from this example.
+## Building
-```typescript
-// src/routes/og/+server.ts
-import { ImageResponse } from '@ethercorps/sveltekit-og';
-import { RequestHandler } from './$types';
+To build your library:
-const template = `
-
-
-
- Ready to dive in?
- Start your free trial today.
-
-
-
-
-`;
-
-const fontFile = await fetch('https://og-playground.vercel.app/inter-latin-ext-400-normal.woff');
-const fontData: ArrayBuffer = await fontFile.arrayBuffer();
-
-export const GET: RequestHandler = async () => {
- return await ImageResponse(template, {
- height: 630,
- width: 1200,
- fonts: [
- {
- name: 'Inter Latin',
- data: fontData,
- weight: 400
- }
- ]
- });
-};
+```bash
+npm run package
```
-Then run `npm dev` and visit `localhost:5173/og` to view your generated PNG. Remember that hot module reloading does not work with server routes, so if you change your HTML or CSS, hard refresh the route to see changes.
+To create a production version of your showcase app:
-## Example Output
-
-
-
-## Headers
-
-When run in development, image headers contain `cache-control: no-cache, no-store`. In production, image headers contain `'cache-control': 'public, immutable, no-transform, max-age=31536000'`, which caches the image for 1 year. In both cases, the `'content-type': 'image/png'` is used.
-
-## Styling
-
-Notice that our example uses TailwindCSS classes (e.g. `tw="bg-gray-50"`). Alternatively, your HTML can contain style attributes using any of [the subset of CSS supported by Satori](https://github.com/vercel/satori#css).
-
-Satori supports only a subset of HTML and CSS. For full details, see [Satori’s documentation](https://github.com/vercel/satori#documentation). Notably, Satori only supports flex-based layouts.
-
-## Fonts
-
-Satori supports `ttf`, `otf`, and `woff` font formats; `woff2` is not supported. To maximize the font parsing speed, `ttf` or `otf` are recommended over `woff`.
-
-By default, `@ethercorps/sveltekit-og` includes only 'Noto Sans' font. If you need to use other fonts, you can specify them as shown in the example. Notably, you can also import a font file that is stored locally within your project and are not required to use fetch.
-
-## Examples
-
-- `ImageResponse` · [_source_](/src/routes/new/+server.ts) · [_demo_](https://sveltekit-og-five.vercel.app/new)
-- `componentToImageResponse` · [_source_](/src/routes/component-og/) · [_demo_](https://sveltekit-og-five.vercel.app/component-og)
-
-## API Reference
-
-The package exposes an `ImageResponse` and `componentToImageResponse` constructors, with the following options available:
-
-```typescript
-import {ImageResponse, componentToImageResponse} from '@ethercorps/sveltekit-og'
-import {SvelteComponent} from "svelte";
-
-// ...
-ImageResponse(
- element : string,
- options : {
- width ? : number = 1200
- height ? : number = 630,
- backgroundColor ? : string = "#fff"
- fonts ? : {
- name: string,
- data: ArrayBuffer,
- weight: number,
- style: 'normal' | 'italic'
- }[]
- debug ? : boolean = false
- graphemeImages ? : Record;
- loadAdditionalAsset ? : (languageCode: string, segment: string) => Promise;
- // Options that will be passed to the HTTP response
- status ? : number = 200
- statusText ? : string
- headers ? : Record
- })
-
-componentToImageResponse(
- component : typeof SvelteComponent,
- props : {}, // All export let example inside prop dictionary
- options : {
- width ? : number = 1200
- height ? : number = 630
- fonts ? : {
- name: string,
- data: ArrayBuffer,
- weight: number,
- style: 'normal' | 'italic'
- }[]
- debug ? : boolean = false
- graphemeImages ? : Record;
- loadAdditionalAsset ? : (languageCode: string, segment: string) => Promise;
- // Options that will be passed to the HTTP response
- status ? : number = 200
- statusText ? : string
- headers ? : Record
- })
+```bash
+npm run build
```
-## Changelog
+You can preview the production build with `npm run preview`.
-### v1.2.3 Update (Breaking Changes)
+> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
-> Now you have to install dependency by yourself which will make it easier to build for all plateforms.
+## Publishing
+Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).
+
+To publish your library to [npm](https://www.npmjs.com):
+
+```bash
+npm publish
```
-npm i @resvg/resvg-js
-```
-
-```
-npm i satori
-```
-
-> From now on their will be no issues related to build, and soon this library going to have its own documentation.
-
-### v1.2.2 Update (Breaking Change)
-
-- We don't provide access to satori from `@ethercorps/sveltekit-og`.
-
-### v1.0.0 Update (Breaking Changes)
-
-Finally, We have added html to react like element like object converter out of the box and with svelte compiler.
-Now you can use `{ toReactElement }` with `"@ethercorps/sveltekit-og"` like:
-
-- We have changed to function based instead of class based ImageResponse and componentToImageResponse.
-- Removed `@resvg/resvg-wasm` with `@resvg/resvg-js` because of internal errors.
-- Removed `satori-html` because now we have `toReactElement` out of the box with svelte compiler.
- > If you find a problem related to undefined a please check [_vite.config.js_](/vite.config.ts) and add ` define: { _a: 'undefined' } in config.`
-
-> If you find any issue and have suggestion for this project please open a ticket and if you want to contribute please create a new discussion.
-
-## Acknowledgements
-
-This project will not be possible without the following projects:
-
-- [Satori & @vercel/og](https://github.com/vercel/satori)
-- [Noto by Google Fonts](https://fonts.google.com/noto)
-- [svg2png-wasm](https://github.com/ssssota/svg2png-wasm)
-
-## Authors
-
-- [@theetherGit](https://www.github.com/theetherGit)
-- [@etherCorps](https://www.github.com/etherCorps)
-
-## Contributors
-
-- [@jasongitmail](https://github.com/jasongitmail)
diff --git a/examples/cf-page-build/package.json b/examples/cf-page-build/package.json
index 6363986..8173f09 100644
--- a/examples/cf-page-build/package.json
+++ b/examples/cf-page-build/package.json
@@ -12,7 +12,7 @@
"format": "prettier --plugin-search-dir . --write ."
},
"devDependencies": {
- "@ethercorps/sveltekit-og": "link:../../package",
+ "@ethercorps/sveltekit-og": "link:../../",
"@playwright/test": "^1.34.3",
"@sveltejs/adapter-cloudflare": "^2.3.0",
"@sveltejs/kit": "^1.20.2",
diff --git a/examples/cf-page-build/pnpm-lock.yaml b/examples/cf-page-build/pnpm-lock.yaml
index b89db49..f77406d 100644
--- a/examples/cf-page-build/pnpm-lock.yaml
+++ b/examples/cf-page-build/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.1'
+lockfileVersion: '6.0'
settings:
autoInstallPeers: true
@@ -6,8 +6,8 @@ settings:
devDependencies:
'@ethercorps/sveltekit-og':
- specifier: link:../../package
- version: link:../../package
+ specifier: link:../../
+ version: link:../..
'@playwright/test':
specifier: ^1.34.3
version: 1.34.3
diff --git a/examples/cf-workers-build/package.json b/examples/cf-workers-build/package.json
index b3d9d2f..8f46d49 100644
--- a/examples/cf-workers-build/package.json
+++ b/examples/cf-workers-build/package.json
@@ -11,19 +11,19 @@
"format": "prettier --plugin-search-dir . --write ."
},
"devDependencies": {
- "@ethercorps/sveltekit-og": "link:../../package",
- "@playwright/test": "^1.34.3",
- "@sveltejs/adapter-cloudflare-workers": "^1.1.2",
- "@sveltejs/adapter-static": "^2.0.2",
- "@sveltejs/kit": "^1.20.2",
- "eslint": "^8.42.0",
- "eslint-config-prettier": "^8.8.0",
+ "@ethercorps/sveltekit-og": "link:../..",
+ "@playwright/test": "^1.37.1",
+ "@sveltejs/adapter-cloudflare-workers": "^1.1.4",
+ "@sveltejs/adapter-static": "^2.0.3",
+ "@sveltejs/kit": "^1.24.0",
+ "eslint": "^8.48.0",
+ "eslint-config-prettier": "^8.10.0",
"eslint-plugin-svelte3": "^4.0.0",
"prettier": "^2.8.8",
"prettier-plugin-svelte": "^2.10.1",
- "svelte": "^3.59.1",
- "vite": "^4.3.9",
- "url": "^0.11.0"
+ "svelte": "^3.59.2",
+ "url": "^0.11.1",
+ "vite": "^4.4.9"
},
"type": "module"
}
diff --git a/examples/cf-workers-build/pnpm-lock.yaml b/examples/cf-workers-build/pnpm-lock.yaml
index 6810049..b5b60b2 100644
--- a/examples/cf-workers-build/pnpm-lock.yaml
+++ b/examples/cf-workers-build/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.1'
+lockfileVersion: '6.0'
settings:
autoInstallPeers: true
@@ -6,53 +6,58 @@ settings:
devDependencies:
'@ethercorps/sveltekit-og':
- specifier: link:../../package
- version: link:../../package
+ specifier: link:../..
+ version: link:../..
'@playwright/test':
- specifier: ^1.34.3
- version: 1.34.3
+ specifier: ^1.37.1
+ version: 1.37.1
'@sveltejs/adapter-cloudflare-workers':
- specifier: ^1.1.2
- version: 1.1.2(@sveltejs/kit@1.20.2)
+ specifier: ^1.1.4
+ version: 1.1.4(@sveltejs/kit@1.24.0)
'@sveltejs/adapter-static':
- specifier: ^2.0.2
- version: 2.0.2(@sveltejs/kit@1.20.2)
+ specifier: ^2.0.3
+ version: 2.0.3(@sveltejs/kit@1.24.0)
'@sveltejs/kit':
- specifier: ^1.20.2
- version: 1.20.2(svelte@3.59.1)(vite@4.3.9)
+ specifier: ^1.24.0
+ version: 1.24.0(svelte@3.59.2)(vite@4.4.9)
eslint:
- specifier: ^8.42.0
- version: 8.42.0
+ specifier: ^8.48.0
+ version: 8.48.0
eslint-config-prettier:
- specifier: ^8.8.0
- version: 8.8.0(eslint@8.42.0)
+ specifier: ^8.10.0
+ version: 8.10.0(eslint@8.48.0)
eslint-plugin-svelte3:
specifier: ^4.0.0
- version: 4.0.0(eslint@8.42.0)(svelte@3.59.1)
+ version: 4.0.0(eslint@8.48.0)(svelte@3.59.2)
prettier:
specifier: ^2.8.8
version: 2.8.8
prettier-plugin-svelte:
specifier: ^2.10.1
- version: 2.10.1(prettier@2.8.8)(svelte@3.59.1)
+ version: 2.10.1(prettier@2.8.8)(svelte@3.59.2)
svelte:
- specifier: ^3.59.1
- version: 3.59.1
+ specifier: ^3.59.2
+ version: 3.59.2
url:
- specifier: ^0.11.0
- version: 0.11.0
+ specifier: ^0.11.1
+ version: 0.11.1
vite:
- specifier: ^4.3.9
- version: 4.3.9
+ specifier: ^4.4.9
+ version: 4.4.9
packages:
- /@cloudflare/workers-types@4.20230518.0:
- resolution: {integrity: sha512-A0w1V+5SUawGaaPRlhFhSC/SCDT9oQG8TMoWOKFLA4qbqagELqEAFD4KySBIkeVOvCBLT1DZSYBMCxbXddl0kw==}
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
dev: true
- /@esbuild/android-arm64@0.17.19:
- resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
+ /@cloudflare/workers-types@4.20230821.0:
+ resolution: {integrity: sha512-lVQSyr5E4CEkQw7WIdsrMTj+kHjsm28mJ0B5AhNFByKR+16KTFsU/RW/nGLKHHW2jxT5lvYI+HjNQMzC9QR8Ng==}
+ dev: true
+
+ /@esbuild/android-arm64@0.18.20:
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@@ -60,8 +65,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.17.19:
- resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
+ /@esbuild/android-arm@0.18.20:
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@@ -69,8 +74,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64@0.17.19:
- resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
+ /@esbuild/android-x64@0.18.20:
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -78,8 +83,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64@0.17.19:
- resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
+ /@esbuild/darwin-arm64@0.18.20:
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@@ -87,8 +92,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64@0.17.19:
- resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
+ /@esbuild/darwin-x64@0.18.20:
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -96,8 +101,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64@0.17.19:
- resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
+ /@esbuild/freebsd-arm64@0.18.20:
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@@ -105,8 +110,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64@0.17.19:
- resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
+ /@esbuild/freebsd-x64@0.18.20:
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -114,8 +119,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64@0.17.19:
- resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
+ /@esbuild/linux-arm64@0.18.20:
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@@ -123,8 +128,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm@0.17.19:
- resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
+ /@esbuild/linux-arm@0.18.20:
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@@ -132,8 +137,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32@0.17.19:
- resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
+ /@esbuild/linux-ia32@0.18.20:
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@@ -141,8 +146,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.17.19:
- resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
+ /@esbuild/linux-loong64@0.18.20:
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@@ -150,8 +155,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el@0.17.19:
- resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
+ /@esbuild/linux-mips64el@0.18.20:
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@@ -159,8 +164,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64@0.17.19:
- resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
+ /@esbuild/linux-ppc64@0.18.20:
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@@ -168,8 +173,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64@0.17.19:
- resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
+ /@esbuild/linux-riscv64@0.18.20:
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@@ -177,8 +182,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x@0.17.19:
- resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
+ /@esbuild/linux-s390x@0.18.20:
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@@ -186,8 +191,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64@0.17.19:
- resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
+ /@esbuild/linux-x64@0.18.20:
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@@ -195,8 +200,8 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64@0.17.19:
- resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
+ /@esbuild/netbsd-x64@0.18.20:
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -204,8 +209,8 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64@0.17.19:
- resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
+ /@esbuild/openbsd-x64@0.18.20:
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -213,8 +218,8 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64@0.17.19:
- resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
+ /@esbuild/sunos-x64@0.18.20:
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -222,8 +227,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64@0.17.19:
- resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
+ /@esbuild/win32-arm64@0.18.20:
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@@ -231,8 +236,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32@0.17.19:
- resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
+ /@esbuild/win32-ia32@0.18.20:
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@@ -240,8 +245,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-x64@0.17.19:
- resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
+ /@esbuild/win32-x64@0.18.20:
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -249,29 +254,29 @@ packages:
dev: true
optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0):
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
- eslint: 8.42.0
- eslint-visitor-keys: 3.4.1
+ eslint: 8.48.0
+ eslint-visitor-keys: 3.4.3
dev: true
- /@eslint-community/regexpp@4.5.1:
- resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
+ /@eslint-community/regexpp@4.8.0:
+ resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
- /@eslint/eslintrc@2.0.3:
- resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==}
+ /@eslint/eslintrc@2.1.2:
+ resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4
- espree: 9.5.2
- globals: 13.20.0
+ espree: 9.6.1
+ globals: 13.21.0
ignore: 5.2.4
import-fresh: 3.3.0
js-yaml: 4.1.0
@@ -281,13 +286,13 @@ packages:
- supports-color
dev: true
- /@eslint/js@8.42.0:
- resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==}
+ /@eslint/js@8.48.0:
+ resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@humanwhocodes/config-array@0.11.10:
- resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
+ /@humanwhocodes/config-array@0.11.11:
+ resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==}
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 1.2.1
@@ -335,13 +340,13 @@ packages:
fastq: 1.15.0
dev: true
- /@playwright/test@1.34.3:
- resolution: {integrity: sha512-zPLef6w9P6T/iT6XDYG3mvGOqOyb6eHaV9XtkunYs0+OzxBtrPAAaHotc0X+PJ00WPPnLfFBTl7mf45Mn8DBmw==}
- engines: {node: '>=14'}
+ /@playwright/test@1.37.1:
+ resolution: {integrity: sha512-bq9zTli3vWJo8S3LwB91U0qDNQDpEXnw7knhxLM0nwDvexQAwx9tO8iKDZSqqneVq+URd/WIoz+BALMqUTgdSg==}
+ engines: {node: '>=16'}
hasBin: true
dependencies:
- '@types/node': 20.2.5
- playwright-core: 1.34.3
+ '@types/node': 20.5.7
+ playwright-core: 1.37.1
optionalDependencies:
fsevents: 2.3.2
dev: true
@@ -350,27 +355,27 @@ packages:
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
dev: true
- /@sveltejs/adapter-cloudflare-workers@1.1.2(@sveltejs/kit@1.20.2):
- resolution: {integrity: sha512-akhvgvLI1hERPi/Q2kmoQdqZ9qG3MnY3TY3c89eQCSNbj8IhKEp8AMGVxREkbSM6Vcpirx7kief3r7slQziOSg==}
+ /@sveltejs/adapter-cloudflare-workers@1.1.4(@sveltejs/kit@1.24.0):
+ resolution: {integrity: sha512-HCCwCp4RN+pWnbwBJkPy2CLiNto2kVvy0pVzN8gmLfcDcj9mqHBMSdEuvPaa0kQaMzAlvcxGpzGOvg3JNrWUXQ==}
peerDependencies:
'@sveltejs/kit': ^1.0.0
dependencies:
- '@cloudflare/workers-types': 4.20230518.0
+ '@cloudflare/workers-types': 4.20230821.0
'@iarna/toml': 2.2.5
- '@sveltejs/kit': 1.20.2(svelte@3.59.1)(vite@4.3.9)
- esbuild: 0.17.19
+ '@sveltejs/kit': 1.24.0(svelte@3.59.2)(vite@4.4.9)
+ esbuild: 0.18.20
dev: true
- /@sveltejs/adapter-static@2.0.2(@sveltejs/kit@1.20.2):
- resolution: {integrity: sha512-9wYtf6s6ew7DHUHMrt55YpD1FgV7oWql2IGsW5BXquLxqcY9vjrqCFo0TzzDpo+ZPZkW/v77k0eOP6tsAb8HmQ==}
+ /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.24.0):
+ resolution: {integrity: sha512-VUqTfXsxYGugCpMqQv1U0LIdbR3S5nBkMMDmpjGVJyM6Q2jHVMFtdWJCkeHMySc6mZxJ+0eZK3T7IgmUCDrcUQ==}
peerDependencies:
'@sveltejs/kit': ^1.5.0
dependencies:
- '@sveltejs/kit': 1.20.2(svelte@3.59.1)(vite@4.3.9)
+ '@sveltejs/kit': 1.24.0(svelte@3.59.2)(vite@4.4.9)
dev: true
- /@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@4.3.9):
- resolution: {integrity: sha512-MtR1i+HtmYWcRgtubw1GQqT/+CWXL/z24PegE0xYAdObbhdr7YtEfmoe705D/JZMtMmoPXrmSk4W0MfL5A3lYw==}
+ /@sveltejs/kit@1.24.0(svelte@3.59.2)(vite@4.4.9):
+ resolution: {integrity: sha512-r7Gj0/VcdAIRL1yE1cJ5rurWJ5drrR7BzRv+P+NAathtvnMCi0u4FhezO7T4bj7DJdQ3TNsax3yQcrVWxh60fg==}
engines: {node: ^16.14 || >=18}
hasBin: true
requiresBuild: true
@@ -378,57 +383,57 @@ packages:
svelte: ^3.54.0 || ^4.0.0-next.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.1)(vite@4.3.9)
+ '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@3.59.2)(vite@4.4.9)
'@types/cookie': 0.5.1
cookie: 0.5.0
devalue: 4.3.2
esm-env: 1.0.0
kleur: 4.1.5
- magic-string: 0.30.0
+ magic-string: 0.30.3
mime: 3.0.0
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 2.0.3
- svelte: 3.59.1
+ svelte: 3.59.2
tiny-glob: 0.2.9
- undici: 5.22.1
- vite: 4.3.9
+ undici: 5.23.0
+ vite: 4.4.9
transitivePeerDependencies:
- supports-color
dev: true
- /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@3.59.1)(vite@4.3.9):
- resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==}
+ /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@3.59.2)(vite@4.4.9):
+ resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
'@sveltejs/vite-plugin-svelte': ^2.2.0
- svelte: ^3.54.0 || ^4.0.0-next.0
+ svelte: ^3.54.0 || ^4.0.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.1)(vite@4.3.9)
+ '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@3.59.2)(vite@4.4.9)
debug: 4.3.4
- svelte: 3.59.1
- vite: 4.3.9
+ svelte: 3.59.2
+ vite: 4.4.9
transitivePeerDependencies:
- supports-color
dev: true
- /@sveltejs/vite-plugin-svelte@2.4.1(svelte@3.59.1)(vite@4.3.9):
- resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==}
+ /@sveltejs/vite-plugin-svelte@2.4.5(svelte@3.59.2)(vite@4.4.9):
+ resolution: {integrity: sha512-UJKsFNwhzCVuiZd06jM/psscyNJNDwjQC+qIeb7GBJK9iWeQCcIyfcPWDvbCudfcJggY9jtxJeeaZH7uny93FQ==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
- svelte: ^3.54.0 || ^4.0.0-next.0
+ svelte: ^3.54.0 || ^4.0.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@3.59.1)(vite@4.3.9)
+ '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@3.59.2)(vite@4.4.9)
debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
- magic-string: 0.30.0
- svelte: 3.59.1
- svelte-hmr: 0.15.2(svelte@3.59.1)
- vite: 4.3.9
- vitefu: 0.2.4(vite@4.3.9)
+ magic-string: 0.30.3
+ svelte: 3.59.2
+ svelte-hmr: 0.15.3(svelte@3.59.2)
+ vite: 4.4.9
+ vitefu: 0.2.4(vite@4.4.9)
transitivePeerDependencies:
- supports-color
dev: true
@@ -437,20 +442,20 @@ packages:
resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
dev: true
- /@types/node@20.2.5:
- resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==}
+ /@types/node@20.5.7:
+ resolution: {integrity: sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==}
dev: true
- /acorn-jsx@5.3.2(acorn@8.8.2):
+ /acorn-jsx@5.3.2(acorn@8.10.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.8.2
+ acorn: 8.10.0
dev: true
- /acorn@8.8.2:
- resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
+ /acorn@8.10.0:
+ resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
@@ -498,6 +503,13 @@ packages:
streamsearch: 1.1.0
dev: true
+ /call-bind@1.0.2:
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.2.1
+ dev: true
+
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -572,34 +584,34 @@ packages:
esutils: 2.0.3
dev: true
- /esbuild@0.17.19:
- resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
+ /esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.17.19
- '@esbuild/android-arm64': 0.17.19
- '@esbuild/android-x64': 0.17.19
- '@esbuild/darwin-arm64': 0.17.19
- '@esbuild/darwin-x64': 0.17.19
- '@esbuild/freebsd-arm64': 0.17.19
- '@esbuild/freebsd-x64': 0.17.19
- '@esbuild/linux-arm': 0.17.19
- '@esbuild/linux-arm64': 0.17.19
- '@esbuild/linux-ia32': 0.17.19
- '@esbuild/linux-loong64': 0.17.19
- '@esbuild/linux-mips64el': 0.17.19
- '@esbuild/linux-ppc64': 0.17.19
- '@esbuild/linux-riscv64': 0.17.19
- '@esbuild/linux-s390x': 0.17.19
- '@esbuild/linux-x64': 0.17.19
- '@esbuild/netbsd-x64': 0.17.19
- '@esbuild/openbsd-x64': 0.17.19
- '@esbuild/sunos-x64': 0.17.19
- '@esbuild/win32-arm64': 0.17.19
- '@esbuild/win32-ia32': 0.17.19
- '@esbuild/win32-x64': 0.17.19
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
dev: true
/escape-string-regexp@4.0.0:
@@ -607,48 +619,48 @@ packages:
engines: {node: '>=10'}
dev: true
- /eslint-config-prettier@8.8.0(eslint@8.42.0):
- resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
+ /eslint-config-prettier@8.10.0(eslint@8.48.0):
+ resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
- eslint: 8.42.0
+ eslint: 8.48.0
dev: true
- /eslint-plugin-svelte3@4.0.0(eslint@8.42.0)(svelte@3.59.1):
+ /eslint-plugin-svelte3@4.0.0(eslint@8.48.0)(svelte@3.59.2):
resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==}
peerDependencies:
eslint: '>=8.0.0'
svelte: ^3.2.0
dependencies:
- eslint: 8.42.0
- svelte: 3.59.1
+ eslint: 8.48.0
+ svelte: 3.59.2
dev: true
- /eslint-scope@7.2.0:
- resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
dev: true
- /eslint-visitor-keys@3.4.1:
- resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint@8.42.0:
- resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==}
+ /eslint@8.48.0:
+ resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0)
- '@eslint-community/regexpp': 4.5.1
- '@eslint/eslintrc': 2.0.3
- '@eslint/js': 8.42.0
- '@humanwhocodes/config-array': 0.11.10
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
+ '@eslint-community/regexpp': 4.8.0
+ '@eslint/eslintrc': 2.1.2
+ '@eslint/js': 8.48.0
+ '@humanwhocodes/config-array': 0.11.11
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6
@@ -657,19 +669,18 @@ packages:
debug: 4.3.4
doctrine: 3.0.0
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.0
- eslint-visitor-keys: 3.4.1
- espree: 9.5.2
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.20.0
+ globals: 13.21.0
graphemer: 1.4.0
ignore: 5.2.4
- import-fresh: 3.3.0
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -679,9 +690,8 @@ packages:
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
- optionator: 0.9.1
+ optionator: 0.9.3
strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
@@ -691,13 +701,13 @@ packages:
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
dev: true
- /espree@9.5.2:
- resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.8.2
- acorn-jsx: 5.3.2(acorn@8.8.2)
- eslint-visitor-keys: 3.4.1
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
+ eslint-visitor-keys: 3.4.3
dev: true
/esquery@1.5.0:
@@ -746,7 +756,7 @@ packages:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- flat-cache: 3.0.4
+ flat-cache: 3.1.0
dev: true
/find-up@5.0.0:
@@ -757,11 +767,12 @@ packages:
path-exists: 4.0.0
dev: true
- /flat-cache@3.0.4:
- resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ /flat-cache@3.1.0:
+ resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==}
+ engines: {node: '>=12.0.0'}
dependencies:
flatted: 3.2.7
+ keyv: 4.5.3
rimraf: 3.0.2
dev: true
@@ -781,6 +792,27 @@ packages:
dev: true
optional: true
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ dev: true
+
+ /get-intrinsic@1.2.1:
+ resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ dev: true
+
/glob-parent@6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
@@ -799,8 +831,8 @@ packages:
path-is-absolute: 1.0.1
dev: true
- /globals@13.20.0:
- resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
+ /globals@13.21.0:
+ resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==}
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
@@ -823,6 +855,23 @@ packages:
engines: {node: '>=8'}
dev: true
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has@1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+
/ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
@@ -880,6 +929,10 @@ packages:
argparse: 2.0.1
dev: true
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
@@ -888,6 +941,12 @@ packages:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
+ /keyv@4.5.3:
+ resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
/kleur@4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
@@ -912,8 +971,8 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
- /magic-string@0.30.0:
- resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
+ /magic-string@0.30.3:
+ resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
@@ -955,22 +1014,26 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
+ /object-inspect@1.12.3:
+ resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
+ dev: true
+
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
dev: true
- /optionator@0.9.1:
- resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
deep-is: 0.1.4
fast-levenshtein: 2.0.6
levn: 0.4.1
prelude-ls: 1.2.1
type-check: 0.4.0
- word-wrap: 1.2.3
dev: true
/p-limit@3.1.0:
@@ -1013,14 +1076,14 @@ packages:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: true
- /playwright-core@1.34.3:
- resolution: {integrity: sha512-2pWd6G7OHKemc5x1r1rp8aQcpvDh7goMBZlJv6Co5vCNLVcQJdhxRL09SGaY6HcyHH9aT4tiynZabMofVasBYw==}
- engines: {node: '>=14'}
+ /playwright-core@1.37.1:
+ resolution: {integrity: sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==}
+ engines: {node: '>=16'}
hasBin: true
dev: true
- /postcss@8.4.24:
- resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
+ /postcss@8.4.29:
+ resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.6
@@ -1033,14 +1096,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@3.59.1):
+ /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@3.59.2):
resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==}
peerDependencies:
prettier: ^1.16.4 || ^2.0.0
svelte: ^3.2.0 || ^4.0.0-next.0
dependencies:
prettier: 2.8.8
- svelte: 3.59.1
+ svelte: 3.59.2
dev: true
/prettier@2.8.8:
@@ -1049,8 +1112,8 @@ packages:
hasBin: true
dev: true
- /punycode@1.3.2:
- resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==}
+ /punycode@1.4.1:
+ resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
dev: true
/punycode@2.3.0:
@@ -1058,10 +1121,11 @@ packages:
engines: {node: '>=6'}
dev: true
- /querystring@0.2.0:
- resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==}
- engines: {node: '>=0.4.x'}
- deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
+ /qs@6.11.2:
+ resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==}
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: 1.0.4
dev: true
/queue-microtask@1.2.3:
@@ -1085,12 +1149,12 @@ packages:
glob: 7.2.3
dev: true
- /rollup@3.24.0:
- resolution: {integrity: sha512-OgraHOIg2YpHQTjl0/ymWfFNBEyPucB7lmhXrQUh38qNOegxLapSPFs9sNr0qKR75awW41D93XafoR2QfhBdUQ==}
+ /rollup@3.28.1:
+ resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
/run-parallel@1.2.0:
@@ -1122,6 +1186,14 @@ packages:
engines: {node: '>=8'}
dev: true
+ /side-channel@1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ object-inspect: 1.12.3
+ dev: true
+
/sirv@2.0.3:
resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
engines: {node: '>= 10'}
@@ -1160,17 +1232,17 @@ packages:
has-flag: 4.0.0
dev: true
- /svelte-hmr@0.15.2(svelte@3.59.1):
- resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==}
+ /svelte-hmr@0.15.3(svelte@3.59.2):
+ resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
- svelte: ^3.19.0 || ^4.0.0-next.0
+ svelte: ^3.19.0 || ^4.0.0
dependencies:
- svelte: 3.59.1
+ svelte: 3.59.2
dev: true
- /svelte@3.59.1:
- resolution: {integrity: sha512-pKj8fEBmqf6mq3/NfrB9SLtcJcUvjYSWyePlfCqN9gujLB25RitWK8PvFzlwim6hD/We35KbPlRteuA6rnPGcQ==}
+ /svelte@3.59.2:
+ resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==}
engines: {node: '>= 8'}
dev: true
@@ -1202,8 +1274,8 @@ packages:
engines: {node: '>=10'}
dev: true
- /undici@5.22.1:
- resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
+ /undici@5.23.0:
+ resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==}
engines: {node: '>=14.0'}
dependencies:
busboy: 1.6.0
@@ -1215,20 +1287,21 @@ packages:
punycode: 2.3.0
dev: true
- /url@0.11.0:
- resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==}
+ /url@0.11.1:
+ resolution: {integrity: sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==}
dependencies:
- punycode: 1.3.2
- querystring: 0.2.0
+ punycode: 1.4.1
+ qs: 6.11.2
dev: true
- /vite@4.3.9:
- resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
+ /vite@4.4.9:
+ resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
'@types/node': '>= 14'
less: '*'
+ lightningcss: ^1.21.0
sass: '*'
stylus: '*'
sugarss: '*'
@@ -1238,6 +1311,8 @@ packages:
optional: true
less:
optional: true
+ lightningcss:
+ optional: true
sass:
optional: true
stylus:
@@ -1247,14 +1322,14 @@ packages:
terser:
optional: true
dependencies:
- esbuild: 0.17.19
- postcss: 8.4.24
- rollup: 3.24.0
+ esbuild: 0.18.20
+ postcss: 8.4.29
+ rollup: 3.28.1
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
- /vitefu@0.2.4(vite@4.3.9):
+ /vitefu@0.2.4(vite@4.4.9):
resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
peerDependencies:
vite: ^3.0.0 || ^4.0.0
@@ -1262,7 +1337,7 @@ packages:
vite:
optional: true
dependencies:
- vite: 4.3.9
+ vite: 4.4.9
dev: true
/which@2.0.2:
@@ -1273,11 +1348,6 @@ packages:
isexe: 2.0.0
dev: true
- /word-wrap@1.2.3:
- resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true
diff --git a/package.json b/package.json
index eee4b26..d04eb3f 100644
--- a/package.json
+++ b/package.json
@@ -1,69 +1,56 @@
{
- "name": "@ethercorps/sveltekit-og",
- "version": "2.0.1",
- "private": false,
+ "name": "sveltekit-og",
+ "version": "0.0.1",
"scripts": {
- "dev": "vite dev --host",
- "build:prod": "vite build",
- "build": "svelte-kit sync && svelte-package",
+ "dev": "vite dev",
+ "build": "vite build && npm run package",
"preview": "vite preview",
- "prepublishOnly": "echo 'Did you mean to publish `./package/`, instead of `./`?' && exit 1",
- "test:build": "pnpm build && pnpm test:vercel:build && pnpm test:netlify:build && pnpm test:pages:build && pnpm test:workers:build && pnpm test:node:build",
- "test:vercel:build": "cd examples/vercel-build && pnpm install && pnpm build",
- "test:netlify:build": "cd examples/netlify-build && pnpm install && pnpm build",
- "test:pages:build": "cd examples/cf-page-build && pnpm install && pnpm build",
- "test:workers:build": "cd examples/cf-workers-build && pnpm install && pnpm build",
- "test:node:build": "cd examples/node-build && pnpm install && pnpm build",
- "test": "playwright test",
+ "package": "svelte-kit sync && svelte-package && publint",
+ "prepublishOnly": "npm run package",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "test": "vitest",
"lint": "prettier --plugin-search-dir . --check . && eslint .",
"format": "prettier --plugin-search-dir . --write ."
},
- "devDependencies": {
- "@builder.io/partytown": "^0.8.0",
- "@playwright/test": "^1.37.1",
- "@sveltejs/adapter-auto": "next",
- "@sveltejs/adapter-vercel": "^2.4.3",
- "@sveltejs/kit": "^1.24.0",
- "@sveltejs/package": "2.2.2",
- "@typescript-eslint/eslint-plugin": "^5.62.0",
- "@typescript-eslint/parser": "^5.62.0",
- "autoprefixer": "^10.4.15",
- "brace": "^0.11.1",
- "eslint": "^8.48.0",
- "eslint-config-prettier": "^8.10.0",
- "eslint-plugin-svelte": "^2.33.0",
- "postcss": "^8.4.29",
- "prettier": "^2.8.8",
- "prettier-plugin-svelte": "^2.10.1",
- "prism-svelte": "^0.5.0",
- "prismjs": "^1.29.0",
- "svelte": "^4.2.0",
- "svelte-check": "^3.5.1",
- "svelte-preprocess": "^5.0.4",
- "tailwindcss": "^3.3.3",
- "tslib": "^2.6.2",
- "typescript": "^5.2.2",
- "vite": "^4.4.9"
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "svelte": "./dist/index.js"
+ }
},
+ "files": [
+ "dist",
+ "!dist/**/*.test.*",
+ "!dist/**/*.spec.*"
+ ],
+ "peerDependencies": {
+ "svelte": "^4.0.0"
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-auto": "^2.0.0",
+ "@sveltejs/kit": "^1.20.4",
+ "@sveltejs/package": "^2.0.0",
+ "@typescript-eslint/eslint-plugin": "^5.45.0",
+ "@typescript-eslint/parser": "^5.45.0",
+ "eslint": "^8.28.0",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-svelte": "^2.30.0",
+ "prettier": "^2.8.0",
+ "prettier-plugin-svelte": "^2.10.1",
+ "publint": "^0.1.9",
+ "svelte": "^4.0.5",
+ "svelte-check": "^3.4.3",
+ "tslib": "^2.4.1",
+ "typescript": "^5.0.0",
+ "vite": "^4.4.2",
+ "vitest": "^0.34.0"
+ },
+ "svelte": "./dist/index.js",
+ "types": "./dist/index.d.ts",
"type": "module",
"dependencies": {
- "satori": "^0.10.3",
- "svg2png-wasm": "^1.4.0"
- },
- "keywords": [
- "open graph image",
- "open graph",
- "og image",
- "og:image",
- "social",
- "card",
- "sveltekit og",
- "sveltekit-og",
- "@ethercorps/sveltekit-og"
- ],
- "license": "MIT",
- "repository": "https://github.com/etherCorps/sveltekit-og",
- "homepage": "https://github.com/etherCorps/sveltekit-og#readme"
+ "@vercel/og": "^0.5.17",
+ "satori-html": "^0.3.2"
+ }
}
diff --git a/playwright.config.ts b/playwright.config.ts
deleted file mode 100644
index 6ad3a7f..0000000
--- a/playwright.config.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import type { PlaywrightTestConfig } from '@playwright/test';
-
-const config: PlaywrightTestConfig = {
- webServer: {
- command: 'npm run build && npm run preview',
- port: 4173
- }
-};
-
-export default config;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bd78e8e..da5b3fc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,89 +5,65 @@ settings:
excludeLinksFromLockfile: false
dependencies:
- satori:
- specifier: ^0.10.3
- version: 0.10.3
- svg2png-wasm:
- specifier: ^1.4.0
- version: 1.4.0
+ '@vercel/og':
+ specifier: ^0.5.17
+ version: 0.5.17
+ satori-html:
+ specifier: ^0.3.2
+ version: 0.3.2
devDependencies:
- '@builder.io/partytown':
- specifier: ^0.8.0
- version: 0.8.0
- '@playwright/test':
- specifier: ^1.37.1
- version: 1.37.1
'@sveltejs/adapter-auto':
- specifier: next
- version: 1.0.0-next.91(@sveltejs/kit@1.24.0)
- '@sveltejs/adapter-vercel':
- specifier: ^2.4.3
- version: 2.4.3(@sveltejs/kit@1.24.0)
+ specifier: ^2.0.0
+ version: 2.1.0(@sveltejs/kit@1.25.1)
'@sveltejs/kit':
- specifier: ^1.24.0
- version: 1.24.0(svelte@4.2.0)(vite@4.4.9)
+ specifier: ^1.20.4
+ version: 1.25.1(svelte@4.2.1)(vite@4.4.9)
'@sveltejs/package':
- specifier: 2.2.2
- version: 2.2.2(svelte@4.2.0)(typescript@5.2.2)
+ specifier: ^2.0.0
+ version: 2.2.2(svelte@4.2.1)(typescript@5.2.2)
'@typescript-eslint/eslint-plugin':
- specifier: ^5.62.0
- version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2)
+ specifier: ^5.45.0
+ version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.50.0)(typescript@5.2.2)
'@typescript-eslint/parser':
- specifier: ^5.62.0
- version: 5.62.0(eslint@8.48.0)(typescript@5.2.2)
- autoprefixer:
- specifier: ^10.4.15
- version: 10.4.15(postcss@8.4.29)
- brace:
- specifier: ^0.11.1
- version: 0.11.1
+ specifier: ^5.45.0
+ version: 5.62.0(eslint@8.50.0)(typescript@5.2.2)
eslint:
- specifier: ^8.48.0
- version: 8.48.0
+ specifier: ^8.28.0
+ version: 8.50.0
eslint-config-prettier:
- specifier: ^8.10.0
- version: 8.10.0(eslint@8.48.0)
+ specifier: ^8.5.0
+ version: 8.10.0(eslint@8.50.0)
eslint-plugin-svelte:
- specifier: ^2.33.0
- version: 2.33.0(eslint@8.48.0)(svelte@4.2.0)
- postcss:
- specifier: ^8.4.29
- version: 8.4.29
+ specifier: ^2.30.0
+ version: 2.33.2(eslint@8.50.0)(svelte@4.2.1)
prettier:
- specifier: ^2.8.8
+ specifier: ^2.8.0
version: 2.8.8
prettier-plugin-svelte:
specifier: ^2.10.1
- version: 2.10.1(prettier@2.8.8)(svelte@4.2.0)
- prism-svelte:
- specifier: ^0.5.0
- version: 0.5.0
- prismjs:
- specifier: ^1.29.0
- version: 1.29.0
+ version: 2.10.1(prettier@2.8.8)(svelte@4.2.1)
+ publint:
+ specifier: ^0.1.9
+ version: 0.1.16
svelte:
- specifier: ^4.2.0
- version: 4.2.0
+ specifier: ^4.0.5
+ version: 4.2.1
svelte-check:
- specifier: ^3.5.1
- version: 3.5.1(postcss@8.4.29)(svelte@4.2.0)
- svelte-preprocess:
- specifier: ^5.0.4
- version: 5.0.4(postcss@8.4.29)(svelte@4.2.0)(typescript@5.2.2)
- tailwindcss:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.3
+ version: 3.5.2(postcss@8.4.30)(svelte@4.2.1)
tslib:
- specifier: ^2.6.2
+ specifier: ^2.4.1
version: 2.6.2
typescript:
- specifier: ^5.2.2
+ specifier: ^5.0.0
version: 5.2.2
vite:
- specifier: ^4.4.9
- version: 4.4.9
+ specifier: ^4.4.2
+ version: 4.4.9(@types/node@20.7.1)
+ vitest:
+ specifier: ^0.34.0
+ version: 0.34.5
packages:
@@ -96,11 +72,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /@alloc/quick-lru@5.2.0:
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
- dev: true
-
/@ampproject/remapping@2.2.1:
resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
engines: {node: '>=6.0.0'}
@@ -109,20 +80,6 @@ packages:
'@jridgewell/trace-mapping': 0.3.19
dev: true
- /@builder.io/partytown@0.8.0:
- resolution: {integrity: sha512-M6H7nSMwW2dHd1/MQ+9J1Jqdw22uhl1nKv90kIiL9G7gjFVqqouQp4qSS1oZclmtW1XjAa4Q5UnbHB4iytmxZA==}
- hasBin: true
- dev: true
-
- /@esbuild/android-arm64@0.17.19:
- resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-arm64@0.18.20:
resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
engines: {node: '>=12'}
@@ -132,15 +89,6 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.17.19:
- resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-arm@0.18.20:
resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
engines: {node: '>=12'}
@@ -150,15 +98,6 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64@0.17.19:
- resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-x64@0.18.20:
resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
engines: {node: '>=12'}
@@ -168,15 +107,6 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64@0.17.19:
- resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/darwin-arm64@0.18.20:
resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
engines: {node: '>=12'}
@@ -186,15 +116,6 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64@0.17.19:
- resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/darwin-x64@0.18.20:
resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
engines: {node: '>=12'}
@@ -204,15 +125,6 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64@0.17.19:
- resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/freebsd-arm64@0.18.20:
resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
engines: {node: '>=12'}
@@ -222,15 +134,6 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64@0.17.19:
- resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/freebsd-x64@0.18.20:
resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
engines: {node: '>=12'}
@@ -240,15 +143,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64@0.17.19:
- resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-arm64@0.18.20:
resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
engines: {node: '>=12'}
@@ -258,15 +152,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm@0.17.19:
- resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-arm@0.18.20:
resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
engines: {node: '>=12'}
@@ -276,15 +161,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32@0.17.19:
- resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-ia32@0.18.20:
resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
engines: {node: '>=12'}
@@ -294,15 +170,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.17.19:
- resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-loong64@0.18.20:
resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
engines: {node: '>=12'}
@@ -312,15 +179,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el@0.17.19:
- resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-mips64el@0.18.20:
resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
engines: {node: '>=12'}
@@ -330,15 +188,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64@0.17.19:
- resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-ppc64@0.18.20:
resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
engines: {node: '>=12'}
@@ -348,15 +197,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64@0.17.19:
- resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-riscv64@0.18.20:
resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
engines: {node: '>=12'}
@@ -366,15 +206,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x@0.17.19:
- resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-s390x@0.18.20:
resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
engines: {node: '>=12'}
@@ -384,15 +215,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64@0.17.19:
- resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-x64@0.18.20:
resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
engines: {node: '>=12'}
@@ -402,15 +224,6 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64@0.17.19:
- resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/netbsd-x64@0.18.20:
resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
engines: {node: '>=12'}
@@ -420,15 +233,6 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64@0.17.19:
- resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/openbsd-x64@0.18.20:
resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
engines: {node: '>=12'}
@@ -438,15 +242,6 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64@0.17.19:
- resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/sunos-x64@0.18.20:
resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
engines: {node: '>=12'}
@@ -456,15 +251,6 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64@0.17.19:
- resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/win32-arm64@0.18.20:
resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
engines: {node: '>=12'}
@@ -474,15 +260,6 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32@0.17.19:
- resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/win32-ia32@0.18.20:
resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
engines: {node: '>=12'}
@@ -492,15 +269,6 @@ packages:
dev: true
optional: true
- /@esbuild/win32-x64@0.17.19:
- resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/win32-x64@0.18.20:
resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
engines: {node: '>=12'}
@@ -510,18 +278,18 @@ packages:
dev: true
optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0):
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
- eslint: 8.48.0
+ eslint: 8.50.0
eslint-visitor-keys: 3.4.3
dev: true
- /@eslint-community/regexpp@4.8.0:
- resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==}
+ /@eslint-community/regexpp@4.9.0:
+ resolution: {integrity: sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
@@ -532,7 +300,7 @@ packages:
ajv: 6.12.6
debug: 4.3.4
espree: 9.6.1
- globals: 13.21.0
+ globals: 13.22.0
ignore: 5.2.4
import-fresh: 3.3.0
js-yaml: 4.1.0
@@ -542,8 +310,8 @@ packages:
- supports-color
dev: true
- /@eslint/js@8.48.0:
- resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==}
+ /@eslint/js@8.50.0:
+ resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
@@ -567,6 +335,13 @@ packages:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+ dev: true
+
/@jridgewell/gen-mapping@0.3.3:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'}
@@ -597,24 +372,6 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
- /@mapbox/node-pre-gyp@1.0.11:
- resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
- hasBin: true
- dependencies:
- detect-libc: 2.0.2
- https-proxy-agent: 5.0.1
- make-dir: 3.1.0
- node-fetch: 2.7.0
- nopt: 5.0.0
- npmlog: 5.0.1
- rimraf: 3.0.2
- semver: 7.5.4
- tar: 6.1.15
- transitivePeerDependencies:
- - encoding
- - supports-color
- dev: true
-
/@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -636,28 +393,14 @@ packages:
fastq: 1.15.0
dev: true
- /@playwright/test@1.37.1:
- resolution: {integrity: sha512-bq9zTli3vWJo8S3LwB91U0qDNQDpEXnw7knhxLM0nwDvexQAwx9tO8iKDZSqqneVq+URd/WIoz+BALMqUTgdSg==}
- engines: {node: '>=16'}
- hasBin: true
- dependencies:
- '@types/node': 20.5.7
- playwright-core: 1.37.1
- optionalDependencies:
- fsevents: 2.3.2
+ /@polka/url@1.0.0-next.23:
+ resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==}
dev: true
- /@polka/url@1.0.0-next.21:
- resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
- dev: true
-
- /@rollup/pluginutils@4.2.1:
- resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
- engines: {node: '>= 8.0.0'}
- dependencies:
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
+ /@resvg/resvg-wasm@2.4.1:
+ resolution: {integrity: sha512-yi6R0HyHtsoWTRA06Col4WoDs7SvlXU3DLMNP2bdAgs7HK18dTEVl1weXgxRzi8gwLteGUbIg29zulxIB3GSdg==}
+ engines: {node: '>= 10'}
+ dev: false
/@shuding/opentype.js@1.4.0-beta.0:
resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==}
@@ -668,30 +411,21 @@ packages:
string.prototype.codepointat: 0.2.1
dev: false
- /@sveltejs/adapter-auto@1.0.0-next.91(@sveltejs/kit@1.24.0):
- resolution: {integrity: sha512-U57tQdzTfFINim8tzZSARC9ztWPzwOoHwNOpGdb2o6XrD0mEQwU9DsII7dBblvzg+xCnmd0pw7PDtXz5c5t96w==}
- peerDependencies:
- '@sveltejs/kit': ^1.0.0-next.587
- dependencies:
- '@sveltejs/kit': 1.24.0(svelte@4.2.0)(vite@4.4.9)
- import-meta-resolve: 2.2.2
+ /@sinclair/typebox@0.27.8:
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
- /@sveltejs/adapter-vercel@2.4.3(@sveltejs/kit@1.24.0):
- resolution: {integrity: sha512-3k/3udwaioFYdKDAgQcWSByB+KCbtjX+ARonYGCtYE0iuxWLStrESxy3SaU+17XD5Frh8w7tfY8ft4TV3ej3Dg==}
+ /@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.25.1):
+ resolution: {integrity: sha512-o2pZCfATFtA/Gw/BB0Xm7k4EYaekXxaPGER3xGSY3FvzFJGTlJlZjBseaXwYSM94lZ0HniOjTokN3cWaLX6fow==}
peerDependencies:
- '@sveltejs/kit': ^1.5.0
+ '@sveltejs/kit': ^1.0.0
dependencies:
- '@sveltejs/kit': 1.24.0(svelte@4.2.0)(vite@4.4.9)
- '@vercel/nft': 0.22.6
- esbuild: 0.17.19
- transitivePeerDependencies:
- - encoding
- - supports-color
+ '@sveltejs/kit': 1.25.1(svelte@4.2.1)(vite@4.4.9)
+ import-meta-resolve: 3.0.0
dev: true
- /@sveltejs/kit@1.24.0(svelte@4.2.0)(vite@4.4.9):
- resolution: {integrity: sha512-r7Gj0/VcdAIRL1yE1cJ5rurWJ5drrR7BzRv+P+NAathtvnMCi0u4FhezO7T4bj7DJdQ3TNsax3yQcrVWxh60fg==}
+ /@sveltejs/kit@1.25.1(svelte@4.2.1)(vite@4.4.9):
+ resolution: {integrity: sha512-pD8XsvNJNgTNkFngNlM60my/X8dXWPKVzN5RghEQr0NjGZmuCjy49AfFu2cGbZjNf5pBcqd2RCNMW912P5fkhA==}
engines: {node: ^16.14 || >=18}
hasBin: true
requiresBuild: true
@@ -699,8 +433,8 @@ packages:
svelte: ^3.54.0 || ^4.0.0-next.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.2.0)(vite@4.4.9)
- '@types/cookie': 0.5.1
+ '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.2.1)(vite@4.4.9)
+ '@types/cookie': 0.5.2
cookie: 0.5.0
devalue: 4.3.2
esm-env: 1.0.0
@@ -710,15 +444,15 @@ packages:
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 2.0.3
- svelte: 4.2.0
+ svelte: 4.2.1
tiny-glob: 0.2.9
- undici: 5.23.0
- vite: 4.4.9
+ undici: 5.25.2
+ vite: 4.4.9(@types/node@20.7.1)
transitivePeerDependencies:
- supports-color
dev: true
- /@sveltejs/package@2.2.2(svelte@4.2.0)(typescript@5.2.2):
+ /@sveltejs/package@2.2.2(svelte@4.2.1)(typescript@5.2.2):
resolution: {integrity: sha512-rP3sVv6cAntcdcG4r4KspLU6nZYYUrHJBAX3Arrw0KJFdgxtlsi2iDwN0Jwr/vIkgjcU0ZPWM8kkT5kpZDlWAw==}
engines: {node: ^16.14 || >=18}
hasBin: true
@@ -729,13 +463,13 @@ packages:
kleur: 4.1.5
sade: 1.8.1
semver: 7.5.4
- svelte: 4.2.0
- svelte2tsx: 0.6.21(svelte@4.2.0)(typescript@5.2.2)
+ svelte: 4.2.1
+ svelte2tsx: 0.6.22(svelte@4.2.1)(typescript@5.2.2)
transitivePeerDependencies:
- typescript
dev: true
- /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@4.2.0)(vite@4.4.9):
+ /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.2.1)(vite@4.4.9):
resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
@@ -743,59 +477,69 @@ packages:
svelte: ^3.54.0 || ^4.0.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.2.0)(vite@4.4.9)
+ '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@4.2.1)(vite@4.4.9)
debug: 4.3.4
- svelte: 4.2.0
- vite: 4.4.9
+ svelte: 4.2.1
+ vite: 4.4.9(@types/node@20.7.1)
transitivePeerDependencies:
- supports-color
dev: true
- /@sveltejs/vite-plugin-svelte@2.4.5(svelte@4.2.0)(vite@4.4.9):
- resolution: {integrity: sha512-UJKsFNwhzCVuiZd06jM/psscyNJNDwjQC+qIeb7GBJK9iWeQCcIyfcPWDvbCudfcJggY9jtxJeeaZH7uny93FQ==}
+ /@sveltejs/vite-plugin-svelte@2.4.6(svelte@4.2.1)(vite@4.4.9):
+ resolution: {integrity: sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
svelte: ^3.54.0 || ^4.0.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@4.2.0)(vite@4.4.9)
+ '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.6)(svelte@4.2.1)(vite@4.4.9)
debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.3
- svelte: 4.2.0
- svelte-hmr: 0.15.3(svelte@4.2.0)
- vite: 4.4.9
+ svelte: 4.2.1
+ svelte-hmr: 0.15.3(svelte@4.2.1)
+ vite: 4.4.9(@types/node@20.7.1)
vitefu: 0.2.4(vite@4.4.9)
transitivePeerDependencies:
- supports-color
dev: true
- /@types/cookie@0.5.1:
- resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
+ /@types/chai-subset@1.3.3:
+ resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
+ dependencies:
+ '@types/chai': 4.3.6
dev: true
- /@types/estree@1.0.1:
- resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
+ /@types/chai@4.3.6:
+ resolution: {integrity: sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==}
dev: true
- /@types/json-schema@7.0.12:
- resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
+ /@types/cookie@0.5.2:
+ resolution: {integrity: sha512-DBpRoJGKJZn7RY92dPrgoMew8xCWc2P71beqsjyhEI/Ds9mOyVmBwtekyfhpwFIVt1WrxTonFifiOZ62V8CnNA==}
dev: true
- /@types/node@20.5.7:
- resolution: {integrity: sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==}
+ /@types/estree@1.0.2:
+ resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==}
dev: true
- /@types/pug@2.0.6:
- resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
+ /@types/json-schema@7.0.13:
+ resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==}
dev: true
- /@types/semver@7.5.1:
- resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==}
+ /@types/node@20.7.1:
+ resolution: {integrity: sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==}
dev: true
- /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@5.2.2):
+ /@types/pug@2.0.7:
+ resolution: {integrity: sha512-I469DU0UXNC1aHepwirWhu9YKg5fkxohZD95Ey/5A7lovC+Siu+MCLffva87lnfThaOrw9Vb1DUN5t55oULAAw==}
+ dev: true
+
+ /@types/semver@7.5.3:
+ resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==}
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -806,13 +550,13 @@ packages:
typescript:
optional: true
dependencies:
- '@eslint-community/regexpp': 4.8.0
- '@typescript-eslint/parser': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ '@eslint-community/regexpp': 4.9.0
+ '@typescript-eslint/parser': 5.62.0(eslint@8.50.0)(typescript@5.2.2)
'@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/type-utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/type-utils': 5.62.0(eslint@8.50.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.50.0)(typescript@5.2.2)
debug: 4.3.4
- eslint: 8.48.0
+ eslint: 8.50.0
graphemer: 1.4.0
ignore: 5.2.4
natural-compare-lite: 1.4.0
@@ -823,7 +567,7 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser@5.62.0(eslint@8.48.0)(typescript@5.2.2):
+ /@typescript-eslint/parser@5.62.0(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -837,7 +581,7 @@ packages:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
debug: 4.3.4
- eslint: 8.48.0
+ eslint: 8.50.0
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
@@ -851,7 +595,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.62.0
dev: true
- /@typescript-eslint/type-utils@5.62.0(eslint@8.48.0)(typescript@5.2.2):
+ /@typescript-eslint/type-utils@5.62.0(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -862,9 +606,9 @@ packages:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.48.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.50.0)(typescript@5.2.2)
debug: 4.3.4
- eslint: 8.48.0
+ eslint: 8.50.0
tsutils: 3.21.0(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
@@ -897,19 +641,19 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/utils@5.62.0(eslint@8.48.0)(typescript@5.2.2):
+ /@typescript-eslint/utils@5.62.0(eslint@8.50.0)(typescript@5.2.2):
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
- '@types/json-schema': 7.0.12
- '@types/semver': 7.5.1
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
+ '@types/json-schema': 7.0.13
+ '@types/semver': 7.5.3
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
- eslint: 8.48.0
+ eslint: 8.50.0
eslint-scope: 5.1.1
semver: 7.5.4
transitivePeerDependencies:
@@ -925,29 +669,51 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
- /@vercel/nft@0.22.6:
- resolution: {integrity: sha512-gTsFnnT4mGxodr4AUlW3/urY+8JKKB452LwF3m477RFUJTAaDmcz2JqFuInzvdybYIeyIv1sSONEJxsxnbQ5JQ==}
- engines: {node: '>=14'}
- hasBin: true
+ /@vercel/og@0.5.17:
+ resolution: {integrity: sha512-/GOyUBq3MhB3ygbhTJoZ0cHvwlyKdt0g8f4npuj4mwFlp57S7j4XWwgtqILK3XdFf25esN9i77fInrDkeRJfgA==}
+ engines: {node: '>=16'}
dependencies:
- '@mapbox/node-pre-gyp': 1.0.11
- '@rollup/pluginutils': 4.2.1
- acorn: 8.10.0
- async-sema: 3.1.1
- bindings: 1.5.0
- estree-walker: 2.0.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- micromatch: 4.0.5
- node-gyp-build: 4.6.1
- resolve-from: 5.0.0
- transitivePeerDependencies:
- - encoding
- - supports-color
+ '@resvg/resvg-wasm': 2.4.1
+ satori: 0.10.8
+ yoga-wasm-web: 0.3.3
+ dev: false
+
+ /@vitest/expect@0.34.5:
+ resolution: {integrity: sha512-/3RBIV9XEH+nRpRMqDJBufKIOQaYUH2X6bt0rKSCW0MfKhXFLYsR5ivHifeajRSTsln0FwJbitxLKHSQz/Xwkw==}
+ dependencies:
+ '@vitest/spy': 0.34.5
+ '@vitest/utils': 0.34.5
+ chai: 4.3.9
dev: true
- /abbrev@1.1.1:
- resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+ /@vitest/runner@0.34.5:
+ resolution: {integrity: sha512-RDEE3ViVvl7jFSCbnBRyYuu23XxmvRTSZWW6W4M7eC5dOsK75d5LIf6uhE5Fqf809DQ1+9ICZZNxhIolWHU4og==}
+ dependencies:
+ '@vitest/utils': 0.34.5
+ p-limit: 4.0.0
+ pathe: 1.1.1
+ dev: true
+
+ /@vitest/snapshot@0.34.5:
+ resolution: {integrity: sha512-+ikwSbhu6z2yOdtKmk/aeoDZ9QPm2g/ZO5rXT58RR9Vmu/kB2MamyDSx77dctqdZfP3Diqv4mbc/yw2kPT8rmA==}
+ dependencies:
+ magic-string: 0.30.3
+ pathe: 1.1.1
+ pretty-format: 29.7.0
+ dev: true
+
+ /@vitest/spy@0.34.5:
+ resolution: {integrity: sha512-epsicsfhvBjRjCMOC/3k00mP/TBGQy8/P0DxOFiWyLt55gnZ99dqCfCiAsKO17BWVjn4eZRIjKvcqNmSz8gvmg==}
+ dependencies:
+ tinyspy: 2.1.1
+ dev: true
+
+ /@vitest/utils@0.34.5:
+ resolution: {integrity: sha512-ur6CmmYQoeHMwmGb0v+qwkwN3yopZuZyf4xt1DBBSGBed8Hf9Gmbm/5dEWqgpLPdRx6Av6jcWXrjcKfkTzg/pw==}
+ dependencies:
+ diff-sequences: 29.6.3
+ loupe: 2.3.6
+ pretty-format: 29.7.0
dev: true
/acorn-jsx@5.3.2(acorn@8.10.0):
@@ -958,21 +724,17 @@ packages:
acorn: 8.10.0
dev: true
+ /acorn-walk@8.2.0:
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
/acorn@8.10.0:
resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
- /agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
dependencies:
@@ -994,8 +756,9 @@ packages:
color-convert: 2.0.1
dev: true
- /any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
dev: true
/anymatch@3.1.3:
@@ -1006,22 +769,6 @@ packages:
picomatch: 2.3.1
dev: true
- /aproba@2.0.0:
- resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
- dev: true
-
- /are-we-there-yet@2.0.0:
- resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
- engines: {node: '>=10'}
- dependencies:
- delegates: 1.0.0
- readable-stream: 3.6.2
- dev: true
-
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
- dev: true
-
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
@@ -1037,24 +784,8 @@ packages:
engines: {node: '>=8'}
dev: true
- /async-sema@3.1.1:
- resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
- dev: true
-
- /autoprefixer@10.4.15(postcss@8.4.29):
- resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- browserslist: 4.21.10
- caniuse-lite: 1.0.30001524
- fraction.js: 4.3.1
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.29
- postcss-value-parser: 4.2.0
+ /assertion-error@1.1.0:
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
dev: true
/axobject-query@3.2.1:
@@ -1077,12 +808,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /bindings@1.5.0:
- resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
- dependencies:
- file-uri-to-path: 1.0.0
- dev: true
-
/brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
@@ -1090,8 +815,10 @@ packages:
concat-map: 0.0.1
dev: true
- /brace@0.11.1:
- resolution: {integrity: sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q==}
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
dev: true
/braces@3.0.2:
@@ -1101,17 +828,6 @@ packages:
fill-range: 7.0.1
dev: true
- /browserslist@4.21.10:
- resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001524
- electron-to-chromium: 1.4.505
- node-releases: 2.0.13
- update-browserslist-db: 1.0.11(browserslist@4.21.10)
- dev: true
-
/buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
dev: true
@@ -1123,22 +839,31 @@ packages:
streamsearch: 1.1.0
dev: true
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
dev: true
- /camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
- dev: true
-
/camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
dev: false
- /caniuse-lite@1.0.30001524:
- resolution: {integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==}
+ /chai@4.3.9:
+ resolution: {integrity: sha512-tH8vhfA1CfuYMkALXj+wmZcqiwqOfshU9Gry+NYiiLqIddrobkBhALv6XD4yDz68qapphYI4vSaqhqAdThCAAA==}
+ engines: {node: '>=4'}
+ dependencies:
+ assertion-error: 1.1.0
+ check-error: 1.0.3
+ deep-eql: 4.1.3
+ get-func-name: 2.0.2
+ loupe: 2.3.6
+ pathval: 1.1.1
+ type-detect: 4.0.8
dev: true
/chalk@4.1.2:
@@ -1149,6 +874,12 @@ packages:
supports-color: 7.2.0
dev: true
+ /check-error@1.0.3:
+ resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
@@ -1164,16 +895,11 @@ packages:
fsevents: 2.3.3
dev: true
- /chownr@2.0.0:
- resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
- engines: {node: '>=10'}
- dev: true
-
/code-red@1.0.4:
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.2
acorn: 8.10.0
estree-walker: 3.0.3
periscopic: 3.1.0
@@ -1189,24 +915,10 @@ packages:
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- /color-support@1.1.3:
- resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
- hasBin: true
- dev: true
-
- /commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
- dev: true
-
/concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
- /console-control-strings@1.1.0:
- resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
- dev: true
-
/cookie@0.5.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
engines: {node: '>= 0.6'}
@@ -1272,6 +984,13 @@ packages:
resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==}
dev: true
+ /deep-eql@4.1.3:
+ resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
/deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
@@ -1281,10 +1000,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /delegates@1.0.0:
- resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
- dev: true
-
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -1295,17 +1010,13 @@ packages:
engines: {node: '>=8'}
dev: true
- /detect-libc@2.0.2:
- resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
- engines: {node: '>=8'}
- dev: true
-
/devalue@4.3.2:
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
dev: true
- /didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ /diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
/dir-glob@3.0.1:
@@ -1315,10 +1026,6 @@ packages:
path-type: 4.0.0
dev: true
- /dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
- dev: true
-
/doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
@@ -1326,52 +1033,14 @@ packages:
esutils: 2.0.3
dev: true
- /electron-to-chromium@1.4.505:
- resolution: {integrity: sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==}
- dev: true
-
/emoji-regex@10.2.1:
resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==}
dev: false
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: true
-
/es6-promise@3.3.1:
resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
dev: true
- /esbuild@0.17.19:
- resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.17.19
- '@esbuild/android-arm64': 0.17.19
- '@esbuild/android-x64': 0.17.19
- '@esbuild/darwin-arm64': 0.17.19
- '@esbuild/darwin-x64': 0.17.19
- '@esbuild/freebsd-arm64': 0.17.19
- '@esbuild/freebsd-x64': 0.17.19
- '@esbuild/linux-arm': 0.17.19
- '@esbuild/linux-arm64': 0.17.19
- '@esbuild/linux-ia32': 0.17.19
- '@esbuild/linux-loong64': 0.17.19
- '@esbuild/linux-mips64el': 0.17.19
- '@esbuild/linux-ppc64': 0.17.19
- '@esbuild/linux-riscv64': 0.17.19
- '@esbuild/linux-s390x': 0.17.19
- '@esbuild/linux-x64': 0.17.19
- '@esbuild/netbsd-x64': 0.17.19
- '@esbuild/openbsd-x64': 0.17.19
- '@esbuild/sunos-x64': 0.17.19
- '@esbuild/win32-arm64': 0.17.19
- '@esbuild/win32-ia32': 0.17.19
- '@esbuild/win32-x64': 0.17.19
- dev: true
-
/esbuild@0.18.20:
resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
engines: {node: '>=12'}
@@ -1402,11 +1071,6 @@ packages:
'@esbuild/win32-x64': 0.18.20
dev: true
- /escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
- dev: true
-
/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
dev: false
@@ -1416,17 +1080,17 @@ packages:
engines: {node: '>=10'}
dev: true
- /eslint-config-prettier@8.10.0(eslint@8.48.0):
+ /eslint-config-prettier@8.10.0(eslint@8.50.0):
resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
- eslint: 8.48.0
+ eslint: 8.50.0
dev: true
- /eslint-plugin-svelte@2.33.0(eslint@8.48.0)(svelte@4.2.0):
- resolution: {integrity: sha512-kk7Z4BfxVjFYJseFcOpS8kiKNio7KnAnhFagmM89h1wNSKlM7tIn+uguNQppKM9leYW+S+Us0Rjg2Qg3zsEcvg==}
+ /eslint-plugin-svelte@2.33.2(eslint@8.50.0)(svelte@4.2.1):
+ resolution: {integrity: sha512-knWmauax+E/jvQ9CmuX5dAhQKP9P4eGQZxWa5RMutEJVCcy0wFmiUvOeDND2jR4vUkbDlX4khKjaceY7QzbkYw==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0-0
@@ -1435,19 +1099,19 @@ packages:
svelte:
optional: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
'@jridgewell/sourcemap-codec': 1.4.15
debug: 4.3.4
- eslint: 8.48.0
+ eslint: 8.50.0
esutils: 2.0.3
known-css-properties: 0.28.0
- postcss: 8.4.29
- postcss-load-config: 3.1.4(postcss@8.4.29)
- postcss-safe-parser: 6.0.0(postcss@8.4.29)
+ postcss: 8.4.30
+ postcss-load-config: 3.1.4(postcss@8.4.30)
+ postcss-safe-parser: 6.0.0(postcss@8.4.30)
postcss-selector-parser: 6.0.13
semver: 7.5.4
- svelte: 4.2.0
- svelte-eslint-parser: 0.33.0(svelte@4.2.0)
+ svelte: 4.2.1
+ svelte-eslint-parser: 0.33.0(svelte@4.2.1)
transitivePeerDependencies:
- supports-color
- ts-node
@@ -1474,15 +1138,15 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint@8.48.0:
- resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==}
+ /eslint@8.50.0:
+ resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0)
- '@eslint-community/regexpp': 4.8.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
+ '@eslint-community/regexpp': 4.9.0
'@eslint/eslintrc': 2.1.2
- '@eslint/js': 8.48.0
+ '@eslint/js': 8.50.0
'@humanwhocodes/config-array': 0.11.11
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@@ -1501,7 +1165,7 @@ packages:
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.21.0
+ globals: 13.22.0
graphemer: 1.4.0
ignore: 5.2.4
imurmurhash: 0.1.4
@@ -1557,14 +1221,10 @@ packages:
engines: {node: '>=4.0'}
dev: true
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
- dev: true
-
/estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.2
dev: true
/esutils@2.0.3:
@@ -1612,10 +1272,6 @@ packages:
flat-cache: 3.1.0
dev: true
- /file-uri-to-path@1.0.0:
- resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
- dev: true
-
/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
@@ -1635,38 +1291,19 @@ packages:
resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==}
engines: {node: '>=12.0.0'}
dependencies:
- flatted: 3.2.7
+ flatted: 3.2.9
keyv: 4.5.3
rimraf: 3.0.2
dev: true
- /flatted@3.2.7:
- resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
- dev: true
-
- /fraction.js@4.3.1:
- resolution: {integrity: sha512-nx0cki48JBA6ThPeUpeKCNpdhEl/9bRS+dAEYnRUod+Z1jhFfC3K/mBLorZZntqHM+GTH3/dkkpfoT3QITYe7g==}
- dev: true
-
- /fs-minipass@2.1.0:
- resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
dev: true
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
- /fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -1675,23 +1312,8 @@ packages:
dev: true
optional: true
- /function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
- dev: true
-
- /gauge@3.0.2:
- resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
- engines: {node: '>=10'}
- dependencies:
- aproba: 2.0.0
- color-support: 1.1.3
- console-control-strings: 1.1.0
- has-unicode: 2.0.1
- object-assign: 4.1.1
- signal-exit: 3.0.7
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wide-align: 1.1.5
+ /get-func-name@2.0.2:
+ resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
dev: true
/glob-parent@5.1.2:
@@ -1708,17 +1330,6 @@ packages:
is-glob: 4.0.3
dev: true
- /glob@7.1.6:
- resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
-
/glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
dependencies:
@@ -1730,8 +1341,19 @@ packages:
path-is-absolute: 1.0.1
dev: true
- /globals@13.21.0:
- resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==}
+ /glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: true
+
+ /globals@13.22.0:
+ resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==}
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
@@ -1770,30 +1392,16 @@ packages:
engines: {node: '>=8'}
dev: true
- /has-unicode@2.0.1:
- resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
- dev: true
-
- /has@1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
- dependencies:
- function-bind: 1.1.1
- dev: true
-
/hex-rgb@4.3.0:
resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==}
engines: {node: '>=6'}
dev: false
- /https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
+ /ignore-walk@5.0.1:
+ resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
dependencies:
- agent-base: 6.0.2
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
+ minimatch: 5.1.6
dev: true
/ignore@5.2.4:
@@ -1809,8 +1417,8 @@ packages:
resolve-from: 4.0.0
dev: true
- /import-meta-resolve@2.2.2:
- resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==}
+ /import-meta-resolve@3.0.0:
+ resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==}
dev: true
/imurmurhash@0.1.4:
@@ -1836,22 +1444,11 @@ packages:
binary-extensions: 2.2.0
dev: true
- /is-core-module@2.13.0:
- resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
- dependencies:
- has: 1.0.3
- dev: true
-
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
dev: true
- /is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
- dev: true
-
/is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@@ -1869,21 +1466,16 @@ packages:
engines: {node: '>=8'}
dev: true
- /is-reference@3.0.1:
- resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==}
+ /is-reference@3.0.2:
+ resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.2
dev: true
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
- /jiti@1.19.3:
- resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==}
- hasBin: true
- dev: true
-
/js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
@@ -1903,6 +1495,10 @@ packages:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
+ /jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ dev: true
+
/keyv@4.5.3:
resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==}
dependencies:
@@ -1938,8 +1534,9 @@ packages:
unicode-trie: 2.0.0
dev: false
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ /local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
dev: true
/locate-character@3.0.0:
@@ -1957,6 +1554,12 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /loupe@2.3.6:
+ resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
+ dependencies:
+ get-func-name: 2.0.2
+ dev: true
+
/lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies:
@@ -1984,13 +1587,6 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
- /make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
- dependencies:
- semver: 6.3.1
- dev: true
-
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
dev: true
@@ -2025,30 +1621,17 @@ packages:
brace-expansion: 1.1.11
dev: true
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
/minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
- /minipass@3.3.6:
- resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
- engines: {node: '>=8'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /minipass@5.0.0:
- resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
- engines: {node: '>=8'}
- dev: true
-
- /minizlib@2.1.2:
- resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
- engines: {node: '>= 8'}
- dependencies:
- minipass: 3.3.6
- yallist: 4.0.0
- dev: true
-
/mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
@@ -2056,10 +1639,13 @@ packages:
minimist: 1.2.8
dev: true
- /mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
- hasBin: true
+ /mlly@1.4.2:
+ resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==}
+ dependencies:
+ acorn: 8.10.0
+ pathe: 1.1.1
+ pkg-types: 1.0.3
+ ufo: 1.3.0
dev: true
/mri@1.2.0:
@@ -2076,14 +1662,6 @@ packages:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: true
- /mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
- dev: true
-
/nanoid@3.3.6:
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -2105,62 +1683,32 @@ packages:
tslib: 2.6.2
dev: true
- /node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
- dependencies:
- whatwg-url: 5.0.0
- dev: true
-
- /node-gyp-build@4.6.1:
- resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==}
- hasBin: true
- dev: true
-
- /node-releases@2.0.13:
- resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
- dev: true
-
- /nopt@5.0.0:
- resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
- engines: {node: '>=6'}
- hasBin: true
- dependencies:
- abbrev: 1.1.1
- dev: true
-
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
dev: true
- /normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /npmlog@5.0.1:
- resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+ /npm-bundled@2.0.1:
+ resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
dependencies:
- are-we-there-yet: 2.0.0
- console-control-strings: 1.1.0
- gauge: 3.0.2
- set-blocking: 2.0.0
+ npm-normalize-package-bin: 2.0.0
dev: true
- /object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ /npm-normalize-package-bin@2.0.0:
+ resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
dev: true
- /object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
+ /npm-packlist@5.1.3:
+ resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ glob: 8.1.0
+ ignore-walk: 5.0.1
+ npm-bundled: 2.0.1
+ npm-normalize-package-bin: 2.0.0
dev: true
/once@1.4.0:
@@ -2188,6 +1736,13 @@ packages:
yocto-queue: 0.1.0
dev: true
+ /p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
/p-locate@5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
@@ -2235,21 +1790,25 @@ packages:
engines: {node: '>=8'}
dev: true
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- dev: true
-
/path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
dev: true
+ /pathe@1.1.1:
+ resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==}
+ dev: true
+
+ /pathval@1.1.1:
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+ dev: true
+
/periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.2
estree-walker: 3.0.3
- is-reference: 3.0.1
+ is-reference: 3.0.2
dev: true
/picocolors@1.0.0:
@@ -2261,45 +1820,15 @@ packages:
engines: {node: '>=8.6'}
dev: true
- /pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
- dev: true
-
- /playwright-core@1.37.1:
- resolution: {integrity: sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==}
- engines: {node: '>=16'}
- hasBin: true
- dev: true
-
- /postcss-import@15.1.0(postcss@8.4.29):
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
+ /pkg-types@1.0.3:
+ resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
dependencies:
- postcss: 8.4.29
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.4
+ jsonc-parser: 3.2.0
+ mlly: 1.4.2
+ pathe: 1.1.1
dev: true
- /postcss-js@4.0.1(postcss@8.4.29):
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.29
- dev: true
-
- /postcss-load-config@3.1.4(postcss@8.4.29):
+ /postcss-load-config@3.1.4(postcss@8.4.30):
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
engines: {node: '>= 10'}
peerDependencies:
@@ -2312,53 +1841,26 @@ packages:
optional: true
dependencies:
lilconfig: 2.1.0
- postcss: 8.4.29
+ postcss: 8.4.30
yaml: 1.10.2
dev: true
- /postcss-load-config@4.0.1(postcss@8.4.29):
- resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.1.0
- postcss: 8.4.29
- yaml: 2.3.2
- dev: true
-
- /postcss-nested@6.0.1(postcss@8.4.29):
- resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
- dependencies:
- postcss: 8.4.29
- postcss-selector-parser: 6.0.13
- dev: true
-
- /postcss-safe-parser@6.0.0(postcss@8.4.29):
+ /postcss-safe-parser@6.0.0(postcss@8.4.30):
resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.3.3
dependencies:
- postcss: 8.4.29
+ postcss: 8.4.30
dev: true
- /postcss-scss@4.0.7(postcss@8.4.29):
- resolution: {integrity: sha512-xPv2GseoyXPa58Nro7M73ZntttusuCmZdeOojUFR5PZDz2BR62vfYx1w9TyOnp1+nYFowgOMipsCBhxzVkAEPw==}
+ /postcss-scss@4.0.8(postcss@8.4.30):
+ resolution: {integrity: sha512-Cr0X8Eu7xMhE96PJck6ses/uVVXDtE5ghUTKNUYgm8ozgP2TkgV3LWs3WgLV1xaSSLq8ZFiXaUrj0LVgG1fGEA==}
engines: {node: '>=12.0'}
peerDependencies:
- postcss: ^8.4.19
+ postcss: ^8.4.29
dependencies:
- postcss: 8.4.29
+ postcss: 8.4.30
dev: true
/postcss-selector-parser@6.0.13:
@@ -2371,9 +1873,10 @@ packages:
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: false
- /postcss@8.4.29:
- resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==}
+ /postcss@8.4.30:
+ resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.6
@@ -2386,14 +1889,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.0):
+ /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.1):
resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==}
peerDependencies:
prettier: ^1.16.4 || ^2.0.0
svelte: ^3.2.0 || ^4.0.0-next.0
dependencies:
prettier: 2.8.8
- svelte: 4.2.0
+ svelte: 4.2.1
dev: true
/prettier@2.8.8:
@@ -2402,13 +1905,23 @@ packages:
hasBin: true
dev: true
- /prism-svelte@0.5.0:
- resolution: {integrity: sha512-db91Bf3pRGKDPz1lAqLFSJXeW13mulUJxhycysFpfXV5MIK7RgWWK2E5aPAa71s8TCzQUXxF5JOV42/iOs6QkA==}
+ /pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
dev: true
- /prismjs@1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
- engines: {node: '>=6'}
+ /publint@0.1.16:
+ resolution: {integrity: sha512-wJgk7HnXDT5Ap0DjFYbGz78kPkN44iQvDiaq8P63IEEyNU9mYXvaMd2cAyIM6OgqXM/IA3CK6XWIsRq+wjNpgw==}
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ npm-packlist: 5.1.3
+ picocolors: 1.0.0
+ sade: 1.8.1
dev: true
/punycode@2.3.0:
@@ -2420,19 +1933,8 @@ packages:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: true
- /read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
- dependencies:
- pify: 2.3.0
- dev: true
-
- /readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
+ /react-is@18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
dev: true
/readdirp@3.6.0:
@@ -2447,20 +1949,6 @@ packages:
engines: {node: '>=4'}
dev: true
- /resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
-
- /resolve@1.22.4:
- resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
- hasBin: true
- dependencies:
- is-core-module: 2.13.0
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
- dev: true
-
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -2480,8 +1968,8 @@ packages:
glob: 7.2.3
dev: true
- /rollup@3.28.1:
- resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==}
+ /rollup@3.29.4:
+ resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@@ -2501,10 +1989,6 @@ packages:
mri: 1.2.0
dev: true
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
- dev: true
-
/sander@0.5.1:
resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
dependencies:
@@ -2514,8 +1998,14 @@ packages:
rimraf: 2.7.1
dev: true
- /satori@0.10.3:
- resolution: {integrity: sha512-8tZPu7AGiRWimbOyja1s2HK0hEC4DacZ8cAKDITxlVI5tKQZbOuMiVgSB50CABwc0I4Imgtkq7o9Egj1WOJTKg==}
+ /satori-html@0.3.2:
+ resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==}
+ dependencies:
+ ultrahtml: 1.5.2
+ dev: false
+
+ /satori@0.10.8:
+ resolution: {integrity: sha512-WlPLxgpx5kIyMuOO6qi98DhZGIbRk5XJRqENkt6D6gyDBWGyo3M5kcSl0X/oSFHUH+n4unlzwMejoPM47s4zug==}
engines: {node: '>=16'}
dependencies:
'@shuding/opentype.js': 1.4.0-beta.0
@@ -2530,11 +2020,6 @@ packages:
yoga-wasm-web: 0.3.3
dev: false
- /semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
- dev: true
-
/semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'}
@@ -2543,10 +2028,6 @@ packages:
lru-cache: 6.0.0
dev: true
- /set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
- dev: true
-
/set-cookie-parser@2.6.0:
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
dev: true
@@ -2563,15 +2044,15 @@ packages:
engines: {node: '>=8'}
dev: true
- /signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ /siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
dev: true
/sirv@2.0.3:
resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
engines: {node: '>= 10'}
dependencies:
- '@polka/url': 1.0.0-next.21
+ '@polka/url': 1.0.0-next.23
mrmime: 1.0.1
totalist: 3.0.1
dev: true
@@ -2596,30 +2077,23 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ dev: true
+
+ /std-env@3.4.3:
+ resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==}
+ dev: true
+
/streamsearch@1.1.0:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
dev: true
- /string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
- dev: true
-
/string.prototype.codepointat@0.2.1:
resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
dev: false
- /string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -2639,18 +2113,10 @@ packages:
engines: {node: '>=8'}
dev: true
- /sucrase@3.34.0:
- resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
- engines: {node: '>=8'}
- hasBin: true
+ /strip-literal@1.3.0:
+ resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- commander: 4.1.1
- glob: 7.1.6
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
+ acorn: 8.10.0
dev: true
/supports-color@7.2.0:
@@ -2660,13 +2126,8 @@ packages:
has-flag: 4.0.0
dev: true
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /svelte-check@3.5.1(postcss@8.4.29)(svelte@4.2.0):
- resolution: {integrity: sha512-+Zb4iHxAhdUtcUg/WJPRjlS1RJalIsWAe9Mz6G1zyznSs7dDkT7VUBdXc3q7Iwg49O/VrZgyJRvOJkjuBfKjFA==}
+ /svelte-check@3.5.2(postcss@8.4.30)(svelte@4.2.1):
+ resolution: {integrity: sha512-5a/YWbiH4c+AqAUP+0VneiV5bP8YOk9JL3jwvN+k2PEPLgpu85bjQc5eE67+eIZBBwUEJzmO3I92OqKcqbp3fw==}
hasBin: true
peerDependencies:
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0
@@ -2677,8 +2138,8 @@ packages:
import-fresh: 3.3.0
picocolors: 1.0.0
sade: 1.8.1
- svelte: 4.2.0
- svelte-preprocess: 5.0.4(postcss@8.4.29)(svelte@4.2.0)(typescript@5.2.2)
+ svelte: 4.2.1
+ svelte-preprocess: 5.0.4(postcss@8.4.30)(svelte@4.2.1)(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- '@babel/core'
@@ -2692,7 +2153,7 @@ packages:
- sugarss
dev: true
- /svelte-eslint-parser@0.33.0(svelte@4.2.0):
+ /svelte-eslint-parser@0.33.0(svelte@4.2.1):
resolution: {integrity: sha512-5awZ6Bs+Tb/zQwa41PSdcLynAVQTwW0HGyCBjtbAQ59taLZqDgQSMzRlDmapjZdDtzERm0oXDZNE0E+PKJ6ryg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -2704,21 +2165,21 @@ packages:
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
- postcss: 8.4.29
- postcss-scss: 4.0.7(postcss@8.4.29)
- svelte: 4.2.0
+ postcss: 8.4.30
+ postcss-scss: 4.0.8(postcss@8.4.30)
+ svelte: 4.2.1
dev: true
- /svelte-hmr@0.15.3(svelte@4.2.0):
+ /svelte-hmr@0.15.3(svelte@4.2.1):
resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
svelte: ^3.19.0 || ^4.0.0
dependencies:
- svelte: 4.2.0
+ svelte: 4.2.1
dev: true
- /svelte-preprocess@5.0.4(postcss@8.4.29)(svelte@4.2.0)(typescript@5.2.2):
+ /svelte-preprocess@5.0.4(postcss@8.4.30)(svelte@4.2.1)(typescript@5.2.2):
resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
@@ -2756,30 +2217,30 @@ packages:
typescript:
optional: true
dependencies:
- '@types/pug': 2.0.6
+ '@types/pug': 2.0.7
detect-indent: 6.1.0
magic-string: 0.27.0
- postcss: 8.4.29
+ postcss: 8.4.30
sorcery: 0.11.0
strip-indent: 3.0.0
- svelte: 4.2.0
+ svelte: 4.2.1
typescript: 5.2.2
dev: true
- /svelte2tsx@0.6.21(svelte@4.2.0)(typescript@5.2.2):
- resolution: {integrity: sha512-v+vvbiy6WDmEQdIkJpvHYxJYG/obALfH0P6CTreYO350q/9+QmFTNCOJvx0O1o59Zpzx1Bqe+qlDxP/KtJSZEA==}
+ /svelte2tsx@0.6.22(svelte@4.2.1)(typescript@5.2.2):
+ resolution: {integrity: sha512-eFCfz0juaWeanbwGeQV21kPMwH3LKhfrUYRy1PqRmlieuHvJs8VeK7CaoHJdpBZWCXba2cltHVdywJmwOGhbww==}
peerDependencies:
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0
typescript: ^4.9.4 || ^5.0.0
dependencies:
dedent-js: 1.0.1
pascal-case: 3.1.2
- svelte: 4.2.0
+ svelte: 4.2.1
typescript: 5.2.2
dev: true
- /svelte@4.2.0:
- resolution: {integrity: sha512-kVsdPjDbLrv74SmLSUzAsBGquMs4MPgWGkGLpH+PjOYnFOziAvENVzgJmyOCV2gntxE32aNm8/sqNKD6LbIpeQ==}
+ /svelte@4.2.1:
+ resolution: {integrity: sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==}
engines: {node: '>=16'}
dependencies:
'@ampproject/remapping': 2.2.1
@@ -2791,76 +2252,16 @@ packages:
code-red: 1.0.4
css-tree: 2.3.1
estree-walker: 3.0.3
- is-reference: 3.0.1
+ is-reference: 3.0.2
locate-character: 3.0.0
magic-string: 0.30.3
periscopic: 3.1.0
dev: true
- /svg2png-wasm@1.4.0:
- resolution: {integrity: sha512-UH6XzvHZvHzLrgjcjxX4BCOMalzF1Z8G6EJRsBo/+DLO2jhzdUBwhA8Hl8sn21Cn6N/jBbbdeqUhCzR/FL6xYw==}
- dev: false
-
- /tailwindcss@3.3.3:
- resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==}
- engines: {node: '>=14.0.0'}
- hasBin: true
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.5.3
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.1
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.19.3
- lilconfig: 2.1.0
- micromatch: 4.0.5
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.0.0
- postcss: 8.4.29
- postcss-import: 15.1.0(postcss@8.4.29)
- postcss-js: 4.0.1(postcss@8.4.29)
- postcss-load-config: 4.0.1(postcss@8.4.29)
- postcss-nested: 6.0.1(postcss@8.4.29)
- postcss-selector-parser: 6.0.13
- resolve: 1.22.4
- sucrase: 3.34.0
- transitivePeerDependencies:
- - ts-node
- dev: true
-
- /tar@6.1.15:
- resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==}
- engines: {node: '>=10'}
- dependencies:
- chownr: 2.0.0
- fs-minipass: 2.1.0
- minipass: 5.0.0
- minizlib: 2.1.2
- mkdirp: 1.0.4
- yallist: 4.0.0
- dev: true
-
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
- /thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
- dependencies:
- thenify: 3.3.1
- dev: true
-
- /thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
- dependencies:
- any-promise: 1.3.0
- dev: true
-
/tiny-glob@0.2.9:
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
dependencies:
@@ -2872,6 +2273,20 @@ packages:
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
dev: false
+ /tinybench@2.5.1:
+ resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==}
+ dev: true
+
+ /tinypool@0.7.0:
+ resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /tinyspy@2.1.1:
+ resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -2884,14 +2299,6 @@ packages:
engines: {node: '>=6'}
dev: true
- /tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- dev: true
-
- /ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- dev: true
-
/tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true
@@ -2917,6 +2324,11 @@ packages:
prelude-ls: 1.2.1
dev: true
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+ dev: true
+
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
@@ -2928,8 +2340,16 @@ packages:
hasBin: true
dev: true
- /undici@5.23.0:
- resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==}
+ /ufo@1.3.0:
+ resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==}
+ dev: true
+
+ /ultrahtml@1.5.2:
+ resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==}
+ dev: false
+
+ /undici@5.25.2:
+ resolution: {integrity: sha512-tch8RbCfn1UUH1PeVCXva4V8gDpGAud/w0WubD6sHC46vYQ3KDxL+xv1A2UxK0N6jrVedutuPHxe1XIoqerwMw==}
engines: {node: '>=14.0'}
dependencies:
busboy: 1.6.0
@@ -2942,17 +2362,6 @@ packages:
tiny-inflate: 1.0.3
dev: false
- /update-browserslist-db@1.0.11(browserslist@4.21.10):
- resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.21.10
- escalade: 3.1.1
- picocolors: 1.0.0
- dev: true
-
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
@@ -2963,7 +2372,29 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
- /vite@4.4.9:
+ /vite-node@0.34.5(@types/node@20.7.1):
+ resolution: {integrity: sha512-RNZ+DwbCvDoI5CbCSQSyRyzDTfFvFauvMs6Yq4ObJROKlIKuat1KgSX/Ako5rlDMfVCyMcpMRMTkJBxd6z8YRA==}
+ engines: {node: '>=v14.18.0'}
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4
+ mlly: 1.4.2
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ vite: 4.4.9(@types/node@20.7.1)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vite@4.4.9(@types/node@20.7.1):
resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@@ -2991,9 +2422,10 @@ packages:
terser:
optional: true
dependencies:
+ '@types/node': 20.7.1
esbuild: 0.18.20
- postcss: 8.4.29
- rollup: 3.28.1
+ postcss: 8.4.30
+ rollup: 3.29.4
optionalDependencies:
fsevents: 2.3.3
dev: true
@@ -3006,18 +2438,72 @@ packages:
vite:
optional: true
dependencies:
- vite: 4.4.9
+ vite: 4.4.9(@types/node@20.7.1)
dev: true
- /webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- dev: true
-
- /whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ /vitest@0.34.5:
+ resolution: {integrity: sha512-CPI68mmnr2DThSB3frSuE5RLm9wo5wU4fbDrDwWQQB1CWgq9jQVoQwnQSzYAjdoBOPoH2UtXpOgHVge/uScfZg==}
+ engines: {node: '>=v14.18.0'}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@vitest/browser': '*'
+ '@vitest/ui': '*'
+ happy-dom: '*'
+ jsdom: '*'
+ playwright: '*'
+ safaridriver: '*'
+ webdriverio: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ playwright:
+ optional: true
+ safaridriver:
+ optional: true
+ webdriverio:
+ optional: true
dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
+ '@types/chai': 4.3.6
+ '@types/chai-subset': 1.3.3
+ '@types/node': 20.7.1
+ '@vitest/expect': 0.34.5
+ '@vitest/runner': 0.34.5
+ '@vitest/snapshot': 0.34.5
+ '@vitest/spy': 0.34.5
+ '@vitest/utils': 0.34.5
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ cac: 6.7.14
+ chai: 4.3.9
+ debug: 4.3.4
+ local-pkg: 0.4.3
+ magic-string: 0.30.3
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ std-env: 3.4.3
+ strip-literal: 1.3.0
+ tinybench: 2.5.1
+ tinypool: 0.7.0
+ vite: 4.4.9(@types/node@20.7.1)
+ vite-node: 0.34.5(@types/node@20.7.1)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
dev: true
/which@2.0.2:
@@ -3028,10 +2514,13 @@ packages:
isexe: 2.0.0
dev: true
- /wide-align@1.1.5:
- resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+ /why-is-node-running@2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ engines: {node: '>=8'}
+ hasBin: true
dependencies:
- string-width: 4.2.3
+ siginfo: 2.0.0
+ stackback: 0.0.2
dev: true
/wrappy@1.0.2:
@@ -3047,16 +2536,16 @@ packages:
engines: {node: '>= 6'}
dev: true
- /yaml@2.3.2:
- resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==}
- engines: {node: '>= 14'}
- dev: true
-
/yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
dev: true
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
/yoga-wasm-web@0.3.3:
resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
dev: false
diff --git a/postcss.config.cjs b/postcss.config.cjs
deleted file mode 100644
index 054c147..0000000
--- a/postcss.config.cjs
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {}
- }
-};
diff --git a/src/app.css b/src/app.css
deleted file mode 100644
index aab77a5..0000000
--- a/src/app.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@font-face {
- font-family: 'Ian Mono';
- src: url('/iaw-mono-var.woff2') format('woff2');
-}
-
-@layer base {
- html {
- font-family: Ian Mono, monospace;
- }
-}
diff --git a/src/app.d.ts b/src/app.d.ts
index 20346fb..f59b884 100644
--- a/src/app.d.ts
+++ b/src/app.d.ts
@@ -1,11 +1,12 @@
-///
-
// See https://kit.svelte.dev/docs/types#app
// for information about these interfaces
-// and what to do when importing types
-declare namespace App {
- // interface Locals {}
- // interface PageData {}
- // interface Error {}
- // interface Platform {}
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface Platform {}
+ }
}
+
+export {};
diff --git a/src/app.html b/src/app.html
index 2e08503..d2fc6b0 100644
--- a/src/app.html
+++ b/src/app.html
@@ -2,36 +2,11 @@
-
+
-
-
- @ethercorps/sveltekit-og
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%sveltekit.head%
-
+
%sveltekit.body%
diff --git a/src/components/Navbar.svelte b/src/components/Navbar.svelte
deleted file mode 100644
index bf62c4b..0000000
--- a/src/components/Navbar.svelte
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/index.test.ts b/src/index.test.ts
new file mode 100644
index 0000000..e07cbbd
--- /dev/null
+++ b/src/index.test.ts
@@ -0,0 +1,7 @@
+import { describe, it, expect } from 'vitest';
+
+describe('sum test', () => {
+ it('adds 1 + 2 to equal 3', () => {
+ expect(1 + 2).toBe(3);
+ });
+});
diff --git a/src/lib/api.ts b/src/lib/api.ts
new file mode 100644
index 0000000..c55f7af
--- /dev/null
+++ b/src/lib/api.ts
@@ -0,0 +1,78 @@
+import { html } from "satori-html";
+import {ImageResponse as IR} from "@vercel/og"
+import type {SvelteComponent} from "svelte";
+
+export const ImageResponse = async (htmlTemplate: string, options?: ImageResponseOptions) => {
+ const reactVNode = html(`${htmlTemplate}`);
+ console.log(reactVNode)
+ return new IR(reactVNode, options)
+};
+
+export const componentToImageResponse = async (component: SvelteComponent, props: Record, options?: ImageResponseOptions) => {
+ const ssrSvelte = component.render(props);
+ console.log(ssrSvelte);
+ return ImageResponse(`${ssrSvelte.html}`, options)
+};
+
+declare const apis: {
+ twemoji: (code: any) => string;
+ openmoji: string;
+ blobmoji: string;
+ noto: string;
+ fluent: (code: any) => string;
+ fluentFlat: (code: any) => string;
+};
+
+declare type EmojiType = keyof typeof apis;
+
+type Weight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
+type Style$1 = 'normal' | 'italic';
+
+interface FontOptions {
+ data: Buffer | ArrayBuffer;
+ name: string;
+ weight?: Weight;
+ style?: Style$1;
+ lang?: string;
+}
+
+export declare type ImageResponseOptions = ImageOptions & ConstructorParameters[1];
+
+declare type ImageOptions = {
+ /**
+ * The width of the image.
+ *
+ * @type {number}
+ * @default 1200
+ */
+ width?: number;
+ /**
+ * The height of the image.
+ *
+ * @type {number}
+ * @default 630
+ */
+ height?: number;
+ /**
+ * Display debug information on the image.
+ *
+ * @type {boolean}
+ * @default false
+ */
+ debug?: boolean;
+ /**
+ * A list of fonts to use.
+ *
+ * @type {{ data: ArrayBuffer; name: string; weight?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; style?: 'normal' | 'italic' }[]}
+ * @default Noto Sans Latin Regular.
+ */
+ fonts?: FontOptions[];
+ /**
+ * Using a specific Emoji style. Defaults to `twemoji`.
+ *
+ * @link https://github.com/vercel/og#emoji
+ * @type {EmojiType}
+ * @default 'twemoji'
+ */
+ emoji?: EmojiType;
+};
diff --git a/src/lib/index.ts b/src/lib/index.ts
index ed4b818..98bb684 100644
--- a/src/lib/index.ts
+++ b/src/lib/index.ts
@@ -1,98 +1 @@
-import satori, { type SatoriOptions } from 'satori';
-import type { SvelteComponent } from 'svelte';
-import toReactElement from './toReactElement.js';
-import { svg2png, initialize, type ConvertOptions } from 'svg2png-wasm';
-
-let initialized = false;
-
-const fontFile = await fetch('https://sveltekit-og.ethercorps.io/noto-sans.ttf');
-const fontData: ArrayBuffer = await fontFile.arrayBuffer();
-
-const indexWasmRes = await fetch('https://unpkg.com/svg2png-wasm/svg2png_wasm_bg.wasm');
-const svg2PngWasmBuffer = await indexWasmRes.arrayBuffer();
-
-const initSvgToPng = async () => {
- await initialize(svg2PngWasmBuffer).catch((e) => console.log(e));
- initialized = true;
-};
-
-const ImageResponse = async (htmlTemplate: string, optionsByUser: ImageResponseOptions) => {
- const options = Object.assign({ width: 1200, height: 630, debug: !1 }, optionsByUser);
- const svg = await satori(toReactElement(htmlTemplate), {
- width: options.width,
- height: options.height,
- debug: options.debug,
- fonts: options.fonts || [
- {
- name: 'sans serif',
- data: fontData,
- style: 'normal',
- weight: 700
- }
- ]
- });
-
- if (!initialized) {
- await initSvgToPng();
- initialized = true;
- }
-
- const defaultConfig: ConvertOptions = {
- width: options.width, // optional
- height: options.height // optional
- };
-
- if (Object.hasOwn(options, 'backgroundColor')) {
- defaultConfig.backgroundColor = options.backgroundColor;
- }
-
- const png = await svg2png(svg, defaultConfig);
-
- return new Response(png, {
- headers: {
- 'Content-Type': 'image/png',
- 'cache-control': 'public, immutable, no-transform, max-age=31536000',
- ...options.headers
- },
-
- status: options.status,
- statusText: options.statusText
- });
-};
-
-const componentToImageResponse = (
- component: typeof SvelteComponent,
- props = {},
- optionsByUser: ImageResponseOptions
-) => {
- const htmlTemplate = componentToMarkup(component, props);
- return ImageResponse(htmlTemplate, optionsByUser);
-};
-
-const componentToMarkup = (component: typeof SvelteComponent, props = {}) => {
- const SvelteRenderedMarkup = (component as any).render(props);
- let htmlTemplate = `${SvelteRenderedMarkup.html}`;
- if (SvelteRenderedMarkup && SvelteRenderedMarkup.css && SvelteRenderedMarkup.css.code) {
- htmlTemplate = `${SvelteRenderedMarkup.html}`;
- }
- return htmlTemplate;
-};
-
-type ImageResponseOptions = ConstructorParameters[1] & ImageOptions;
-
-type ImageOptions = {
- width?: number;
- height?: number;
- debug?: boolean;
- fonts?: SatoriOptions['fonts'];
- backgroundColor?: string;
- graphemeImages?: Record;
- loadAdditionalAsset?: (
- languageCode: string,
- segment: string
- ) => Promise;
-};
-
-export type ImageResponseType = typeof ImageResponse;
-
-export { componentToImageResponse, ImageResponse, toReactElement };
+export {componentToImageResponse, ImageResponse, type ImageResponseOptions} from "./api.js"
diff --git a/src/lib/toReactElement.ts b/src/lib/toReactElement.ts
deleted file mode 100644
index 93629f1..0000000
--- a/src/lib/toReactElement.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import { parse, walk } from 'svelte/compiler';
-import type { Ast } from 'svelte/types/compiler/interfaces';
-
-/* Start of code from satori-html for cssToObject converter*/
-const camelize = (ident: string) => ident.replace(/-([a-z])/g, (_, char) => char.toUpperCase());
-const cssToObject = (str: string) => {
- const obj: Record = {};
- let t = 0;
- let pair = ['', ''];
- const flags: Record = {};
- for (const c of str) {
- if (!flags['('] && c === ':') {
- t = 1;
- } else if (c === ';') {
- const [decl = '', value = ''] = pair;
- obj[camelize(decl.trim())] = value.trim();
- t = 0;
- pair = ['', ''];
- } else {
- pair[t] += c;
- switch (c) {
- case '(': {
- flags[c]++;
- break;
- }
- case ')': {
- flags['(']--;
- break;
- }
- }
- }
- }
- const [decl = '', value = ''] = pair;
- if (decl.trim() && value.trim()) {
- obj[camelize(decl.trim())] = value.trim();
- }
-
- return obj;
-};
-const nodeMap = new WeakMap();
-interface VNode {
- type: string;
- props: {
- style?: Record;
- children?: string | VNode | VNode[];
- [prop: string]: any;
- };
-}
-const root: VNode = {
- type: 'div',
- props: {
- style: {
- display: 'flex',
- flexDirection: 'column',
- width: '100%',
- height: '100%'
- },
- children: []
- }
-};
-/* End of satori-html */
-
-export const toReactElement = (htmlString: string): VNode => {
- const svelteAST: Ast = parse(htmlString);
- walk(svelteAST, {
- enter(node: any, parent: any, prop: any, index: any) {
- let newNode: any = {};
- if (node.type === 'Fragment') {
- nodeMap.set(node, root);
- } else if (node.type === 'Element') {
- newNode.type = node.name;
- const { ...props } = node.attributes;
- if (node.attributes.length > 0) {
- node.attributes.forEach((attribute: any) => {
- if (attribute.name === 'style') {
- props['style'] = cssToObject(attribute.value[0].data) as any;
- } else props[attribute.name] = attribute.value[0].data as any;
- });
- delete props[0];
- }
- props.children = [] as unknown as string;
- Object.assign(newNode, { props });
- nodeMap.set(node, newNode);
- if (parent) {
- const newParent = nodeMap.get(parent);
- newParent.props.children[index] = newNode;
- }
- } else if (node.type === 'Text') {
- newNode = node.data.trim();
- if (newNode) {
- if (parent && parent.type !== 'Attribute') {
- const newParent = nodeMap.get(parent);
- if (parent.children.length === 1) {
- newParent.props.children = newNode;
- } else {
- newParent.props.children[index] = newNode;
- }
- }
- }
- }
- }
- });
-
- return root;
-};
-
-export default toReactElement;
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
deleted file mode 100644
index f6d76bd..0000000
--- a/src/routes/+layout.svelte
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
deleted file mode 100644
index 8e8c6fe..0000000
--- a/src/routes/+page.svelte
+++ /dev/null
@@ -1,240 +0,0 @@
-
-
-
-
- Introduction
-
- SvelteKit-OG is use to dynamically generate Open Graph images from an HTML+CSS template or
- Svelte component using fast and efficient conversion from HTML > SVG > PNG. Based on Satori.
- No headless browser required.
-
-
-
-
- Installation
-
- Use your favourite package manager and add @ethercorps/sveltekit-og
- as your devDependency .
-
-
- Example:
-
- pnpm i -D @ethercorps/sveltekit-og
-
-
-
-
- If you are using it on with
- cloudflare pages
-
- or cloudflare workers then you have
- to provide polyfills for
- url . You can simply add it to your
- devDependency ,
- To install
-
- pnpm i -D url
-
-
-
-
-
- Usage
-
- Create a file at
- /src/routes/og/+server.ts
- . Alternatively, you can use JavaScript by removing the types from this example.
-
-
-
- Route can be anything but it should have only one file
- +server.ts
-
-
- {@html highlightedQuickEg}
-
-
- Then run pnpm run dev and visit localhost:5173/og to view your generated PNG. Remember that hot module reloading does not work with server routes, so if you change your HTML or CSS, hard refresh the route to see changes.
-
-
-
-
-
-
-
-
- Fonts
-
- Satori supports ttf , otf , and woff font formats; woff2 is not supported. To maximize the font parsing speed, ttf or otf are recommended over woff .
-
-
- By default, @ethercorps/sveltekit-og includes only 'Noto Sans' font. If you need to use other fonts, you can specify them as shown in the example. Notably, you can also import a font file that is stored locally within your project and are not required to use fetch.
-
-
-
-
-
-
- Api Reference
-
-
- The package exposes an ImageResponse and componentToImageResponse constructors, with the following options available.
-
- {@html highlightedApiReference}
-
-
-
-
diff --git a/src/routes/+page.ts b/src/routes/+page.ts
deleted file mode 100644
index 76f5bdc..0000000
--- a/src/routes/+page.ts
+++ /dev/null
@@ -1 +0,0 @@
-export let prerender = true
diff --git a/src/routes/+server.ts b/src/routes/+server.ts
new file mode 100644
index 0000000..d62fcba
--- /dev/null
+++ b/src/routes/+server.ts
@@ -0,0 +1,7 @@
+import type {RequestHandler} from "@sveltejs/kit";
+import {ImageResponse} from "$lib";
+
+export const GET: RequestHandler = async () => {
+ const html = 'hello, world
';
+ return ImageResponse(html)
+};
diff --git a/src/routes/component-og/+server.ts b/src/routes/component-og/+server.ts
deleted file mode 100644
index 973d297..0000000
--- a/src/routes/component-og/+server.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import OG from './OG.svelte';
-import { componentToImageResponse } from '$lib';
-import type { RequestHandler } from '@sveltejs/kit';
-
-const fontFile = await fetch(
- 'https://raw.githubusercontent.com/etherCorps/sveltekit-og/main/static/inter-latin-ext-700-normal.woff'
-);
-const fontData: ArrayBuffer = await fontFile.arrayBuffer();
-
-export const GET: RequestHandler = async () => {
- return await componentToImageResponse(
- OG,
- { text: 'Ready to dive in?', spanText: 'Start your free trial today.' },
- {
- height: 250,
- width: 500,
- fonts: [
- {
- name: 'Inter Latin',
- data: fontData,
- weight: 700
- }
- ]
- }
- );
-};
diff --git a/src/routes/component-og/OG.svelte b/src/routes/component-og/OG.svelte
deleted file mode 100644
index bae5bcf..0000000
--- a/src/routes/component-og/OG.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- {text}
- {spanText}
-
-
-
-
diff --git a/src/routes/new/+server.ts b/src/routes/new/+server.ts
deleted file mode 100644
index 3637b08..0000000
--- a/src/routes/new/+server.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-`/src/routes/new/+server.ts`
-
-import { ImageResponse } from '$lib';
-import type { RequestHandler } from '@sveltejs/kit';
-
-const template = `
-
-
-
- Ready to dive in?
- Start your free trial today.
-
-
-
-
-`;
-const fontFile400 = await fetch(
- 'https://raw.githubusercontent.com/etherCorps/sveltekit-og/main/static/inter-latin-ext-400-normal.woff'
-);
-const fontFile700 = await fetch(
- 'https://raw.githubusercontent.com/etherCorps/sveltekit-og/main/static/inter-latin-ext-700-normal.woff'
-);
-const fontData400: ArrayBuffer = await fontFile400.arrayBuffer();
-const fontData700: ArrayBuffer = await fontFile700.arrayBuffer();
-
-export const GET: RequestHandler = async () => {
- return await ImageResponse(template, {
- height: 250,
- width: 500,
- fonts: [
- {
- name: 'Inter Latin',
- data: fontData400,
- weight: 400
- },
- {
- name: 'Inter Latin',
- data: fontData700,
- weight: 700
- }
- ]
- });
-};
diff --git a/src/routes/og/+server.ts b/src/routes/og/+server.ts
deleted file mode 100644
index 072bfa1..0000000
--- a/src/routes/og/+server.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import type {RequestHandler} from "@sveltejs/kit";
-import {ImageResponse} from "$lib";
-import {to_number} from "svelte/internal";
-
-const htmlSrc = `
-
-
Design
-
Develop
-
SvelteKit OG
-
-
-`;
-
-export const GET: RequestHandler = async ({request, url}) => {
- return ImageResponse(htmlSrc, {
- width: to_number(url.searchParams.get('w')) || 600,
- height: to_number(url.searchParams.get('h')) || 420,
- })
-};
diff --git a/src/routes/sc/+server.ts b/src/routes/sc/+server.ts
new file mode 100644
index 0000000..7a5f95b
--- /dev/null
+++ b/src/routes/sc/+server.ts
@@ -0,0 +1,10 @@
+import type {RequestHandler} from "@sveltejs/kit";
+import {componentToImageResponse} from "$lib";
+import OG from "./OG.svelte";
+
+export const GET: RequestHandler = async () => {
+ return await componentToImageResponse(
+ OG,
+ { text: 'Ready to dive in?', spanText: 'Start your free trial today.' }
+ );
+};
diff --git a/src/routes/sc/OG.svelte b/src/routes/sc/OG.svelte
new file mode 100644
index 0000000..2fa1240
--- /dev/null
+++ b/src/routes/sc/OG.svelte
@@ -0,0 +1,29 @@
+
+
+
+
+
+ {text}
+ {spanText}
+
+
+
+
diff --git a/static/demo.png b/static/demo.png
deleted file mode 100644
index bb74d9c..0000000
Binary files a/static/demo.png and /dev/null differ
diff --git a/static/favicon.ico b/static/favicon.ico
deleted file mode 100644
index 3e1c704..0000000
Binary files a/static/favicon.ico and /dev/null differ
diff --git a/static/iaw-mono-var.woff2 b/static/iaw-mono-var.woff2
deleted file mode 100644
index f2fac01..0000000
Binary files a/static/iaw-mono-var.woff2 and /dev/null differ
diff --git a/static/inter-latin-ext-400-normal.woff b/static/inter-latin-ext-400-normal.woff
deleted file mode 100644
index 9b73a33..0000000
Binary files a/static/inter-latin-ext-400-normal.woff and /dev/null differ
diff --git a/static/inter-latin-ext-700-normal.woff b/static/inter-latin-ext-700-normal.woff
deleted file mode 100644
index a128024..0000000
Binary files a/static/inter-latin-ext-700-normal.woff and /dev/null differ
diff --git a/static/logo.png b/static/logo.png
deleted file mode 100644
index 5837e1f..0000000
Binary files a/static/logo.png and /dev/null differ
diff --git a/static/logo.webp b/static/logo.webp
deleted file mode 100644
index ce3ffc3..0000000
Binary files a/static/logo.webp and /dev/null differ
diff --git a/static/noto-sans.ttf b/static/noto-sans.ttf
deleted file mode 100644
index 56941ac..0000000
Binary files a/static/noto-sans.ttf and /dev/null differ
diff --git a/static/~partytown/debug/partytown-atomics.js b/static/~partytown/debug/partytown-atomics.js
deleted file mode 100644
index 96685b5..0000000
--- a/static/~partytown/debug/partytown-atomics.js
+++ /dev/null
@@ -1,572 +0,0 @@
-/* Partytown 0.8.0 - MIT builder.io */
-(window => {
- const isPromise = v => "object" == typeof v && v && v.then;
- const noop = () => {};
- const len = obj => obj.length;
- const getConstructorName = obj => {
- var _a, _b, _c;
- try {
- const constructorName = null === (_a = null == obj ? void 0 : obj.constructor) || void 0 === _a ? void 0 : _a.name;
- if (constructorName) {
- return constructorName;
- }
- } catch (e) {}
- try {
- const zoneJsConstructorName = null === (_c = null === (_b = null == obj ? void 0 : obj.__zone_symbol__originalInstance) || void 0 === _b ? void 0 : _b.constructor) || void 0 === _c ? void 0 : _c.name;
- if (zoneJsConstructorName) {
- return zoneJsConstructorName;
- }
- } catch (e) {}
- return "";
- };
- const startsWith = (str, val) => str.startsWith(val);
- const isValidMemberName = memberName => !(startsWith(memberName, "webkit") || startsWith(memberName, "toJSON") || startsWith(memberName, "constructor") || startsWith(memberName, "toString") || startsWith(memberName, "_"));
- const getNodeName = node => 11 === node.nodeType && node.host ? "#s" : node.nodeName;
- const randomId = () => Math.round(Math.random() * Number.MAX_SAFE_INTEGER).toString(36);
- const defineConstructorName = (Cstr, value) => ((obj, memberName, descriptor) => Object.defineProperty(obj, memberName, {
- ...descriptor,
- configurable: true
- }))(Cstr, "name", {
- value: value
- });
- const htmlConstructorTags = {
- Anchor: "a",
- DList: "dl",
- Image: "img",
- OList: "ol",
- Paragraph: "p",
- Quote: "q",
- TableCaption: "caption",
- TableCell: "td",
- TableCol: "colgroup",
- TableRow: "tr",
- TableSection: "tbody",
- UList: "ul"
- };
- const svgConstructorTags = {
- Graphics: "g",
- SVG: "svg"
- };
- const InstanceIdKey = Symbol();
- const CreatedKey = Symbol();
- const instances = new Map;
- const mainRefs = new Map;
- const winCtxs = {};
- const windowIds = new WeakMap;
- const getAndSetInstanceId = (instance, instanceId) => {
- if (instance) {
- if (instanceId = windowIds.get(instance)) {
- return instanceId;
- }
- (instanceId = instance[InstanceIdKey]) || setInstanceId(instance, instanceId = randomId());
- return instanceId;
- }
- };
- const getInstance = (winId, instanceId, win, doc, docId) => {
- if ((win = winCtxs[winId]) && win.$window$) {
- if (winId === instanceId) {
- return win.$window$;
- }
- doc = win.$window$.document;
- docId = instanceId.split(".").pop();
- if ("d" === docId) {
- return doc;
- }
- if ("e" === docId) {
- return doc.documentElement;
- }
- if ("h" === docId) {
- return doc.head;
- }
- if ("b" === docId) {
- return doc.body;
- }
- }
- return instances.get(instanceId);
- };
- const setInstanceId = (instance, instanceId, now) => {
- if (instance) {
- instances.set(instanceId, instance);
- instance[InstanceIdKey] = instanceId;
- instance[CreatedKey] = now = Date.now();
- if (now > lastCleanup + 5e3) {
- instances.forEach(((storedInstance, instanceId) => {
- storedInstance[CreatedKey] < lastCleanup && storedInstance.nodeType && !storedInstance.isConnected && instances.delete(instanceId);
- }));
- lastCleanup = now;
- }
- }
- };
- let lastCleanup = 0;
- const mainWindow = window.parent;
- const docImpl = document.implementation.createHTMLDocument();
- const config = mainWindow.partytown || {};
- const libPath = (config.lib || "/~partytown/") + "debug/";
- const logMain = msg => {
- console.debug.apply(console, [ "%cMain 🌎", "background: #717171; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;", msg ]);
- };
- const winIds = [];
- const normalizedWinId = winId => {
- winIds.includes(winId) || winIds.push(winId);
- return winIds.indexOf(winId) + 1;
- };
- const defineCustomElement = (winId, worker, ceData) => {
- const Cstr = defineConstructorName(class extends winCtxs[winId].$window$.HTMLElement {}, ceData[0]);
- const ceCallbackMethods = "connectedCallback,disconnectedCallback,attributeChangedCallback,adoptedCallback".split(",");
- ceCallbackMethods.map((callbackMethodName => Cstr.prototype[callbackMethodName] = function(...args) {
- worker.postMessage([ 15, winId, getAndSetInstanceId(this), callbackMethodName, args ]);
- }));
- Cstr.observedAttributes = ceData[1];
- return Cstr;
- };
- const serializeForWorker = ($winId$, value, added, type, cstrName, prevInstanceId) => void 0 !== value && (type = typeof value) ? "string" === type || "number" === type || "boolean" === type || null == value ? [ 0, value ] : "function" === type ? [ 6 ] : (added = added || new Set) && Array.isArray(value) ? added.has(value) ? [ 1, [] ] : added.add(value) && [ 1, value.map((v => serializeForWorker($winId$, v, added))) ] : "object" === type ? serializedValueIsError(value) ? [ 14, {
- name: value.name,
- message: value.message,
- stack: value.stack
- } ] : "" === (cstrName = getConstructorName(value)) ? [ 2, {} ] : "Window" === cstrName ? [ 3, [ $winId$, $winId$ ] ] : "HTMLCollection" === cstrName || "NodeList" === cstrName ? [ 7, Array.from(value).map((v => serializeForWorker($winId$, v, added)[1])) ] : cstrName.endsWith("Event") ? [ 5, serializeObjectForWorker($winId$, value, added) ] : "CSSRuleList" === cstrName ? [ 12, Array.from(value).map(serializeCssRuleForWorker) ] : startsWith(cstrName, "CSS") && cstrName.endsWith("Rule") ? [ 11, serializeCssRuleForWorker(value) ] : "CSSStyleDeclaration" === cstrName ? [ 13, serializeObjectForWorker($winId$, value, added) ] : "Attr" === cstrName ? [ 10, [ value.name, value.value ] ] : value.nodeType ? [ 3, [ $winId$, getAndSetInstanceId(value), getNodeName(value), prevInstanceId ] ] : [ 2, serializeObjectForWorker($winId$, value, added, true, true) ] : void 0 : value;
- const serializeObjectForWorker = (winId, obj, added, includeFunctions, includeEmptyStrings, serializedObj, propName, propValue) => {
- serializedObj = {};
- if (!added.has(obj)) {
- added.add(obj);
- for (propName in obj) {
- if (isValidMemberName(propName)) {
- propValue = "path" === propName && getConstructorName(obj).endsWith("Event") ? obj.composedPath() : obj[propName];
- (includeFunctions || "function" != typeof propValue) && (includeEmptyStrings || "" !== propValue) && (serializedObj[propName] = serializeForWorker(winId, propValue, added));
- }
- }
- }
- return serializedObj;
- };
- const serializeCssRuleForWorker = cssRule => {
- let obj = {};
- let key;
- for (key in cssRule) {
- validCssRuleProps.includes(key) && (obj[key] = String(cssRule[key]));
- }
- return obj;
- };
- const serializedValueIsError = value => value instanceof window.top.Error;
- const deserializeFromWorker = (worker, serializedTransfer, serializedType, serializedValue) => {
- if (serializedTransfer) {
- serializedType = serializedTransfer[0];
- serializedValue = serializedTransfer[1];
- return 0 === serializedType ? serializedValue : 4 === serializedType ? deserializeRefFromWorker(worker, serializedValue) : 1 === serializedType ? serializedValue.map((v => deserializeFromWorker(worker, v))) : 3 === serializedType ? getInstance(serializedValue[0], serializedValue[1]) : 5 === serializedType ? constructEvent(deserializeObjectFromWorker(worker, serializedValue)) : 2 === serializedType ? deserializeObjectFromWorker(worker, serializedValue) : 8 === serializedType ? serializedValue : 9 === serializedType ? new window[serializedTransfer[2]](serializedValue) : void 0;
- }
- };
- const deserializeRefFromWorker = (worker, {$winId$: $winId$, $instanceId$: $instanceId$, $refId$: $refId$}, ref) => {
- ref = mainRefs.get($refId$);
- if (!ref) {
- ref = function(...args) {
- worker.postMessage([ 9, {
- $winId$: $winId$,
- $instanceId$: $instanceId$,
- $refId$: $refId$,
- $thisArg$: serializeForWorker($winId$, this),
- $args$: serializeForWorker($winId$, args)
- } ]);
- };
- mainRefs.set($refId$, ref);
- }
- return ref;
- };
- const constructEvent = eventProps => new ("detail" in eventProps ? CustomEvent : Event)(eventProps.type, eventProps);
- const deserializeObjectFromWorker = (worker, serializedValue, obj, key) => {
- obj = {};
- for (key in serializedValue) {
- obj[key] = deserializeFromWorker(worker, serializedValue[key]);
- }
- return obj;
- };
- const validCssRuleProps = "cssText,selectorText,href,media,namespaceURI,prefix,name,conditionText".split(",");
- const mainAccessHandler = async (worker, accessReq) => {
- let accessRsp = {
- $msgId$: accessReq.$msgId$
- };
- let totalTasks = len(accessReq.$tasks$);
- let i = 0;
- let task;
- let winId;
- let applyPath;
- let instance;
- let rtnValue;
- let isLast;
- for (;i < totalTasks; i++) {
- try {
- isLast = i === totalTasks - 1;
- task = accessReq.$tasks$[i];
- winId = task.$winId$;
- applyPath = task.$applyPath$;
- !winCtxs[winId] && winId.startsWith("f_") && await new Promise((resolve => {
- let check = 0;
- let callback = () => {
- winCtxs[winId] || check++ > 1e3 ? resolve() : requestAnimationFrame(callback);
- };
- callback();
- }));
- if (1 === applyPath[0] && applyPath[1] in winCtxs[winId].$window$) {
- setInstanceId(new winCtxs[winId].$window$[applyPath[1]](...deserializeFromWorker(worker, applyPath[2])), task.$instanceId$);
- } else {
- instance = getInstance(winId, task.$instanceId$);
- if (instance) {
- rtnValue = applyToInstance(worker, winId, instance, applyPath, isLast, task.$groupedGetters$);
- task.$assignInstanceId$ && ("string" == typeof task.$assignInstanceId$ ? setInstanceId(rtnValue, task.$assignInstanceId$) : winCtxs[task.$assignInstanceId$.$winId$] = {
- $winId$: task.$assignInstanceId$.$winId$,
- $window$: {
- document: rtnValue
- }
- });
- if (isPromise(rtnValue)) {
- rtnValue = await rtnValue;
- isLast && (accessRsp.$isPromise$ = true);
- }
- isLast && (accessRsp.$rtnValue$ = serializeForWorker(winId, rtnValue, void 0, void 0, void 0, task.$instanceId$));
- } else {
- accessRsp.$error$ = `Error finding instance "${task.$instanceId$}" on window ${normalizedWinId(winId)}`;
- console.error(accessRsp.$error$, task);
- }
- }
- } catch (e) {
- isLast ? accessRsp.$error$ = String(e.stack || e) : console.error(e);
- }
- }
- return accessRsp;
- };
- const applyToInstance = (worker, winId, instance, applyPath, isLast, groupedGetters) => {
- let i = 0;
- let l = len(applyPath);
- let next;
- let current;
- let previous;
- let args;
- let groupedRtnValues;
- for (;i < l; i++) {
- current = applyPath[i];
- next = applyPath[i + 1];
- previous = applyPath[i - 1];
- try {
- if (!Array.isArray(next)) {
- if ("string" == typeof current || "number" == typeof current) {
- if (i + 1 === l && groupedGetters) {
- groupedRtnValues = {};
- groupedGetters.map((propName => groupedRtnValues[propName] = instance[propName]));
- return groupedRtnValues;
- }
- instance = instance[current];
- } else {
- if (0 === next) {
- instance[previous] = deserializeFromWorker(worker, current);
- return;
- }
- if ("function" == typeof instance[previous]) {
- args = deserializeFromWorker(worker, current);
- "define" === previous && "CustomElementRegistry" === getConstructorName(instance) && (args[1] = defineCustomElement(winId, worker, args[1]));
- "insertRule" === previous && args[1] > len(instance.cssRules) && (args[1] = len(instance.cssRules));
- instance = instance[previous].apply(instance, args);
- if ("play" === previous) {
- return Promise.resolve();
- }
- }
- }
- }
- } catch (err) {
- if (isLast) {
- throw err;
- }
- console.debug("Non-blocking setter error:", err);
- }
- }
- return instance;
- };
- const readNextScript = (worker, winCtx) => {
- let $winId$ = winCtx.$winId$;
- let win = winCtx.$window$;
- let doc = win.document;
- let scriptSelector = 'script[type="text/partytown"]:not([data-ptid]):not([data-pterror])';
- let scriptElm;
- let $instanceId$;
- let scriptData;
- if (doc && doc.body) {
- scriptElm = doc.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror]):not([async]):not([defer])');
- scriptElm || (scriptElm = doc.querySelector(scriptSelector));
- if (scriptElm) {
- scriptElm.dataset.ptid = $instanceId$ = getAndSetInstanceId(scriptElm, $winId$);
- scriptData = {
- $winId$: $winId$,
- $instanceId$: $instanceId$
- };
- if (scriptElm.src) {
- scriptData.$url$ = scriptElm.src;
- scriptData.$orgUrl$ = scriptElm.dataset.ptsrc || scriptElm.src;
- } else {
- scriptData.$content$ = scriptElm.innerHTML;
- }
- worker.postMessage([ 7, scriptData ]);
- } else {
- if (!winCtx.$isInitialized$) {
- winCtx.$isInitialized$ = 1;
- ((worker, $winId$, win) => {
- let queuedForwardCalls = win._ptf;
- let forwards = (win.partytown || {}).forward || [];
- let i;
- let mainForwardFn;
- let forwardCall = ($forward$, args) => worker.postMessage([ 10, {
- $winId$: $winId$,
- $forward$: $forward$,
- $args$: serializeForWorker($winId$, Array.from(args))
- } ]);
- win._ptf = void 0;
- forwards.map((forwardProps => {
- mainForwardFn = win;
- forwardProps.split(".").map(((_, i, arr) => {
- mainForwardFn = mainForwardFn[arr[i]] = i + 1 < len(arr) ? mainForwardFn[arr[i]] || ("push" === arr[i + 1] ? [] : {}) : (...args) => forwardCall(arr, args);
- }));
- }));
- if (queuedForwardCalls) {
- for (i = 0; i < len(queuedForwardCalls); i += 2) {
- forwardCall(queuedForwardCalls[i], queuedForwardCalls[i + 1]);
- }
- }
- })(worker, $winId$, win);
- doc.dispatchEvent(new CustomEvent("pt0"));
- {
- const winType = win === win.top ? "top" : "iframe";
- logMain(`Executed ${winType} window ${normalizedWinId($winId$)} environment scripts in ${(performance.now() - winCtx.$startTime$).toFixed(1)}ms`);
- }
- }
- worker.postMessage([ 8, $winId$ ]);
- }
- } else {
- requestAnimationFrame((() => readNextScript(worker, winCtx)));
- }
- };
- const registerWindow = (worker, $winId$, $window$) => {
- if (!windowIds.has($window$)) {
- windowIds.set($window$, $winId$);
- const doc = $window$.document;
- const history = $window$.history;
- const $parentWinId$ = windowIds.get($window$.parent);
- let initialised = false;
- const onInitialisedQueue = [];
- const onInitialised = callback => {
- initialised ? callback() : onInitialisedQueue.push(callback);
- };
- const sendInitEnvData = () => {
- worker.postMessage([ 5, {
- $winId$: $winId$,
- $parentWinId$: $parentWinId$,
- $url$: doc.baseURI,
- $visibilityState$: doc.visibilityState
- } ]);
- setTimeout((() => {
- initialised = true;
- onInitialisedQueue.forEach((callback => {
- callback();
- }));
- }));
- };
- const pushState = history.pushState.bind(history);
- const replaceState = history.replaceState.bind(history);
- const onLocationChange = (type, state, newUrl, oldUrl) => () => {
- setTimeout((() => {
- worker.postMessage([ 13, {
- $winId$: $winId$,
- type: type,
- state: state,
- url: doc.baseURI,
- newUrl: newUrl,
- oldUrl: oldUrl
- } ]);
- }));
- };
- history.pushState = (state, _, newUrl) => {
- pushState(state, _, newUrl);
- onInitialised(onLocationChange(0, state, null == newUrl ? void 0 : newUrl.toString()));
- };
- history.replaceState = (state, _, newUrl) => {
- replaceState(state, _, newUrl);
- onInitialised(onLocationChange(1, state, null == newUrl ? void 0 : newUrl.toString()));
- };
- $window$.addEventListener("popstate", (event => {
- onInitialised(onLocationChange(2, event.state));
- }));
- $window$.addEventListener("hashchange", (event => {
- onInitialised(onLocationChange(3, {}, event.newURL, event.oldURL));
- }));
- $window$.addEventListener("ptupdate", (() => {
- readNextScript(worker, winCtxs[$winId$]);
- }));
- doc.addEventListener("visibilitychange", (() => worker.postMessage([ 14, $winId$, doc.visibilityState ])));
- winCtxs[$winId$] = {
- $winId$: $winId$,
- $window$: $window$
- };
- winCtxs[$winId$].$startTime$ = performance.now();
- {
- const winType = $winId$ === $parentWinId$ ? "top" : "iframe";
- logMain(`Registered ${winType} window ${normalizedWinId($winId$)}`);
- }
- "complete" === doc.readyState ? sendInitEnvData() : $window$.addEventListener("load", sendInitEnvData);
- }
- };
- const onMessageFromWebWorker = (worker, msg, winCtx) => {
- if (4 === msg[0]) {
- registerWindow(worker, randomId(), mainWindow);
- } else {
- winCtx = winCtxs[msg[1]];
- winCtx && (7 === msg[0] ? requestAnimationFrame((() => readNextScript(worker, winCtx))) : 6 === msg[0] && ((worker, winCtx, instanceId, errorMsg, scriptElm) => {
- scriptElm = winCtx.$window$.document.querySelector(`[data-ptid="${instanceId}"]`);
- if (scriptElm) {
- errorMsg ? scriptElm.dataset.pterror = errorMsg : scriptElm.type += "-x";
- delete scriptElm.dataset.ptid;
- }
- readNextScript(worker, winCtx);
- })(worker, winCtx, msg[2], msg[3]));
- }
- };
- const readMainInterfaces = () => {
- const elms = Object.getOwnPropertyNames(mainWindow).map((interfaceName => ((doc, interfaceName, r, tag) => {
- r = interfaceName.match(/^(HTML|SVG)(.+)Element$/);
- if (r) {
- tag = r[2];
- return "S" == interfaceName[0] ? doc.createElementNS("http://www.w3.org/2000/svg", svgConstructorTags[tag] || tag.slice(0, 2).toLowerCase() + tag.slice(2)) : doc.createElement(htmlConstructorTags[tag] || tag);
- }
- })(docImpl, interfaceName))).filter((elm => elm)).map((elm => [ elm ]));
- return readImplementations(elms, []);
- };
- const cstrs = new Set([ "Object" ]);
- const readImplementations = (impls, interfaces) => {
- const cstrImpls = impls.filter((implData => implData[0])).map((implData => {
- const impl = implData[0];
- const interfaceType = implData[1];
- const cstrName = getConstructorName(impl);
- const CstrPrototype = mainWindow[cstrName].prototype;
- return [ cstrName, CstrPrototype, impl, interfaceType ];
- }));
- cstrImpls.map((([cstrName, CstrPrototype, impl, intefaceType]) => readOwnImplementation(cstrs, interfaces, cstrName, CstrPrototype, impl, intefaceType)));
- return interfaces;
- };
- const readImplementation = (cstrName, impl, memberName) => {
- let interfaceMembers = [];
- let interfaceInfo = [ cstrName, "Object", interfaceMembers ];
- for (memberName in impl) {
- readImplementationMember(interfaceMembers, impl, memberName);
- }
- return interfaceInfo;
- };
- const readOwnImplementation = (cstrs, interfaces, cstrName, CstrPrototype, impl, interfaceType) => {
- if (!cstrs.has(cstrName)) {
- cstrs.add(cstrName);
- const SuperCstr = Object.getPrototypeOf(CstrPrototype);
- const superCstrName = getConstructorName(SuperCstr);
- const interfaceMembers = [];
- const propDescriptors = Object.getOwnPropertyDescriptors(CstrPrototype);
- readOwnImplementation(cstrs, interfaces, superCstrName, SuperCstr, impl, interfaceType);
- for (const memberName in propDescriptors) {
- readImplementationMember(interfaceMembers, impl, memberName);
- }
- interfaces.push([ cstrName, superCstrName, interfaceMembers, interfaceType, getNodeName(impl) ]);
- }
- };
- const readImplementationMember = (interfaceMembers, implementation, memberName, value, memberType, cstrName) => {
- try {
- if (isValidMemberName(memberName) && isNaN(memberName[0]) && "all" !== memberName) {
- value = implementation[memberName];
- memberType = typeof value;
- if ("function" === memberType) {
- (String(value).includes("[native") || Object.getPrototypeOf(implementation)[memberName]) && interfaceMembers.push([ memberName, 5 ]);
- } else if ("object" === memberType && null != value) {
- cstrName = getConstructorName(value);
- "Object" !== cstrName && self[cstrName] && interfaceMembers.push([ memberName, value.nodeType || cstrName ]);
- } else {
- "symbol" !== memberType && (memberName.toUpperCase() === memberName ? interfaceMembers.push([ memberName, 6, value ]) : interfaceMembers.push([ memberName, 6 ]));
- }
- }
- } catch (e) {
- console.warn(e);
- }
- };
- const readStorage = storageName => {
- let items = [];
- let i = 0;
- let l = len(mainWindow[storageName]);
- let key;
- for (;i < l; i++) {
- key = mainWindow[storageName].key(i);
- items.push([ key, mainWindow[storageName].getItem(key) ]);
- }
- return items;
- };
- const getGlobalConstructor = (mainWindow, cstrName) => void 0 !== mainWindow[cstrName] ? new mainWindow[cstrName](noop) : 0;
- const addGlobalConstructorUsingPrototype = ($interfaces$, mainWindow, cstrName) => {
- void 0 !== mainWindow[cstrName] && $interfaces$.push([ cstrName, "Object", Object.keys(mainWindow[cstrName].prototype).map((propName => [ propName, 6 ])), 12 ]);
- };
- let worker;
- (async receiveMessage => {
- const sharedDataBuffer = new SharedArrayBuffer(1073741824);
- const sharedData = new Int32Array(sharedDataBuffer);
- return (worker, msg) => {
- const msgType = msg[0];
- const accessReq = msg[1];
- if (0 === msgType) {
- const initData = (() => {
- const elm = docImpl.createElement("i");
- const textNode = docImpl.createTextNode("");
- const comment = docImpl.createComment("");
- const frag = docImpl.createDocumentFragment();
- const shadowRoot = docImpl.createElement("p").attachShadow({
- mode: "open"
- });
- const intersectionObserver = getGlobalConstructor(mainWindow, "IntersectionObserver");
- const mutationObserver = getGlobalConstructor(mainWindow, "MutationObserver");
- const resizeObserver = getGlobalConstructor(mainWindow, "ResizeObserver");
- const perf = mainWindow.performance;
- const screen = mainWindow.screen;
- const impls = [ [ mainWindow.history ], [ perf ], [ perf.navigation ], [ perf.timing ], [ screen ], [ screen.orientation ], [ mainWindow.visualViewport ], [ intersectionObserver, 12 ], [ mutationObserver, 12 ], [ resizeObserver, 12 ], [ textNode ], [ comment ], [ frag ], [ shadowRoot ], [ elm ], [ elm.attributes ], [ elm.classList ], [ elm.dataset ], [ elm.style ], [ docImpl ], [ docImpl.doctype ] ];
- const initialInterfaces = [ readImplementation("Window", mainWindow), readImplementation("Node", textNode) ];
- const $config$ = JSON.stringify(config, ((k, v) => {
- if ("function" == typeof v) {
- v = String(v);
- v.startsWith(k + "(") && (v = "function " + v);
- }
- return v;
- }));
- const initWebWorkerData = {
- $config$: $config$,
- $interfaces$: readImplementations(impls, initialInterfaces),
- $libPath$: new URL(libPath, mainWindow.location) + "",
- $origin$: origin,
- $localStorage$: readStorage("localStorage"),
- $sessionStorage$: readStorage("sessionStorage")
- };
- addGlobalConstructorUsingPrototype(initWebWorkerData.$interfaces$, mainWindow, "IntersectionObserverEntry");
- return initWebWorkerData;
- })();
- initData.$sharedDataBuffer$ = sharedDataBuffer;
- worker.postMessage([ 1, initData ]);
- } else {
- 2 === msg[0] ? worker.postMessage([ 3, readMainInterfaces() ]) : 11 === msgType ? receiveMessage(accessReq, (accessRsp => {
- const stringifiedData = JSON.stringify(accessRsp);
- const stringifiedDataLength = stringifiedData.length;
- for (let i = 0; i < stringifiedDataLength; i++) {
- sharedData[i + 1] = stringifiedData.charCodeAt(i);
- }
- sharedData[0] = stringifiedDataLength;
- Atomics.notify(sharedData, 0);
- })) : onMessageFromWebWorker(worker, msg);
- }
- };
- })(((accessReq, responseCallback) => mainAccessHandler(worker, accessReq).then(responseCallback))).then((onMessageHandler => {
- if (onMessageHandler) {
- worker = new Worker(libPath + "partytown-ww-atomics.js?v=0.8.0", {
- name: "Partytown 🎉"
- });
- worker.onmessage = ev => {
- const msg = ev.data;
- 12 === msg[0] ? mainAccessHandler(worker, msg[1]) : onMessageHandler(worker, msg);
- };
- logMain("Created Partytown web worker (0.8.0)");
- worker.onerror = ev => console.error("Web Worker Error", ev);
- mainWindow.addEventListener("pt1", (ev => registerWindow(worker, getAndSetInstanceId(ev.detail.frameElement), ev.detail)));
- }
- }));
-})(window);
diff --git a/static/~partytown/debug/partytown-media.js b/static/~partytown/debug/partytown-media.js
deleted file mode 100644
index f71fadb..0000000
--- a/static/~partytown/debug/partytown-media.js
+++ /dev/null
@@ -1,374 +0,0 @@
-/* Partytown 0.8.0 - MIT builder.io */
-(self => {
- const [getter, setter, callMethod, constructGlobal, definePrototypePropertyDescriptor, randomId, WinIdKey, InstanceIdKey, ApplyPathKey] = self.$bridgeToMedia$;
- delete self.$bridgeToMedia$;
- const ContextKey = Symbol();
- const MediaSourceKey = Symbol();
- const ReadyStateKey = Symbol();
- const SourceBuffersKey = Symbol();
- const SourceBufferTasksKey = Symbol();
- const TimeRangesKey = Symbol();
- const EMPTY_ARRAY = [];
- const defineCstr = (win, cstrName, Cstr) => win[cstrName] = defineCstrName(cstrName, Cstr);
- const defineCstrName = (cstrName, Cstr) => Object.defineProperty(Cstr, "name", {
- value: cstrName
- });
- const initCanvas = (WorkerBase, win) => {
- const HTMLCanvasDescriptorMap = {
- getContext: {
- value(contextType, contextAttributes) {
- this[ContextKey] || (this[ContextKey] = (contextType.includes("webgl") ? createContextWebGL : createContext2D)(this, contextType, contextAttributes));
- return this[ContextKey];
- }
- }
- };
- const WorkerCanvasGradient = defineCstr(win, "CanvasGradient", class extends WorkerBase {
- addColorStop(...args) {
- callMethod(this, [ "addColorStop" ], args, 2);
- }
- });
- const WorkerCanvasPattern = defineCstr(win, "CanvasPattern", class extends WorkerBase {
- setTransform(...args) {
- callMethod(this, [ "setTransform" ], args, 2);
- }
- });
- const createContext2D = (canvasInstance, contextType, contextAttributes) => {
- const winId = canvasInstance[WinIdKey];
- const ctxInstanceId = randomId();
- const ctxInstance = {
- [WinIdKey]: winId,
- [InstanceIdKey]: ctxInstanceId,
- [ApplyPathKey]: []
- };
- const ctx = callMethod(canvasInstance, [ "getContext" ], [ contextType, contextAttributes ], 1, ctxInstanceId);
- const ctx2dGetterMethods = "getContextAttributes,getImageData,getLineDash,getTransform,isPointInPath,isPointInStroke,measureText".split(",");
- const CanvasRenderingContext2D = {
- get: (target, propName) => "string" == typeof propName && propName in ctx ? "function" == typeof ctx[propName] ? (...args) => {
- if (propName.startsWith("create")) {
- const instanceId = randomId();
- callMethod(ctxInstance, [ propName ], args, 2, instanceId);
- if ("createImageData" === propName || "createPattern" === propName) {
- (api => {
- console.warn(`${api} not implemented`);
- })(`${propName}()`);
- return {
- setTransform: () => {}
- };
- }
- return new WorkerCanvasGradient(winId, instanceId);
- }
- const methodCallType = ctx2dGetterMethods.includes(propName) ? 1 : 2;
- return callMethod(ctxInstance, [ propName ], args, methodCallType);
- } : ctx[propName] : target[propName],
- set(target, propName, value) {
- if ("string" == typeof propName && propName in ctx) {
- ctx[propName] !== value && "function" != typeof value && setter(ctxInstance, [ propName ], value);
- ctx[propName] = value;
- } else {
- target[propName] = value;
- }
- return true;
- }
- };
- return new Proxy(ctx, CanvasRenderingContext2D);
- };
- const createContextWebGL = (canvasInstance, contextType, contextAttributes) => {
- const winId = canvasInstance[WinIdKey];
- const ctxInstanceId = randomId();
- const ctxInstance = {
- [WinIdKey]: winId,
- [InstanceIdKey]: ctxInstanceId,
- [ApplyPathKey]: []
- };
- const ctx = callMethod(canvasInstance, [ "getContext" ], [ contextType, contextAttributes ], 1, ctxInstanceId);
- const WebGLRenderingContextHandler = {
- get: (target, propName) => "string" == typeof propName ? "function" != typeof ctx[propName] ? ctx[propName] : (...args) => callMethod(ctxInstance, [ propName ], args, getWebGlMethodCallType(propName)) : target[propName],
- set(target, propName, value) {
- if ("string" == typeof propName && propName in ctx) {
- ctx[propName] !== value && "function" != typeof value && setter(ctxInstance, [ propName ], value);
- ctx[propName] = value;
- } else {
- target[propName] = value;
- }
- return true;
- }
- };
- return new Proxy(ctx, WebGLRenderingContextHandler);
- };
- const ctxWebGLGetterMethods = "checkFramebufferStatus,makeXRCompatible".split(",");
- const getWebGlMethodCallType = methodName => methodName.startsWith("create") || methodName.startsWith("get") || methodName.startsWith("is") || ctxWebGLGetterMethods.includes(methodName) ? 1 : 2;
- defineCstr(win, "CanvasGradient", WorkerCanvasGradient);
- defineCstr(win, "CanvasPattern", WorkerCanvasPattern);
- definePrototypePropertyDescriptor(win.HTMLCanvasElement, HTMLCanvasDescriptorMap);
- };
- const initMedia = (WorkerBase, WorkerEventTargetProxy, env, win) => {
- var _a, _b;
- win.Audio = defineCstrName("HTMLAudioElement", class {
- constructor(src) {
- const audio = env.$createNode$("audio", randomId());
- audio.src = src;
- return audio;
- }
- });
- const WorkerAudioTrack = class extends WorkerBase {
- get enabled() {
- return getter(this, [ "enabled" ]);
- }
- set enabled(value) {
- setter(this, [ "enabled" ], value);
- }
- get id() {
- return getter(this, [ "id" ]);
- }
- get kind() {
- return getter(this, [ "kind" ]);
- }
- get label() {
- return getter(this, [ "label" ]);
- }
- get language() {
- return getter(this, [ "language" ]);
- }
- get sourceBuffer() {
- return new WorkerSourceBuffer(this);
- }
- };
- const WorkerAudioTrackList = class {
- constructor(mediaElm) {
- const winId = mediaElm[WinIdKey];
- const instanceId = mediaElm[InstanceIdKey];
- const instance = {
- addEventListener(...args) {
- callMethod(mediaElm, [ "audioTracks", "addEventListener" ], args, 3);
- },
- getTrackById: (...args) => callMethod(mediaElm, [ "audioTracks", "getTrackById" ], args),
- get length() {
- return getter(mediaElm, [ "audioTracks", "length" ]);
- },
- removeEventListener(...args) {
- callMethod(mediaElm, [ "audioTracks", "removeEventListener" ], args, 3);
- }
- };
- return new Proxy(instance, {
- get: (target, propName) => "number" == typeof propName ? new WorkerAudioTrack(winId, instanceId, [ "audioTracks", propName ]) : target[propName]
- });
- }
- };
- const WorkerSourceBufferList = defineCstr(win, "SourceBufferList", class extends Array {
- constructor(mediaSource) {
- super();
- this[MediaSourceKey] = mediaSource;
- }
- addEventListener(...args) {
- callMethod(this[MediaSourceKey], [ "sourceBuffers", "addEventListener" ], args, 3);
- }
- removeEventListener(...args) {
- callMethod(this[MediaSourceKey], [ "sourceBuffers", "removeEventListener" ], args, 3);
- }
- });
- const WorkerSourceBuffer = defineCstr(win, "SourceBuffer", (_b = class extends WorkerEventTargetProxy {
- constructor(mediaSource) {
- super(mediaSource[WinIdKey], mediaSource[InstanceIdKey], [ "sourceBuffers" ]);
- this[_a] = [];
- this[MediaSourceKey] = mediaSource;
- }
- abort() {
- const sbIndex = getSourceBufferIndex(this);
- callMethod(this, [ sbIndex, "appendWindowStart" ], EMPTY_ARRAY, 1);
- }
- addEventListener(...args) {
- const sbIndex = getSourceBufferIndex(this);
- callMethod(this, [ sbIndex, "addEventListener" ], args, 3);
- }
- appendBuffer(buf) {
- this[SourceBufferTasksKey].push([ "appendBuffer", [ buf ], buf ]);
- drainSourceBufferQueue(this);
- }
- get appendWindowStart() {
- const sbIndex = getSourceBufferIndex(this);
- return getter(this, [ sbIndex, "appendWindowStart" ]);
- }
- set appendWindowStart(value) {
- const sbIndex = getSourceBufferIndex(this);
- setter(this, [ sbIndex, "appendWindowStart" ], value);
- }
- get appendWindowEnd() {
- const sbIndex = getSourceBufferIndex(this);
- return getter(this, [ sbIndex, "appendWindowEnd" ]);
- }
- set appendWindowEnd(value) {
- const sbIndex = getSourceBufferIndex(this);
- setter(this, [ sbIndex, "appendWindowEnd" ], value);
- }
- get buffered() {
- const mediaSource = this[MediaSourceKey];
- const sbIndex = getSourceBufferIndex(this);
- const timeRanges = new WorkerTimeRanges(mediaSource[WinIdKey], mediaSource[InstanceIdKey], [ "sourceBuffers", sbIndex, "buffered" ]);
- return timeRanges;
- }
- changeType(mimeType) {
- const sbIndex = getSourceBufferIndex(this);
- callMethod(this, [ sbIndex, "changeType" ], [ mimeType ], 2);
- }
- get mode() {
- const sbIndex = getSourceBufferIndex(this);
- return getter(this, [ sbIndex, "mode" ]);
- }
- set mode(value) {
- const sbIndex = getSourceBufferIndex(this);
- setter(this, [ sbIndex, "mode" ], value);
- }
- remove(start, end) {
- this[SourceBufferTasksKey].push([ "remove", [ start, end ] ]);
- drainSourceBufferQueue(this);
- }
- removeEventListener(...args) {
- const sbIndex = getSourceBufferIndex(this);
- callMethod(this, [ sbIndex, "removeEventListener" ], args, 3);
- }
- get timestampOffset() {
- const sbIndex = getSourceBufferIndex(this);
- return getter(this, [ sbIndex, "timestampOffset" ]);
- }
- set timestampOffset(value) {
- const sbIndex = getSourceBufferIndex(this);
- setter(this, [ sbIndex, "timestampOffset" ], value);
- }
- get updating() {
- const sbIndex = getSourceBufferIndex(this);
- return getter(this, [ sbIndex, "updating" ]);
- }
- }, _a = SourceBufferTasksKey, _b));
- const WorkerTimeRanges = defineCstr(win, "TimeRanges", class extends WorkerBase {
- start(...args) {
- return callMethod(this, [ "start" ], args);
- }
- end(...args) {
- return callMethod(this, [ "end" ], args);
- }
- get length() {
- return getter(this, [ "length" ]);
- }
- });
- const getSourceBufferIndex = sourceBuffer => {
- if (sourceBuffer) {
- const mediaSource = sourceBuffer[MediaSourceKey];
- const sourceBufferList = mediaSource[SourceBuffersKey];
- return sourceBufferList.indexOf(sourceBuffer);
- }
- return -1;
- };
- const drainSourceBufferQueue = sourceBuffer => {
- if (sourceBuffer[SourceBufferTasksKey].length) {
- if (!sourceBuffer.updating) {
- const task = sourceBuffer[SourceBufferTasksKey].shift();
- if (task) {
- const sbIndex = getSourceBufferIndex(sourceBuffer);
- callMethod(sourceBuffer, [ sbIndex, task[0] ], task[1], 3, void 0, task[2]);
- }
- }
- setTimeout((() => drainSourceBufferQueue(sourceBuffer)), 50);
- }
- };
- const HTMLMediaDescriptorMap = {
- buffered: {
- get() {
- if (!this[TimeRangesKey]) {
- this[TimeRangesKey] = new WorkerTimeRanges(this[WinIdKey], this[InstanceIdKey], [ "buffered" ]);
- setTimeout((() => {
- this[TimeRangesKey] = void 0;
- }), 5e3);
- }
- return this[TimeRangesKey];
- }
- },
- readyState: {
- get() {
- if (4 === this[ReadyStateKey]) {
- return 4;
- }
- if ("number" != typeof this[ReadyStateKey]) {
- this[ReadyStateKey] = getter(this, [ "readyState" ]);
- setTimeout((() => {
- this[ReadyStateKey] = void 0;
- }), 1e3);
- }
- return this[ReadyStateKey];
- }
- }
- };
- defineCstr(win, "MediaSource", class extends WorkerEventTargetProxy {
- constructor() {
- super(env.$winId$);
- this[SourceBuffersKey] = new WorkerSourceBufferList(this);
- constructGlobal(this, "MediaSource", EMPTY_ARRAY);
- }
- get activeSourceBuffers() {
- return [];
- }
- addSourceBuffer(mimeType) {
- const sourceBuffer = new WorkerSourceBuffer(this);
- this[SourceBuffersKey].push(sourceBuffer);
- callMethod(this, [ "addSourceBuffer" ], [ mimeType ]);
- return sourceBuffer;
- }
- clearLiveSeekableRange() {
- callMethod(this, [ "clearLiveSeekableRange" ], EMPTY_ARRAY, 2);
- }
- get duration() {
- return getter(this, [ "duration" ]);
- }
- set duration(value) {
- setter(this, [ "duration" ], value);
- }
- endOfStream(endOfStreamError) {
- callMethod(this, [ "endOfStream" ], [ endOfStreamError ], 3);
- }
- get readyState() {
- return getter(this, [ "readyState" ]);
- }
- removeSourceBuffer(sourceBuffer) {
- const index = getSourceBufferIndex(sourceBuffer);
- if (index > -1) {
- this[SourceBuffersKey].splice(index, 1);
- callMethod(this, [ "removeSourceBuffer" ], [ index ], 1);
- }
- }
- setLiveSeekableRange(start, end) {
- callMethod(this, [ "setLiveSeekableRange" ], [ start, end ], 2);
- }
- get sourceBuffers() {
- return this[SourceBuffersKey];
- }
- static isTypeSupported(mimeType) {
- if (!isStaticTypeSupported.has(mimeType)) {
- const isSupported = callMethod(win, [ "MediaSource", "isTypeSupported" ], [ mimeType ]);
- isStaticTypeSupported.set(mimeType, isSupported);
- }
- return isStaticTypeSupported.get(mimeType);
- }
- });
- const winURL = win.URL = defineCstrName("URL", class extends URL {});
- const hasAudioTracks = "audioTracks" in win.HTMLMediaElement.prototype;
- if (hasAudioTracks) {
- defineCstr(win, "AudioTrackList", WorkerAudioTrackList);
- defineCstr(win, "AudioTrack", WorkerAudioTrack);
- HTMLMediaDescriptorMap.audioTracks = {
- get() {
- return new WorkerAudioTrackList(this);
- }
- };
- }
- definePrototypePropertyDescriptor(win.HTMLMediaElement, HTMLMediaDescriptorMap);
- winURL.createObjectURL = obj => callMethod(win, [ "URL", "createObjectURL" ], [ obj ]);
- winURL.revokeObjectURL = obj => callMethod(win, [ "URL", "revokeObjectURL" ], [ obj ]);
- };
- const isStaticTypeSupported = new Map;
- self.$bridgeFromMedia$ = (WorkerBase, WorkerEventTargetProxy, env, win, windowMediaConstructors) => {
- windowMediaConstructors.map((mediaCstrName => {
- delete win[mediaCstrName];
- }));
- initCanvas(WorkerBase, win);
- initMedia(WorkerBase, WorkerEventTargetProxy, env, win);
- };
-})(self);
diff --git a/static/~partytown/debug/partytown-sandbox-sw.js b/static/~partytown/debug/partytown-sandbox-sw.js
deleted file mode 100644
index 44b9657..0000000
--- a/static/~partytown/debug/partytown-sandbox-sw.js
+++ /dev/null
@@ -1,559 +0,0 @@
-/* Partytown 0.8.0 - MIT builder.io */
-(window => {
- const isPromise = v => "object" == typeof v && v && v.then;
- const noop = () => {};
- const len = obj => obj.length;
- const getConstructorName = obj => {
- var _a, _b, _c;
- try {
- const constructorName = null === (_a = null == obj ? void 0 : obj.constructor) || void 0 === _a ? void 0 : _a.name;
- if (constructorName) {
- return constructorName;
- }
- } catch (e) {}
- try {
- const zoneJsConstructorName = null === (_c = null === (_b = null == obj ? void 0 : obj.__zone_symbol__originalInstance) || void 0 === _b ? void 0 : _b.constructor) || void 0 === _c ? void 0 : _c.name;
- if (zoneJsConstructorName) {
- return zoneJsConstructorName;
- }
- } catch (e) {}
- return "";
- };
- const startsWith = (str, val) => str.startsWith(val);
- const isValidMemberName = memberName => !(startsWith(memberName, "webkit") || startsWith(memberName, "toJSON") || startsWith(memberName, "constructor") || startsWith(memberName, "toString") || startsWith(memberName, "_"));
- const getNodeName = node => 11 === node.nodeType && node.host ? "#s" : node.nodeName;
- const randomId = () => Math.round(Math.random() * Number.MAX_SAFE_INTEGER).toString(36);
- const defineConstructorName = (Cstr, value) => ((obj, memberName, descriptor) => Object.defineProperty(obj, memberName, {
- ...descriptor,
- configurable: true
- }))(Cstr, "name", {
- value: value
- });
- const htmlConstructorTags = {
- Anchor: "a",
- DList: "dl",
- Image: "img",
- OList: "ol",
- Paragraph: "p",
- Quote: "q",
- TableCaption: "caption",
- TableCell: "td",
- TableCol: "colgroup",
- TableRow: "tr",
- TableSection: "tbody",
- UList: "ul"
- };
- const svgConstructorTags = {
- Graphics: "g",
- SVG: "svg"
- };
- const InstanceIdKey = Symbol();
- const CreatedKey = Symbol();
- const instances = new Map;
- const mainRefs = new Map;
- const winCtxs = {};
- const windowIds = new WeakMap;
- const getAndSetInstanceId = (instance, instanceId) => {
- if (instance) {
- if (instanceId = windowIds.get(instance)) {
- return instanceId;
- }
- (instanceId = instance[InstanceIdKey]) || setInstanceId(instance, instanceId = randomId());
- return instanceId;
- }
- };
- const getInstance = (winId, instanceId, win, doc, docId) => {
- if ((win = winCtxs[winId]) && win.$window$) {
- if (winId === instanceId) {
- return win.$window$;
- }
- doc = win.$window$.document;
- docId = instanceId.split(".").pop();
- if ("d" === docId) {
- return doc;
- }
- if ("e" === docId) {
- return doc.documentElement;
- }
- if ("h" === docId) {
- return doc.head;
- }
- if ("b" === docId) {
- return doc.body;
- }
- }
- return instances.get(instanceId);
- };
- const setInstanceId = (instance, instanceId, now) => {
- if (instance) {
- instances.set(instanceId, instance);
- instance[InstanceIdKey] = instanceId;
- instance[CreatedKey] = now = Date.now();
- if (now > lastCleanup + 5e3) {
- instances.forEach(((storedInstance, instanceId) => {
- storedInstance[CreatedKey] < lastCleanup && storedInstance.nodeType && !storedInstance.isConnected && instances.delete(instanceId);
- }));
- lastCleanup = now;
- }
- }
- };
- let lastCleanup = 0;
- const mainWindow = window.parent;
- const docImpl = document.implementation.createHTMLDocument();
- const config = mainWindow.partytown || {};
- const libPath = (config.lib || "/~partytown/") + "debug/";
- const logMain = msg => {
- console.debug.apply(console, [ "%cMain 🌎", "background: #717171; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;", msg ]);
- };
- const winIds = [];
- const normalizedWinId = winId => {
- winIds.includes(winId) || winIds.push(winId);
- return winIds.indexOf(winId) + 1;
- };
- const defineCustomElement = (winId, worker, ceData) => {
- const Cstr = defineConstructorName(class extends winCtxs[winId].$window$.HTMLElement {}, ceData[0]);
- const ceCallbackMethods = "connectedCallback,disconnectedCallback,attributeChangedCallback,adoptedCallback".split(",");
- ceCallbackMethods.map((callbackMethodName => Cstr.prototype[callbackMethodName] = function(...args) {
- worker.postMessage([ 15, winId, getAndSetInstanceId(this), callbackMethodName, args ]);
- }));
- Cstr.observedAttributes = ceData[1];
- return Cstr;
- };
- const serializeForWorker = ($winId$, value, added, type, cstrName, prevInstanceId) => void 0 !== value && (type = typeof value) ? "string" === type || "number" === type || "boolean" === type || null == value ? [ 0, value ] : "function" === type ? [ 6 ] : (added = added || new Set) && Array.isArray(value) ? added.has(value) ? [ 1, [] ] : added.add(value) && [ 1, value.map((v => serializeForWorker($winId$, v, added))) ] : "object" === type ? serializedValueIsError(value) ? [ 14, {
- name: value.name,
- message: value.message,
- stack: value.stack
- } ] : "" === (cstrName = getConstructorName(value)) ? [ 2, {} ] : "Window" === cstrName ? [ 3, [ $winId$, $winId$ ] ] : "HTMLCollection" === cstrName || "NodeList" === cstrName ? [ 7, Array.from(value).map((v => serializeForWorker($winId$, v, added)[1])) ] : cstrName.endsWith("Event") ? [ 5, serializeObjectForWorker($winId$, value, added) ] : "CSSRuleList" === cstrName ? [ 12, Array.from(value).map(serializeCssRuleForWorker) ] : startsWith(cstrName, "CSS") && cstrName.endsWith("Rule") ? [ 11, serializeCssRuleForWorker(value) ] : "CSSStyleDeclaration" === cstrName ? [ 13, serializeObjectForWorker($winId$, value, added) ] : "Attr" === cstrName ? [ 10, [ value.name, value.value ] ] : value.nodeType ? [ 3, [ $winId$, getAndSetInstanceId(value), getNodeName(value), prevInstanceId ] ] : [ 2, serializeObjectForWorker($winId$, value, added, true, true) ] : void 0 : value;
- const serializeObjectForWorker = (winId, obj, added, includeFunctions, includeEmptyStrings, serializedObj, propName, propValue) => {
- serializedObj = {};
- if (!added.has(obj)) {
- added.add(obj);
- for (propName in obj) {
- if (isValidMemberName(propName)) {
- propValue = "path" === propName && getConstructorName(obj).endsWith("Event") ? obj.composedPath() : obj[propName];
- (includeFunctions || "function" != typeof propValue) && (includeEmptyStrings || "" !== propValue) && (serializedObj[propName] = serializeForWorker(winId, propValue, added));
- }
- }
- }
- return serializedObj;
- };
- const serializeCssRuleForWorker = cssRule => {
- let obj = {};
- let key;
- for (key in cssRule) {
- validCssRuleProps.includes(key) && (obj[key] = String(cssRule[key]));
- }
- return obj;
- };
- const serializedValueIsError = value => value instanceof window.top.Error;
- const deserializeFromWorker = (worker, serializedTransfer, serializedType, serializedValue) => {
- if (serializedTransfer) {
- serializedType = serializedTransfer[0];
- serializedValue = serializedTransfer[1];
- return 0 === serializedType ? serializedValue : 4 === serializedType ? deserializeRefFromWorker(worker, serializedValue) : 1 === serializedType ? serializedValue.map((v => deserializeFromWorker(worker, v))) : 3 === serializedType ? getInstance(serializedValue[0], serializedValue[1]) : 5 === serializedType ? constructEvent(deserializeObjectFromWorker(worker, serializedValue)) : 2 === serializedType ? deserializeObjectFromWorker(worker, serializedValue) : 8 === serializedType ? serializedValue : 9 === serializedType ? new window[serializedTransfer[2]](serializedValue) : void 0;
- }
- };
- const deserializeRefFromWorker = (worker, {$winId$: $winId$, $instanceId$: $instanceId$, $refId$: $refId$}, ref) => {
- ref = mainRefs.get($refId$);
- if (!ref) {
- ref = function(...args) {
- worker.postMessage([ 9, {
- $winId$: $winId$,
- $instanceId$: $instanceId$,
- $refId$: $refId$,
- $thisArg$: serializeForWorker($winId$, this),
- $args$: serializeForWorker($winId$, args)
- } ]);
- };
- mainRefs.set($refId$, ref);
- }
- return ref;
- };
- const constructEvent = eventProps => new ("detail" in eventProps ? CustomEvent : Event)(eventProps.type, eventProps);
- const deserializeObjectFromWorker = (worker, serializedValue, obj, key) => {
- obj = {};
- for (key in serializedValue) {
- obj[key] = deserializeFromWorker(worker, serializedValue[key]);
- }
- return obj;
- };
- const validCssRuleProps = "cssText,selectorText,href,media,namespaceURI,prefix,name,conditionText".split(",");
- const mainAccessHandler = async (worker, accessReq) => {
- let accessRsp = {
- $msgId$: accessReq.$msgId$
- };
- let totalTasks = len(accessReq.$tasks$);
- let i = 0;
- let task;
- let winId;
- let applyPath;
- let instance;
- let rtnValue;
- let isLast;
- for (;i < totalTasks; i++) {
- try {
- isLast = i === totalTasks - 1;
- task = accessReq.$tasks$[i];
- winId = task.$winId$;
- applyPath = task.$applyPath$;
- !winCtxs[winId] && winId.startsWith("f_") && await new Promise((resolve => {
- let check = 0;
- let callback = () => {
- winCtxs[winId] || check++ > 1e3 ? resolve() : requestAnimationFrame(callback);
- };
- callback();
- }));
- if (1 === applyPath[0] && applyPath[1] in winCtxs[winId].$window$) {
- setInstanceId(new winCtxs[winId].$window$[applyPath[1]](...deserializeFromWorker(worker, applyPath[2])), task.$instanceId$);
- } else {
- instance = getInstance(winId, task.$instanceId$);
- if (instance) {
- rtnValue = applyToInstance(worker, winId, instance, applyPath, isLast, task.$groupedGetters$);
- task.$assignInstanceId$ && ("string" == typeof task.$assignInstanceId$ ? setInstanceId(rtnValue, task.$assignInstanceId$) : winCtxs[task.$assignInstanceId$.$winId$] = {
- $winId$: task.$assignInstanceId$.$winId$,
- $window$: {
- document: rtnValue
- }
- });
- if (isPromise(rtnValue)) {
- rtnValue = await rtnValue;
- isLast && (accessRsp.$isPromise$ = true);
- }
- isLast && (accessRsp.$rtnValue$ = serializeForWorker(winId, rtnValue, void 0, void 0, void 0, task.$instanceId$));
- } else {
- accessRsp.$error$ = `Error finding instance "${task.$instanceId$}" on window ${normalizedWinId(winId)}`;
- console.error(accessRsp.$error$, task);
- }
- }
- } catch (e) {
- isLast ? accessRsp.$error$ = String(e.stack || e) : console.error(e);
- }
- }
- return accessRsp;
- };
- const applyToInstance = (worker, winId, instance, applyPath, isLast, groupedGetters) => {
- let i = 0;
- let l = len(applyPath);
- let next;
- let current;
- let previous;
- let args;
- let groupedRtnValues;
- for (;i < l; i++) {
- current = applyPath[i];
- next = applyPath[i + 1];
- previous = applyPath[i - 1];
- try {
- if (!Array.isArray(next)) {
- if ("string" == typeof current || "number" == typeof current) {
- if (i + 1 === l && groupedGetters) {
- groupedRtnValues = {};
- groupedGetters.map((propName => groupedRtnValues[propName] = instance[propName]));
- return groupedRtnValues;
- }
- instance = instance[current];
- } else {
- if (0 === next) {
- instance[previous] = deserializeFromWorker(worker, current);
- return;
- }
- if ("function" == typeof instance[previous]) {
- args = deserializeFromWorker(worker, current);
- "define" === previous && "CustomElementRegistry" === getConstructorName(instance) && (args[1] = defineCustomElement(winId, worker, args[1]));
- "insertRule" === previous && args[1] > len(instance.cssRules) && (args[1] = len(instance.cssRules));
- instance = instance[previous].apply(instance, args);
- if ("play" === previous) {
- return Promise.resolve();
- }
- }
- }
- }
- } catch (err) {
- if (isLast) {
- throw err;
- }
- console.debug("Non-blocking setter error:", err);
- }
- }
- return instance;
- };
- const readNextScript = (worker, winCtx) => {
- let $winId$ = winCtx.$winId$;
- let win = winCtx.$window$;
- let doc = win.document;
- let scriptSelector = 'script[type="text/partytown"]:not([data-ptid]):not([data-pterror])';
- let scriptElm;
- let $instanceId$;
- let scriptData;
- if (doc && doc.body) {
- scriptElm = doc.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror]):not([async]):not([defer])');
- scriptElm || (scriptElm = doc.querySelector(scriptSelector));
- if (scriptElm) {
- scriptElm.dataset.ptid = $instanceId$ = getAndSetInstanceId(scriptElm, $winId$);
- scriptData = {
- $winId$: $winId$,
- $instanceId$: $instanceId$
- };
- if (scriptElm.src) {
- scriptData.$url$ = scriptElm.src;
- scriptData.$orgUrl$ = scriptElm.dataset.ptsrc || scriptElm.src;
- } else {
- scriptData.$content$ = scriptElm.innerHTML;
- }
- worker.postMessage([ 7, scriptData ]);
- } else {
- if (!winCtx.$isInitialized$) {
- winCtx.$isInitialized$ = 1;
- ((worker, $winId$, win) => {
- let queuedForwardCalls = win._ptf;
- let forwards = (win.partytown || {}).forward || [];
- let i;
- let mainForwardFn;
- let forwardCall = ($forward$, args) => worker.postMessage([ 10, {
- $winId$: $winId$,
- $forward$: $forward$,
- $args$: serializeForWorker($winId$, Array.from(args))
- } ]);
- win._ptf = void 0;
- forwards.map((forwardProps => {
- mainForwardFn = win;
- forwardProps.split(".").map(((_, i, arr) => {
- mainForwardFn = mainForwardFn[arr[i]] = i + 1 < len(arr) ? mainForwardFn[arr[i]] || ("push" === arr[i + 1] ? [] : {}) : (...args) => forwardCall(arr, args);
- }));
- }));
- if (queuedForwardCalls) {
- for (i = 0; i < len(queuedForwardCalls); i += 2) {
- forwardCall(queuedForwardCalls[i], queuedForwardCalls[i + 1]);
- }
- }
- })(worker, $winId$, win);
- doc.dispatchEvent(new CustomEvent("pt0"));
- {
- const winType = win === win.top ? "top" : "iframe";
- logMain(`Executed ${winType} window ${normalizedWinId($winId$)} environment scripts in ${(performance.now() - winCtx.$startTime$).toFixed(1)}ms`);
- }
- }
- worker.postMessage([ 8, $winId$ ]);
- }
- } else {
- requestAnimationFrame((() => readNextScript(worker, winCtx)));
- }
- };
- const registerWindow = (worker, $winId$, $window$) => {
- if (!windowIds.has($window$)) {
- windowIds.set($window$, $winId$);
- const doc = $window$.document;
- const history = $window$.history;
- const $parentWinId$ = windowIds.get($window$.parent);
- let initialised = false;
- const onInitialisedQueue = [];
- const onInitialised = callback => {
- initialised ? callback() : onInitialisedQueue.push(callback);
- };
- const sendInitEnvData = () => {
- worker.postMessage([ 5, {
- $winId$: $winId$,
- $parentWinId$: $parentWinId$,
- $url$: doc.baseURI,
- $visibilityState$: doc.visibilityState
- } ]);
- setTimeout((() => {
- initialised = true;
- onInitialisedQueue.forEach((callback => {
- callback();
- }));
- }));
- };
- const pushState = history.pushState.bind(history);
- const replaceState = history.replaceState.bind(history);
- const onLocationChange = (type, state, newUrl, oldUrl) => () => {
- setTimeout((() => {
- worker.postMessage([ 13, {
- $winId$: $winId$,
- type: type,
- state: state,
- url: doc.baseURI,
- newUrl: newUrl,
- oldUrl: oldUrl
- } ]);
- }));
- };
- history.pushState = (state, _, newUrl) => {
- pushState(state, _, newUrl);
- onInitialised(onLocationChange(0, state, null == newUrl ? void 0 : newUrl.toString()));
- };
- history.replaceState = (state, _, newUrl) => {
- replaceState(state, _, newUrl);
- onInitialised(onLocationChange(1, state, null == newUrl ? void 0 : newUrl.toString()));
- };
- $window$.addEventListener("popstate", (event => {
- onInitialised(onLocationChange(2, event.state));
- }));
- $window$.addEventListener("hashchange", (event => {
- onInitialised(onLocationChange(3, {}, event.newURL, event.oldURL));
- }));
- $window$.addEventListener("ptupdate", (() => {
- readNextScript(worker, winCtxs[$winId$]);
- }));
- doc.addEventListener("visibilitychange", (() => worker.postMessage([ 14, $winId$, doc.visibilityState ])));
- winCtxs[$winId$] = {
- $winId$: $winId$,
- $window$: $window$
- };
- winCtxs[$winId$].$startTime$ = performance.now();
- {
- const winType = $winId$ === $parentWinId$ ? "top" : "iframe";
- logMain(`Registered ${winType} window ${normalizedWinId($winId$)}`);
- }
- "complete" === doc.readyState ? sendInitEnvData() : $window$.addEventListener("load", sendInitEnvData);
- }
- };
- const onMessageFromWebWorker = (worker, msg, winCtx) => {
- if (4 === msg[0]) {
- registerWindow(worker, randomId(), mainWindow);
- } else {
- winCtx = winCtxs[msg[1]];
- winCtx && (7 === msg[0] ? requestAnimationFrame((() => readNextScript(worker, winCtx))) : 6 === msg[0] && ((worker, winCtx, instanceId, errorMsg, scriptElm) => {
- scriptElm = winCtx.$window$.document.querySelector(`[data-ptid="${instanceId}"]`);
- if (scriptElm) {
- errorMsg ? scriptElm.dataset.pterror = errorMsg : scriptElm.type += "-x";
- delete scriptElm.dataset.ptid;
- }
- readNextScript(worker, winCtx);
- })(worker, winCtx, msg[2], msg[3]));
- }
- };
- const readMainPlatform = () => {
- const elm = docImpl.createElement("i");
- const textNode = docImpl.createTextNode("");
- const comment = docImpl.createComment("");
- const frag = docImpl.createDocumentFragment();
- const shadowRoot = docImpl.createElement("p").attachShadow({
- mode: "open"
- });
- const intersectionObserver = getGlobalConstructor(mainWindow, "IntersectionObserver");
- const mutationObserver = getGlobalConstructor(mainWindow, "MutationObserver");
- const resizeObserver = getGlobalConstructor(mainWindow, "ResizeObserver");
- const perf = mainWindow.performance;
- const screen = mainWindow.screen;
- const impls = [ [ mainWindow.history ], [ perf ], [ perf.navigation ], [ perf.timing ], [ screen ], [ screen.orientation ], [ mainWindow.visualViewport ], [ intersectionObserver, 12 ], [ mutationObserver, 12 ], [ resizeObserver, 12 ], [ textNode ], [ comment ], [ frag ], [ shadowRoot ], [ elm ], [ elm.attributes ], [ elm.classList ], [ elm.dataset ], [ elm.style ], [ docImpl ], [ docImpl.doctype ] ];
- const initialInterfaces = [ readImplementation("Window", mainWindow), readImplementation("Node", textNode) ];
- const $config$ = JSON.stringify(config, ((k, v) => {
- if ("function" == typeof v) {
- v = String(v);
- v.startsWith(k + "(") && (v = "function " + v);
- }
- return v;
- }));
- const initWebWorkerData = {
- $config$: $config$,
- $interfaces$: readImplementations(impls, initialInterfaces),
- $libPath$: new URL(libPath, mainWindow.location) + "",
- $origin$: origin,
- $localStorage$: readStorage("localStorage"),
- $sessionStorage$: readStorage("sessionStorage")
- };
- addGlobalConstructorUsingPrototype(initWebWorkerData.$interfaces$, mainWindow, "IntersectionObserverEntry");
- return initWebWorkerData;
- };
- const readMainInterfaces = () => {
- const elms = Object.getOwnPropertyNames(mainWindow).map((interfaceName => ((doc, interfaceName, r, tag) => {
- r = interfaceName.match(/^(HTML|SVG)(.+)Element$/);
- if (r) {
- tag = r[2];
- return "S" == interfaceName[0] ? doc.createElementNS("http://www.w3.org/2000/svg", svgConstructorTags[tag] || tag.slice(0, 2).toLowerCase() + tag.slice(2)) : doc.createElement(htmlConstructorTags[tag] || tag);
- }
- })(docImpl, interfaceName))).filter((elm => elm)).map((elm => [ elm ]));
- return readImplementations(elms, []);
- };
- const cstrs = new Set([ "Object" ]);
- const readImplementations = (impls, interfaces) => {
- const cstrImpls = impls.filter((implData => implData[0])).map((implData => {
- const impl = implData[0];
- const interfaceType = implData[1];
- const cstrName = getConstructorName(impl);
- const CstrPrototype = mainWindow[cstrName].prototype;
- return [ cstrName, CstrPrototype, impl, interfaceType ];
- }));
- cstrImpls.map((([cstrName, CstrPrototype, impl, intefaceType]) => readOwnImplementation(cstrs, interfaces, cstrName, CstrPrototype, impl, intefaceType)));
- return interfaces;
- };
- const readImplementation = (cstrName, impl, memberName) => {
- let interfaceMembers = [];
- let interfaceInfo = [ cstrName, "Object", interfaceMembers ];
- for (memberName in impl) {
- readImplementationMember(interfaceMembers, impl, memberName);
- }
- return interfaceInfo;
- };
- const readOwnImplementation = (cstrs, interfaces, cstrName, CstrPrototype, impl, interfaceType) => {
- if (!cstrs.has(cstrName)) {
- cstrs.add(cstrName);
- const SuperCstr = Object.getPrototypeOf(CstrPrototype);
- const superCstrName = getConstructorName(SuperCstr);
- const interfaceMembers = [];
- const propDescriptors = Object.getOwnPropertyDescriptors(CstrPrototype);
- readOwnImplementation(cstrs, interfaces, superCstrName, SuperCstr, impl, interfaceType);
- for (const memberName in propDescriptors) {
- readImplementationMember(interfaceMembers, impl, memberName);
- }
- interfaces.push([ cstrName, superCstrName, interfaceMembers, interfaceType, getNodeName(impl) ]);
- }
- };
- const readImplementationMember = (interfaceMembers, implementation, memberName, value, memberType, cstrName) => {
- try {
- if (isValidMemberName(memberName) && isNaN(memberName[0]) && "all" !== memberName) {
- value = implementation[memberName];
- memberType = typeof value;
- if ("function" === memberType) {
- (String(value).includes("[native") || Object.getPrototypeOf(implementation)[memberName]) && interfaceMembers.push([ memberName, 5 ]);
- } else if ("object" === memberType && null != value) {
- cstrName = getConstructorName(value);
- "Object" !== cstrName && self[cstrName] && interfaceMembers.push([ memberName, value.nodeType || cstrName ]);
- } else {
- "symbol" !== memberType && (memberName.toUpperCase() === memberName ? interfaceMembers.push([ memberName, 6, value ]) : interfaceMembers.push([ memberName, 6 ]));
- }
- }
- } catch (e) {
- console.warn(e);
- }
- };
- const readStorage = storageName => {
- let items = [];
- let i = 0;
- let l = len(mainWindow[storageName]);
- let key;
- for (;i < l; i++) {
- key = mainWindow[storageName].key(i);
- items.push([ key, mainWindow[storageName].getItem(key) ]);
- }
- return items;
- };
- const getGlobalConstructor = (mainWindow, cstrName) => void 0 !== mainWindow[cstrName] ? new mainWindow[cstrName](noop) : 0;
- const addGlobalConstructorUsingPrototype = ($interfaces$, mainWindow, cstrName) => {
- void 0 !== mainWindow[cstrName] && $interfaces$.push([ cstrName, "Object", Object.keys(mainWindow[cstrName].prototype).map((propName => [ propName, 6 ])), 12 ]);
- };
- let worker;
- (receiveMessage => {
- const swContainer = window.navigator.serviceWorker;
- return swContainer.getRegistration().then((swRegistration => {
- swContainer.addEventListener("message", (ev => receiveMessage(ev.data, (accessRsp => swRegistration.active && swRegistration.active.postMessage(accessRsp)))));
- return (worker, msg) => {
- 0 === msg[0] ? worker.postMessage([ 1, readMainPlatform() ]) : 2 === msg[0] ? worker.postMessage([ 3, readMainInterfaces() ]) : onMessageFromWebWorker(worker, msg);
- };
- }));
- })(((accessReq, responseCallback) => mainAccessHandler(worker, accessReq).then(responseCallback))).then((onMessageHandler => {
- if (onMessageHandler) {
- worker = new Worker(libPath + "partytown-ww-sw.js?v=0.8.0", {
- name: "Partytown 🎉"
- });
- worker.onmessage = ev => {
- const msg = ev.data;
- 12 === msg[0] ? mainAccessHandler(worker, msg[1]) : onMessageHandler(worker, msg);
- };
- logMain("Created Partytown web worker (0.8.0)");
- worker.onerror = ev => console.error("Web Worker Error", ev);
- mainWindow.addEventListener("pt1", (ev => registerWindow(worker, getAndSetInstanceId(ev.detail.frameElement), ev.detail)));
- }
- }));
-})(window);
diff --git a/static/~partytown/debug/partytown-sw.js b/static/~partytown/debug/partytown-sw.js
deleted file mode 100644
index 38101ad..0000000
--- a/static/~partytown/debug/partytown-sw.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Partytown 0.8.0 - MIT builder.io */
-const resolves = new Map;
-
-const swMessageError = (accessReq, $error$) => ({
- $msgId$: accessReq.$msgId$,
- $error$: $error$
-});
-
-const httpRequestFromWebWorker = req => new Promise((async resolve => {
- const accessReq = await req.clone().json();
- const responseData = await (accessReq => new Promise((async resolve => {
- const clients = await self.clients.matchAll();
- const client = [ ...clients ].sort(((a, b) => a.url > b.url ? -1 : a.url < b.url ? 1 : 0))[0];
- if (client) {
- const timeout = 12e4;
- const msgResolve = [ resolve, setTimeout((() => {
- resolves.delete(accessReq.$msgId$);
- resolve(swMessageError(accessReq, "Timeout"));
- }), timeout) ];
- resolves.set(accessReq.$msgId$, msgResolve);
- client.postMessage(accessReq);
- } else {
- resolve(swMessageError(accessReq, "NoParty"));
- }
- })))(accessReq);
- resolve(response(JSON.stringify(responseData), "application/json"));
-}));
-
-const response = (body, contentType) => new Response(body, {
- headers: {
- "content-type": contentType || "text/html",
- "Cache-Control": "no-store"
- }
-});
-
-self.oninstall = () => self.skipWaiting();
-
-self.onactivate = () => self.clients.claim();
-
-self.onmessage = ev => {
- const accessRsp = ev.data;
- const r = resolves.get(accessRsp.$msgId$);
- if (r) {
- resolves.delete(accessRsp.$msgId$);
- clearTimeout(r[1]);
- r[0](accessRsp);
- }
-};
-
-self.onfetch = ev => {
- const req = ev.request;
- const url = new URL(req.url);
- const pathname = url.pathname;
- if (pathname.endsWith("sw.html")) {
- ev.respondWith(response('