From f4e8847ae508192952ba4a1d50d0abbddb631c8c Mon Sep 17 00:00:00 2001 From: lonelyhentxi Date: Thu, 27 Mar 2025 21:36:33 +0800 Subject: [PATCH] build: prepare --- apps/angular-app/.editorconfig | 16 - apps/angular-app/.gitignore | 42 - apps/angular-app/.vscode/extensions.json | 4 - apps/angular-app/.vscode/launch.json | 20 - apps/angular-app/.vscode/tasks.json | 42 - apps/angular-app/README.md | 27 - apps/angular-app/angular.json | 95 - apps/angular-app/package.json | 40 - apps/angular-app/src/app/app.component.html | 111 - .../angular-app/src/app/app.component.spec.ts | 29 - apps/angular-app/src/app/app.component.ts | 49 - apps/angular-app/src/app/app.config.ts | 8 - apps/angular-app/src/app/app.routes.ts | 3 - apps/angular-app/src/assets/.gitkeep | 0 apps/angular-app/src/favicon.ico | Bin 15086 -> 0 bytes apps/angular-app/src/index.html | 13 - apps/angular-app/src/main.ts | 6 - apps/angular-app/src/styles.css | 1 - apps/angular-app/tsconfig.app.json | 14 - apps/angular-app/tsconfig.json | 33 - apps/angular-app/tsconfig.spec.json | 14 - apps/nextjs-app/.eslintrc.json | 3 - apps/nextjs-app/.gitignore | 35 - apps/nextjs-app/README.md | 34 - apps/nextjs-app/app/Home.tsx | 86 - apps/nextjs-app/app/NoSSRWrapper.tsx | 8 - apps/nextjs-app/app/favicon.ico | Bin 25931 -> 0 bytes apps/nextjs-app/app/globals.css | 4 - apps/nextjs-app/app/layout.tsx | 22 - apps/nextjs-app/app/page.tsx | 8 - apps/nextjs-app/next.config.js | 4 - apps/nextjs-app/package.json | 27 - apps/nextjs-app/postcss.config.js | 6 - apps/nextjs-app/public/next.svg | 1 - apps/nextjs-app/public/vercel.svg | 1 - apps/nextjs-app/tailwind.config.ts | 20 - apps/nextjs-app/tsconfig.json | 28 - apps/react-vite-app/.eslintrc.cjs | 18 - apps/react-vite-app/.gitignore | 24 - apps/react-vite-app/README.md | 27 - apps/react-vite-app/index.html | 13 - apps/react-vite-app/package.json | 30 - apps/react-vite-app/public/vite.svg | 1 - apps/react-vite-app/src/App.tsx | 60 - apps/react-vite-app/src/index.css | 70 - apps/react-vite-app/src/main.tsx | 10 - apps/react-vite-app/src/vite-env.d.ts | 1 - apps/react-vite-app/tsconfig.json | 25 - apps/react-vite-app/tsconfig.node.json | 10 - apps/react-vite-app/vite.config.ts | 16 - apps/solidstart-app/.gitignore | 28 - apps/solidstart-app/README.md | 32 - apps/solidstart-app/app.config.ts | 13 - apps/solidstart-app/package-lock.json | 8251 ----------------- apps/solidstart-app/package.json | 23 - apps/solidstart-app/postcss.config.cjs | 6 - apps/solidstart-app/public/favicon.ico | Bin 664 -> 0 bytes apps/solidstart-app/src/app.css | 20 - apps/solidstart-app/src/app.tsx | 17 - apps/solidstart-app/src/entry-client.tsx | 4 - apps/solidstart-app/src/entry-server.tsx | 25 - apps/solidstart-app/src/global.d.ts | 1 - apps/solidstart-app/src/routes/index.tsx | 87 - apps/solidstart-app/tailwind.config.cjs | 8 - apps/solidstart-app/tsconfig.json | 19 - apps/sveltekit-app/.eslintignore | 13 - apps/sveltekit-app/.eslintrc.cjs | 31 - apps/sveltekit-app/.gitignore | 10 - apps/sveltekit-app/.npmrc | 1 - apps/sveltekit-app/.prettierignore | 4 - apps/sveltekit-app/.prettierrc | 8 - apps/sveltekit-app/README.md | 38 - apps/sveltekit-app/package.json | 41 - apps/sveltekit-app/playwright.config.ts | 12 - apps/sveltekit-app/src/app.d.ts | 13 - apps/sveltekit-app/src/app.html | 12 - apps/sveltekit-app/src/index.test.ts | 7 - apps/sveltekit-app/src/lib/FFmpegDemo.svelte | 44 - apps/sveltekit-app/src/lib/index.ts | 1 - apps/sveltekit-app/src/routes/+page.svelte | 7 - apps/sveltekit-app/static/favicon.png | Bin 1571 -> 0 bytes apps/sveltekit-app/svelte.config.js | 18 - apps/sveltekit-app/tests/test.ts | 6 - apps/sveltekit-app/tsconfig.json | 18 - apps/sveltekit-app/vite.config.ts | 42 - apps/test/package.json | 17 + .../src/init-test.ts} | 0 apps/test/tsconfig.json | 30 + apps/test/vitest.config.ts | 33 + apps/vanilla-app/.gitignore | 2 - apps/vanilla-app/README.md | 29 - apps/vanilla-app/package.json | 18 - apps/vanilla-app/public/concatDemuxer.html | 54 - apps/vanilla-app/public/style.css | 10 - apps/vanilla-app/public/transcode-mt.esm.html | 43 - apps/vanilla-app/public/transcode-mt.html | 47 - apps/vanilla-app/public/transcode.esm.html | 43 - apps/vanilla-app/public/transcode.html | 47 - apps/vanilla-app/public/trim.html | 45 - apps/vanilla-app/server.js | 27 - apps/vue-vite-app/.eslintrc.cjs | 15 - apps/vue-vite-app/.gitignore | 28 - apps/vue-vite-app/.prettierrc.json | 8 - apps/vue-vite-app/.vscode/extensions.json | 3 - apps/vue-vite-app/README.md | 46 - apps/vue-vite-app/env.d.ts | 1 - apps/vue-vite-app/index.html | 13 - apps/vue-vite-app/package.json | 36 - apps/vue-vite-app/public/favicon.ico | Bin 4286 -> 0 bytes apps/vue-vite-app/src/App.vue | 9 - apps/vue-vite-app/src/assets/base.css | 86 - apps/vue-vite-app/src/assets/main.css | 35 - .../src/components/FFmpegDemo.vue | 61 - apps/vue-vite-app/src/main.ts | 6 - apps/vue-vite-app/tsconfig.app.json | 14 - apps/vue-vite-app/tsconfig.json | 11 - apps/vue-vite-app/tsconfig.node.json | 16 - apps/vue-vite-app/vite.config.ts | 24 - apps/website/.gitignore | 21 - apps/website/README.md | 44 - apps/website/assets/angular.xcf | Bin 9607 -> 0 bytes apps/website/assets/background.xcf | Bin 1575 -> 0 bytes apps/website/assets/ffmpegwasm-arch.drawio | 80 - apps/website/assets/nextjs.xcf | Bin 4390 -> 0 bytes apps/website/assets/react-vite.xcf | Bin 43845 -> 0 bytes apps/website/assets/solidstart-vite.xcf | Bin 23225 -> 0 bytes apps/website/assets/sveltekit-vite.xcf | Bin 54785 -> 0 bytes apps/website/assets/vanilla.xcf | Bin 6351 -> 0 bytes apps/website/assets/vue-vite.xcf | Bin 42006 -> 0 bytes apps/website/babel.config.js | 3 - .../2023-07-26-release-ffmpeg.wasm-0.12.0.mdx | 55 - apps/website/blog/authors.yml | 5 - apps/website/deploy.sh | 4 - apps/website/docs/contribution/core.md | 36 - apps/website/docs/contribution/ffmpeg.md | 27 - apps/website/docs/contribution/util.md | 27 - apps/website/docs/faq.md | 55 - apps/website/docs/getting-started/examples.md | 73 - .../docs/getting-started/installation.md | 35 - apps/website/docs/getting-started/usage.md | 444 - apps/website/docs/migration.md | 51 - apps/website/docs/overview.md | 122 - apps/website/docs/performance.md | 35 - apps/website/docs/privacy-policy.md | 168 - apps/website/docusaurus.config.js | 178 - apps/website/netlify.toml | 5 - apps/website/package.json | 63 - apps/website/sidebars.js | 52 - .../components/ExternalLibraries/index.tsx | 104 - .../ExternalLibraries/styles.module.css | 17 - .../src/components/HomepageFeatures/index.tsx | 72 - .../HomepageFeatures/styles.module.css | 11 - .../components/Playground/CoreDownloader.tsx | 16 - .../components/Playground/CoreSwitcher.tsx | 34 - .../Playground/Workspace/Editor.tsx | 121 - .../Workspace/FileSystemManager.tsx | 245 - .../Playground/Workspace/MoreButton.tsx | 69 - .../components/Playground/Workspace/index.tsx | 184 - .../components/Playground/Workspace/types.tsx | 4 - .../src/components/Playground/const.ts | 17 - .../src/components/Playground/index.tsx | 88 - .../src/components/common/ExampleCard.tsx | 39 - .../common/LinearProgressWithLabel.tsx | 23 - .../common/MuiThemeProvider/index.tsx | 20 - .../components/common/ThemedButton/index.tsx | 11 - .../common/ThemedIconButton/index.tsx | 11 - apps/website/src/css/custom.css | 30 - apps/website/src/pages/index.module.css | 23 - apps/website/src/pages/index.tsx | 45 - apps/website/src/pages/playground.md | 122 - .../website/src/theme/ReactLiveScope/index.js | 13 - apps/website/src/util.ts | 9 - apps/website/static/.nojekyll | 0 apps/website/static/ads.txt | 1 - apps/website/static/asset/arial.ttf | Bin 367112 -> 0 bytes apps/website/static/img/angular.png | Bin 4886 -> 0 bytes apps/website/static/img/favicon.ico | Bin 15406 -> 0 bytes apps/website/static/img/ffmpegwasm-arch.png | Bin 79474 -> 0 bytes apps/website/static/img/jeromewu.png | Bin 243158 -> 0 bytes apps/website/static/img/libs/freetype.png | Bin 6978 -> 0 bytes apps/website/static/img/libs/lame.gif | Bin 3336 -> 0 bytes apps/website/static/img/libs/libvpx.png | Bin 16683 -> 0 bytes apps/website/static/img/libs/opus.png | Bin 8104 -> 0 bytes apps/website/static/img/libs/theora.png | Bin 12091 -> 0 bytes apps/website/static/img/libs/vorbis.png | Bin 6139 -> 0 bytes apps/website/static/img/libs/webp.png | Bin 4373 -> 0 bytes apps/website/static/img/libs/x264.png | Bin 9514 -> 0 bytes apps/website/static/img/libs/x265.webp | Bin 6160 -> 0 bytes apps/website/static/img/logo192.png | Bin 3523 -> 0 bytes apps/website/static/img/nextjs.png | Bin 3152 -> 0 bytes apps/website/static/img/react-vite.png | Bin 22408 -> 0 bytes apps/website/static/img/safety-icon.svg | 5 - apps/website/static/img/solidstart-vite.png | Bin 23690 -> 0 bytes apps/website/static/img/sveltekit-vite.png | Bin 22666 -> 0 bytes apps/website/static/img/ts-logo-round-512.svg | 1 - apps/website/static/img/vanilla.png | Bin 3896 -> 0 bytes apps/website/static/img/vue-vite.png | Bin 19113 -> 0 bytes apps/website/static/img/wasm-logo.svg | 1 - apps/website/tsconfig.json | 7 - tsconfig.base.json | 31 + tsconfig.json | 117 +- tsconfig.scripts.json | 13 + 202 files changed, 137 insertions(+), 13826 deletions(-) delete mode 100644 apps/angular-app/.editorconfig delete mode 100644 apps/angular-app/.gitignore delete mode 100644 apps/angular-app/.vscode/extensions.json delete mode 100644 apps/angular-app/.vscode/launch.json delete mode 100644 apps/angular-app/.vscode/tasks.json delete mode 100644 apps/angular-app/README.md delete mode 100644 apps/angular-app/angular.json delete mode 100644 apps/angular-app/package.json delete mode 100644 apps/angular-app/src/app/app.component.html delete mode 100644 apps/angular-app/src/app/app.component.spec.ts delete mode 100644 apps/angular-app/src/app/app.component.ts delete mode 100644 apps/angular-app/src/app/app.config.ts delete mode 100644 apps/angular-app/src/app/app.routes.ts delete mode 100644 apps/angular-app/src/assets/.gitkeep delete mode 100644 apps/angular-app/src/favicon.ico delete mode 100644 apps/angular-app/src/index.html delete mode 100644 apps/angular-app/src/main.ts delete mode 100644 apps/angular-app/src/styles.css delete mode 100644 apps/angular-app/tsconfig.app.json delete mode 100644 apps/angular-app/tsconfig.json delete mode 100644 apps/angular-app/tsconfig.spec.json delete mode 100644 apps/nextjs-app/.eslintrc.json delete mode 100644 apps/nextjs-app/.gitignore delete mode 100644 apps/nextjs-app/README.md delete mode 100644 apps/nextjs-app/app/Home.tsx delete mode 100644 apps/nextjs-app/app/NoSSRWrapper.tsx delete mode 100644 apps/nextjs-app/app/favicon.ico delete mode 100644 apps/nextjs-app/app/globals.css delete mode 100644 apps/nextjs-app/app/layout.tsx delete mode 100644 apps/nextjs-app/app/page.tsx delete mode 100644 apps/nextjs-app/next.config.js delete mode 100644 apps/nextjs-app/package.json delete mode 100644 apps/nextjs-app/postcss.config.js delete mode 100644 apps/nextjs-app/public/next.svg delete mode 100644 apps/nextjs-app/public/vercel.svg delete mode 100644 apps/nextjs-app/tailwind.config.ts delete mode 100644 apps/nextjs-app/tsconfig.json delete mode 100644 apps/react-vite-app/.eslintrc.cjs delete mode 100644 apps/react-vite-app/.gitignore delete mode 100644 apps/react-vite-app/README.md delete mode 100644 apps/react-vite-app/index.html delete mode 100644 apps/react-vite-app/package.json delete mode 100644 apps/react-vite-app/public/vite.svg delete mode 100644 apps/react-vite-app/src/App.tsx delete mode 100644 apps/react-vite-app/src/index.css delete mode 100644 apps/react-vite-app/src/main.tsx delete mode 100644 apps/react-vite-app/src/vite-env.d.ts delete mode 100644 apps/react-vite-app/tsconfig.json delete mode 100644 apps/react-vite-app/tsconfig.node.json delete mode 100644 apps/react-vite-app/vite.config.ts delete mode 100644 apps/solidstart-app/.gitignore delete mode 100644 apps/solidstart-app/README.md delete mode 100644 apps/solidstart-app/app.config.ts delete mode 100644 apps/solidstart-app/package-lock.json delete mode 100644 apps/solidstart-app/package.json delete mode 100644 apps/solidstart-app/postcss.config.cjs delete mode 100644 apps/solidstart-app/public/favicon.ico delete mode 100644 apps/solidstart-app/src/app.css delete mode 100644 apps/solidstart-app/src/app.tsx delete mode 100644 apps/solidstart-app/src/entry-client.tsx delete mode 100644 apps/solidstart-app/src/entry-server.tsx delete mode 100644 apps/solidstart-app/src/global.d.ts delete mode 100644 apps/solidstart-app/src/routes/index.tsx delete mode 100644 apps/solidstart-app/tailwind.config.cjs delete mode 100644 apps/solidstart-app/tsconfig.json delete mode 100644 apps/sveltekit-app/.eslintignore delete mode 100644 apps/sveltekit-app/.eslintrc.cjs delete mode 100644 apps/sveltekit-app/.gitignore delete mode 100644 apps/sveltekit-app/.npmrc delete mode 100644 apps/sveltekit-app/.prettierignore delete mode 100644 apps/sveltekit-app/.prettierrc delete mode 100644 apps/sveltekit-app/README.md delete mode 100644 apps/sveltekit-app/package.json delete mode 100644 apps/sveltekit-app/playwright.config.ts delete mode 100644 apps/sveltekit-app/src/app.d.ts delete mode 100644 apps/sveltekit-app/src/app.html delete mode 100644 apps/sveltekit-app/src/index.test.ts delete mode 100644 apps/sveltekit-app/src/lib/FFmpegDemo.svelte delete mode 100644 apps/sveltekit-app/src/lib/index.ts delete mode 100644 apps/sveltekit-app/src/routes/+page.svelte delete mode 100644 apps/sveltekit-app/static/favicon.png delete mode 100644 apps/sveltekit-app/svelte.config.js delete mode 100644 apps/sveltekit-app/tests/test.ts delete mode 100644 apps/sveltekit-app/tsconfig.json delete mode 100644 apps/sveltekit-app/vite.config.ts create mode 100644 apps/test/package.json rename apps/{angular-app/src/app/app.component.css => test/src/init-test.ts} (100%) create mode 100644 apps/test/tsconfig.json create mode 100644 apps/test/vitest.config.ts delete mode 100644 apps/vanilla-app/.gitignore delete mode 100644 apps/vanilla-app/README.md delete mode 100644 apps/vanilla-app/package.json delete mode 100644 apps/vanilla-app/public/concatDemuxer.html delete mode 100644 apps/vanilla-app/public/style.css delete mode 100644 apps/vanilla-app/public/transcode-mt.esm.html delete mode 100644 apps/vanilla-app/public/transcode-mt.html delete mode 100644 apps/vanilla-app/public/transcode.esm.html delete mode 100644 apps/vanilla-app/public/transcode.html delete mode 100644 apps/vanilla-app/public/trim.html delete mode 100644 apps/vanilla-app/server.js delete mode 100644 apps/vue-vite-app/.eslintrc.cjs delete mode 100644 apps/vue-vite-app/.gitignore delete mode 100644 apps/vue-vite-app/.prettierrc.json delete mode 100644 apps/vue-vite-app/.vscode/extensions.json delete mode 100644 apps/vue-vite-app/README.md delete mode 100644 apps/vue-vite-app/env.d.ts delete mode 100644 apps/vue-vite-app/index.html delete mode 100644 apps/vue-vite-app/package.json delete mode 100644 apps/vue-vite-app/public/favicon.ico delete mode 100644 apps/vue-vite-app/src/App.vue delete mode 100644 apps/vue-vite-app/src/assets/base.css delete mode 100644 apps/vue-vite-app/src/assets/main.css delete mode 100644 apps/vue-vite-app/src/components/FFmpegDemo.vue delete mode 100644 apps/vue-vite-app/src/main.ts delete mode 100644 apps/vue-vite-app/tsconfig.app.json delete mode 100644 apps/vue-vite-app/tsconfig.json delete mode 100644 apps/vue-vite-app/tsconfig.node.json delete mode 100644 apps/vue-vite-app/vite.config.ts delete mode 100644 apps/website/.gitignore delete mode 100644 apps/website/README.md delete mode 100644 apps/website/assets/angular.xcf delete mode 100644 apps/website/assets/background.xcf delete mode 100644 apps/website/assets/ffmpegwasm-arch.drawio delete mode 100644 apps/website/assets/nextjs.xcf delete mode 100644 apps/website/assets/react-vite.xcf delete mode 100644 apps/website/assets/solidstart-vite.xcf delete mode 100644 apps/website/assets/sveltekit-vite.xcf delete mode 100644 apps/website/assets/vanilla.xcf delete mode 100644 apps/website/assets/vue-vite.xcf delete mode 100644 apps/website/babel.config.js delete mode 100644 apps/website/blog/2023-07-26-release-ffmpeg.wasm-0.12.0.mdx delete mode 100644 apps/website/blog/authors.yml delete mode 100644 apps/website/deploy.sh delete mode 100644 apps/website/docs/contribution/core.md delete mode 100644 apps/website/docs/contribution/ffmpeg.md delete mode 100644 apps/website/docs/contribution/util.md delete mode 100644 apps/website/docs/faq.md delete mode 100644 apps/website/docs/getting-started/examples.md delete mode 100644 apps/website/docs/getting-started/installation.md delete mode 100644 apps/website/docs/getting-started/usage.md delete mode 100644 apps/website/docs/migration.md delete mode 100644 apps/website/docs/overview.md delete mode 100644 apps/website/docs/performance.md delete mode 100644 apps/website/docs/privacy-policy.md delete mode 100644 apps/website/docusaurus.config.js delete mode 100644 apps/website/netlify.toml delete mode 100644 apps/website/package.json delete mode 100644 apps/website/sidebars.js delete mode 100644 apps/website/src/components/ExternalLibraries/index.tsx delete mode 100644 apps/website/src/components/ExternalLibraries/styles.module.css delete mode 100644 apps/website/src/components/HomepageFeatures/index.tsx delete mode 100644 apps/website/src/components/HomepageFeatures/styles.module.css delete mode 100644 apps/website/src/components/Playground/CoreDownloader.tsx delete mode 100644 apps/website/src/components/Playground/CoreSwitcher.tsx delete mode 100644 apps/website/src/components/Playground/Workspace/Editor.tsx delete mode 100644 apps/website/src/components/Playground/Workspace/FileSystemManager.tsx delete mode 100644 apps/website/src/components/Playground/Workspace/MoreButton.tsx delete mode 100644 apps/website/src/components/Playground/Workspace/index.tsx delete mode 100644 apps/website/src/components/Playground/Workspace/types.tsx delete mode 100644 apps/website/src/components/Playground/const.ts delete mode 100644 apps/website/src/components/Playground/index.tsx delete mode 100644 apps/website/src/components/common/ExampleCard.tsx delete mode 100644 apps/website/src/components/common/LinearProgressWithLabel.tsx delete mode 100644 apps/website/src/components/common/MuiThemeProvider/index.tsx delete mode 100644 apps/website/src/components/common/ThemedButton/index.tsx delete mode 100644 apps/website/src/components/common/ThemedIconButton/index.tsx delete mode 100644 apps/website/src/css/custom.css delete mode 100644 apps/website/src/pages/index.module.css delete mode 100644 apps/website/src/pages/index.tsx delete mode 100644 apps/website/src/pages/playground.md delete mode 100644 apps/website/src/theme/ReactLiveScope/index.js delete mode 100644 apps/website/src/util.ts delete mode 100644 apps/website/static/.nojekyll delete mode 100644 apps/website/static/ads.txt delete mode 100755 apps/website/static/asset/arial.ttf delete mode 100644 apps/website/static/img/angular.png delete mode 100644 apps/website/static/img/favicon.ico delete mode 100644 apps/website/static/img/ffmpegwasm-arch.png delete mode 100644 apps/website/static/img/jeromewu.png delete mode 100644 apps/website/static/img/libs/freetype.png delete mode 100644 apps/website/static/img/libs/lame.gif delete mode 100644 apps/website/static/img/libs/libvpx.png delete mode 100644 apps/website/static/img/libs/opus.png delete mode 100644 apps/website/static/img/libs/theora.png delete mode 100644 apps/website/static/img/libs/vorbis.png delete mode 100644 apps/website/static/img/libs/webp.png delete mode 100644 apps/website/static/img/libs/x264.png delete mode 100644 apps/website/static/img/libs/x265.webp delete mode 100644 apps/website/static/img/logo192.png delete mode 100644 apps/website/static/img/nextjs.png delete mode 100644 apps/website/static/img/react-vite.png delete mode 100755 apps/website/static/img/safety-icon.svg delete mode 100644 apps/website/static/img/solidstart-vite.png delete mode 100644 apps/website/static/img/sveltekit-vite.png delete mode 100755 apps/website/static/img/ts-logo-round-512.svg delete mode 100644 apps/website/static/img/vanilla.png delete mode 100644 apps/website/static/img/vue-vite.png delete mode 100755 apps/website/static/img/wasm-logo.svg delete mode 100644 apps/website/tsconfig.json create mode 100644 tsconfig.base.json create mode 100644 tsconfig.scripts.json diff --git a/apps/angular-app/.editorconfig b/apps/angular-app/.editorconfig deleted file mode 100644 index 59d9a3a..0000000 --- a/apps/angular-app/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/apps/angular-app/.gitignore b/apps/angular-app/.gitignore deleted file mode 100644 index 0711527..0000000 --- a/apps/angular-app/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# Compiled output -/dist -/tmp -/out-tsc -/bazel-out - -# Node -/node_modules -npm-debug.log -yarn-error.log - -# IDEs and editors -.idea/ -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# Visual Studio Code -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history/* - -# Miscellaneous -/.angular/cache -.sass-cache/ -/connect.lock -/coverage -/libpeerconnection.log -testem.log -/typings - -# System files -.DS_Store -Thumbs.db diff --git a/apps/angular-app/.vscode/extensions.json b/apps/angular-app/.vscode/extensions.json deleted file mode 100644 index 77b3745..0000000 --- a/apps/angular-app/.vscode/extensions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] -} diff --git a/apps/angular-app/.vscode/launch.json b/apps/angular-app/.vscode/launch.json deleted file mode 100644 index 925af83..0000000 --- a/apps/angular-app/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "ng serve", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" - }, - { - "name": "ng test", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" - } - ] -} diff --git a/apps/angular-app/.vscode/tasks.json b/apps/angular-app/.vscode/tasks.json deleted file mode 100644 index a298b5b..0000000 --- a/apps/angular-app/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - } - ] -} diff --git a/apps/angular-app/README.md b/apps/angular-app/README.md deleted file mode 100644 index 8e98836..0000000 --- a/apps/angular-app/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# AngularApp - -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.7. - -## Development server - -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. - -## Code scaffolding - -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. - -## Build - -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. - -## Running unit tests - -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). - -## Running end-to-end tests - -Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. - -## Further help - -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/apps/angular-app/angular.json b/apps/angular-app/angular.json deleted file mode 100644 index f06dcbf..0000000 --- a/apps/angular-app/angular.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "angular-app": { - "projectType": "application", - "schematics": {}, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:application", - "options": { - "outputPath": "dist/angular-app", - "index": "src/index.html", - "browser": "src/main.ts", - "polyfills": [ - "zone.js" - ], - "tsConfig": "tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "500kb", - "maximumError": "1mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kb", - "maximumError": "4kb" - } - ], - "outputHashing": "all" - }, - "development": { - "optimization": false, - "extractLicenses": false, - "sourceMap": true - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "configurations": { - "production": { - "buildTarget": "angular-app:build:production" - }, - "development": { - "buildTarget": "angular-app:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "buildTarget": "angular-app:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], - "tsConfig": "tsconfig.spec.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - } - } - } - } - } -} diff --git a/apps/angular-app/package.json b/apps/angular-app/package.json deleted file mode 100644 index 7517b66..0000000 --- a/apps/angular-app/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "angular-app", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "dependencies": { - "@angular/animations": "^17.0.0", - "@angular/common": "^17.0.0", - "@angular/compiler": "^17.0.0", - "@angular/core": "^17.0.0", - "@angular/forms": "^17.0.0", - "@angular/platform-browser": "^17.0.0", - "@angular/platform-browser-dynamic": "^17.0.0", - "@angular/router": "^17.0.0", - "@ffmpeg/ffmpeg": "*", - "@ffmpeg/util": "*", - "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.14.2" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^17.0.7", - "@angular/cli": "^17.0.7", - "@angular/compiler-cli": "^17.0.0", - "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.1.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.2.2" - } -} diff --git a/apps/angular-app/src/app/app.component.html b/apps/angular-app/src/app/app.component.html deleted file mode 100644 index d717435..0000000 --- a/apps/angular-app/src/app/app.component.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - -
-
- -
- -

{{ message }}

-
-
- -
-
- - - - - - - - - - - diff --git a/apps/angular-app/src/app/app.component.spec.ts b/apps/angular-app/src/app/app.component.spec.ts deleted file mode 100644 index 39be0d9..0000000 --- a/apps/angular-app/src/app/app.component.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [AppComponent], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have the 'angular-app' title`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('angular-app'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Hello, angular-app'); - }); -}); diff --git a/apps/angular-app/src/app/app.component.ts b/apps/angular-app/src/app/app.component.ts deleted file mode 100644 index f27144e..0000000 --- a/apps/angular-app/src/app/app.component.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Component } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { RouterOutlet } from '@angular/router'; -import { FFmpeg } from '@ffmpeg/ffmpeg'; -import { fetchFile, toBlobURL } from '@ffmpeg/util'; - -const baseURL = 'https://unpkg.com/@ffmpeg/core-mt@0.12.10/dist/esm'; - -@Component({ - selector: 'app-root', - standalone: true, - imports: [CommonModule, RouterOutlet], - templateUrl: './app.component.html', - styleUrl: './app.component.css', -}) -export class AppComponent { - loaded = false; - ffmpeg = new FFmpeg(); - videoURL = ''; - message = ''; - async load() { - this.ffmpeg.on('log', ({ message }) => { - this.message = message; - }); - await this.ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL( - `${baseURL}/ffmpeg-core.wasm`, - 'application/wasm', - ), - workerURL: await toBlobURL( - `${baseURL}/ffmpeg-core.worker.js`, - 'text/javascript', - ), - }); - this.loaded = true; - } - async transcode() { - const videoURL = - 'https://raw.githubusercontent.com/ffmpegwasm/testdata/master/video-15s.avi'; - await this.ffmpeg.writeFile('input.avi', await fetchFile(videoURL)); - await this.ffmpeg.exec(['-i', 'input.avi', 'output.mp4']); - const fileData = await this.ffmpeg.readFile('output.mp4'); - const data = new Uint8Array(fileData as ArrayBuffer); - this.videoURL = URL.createObjectURL( - new Blob([data.buffer], { type: 'video/mp4' }), - ); - } -} diff --git a/apps/angular-app/src/app/app.config.ts b/apps/angular-app/src/app/app.config.ts deleted file mode 100644 index 6c6ef60..0000000 --- a/apps/angular-app/src/app/app.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ApplicationConfig } from '@angular/core'; -import { provideRouter } from '@angular/router'; - -import { routes } from './app.routes'; - -export const appConfig: ApplicationConfig = { - providers: [provideRouter(routes)] -}; diff --git a/apps/angular-app/src/app/app.routes.ts b/apps/angular-app/src/app/app.routes.ts deleted file mode 100644 index dc39edb..0000000 --- a/apps/angular-app/src/app/app.routes.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Routes } from '@angular/router'; - -export const routes: Routes = []; diff --git a/apps/angular-app/src/assets/.gitkeep b/apps/angular-app/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/apps/angular-app/src/favicon.ico b/apps/angular-app/src/favicon.ico deleted file mode 100644 index 57614f9c967596fad0a3989bec2b1deff33034f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( diff --git a/apps/angular-app/src/index.html b/apps/angular-app/src/index.html deleted file mode 100644 index 6b3598c..0000000 --- a/apps/angular-app/src/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - AngularApp - - - - - - - - diff --git a/apps/angular-app/src/main.ts b/apps/angular-app/src/main.ts deleted file mode 100644 index 35b00f3..0000000 --- a/apps/angular-app/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { bootstrapApplication } from '@angular/platform-browser'; -import { appConfig } from './app/app.config'; -import { AppComponent } from './app/app.component'; - -bootstrapApplication(AppComponent, appConfig) - .catch((err) => console.error(err)); diff --git a/apps/angular-app/src/styles.css b/apps/angular-app/src/styles.css deleted file mode 100644 index 90d4ee0..0000000 --- a/apps/angular-app/src/styles.css +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/apps/angular-app/tsconfig.app.json b/apps/angular-app/tsconfig.app.json deleted file mode 100644 index 374cc9d..0000000 --- a/apps/angular-app/tsconfig.app.json +++ /dev/null @@ -1,14 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": [ - "src/main.ts" - ], - "include": [ - "src/**/*.d.ts" - ] -} diff --git a/apps/angular-app/tsconfig.json b/apps/angular-app/tsconfig.json deleted file mode 100644 index f37b67f..0000000 --- a/apps/angular-app/tsconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "compileOnSave": false, - "compilerOptions": { - "outDir": "./dist/out-tsc", - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitOverride": true, - "noPropertyAccessFromIndexSignature": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "skipLibCheck": true, - "esModuleInterop": true, - "sourceMap": true, - "declaration": false, - "experimentalDecorators": true, - "moduleResolution": "node", - "importHelpers": true, - "target": "ES2022", - "module": "ES2022", - "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] - }, - "angularCompilerOptions": { - "enableI18nLegacyMessageIdFormat": false, - "strictInjectionParameters": true, - "strictInputAccessModifiers": true, - "strictTemplates": true - } -} diff --git a/apps/angular-app/tsconfig.spec.json b/apps/angular-app/tsconfig.spec.json deleted file mode 100644 index be7e9da..0000000 --- a/apps/angular-app/tsconfig.spec.json +++ /dev/null @@ -1,14 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine" - ] - }, - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/apps/nextjs-app/.eslintrc.json b/apps/nextjs-app/.eslintrc.json deleted file mode 100644 index bffb357..0000000 --- a/apps/nextjs-app/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/apps/nextjs-app/.gitignore b/apps/nextjs-app/.gitignore deleted file mode 100644 index 8f322f0..0000000 --- a/apps/nextjs-app/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/apps/nextjs-app/README.md b/apps/nextjs-app/README.md deleted file mode 100644 index f4da3c4..0000000 --- a/apps/nextjs-app/README.md +++ /dev/null @@ -1,34 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/nextjs-app/app/Home.tsx b/apps/nextjs-app/app/Home.tsx deleted file mode 100644 index 0681b48..0000000 --- a/apps/nextjs-app/app/Home.tsx +++ /dev/null @@ -1,86 +0,0 @@ -"use client"; - -import { FFmpeg } from "@ffmpeg/ffmpeg"; -import { fetchFile, toBlobURL } from "@ffmpeg/util"; -import { useRef, useState } from "react"; - -export default function Home() { - const [loaded, setLoaded] = useState(false); - const [isLoading, setIsLoading] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - setIsLoading(true); - const baseURL = "https://unpkg.com/@ffmpeg/core@0.12.10/dist/umd"; - const ffmpeg = ffmpegRef.current; - ffmpeg.on("log", ({ message }) => { - if (messageRef.current) messageRef.current.innerHTML = message; - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, "text/javascript"), - wasmURL: await toBlobURL( - `${baseURL}/ffmpeg-core.wasm`, - "application/wasm" - ), - }); - setLoaded(true); - setIsLoading(false); - }; - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - // u can use 'https://ffmpegwasm.netlify.app/video/video-15s.avi' to download the video to public folder for testing - await ffmpeg.writeFile( - "input.avi", - await fetchFile( - "https://raw.githubusercontent.com/ffmpegwasm/testdata/master/video-15s.avi" - ) - ); - await ffmpeg.exec(["-i", "input.avi", "output.mp4"]); - const data = (await ffmpeg.readFile("output.mp4")) as any; - if (videoRef.current) - videoRef.current.src = URL.createObjectURL( - new Blob([data.buffer], { type: "video/mp4" }) - ); - }; - - return loaded ? ( -
- -
- -

-
- ) : ( - - ); -} diff --git a/apps/nextjs-app/app/NoSSRWrapper.tsx b/apps/nextjs-app/app/NoSSRWrapper.tsx deleted file mode 100644 index 04589f4..0000000 --- a/apps/nextjs-app/app/NoSSRWrapper.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import dynamic from 'next/dynamic' -import React from 'react' -const NoSSRWrapper = props => ( - {props.children} -) -export default dynamic(() => Promise.resolve(NoSSRWrapper), { - ssr: false -}) diff --git a/apps/nextjs-app/app/favicon.ico b/apps/nextjs-app/app/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/apps/nextjs-app/app/globals.css b/apps/nextjs-app/app/globals.css deleted file mode 100644 index a90f074..0000000 --- a/apps/nextjs-app/app/globals.css +++ /dev/null @@ -1,4 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - diff --git a/apps/nextjs-app/app/layout.tsx b/apps/nextjs-app/app/layout.tsx deleted file mode 100644 index ae84562..0000000 --- a/apps/nextjs-app/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import './globals.css' -import type { Metadata } from 'next' -import { Inter } from 'next/font/google' - -const inter = Inter({ subsets: ['latin'] }) - -export const metadata: Metadata = { - title: 'Create Next App', - description: 'Generated by create next app', -} - -export default function RootLayout({ - children, -}: { - children: React.ReactNode -}) { - return ( - - {children} - - ) -} diff --git a/apps/nextjs-app/app/page.tsx b/apps/nextjs-app/app/page.tsx deleted file mode 100644 index c41d660..0000000 --- a/apps/nextjs-app/app/page.tsx +++ /dev/null @@ -1,8 +0,0 @@ -'use client' - -import NoSSRWrapper from "./NoSSRWrapper"; -import Home from "./Home"; - -export default function Page() { - return -} diff --git a/apps/nextjs-app/next.config.js b/apps/nextjs-app/next.config.js deleted file mode 100644 index 767719f..0000000 --- a/apps/nextjs-app/next.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = {} - -module.exports = nextConfig diff --git a/apps/nextjs-app/package.json b/apps/nextjs-app/package.json deleted file mode 100644 index 680242e..0000000 --- a/apps/nextjs-app/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "nextjs-ffmpeg-starter", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@ffmpeg/ffmpeg": "*", - "@ffmpeg/util": "*", - "@types/node": "20.4.9", - "@types/react": "18.2.20", - "@types/react-dom": "18.2.7", - "autoprefixer": "10.4.14", - "eslint": "8.46.0", - "eslint-config-next": "13.4.13", - "next": "^14.0.4", - "postcss": "8.4.31", - "react": "18.2.0", - "react-dom": "18.2.0", - "tailwindcss": "3.3.3", - "typescript": "5.1.6" - } -} diff --git a/apps/nextjs-app/postcss.config.js b/apps/nextjs-app/postcss.config.js deleted file mode 100644 index 33ad091..0000000 --- a/apps/nextjs-app/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/apps/nextjs-app/public/next.svg b/apps/nextjs-app/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/apps/nextjs-app/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/nextjs-app/public/vercel.svg b/apps/nextjs-app/public/vercel.svg deleted file mode 100644 index d2f8422..0000000 --- a/apps/nextjs-app/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/nextjs-app/tailwind.config.ts b/apps/nextjs-app/tailwind.config.ts deleted file mode 100644 index c7ead80..0000000 --- a/apps/nextjs-app/tailwind.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { Config } from 'tailwindcss' - -const config: Config = { - content: [ - './pages/**/*.{js,ts,jsx,tsx,mdx}', - './components/**/*.{js,ts,jsx,tsx,mdx}', - './app/**/*.{js,ts,jsx,tsx,mdx}', - ], - theme: { - extend: { - backgroundImage: { - 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', - 'gradient-conic': - 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', - }, - }, - }, - plugins: [], -} -export default config diff --git a/apps/nextjs-app/tsconfig.json b/apps/nextjs-app/tsconfig.json deleted file mode 100644 index 23ba4fd..0000000 --- a/apps/nextjs-app/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} diff --git a/apps/react-vite-app/.eslintrc.cjs b/apps/react-vite-app/.eslintrc.cjs deleted file mode 100644 index d6c9537..0000000 --- a/apps/react-vite-app/.eslintrc.cjs +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - root: true, - env: { browser: true, es2020: true }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react-hooks/recommended', - ], - ignorePatterns: ['dist', '.eslintrc.cjs'], - parser: '@typescript-eslint/parser', - plugins: ['react-refresh'], - rules: { - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - }, -} diff --git a/apps/react-vite-app/.gitignore b/apps/react-vite-app/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/apps/react-vite-app/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/apps/react-vite-app/README.md b/apps/react-vite-app/README.md deleted file mode 100644 index 1ebe379..0000000 --- a/apps/react-vite-app/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# React + TypeScript + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh - -## Expanding the ESLint configuration - -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: - -- Configure the top-level `parserOptions` property like this: - -```js - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - project: ['./tsconfig.json', './tsconfig.node.json'], - tsconfigRootDir: __dirname, - }, -``` - -- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` -- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/apps/react-vite-app/index.html b/apps/react-vite-app/index.html deleted file mode 100644 index e4b78ea..0000000 --- a/apps/react-vite-app/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite + React + TS - - -
- - - diff --git a/apps/react-vite-app/package.json b/apps/react-vite-app/package.json deleted file mode 100644 index cf5e59a..0000000 --- a/apps/react-vite-app/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "react-vite-app", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview" - }, - "dependencies": { - "@ffmpeg/ffmpeg": "*", - "@ffmpeg/util": "*", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@types/react": "^18.2.15", - "@types/react-dom": "^18.2.7", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", - "@vitejs/plugin-react": "^4.0.3", - "eslint": "^8.45.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.3", - "typescript": "^5.0.2", - "vite": "^4.5.2" - } -} diff --git a/apps/react-vite-app/public/vite.svg b/apps/react-vite-app/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/apps/react-vite-app/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/react-vite-app/src/App.tsx b/apps/react-vite-app/src/App.tsx deleted file mode 100644 index 68a71e7..0000000 --- a/apps/react-vite-app/src/App.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { useState, useRef } from "react"; -import { FFmpeg } from "@ffmpeg/ffmpeg"; -import { toBlobURL, fetchFile } from "@ffmpeg/util"; - -function App() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = "https://unpkg.com/@ffmpeg/core-mt@0.12.10/dist/esm"; - const ffmpeg = ffmpegRef.current; - ffmpeg.on("log", ({ message }) => { - if (messageRef.current) messageRef.current.innerHTML = message; - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, "text/javascript"), - wasmURL: await toBlobURL( - `${baseURL}/ffmpeg-core.wasm`, - "application/wasm" - ), - workerURL: await toBlobURL( - `${baseURL}/ffmpeg-core.worker.js`, - "text/javascript" - ), - }); - setLoaded(true); - }; - - const transcode = async () => { - const videoURL = - "https://raw.githubusercontent.com/ffmpegwasm/testdata/master/video-15s.avi"; - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile("input.avi", await fetchFile(videoURL)); - await ffmpeg.exec(["-i", "input.avi", "output.mp4"]); - const fileData = await ffmpeg.readFile("output.mp4"); - const data = new Uint8Array(fileData as ArrayBuffer); - if (videoRef.current) { - videoRef.current.src = URL.createObjectURL( - new Blob([data.buffer], { type: "video/mp4" }) - ); - } - }; - - return loaded ? ( - <> - -
- -

- - ) : ( - - ); -} - -export default App; diff --git a/apps/react-vite-app/src/index.css b/apps/react-vite-app/src/index.css deleted file mode 100644 index b20208f..0000000 --- a/apps/react-vite-app/src/index.css +++ /dev/null @@ -1,70 +0,0 @@ -:root { - font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; - justify-content: center; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/apps/react-vite-app/src/main.tsx b/apps/react-vite-app/src/main.tsx deleted file mode 100644 index 3d7150d..0000000 --- a/apps/react-vite-app/src/main.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.tsx' -import './index.css' - -ReactDOM.createRoot(document.getElementById('root')!).render( - - - , -) diff --git a/apps/react-vite-app/src/vite-env.d.ts b/apps/react-vite-app/src/vite-env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/apps/react-vite-app/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/apps/react-vite-app/tsconfig.json b/apps/react-vite-app/tsconfig.json deleted file mode 100644 index a7fc6fb..0000000 --- a/apps/react-vite-app/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/apps/react-vite-app/tsconfig.node.json b/apps/react-vite-app/tsconfig.node.json deleted file mode 100644 index 42872c5..0000000 --- a/apps/react-vite-app/tsconfig.node.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/apps/react-vite-app/vite.config.ts b/apps/react-vite-app/vite.config.ts deleted file mode 100644 index d26c16c..0000000 --- a/apps/react-vite-app/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from "vite"; -import react from "@vitejs/plugin-react"; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react()], - optimizeDeps: { - exclude: ["@ffmpeg/ffmpeg", "@ffmpeg/util"], - }, - server: { - headers: { - "Cross-Origin-Opener-Policy": "same-origin", - "Cross-Origin-Embedder-Policy": "require-corp", - }, - }, -}); diff --git a/apps/solidstart-app/.gitignore b/apps/solidstart-app/.gitignore deleted file mode 100644 index ff04496..0000000 --- a/apps/solidstart-app/.gitignore +++ /dev/null @@ -1,28 +0,0 @@ - -dist -.solid -.output -.vercel -.netlify -.vinxi - -# Environment -.env -.env*.local - -# dependencies -/node_modules - -# IDEs and editors -/.idea -.project -.classpath -*.launch -.settings/ - -# Temp -gitignore - -# System Files -.DS_Store -Thumbs.db diff --git a/apps/solidstart-app/README.md b/apps/solidstart-app/README.md deleted file mode 100644 index a84af39..0000000 --- a/apps/solidstart-app/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# SolidStart - -Everything you need to build a Solid project, powered by [`solid-start`](https://start.solidjs.com); - -## Creating a project - -```bash -# create a new project in the current directory -npm init solid@latest - -# create a new project in my-app -npm init solid@latest my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -Solid apps are built with _presets_, which optimise your project for deployment to different environments. - -By default, `npm run build` will generate a Node app that you can run with `npm start`. To use a different preset, add it to the `devDependencies` in `package.json` and specify in your `app.config.js`. - -## This project was created with the [Solid CLI](https://solid-cli.netlify.app) diff --git a/apps/solidstart-app/app.config.ts b/apps/solidstart-app/app.config.ts deleted file mode 100644 index 366c3c3..0000000 --- a/apps/solidstart-app/app.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from "@solidjs/start/config"; - -export default defineConfig({ - ssr: false, - server: { - static: true, - }, - vite: { - optimizeDeps: { - exclude: ['@ffmpeg/ffmpeg', '@ffmpeg/util'] - }, - } -}); diff --git a/apps/solidstart-app/package-lock.json b/apps/solidstart-app/package-lock.json deleted file mode 100644 index 2963648..0000000 --- a/apps/solidstart-app/package-lock.json +++ /dev/null @@ -1,8251 +0,0 @@ -{ - "name": "example-with-tailwindcss", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "example-with-tailwindcss", - "dependencies": { - "@ffmpeg/ffmpeg": "^0.12.15", - "@ffmpeg/util": "^0.12.2", - "@solidjs/router": "^0.14.1", - "@solidjs/start": "^1.0.4", - "autoprefixer": "^10.4.19", - "postcss": "^8.4.38", - "solid-js": "^1.8.18", - "tailwindcss": "^3.4.3", - "vinxi": "^0.3.14" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@antfu/utils": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", - "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.8.tgz", - "integrity": "sha512-c4IM7OTg6k1Q+AJ153e2mc2QVTezTwnb4VzquwcyiEzGnW0Kedv4do/TrkU98qPeC5LNiMt/QXwIjzYXLBpyZg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.8.tgz", - "integrity": "sha512-6AWcmZC/MZCO0yKys4uhg5NlxL0ESF3K6IAaoQ+xSXvPyPyxNWRafP+GDbI88Oh68O7QkJgmEtedWPM9U0pZNg==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helpers": "^7.24.8", - "@babel/parser": "^7.24.8", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.8.tgz", - "integrity": "sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.8", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.8.tgz", - "integrity": "sha512-m4vWKVqvkVAWLXfHCCfff2luJj86U+J0/x+0N3ArG/tP0Fq7zky2dYwMbtPmkc/oulkkbjdL3uWzuoBwQ8R00Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", - "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", - "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.8.tgz", - "integrity": "sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@cloudflare/kv-asset-handler": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.4.tgz", - "integrity": "sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==", - "license": "MIT OR Apache-2.0", - "dependencies": { - "mime": "^3.0.0" - }, - "engines": { - "node": ">=16.13" - } - }, - "node_modules/@cloudflare/kv-asset-handler/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@deno/shim-deno": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@deno/shim-deno/-/shim-deno-0.19.2.tgz", - "integrity": "sha512-q3VTHl44ad8T2Tw2SpeAvghdGOjlnLPDNO2cpOxwMrBE/PVas6geWpbpIgrM+czOCH0yejp0yi8OaTuB+NU40Q==", - "license": "MIT", - "dependencies": { - "@deno/shim-deno-test": "^0.5.0", - "which": "^4.0.0" - } - }, - "node_modules/@deno/shim-deno-test": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@deno/shim-deno-test/-/shim-deno-test-0.5.0.tgz", - "integrity": "sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==", - "license": "MIT" - }, - "node_modules/@deno/shim-deno/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@deno/shim-deno/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@ffmpeg/ffmpeg": { - "version": "0.12.10", - "resolved": "https://registry.npmjs.org/@ffmpeg/ffmpeg/-/ffmpeg-0.12.10.tgz", - "integrity": "sha512-lVtk8PW8e+NUzGZhPTWj2P1J4/NyuCrbDD3O9IGpSeLYtUZKBqZO8CNj1WYGghep/MXoM8e1qVY1GztTkf8YYQ==", - "license": "MIT", - "dependencies": { - "@ffmpeg/types": "^0.12.2" - }, - "engines": { - "node": ">=18.x" - } - }, - "node_modules/@ffmpeg/types": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@ffmpeg/types/-/types-0.12.2.tgz", - "integrity": "sha512-NJtxwPoLb60/z1Klv0ueshguWQ/7mNm106qdHkB4HL49LXszjhjCCiL+ldHJGQ9ai2Igx0s4F24ghigy//ERdA==", - "license": "MIT", - "engines": { - "node": ">=16.x" - } - }, - "node_modules/@ffmpeg/util": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@ffmpeg/util/-/util-0.12.1.tgz", - "integrity": "sha512-10jjfAKWaDyb8+nAkijcsi9wgz/y26LOc1NKJradNMyCIl6usQcBbhkjX5qhALrSBcOy6TOeksunTYa+a03qNQ==", - "license": "MIT", - "engines": { - "node": ">=18.x" - } - }, - "node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "license": "BSD-3-Clause", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@netlify/functions": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.8.1.tgz", - "integrity": "sha512-+6wtYdoz0yE06dSa9XkP47tw5zm6g13QMeCwM3MmHx1vn8hzwFa51JtmfraprdkL7amvb7gaNM+OOhQU1h6T8A==", - "license": "MIT", - "dependencies": { - "@netlify/serverless-functions-api": "1.19.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@netlify/node-cookies": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", - "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", - "license": "MIT", - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, - "node_modules/@netlify/serverless-functions-api": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.19.1.tgz", - "integrity": "sha512-2KYkyluThg1AKfd0JWI7FzpS4A/fzVVGYIf6AM4ydWyNj8eI/86GQVLeRgDoH7CNOxt243R5tutWlmHpVq0/Ew==", - "license": "MIT", - "dependencies": { - "@netlify/node-cookies": "^0.1.0", - "urlpattern-polyfill": "8.0.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "license": "MIT", - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", - "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", - "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", - "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", - "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", - "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", - "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-wasm": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz", - "integrity": "sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==", - "bundleDependencies": [ - "napi-wasm" - ], - "license": "MIT", - "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { - "version": "1.1.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", - "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", - "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", - "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.25", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", - "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", - "license": "MIT" - }, - "node_modules/@rollup/plugin-alias": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.1.0.tgz", - "integrity": "sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==", - "license": "MIT", - "dependencies": { - "slash": "^4.0.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.8", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz", - "integrity": "sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "glob": "^8.0.3", - "is-reference": "1.2.1", - "magic-string": "^0.30.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@rollup/plugin-inject": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", - "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-json": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", - "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.1.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", - "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-replace": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.7.tgz", - "integrity": "sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "magic-string": "^0.30.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", - "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", - "license": "MIT", - "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", - "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", - "integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz", - "integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz", - "integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz", - "integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz", - "integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz", - "integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz", - "integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz", - "integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz", - "integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz", - "integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz", - "integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz", - "integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz", - "integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz", - "integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz", - "integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz", - "integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@solidjs/router": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@solidjs/router/-/router-0.14.1.tgz", - "integrity": "sha512-GumQ4jbt5xDngLypAndC4EjapY/3DP0G8Az4YWEVQHdCtjHwB8IOm32eEBxE9lKpOffbtXV0r/0X0mofHJ1m5w==", - "license": "MIT", - "peerDependencies": { - "solid-js": "^1.8.6" - } - }, - "node_modules/@solidjs/start": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@solidjs/start/-/start-1.0.4.tgz", - "integrity": "sha512-r+2gENJ+nIdbLR2QcFxw92PBYLBr8a7DBHc1Wy2/eAbW9uIddPz/ZHyHsWjFewrADcvfjLGG+bBGqM/vCTrpAw==", - "license": "MIT", - "dependencies": { - "@vinxi/plugin-directives": "^0.3.1", - "@vinxi/server-components": "^0.3.3", - "@vinxi/server-functions": "^0.3.3", - "defu": "^6.1.2", - "error-stack-parser": "^2.1.4", - "glob": "^10.3.10", - "html-to-image": "^1.11.11", - "radix3": "^1.1.0", - "seroval": "^1.0.2", - "seroval-plugins": "^1.0.2", - "shikiji": "^0.9.12", - "source-map-js": "^1.0.2", - "terracotta": "^1.0.4", - "vite-plugin-inspect": "^0.7.33", - "vite-plugin-solid": "^2.10.2" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/braces": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/braces/-/braces-3.0.4.tgz", - "integrity": "sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==", - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/micromatch": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.9.tgz", - "integrity": "sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==", - "license": "MIT", - "dependencies": { - "@types/braces": "*" - } - }, - "node_modules/@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node/node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "license": "MIT" - }, - "node_modules/@vercel/nft": { - "version": "0.26.5", - "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.26.5.tgz", - "integrity": "sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==", - "license": "MIT", - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "@rollup/pluginutils": "^4.0.0", - "acorn": "^8.6.0", - "acorn-import-attributes": "^1.9.2", - "async-sema": "^3.1.1", - "bindings": "^1.4.0", - "estree-walker": "2.0.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.2", - "node-gyp-build": "^4.2.2", - "resolve-from": "^5.0.0" - }, - "bin": { - "nft": "out/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@vercel/nft/node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "license": "MIT", - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@vercel/nft/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@vercel/nft/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vercel/nft/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@vinxi/listhen": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/@vinxi/listhen/-/listhen-1.5.6.tgz", - "integrity": "sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==", - "license": "MIT", - "dependencies": { - "@parcel/watcher": "^2.3.0", - "@parcel/watcher-wasm": "2.3.0", - "citty": "^0.1.5", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.10.0", - "http-shutdown": "^1.2.2", - "jiti": "^1.21.0", - "mlly": "^1.5.0", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.3.2", - "untun": "^0.1.3", - "uqr": "^0.1.2" - }, - "bin": { - "listen": "bin/listhen.mjs", - "listhen": "bin/listhen.mjs" - } - }, - "node_modules/@vinxi/plugin-directives": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@vinxi/plugin-directives/-/plugin-directives-0.3.1.tgz", - "integrity": "sha512-4qz5WifjmJ864VS8Ik9nUG0wAkt/xIcxFpP29RXogGLgccRnceBpWQi+ghw5rm0F6LP/YMAhhO5iFORXclWd0Q==", - "dependencies": { - "@babel/parser": "^7.23.5", - "acorn": "^8.10.0", - "acorn-jsx": "^5.3.2", - "acorn-loose": "^8.3.0", - "acorn-typescript": "^1.4.3", - "astring": "^1.8.6", - "magicast": "^0.2.10", - "recast": "^0.23.4", - "tslib": "^2.6.2" - }, - "peerDependencies": { - "vinxi": "^0.3.10" - } - }, - "node_modules/@vinxi/server-components": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@vinxi/server-components/-/server-components-0.3.3.tgz", - "integrity": "sha512-xaW92nj9HUMLyswPcCmsIXOsS3TJll0m9u3WEjWjLrtZWheHggina6+kTCSeltp/Qe8WlUfNU5G02Xy8L4xQxA==", - "dependencies": { - "@vinxi/plugin-directives": "0.3.1", - "acorn": "^8.10.0", - "acorn-loose": "^8.3.0", - "acorn-typescript": "^1.4.3", - "astring": "^1.8.6", - "magicast": "^0.2.10", - "recast": "^0.23.4" - }, - "peerDependencies": { - "vinxi": "^0.3.10" - } - }, - "node_modules/@vinxi/server-functions": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@vinxi/server-functions/-/server-functions-0.3.3.tgz", - "integrity": "sha512-yUrHov1gc+NM/YCEOekM1DCdu2tNSH1/j0mZPyIOhPZH/yAZKWA+t3dP79Q3g4QLDHchf6xf8z9u1INEADTlXw==", - "dependencies": { - "@vinxi/plugin-directives": "0.3.1", - "acorn": "^8.10.0", - "acorn-loose": "^8.3.0", - "acorn-typescript": "^1.4.3", - "astring": "^1.8.6", - "magicast": "^0.2.10", - "recast": "^0.23.4" - }, - "peerDependencies": { - "vinxi": "^0.3.12" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "license": "ISC" - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-loose": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.4.0.tgz", - "integrity": "sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-typescript": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz", - "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==", - "license": "MIT", - "peerDependencies": { - "acorn": ">=8.9.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "license": "ISC" - }, - "node_modules/archiver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", - "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^5.0.2", - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/archiver-utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", - "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", - "license": "MIT", - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", - "lazystream": "^1.0.0", - "lodash": "^4.17.15", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/archiver-utils/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "license": "MIT" - }, - "node_modules/async-sema": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", - "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", - "license": "MIT" - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/b4a": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", - "license": "Apache-2.0" - }, - "node_modules/babel-plugin-jsx-dom-expressions": { - "version": "0.37.23", - "resolved": "https://registry.npmjs.org/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.37.23.tgz", - "integrity": "sha512-Y/r8LyLi/njnwPTaDuPEReWk30FJ1KplloYvcFUhHmiH1F7yVVj5mWojD7mbO/IruKyvOs9OIPUoeMi3Z++J4w==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "7.18.6", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.20.7", - "html-entities": "2.3.3", - "validate-html-nesting": "^1.2.1" - }, - "peerDependencies": { - "@babel/core": "^7.20.12" - } - }, - "node_modules/babel-plugin-jsx-dom-expressions/node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-preset-solid": { - "version": "1.8.18", - "resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.8.18.tgz", - "integrity": "sha512-ky0FA4cCS9dk+xYBBItHoxtbRnaDIOGpmHLFqKPaR81hpMbJBOiLOZia2hT0JBwx4zn/D2OjMRvRr6kqtRMoUw==", - "license": "MIT", - "dependencies": { - "babel-plugin-jsx-dom-expressions": "^0.37.23" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/bare-events": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", - "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", - "license": "Apache-2.0", - "optional": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "license": "Unlicense", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "license": "MIT", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "license": "MIT", - "dependencies": { - "big-integer": "^1.6.44" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-crc32": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", - "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "license": "MIT", - "dependencies": { - "run-applescript": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001641", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", - "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "license": "MIT", - "dependencies": { - "consola": "^3.2.3" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", - "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", - "license": "MIT", - "dependencies": { - "execa": "^8.0.1", - "is-wsl": "^3.1.0", - "is64bit": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "license": "MIT" - }, - "node_modules/compress-commons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", - "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/compress-commons/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/confbox": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", - "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", - "license": "MIT" - }, - "node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", - "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "license": "ISC" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/cookie-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.1.0.tgz", - "integrity": "sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==", - "license": "MIT" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", - "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/croner": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/croner/-/croner-8.1.0.tgz", - "integrity": "sha512-sz990XOUPR8dG/r5BRKMBd15MYDDUu8oeSaxFD5DqvNgHSZw8Psd1s689/IGET7ezxRMiNlCIyGeY1Gvxp/MLg==", - "license": "MIT", - "engines": { - "node": ">=18.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crossws": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", - "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", - "license": "MIT", - "peerDependencies": { - "uWebSockets.js": "*" - }, - "peerDependenciesMeta": { - "uWebSockets.js": { - "optional": true - } - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/dax-sh": { - "version": "0.39.2", - "resolved": "https://registry.npmjs.org/dax-sh/-/dax-sh-0.39.2.tgz", - "integrity": "sha512-gpuGEkBQM+5y6p4cWaw9+ePy5TNon+fdwFVtTI8leU3UhwhsBfPewRxMXGuQNC+M2b/MDGMlfgpqynkcd0C3FQ==", - "license": "MIT", - "dependencies": { - "@deno/shim-deno": "~0.19.0", - "undici-types": "^5.26" - } - }, - "node_modules/db0": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/db0/-/db0-0.1.4.tgz", - "integrity": "sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==", - "license": "MIT", - "peerDependencies": { - "@libsql/client": "^0.5.2", - "better-sqlite3": "^9.4.3", - "drizzle-orm": "^0.29.4" - }, - "peerDependenciesMeta": { - "@libsql/client": { - "optional": true - }, - "better-sqlite3": { - "optional": true - }, - "drizzle-orm": { - "optional": true - } - } - }, - "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "license": "MIT", - "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "license": "MIT", - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/default-browser/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/default-browser/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "license": "MIT" - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "license": "MIT" - }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", - "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", - "license": "MIT" - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "license": "Apache-2.0", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "license": "Apache-2.0" - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" - }, - "node_modules/dot-prop": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", - "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", - "license": "MIT", - "dependencies": { - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dot-prop/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.825", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.825.tgz", - "integrity": "sha512-OCcF+LwdgFGcsYPYC5keEEFC2XT0gBhrYbeGzHCx7i9qRFbzO/AqTmc/C/1xNhJj+JA7rzlN7mpBuStshh96Cg==", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/error-stack-parser-es": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.4.tgz", - "integrity": "sha512-l0uy0kAoo6toCgVOYaAayqtPa2a1L15efxUMEnQebKwLQX2X0OpS6wMMQdc4juJXmxd9i40DuaUHq+mjIya9TQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "license": "MIT" - }, - "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "license": "MIT" - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/gauge/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/gauge/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-port-please": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", - "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", - "license": "MIT" - }, - "node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/giget": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", - "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", - "license": "MIT", - "dependencies": { - "citty": "^0.1.6", - "consola": "^3.2.3", - "defu": "^6.1.4", - "node-fetch-native": "^1.6.3", - "nypm": "^0.3.8", - "ohash": "^1.1.3", - "pathe": "^1.1.2", - "tar": "^6.2.0" - }, - "bin": { - "giget": "dist/cli.mjs" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", - "license": "MIT", - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/gzip-size": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz", - "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==", - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/h3": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", - "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", - "license": "MIT", - "dependencies": { - "cookie-es": "^1.0.0", - "crossws": "^0.2.2", - "defu": "^6.1.4", - "destr": "^2.0.3", - "iron-webcrypto": "^1.0.0", - "ohash": "^1.1.3", - "radix3": "^1.1.0", - "ufo": "^1.4.0", - "uncrypto": "^0.1.3", - "unenv": "^1.9.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "license": "MIT" - }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", - "license": "MIT" - }, - "node_modules/html-to-image": { - "version": "1.11.11", - "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.11.tgz", - "integrity": "sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==", - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-shutdown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/httpxy": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/httpxy/-/httpxy-0.1.5.tgz", - "integrity": "sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==", - "license": "MIT" - }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ioredis": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.4.1.tgz", - "integrity": "sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==", - "license": "MIT", - "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "node_modules/iron-webcrypto": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", - "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/brc-dd" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "license": "MIT", - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-core-module": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", - "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "license": "MIT" - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is64bit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", - "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", - "license": "MIT", - "dependencies": { - "system-architecture": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/knitwork": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.1.0.tgz", - "integrity": "sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==", - "license": "MIT" - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/listhen": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.7.2.tgz", - "integrity": "sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==", - "license": "MIT", - "dependencies": { - "@parcel/watcher": "^2.4.1", - "@parcel/watcher-wasm": "^2.4.1", - "citty": "^0.1.6", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "crossws": "^0.2.0", - "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.10.2", - "http-shutdown": "^1.2.2", - "jiti": "^1.21.0", - "mlly": "^1.6.1", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.4.0", - "untun": "^0.1.3", - "uqr": "^0.1.2" - }, - "bin": { - "listen": "bin/listhen.mjs", - "listhen": "bin/listhen.mjs" - } - }, - "node_modules/listhen/node_modules/@parcel/watcher-wasm": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.4.1.tgz", - "integrity": "sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==", - "bundleDependencies": [ - "napi-wasm" - ], - "license": "MIT", - "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/listhen/node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { - "version": "1.1.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "license": "MIT", - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "license": "MIT" - }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/magic-string": { - "version": "0.30.10", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", - "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - } - }, - "node_modules/magicast": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.2.11.tgz", - "integrity": "sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.22.16", - "@babel/types": "^7.22.17", - "recast": "^0.23.4" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-anything": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-5.1.7.tgz", - "integrity": "sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==", - "license": "MIT", - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", - "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", - "funding": [ - "https://github.com/sponsors/broofa" - ], - "license": "MIT", - "bin": { - "mime": "bin/cli.js" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mlly": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", - "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", - "license": "MIT", - "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.1.1", - "ufo": "^1.5.3" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nitropack": { - "version": "2.9.7", - "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-2.9.7.tgz", - "integrity": "sha512-aKXvtNrWkOCMsQbsk4A0qQdBjrJ1ZcvwlTQevI/LAgLWLYc5L7Q/YiYxGLal4ITyNSlzir1Cm1D2ZxnYhmpMEw==", - "license": "MIT", - "dependencies": { - "@cloudflare/kv-asset-handler": "^0.3.4", - "@netlify/functions": "^2.8.0", - "@rollup/plugin-alias": "^5.1.0", - "@rollup/plugin-commonjs": "^25.0.8", - "@rollup/plugin-inject": "^5.0.5", - "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-replace": "^5.0.7", - "@rollup/plugin-terser": "^0.4.4", - "@rollup/pluginutils": "^5.1.0", - "@types/http-proxy": "^1.17.14", - "@vercel/nft": "^0.26.5", - "archiver": "^7.0.1", - "c12": "^1.11.1", - "chalk": "^5.3.0", - "chokidar": "^3.6.0", - "citty": "^0.1.6", - "consola": "^3.2.3", - "cookie-es": "^1.1.0", - "croner": "^8.0.2", - "crossws": "^0.2.4", - "db0": "^0.1.4", - "defu": "^6.1.4", - "destr": "^2.0.3", - "dot-prop": "^8.0.2", - "esbuild": "^0.20.2", - "escape-string-regexp": "^5.0.0", - "etag": "^1.8.1", - "fs-extra": "^11.2.0", - "globby": "^14.0.1", - "gzip-size": "^7.0.0", - "h3": "^1.12.0", - "hookable": "^5.5.3", - "httpxy": "^0.1.5", - "ioredis": "^5.4.1", - "jiti": "^1.21.6", - "klona": "^2.0.6", - "knitwork": "^1.1.0", - "listhen": "^1.7.2", - "magic-string": "^0.30.10", - "mime": "^4.0.3", - "mlly": "^1.7.1", - "mri": "^1.2.0", - "node-fetch-native": "^1.6.4", - "ofetch": "^1.3.4", - "ohash": "^1.1.3", - "openapi-typescript": "^6.7.6", - "pathe": "^1.1.2", - "perfect-debounce": "^1.0.0", - "pkg-types": "^1.1.1", - "pretty-bytes": "^6.1.1", - "radix3": "^1.1.2", - "rollup": "^4.18.0", - "rollup-plugin-visualizer": "^5.12.0", - "scule": "^1.3.0", - "semver": "^7.6.2", - "serve-placeholder": "^2.0.2", - "serve-static": "^1.15.0", - "std-env": "^3.7.0", - "ufo": "^1.5.3", - "uncrypto": "^0.1.3", - "unctx": "^2.3.1", - "unenv": "^1.9.0", - "unimport": "^3.7.2", - "unstorage": "^1.10.2", - "unwasm": "^0.3.9" - }, - "bin": { - "nitro": "dist/cli/index.mjs", - "nitropack": "dist/cli/index.mjs" - }, - "engines": { - "node": "^16.11.0 || >=17.0.0" - }, - "peerDependencies": { - "xml2js": "^0.6.2" - }, - "peerDependenciesMeta": { - "xml2js": { - "optional": true - } - } - }, - "node_modules/nitropack/node_modules/c12": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/c12/-/c12-1.11.1.tgz", - "integrity": "sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==", - "license": "MIT", - "dependencies": { - "chokidar": "^3.6.0", - "confbox": "^0.1.7", - "defu": "^6.1.4", - "dotenv": "^16.4.5", - "giget": "^1.2.3", - "jiti": "^1.21.6", - "mlly": "^1.7.1", - "ohash": "^1.1.3", - "pathe": "^1.1.2", - "perfect-debounce": "^1.0.0", - "pkg-types": "^1.1.1", - "rc9": "^2.1.2" - }, - "peerDependencies": { - "magicast": "^0.3.4" - }, - "peerDependenciesMeta": { - "magicast": { - "optional": true - } - } - }, - "node_modules/nitropack/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/nitropack/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nitropack/node_modules/h3": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.12.0.tgz", - "integrity": "sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==", - "license": "MIT", - "dependencies": { - "cookie-es": "^1.1.0", - "crossws": "^0.2.4", - "defu": "^6.1.4", - "destr": "^2.0.3", - "iron-webcrypto": "^1.1.1", - "ohash": "^1.1.3", - "radix3": "^1.1.2", - "ufo": "^1.5.3", - "uncrypto": "^0.1.3", - "unenv": "^1.9.0" - } - }, - "node_modules/nitropack/node_modules/magicast": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", - "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/parser": "^7.24.4", - "@babel/types": "^7.24.0", - "source-map-js": "^1.2.0" - } - }, - "node_modules/nitropack/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", - "license": "MIT", - "engines": { - "node": "^16 || ^18 || >= 20" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch-native": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", - "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", - "license": "MIT" - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", - "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "license": "MIT" - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/nypm": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.9.tgz", - "integrity": "sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==", - "license": "MIT", - "dependencies": { - "citty": "^0.1.6", - "consola": "^3.2.3", - "execa": "^8.0.1", - "pathe": "^1.1.2", - "pkg-types": "^1.1.1", - "ufo": "^1.5.3" - }, - "bin": { - "nypm": "dist/cli.mjs" - }, - "engines": { - "node": "^14.16.0 || >=16.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/ofetch": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.4.tgz", - "integrity": "sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==", - "license": "MIT", - "dependencies": { - "destr": "^2.0.3", - "node-fetch-native": "^1.6.3", - "ufo": "^1.5.3" - } - }, - "node_modules/ohash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/openapi-typescript": { - "version": "6.7.6", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-6.7.6.tgz", - "integrity": "sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==", - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.3", - "fast-glob": "^3.3.2", - "js-yaml": "^4.1.0", - "supports-color": "^9.4.0", - "undici": "^5.28.4", - "yargs-parser": "^21.1.1" - }, - "bin": { - "openapi-typescript": "bin/cli.js" - } - }, - "node_modules/openapi-typescript/node_modules/supports-color": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", - "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "license": "BlueOak-1.0.0" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-to-regexp": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", - "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "license": "MIT" - }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-types": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", - "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", - "license": "MIT", - "dependencies": { - "confbox": "^0.1.7", - "mlly": "^1.7.1", - "pathe": "^1.1.2" - } - }, - "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/pretty-bytes": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", - "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", - "license": "MIT", - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "license": "MIT" - }, - "node_modules/radix3": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", - "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rc9": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", - "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", - "license": "MIT", - "dependencies": { - "defu": "^6.1.4", - "destr": "^2.0.3" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", - "license": "MIT", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/rollup": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz", - "integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.1", - "@rollup/rollup-android-arm64": "4.18.1", - "@rollup/rollup-darwin-arm64": "4.18.1", - "@rollup/rollup-darwin-x64": "4.18.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.1", - "@rollup/rollup-linux-arm-musleabihf": "4.18.1", - "@rollup/rollup-linux-arm64-gnu": "4.18.1", - "@rollup/rollup-linux-arm64-musl": "4.18.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.1", - "@rollup/rollup-linux-riscv64-gnu": "4.18.1", - "@rollup/rollup-linux-s390x-gnu": "4.18.1", - "@rollup/rollup-linux-x64-gnu": "4.18.1", - "@rollup/rollup-linux-x64-musl": "4.18.1", - "@rollup/rollup-win32-arm64-msvc": "4.18.1", - "@rollup/rollup-win32-ia32-msvc": "4.18.1", - "@rollup/rollup-win32-x64-msvc": "4.18.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "license": "MIT", - "dependencies": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, - "bin": { - "rollup-plugin-visualizer": "dist/bin/cli.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "2.x || 3.x || 4.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "license": "MIT", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/run-applescript/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/run-applescript/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/run-applescript/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/run-applescript/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/run-applescript/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/scule": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", - "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/seroval": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.7.tgz", - "integrity": "sha512-n6ZMQX5q0Vn19Zq7CIKNIo7E75gPkGCFUEqDpa8jgwpYr/vScjqnQ6H09t1uIiZ0ZSK0ypEGvrYK2bhBGWsGdw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/seroval-plugins": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.0.7.tgz", - "integrity": "sha512-GO7TkWvodGp6buMEX9p7tNyIkbwlyuAWbI6G9Ec5bhcm7mQdu3JOK1IXbEUwb3FVzSc363GraG/wLW23NSavIw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "seroval": "^1.0" - } - }, - "node_modules/serve-placeholder": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.2.tgz", - "integrity": "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==", - "license": "MIT", - "dependencies": { - "defu": "^6.1.4" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "license": "ISC" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shikiji": { - "version": "0.9.19", - "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz", - "integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==", - "license": "MIT", - "dependencies": { - "shikiji-core": "0.9.19" - } - }, - "node_modules/shikiji-core": { - "version": "0.9.19", - "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz", - "integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==", - "license": "MIT" - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/smob": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", - "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", - "license": "MIT" - }, - "node_modules/solid-js": { - "version": "1.8.18", - "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.8.18.tgz", - "integrity": "sha512-cpkxDPvO/AuKBugVv6xKFd1C9VC0XZMu4VtF56IlHoux8HgyW44uqNSWbozMnVcpIzHIhS3vVXPAVZYM26jpWw==", - "license": "MIT", - "dependencies": { - "csstype": "^3.1.0", - "seroval": "^1.0.4", - "seroval-plugins": "^1.0.3" - } - }, - "node_modules/solid-refresh": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/solid-refresh/-/solid-refresh-0.6.3.tgz", - "integrity": "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==", - "license": "MIT", - "dependencies": { - "@babel/generator": "^7.23.6", - "@babel/helper-module-imports": "^7.22.15", - "@babel/types": "^7.23.6" - }, - "peerDependencies": { - "solid-js": "^1.3" - } - }, - "node_modules/solid-use": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/solid-use/-/solid-use-0.8.0.tgz", - "integrity": "sha512-YX+XmcKLvSx3bwMimMhFy40ZkDnShnUcEw6cW6fSscwKEgl1TG3GlgAvkBmQ3AeWjvQSd8+HGTr82ImsrjkkqA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "solid-js": "^1.7" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "license": "MIT" - }, - "node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "license": "MIT" - }, - "node_modules/streamx": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz", - "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.3.2", - "queue-tick": "^1.0.1", - "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", - "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", - "license": "MIT", - "dependencies": { - "js-tokens": "^9.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", - "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", - "license": "MIT" - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/system-architecture": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", - "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", - "license": "MIT", - "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.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "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.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", - "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/terracotta": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/terracotta/-/terracotta-1.0.5.tgz", - "integrity": "sha512-4jkpXGKemeWjsBGDoBK1tnovGfIEMM8+Fa99T0TD4VYUaZq6hXHEWMfHshxy1h+DzsanDAwSBIBM0NnOohzijw==", - "license": "MIT", - "dependencies": { - "solid-use": "^0.8.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "solid-js": "^1.8" - } - }, - "node_modules/terser": { - "version": "5.31.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.2.tgz", - "integrity": "sha512-LGyRZVFm/QElZHy/CPr/O4eNZOZIzsrQ92y4v9UJe/pFJjypje2yI3C2FmPtvUEnhadlSbmG2nXtdcjHOjCfxw==", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/text-decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", - "integrity": "sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==", - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "license": "MIT" - }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "license": "Apache-2.0" - }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ufo": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", - "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", - "license": "MIT" - }, - "node_modules/uncrypto": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", - "license": "MIT" - }, - "node_modules/unctx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.3.1.tgz", - "integrity": "sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==", - "license": "MIT", - "dependencies": { - "acorn": "^8.8.2", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.0", - "unplugin": "^1.3.1" - } - }, - "node_modules/unctx/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "license": "MIT", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, - "node_modules/undici-types": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.28.4.tgz", - "integrity": "sha512-3OeMF5Lyowe8VW0skf5qaIE7Or3yS9LS7fvMUI0gg4YxpIBVg0L8BxCmROw2CcYhSkpR68Epz7CGc8MPj94Uww==", - "license": "MIT" - }, - "node_modules/unenv": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", - "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", - "license": "MIT", - "dependencies": { - "consola": "^3.2.3", - "defu": "^6.1.3", - "mime": "^3.0.0", - "node-fetch-native": "^1.6.1", - "pathe": "^1.1.1" - } - }, - "node_modules/unenv/node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unimport": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.7.2.tgz", - "integrity": "sha512-91mxcZTadgXyj3lFWmrGT8GyoRHWuE5fqPOjg5RVtF6vj+OfM5G6WCzXjuYtSgELE5ggB34RY4oiCSEP8I3AHw==", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.1.0", - "acorn": "^8.11.3", - "escape-string-regexp": "^5.0.0", - "estree-walker": "^3.0.3", - "fast-glob": "^3.3.2", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.10", - "mlly": "^1.7.0", - "pathe": "^1.1.2", - "pkg-types": "^1.1.1", - "scule": "^1.3.0", - "strip-literal": "^2.1.0", - "unplugin": "^1.10.1" - } - }, - "node_modules/unimport/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unimport/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unplugin": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.11.0.tgz", - "integrity": "sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==", - "license": "MIT", - "dependencies": { - "acorn": "^8.11.3", - "chokidar": "^3.6.0", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.6.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/unstorage": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.2.tgz", - "integrity": "sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==", - "license": "MIT", - "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^3.6.0", - "destr": "^2.0.3", - "h3": "^1.11.1", - "listhen": "^1.7.2", - "lru-cache": "^10.2.0", - "mri": "^1.2.0", - "node-fetch-native": "^1.6.2", - "ofetch": "^1.3.3", - "ufo": "^1.4.0" - }, - "peerDependencies": { - "@azure/app-configuration": "^1.5.0", - "@azure/cosmos": "^4.0.0", - "@azure/data-tables": "^13.2.2", - "@azure/identity": "^4.0.1", - "@azure/keyvault-secrets": "^4.8.0", - "@azure/storage-blob": "^12.17.0", - "@capacitor/preferences": "^5.0.7", - "@netlify/blobs": "^6.5.0 || ^7.0.0", - "@planetscale/database": "^1.16.0", - "@upstash/redis": "^1.28.4", - "@vercel/kv": "^1.0.1", - "idb-keyval": "^6.2.1", - "ioredis": "^5.3.2" - }, - "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "ioredis": { - "optional": true - } - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/untun": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", - "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", - "license": "MIT", - "dependencies": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "pathe": "^1.1.1" - }, - "bin": { - "untun": "bin/untun.mjs" - } - }, - "node_modules/unwasm": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/unwasm/-/unwasm-0.3.9.tgz", - "integrity": "sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==", - "license": "MIT", - "dependencies": { - "knitwork": "^1.0.0", - "magic-string": "^0.30.8", - "mlly": "^1.6.1", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "unplugin": "^1.10.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uqr": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", - "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==", - "license": "MIT" - }, - "node_modules/urlpattern-polyfill": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", - "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", - "license": "MIT" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/validate-html-nesting": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/validate-html-nesting/-/validate-html-nesting-1.2.2.tgz", - "integrity": "sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==", - "license": "ISC" - }, - "node_modules/vinxi": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/vinxi/-/vinxi-0.3.14.tgz", - "integrity": "sha512-z92mH3xmnnsodTAURFnfEg4FnCo95JnjjY08nyjl3Z69xVRtQ5V6ckfV9bMp/5G6yT52wnmoLXAfPRPF6vfG+A==", - "dependencies": { - "@babel/core": "^7.22.11", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5", - "@types/micromatch": "^4.0.2", - "@vinxi/listhen": "^1.5.6", - "boxen": "^7.1.1", - "chokidar": "^3.5.3", - "citty": "^0.1.4", - "consola": "^3.2.3", - "crossws": "^0.2.4", - "dax-sh": "^0.39.1", - "defu": "^6.1.2", - "es-module-lexer": "^1.3.0", - "esbuild": "^0.20.2", - "fast-glob": "^3.3.1", - "get-port-please": "^3.1.1", - "h3": "1.11.1", - "hookable": "^5.5.3", - "http-proxy": "^1.18.1", - "micromatch": "^4.0.5", - "nitropack": "^2.9.1", - "node-fetch-native": "^1.4.0", - "path-to-regexp": "^6.2.1", - "pathe": "^1.1.1", - "radix3": "^1.1.0", - "resolve": "^1.22.6", - "serve-placeholder": "^2.0.1", - "serve-static": "^1.15.0", - "ufo": "^1.3.0", - "unctx": "^2.3.1", - "unenv": "^1.9.0", - "unstorage": "^1.10.1", - "vite": "^5.2.8", - "zod": "^3.22.2" - }, - "bin": { - "vinxi": "bin/cli.mjs" - } - }, - "node_modules/vite": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.3.tgz", - "integrity": "sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.39", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-plugin-inspect": { - "version": "0.7.42", - "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.7.42.tgz", - "integrity": "sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==", - "license": "MIT", - "dependencies": { - "@antfu/utils": "^0.7.6", - "@rollup/pluginutils": "^5.0.5", - "debug": "^4.3.4", - "error-stack-parser-es": "^0.1.1", - "fs-extra": "^11.1.1", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "sirv": "^2.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - } - } - }, - "node_modules/vite-plugin-inspect/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-inspect/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-inspect/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/vite-plugin-inspect/node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "license": "MIT", - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vite-plugin-solid": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/vite-plugin-solid/-/vite-plugin-solid-2.10.2.tgz", - "integrity": "sha512-AOEtwMe2baBSXMXdo+BUwECC8IFHcKS6WQV/1NEd+Q7vHPap5fmIhLcAzr+DUJ04/KHx/1UBU0l1/GWP+rMAPQ==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.3", - "@types/babel__core": "^7.20.4", - "babel-preset-solid": "^1.8.4", - "merge-anything": "^5.1.7", - "solid-refresh": "^0.6.3", - "vitefu": "^0.2.5" - }, - "peerDependencies": { - "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", - "solid-js": "^1.7.2", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "@testing-library/jest-dom": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/vitefu": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", - "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", - "license": "MIT", - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-virtual-modules": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", - "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "license": "MIT" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/zip-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", - "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", - "readable-stream": "^4.0.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - } - } -} diff --git a/apps/solidstart-app/package.json b/apps/solidstart-app/package.json deleted file mode 100644 index 8db0fd6..0000000 --- a/apps/solidstart-app/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "solidstart-ffmpeg", - "type": "module", - "scripts": { - "dev": "vinxi dev", - "build": "vinxi build", - "start": "vinxi start" - }, - "dependencies": { - "@ffmpeg/ffmpeg": "^0.12.15", - "@ffmpeg/util": "^0.12.2", - "@solidjs/router": "^0.14.1", - "@solidjs/start": "^1.0.4", - "autoprefixer": "^10.4.19", - "postcss": "^8.4.38", - "solid-js": "^1.8.18", - "tailwindcss": "^3.4.3", - "vinxi": "^0.3.14" - }, - "engines": { - "node": ">=18" - } -} diff --git a/apps/solidstart-app/postcss.config.cjs b/apps/solidstart-app/postcss.config.cjs deleted file mode 100644 index 33ad091..0000000 --- a/apps/solidstart-app/postcss.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/apps/solidstart-app/public/favicon.ico b/apps/solidstart-app/public/favicon.ico deleted file mode 100644 index fb282da0719ef6ab4c1732df93be6216b0d85520..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmV;J0%!e+P)m9ebk1R zejT~~6f_`?;`cEd!+`7(hw@%%2;?RN8gX-L?z6cM( zKoG@&w+0}f@Pfvwc+deid)qgE!L$ENKYjViZC_Zcr>L(`2oXUT8f0mRQ(6-=HN_Ai zeBBEz3WP+1Cw`m!49Wf!MnZzp5bH8VkR~BcJ1s-j90TAS2Yo4j!J|KodxYR%3Numw zA?gq6e`5@!W~F$_De3yt&uspo&2yLb$(NwcPPI-4LGc!}HdY%jfq@AFs8LiZ4k(p} zZ!c9o+qbWYs-Mg zgdyTALzJX&7QXHdI_DPTFL33;w}88{e6Zk)MX0kN{3DX9uz#O_L58&XRH$Nvvu;fO zf&)7@?C~$z1K<>j0ga$$MIg+5xN;eQ?1-CA=`^Y169@Ab6!vcaNP=hxfKN%@Ly^R* zK1iv*s1Yl6_dVyz8>ZqYhz6J4|3fQ@2LQeX@^%W(B~8>=MoEmBEGGD1;gHXlpX>!W ym)!leA2L@`cpb^hy)P75=I!`pBYxP7<2VfQ3j76qLgzIA0000 ( - <> - {props.children} - - )}> - - - ); -} diff --git a/apps/solidstart-app/src/entry-client.tsx b/apps/solidstart-app/src/entry-client.tsx deleted file mode 100644 index 0ca4e3c..0000000 --- a/apps/solidstart-app/src/entry-client.tsx +++ /dev/null @@ -1,4 +0,0 @@ -// @refresh reload -import { mount, StartClient } from "@solidjs/start/client"; - -mount(() => , document.getElementById("app")!); diff --git a/apps/solidstart-app/src/entry-server.tsx b/apps/solidstart-app/src/entry-server.tsx deleted file mode 100644 index e4011a4..0000000 --- a/apps/solidstart-app/src/entry-server.tsx +++ /dev/null @@ -1,25 +0,0 @@ -// @refresh reload -import { createHandler, StartServer } from '@solidjs/start/server'; -import { HttpHeader, HttpStatusCode } from '@solidjs/start'; - -export default createHandler(() => ( - ( - - {/*necessary because ffmpeg library uses sharedArrayBuffer */} - - - - - - - {assets} - - -
{children}
- {scripts} - - - )} - /> -)); diff --git a/apps/solidstart-app/src/global.d.ts b/apps/solidstart-app/src/global.d.ts deleted file mode 100644 index dc6f10c..0000000 --- a/apps/solidstart-app/src/global.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/apps/solidstart-app/src/routes/index.tsx b/apps/solidstart-app/src/routes/index.tsx deleted file mode 100644 index 189082c..0000000 --- a/apps/solidstart-app/src/routes/index.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { FFmpeg } from '@ffmpeg/ffmpeg'; -import { fetchFile, toBlobURL } from '@ffmpeg/util'; -import { createSignal, Show } from 'solid-js'; - -const baseURL = 'https://unpkg.com/@ffmpeg/core-mt@0.12.6/dist/esm'; -const videoURL = - 'https://raw.githubusercontent.com/ffmpegwasm/testdata/master/video-15s.avi'; - -export default function Home() { - const [loaded, setLoaded] = createSignal(false); - const [isLoading, setIsLoading] = createSignal(false); - let ffmpegRef = new FFmpeg(); - let videoRef: any = null; - let messageRef: any = null; - - const load = async () => { - setIsLoading(true); - const ffmpeg = ffmpegRef; - ffmpeg.on('log', ({ message }) => { - if (messageRef) messageRef.innerHTML = message; - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL( - `${baseURL}/ffmpeg-core.wasm`, - 'application/wasm' - ), - workerURL: await toBlobURL( - `${baseURL}/ffmpeg-core.worker.js`, - 'text/javascript' - ), - }); - setLoaded(true); - setIsLoading(false); - }; - - const transcode = async () => { - const ffmpeg = ffmpegRef; - // u can use 'https://ffmpegwasm.netlify.app/video/video-15s.avi' to download the video to public folder for testing - await ffmpeg.writeFile('input.avi', await fetchFile(videoURL)); - await ffmpeg.exec(['-i', 'input.avi', 'output.mp4']); - const data = (await ffmpeg.readFile('output.mp4')) as any; - if (videoRef) - videoRef.src = URL.createObjectURL( - new Blob([data.buffer], { type: 'video/mp4' }) - ); - }; - - return ( - - Load ffmpeg-core - - - - - - - }> -
- -
- -

-
-
- ); -} diff --git a/apps/solidstart-app/tailwind.config.cjs b/apps/solidstart-app/tailwind.config.cjs deleted file mode 100644 index 14d3e24..0000000 --- a/apps/solidstart-app/tailwind.config.cjs +++ /dev/null @@ -1,8 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: ["./src/**/*.{html,js,jsx,ts,tsx}"], - theme: { - extend: {} - }, - plugins: [] -}; diff --git a/apps/solidstart-app/tsconfig.json b/apps/solidstart-app/tsconfig.json deleted file mode 100644 index 3ad477f..0000000 --- a/apps/solidstart-app/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "jsx": "preserve", - "jsxImportSource": "solid-js", - "allowJs": true, - "noEmit": true, - "strict": true, - "types": ["vinxi/types/client"], - "isolatedModules": true, - "paths": { - "~/*": ["./src/*"] - } - } -} diff --git a/apps/sveltekit-app/.eslintignore b/apps/sveltekit-app/.eslintignore deleted file mode 100644 index 3897265..0000000 --- a/apps/sveltekit-app/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/apps/sveltekit-app/.eslintrc.cjs b/apps/sveltekit-app/.eslintrc.cjs deleted file mode 100644 index 0b75758..0000000 --- a/apps/sveltekit-app/.eslintrc.cjs +++ /dev/null @@ -1,31 +0,0 @@ -/** @type { import("eslint").Linter.Config } */ -module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:svelte/recommended', - 'prettier' - ], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - parserOptions: { - sourceType: 'module', - 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/apps/sveltekit-app/.gitignore b/apps/sveltekit-app/.gitignore deleted file mode 100644 index 6635cf5..0000000 --- a/apps/sveltekit-app/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example -vite.config.js.timestamp-* -vite.config.ts.timestamp-* diff --git a/apps/sveltekit-app/.npmrc b/apps/sveltekit-app/.npmrc deleted file mode 100644 index b6f27f1..0000000 --- a/apps/sveltekit-app/.npmrc +++ /dev/null @@ -1 +0,0 @@ -engine-strict=true diff --git a/apps/sveltekit-app/.prettierignore b/apps/sveltekit-app/.prettierignore deleted file mode 100644 index cc41cea..0000000 --- a/apps/sveltekit-app/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/apps/sveltekit-app/.prettierrc b/apps/sveltekit-app/.prettierrc deleted file mode 100644 index 9573023..0000000 --- a/apps/sveltekit-app/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "useTabs": true, - "singleQuote": true, - "trailingComma": "none", - "printWidth": 100, - "plugins": ["prettier-plugin-svelte"], - "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] -} diff --git a/apps/sveltekit-app/README.md b/apps/sveltekit-app/README.md deleted file mode 100644 index 5ce6766..0000000 --- a/apps/sveltekit-app/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# create-svelte - -Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```bash -# 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 -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -To create a production version of your app: - -```bash -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/apps/sveltekit-app/package.json b/apps/sveltekit-app/package.json deleted file mode 100644 index 92fc603..0000000 --- a/apps/sveltekit-app/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "sveltekit-app", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "test": "npm run test:integration && npm run test:unit", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --check . && eslint .", - "format": "prettier --write .", - "test:integration": "playwright test", - "test:unit": "vitest" - }, - "devDependencies": { - "@ffmpeg/ffmpeg": "*", - "@ffmpeg/util": "*", - "@playwright/test": "^1.41.2", - "@sveltejs/adapter-auto": "^3.1.1", - "@sveltejs/kit": "^2.5.0", - "@sveltejs/vite-plugin-svelte": "^3.0.2", - "@tsconfig/node18": "^18.2.2", - "@types/eslint": "8.56.2", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-svelte": "^2.35.1", - "prettier": "^3.2.5", - "prettier-plugin-svelte": "^3.1.2", - "svelte": "^4.2.10", - "svelte-check": "^3.6.4", - "tslib": "^2.6.2", - "typescript": "^5.3.3", - "vite": "^5.1.1", - "vitest": "^1.2.2" - }, - "type": "module" -} diff --git a/apps/sveltekit-app/playwright.config.ts b/apps/sveltekit-app/playwright.config.ts deleted file mode 100644 index 1c5d7a1..0000000 --- a/apps/sveltekit-app/playwright.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test'; - -const config: PlaywrightTestConfig = { - webServer: { - command: 'npm run build && npm run preview', - port: 4173 - }, - testDir: 'tests', - testMatch: /(.+\.)?(test|spec)\.[jt]s/ -}; - -export default config; diff --git a/apps/sveltekit-app/src/app.d.ts b/apps/sveltekit-app/src/app.d.ts deleted file mode 100644 index 743f07b..0000000 --- a/apps/sveltekit-app/src/app.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -// See https://kit.svelte.dev/docs/types#app -// for information about these interfaces -declare global { - namespace App { - // interface Error {} - // interface Locals {} - // interface PageData {} - // interface PageState {} - // interface Platform {} - } -} - -export {}; diff --git a/apps/sveltekit-app/src/app.html b/apps/sveltekit-app/src/app.html deleted file mode 100644 index 77a5ff5..0000000 --- a/apps/sveltekit-app/src/app.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - diff --git a/apps/sveltekit-app/src/index.test.ts b/apps/sveltekit-app/src/index.test.ts deleted file mode 100644 index e07cbbd..0000000 --- a/apps/sveltekit-app/src/index.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, it, expect } from 'vitest'; - -describe('sum test', () => { - it('adds 1 + 2 to equal 3', () => { - expect(1 + 2).toBe(3); - }); -}); diff --git a/apps/sveltekit-app/src/lib/FFmpegDemo.svelte b/apps/sveltekit-app/src/lib/FFmpegDemo.svelte deleted file mode 100644 index 4b451eb..0000000 --- a/apps/sveltekit-app/src/lib/FFmpegDemo.svelte +++ /dev/null @@ -1,44 +0,0 @@ - - -
- -
diff --git a/apps/sveltekit-app/src/lib/index.ts b/apps/sveltekit-app/src/lib/index.ts deleted file mode 100644 index 856f2b6..0000000 --- a/apps/sveltekit-app/src/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -// place files you want to import through the `$lib` alias in this folder. diff --git a/apps/sveltekit-app/src/routes/+page.svelte b/apps/sveltekit-app/src/routes/+page.svelte deleted file mode 100644 index 7e65c34..0000000 --- a/apps/sveltekit-app/src/routes/+page.svelte +++ /dev/null @@ -1,7 +0,0 @@ - - -

Welcome to SvelteKit

-

Visit kit.svelte.dev to read the documentation

- diff --git a/apps/sveltekit-app/static/favicon.png b/apps/sveltekit-app/static/favicon.png deleted file mode 100644 index 825b9e65af7c104cfb07089bb28659393b4f2097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UH { - await page.goto('/'); - await expect(page.getByRole('heading', { name: 'Welcome to SvelteKit' })).toBeVisible(); -}); diff --git a/apps/sveltekit-app/tsconfig.json b/apps/sveltekit-app/tsconfig.json deleted file mode 100644 index 82081ab..0000000 --- a/apps/sveltekit-app/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "moduleResolution": "bundler" - } - // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias - // - // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes - // from the referenced tsconfig.json - TypeScript does not merge them in -} diff --git a/apps/sveltekit-app/vite.config.ts b/apps/sveltekit-app/vite.config.ts deleted file mode 100644 index 639d99e..0000000 --- a/apps/sveltekit-app/vite.config.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { sveltekit } from '@sveltejs/kit/vite'; -import { fileURLToPath, URL } from 'node:url' -import { defineConfig } from 'vitest/config'; - -/** @type {import('vite').Plugin} */ -const viteServerConfig = { - name: 'log-request-middleware', - configureServer(server) { - server.middlewares.use((req, res, next) => { - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "GET"); - res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); - res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); - next(); - }); - } -}; - - -export default defineConfig({ - plugins: [sveltekit(), viteServerConfig], - test: { - include: ['src/**/*.{test,spec}.{js,ts}'] - }, - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - }, - optimizeDeps: { - exclude: ['@ffmpeg/ffmpeg', '@ffmpeg/util'] - }, - server: { - headers: { - 'Cross-Origin-Opener-Policy': 'same-origin', - 'Cross-Origin-Embedder-Policy': 'require-corp' - }, - fs: { - allow: ['../..'] - } - } -}); diff --git a/apps/test/package.json b/apps/test/package.json new file mode 100644 index 0000000..d6f5f34 --- /dev/null +++ b/apps/test/package.json @@ -0,0 +1,17 @@ +{ + "name": "@konoplayer/test", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": {}, + "dependencies": { + "@konoplayer/core": "workspace:*", + "@konoplayer/matroska": "workspace:*", + "konoebml": "^0.1.2" + }, + "devDependencies": { + "unplugin-swc": "^1.5.1", + "vite-tsconfig-paths": "^5.1.4", + "vitest": "^3.0.9" + } +} \ No newline at end of file diff --git a/apps/angular-app/src/app/app.component.css b/apps/test/src/init-test.ts similarity index 100% rename from apps/angular-app/src/app/app.component.css rename to apps/test/src/init-test.ts diff --git a/apps/test/tsconfig.json b/apps/test/tsconfig.json new file mode 100644 index 0000000..e316678 --- /dev/null +++ b/apps/test/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "composite": true, + "outDir": "./dist", + "types": [ + "vitest/globals", + "node" + ], + "paths": { + "@konoplayer/core/*": [ + "../../packages/core/src/*" + ], + "@konoplayer/matroska/*": [ + "../../packages/matroska/src/*" + ] + } + }, + "include": [ + "src" + ], + "references": [ + { + "path": "../../packages/core" + }, + { + "path": "../../packages/matroska" + } + ] +} \ No newline at end of file diff --git a/apps/test/vitest.config.ts b/apps/test/vitest.config.ts new file mode 100644 index 0000000..bc40430 --- /dev/null +++ b/apps/test/vitest.config.ts @@ -0,0 +1,33 @@ +import swc from 'unplugin-swc'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + cacheDir: '.vitest', + test: { + setupFiles: ['src/init-test'], + environment: 'happy-dom', + include: ['src/**/*.spec'], + globals: true, + restoreMocks: true, + coverage: { + // you can include other reporters, but 'json-summary' is required, json is recommended + reporter: ['text', 'json-summary', 'json'], + // If you want a coverage reports even if your tests are failing, include the reportOnFailure option + reportOnFailure: true, + include: ['../../packages/core/src/**', '../../packages/matroska/src/**'], + }, + }, + plugins: [ + tsconfigPaths(), + swc.vite({ + include: /\.[mc]?[jt]sx?$/, + // for git+ package only + exclude: [ + /node_modules\/(?!@konoplayer|\.pnpm)/, + /node_modules\/\.pnpm\/(?!@konoplayer)/, + ] as any, + tsconfigFile: './tsconfig.json', + }), + ], +}); \ No newline at end of file diff --git a/apps/vanilla-app/.gitignore b/apps/vanilla-app/.gitignore deleted file mode 100644 index 5d59ce3..0000000 --- a/apps/vanilla-app/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.tgz -public/assets diff --git a/apps/vanilla-app/README.md b/apps/vanilla-app/README.md deleted file mode 100644 index 1f57b0d..0000000 --- a/apps/vanilla-app/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Vanilla / Browser Examples - -## Setup - -You need to download assets from npm before running the examples: - -```bash -$ npm run download -``` - -## Run - -To run this example, execute: - -```bash -$ npm start -``` - -Visit http://localhost:8080 to check available examples. - -## Examples - -| Example | Description | -| ------- | ----------- | -| transcode.html | Transcoding example | -| transcode-mt.html | Transcoding example using multi-thread | -| transcode.esm.html | Transcoding example using module | -| trim.html | Video trimming example | -| concatDemuxer.html | Video concat example | diff --git a/apps/vanilla-app/package.json b/apps/vanilla-app/package.json deleted file mode 100644 index 1044aef..0000000 --- a/apps/vanilla-app/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "browser", - "version": "0.12.0-alpha.0", - "description": "browser example", - "private": true, - "scripts": { - "download": "node ../../scripts/download-assets.js", - "prestart": "npm run download", - "start": "node server.js" - }, - "author": "Jerome Wu ", - "license": "MIT", - "dependencies": { - "express": "^4.18.2", - "serve-index": "^1.9.1", - "tar": "^6.1.15" - } -} diff --git a/apps/vanilla-app/public/concatDemuxer.html b/apps/vanilla-app/public/concatDemuxer.html deleted file mode 100644 index 2335b8e..0000000 --- a/apps/vanilla-app/public/concatDemuxer.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - -

Select multiple video files to Concatenate

-
- -

- - - diff --git a/apps/vanilla-app/public/style.css b/apps/vanilla-app/public/style.css deleted file mode 100644 index 531326c..0000000 --- a/apps/vanilla-app/public/style.css +++ /dev/null @@ -1,10 +0,0 @@ -html, body { - margin: 0; - width: 100%; - height: 100% -} -body { - display: flex; - flex-direction: column; - align-items: center; -} diff --git a/apps/vanilla-app/public/transcode-mt.esm.html b/apps/vanilla-app/public/transcode-mt.esm.html deleted file mode 100644 index 9adb8a7..0000000 --- a/apps/vanilla-app/public/transcode-mt.esm.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -

Upload a video to transcode to mp4 (x264) and play!

-
- -

- - - diff --git a/apps/vanilla-app/public/transcode-mt.html b/apps/vanilla-app/public/transcode-mt.html deleted file mode 100644 index 340b4fe..0000000 --- a/apps/vanilla-app/public/transcode-mt.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -

Upload a video to transcode to mp4 (x264) and play!

-
- -

- - - diff --git a/apps/vanilla-app/public/transcode.esm.html b/apps/vanilla-app/public/transcode.esm.html deleted file mode 100644 index 59df21a..0000000 --- a/apps/vanilla-app/public/transcode.esm.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -

Upload a video to transcode to mp4 (x264) and play!

-
- -

- - - diff --git a/apps/vanilla-app/public/transcode.html b/apps/vanilla-app/public/transcode.html deleted file mode 100644 index 7697c93..0000000 --- a/apps/vanilla-app/public/transcode.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -

Upload a video to transcode to mp4 (x264) and play!

-
- -

- - - diff --git a/apps/vanilla-app/public/trim.html b/apps/vanilla-app/public/trim.html deleted file mode 100644 index a0aa2bf..0000000 --- a/apps/vanilla-app/public/trim.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -

Upload a mp4 (x264) video and trim its first 1 seconds and play!

-
- -

- - - diff --git a/apps/vanilla-app/server.js b/apps/vanilla-app/server.js deleted file mode 100644 index fb42868..0000000 --- a/apps/vanilla-app/server.js +++ /dev/null @@ -1,27 +0,0 @@ -const path = require("path"); -const express = require("express"); -const serveIndex = require("serve-index"); -const app = express(); -const PORT = 8080; -const ROOT = path.join(__dirname, "public"); - -app.use((_, res, next) => { - res.set({ - "Cross-Origin-Opener-Policy": "same-origin", - "Cross-Origin-Embedder-Policy": "require-corp", - "Cross-Origin-Resource-Policy": "cross-origin", - "Origin-Agent-Cluster": "?1", - "Access-Control-Allow-Origin": "*", - "Access-Control-Allow-Methods": "GET, POST, OPTIONS", - "Access-Control-Allow-Headers": - "Origin, X-Requested-With, Content-Type, Accept, Range", - }); - next(); -}); - -app.use(express.static(ROOT)); -app.use("/", serveIndex(ROOT)); - -app.listen(PORT, () => { - console.log(`Listening on port ${PORT}`); -}); diff --git a/apps/vue-vite-app/.eslintrc.cjs b/apps/vue-vite-app/.eslintrc.cjs deleted file mode 100644 index 6f40582..0000000 --- a/apps/vue-vite-app/.eslintrc.cjs +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-env node */ -require('@rushstack/eslint-patch/modern-module-resolution') - -module.exports = { - root: true, - 'extends': [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/eslint-config-typescript', - '@vue/eslint-config-prettier/skip-formatting' - ], - parserOptions: { - ecmaVersion: 'latest' - } -} diff --git a/apps/vue-vite-app/.gitignore b/apps/vue-vite-app/.gitignore deleted file mode 100644 index 38adffa..0000000 --- a/apps/vue-vite-app/.gitignore +++ /dev/null @@ -1,28 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/apps/vue-vite-app/.prettierrc.json b/apps/vue-vite-app/.prettierrc.json deleted file mode 100644 index 66e2335..0000000 --- a/apps/vue-vite-app/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/prettierrc", - "semi": false, - "tabWidth": 2, - "singleQuote": true, - "printWidth": 100, - "trailingComma": "none" -} \ No newline at end of file diff --git a/apps/vue-vite-app/.vscode/extensions.json b/apps/vue-vite-app/.vscode/extensions.json deleted file mode 100644 index c0a6e5a..0000000 --- a/apps/vue-vite-app/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] -} diff --git a/apps/vue-vite-app/README.md b/apps/vue-vite-app/README.md deleted file mode 100644 index 027eb5d..0000000 --- a/apps/vue-vite-app/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# vue-vite-app - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -npm install -``` - -### Compile and Hot-Reload for Development - -```sh -npm run dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -npm run build -``` - -### Lint with [ESLint](https://eslint.org/) - -```sh -npm run lint -``` diff --git a/apps/vue-vite-app/env.d.ts b/apps/vue-vite-app/env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/apps/vue-vite-app/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/apps/vue-vite-app/index.html b/apps/vue-vite-app/index.html deleted file mode 100644 index a888544..0000000 --- a/apps/vue-vite-app/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/apps/vue-vite-app/package.json b/apps/vue-vite-app/package.json deleted file mode 100644 index 9252413..0000000 --- a/apps/vue-vite-app/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "vue-vite-app", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check build-only", - "preview": "vite preview", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false", - "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", - "format": "prettier --write src/" - }, - "dependencies": { - "@ffmpeg/ffmpeg": "*", - "@ffmpeg/util": "*", - "vue": "^3.4.18" - }, - "devDependencies": { - "@rushstack/eslint-patch": "^1.7.2", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^20.11.17", - "@vitejs/plugin-vue": "^5.0.4", - "@vitejs/plugin-vue-jsx": "^3.1.0", - "@vue/eslint-config-prettier": "^9.0.0", - "@vue/eslint-config-typescript": "^12.0.0", - "@vue/tsconfig": "^0.5.1", - "eslint": "^8.56.0", - "eslint-plugin-vue": "^9.21.1", - "npm-run-all": "^4.1.5", - "prettier": "^3.2.5", - "typescript": "~5.3.3", - "vite": "^4.5.2", - "vue-tsc": "^1.8.27" - } -} diff --git a/apps/vue-vite-app/public/favicon.ico b/apps/vue-vite-app/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/apps/vue-vite-app/src/App.vue b/apps/vue-vite-app/src/App.vue deleted file mode 100644 index 2e7c878..0000000 --- a/apps/vue-vite-app/src/App.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/apps/vue-vite-app/src/assets/base.css b/apps/vue-vite-app/src/assets/base.css deleted file mode 100644 index 8816868..0000000 --- a/apps/vue-vite-app/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/apps/vue-vite-app/src/assets/main.css b/apps/vue-vite-app/src/assets/main.css deleted file mode 100644 index e8667cd..0000000 --- a/apps/vue-vite-app/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/apps/vue-vite-app/src/components/FFmpegDemo.vue b/apps/vue-vite-app/src/components/FFmpegDemo.vue deleted file mode 100644 index 56cf22f..0000000 --- a/apps/vue-vite-app/src/components/FFmpegDemo.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/apps/vue-vite-app/src/main.ts b/apps/vue-vite-app/src/main.ts deleted file mode 100644 index 0ac3a5f..0000000 --- a/apps/vue-vite-app/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/apps/vue-vite-app/tsconfig.app.json b/apps/vue-vite-app/tsconfig.app.json deleted file mode 100644 index 59a15f2..0000000 --- a/apps/vue-vite-app/tsconfig.app.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - }, - "target": "esnext", - "moduleResolution": "node" - } -} diff --git a/apps/vue-vite-app/tsconfig.json b/apps/vue-vite-app/tsconfig.json deleted file mode 100644 index 66b5e57..0000000 --- a/apps/vue-vite-app/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - } - ] -} diff --git a/apps/vue-vite-app/tsconfig.node.json b/apps/vue-vite-app/tsconfig.node.json deleted file mode 100644 index dee96be..0000000 --- a/apps/vue-vite-app/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/apps/vue-vite-app/vite.config.ts b/apps/vue-vite-app/vite.config.ts deleted file mode 100644 index 20fba69..0000000 --- a/apps/vue-vite-app/vite.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [vue(), vueJsx()], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - }, - optimizeDeps: { - exclude: ['@ffmpeg/ffmpeg', '@ffmpeg/util'] - }, - server: { - headers: { - 'Cross-Origin-Opener-Policy': 'same-origin', - 'Cross-Origin-Embedder-Policy': 'require-corp' - } - } -}) diff --git a/apps/website/.gitignore b/apps/website/.gitignore deleted file mode 100644 index 0ba35a9..0000000 --- a/apps/website/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build -/docs/api - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/apps/website/README.md b/apps/website/README.md deleted file mode 100644 index f42b9a9..0000000 --- a/apps/website/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# Website - -This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. - -### Installation - -When cloning the repository, make sure you have git-lfs installed. If you install git-lfs after cloning, simple run -`git lfs pull` to download large files. - -``` -$ npm install -``` - -### Local Development - -``` -$ npm start -``` - -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. - -### Build - -``` -$ npm run build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true npm run deploy -``` - -Not using SSH: - -``` -$ GIT_USER= npm run deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/apps/website/assets/angular.xcf b/apps/website/assets/angular.xcf deleted file mode 100644 index 670d2728243fe10503efb3aec0cd2052b13e61d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9607 zcmd5?dvF}(k)PdJ?P^!rU1=q)UY50buPl2tG6Fv^ff)N7h;2ylC6#cIPZ(Pz3Z1`10~~ zUrfxqW5L}#QY2HCuj=kuI;H2~<@d9VXa798cHN^ZmnPP(S-JfF)=+X;&yqDO*F2m^ z3QT#p=f3WQC4U{Q7{2d+8SY5P9}llz`(XEy<*R!V9Tv1l|3Y(>DUYmPzAmwR^^z|x zUCT$TS+;EL(sc=$KTg)-Ury#VkJ~(tX(e%RoDpKfe~#1t2{P||t%cpIdmdTY{c!5R z)jd4L%OBYM*!eaq>~$>P`UE}^3hZp>V}q^?FzUz26UND*adKjuTrf^994Cjz$x+CB zzHaQ**aO)4-0Z)}l>tU0%L*H?VVpdkDllK$ykEN}0k7Q)_KVH?vc^P4qkLYQ!{hFK z4ZWtvi|1&p9Gkzv{GH*vyE{F@F#G9`>1jq@KkZ3(8u<(zMgc?0h%mGn#SBTKl%d&( zGc*{L3<+ZbLyb|(P-WEj(?D;9(a`T4%kC~Sn){ve>O{;)_S;8nH5xVA`qiLUMSwIg z>I!Fwg-Ngsn_4(QT2PmKFtqm5F-HsPe4dILE&X)F)`A-J!_eGMheuuE46)DzZzBOM zoFEn&VY!sAg=0>>D#9Yw`5+K$K4J$Hk;rN=pd30)MMfQag>v=Xi=v!?ALqk8{Y6GX zd$;W)dv=O;5<~X+{ypg;z7YeL11d)!TvI=Apk5h(T5L@0R~G^*OQ-uqt?8$uICVCA z_?oVU@|F6?%XhPw@9p6%R^}YLZs1j@O9&cIsMZT1I(gl|YoV(HuAz#T1D7BA^byc` zJ!BsdgU}#Q5CIKL3PwN!2GD>3G++P?7(fFC(0~CnU;qsmKm!KQz@$*5%BVA)lAbE? zz;x~!{B)VoWZJ?1qE|o!)1En~hN8wKGne5Eww zT1_hH6$+Si*Dwo7(}71H;@M)-tU+c&v+3kL?`VlqM}!aTQuts}-Cp5?Ny~9d!3UE{ zdxZ}s-95~Fs5hO0S4c~6$u|jBTnfDUm6O|)V-21`gZ(%C8G$z)-@n1V?R>A`2dq;4 zKJZ|0MsSvBE3$s@;MIa)DQIC*d^>oM{k$2Bh`MMP>aHrN#YTqBhehov@Ph&TU;sZDzz+uSg8}?t06!SO4+ijq zp~gs9Dg}C2&Q0q(K@ZF6{%A4iVcAn(qt`$W%U*a+odZ3rT*psI5$Ivj?Z<^47Co)$ zVbQGpLJy0+loNVbbW@+u!=mmHp@-$bqtL^mPn{D|SWd@_q$QerTyO{wy7r$k+br&sQeGoXSUmecu$u;ZJS zYoJ9~K=#x;txv!rUc!V?+R|~&Li0{wiI=;)eB<#bv1k*2@B40Y4b^%*lzU7f3vyVr zfyps&n`@}DXnKap@sp10mItsdI=9frUN@M(H6k*aQ3p0 zr|84pMlINHv*3rj1|(I#g1dSM$bE-3!d)E<3bcnq5kWGzOtAGNL}wq1^bXU0u(y`w z-j5*LZ?o*A-{VAivbP3#)JgAPUXQ-TiYKj(B4ZxWGVSIs#qjnCGD5u{LZbt$dDFCy zU0m2!t+j2Jc!EX8|GF*W9Fq>`E38qHWcUS{S}Z z3l6DbUtmqbg#_qB_6s2Og^>5cNP0!c zcqK@8Wyp0ENOaZ6aubo_>X6_XQV5sTltQ=`BvT02PunM@5U%61+fp2^Z!sdg! z`fhC0!brCk9D2Q@J|*EgcefVUWgSeo=Hqi%;Bb-sT@g9cy*DcXE4|Lq$~`9X101bg zH`TIz`X3>WEM?hAeM6%4#?+b=qLrF^3Pb1aVZ~0hZ{cX+WD}rzQuGD9DAS3#uGWb+ z5uB7YZ;Bq{V7)i1T5BKchnD+_)|~dAaIiAdsxWA#XaO&AWI1abEQ*^mjog{%7DT+$ za8t9{qu=^?(9?9NQ=M4Sqo&er(@CYdrI2IJ>)5a}6 z(Vq6AIKp#fJ>H6Nf4T%lXA6uZ1uho~9Lg8?y(Lste|y`0M)9B|funD%Xt8Rh-zY)}Qr?2c1$Cheh7z2}(SrIY4nqu%bNQ-}l*5WTi?cc>gC97@_P<@iRqnu5 zSS}BQ`YDqZ!zq4<(`l5$Y$(#j6lDj*P-;Z^lvwFUg*<_EzEad{u8#WoC~8f(95bko zpwsEFJ^;Wgg2yp~`Y;HGIFcRWFjab&_Rpl7 zXMry$kG^RmR=NBvYt*=3Xv8Iv(1=SRVUJ1oW?3jPDe_yPk4bYbvJk^*UL-A1=jnVE z&VeOx{2hKC4fllZp!o~gLM;aofgSM>m&0QCGC$7j$5BwTp$I2KbwS5cVgPaYq)1lu zqTjWk=8pUpQ-&85@-d}cgwMMuUR^`jbOJB&Mca>u^%TI3SQXs5hC+93?03vWNnYIW z0yt#9@b)NEa7WxVU;$OUIQwy|Duh=KT*W`&`v|wLAqcnM*cI6A?0VWiHb)ibS5ajl zE{%^tRXzrw7Hgmu1E|FSYB7LX4AMXdML;dqq^l5$fLg49S`45TgR~(+5m1XY=}m+p zpcZSO7K5}eLJ?4lHR)-DbcZ7p0kuqDDB@BJh1KtbT5ohpMFVPC^ci$$D7#WBT~G_P z)zA4Z@0mGfp-*sDbAIUmq~}haLEp!h+$EMpw;mE=aXBT#;xbBzWzkAaEQ>nd6k=KQ z*~>yFoMek8mPL2qvBboRS@bOPYGi$Av8M|xvgoz}gkkrz5LaJf*vO45`$?(8K`TBL zW}KKK2GEL6$+X(i;aX6tcfN@!BZ~{!320@}y=V}@t7{0ObpEB#>dCO40+`Q_$`f;3 zLm`&C8B1foVl(0t8SlVgKZ#Yfk?4Ew7S|u<${=^_vs(Q?Bc=l3-YQ*g6ua3r1=-d8< zyX;bx)U#vg0`TlJRHWK4yZ)JrQ8fi$)XraxhS4{${dexj6{rrwE?n}y6Xc$Pr(^>+ zLOb0}}yzM!!!Yg2K$${JfeBnK@zmIWnP?Yta1mRBhR-nN3rFChT zeaqE)k(t#IR`RyfA^rx8>?nuk=L}8D(c$74$N41A+I(bh%NFw+U`6)Z#s&1}_oZY^cQR z12-PxcyTDjTSE-54BV86;$?vw6a{!q2;v=qn-+e&9dHAK8yO031Kp_1ocOQhf&J@v z1)xFJ6rT-`{=fPRdEs~f|+{kKP7EfrDga00lLqjD0-0BLsbu1u~ zZ`GD*A=_1oER9IM5iilgrFmL#=;h)VOd(F0r>C(PTu3X>GIg9y(PCC3RI?L<2isT+ zMd&LW=G>#M*6{(xcGVWim{asJ$2r>-MItVUNFy5OjA%{VT>2zyh1!inKPwJvRs5Wu zp*8J?S5S!2uV z-Muk_s3MVbOQIGjyaxH3+Z2_^+}yH=BWIT)VaJfIxt$S3p61p@0Wx$D>6zOdek5jY zeRz?Q6%sL`nsTOcf778irdFg7xD>76s9sp)YSZ^{RDa%Hj={V;>4%&ZPt6lef=bT! zSwTz>-V)bB?kg-HrkQDFTF9;_O-W4OoLZuV%b(E#(pY;8CW-0UPp}y5qAznt$az+@ z6y3NRH?99;#XK!V|0-#BqpRJ10%MtJMKb1~$mNi(h^7$I6m_9_Om9w&XieN){v2zC z+KofMw8B~yKWFdMn)c&3&$bt0H0(O+ztz>mk^L{MMc5He^3JpZt%;xP%1{a+O*!p9 z+7sC8?D>9s5PCGFI)c+xCyzC|dt(YgMJDCOMJ;k@4H76fGb&RED)MGLg`gs1#*i+# z=@CsKsK}B9DFhYyk((m^6oQJh=tZMMArp3U^=Eg*7_xH(Mv?-T3k4443;e+^@PaAu zlqY61sRZHMXT;OC- zpf4b>#V4@ITWU1otn2aA;zbK&=L(D@%Zvs*H2Q*NMjcxD0}q7bMlJgGLmMkS<;Fy1 z4{vVvRvHtOJ^Gs&zG`#>Y&-L*K#fs>+5J7?S|g6xgHOag38PHem!56#)*~UbxG_{=ffL_v*v1eb)6~lg8Zw_uuOE{BsU$4PSS0lZ(%5z{N8zj%sWOx>)IAtBW&Syu-!MxwzcLM>QJ82K4C0?SFfE z80)*f8{=fQ|J6FK`#J2Ncdws+7c<3`lR*B34Ysk^MDJO;a_N$F%h#+jUyLMh%r&18SLSb05q1+hwr1@7qml93wI6%%)NxxQ);P9$cdYTp zdP36@7uUG>`1J$Fj)AGE#T{>RvE9WRT%6|O%`UoE-gLXG&vWsUF5czhJuZIM#d}>` atnq)aaXd5sQohcJF?PVmbJ+jS$o@BM02fOD diff --git a/apps/website/assets/background.xcf b/apps/website/assets/background.xcf deleted file mode 100644 index d94cdbcd7fbeaf4fba87cfcf825dd50ee5170c33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1575 zcmd6ny>HV%7{)Ij4zwjSP(VU393Mr=U@0CLm|Ez7Iz&QZg3Wa|~0|P<~3=9Y{gy;3WcCG>;b>p?3`#tw*pZ%UgJ=&Dp!9YIf zdY%xXvW((6MDY|l1yw327NFxRXd)rbKy|1Jonueq&O+azW{9QTARdiWl%X!D^Yluh z{7m)bL!GV5+pE1h)YHm`>X9ERH%xS&+GzBCJI%&JCDVAQ`<>bLAPnMRoXB<#Hwo8# z+08GngYLDzbbB(tsCzrz^aCA*((9r&K2+n1yA|n7>L^%ODb0ungH&ZQA8&bM4-cki zwxW_)71(-jS})%*?Q!mwA8dq4ycOl!rngDafavW`piAVJ9;3t;fT*3O&ael>Wy@c* z{H*1r<>xGa!tzba&%@LGiZ}*C_onq1*#qJ#`3VBNVtG45&|F0IQQ@$SWq3+AS{G40 zFsyf&*O@mBsVwKf*KU~h+A8xNQ!~fRC(LKeJ?0DME9QIV7v@jH`V8~Dp%6PQF|qXj z)th*}sf6XJ{m6Cfdl$OT`=@j3vTuX*2SAkHX8x`ksvy&GBzu0kL4Ev*%hcXMn@Mfz zJ$hp diff --git a/apps/website/assets/ffmpegwasm-arch.drawio b/apps/website/assets/ffmpegwasm-arch.drawio deleted file mode 100644 index c76f1dc..0000000 --- a/apps/website/assets/ffmpegwasm-arch.drawio +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/website/assets/nextjs.xcf b/apps/website/assets/nextjs.xcf deleted file mode 100644 index 8f744398806da724cce045d4126a4649f4acb080..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4390 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 UNZ;~e#XHEokTTlH@qm>7ALc*4?*IS* diff --git a/apps/website/assets/solidstart-vite.xcf b/apps/website/assets/solidstart-vite.xcf deleted file mode 100644 index 4681f2bc73eb7f4e7325ff63c752135a1d2cc1d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23225 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 diff --git a/apps/website/assets/sveltekit-vite.xcf b/apps/website/assets/sveltekit-vite.xcf deleted file mode 100644 index 703875d39dcbb59689ed0a4550e7e49325509422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54785 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 L$=_J6D*5rh!nd|C diff --git a/apps/website/assets/vanilla.xcf b/apps/website/assets/vanilla.xcf deleted file mode 100644 index 20235091e630a4bbec5798ee2ad4265d759c1c2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6351 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%0Ai80vXaaU9h6ArlO=MR~r#sphIYWpV#g7 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 - -I started to work on ffmpeg.wasm around Oct. 2019, it was the time -WebAssembly is still in very early stage and transpiling FFmpeg to ffmpeg.wasm -was very challenging. (but possible as there was a pioneer project -[ffmpeg.js](https://github.com/Kagami/ffmpeg.js/)) Over these years, I -have been trying to make ffmpeg.wasm to be production-grade, but failed -as FFmpeg is such a powerful framework and WebAssembly is still evolving. -It wasn't easy to support even one requirements (ex. RTSP) from the community -and I found it really hard to continue sometimes. But with almost **11k stars**, -**600 forks**, **4.1k used-by projects** and **2.3M downloads** in total, -I still believe ffmpeg.wasm is a meaningful project to continue. -That's why I decided to pause a little while and rethink what -should be done in the next stage. - -As the result, I started to work on ffmpeg.wasm 0.12.0, it is a major version and -not backward compatible with 0.11.0. Massive issues are fixed in this version, -including: - -- Upgrade Emscripten to 3.1.40 -- Upgrade FFmpeg to n5.1.3 -- Docker build with cache (reduce time to build a new version) -- Support timeout(), terminate() and other fundamental operations -- Split libraries to multiple small libraries -- Rewrite the whole library with TypeScript -- Merge multiple repositories into one monorepo -- Offical Web Worker support -- Offical single thread and multi thread version support -- Enhanced documentation -- Official domain name - -Lots of features are still in the backlog and it requires lots effort to -even just compelete one of them, such as: - -- Speed up ffmpeg.wasm using WebAssembly intrinsic -- Support RTSP protocol -- Support more popular libraries - -I believe there is still a long way to go for ffmpeg.wasm to really become -a production-grade library, but it is defintely a gamechanger and a chance -to see the potential of WebAssembly and web technologies in general. That's -why I am working on it and welcome to join us. - -Hope you enjoy this release :smile: - -\- Jerome diff --git a/apps/website/blog/authors.yml b/apps/website/blog/authors.yml deleted file mode 100644 index b7b8049..0000000 --- a/apps/website/blog/authors.yml +++ /dev/null @@ -1,5 +0,0 @@ -jeromewu: - name: Jerome Wu - title: Maintainer of ffmpeg.wasm - url: https://github.com/jeromewu - image_url: /img/jeromewu.png diff --git a/apps/website/deploy.sh b/apps/website/deploy.sh deleted file mode 100644 index 0830b0d..0000000 --- a/apps/website/deploy.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -npm install -npm run build diff --git a/apps/website/docs/contribution/core.md b/apps/website/docs/contribution/core.md deleted file mode 100644 index cb30d7a..0000000 --- a/apps/website/docs/contribution/core.md +++ /dev/null @@ -1,36 +0,0 @@ -# @ffmpeg/core - -To build @ffmpeg/core, make sure your docker is version 23.0+ as -[buildx](https://docs.docker.com/build/architecture/) is adopted. Also -You will need to install `make` to run build scripts. - -## Build - -Dev Build (single thread): -```bash -$ make dev -``` - -Dev Build (multithread): -```bash -$ make dev-mt -``` - -Prodution Build (single thread): -```bash -$ make prd -``` - -Prodution Build (multithread): -```bash -$ make prd-mt -``` - -> Each build might take around 1 hour depends on the spec of your machine, -> subsequent builds are faster as most layers are cached. - -The output file locates at **/packages/core** or **/packages/core-mt**. - -## Publish - -Simply run `npm publish` under **packages/core** or **/packages/core-mt**. diff --git a/apps/website/docs/contribution/ffmpeg.md b/apps/website/docs/contribution/ffmpeg.md deleted file mode 100644 index 02e67c2..0000000 --- a/apps/website/docs/contribution/ffmpeg.md +++ /dev/null @@ -1,27 +0,0 @@ -# @ffmpeg/ffmpeg - -The source code of @ffmpeg/ffmpeg locates at **/packages/ffmpeg**. - -## Development - -```bash -$ npm run dev -``` - -## Build - -Transpile Typescript to JavaScript. - -```bash -$ npm run build -``` - -## Lint - -```bash -$ npm run lint -``` - -## Publish - -Simply run `npm publish` under **packages/ffmpeg**. diff --git a/apps/website/docs/contribution/util.md b/apps/website/docs/contribution/util.md deleted file mode 100644 index f74f7f5..0000000 --- a/apps/website/docs/contribution/util.md +++ /dev/null @@ -1,27 +0,0 @@ -# @ffmpeg/util - -The source code of @ffmpeg/util locates at **/packages/util**. - -## Development - -```bash -$ npm run dev -``` - -## Build - -Transpile Typescript to JavaScript. - -```bash -$ npm run build -``` - -## Lint - -```bash -$ npm run lint -``` - -## Publish - -Simply run `npm publish` under **packages/util**. diff --git a/apps/website/docs/faq.md b/apps/website/docs/faq.md deleted file mode 100644 index 446e117..0000000 --- a/apps/website/docs/faq.md +++ /dev/null @@ -1,55 +0,0 @@ -# FAQ - -### Why ffmpeg.wasm doesn't support nodejs? - -ffmpeg.wasm did support nodejs before 0.12.0, but decided to discontinue nodejs support due to: - -- It takes extra effort to maintain nodejs support -- If you are not in browser, there are a lot of better choices than using WebAssembly for a better performance, ex: - - nodejs: https://www.npmjs.com/package/fluent-ffmpeg - - react-native: https://github.com/arthenica/ffmpeg-kit - -Of course, it is still highly welcome to contribute a nodejs version of ffmpeg.wasm. - -### Why ffmpeg.wasm is so slow comparing to ffmpeg? - -As of now, WebAssembly is still a lot slower than native, it is possible to further speed up using -WebAssembly intrinsic, which is basically writing assembly code. It is something we are investigating -and hope to introduce in the future. - -If you are OK with more unstable version of ffmpeg.wasm, using ffmpeg.wasm multithread (mt) version -can have around 2x speed comparing to single thread (but consume a lot more memory and cpu) - -### Is RTSP supported by ffmpeg.wasm? - -We are trying to support, but so far WebAssembly itself lack of features like sockets which makes -it hard to implement RTSP protocol. Possible workarounds are still under investigation. - -### What is the license of ffmpeg.wasm? - -There are two components inside ffmpeg.wasm: - -- @ffmpeg/ffmpeg (https://github.com/ffmpegwasm/ffmpeg.wasm/packages/ffmpeg) -- @ffmpeg/core (https://github.com/ffmpegwasm/ffmpeg.wasm/packages/core) - -@ffmpeg/core contains WebAssembly code which is transpiled from original FFmpeg C code with minor modifications, but overall it still following the same licenses as FFmpeg and its external libraries (as each external libraries might have its own license). - -@ffmpeg/ffmpeg contains kind of a wrapper to handle the complexity of loading core and calling low-level APIs. It is a small code base and under MIT license. - -### What is the maximum size of input file? - -2 GB, which is a hard limit in WebAssembly. Might become 4 GB in the future. - -### How can I build my own ffmpeg.wasm? - -In fact, it is `@ffmpeg/core` most people would like to build. - -To build on your own, you can check [Contribution Guide](/docs/contribution/core) - -Also you can check this series of posts to learn more fundamental concepts -(OUTDATED, but still good to learn foundations): - -- https://jeromewu.github.io/build-ffmpeg-webassembly-version-part-1-preparation/ -- https://jeromewu.github.io/build-ffmpeg-webassembly-version-part-2-compile-with-emscripten/ -- https://jeromewu.github.io/build-ffmpeg-webassembly-version-part-3-v0.1/ -- https://jeromewu.github.io/build-ffmpeg-webassembly-version-part-4-v0.2/ diff --git a/apps/website/docs/getting-started/examples.md b/apps/website/docs/getting-started/examples.md deleted file mode 100644 index e4dd6b9..0000000 --- a/apps/website/docs/getting-started/examples.md +++ /dev/null @@ -1,73 +0,0 @@ -import Grid from '@mui/material/Unstable_Grid2'; -import MuiThemeProvider from "@site/src/components/common/MuiThemeProvider"; -import ExampleCard from "@site/src/components/common/ExampleCard"; - -# Examples - -You can find how to use ffmpeg.wasm with frameworks here. :smile: - -:::caution -Do remember to run `npm run build` in the root of the repository before trying -any of the examples. -::: - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/website/docs/getting-started/installation.md b/apps/website/docs/getting-started/installation.md deleted file mode 100644 index 30f46ae..0000000 --- a/apps/website/docs/getting-started/installation.md +++ /dev/null @@ -1,35 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Installation - -:::note -ffmpeg.wasm only supports running in browser, see [FAQ](/docs/faq) for more -details -::: - -## Package Managers - -Install ffmpeg.wasm using package managers like npm and yarn: - - - - -```bash -npm install @ffmpeg/ffmpeg @ffmpeg/util -``` - - - - -```bash -yarn add @ffmpeg/ffmpeg @ffmpeg/util -``` - - - - -:::info -As `@ffmpeg/ffmpeg` spawns a web worker, you cannot import `@ffmpeg/ffmpeg` from CDN like -unpkg. It is recommended to download it and host it on your server most of the time. -::: diff --git a/apps/website/docs/getting-started/usage.md b/apps/website/docs/getting-started/usage.md deleted file mode 100644 index 3631ed0..0000000 --- a/apps/website/docs/getting-started/usage.md +++ /dev/null @@ -1,444 +0,0 @@ -# Usage - -Learn the basics of using ffmpeg.wasm. - -:::note -It is recommended to read [Overview](/docs/overview) first. -::: - -## Transcode webm to mp4 video - -:::caution -If you are a [vite](https://vitejs.dev/) user, use `esm` in **baseURL** instead of `umd`: - -~~https://unpkg.com/@ffmpeg/core@0.12.10/dist/umd~~ => https://unpkg.com/@ffmpeg/core@0.12.10/dist/esm -::: - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile, toBlobURL } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - ffmpeg.on('log', ({ message }) => { - messageRef.current.innerHTML = message; - console.log(message); - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - await ffmpeg.exec(['-i', 'input.webm', 'output.mp4']); - const data = await ffmpeg.readFile('output.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

-

Open Developer Tools (Ctrl+Shift+I) to View Logs

- - ) - : ( - - ) - ); -} -``` - -## Transcode webm to mp4 video (multi-thread) - -:::caution -As SharedArrayBuffer is required for multithread version, make sure -you have have fulfilled [Security Requirements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements). -::: - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile, toBlobURL } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core-mt@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - ffmpeg.on('log', ({ message }) => { - messageRef.current.innerHTML = message; - console.log(message); - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - workerURL: await toBlobURL(`${baseURL}/ffmpeg-core.worker.js`, 'text/javascript'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - await ffmpeg.exec(['-i', 'input.webm', 'output.mp4']); - const data = await ffmpeg.readFile('output.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

-

Open Developer Tools (Ctrl+Shift+I) to View Logs

- - ) - : ( - - ) - ); -} -``` - -## Transcode video with timeout - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - ffmpeg.on('log', ({ message }) => { - messageRef.current.innerHTML = message; - console.log(message); - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - // The exec should stop after 1 second. - await ffmpeg.exec(['-i', 'input.webm', 'output.mp4'], 1000); - const data = await ffmpeg.readFile('output.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

-

Open Developer Tools (Ctrl+Shift+I) to View Logs

- - ) - : ( - - ) - ); -} -``` - -## Transcode video with progress (experimental) - -:::danger -`progress` is an experimental feature and might not work for many cases -(ex. concat video files, convert image files, ...). Please use with caution. -::: - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - // Listen to progress event instead of log. - ffmpeg.on('progress', ({ progress, time }) => { - messageRef.current.innerHTML = `${progress * 100} % (transcoded time: ${time / 1000000} s)`; - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - await ffmpeg.exec(['-i', 'input.webm', 'output.mp4']); - const data = await ffmpeg.readFile('output.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

- - ) - : ( - - ) - ); -} -``` - -## Split video into segments of equal duration - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - ffmpeg.on('log', ({ message }) => { - messageRef.current.innerHTML = message; - console.log(message); - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - await ffmpeg.exec([ - '-i', - 'input.webm', - '-f', - 'segment', - '-segment_time', - '3', - '-g', - '9', - '-sc_threshold', - '0', - '-force_key_frames', - 'expr:gte(t,n_forced*9)', - '-reset_timestamps', - '1', - '-map', - '0', - 'output_%d.mp4' - ]); - const data = await ffmpeg.readFile('output_1.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

-

Open Developer Tools (Ctrl+Shift+I) to View Logs

- - ) - : ( - - ) - ); -} -``` - -## Display Text on the video - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - ffmpeg.on('log', ({ message }) => { - messageRef.current.innerHTML = message; - console.log(message); - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - await ffmpeg.writeFile('arial.ttf', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/arial.ttf')); - await ffmpeg.exec([ - '-i', - 'input.webm', - '-vf', - 'drawtext=fontfile=/arial.ttf:text=\'ffmpeg.wasm\':x=10:y=10:fontsize=24:fontcolor=white', - 'output.mp4', - ]); - const data = await ffmpeg.readFile('output.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

-

Open Developer Tools (Ctrl+Shift+I) to View Logs

- - ) - : ( - - ) - ); -} -``` - -## Interlace 2 Videos - -```jsx live -// import { FFmpeg } from '@ffmpeg/ffmpeg'; -// import { fetchFile } from '@ffmpeg/util'; -function() { - const [loaded, setLoaded] = useState(false); - const ffmpegRef = useRef(new FFmpeg()); - const videoRef = useRef(null); - const messageRef = useRef(null); - - const load = async () => { - const baseURL = 'https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd' - const ffmpeg = ffmpegRef.current; - ffmpeg.on('log', ({ message }) => { - messageRef.current.innerHTML = message; - console.log(message); - }); - // toBlobURL is used to bypass CORS issue, urls with the same - // domain can be used directly. - await ffmpeg.load({ - coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, 'text/javascript'), - wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, 'application/wasm'), - }); - setLoaded(true); - } - - const transcode = async () => { - const ffmpeg = ffmpegRef.current; - await ffmpeg.writeFile('input.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm')); - await ffmpeg.writeFile('reversed.webm', await fetchFile('https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s_reversed.webm')); - await ffmpeg.exec([ - '-i', - 'input.webm', - '-i', - 'reversed.webm', - '-filter_complex', - '[0:v][1:v]blend=all_expr=\'A*(if(eq(0,N/2),1,T))+B*(if(eq(0,N/2),T,1))\'', - 'output.mp4', - ]); - const data = await ffmpeg.readFile('output.mp4'); - videoRef.current.src = - URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'})); - } - - return (loaded - ? ( - <> -
- -

-

Open Developer Tools (Ctrl+Shift+I) to View Logs

- - ) - : ( - - ) - ); -} -``` - -## Use WORKERFS - -:::note -Required: - -- @ffmpeg/ffmpeg@0.12.6+ -- @ffmpeg/core@0.12.4+ - ::: - -Please Check this PR: [Add WORKERFS support](https://github.com/ffmpegwasm/ffmpeg.wasm/pull/581) - -## Abort exec() with signal - -:::note -Required: - -- @ffmpeg/ffmpeg@0.12.6+ -- @ffmpeg/core@0.12.4+ - ::: - -Please check this PR: [abort signal](https://github.com/ffmpegwasm/ffmpeg.wasm/pull/573) diff --git a/apps/website/docs/migration.md b/apps/website/docs/migration.md deleted file mode 100644 index d8dfba3..0000000 --- a/apps/website/docs/migration.md +++ /dev/null @@ -1,51 +0,0 @@ -import MuiThemeProvider from "@site/src/components/common/MuiThemeProvider"; -import Table from '@mui/material/Table'; -import TableBody from '@mui/material/TableBody'; -import TableCell from '@mui/material/TableCell'; -import TableContainer from '@mui/material/TableContainer'; -import TableHead from '@mui/material/TableHead'; -import TableRow from '@mui/material/TableRow'; -import Paper from '@mui/material/Paper'; - -# Migrating from 0.11.x to 0.12+ - -As 0.12+ is not backward compatible with 0.11.x, below is a quick mapping -table to transform 0.11.x to 0.12+ - - - - - - - 0.11.x - 0.12+ - Note - - - - {[ - {"0.11.x": "import { createFFmpeg } from '@ffmpeg/ffmpeg'", "0.12+": "import { FFmpeg } from '@ffmpeg/ffmpeg'", note: ""}, - {"0.11.x": "createFFmpeg()", "0.12+": "new FFmpeg()", note: "argumens of createFFmpeg() is moved to ffmpeg.load()"}, - {"0.11.x": "await ffmpeg.load()", "0.12+": "await ffmpeg.load()", note: ""}, - {"0.11.x": "await ffmpeg.run(...args)", "0.12+": "await ffmpeg.exec([...args])", note: ""}, - {"0.11.x": "ffmpeg.FS.writeFile()", "0.12+": "await ffmpeg.writeFile()", note: ""}, - {"0.11.x": "ffmpeg.FS.readFile()", "0.12+": "await ffmpeg.readFile()", note: ""}, - {"0.11.x": "ffmpeg.exit()", "0.12+": "await ffmpeg.terminate()", note: ""}, - {"0.11.x": "ffmpeg.setLogger()", "0.12+": "ffmpeg.on(\"log\", () => {})", note: ""}, - {"0.11.x": "ffmpeg.setProgress()", "0.12+": "ffmpeg.on(\"progress\", () => {})", note: ""}, - {"0.11.x": "import { fetchFile } from '@ffmpeg/ffmpeg'", "0.12+": "import { fetchFile } from '@ffmpeg/util'", note: ""}, - ].map((row) => ( - - - {row['0.11.x']} - - {row['0.12+']} - {row.note} - - ))} - -
-
-
diff --git a/apps/website/docs/overview.md b/apps/website/docs/overview.md deleted file mode 100644 index 8fe7f8f..0000000 --- a/apps/website/docs/overview.md +++ /dev/null @@ -1,122 +0,0 @@ -import MuiThemeProvider from "@site/src/components/common/MuiThemeProvider"; -import Table from '@mui/material/Table'; -import TableBody from '@mui/material/TableBody'; -import TableCell from '@mui/material/TableCell'; -import TableContainer from '@mui/material/TableContainer'; -import TableHead from '@mui/material/TableHead'; -import TableRow from '@mui/material/TableRow'; -import Paper from '@mui/material/Paper'; - -# Overview - -:::info -For 0.11.x, visit [https://ffmpegwasm-0-11-x.netlify.app](https://ffmpegwasm-0-11-x.netlify.app) -and [0.11.x](https://github.com/ffmpegwasm/ffmpeg.wasm/tree/0.11.x) branch. -::: - -## Introduction - -ffmpeg.wasm is a pure WebAssembly / JavaScript port of [FFmpeg](https://www.ffmpeg.org/) -enabling video & audio record, convert and stream right inside browsers. - -We leverage -[Emscripten](https://emscripten.org/) to transpile FFmpeg source code and many -libraries to WebAssembly and develop a minimal but essential library to free -developers from common requirements like running ffmpeg inside web worker and -more. - -## Advantages - -- **Security**: your users' data only lives inside their browser, no need to - worry about any data leakage or network latency. -- **Client-side computing**: instead of hosting a cluster of server-end servers, - you can now offload multimedia processing to client-side. -- **Flexible**: ffmpeg.wasm comes with single-thread and multi-thread cores, you - can use whichever fits your use case. - -## Architecture - -![architecture](/img/ffmpegwasm-arch.png) - -Multimedia transcoding is a resource-intensive task that you don't want to -execute in main thread, thus in ffmpeg.wasm we offload those task to web worker -(`ffmpeg.worker`) by default. This makes almost all function calls in ffmpeg.wasm -are asynchronous and it is recommended to use **async** / **await** syntax. - -`ffmpeg.worker` downloads WebAssembly code (`ffmpeg-core`) from CDN -and initialized it in WorkerGlobalScope. For any input video file you would like -to process, you need to first populated them inside ffmpeg-core File System and -also read result from `ffmpeg-core` File System once it is done. - -If you are using a multi-thread version of `ffmpeg-core`, more web workers will -be spawned by `ffmpeg-core` inside `ffmpeg.worker` - -:::info -The concept of `core` in ffmpeg.wasm is like the engine of a car, it is not only -the most important part of ffmpeg.wasm but also a swappable component. Currently -we maintain single-thread (`@ffmpeg/core`) and multi-thread version -(`@ffmpeg/core-mt`) cores, you can build your own core (ex. a core with x264 - lib only to minimize ffmpeg-core.wasm file size) using build scripts in the repository. -::: - -## Packages - -All ffmpeg.wasm packages are under [@ffmpeg](https://www.npmjs.com/search?q=%40ffmpeg) -name space: - -| Name | Usage | -| ---- | ----- | -| @ffmpeg/ffmpeg | ffmpeg.wasm main package | -| @ffmpeg/util | common utility functions | -| @ffmpeg/types | TypeScript types | -| @ffmpeg/core | single-thread ffmpeg.wasm core | -| @ffmpeg/core-mt | multi-thread ffmpeg.wasm core | - -## Libraries - -ffmpeg.wasm is built with toolchains / libraries: - - - - - - - Name - Version - Note - - - - {[ - {name: "Emscripten", version: "3.1.40", note: "Emscripten is a toolchain for compiling C and C++ code into WebAssembly and JavaScript, making it possible to run applications written in these languages in web browsers."}, - {name: "FFmpeg", version: "n5.1.4", note: "FFmpeg is a powerful multimedia framework that can decode, encode, transcode, and stream audio and video files. It's widely used for media manipulation and streaming."}, - {name: "x264", version: "0.164.x", note: "x264 is a popular video encoding library that provides high-quality H.264 video compression. It's commonly used for video encoding and transcoding."}, - {name: "x265", version: "3.4", note: "x265 is a video encoding library that specializes in encoding videos using the H.265/HEVC codec, offering high compression efficiency for video content."}, - {name: "libvpx", version: "v1.13.1", note: "libvpx is an open-source video codec library used for encoding and decoding VP8 and VP9 video formats, commonly used for web-based video streaming."}, - {name: "lame", version: "3.100", note: "LAME is an audio encoder that converts audio files to the MP3 format, making it widely used for creating MP3 audio files."}, - {name: "ogg", version: "v1.3.4", note: "Ogg is a multimedia container format, and this library provides support for encoding and decoding audio and video in the Ogg format."}, - {name: "theora", version: "v1.1.1", note: "Theora is an open video codec designed for efficient video compression within the Ogg multimedia framework."}, - {name: "opus", version: "v1.3.1", note: "Opus is a versatile audio codec capable of handling both voice and music with low latency and high-quality compression."}, - {name: "vorbis", version: "v1.3.3", note: "Vorbis is an open-source audio codec known for its high audio quality and efficient compression. It's often used for audio streaming."}, - {name: "zlib", version: "v1.2.11", note: "zlib is a compression library that provides data compression and decompression functionality, commonly used in file compression formats like gzip."}, - {name: "libwebp", version: "v1.3.2", note: "libwebp is a library for working with the WebP image format, offering efficient image compression for web use"}, - {name: "freetype2", version: "v2.10.4", note: "FreeType 2 is a library for rendering fonts. It is commonly used for text rendering in applications and systems."}, - {name: "fribidi", version: "v1.0.9", note: "FriBidi is a library for handling bidirectional text (text containing both left-to-right and right-to-left scripts) and is often used in text layout and rendering."}, - {name: "harfbuzz", version: "5.2.0", note: "HarfBuzz is a text shaping engine that allows complex script text to be rendered correctly. It's used in conjunction with font rendering libraries."}, - {name: "libass", version: "0.15.0", note: "libass is a library for rendering and formatting subtitles in multimedia applications, making it essential for displaying subtitles alongside video content."}, - {name: "zimg", version: "3.0.5", note: "zimg implements the commonly required image processing basics of scaling, colorspace conversion, and depth conversion."} - ].map((row) => ( - - - {row.name} - - {row.version} - {row.note} - - ))} - -
-
-
diff --git a/apps/website/docs/performance.md b/apps/website/docs/performance.md deleted file mode 100644 index e2189a3..0000000 --- a/apps/website/docs/performance.md +++ /dev/null @@ -1,35 +0,0 @@ -# Performance - -ffmpeg.wasm uses transpiled FFmpeg C source code to WebAssembly code, it is for -certain that ffmpeg.wasm won't perform as good as FFmpeg as it is not fully -optimized at the moment. (Even in ffmpeg.wasm multithread version). In this -section we provide a short comparison, so that you can make decision based on your -needs: - -## Environment - -- CPU: 8 × 11th Gen Intel® Core™ i5-1135G7 @ 2.40GHz -- Memory: 15.6 GiB of RAM -- OS: Manjaro Linux 6.1.44-1-MANJARO (64-bit) -- Browser: Google Chrome Version 116.0.5845.96 (Official Build) (64-bit) -- FFmpeg: n5.1.2 - -## Comparison - -Setup: - -- Each command is executed 5 times. -- Only `ffmpeg.exec()` time is measured. -- Candidates - - FFmpeg: [native FFmpeg](https://hub.docker.com/r/linuxserver/ffmpeg), - considered as baseline. - - core: ffmpeg.wasm single thread version. - - core-mt: ffmpeg.wasm multi thread version. - -### $ ffmpeg -i [input.webm](https://test-videos.co.uk/vids/bigbuckbunny/webm/vp8/720/Big_Buck_Bunny_720_10s_1MB.webm) output.mp4 - -| # | FFmpeg | core v0.12.3 | core-mt v0.12.3 | -| --- | ------ | ------------ | --------------- | -| Avg | 5.2 sec | 128.8 sec (0.04x) | 60.4 sec (0.08x) | -| Max | 5.3 sec | 130.7 sec | 63.9 sec | -| Min | 5.1 sec | 126.6 sec | 59 sec | diff --git a/apps/website/docs/privacy-policy.md b/apps/website/docs/privacy-policy.md deleted file mode 100644 index 9cc59b1..0000000 --- a/apps/website/docs/privacy-policy.md +++ /dev/null @@ -1,168 +0,0 @@ -# Privacy Policy -

Last updated: August 05, 2023

-

This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.

-
-

Interpretation and Definitions

-

Interpretation

-

The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.

-

Definitions

-

For the purposes of this Privacy Policy:

-
    -
  • -

    Account means a unique account created for You to access our Service or parts of our Service.

    -
  • -
  • -

    Affiliate means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.

    -
  • -
  • -

    Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to ffmpeg.wasm.

    -
  • -
  • -

    Cookies are small files that are placed on Your computer, mobile device or any other device by a website, containing the details of Your browsing history on that website among its many uses.

    -
  • -
  • -

    Country refers to: Singapore

    -
  • -
  • -

    Device means any device that can access the Service such as a computer, a cellphone or a digital tablet.

    -
  • -
  • -

    Personal Data is any information that relates to an identified or identifiable individual.

    -
  • -
  • -

    Service refers to the Website.

    -
  • -
  • -

    Service Provider means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used.

    -
  • -
  • -

    Usage Data refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).

    -
  • -
  • -

    Website refers to ffmpeg.wasm, accessible from https://ffmpegwasm.netlify.app/

    -
  • -
  • -

    You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.

    -
  • -
-

Collecting and Using Your Personal Data

-

Types of Data Collected

-

Personal Data

-

While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to:

-
    -
  • Usage Data
  • -
-

Usage Data

-

Usage Data is collected automatically when using the Service.

-

Usage Data may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.

-

When You access the Service by or through a mobile device, We may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data.

-

We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device.

-

Tracking Technologies and Cookies

-

We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. The technologies We use may include:

-
    -
  • Cookies or Browser Cookies. A cookie is a small file placed on Your Device. You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service. Unless you have adjusted Your browser setting so that it will refuse Cookies, our Service may use Cookies.
  • -
  • Web Beacons. Certain sections of our Service and our emails may contain small electronic files known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs) that permit the Company, for example, to count users who have visited those pages or opened an email and for other related website statistics (for example, recording the popularity of a certain section and verifying system and server integrity).
  • -
-

Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on Your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web browser. Learn more about cookies on the Free Privacy Policy website article.

-

We use both Session and Persistent Cookies for the purposes set out below:

-
    -
  • -

    Necessary / Essential Cookies

    -

    Type: Session Cookies

    -

    Administered by: Us

    -

    Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.

    -
  • -
  • -

    Cookies Policy / Notice Acceptance Cookies

    -

    Type: Persistent Cookies

    -

    Administered by: Us

    -

    Purpose: These Cookies identify if users have accepted the use of cookies on the Website.

    -
  • -
  • -

    Functionality Cookies

    -

    Type: Persistent Cookies

    -

    Administered by: Us

    -

    Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.

    -
  • -
-

For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy.

-

Use of Your Personal Data

-

The Company may use Personal Data for the following purposes:

-
    -
  • -

    To provide and maintain our Service, including to monitor the usage of our Service.

    -
  • -
  • -

    To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.

    -
  • -
  • -

    For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.

    -
  • -
  • -

    To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.

    -
  • -
  • -

    To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.

    -
  • -
  • -

    To manage Your requests: To attend and manage Your requests to Us.

    -
  • -
  • -

    For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.

    -
  • -
  • -

    For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.

    -
  • -
-

We may share Your personal information in the following situations:

-
    -
  • With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
  • -
  • For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
  • -
  • With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
  • -
  • With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
  • -
  • With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside.
  • -
  • With Your consent: We may disclose Your personal information for any other purpose with Your consent.
  • -
-

Retention of Your Personal Data

-

The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.

-

The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.

-

Transfer of Your Personal Data

-

Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.

-

Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.

-

The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.

-

Delete Your Personal Data

-

You have the right to delete or request that We assist in deleting the Personal Data that We have collected about You.

-

Our Service may give You the ability to delete certain information about You from within the Service.

-

You may update, amend, or delete Your information at any time by signing in to Your Account, if you have one, and visiting the account settings section that allows you to manage Your personal information. You may also contact Us to request access to, correct, or delete any personal information that You have provided to Us.

-

Please note, however, that We may need to retain certain information when we have a legal obligation or lawful basis to do so.

-

Disclosure of Your Personal Data

-

Business Transactions

-

If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.

-

Law enforcement

-

Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).

-

Other legal requirements

-

The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:

-
    -
  • Comply with a legal obligation
  • -
  • Protect and defend the rights or property of the Company
  • -
  • Prevent or investigate possible wrongdoing in connection with the Service
  • -
  • Protect the personal safety of Users of the Service or the public
  • -
  • Protect against legal liability
  • -
-

Security of Your Personal Data

-

The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.

-

Children's Privacy

-

Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.

-

If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.

-

Links to Other Websites

-

Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.

-

We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.

-

Changes to this Privacy Policy

-

We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.

-

We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.

-

You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.

-

Contact Us

-

If you have any questions about this Privacy Policy, You can contact us:

-
    -
  • By email: jeromewus@gmail.com
  • -
diff --git a/apps/website/docusaurus.config.js b/apps/website/docusaurus.config.js deleted file mode 100644 index ac4f623..0000000 --- a/apps/website/docusaurus.config.js +++ /dev/null @@ -1,178 +0,0 @@ -// @ts-check -// Note: type annotations allow type checking and IDEs autocompletion - -const lightCodeTheme = require("prism-react-renderer/themes/github"); -const darkCodeTheme = require("prism-react-renderer/themes/dracula"); - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: "ffmpeg.wasm", - tagline: - "ffmpeg.wasm is a pure WebAssembly / JavaScript port of FFmpeg enabling video & audio record, convert and stream right inside browsers!", - url: "https://ffmpegwasm.netlify.app", - baseUrl: "/", - onBrokenLinks: "throw", - onBrokenMarkdownLinks: "warn", - favicon: "img/favicon.ico", - - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: "ffmpegwasm", // Usually your GitHub org/user name. - projectName: "ffmpeg.wasm", // Usually your repo name. - - // Even if you don't use internalization, you can use this field to set useful - // metadata like html lang. For example, if your site is Chinese, you may want - // to replace "en" with "zh-Hans". - i18n: { - defaultLocale: "en", - locales: ["en"], - }, - - presets: [ - [ - "classic", - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - sidebarPath: require.resolve("./sidebars.js"), - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - "https://github.com/ffmpegwasm/ffmpeg.wasm/tree/main/apps/website", - }, - blog: { - showReadingTime: true, - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - "https://github.com/ffmpegwasm/ffmpeg.wasm/tree/main/apps/website", - }, - theme: { - customCss: [ - require.resolve("./src/css/custom.css"), - require.resolve("@fontsource/roboto/300.css"), - require.resolve("@fontsource/roboto/400.css"), - require.resolve("@fontsource/roboto/500.css"), - require.resolve("@fontsource/roboto/700.css"), - ], - }, - gtag: { - trackingID: "G-8NBTQ7N6RB", - anonymizeIP: true, - }, - }), - ], - ], - - themeConfig: - /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - ({ - navbar: { - title: "ffmpeg.wasm", - logo: { - alt: "ffmpeg.wasm Logo", - src: "img/logo192.png", - }, - items: [ - { - type: "doc", - docId: "overview", - position: "left", - label: "Docs", - }, - { to: "/playground", label: "Playground", position: "left" }, - { to: "/blog", label: "Blog", position: "left" }, - { - href: "https://github.com/ffmpegwasm/ffmpeg.wasm", - label: "GitHub", - position: "right", - }, - ], - }, - footer: { - style: "dark", - links: [ - { - title: "Docs", - items: [ - { - label: "Tutorial", - to: "/docs/overview", - }, - ], - }, - { - title: "Community", - items: [ - { - label: "Stack Overflow", - href: "https://stackoverflow.com/questions/tagged/ffmpeg.wasm", - }, - { - label: "Discord", - href: "https://discord.gg/NjGMaqqfm5", - }, - ], - }, - { - title: "More", - items: [ - { - label: "Blog", - to: "/blog", - }, - { - label: "GitHub", - href: "https://github.com/ffmpegwasm/ffmpeg.wasm", - }, - ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} ffmpeg.wasm, Inc. Built with Docusaurus.`, - }, - prism: { - theme: lightCodeTheme, - darkTheme: darkCodeTheme, - }, - }), - plugins: [ - [ - "docusaurus-plugin-typedoc", - { - id: "ffmpeg", - entryPoints: ["../../packages/ffmpeg/src/index.ts"], - tsconfig: "../../packages/ffmpeg/tsconfig.json", - readme: "none", - out: "api/ffmpeg", - sidebar: { - indexLabel: "@ffmpeg/ffmpeg", - fullNames: true, - }, - }, - ], - [ - "docusaurus-plugin-typedoc", - { - id: "util", - entryPoints: ["../../packages/util/src/index.ts"], - tsconfig: "../../packages/util/tsconfig.json", - readme: "none", - out: "api/util", - sidebar: { - indexLabel: "@ffmpeg/util", - fullNames: true, - }, - }, - ], - ], - themes: ["@docusaurus/theme-live-codeblock"], - scripts: [ - { - src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8688083214014126", - async: true, - crossorigin: "anonymous", - }, - ], -}; - -module.exports = config; diff --git a/apps/website/netlify.toml b/apps/website/netlify.toml deleted file mode 100644 index cedaec2..0000000 --- a/apps/website/netlify.toml +++ /dev/null @@ -1,5 +0,0 @@ -[[headers]] - for = "/*" - [headers.values] - Cross-Origin-Opener-Policy = "same-origin" - Cross-Origin-Embedder-Policy = "require-corp" diff --git a/apps/website/package.json b/apps/website/package.json deleted file mode 100644 index a5e0bd5..0000000 --- a/apps/website/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "website", - "version": "0.12.0-alpha.0", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "build:packages": "cd ../.. && npm run build", - "clean": "rm -rf docs/api", - "prestart": "npm run clean && npm run build:packages", - "start": "docusaurus start", - "prebuild": "npm run clean && npm run build:packages", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" - }, - "dependencies": { - "@docusaurus/core": "^2.4.1", - "@docusaurus/preset-classic": "^2.4.1", - "@docusaurus/theme-live-codeblock": "^2.4.1", - "@emotion/react": "^11.10.4", - "@emotion/styled": "^11.10.4", - "@ffmpeg/ffmpeg": "*", - "@ffmpeg/util": "*", - "@fontsource/roboto": "^4.5.8", - "@mdx-js/react": "^1.6.22", - "@mui/icons-material": "^5.10.6", - "@mui/material": "^5.10.8", - "clsx": "^1.2.1", - "prism-react-renderer": "^1.3.5", - "react": "^17.0.2", - "react-ace": "^10.1.0", - "react-dom": "^17.0.2" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^2.2.0", - "@tsconfig/docusaurus": "^1.0.5", - "@types/ace": "^0.0.48", - "docusaurus-plugin-typedoc": "^0.17.5", - "typedoc": "^0.23.15", - "typedoc-plugin-markdown": "^3.13.6", - "typescript": "^4.7.4" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "engines": { - "node": ">=18.17" - } -} diff --git a/apps/website/sidebars.js b/apps/website/sidebars.js deleted file mode 100644 index 58bf164..0000000 --- a/apps/website/sidebars.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ - -// @ts-check - -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - // By default, Docusaurus generates a sidebar from the docs folder structure - // tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], - - // But you can create a sidebar manually - tutorialSidebar: [ - "overview", - { - type: "category", - label: "Getting Started", - items: [ - "getting-started/installation", - "getting-started/usage", - "getting-started/examples", - ], - }, - "performance", - "migration", - "faq", - { - type: "category", - label: "API", - items: ["api/ffmpeg/index", "api/util/index"], - }, - { - type: "category", - label: "Contribution", - items: ["contribution/core", "contribution/ffmpeg", "contribution/util"], - }, - { - type: "doc", - label: "Privacy Policy", - id: "privacy-policy", - }, - ], -}; - -module.exports = sidebars; diff --git a/apps/website/src/components/ExternalLibraries/index.tsx b/apps/website/src/components/ExternalLibraries/index.tsx deleted file mode 100644 index 20d4c25..0000000 --- a/apps/website/src/components/ExternalLibraries/index.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import styles from "./styles.module.css"; - -interface LibraryItem { - title: string; - desc: string; - img: string; - isBlackBackground?: boolean; -} - -const libs: LibraryItem[] = [ - { - title: "x264", - desc: "H.264 Codec", - img: require("@site/static/img/libs/x264.png").default, - isBlackBackground: true, - }, - { - title: "x265", - desc: "H.265 codec", - img: require("@site/static/img/libs/x265.webp").default, - }, - { - title: "libvpx", - desc: "VP8/VP9 codec", - img: require("@site/static/img/libs/libvpx.png").default, - }, - { - title: "theora", - desc: "OGV codec", - img: require("@site/static/img/libs/theora.png").default, - }, - { - title: "lame", - desc: "MP3 codec", - img: require("@site/static/img/libs/lame.gif").default, - }, - { - title: "vorbis", - desc: "OGG codec", - img: require("@site/static/img/libs/vorbis.png").default, - }, - { - title: "opus", - desc: "OPUS codec", - img: require("@site/static/img/libs/opus.png").default, - }, - { - title: "freetype2", - desc: "Font file renderer", - img: require("@site/static/img/libs/freetype.png").default, - }, - { - title: "libass", - desc: "subtitle renderer", - img: require("@site/static/img/libs/freetype.png").default, - }, - { - title: "libwebp", - desc: "WEBP codec", - img: require("@site/static/img/libs/webp.png").default, - }, -]; - -function Library({ title, desc, img, isBlackBackground = false }: LibraryItem) { - return ( -
-
- -
-
-

{title}

-

{desc}

-
-
- ); -} - -export default function ExternalLibraries(): JSX.Element { - return ( -
-
-

External Libraries

-

- {" "} - ffmpeg.wasm is built with common external libraries, and more of - libraries to be added! -

-
- {libs.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/apps/website/src/components/ExternalLibraries/styles.module.css b/apps/website/src/components/ExternalLibraries/styles.module.css deleted file mode 100644 index 1868af0..0000000 --- a/apps/website/src/components/ExternalLibraries/styles.module.css +++ /dev/null @@ -1,17 +0,0 @@ -.libraries { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; - background-color: rgba(229,231,235, 1); - color: #1b1b1d; -} - -.libraryImg { - height: 96px; - padding: 16px; -} - -.blackBackground { - background-color: #1b1b1d; -} diff --git a/apps/website/src/components/HomepageFeatures/index.tsx b/apps/website/src/components/HomepageFeatures/index.tsx deleted file mode 100644 index d592dbb..0000000 --- a/apps/website/src/components/HomepageFeatures/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import styles from "./styles.module.css"; - -type FeatureItem = { - title: string; - Svg: React.ComponentType>; - description: JSX.Element; -}; - -const FeatureList: FeatureItem[] = [ - { - title: "Data Security", - Svg: require("@site/static/img/safety-icon.svg").default, - description: ( - <> - ffmpeg.wasm runs only inside your browser, data security is guaranteed as - no data is sent to remote server. - - ), - }, - { - title: "Powered by WebAssembly", - Svg: require("@site/static/img/wasm-logo.svg").default, - description: ( - <> - ffmpeg.wasm transpiles ffmpeg source - code to WebAssembly code using - Emscripten to achieve optimal - performance. - - ), - }, - { - title: "Made with TypeScript", - Svg: require("@site/static/img/ts-logo-round-512.svg").default, - description: ( - <> - ffmpeg.wasm is written in TypeScript to provide great developer - experience (DX). - - ), - }, -]; - -function Feature({ title, Svg, description }: FeatureItem) { - return ( -
-
- -
-
-

{title}

-

{description}

-
-
- ); -} - -export default function HomepageFeatures(): JSX.Element { - return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/apps/website/src/components/HomepageFeatures/styles.module.css b/apps/website/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2..0000000 --- a/apps/website/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/apps/website/src/components/Playground/CoreDownloader.tsx b/apps/website/src/components/Playground/CoreDownloader.tsx deleted file mode 100644 index 64ace3d..0000000 --- a/apps/website/src/components/Playground/CoreDownloader.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; -import Typography from "@mui/material/Typography"; -import Container from "@mui/material/Container"; -import LinearProgressWithLabel from "@site/src/components/common/LinearProgressWithLabel"; -import { CORE_SIZE } from "./const"; - -export default function CoreDownloader({ url, received }) { - const total = CORE_SIZE[url]; - return ( - - {`Downloading ${url}`} - {`(${received} / ${total} bytes)`} - - - ); -} diff --git a/apps/website/src/components/Playground/CoreSwitcher.tsx b/apps/website/src/components/Playground/CoreSwitcher.tsx deleted file mode 100644 index 67867ce..0000000 --- a/apps/website/src/components/Playground/CoreSwitcher.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import Stack from "@mui/material/Stack"; -import FormGroup from "@mui/material/FormGroup"; -import FormControlLabel from "@mui/material/FormControlLabel"; -import Switch from "@mui/material/Switch"; -import IconButton from "@mui/material/IconButton"; -import HelpIcon from "@mui/icons-material/HelpOutline"; -import Tooltip from "@mui/material/Tooltip"; - -interface CoreSwitcherProps { - checked: boolean; - onChange: (event: React.ChangeEvent) => void; -} - -export default function CoreSwitcher({ checked, onChange }: CoreSwitcherProps) { - return ( - <> - - - } - label="Use Multithreading" - disabled={typeof SharedArrayBuffer !== "function"} - /> - - - - - - - - - ); -} diff --git a/apps/website/src/components/Playground/Workspace/Editor.tsx b/apps/website/src/components/Playground/Workspace/Editor.tsx deleted file mode 100644 index 46ea1e3..0000000 --- a/apps/website/src/components/Playground/Workspace/Editor.tsx +++ /dev/null @@ -1,121 +0,0 @@ -/// - -import React, { useEffect, useState } from "react"; -import AceEditor from "react-ace"; -import Paper from "@mui/material/Paper"; -import Stack from "@mui/material/Stack"; -import Typography from "@mui/material/Typography"; -import Button from "@mui/material/Button"; -import LinearProgressWithLabel from "@site/src/components/common/LinearProgressWithLabel"; -import { useColorMode } from "@docusaurus/theme-common"; -import "ace-builds/src-noconflict/mode-json"; -import "ace-builds/src-noconflict/mode-javascript"; -import "ace-builds/src-noconflict/mode-text"; -import "ace-builds/src-noconflict/theme-dracula"; -import "ace-builds/src-noconflict/theme-github"; - -const genFFmpegText = (args: string) => { - let data: any = []; - try { - data = JSON.parse(args); - } catch (e) {} - return `// equivalent ffmpeg.wasm API call -ffmpeg.exec(${JSON.stringify(data)}); - -// equivalent ffmpeg command line -ffmpeg ${data.join(" ")}`; -}; - -interface EditorProps { - args: string; - logs: string[]; - progress: number; - time: number; - onArgsUpdate: (args: string) => void; - onExec: () => Promise; -} - -export default function Editor({ - args = "", - logs = [], - progress = 0, - time = 0, - onArgsUpdate, - onExec, -}: EditorProps) { - const { colorMode } = useColorMode(); - const [output, setOutput] = useState(); - - useEffect(() => { - // scroll logs to the end. - output && output.renderer.scrollToLine(Number.POSITIVE_INFINITY); - }, [logs]); - - const theme = colorMode === "dark" ? "github" : "dracula"; - - return ( - - - - Editor: - Edit arguments below to update command: - - - - Console Output: - setOutput(editor)} - /> - Transcoding Progress: - - - - {time === 0 ? "" : `Time Elapsed: ${(time / 1000).toFixed(2)} s`} - - - - - - ); -} diff --git a/apps/website/src/components/Playground/Workspace/FileSystemManager.tsx b/apps/website/src/components/Playground/Workspace/FileSystemManager.tsx deleted file mode 100644 index bebd5ea..0000000 --- a/apps/website/src/components/Playground/Workspace/FileSystemManager.tsx +++ /dev/null @@ -1,245 +0,0 @@ -import React, { useState, ChangeEvent } from "react"; -import Box from "@mui/material/Box"; -import Button from "@mui/material/Button"; -import IconButton from "@mui/material/IconButton"; -import List from "@mui/material/List"; -import ListItem from "@mui/material/ListItem"; -import ListItemButton from "@mui/material/ListItemButton"; -import ListItemIcon from "@mui/material/ListItemIcon"; -import ListItemText from "@mui/material/ListItemText"; -import Modal from "@mui/material/Modal"; -import Paper from "@mui/material/Paper"; -import Stack from "@mui/material/Stack"; -import TextField from "@mui/material/TextField"; -import Tooltip from "@mui/material/Tooltip"; -import Typography from "@mui/material/Typography"; -import FolderIcon from "@mui/icons-material/Folder"; -import RefreshIcon from "@mui/icons-material/Refresh"; -import UploadFileIcon from "@mui/icons-material/UploadFile"; -import UploadIcon from "@mui/icons-material/Upload"; -import InsertDriveFileIcon from "@mui/icons-material/InsertDriveFile"; -import CreateNewFolderIcon from "@mui/icons-material/CreateNewFolder"; -import MoreButton from "./MoreButton"; -import { Node } from "./types"; - -interface FileSystemManagerProps { - path: string; - nodes: Node[]; - oldName: string; - newName: string; - renameOpen: boolean; - onNewNameChange: () => (event: ChangeEvent) => Promise; - onCloseRenameModal: () => () => Promise; - onFileUpload: ( - isText: boolean - ) => (event: ChangeEvent) => Promise; - onDirClick: (name: string) => () => Promise; - onFileClick: (name: string) => (option: string) => Promise; - onDirCreate: (name: string) => () => Promise; - onRename: (old_name: string, new_name: string) => () => Promise; - onRefresh: () => Promise; - onLoadSamples: () => Promise; -} - -const modalStyle = { - position: "absolute" as "absolute", - top: "50%", - left: "50%", - transform: "translate(-50%, -50%)", - width: 400, - bgcolor: "background.paper", - p: 4, -}; - -export const options = [ - { text: "Rename", key: "rename" }, - { text: "Download", key: "download" }, - { text: "Download as Text File", key: "download-text" }, - { text: "Delete", key: "delete" }, -]; - -export default function FileSystemManager({ - path = "/", - nodes = [], - oldName = "", - newName = "", - renameOpen = false, - onNewNameChange = () => () => Promise.resolve(), - onCloseRenameModal = () => () => Promise.resolve(), - onFileUpload = () => () => Promise.resolve(), - onFileClick = () => () => Promise.resolve(), - onDirClick = () => () => Promise.resolve(), - onDirCreate = () => () => Promise.resolve(), - onRename = () => () => Promise.resolve(), - onRefresh = () => Promise.resolve(), - onLoadSamples = () => Promise.resolve(), -}: FileSystemManagerProps) { - const [newFolderOpen, setNewFolderOpen] = useState(false); - const [dirName, setDirName] = useState(""); - const handleNewFolderModalOpen = () => setNewFolderOpen(true); - const handleNewFolderModalClose = () => setNewFolderOpen(false); - - return ( - <> - - - <> - - File System: - - - - - - - - - {}} - aria-label="upload-text" - component="label" - size="small" - > - - - - - - { - setDirName(""); - handleNewFolderModalOpen(); - }} - aria-label="create-a-new-folder" - size="small" - > - - - - - - - - - - - {`Path: ${path}`} - - {nodes.map(({ name, isDir }, index) => - isDir ? ( - - - - - - - ) : ( - - } - > - - - - - - ) - )} - - - - - - - - - - Folder Name: - - setDirName(event.target.value)} - /> - - - - - - - - - - - - New Name: - - - - - - - - - - - ); -} diff --git a/apps/website/src/components/Playground/Workspace/MoreButton.tsx b/apps/website/src/components/Playground/Workspace/MoreButton.tsx deleted file mode 100644 index 2f802c3..0000000 --- a/apps/website/src/components/Playground/Workspace/MoreButton.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import * as React from "react"; -import IconButton from "@mui/material/IconButton"; -import Menu from "@mui/material/Menu"; -import MenuItem from "@mui/material/MenuItem"; -import MoreVertIcon from "@mui/icons-material/MoreVert"; - -const ITEM_HEIGHT = 48; - -interface Option { - key: string; - text: string; -} - -interface MoreButtonProps { - options: Option[]; - onItemClick: (option: string) => any; -} - -export default function MoreButton({ options, onItemClick }: MoreButtonProps) { - const [anchorEl, setAnchorEl] = React.useState(null); - const open = Boolean(anchorEl); - const handleClick = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget); - }; - const handleClose = () => { - setAnchorEl(null); - }; - - const handleItemClick = (option: string) => () => { - onItemClick(option); - setAnchorEl(null); - }; - - return ( -
- - - - - {options.map(({ text, key }) => ( - - {text} - - ))} - -
- ); -} diff --git a/apps/website/src/components/Playground/Workspace/index.tsx b/apps/website/src/components/Playground/Workspace/index.tsx deleted file mode 100644 index f54d5ca..0000000 --- a/apps/website/src/components/Playground/Workspace/index.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import React, { - ChangeEvent, - useState, - useEffect, - MutableRefObject, -} from "react"; -import Box from "@mui/material/Box"; -import Grid from "@mui/material/Grid"; -import { FFmpeg } from "@ffmpeg/ffmpeg"; -import { fetchFile } from "@ffmpeg/util"; -import { downloadFile } from "@site/src/util"; -import { Node } from "./types"; -import FileSystemManager from "./FileSystemManager"; -import { SAMPLE_FILES } from "../const"; -import Editor from "./Editor"; - -const defaultArgs = JSON.stringify(["-i", "video.webm", "video.mp4"], null, 2); - -interface WorkspaceProps { - ffmpeg: MutableRefObject; -} - -export default function Workspace({ ffmpeg: _ffmpeg }: WorkspaceProps) { - const [path, setPath] = useState("/"); - const [nodes, setNodes] = useState([]); - const [oldName, setOldName] = useState(""); - const [newName, setNewName] = useState(""); - const [renameOpen, setRenameOpen] = useState(false); - const [args, setArgs] = useState(defaultArgs); - const [progress, setProgress] = useState(0); - const [time, setTime] = useState(0); - const [logs, setLogs] = useState([]); - - const ffmpeg = _ffmpeg.current; - - const refreshDir = async (curPath: string) => { - if (ffmpeg.loaded) { - setNodes( - (await ffmpeg.listDir(curPath)).filter(({ name }) => name !== ".") - ); - } - }; - - const onNewNameChange = () => async (event: ChangeEvent) => { - setNewName(event.target.value); - }; - - const onCloseRenameModal = () => async () => { - setRenameOpen(false); - }; - - const onFileUpload = - (isText: boolean) => - async ({ target: { files } }: ChangeEvent) => { - for (let i = 0; i < files.length; i++) { - const file = files[i]; - let data: Uint8Array | string = await fetchFile(file); - if (isText) data = new TextDecoder().decode(data); - await ffmpeg.writeFile(`${path}/${file.name}`, data); - } - refreshDir(path); - }; - - const onFileClick = (name: string) => async (option: string) => { - const fullPath = `${path}/${name}`; - switch (option) { - case "rename": - setOldName(name); - setNewName(""); - setRenameOpen(true); - break; - case "download": - downloadFile( - name, - ((await ffmpeg.readFile(fullPath, "binary")) as Uint8Array).buffer - ); - break; - case "download-text": - downloadFile(name, await ffmpeg.readFile(fullPath, "utf8")); - break; - case "delete": - await ffmpeg.deleteFile(fullPath); - refreshDir(path); - break; - default: - break; - } - }; - - const onDirClick = (name: string) => async () => { - let nextPath = path; - if (path === "/") { - if (name !== "..") nextPath = `/${name}`; - } else if (name === "..") { - const cols = path.split("/"); - cols.pop(); - nextPath = cols.length === 1 ? "/" : cols.join("/"); - } else { - nextPath = `${path}/${name}`; - } - setPath(nextPath); - refreshDir(nextPath); - }; - - const onDirCreate = (name: string) => async () => { - if (name !== "") { - await ffmpeg.createDir(`${path}/${name}`); - } - refreshDir(path); - }; - - const onRename = (old_name: string, new_name: string) => async () => { - if (old_name !== "" && new_name !== "") { - await ffmpeg.rename(`${path}/${old_name}`, `${path}/${new_name}`); - } - setRenameOpen(false); - refreshDir(path); - }; - - const onLoadSamples = async () => { - for (const name of Object.keys(SAMPLE_FILES)) { - await ffmpeg.writeFile(name, await fetchFile(SAMPLE_FILES[name])); - } - refreshDir(path); - }; - - const onExec = async () => { - setProgress(0); - setTime(0); - const logListener = ({ message }) => { - setLogs((_logs) => [..._logs, message]); - }; - const progListener = ({ progress: prog }) => { - setProgress(prog * 100); - }; - ffmpeg.on("log", logListener); - ffmpeg.on("progress", progListener); - const start = performance.now(); - await ffmpeg.exec(JSON.parse(args)); - setTime(performance.now() - start); - ffmpeg.off("log", logListener); - ffmpeg.off("progress", progListener); - refreshDir(path); - }; - - useEffect(() => { - refreshDir(path); - }, []); - - return ( - - - - refreshDir(path)} - /> - - - setArgs(_args)} - onExec={onExec} - /> - - - - ); -} diff --git a/apps/website/src/components/Playground/Workspace/types.tsx b/apps/website/src/components/Playground/Workspace/types.tsx deleted file mode 100644 index 7490c2b..0000000 --- a/apps/website/src/components/Playground/Workspace/types.tsx +++ /dev/null @@ -1,4 +0,0 @@ -export interface Node { - name: string; - isDir: boolean; -} diff --git a/apps/website/src/components/Playground/const.ts b/apps/website/src/components/Playground/const.ts deleted file mode 100644 index fb040bc..0000000 --- a/apps/website/src/components/Playground/const.ts +++ /dev/null @@ -1,17 +0,0 @@ -export const CORE_VERSION = "0.12.6"; - -export const CORE_URL = `https://unpkg.com/@ffmpeg/core@${CORE_VERSION}/dist/umd/ffmpeg-core.js`; -export const CORE_MT_URL = `https://unpkg.com/@ffmpeg/core-mt@${CORE_VERSION}/dist/umd/ffmpeg-core.js`; - -export const CORE_SIZE = { - [`https://unpkg.com/@ffmpeg/core@${CORE_VERSION}/dist/umd/ffmpeg-core.js`]: 114673, - [`https://unpkg.com/@ffmpeg/core@${CORE_VERSION}/dist/umd/ffmpeg-core.wasm`]: 32129114, - [`https://unpkg.com/@ffmpeg/core-mt@${CORE_VERSION}/dist/umd/ffmpeg-core.js`]: 132680, - [`https://unpkg.com/@ffmpeg/core-mt@${CORE_VERSION}/dist/umd/ffmpeg-core.wasm`]: 32609891, - [`https://unpkg.com/@ffmpeg/core-mt@${CORE_VERSION}/dist/umd/ffmpeg-core.worker.js`]: 2915, -}; - -export const SAMPLE_FILES = { - "video.webm": - "https://raw.githubusercontent.com/ffmpegwasm/testdata/master/Big_Buck_Bunny_180_10s.webm", -}; diff --git a/apps/website/src/components/Playground/index.tsx b/apps/website/src/components/Playground/index.tsx deleted file mode 100644 index 3782870..0000000 --- a/apps/website/src/components/Playground/index.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import React, { useState, useEffect, useRef } from "react"; -import { FFmpeg } from "@ffmpeg/ffmpeg"; -import { toBlobURL } from "@ffmpeg/util"; -import Stack from "@mui/material/Stack"; -import MuiThemeProvider from "@site/src/components/common/MuiThemeProvider"; -import CoreDownloader from "./CoreDownloader"; -import Workspace from "./Workspace"; -import { CORE_URL, CORE_MT_URL } from "./const"; -import CoreSwitcher from "./CoreSwitcher"; - -enum State { - NOT_LOADED, - LOADING, - LOADED, -} - -export default function Playground() { - const [state, setState] = useState(State.LOADED); - const [isCoreMT, setIsCoreMT] = useState(false); - const [url, setURL] = useState(""); - const [received, setReceived] = useState(0); - const ffmpeg = useRef(new FFmpeg()); - - const load = async (mt: boolean = false) => { - setState(State.LOADING); - const setProgress = ({ url: _url, received: _received }) => { - setURL(_url as string); - setReceived(_received); - }; - const coreURL = await toBlobURL( - mt ? CORE_MT_URL : CORE_URL, - "text/javascript", - true, - setProgress - ); - const wasmURL = await toBlobURL( - mt - ? CORE_MT_URL.replace(/.js$/g, ".wasm") - : CORE_URL.replace(/.js$/g, ".wasm"), - "application/wasm", - true, - setProgress - ); - const workerURL = mt - ? await toBlobURL( - CORE_MT_URL.replace(/.js$/g, ".worker.js"), - "text/javascript", - true, - setProgress - ) - : ""; - ffmpeg.current.terminate(); - await ffmpeg.current.load({ - coreURL, - wasmURL, - workerURL, - }); - setState(State.LOADED); - }; - - useEffect(() => { - load(isCoreMT); - }, []); - - return ( - - - { - setIsCoreMT(evt.target.checked); - load(evt.target.checked); - }} - /> - {(() => { - switch (state) { - case State.LOADING: - return ; - case State.LOADED: - return ; - default: - return <>; - } - })()} - - - ); -} diff --git a/apps/website/src/components/common/ExampleCard.tsx b/apps/website/src/components/common/ExampleCard.tsx deleted file mode 100644 index 98c16ef..0000000 --- a/apps/website/src/components/common/ExampleCard.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import * as React from "react"; -import Card from "@mui/material/Card"; -import CardContent from "@mui/material/CardContent"; -import CardMedia from "@mui/material/CardMedia"; -import CardActions from "@mui/material/CardActions"; -import Button from "@mui/material/Button"; -import Typography from "@mui/material/Typography"; - -export default function ActionAreaCard({ img, title, desc, url }) { - return ( - - - - - {title} - - - {desc} - - - - - - - ); -} diff --git a/apps/website/src/components/common/LinearProgressWithLabel.tsx b/apps/website/src/components/common/LinearProgressWithLabel.tsx deleted file mode 100644 index 2789c36..0000000 --- a/apps/website/src/components/common/LinearProgressWithLabel.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import * as React from "react"; -import Box from "@mui/material/Box"; -import Typography from "@mui/material/Typography"; -import LinearProgress, { - LinearProgressProps, -} from "@mui/material/LinearProgress"; - -export default function LinearProgressWithLabel( - props: LinearProgressProps & { value: number } -) { - return ( - - - - - - {`${Math.round( - props.value - )}%`} - - - ); -} diff --git a/apps/website/src/components/common/MuiThemeProvider/index.tsx b/apps/website/src/components/common/MuiThemeProvider/index.tsx deleted file mode 100644 index 36d61f6..0000000 --- a/apps/website/src/components/common/MuiThemeProvider/index.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { useColorMode } from "@docusaurus/theme-common"; -import { ThemeProvider, createTheme } from "@mui/material/styles"; - -const lightTheme = createTheme({}); -const darkTheme = createTheme({ - palette: { - mode: "dark", - }, -}); - -export default function MuiThemeProvider(props: any) { - const { colorMode } = useColorMode(); - return ( - - ); -} diff --git a/apps/website/src/components/common/ThemedButton/index.tsx b/apps/website/src/components/common/ThemedButton/index.tsx deleted file mode 100644 index 1a71fe6..0000000 --- a/apps/website/src/components/common/ThemedButton/index.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from "react"; -import MuiThemeProvider from "../MuiThemeProvider"; -import Button, { ButtonProps } from "@mui/material/Button"; - -export default function ThemedButton(props: ButtonProps) { - return ( - -

We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. This Privacy Policy has been created with the help of the Free Privacy Policy Generator.