diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1d6656707..21951f479 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -233,3 +233,28 @@ jobs: with: token: ${{ secrets.NPM_TOKEN }} package: packages/button/actions + + packages_media-backend: + runs-on: ubuntu-latest + needs: bootstrap + steps: + - uses: actions/checkout@v3 + - name: install + uses: jetpack-io/devbox-install-action@v0.7.0 + with: + enable-cache: true + - uses: actions/cache@v3 + name: setup pnpm cache + with: + path: ${{ needs.bootstrap.outputs.pnpm_store_path }} + key: ${{ needs.bootstrap.outputs.pnpm_hash_key }} + restore-keys: ${{ needs.bootstrap.outputs.pnpm_restore_key }} + - name: install + run: devbox run pnpm install --offline + - name: build + run: devbox run pnpm run build --scope @podlove/media-backend + - name: publish:npm + uses: JS-DevTools/npm-publish@v2 + with: + token: ${{ secrets.NPM_TOKEN }} + package: packages/button/actions diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml index 5245f0cfe..0d1838a83 100644 --- a/.github/workflows/review.yml +++ b/.github/workflows/review.yml @@ -270,3 +270,30 @@ jobs: - name: build run: devbox run pnpm run build --scope @podlove/button-actions + + packages_media-backend: + runs-on: ubuntu-latest + needs: bootstrap + steps: + - uses: actions/checkout@v3 + - name: install + uses: jetpack-io/devbox-install-action@v0.7.0 + with: + enable-cache: true + - uses: actions/cache@v3 + name: setup pnpm cache + with: + path: ${{ needs.bootstrap.outputs.pnpm_store_path }} + key: ${{ needs.bootstrap.outputs.pnpm_hash_key }} + restore-keys: ${{ needs.bootstrap.outputs.pnpm_restore_key }} + - name: install + run: devbox run pnpm install --offline + - name: lint + run: devbox run pnpm run lint --scope @podlove/media-backend + - name: build + run: devbox run pnpm run build --scope @podlove/media-backend + - name: setup integration + run: devbox run pnpm lerna run integration:setup --scope @podlove/media-backend + - name: integration + run: devbox run pnpm lerna run integration --scope @podlove/media-backend + diff --git a/README.md b/README.md index 85b40a64e..2b1c213dc 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ > Mono Repo for all UI Related Podlove Projects -[![Build Status](https://cloud.drone.io/api/badges/podlove/ui/status.svg?ref=/refs/heads/develop)](https://cloud.drone.io/podlove/ui) - ## Getting Started ### For Contribution @@ -20,12 +18,12 @@ This mono repo creates a set of different packages within the `@podlove` NPM org ## Used Libraries and Frameworks - Workspace Management: [Lerna](https://lerna.js.org/) -- Bundling: [Webpack](https://webpack.js.org/) +- Bundling: [Vite](https://vitejs.dev/) - View Renderer: [Vue](https://vuejs.org/) - Statemanagement: [Redux](https://redux.js.org/) - Helpers: [Ramda](https://ramdajs.com/) - Styling: [Tailwind](https://tailwindcss.com/) -- Testing: [Jest](https://jestjs.io/) and [Cypress](https://www.cypress.io/) +- Testing: [Vitest](https://vitest.dev/) and [Cypress](https://www.cypress.io/) Note: These are recommended and well supported libraries. The usage within each application/package may vary. @@ -35,16 +33,6 @@ Note: These are recommended and well supported libraries. The usage within each Core Podlove Player State Bound Components. Building blocks with state bindings to create the web player -### [@podlove/web-player](apps/web-player/README.md) - -Embedded version of Podlove Player with the following features: - -- Sandbox -- Persistance -- Configuration Resolving -- Share Endpoint -- Templating - ### [@podlove/subscribe-button](apps/subscribe-button/README.md) Embedded Subscribe Button with client detection: diff --git a/apps/player/safelist.cjs b/apps/player/safelist.cjs deleted file mode 100644 index bc4bbcdfb..000000000 --- a/apps/player/safelist.cjs +++ /dev/null @@ -1,738 +0,0 @@ -module.exports = [ - // MARK: Layout - { - pattern: /aspect-./ - }, - - /* Container */ - 'container', - 'mx-auto', - 'max-width', - 'min-width', - - /* Columns */ - { - pattern: /columns-./ - }, - - /* Break After */ - /* Break Before */ - /* Break Inside */ - - { - pattern: /break-./ - }, - - /* Box Decoration Break */ - - /* Box Sizing */ - { - pattern: /box-./ - }, - - /* Display */ - 'block', - 'inline-block', - 'inline', - 'flex', - 'inline-flex', - 'table', - 'inline-table', - 'table-caption', - 'table-cell', - 'table-column', - 'table-column-group', - 'table-footer-group', - 'table-header-group', - 'table-row-group', - 'table-row', - 'flow-root', - 'grid', - 'inline-grid', - 'contents', - 'list-item', - 'hidden', - - /* Floats */ - 'float-right', - 'float-left', - 'float-none', - - /* Clear */ - 'clear-left', - 'clear-right', - 'clear-both', - 'clear-none', - - /* Isolation */ - 'isolate', - 'isolation-auto', - - /* Object Fit */ - /* Object Position */ - { - pattern: /object-./ - }, - - /* Overflow */ - /* Overscroll Behavior */ - { - pattern: /overflow-./ - }, - - /* Position */ - 'static', - 'fixed', - 'absolute', - 'relative', - 'sticky', - - /* Top / Right / Bottom / Left */ - { - pattern: /(inset|top|right|bottom|left|start|end)-./ - }, - - /* Visibility */ - 'visible', - 'invisible', - 'collapse', - - /* Z-Index */ - { - pattern: /z-./ - }, - - // MARK: Flexbox & Grid - - /* Flex Basis */ - { - pattern: /basis-./ - }, - - /* Flex Direction */ - /* Flex Wrap */ - /* Flex */ - /* Flex Grow */ - /* Flex Shrink */ - /* Order */ - { - pattern: /(flex|grow|shrink|order)-./ - }, - - /* Grid Template Columns */ - /* Grid Column Start / End */ - /* Grid Template Rows */ - /* Grid Row Start / End */ - /* Grid Auto Flow */ - /* Grid Auto Columns */ - /* Grid Auto Rows */ - /* Gap */ - {pattern: /(grid|col|row|auto|gap)-./}, - - /* Justify Content */ - /* Justify Items */ - /* Justify Self */ - {pattern: /justify-./}, - - /* Align Content */ - {pattern: /content-./}, - - /* Align Items */ - {pattern: /items-./}, - - /* Align Self */ - {pattern: /self-./}, - - /* Place Content */ - /* Place Items */ - /* Place Self */ - {pattern: /place-./}, - - // MARK: Spacing - - /* Padding */ - {pattern: /(p|m)-./}, - - /* Space Between */ - {pattern: /space-./}, - - // MARK: Sizing - - /* Width */ - /* Min-Width */ - /* Max-Width */ - /* Height */ - /* Min-Height */ - /* Max-Height */ - {pattern: /(w|min-w|max-w|h|min-h|max-h)-./}, - - // MARK: Typography - - /* Font Family */ - {pattern: /font-./}, - - /* Font Size */ - 'text-xs', - 'text-sm', - 'text-base', - 'text-lg', - 'text-xl', - 'text-2xl', - 'text-3xl', - 'text-4xl', - 'text-5xl', - 'text-6xl', - 'text-7xl', - 'text-8xl', - 'text-9xl', - - /* Font Smoothing */ - 'antialiased', - 'subpixel-antialiased', - - /* Font Style */ - 'italic', - 'not-italic', - - /* Font Variant Numeric */ - 'normal-nums', - 'ordinal', - 'slashed-zero', - 'lining-nums', - 'oldstyle-nums', - 'proportional-nums', - 'tabular-nums', - 'diagonal-fractions', - 'stacked-fractions', - - /* Letter Spacing */ - {pattern: /tracking-./}, - - /* Line Clamp */ - {pattern: /line-./}, - - /* Line Height */ - {pattern: /leading-./}, - - /* List Style Image */ - /* List Style Position */ - /* List Style Type */ - {pattern: /list-./}, - - /* Text Align */ - 'text-left', - 'text-center', - 'text-right', - 'text-justify', - 'text-start', - 'text-end', - - /* Text Color */ - 'text-inherit', - 'text-current', - 'text-transparent', - - /* Text Decoration */ - 'underline', - 'overline', - 'line-through', - 'no-underline', - - /* Text Decoration Color */ - 'decoration-inherit', - 'decoration-current', - 'decoration-transparent', - - /* Text Decoration Style */ - 'decoration-solid', - 'decoration-double', - 'decoration-dotted', - 'decoration-dashed', - 'decoration-wavy', - - /* Text Decoration Thickness */ - {pattern: /decoration-./}, - - /* Text Underline Offset */ - {pattern: /underline-./}, - - /* Text Transform */ - 'uppercase', - 'lowercase', - 'capitalize', - 'normal-case', - - /* Text Overflow */ - 'truncate', - 'text-ellipsis', - 'text-clip', - - /* Text Indent */ - {pattern: /indent-./}, - - /* Vertical Align */ - {pattern: /align-./}, - - /* Whitespace */ - {pattern: /whitespace-./}, - - /* Word Break */ - {pattern: /break-./}, - - /* Hyphens */ - 'hyphens-none', - 'hyphens-manual', - 'hyphens-auto', - - /* Content */ - 'content-none', - - // MARK: Backgrounds - - /* Background Attachment */ - 'bg-fixed', - 'bg-local', - 'bg-scroll', - - /* Background Clip */ - 'bg-clip-border', - 'bg-clip-padding', - 'bg-clip-content', - 'bg-clip-text', - - /* Background Color */ - 'bg-inherit', - 'bg-current', - 'bg-transparent', - - /* Background Origin */ - 'bg-origin-border', - 'bg-origin-padding', - 'bg-origin-content', - - /* Background Position */ - 'bg-bottom', - 'bg-center', - 'bg-left', - 'bg-left-bottom', - 'bg-left-top', - 'bg-right', - 'bg-right-bottom', - 'bg-right-top', - 'bg-top', - - /* Background Repeat */ - 'bg-repeat', - 'bg-no-repeat', - 'bg-repeat-x', - 'bg-repeat-y', - 'bg-repeat-round', - 'bg-repeat-space', - - /* Background Size */ - 'bg-auto', - 'bg-cover', - 'bg-contain', - - /* Background Image */ - 'bg-none', - 'bg-gradient-to-t', - 'bg-gradient-to-tr', - 'bg-gradient-to-r', - 'bg-gradient-to-br', - 'bg-gradient-to-b', - 'bg-gradient-to-bl', - 'bg-gradient-to-l', - 'bg-gradient-to-tl', - - /* Gradient Color Stops */ - 'from-inherit', - 'from-current', - 'from-transparent', - 'from-black', - - // MARK: Borders - - /* Border Radius */ - { pattern: /rounded-./}, - - /* Border Width */ - 'border-0', - 'border-2', - 'border-4', - 'border-8', - 'border', - 'border-x-0', - 'border-x-2', - 'border-x-4', - 'border-x-8', - 'border-x', - 'border-y-0', - 'border-y-2', - 'border-y-4', - 'border-y-8', - 'border-y', - 'border-s-0', - 'border-s-2', - 'border-s-4', - 'border-s-8', - 'border-s', - 'border-e-0', - 'border-e-2', - 'border-e-4', - 'border-e-8', - 'border-e', - 'border-t-0', - 'border-t-2', - 'border-t-4', - 'border-t-8', - 'border-t', - 'border-r-0', - 'border-r-2', - 'border-r-4', - 'border-r-8', - 'border-r', - 'border-b-0', - 'border-b-2', - 'border-b-4', - 'border-b-8', - 'border-b', - 'border-l-0', - 'border-l-2', - 'border-l-4', - 'border-l-8', - 'border-l', - - /* Border Color */ - 'border-inherit', - 'border-current', - 'border-transparent', - - 'border-s-inherit', - 'border-s-current', - 'border-s-transparent', - - 'border-e-inherit', - 'border-e-current', - 'border-e-transparent', - - 'border-t-inherit', - 'border-t-current', - 'border-t-transparent', - - 'border-r-inherit', - 'border-r-current', - 'border-r-transparent', - - - 'border-l-inherit', - 'border-l-current', - 'border-l-transparent', - - /* Border Style */ - 'border-solid', - 'border-dashed', - 'border-dotted', - 'border-double', - 'border-hidden', - 'border-none', - - /* Divide Width */ - 'divide-x-0', - 'divide-x-2', - 'divide-x-4', - 'divide-x-8', - 'divide-x', - 'divide-x-reverse', - 'divide-y-0', - 'divide-y-2', - 'divide-y-4', - 'divide-y-8', - 'divide-y', - 'divide-y-reverse', - - /* Divide Color */ - 'divide-inherit', - 'divide-current', - 'divide-transparent', - - /* Divide Style */ - 'divide-solid', - 'divide-dashed', - 'divide-dotted', - 'divide-double', - 'divide-none', - - /* Outline Width */ - 'outline-0', - 'outline-1', - 'outline-2', - 'outline-4', - 'outline-8', - - /* Outline Color */ - 'outline-inherit', - 'outline-current', - 'outline-transparent', - - /* Outline Style */ - 'outline-none', - 'outline', - 'outline-dashed', - 'outline-dotted', - 'outline-double', - - /* Outline Offset */ - 'outline-offset-0', - 'outline-offset-1', - 'outline-offset-2', - 'outline-offset-4', - 'outline-offset-8', - - /* Ring Width */ - 'ring-0', - 'ring-1', - 'ring-2', - 'ring', - 'ring-4', - 'ring-8', - 'ring-inset', - - /* Ring Color */ - 'ring-inherit', - 'ring-current', - 'ring-transparent', - - /* Ring Offset Width */ - 'ring-offset-0', - 'ring-offset-1', - 'ring-offset-2', - 'ring-offset-4', - 'ring-offset-8', - - /* Ring Offset Color */ - 'ring-offset-inherit', - 'ring-offset-current', - 'ring-offset-transparent', - - // MARK: Effects - - /* Box Shadow */ - 'shadow-sm', - 'shadow', - 'shadow-md', - 'shadow-lg', - 'shadow-xl', - 'shadow-2xl', - 'shadow-inner', - 'shadow-none', - - /* Box Shadow Color */ - 'shadow-inherit', - 'shadow-current', - 'shadow-transparent', - - /* Opacity */ - {pattern: /opacity-./}, - - /* Mix Blend Mode */ - {pattern: /mix-./}, - - /* Background Blend Mode */ - {pattern: /bg-blend-./}, - // MARK: Filters - - /* Blur */ - {pattern: /blur-./}, - - /* Brightness */ - {pattern: /brightness-./}, - - /* Contrast */ - {pattern: /contrast-./}, - - /* Drop Shadow */ - {pattern: /drop-shadow-./}, - - /* Grayscale */ - 'grayscale-0', - 'grayscale', - - /* Hue Rotate */ - {pattern: /hue-rotate-./}, - - /* Invert */ - 'invert-0', - 'invert', - - /* Saturate */ - {pattern: /saturate-./}, - - /* Sepia */ - 'sepia-0', - 'sepia', - - /* Backdrop Blur */ - /* Backdrop Brightness */ - /* Backdrop Contrast */ - /* Backdrop Grayscale */ - /* Backdrop Hue Rotate */ - /* Backdrop Invert */ - /* Backdrop Opacity */ - /* Backdrop Saturate */ - /* Backdrop Sepia */ - {pattern: /backdrop-./}, - - // MARK: Tables - - /* Border Collapse */ - 'border-collapse', - 'border-separate', - - /* Border Spacing */ - {pattern: /border-spacing-./}, - - /* Table Layout */ - 'table-auto', - 'table-fixed', - - /* Caption Side */ - 'caption-top', - 'caption-bottom', - - // MARK: Transitions & Animation - - /* Transition Property */ - {pattern: /transition-./}, - - /* Transition Duration */ - {pattern: /duration-./}, - - /* Transition Timing Function */ - {pattern: /ease-./}, - - /* Transition Delay */ - {pattern: /delay-./}, - - /* Animation */ - {pattern: /animate-./}, - - // MARK: Transforms - - /* Scale */ - {pattern: /scale-./}, - - /* Rotate */ - {pattern: /rotate-./}, - - /* Translate */ - {pattern: /translate-./}, - - /* Skew */ - {pattern: /skew-./}, - - /* Transform Origin */ - {pattern: /origin-./}, - - // MARK: Interactivity - - /* Accent Color */ - 'accent-auto', - 'accent-inherit', - 'accent-current', - 'accent-transparent', - - /* Appearance */ - 'appearance-none', - - /* Cursor */ - {pattern: /cursor-./}, - - /* Caret Color */ - 'caret-inherit', - 'caret-current', - 'caret-transparent', - - /* Pointer Events */ - 'pointer-events-none', - 'pointer-events-auto', - - /* Resize */ - 'resize-none', - 'resize-y', - 'resize-x', - 'resize', - - /* Scroll Behavior */ - /* Scroll Margin */ - /* Scroll Padding */ - {pattern: /scroll-./}, - - /* Scroll Snap Align */ - 'snap-start', - 'snap-end', - 'snap-center', - 'snap-align-none', - - /* Scroll Snap Stop */ - 'snap-normal', - 'snap-always', - - /* Scroll Snap Type */ - 'snap-none', - 'snap-x', - 'snap-y', - 'snap-both', - 'snap-mandatory', - 'snap-proximity', - - /* Touch Action */ - 'touch-auto', - 'touch-none', - 'touch-pan-x', - 'touch-pan-left', - 'touch-pan-right', - 'touch-pan-y', - 'touch-pan-up', - 'touch-pan-down', - 'touch-pinch-zoom', - 'touch-manipulation', - - /* User Select */ - 'select-none', - 'select-text', - 'select-all', - 'select-auto', - - /* Will Change */ - 'will-change-auto', - 'will-change-scroll', - 'will-change-contents', - 'will-change-transform', - - // MARK: SVG - - /* Fill */ - 'fill-none', - 'fill-inherit', - 'fill-current', - 'fill-transparent', - - - /* Stroke */ - 'stroke-none', - 'stroke-inherit', - 'stroke-current', - 'stroke-transparent', - - /* Stroke Width */ - 'stroke-0', - 'stroke-1', - 'stroke-2', - - // MARK: Accessibility - - /* Screen Readers */ - 'sr-only', - 'not-sr-only' -]; diff --git a/apps/player/tailwind.config.cjs b/apps/player/tailwind.config.cjs index 373ef46a4..d35b02a6e 100644 --- a/apps/player/tailwind.config.cjs +++ b/apps/player/tailwind.config.cjs @@ -1,5 +1,3 @@ -const safelist = require('./safelist.cjs'); - module.exports = { content: [ './src/**/*.{vue,html}', @@ -18,6 +16,5 @@ module.exports = { auto: 'auto', 8: '2rem' } - }, - safelist + } }; diff --git a/apps/subscribe-button/package.json b/apps/subscribe-button/package.json index 56cb48aed..dfdf6bc38 100644 --- a/apps/subscribe-button/package.json +++ b/apps/subscribe-button/package.json @@ -30,7 +30,7 @@ "devDependencies": { "@fullhuman/postcss-purgecss": "5.0.0", "@podlove/types": "workspace:*", - "@types/ramda": "0.29.1", + "@types/ramda": "0.29.0", "@typescript-eslint/eslint-plugin": "6.11.0", "@typescript-eslint/parser": "6.11.0", "@vitejs/plugin-vue": "4.2.3", diff --git a/devbox.json b/devbox.json index ee6af916d..5b2d6f39d 100644 --- a/devbox.json +++ b/devbox.json @@ -1,5 +1,5 @@ { - "packages": ["nodePackages.pnpm@8", "nodejs@20"], + "packages": ["nodePackages.pnpm@8", "nodejs@20.5.1"], "shell": { "init_hook": [], "scripts": {} diff --git a/devbox.lock b/devbox.lock index abbd154ca..7140c199a 100644 --- a/devbox.lock +++ b/devbox.lock @@ -15,23 +15,23 @@ } } }, - "nodejs@20": { - "last_modified": "2023-10-25T20:49:13Z", - "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#nodejs_20", + "nodejs@20.5.1": { + "last_modified": "2023-09-06T20:35:33Z", + "resolved": "github:NixOS/nixpkgs/efd23a1c9ae8c574e2ca923c2b2dc336797f4cc4#nodejs_20", "source": "devbox-search", - "version": "20.9.0", + "version": "20.5.1", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/r8ppkdpxlmlv4magszy4xl816yf1s859-nodejs-20.9.0" + "store_path": "/nix/store/zkq4wlwz83gg6ad32pip8kbqmfh26hsj-nodejs-20.5.1" }, "aarch64-linux": { - "store_path": "/nix/store/j0diijav3hh37amjl67wnq5n3f782ipn-nodejs-20.9.0" + "store_path": "/nix/store/7llknbk7n5076lmx2mia7v0wxx1maaik-nodejs-20.5.1" }, "x86_64-darwin": { - "store_path": "/nix/store/zxh8gvmynd5mzx9hf5bhidb4yy0k4g2s-nodejs-20.9.0" + "store_path": "/nix/store/zzgyzjsj7xwykv4rmywpmkg8yz6zdppw-nodejs-20.5.1" }, "x86_64-linux": { - "store_path": "/nix/store/17g2kfxglsl3rncfasqrxqs2g3bjin3k-nodejs-20.9.0" + "store_path": "/nix/store/cdmfy10nxyzzd7z60csax1bagy7h6c5g-nodejs-20.5.1" } } } diff --git a/packages/button/config/package.json b/packages/button/config/package.json index 4ce37edd0..2aa6226d5 100644 --- a/packages/button/config/package.json +++ b/packages/button/config/package.json @@ -14,7 +14,7 @@ "ramda": "0.29.0" }, "devDependencies": { - "@types/ramda": "0.29.1", + "@types/ramda": "0.29.0", "@podlove/types": "workspace:*", "vite": "4.3.5", "vite-plugin-dts": "2.3.0", diff --git a/packages/components/package.json b/packages/components/package.json index eca60aadb..acd86cc8f 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@podlove/types": "workspace:*", - "@types/ramda": "0.29.1", + "@types/ramda": "0.29.0", "@typescript-eslint/eslint-plugin": "6.11.0", "@typescript-eslint/parser": "6.11.0", "@vitejs/plugin-vue": "4.2.1", diff --git a/packages/media-backend b/packages/media-backend new file mode 160000 index 000000000..439e0d5cd --- /dev/null +++ b/packages/media-backend @@ -0,0 +1 @@ +Subproject commit 439e0d5cd1beb0d4cc598d7c1e402558084d71dd diff --git a/packages/player/config/package.json b/packages/player/config/package.json index 671bd01d9..7241ed7cb 100644 --- a/packages/player/config/package.json +++ b/packages/player/config/package.json @@ -33,7 +33,7 @@ }, "devDependencies": { "@podlove/types": "workspace:*", - "@types/ramda": "0.28.24", + "@types/ramda": "0.29.0", "@typescript-eslint/eslint-plugin": "6.12.0", "@typescript-eslint/parser": "6.12.0", "eslint": "8.54.0", diff --git a/packages/player/sagas/package.json b/packages/player/sagas/package.json index 33edf660e..5f834a69f 100644 --- a/packages/player/sagas/package.json +++ b/packages/player/sagas/package.json @@ -133,7 +133,7 @@ }, "dependencies": { "@podlove/components": "workspace:*", - "@podlove/html5-audio-driver": "2.0.2", + "@podlove/media-backend": "workspace:*", "@podlove/player-actions": "workspace:*", "@podlove/player-config": "workspace:*", "@podlove/types": "workspace:*", @@ -144,7 +144,7 @@ "redux-saga": "1.2.3" }, "devDependencies": { - "@types/ramda": "0.29.1", + "@types/ramda": "0.29.0", "@types/redux-actions": "2.6.2", "@typescript-eslint/eslint-plugin": "6.11.0", "@typescript-eslint/parser": "6.11.0", diff --git a/packages/player/sagas/src/middleware.ts b/packages/player/sagas/src/middleware.ts index 555c312cf..13ec7d7ae 100644 --- a/packages/player/sagas/src/middleware.ts +++ b/packages/player/sagas/src/middleware.ts @@ -1,11 +1,11 @@ -import createSagaMiddleware from 'redux-saga' +import createSagaMiddleware from 'redux-saga'; -const middleware = createSagaMiddleware() +const middleware = createSagaMiddleware(); const run = (...sagas) => { - sagas.forEach((saga) => middleware.run(saga)) -} + sagas.forEach((saga) => middleware.run(saga)); +}; export default { middleware, run -} +}; diff --git a/packages/player/sagas/src/player.test.ts b/packages/player/sagas/src/player.test.ts index c7c85ba9b..e4f6210ed 100644 --- a/packages/player/sagas/src/player.test.ts +++ b/packages/player/sagas/src/player.test.ts @@ -61,7 +61,7 @@ import { onStop } from './player.js'; -vi.mock('@podlove/html5-audio-driver/connect', () => ({ +vi.mock('@podlove/media-backend/connect', () => ({ audio: () => ({ load: vi.fn(), actions: {}, @@ -69,7 +69,7 @@ vi.mock('@podlove/html5-audio-driver/connect', () => ({ }) })); -import { audio } from '@podlove/html5-audio-driver/connect'; +import { audio } from '@podlove/media-backend/connect'; describe('player', () => { describe('playerSaga()', () => { diff --git a/packages/player/sagas/src/player.ts b/packages/player/sagas/src/player.ts index 9a5b57954..456f7e144 100644 --- a/packages/player/sagas/src/player.ts +++ b/packages/player/sagas/src/player.ts @@ -1,5 +1,5 @@ -import { audio } from '@podlove/html5-audio-driver/connect'; -import type { MediaActions } from '@podlove/html5-audio-driver/types'; +import { audio } from '@podlove/media-backend/connect'; +import type { MediaActions } from '@podlove/media-backend/types'; import { select, call, put, takeEvery, fork } from 'redux-saga/effects'; import { requestPause } from '@podlove/player-actions/play'; import { requestPlaytime, type backendPlaytimePayload, type requestPlaytimePayload, type backendDurationPayload, type backendLiveSyncPayload } from '@podlove/player-actions/timepiece'; diff --git a/packages/types/package.json b/packages/types/package.json index 321728042..2ba8c8b1b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -13,7 +13,7 @@ "keywords": [], "license": "MIT", "dependencies": { - "@podlove/html5-audio-driver": "2.0.2", + "@podlove/media-backend": "workspace:*", "redux": "4.2.0" }, "devDependencies": { diff --git a/packages/utils/package.json b/packages/utils/package.json index a920751b9..e74033459 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -170,11 +170,11 @@ "dompurify": "2.0.12", "farbraum": "0.1.4", "query-string": "8.1.0", - "ramda": "0.29.1" + "ramda": "0.29.0" }, "devDependencies": { "@podlove/types": "workspace:*", - "@types/ramda": "0.29.7", + "@types/ramda": "0.29.0", "@typescript-eslint/eslint-plugin": "6.12.0", "@typescript-eslint/parser": "6.12.0", "eslint": "8.54.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3fc13d74c..613c00030 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -240,8 +240,8 @@ importers: specifier: workspace:* version: link:../../packages/types '@types/ramda': - specifier: 0.29.1 - version: 0.29.1 + specifier: 0.29.0 + version: 0.29.0 '@typescript-eslint/eslint-plugin': specifier: 6.11.0 version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.53.0)(typescript@5.0.4) @@ -320,8 +320,8 @@ importers: specifier: workspace:* version: link:../../types '@types/ramda': - specifier: 0.29.1 - version: 0.29.1 + specifier: 0.29.0 + version: 0.29.0 typescript: specifier: 5.0.4 version: 5.0.4 @@ -430,8 +430,8 @@ importers: specifier: workspace:* version: link:../types '@types/ramda': - specifier: 0.29.1 - version: 0.29.1 + specifier: 0.29.0 + version: 0.29.0 '@typescript-eslint/eslint-plugin': specifier: 6.11.0 version: 6.11.0(@typescript-eslint/parser@6.11.0)(eslint@8.54.0)(typescript@5.0.4) @@ -469,6 +469,55 @@ importers: specifier: 0.30.0 version: 0.30.0(happy-dom@9.1.9) + packages/media-backend: + dependencies: + hls.js: + specifier: 1.4.12 + version: 1.4.12 + ramda: + specifier: 0.29.0 + version: 0.29.0 + devDependencies: + '@types/ramda': + specifier: 0.29.0 + version: 0.29.0 + '@typescript-eslint/eslint-plugin': + specifier: 6.13.1 + version: 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/parser': + specifier: 6.13.1 + version: 6.13.1(eslint@8.54.0)(typescript@5.0.4) + cypress: + specifier: 13.6.0 + version: 13.6.0 + cypress-vite: + specifier: 1.5.0 + version: 1.5.0(vite@3.2.5) + eslint: + specifier: 8.54.0 + version: 8.54.0 + milligram: + specifier: 1.4.0 + version: 1.4.0 + normalize.css: + specifier: 8.0.1 + version: 8.0.1 + ts-toolbelt: + specifier: 9.6.0 + version: 9.6.0 + typescript: + specifier: 5.0.4 + version: 5.0.4 + vite: + specifier: 3.2.5 + version: 3.2.5(@types/node@20.8.4) + vite-plugin-dts: + specifier: 1.7.1 + version: 1.7.1(@types/node@20.8.4)(vite@3.2.5) + vitest: + specifier: 0.25.5 + version: 0.25.5 + packages/player/actions: dependencies: '@podlove/utils': @@ -516,8 +565,8 @@ importers: specifier: workspace:* version: link:../../types '@types/ramda': - specifier: 0.28.24 - version: 0.28.24 + specifier: 0.29.0 + version: 0.29.0 '@typescript-eslint/eslint-plugin': specifier: 6.12.0 version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.0.4) @@ -545,9 +594,9 @@ importers: '@podlove/components': specifier: workspace:* version: link:../../components - '@podlove/html5-audio-driver': - specifier: 2.0.2 - version: 2.0.2 + '@podlove/media-backend': + specifier: workspace:* + version: link:../../media-backend '@podlove/player-actions': specifier: workspace:* version: link:../actions @@ -574,8 +623,8 @@ importers: version: 1.2.3 devDependencies: '@types/ramda': - specifier: 0.29.1 - version: 0.29.1 + specifier: 0.29.0 + version: 0.29.0 '@types/redux-actions': specifier: 2.6.2 version: 2.6.2 @@ -658,9 +707,9 @@ importers: packages/types: dependencies: - '@podlove/html5-audio-driver': - specifier: 2.0.2 - version: 2.0.2 + '@podlove/media-backend': + specifier: workspace:* + version: link:../media-backend redux: specifier: 4.2.0 version: 4.2.0 @@ -690,15 +739,15 @@ importers: specifier: 8.1.0 version: 8.1.0 ramda: - specifier: 0.29.1 - version: 0.29.1 + specifier: 0.29.0 + version: 0.29.0 devDependencies: '@podlove/types': specifier: workspace:* version: link:../types '@types/ramda': - specifier: 0.29.7 - version: 0.29.7 + specifier: 0.29.0 + version: 0.29.0 '@typescript-eslint/eslint-plugin': specifier: 6.12.0 version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.0.4) @@ -1075,14 +1124,14 @@ packages: '@commitlint/types': 17.4.0 '@types/node': 20.8.4 chalk: 4.1.2 - cosmiconfig: 8.0.0 - cosmiconfig-typescript-loader: 4.3.0(@types/node@20.8.4)(cosmiconfig@8.0.0)(ts-node@10.9.1)(typescript@4.9.5) + cosmiconfig: 8.1.3 + cosmiconfig-typescript-loader: 4.3.0(@types/node@20.8.4)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.5) - typescript: 4.9.5 + ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.3) + typescript: 4.9.3 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1161,6 +1210,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.15.18: + resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.17.16: resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==} engines: {node: '>=12'} @@ -1242,6 +1300,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.15.18: + resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.17.16: resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==} engines: {node: '>=12'} @@ -1649,13 +1716,13 @@ packages: - supports-color dev: true - /@lerna/legacy-package-management@6.6.1(nx@15.6.3)(typescript@4.9.5): + /@lerna/legacy-package-management@6.6.1(nx@15.6.3)(typescript@4.9.3): resolution: {integrity: sha512-0EYxSFr34VgeudA5rvjGJSY7s4seITMVB7AJ9LRFv9QDUk6jpvapV13ZAaKnhDTxX5vNCfnJuWHXXWq0KyPF/Q==} engines: {node: ^14.15.0 || >=16.0.0} dependencies: '@npmcli/arborist': 6.2.3 '@npmcli/run-script': 4.1.7 - '@nrwl/devkit': 15.6.3(nx@15.6.3)(typescript@4.9.5) + '@nrwl/devkit': 15.6.3(nx@15.6.3)(typescript@4.9.3) '@octokit/rest': 19.0.3 byte-size: 7.0.0 chalk: 4.1.0 @@ -2056,12 +2123,12 @@ packages: - debug dev: true - /@nrwl/devkit@15.6.3(nx@15.6.3)(typescript@4.9.5): + /@nrwl/devkit@15.6.3(nx@15.6.3)(typescript@4.9.3): resolution: {integrity: sha512-/JDvdzNxUM+C1PCZPCrvmFx+OfywqZdOq1GS9QR8C0VctTLG4D/SGSFD88O1SAdcbH/f1mMiBGfEYZYd23fghQ==} peerDependencies: nx: '>= 14 <= 16' dependencies: - '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.5) + '@phenomnomnominal/tsquery': 4.1.1(typescript@4.9.3) ejs: 3.1.8 ignore: 5.2.4 nx: 15.6.3 @@ -2231,22 +2298,15 @@ packages: node-gyp-build: 4.6.0 dev: true - /@phenomnomnominal/tsquery@4.1.1(typescript@4.9.5): + /@phenomnomnominal/tsquery@4.1.1(typescript@4.9.3): resolution: {integrity: sha512-jjMmK1tnZbm1Jq5a7fBliM4gQwjxMU7TFoRNwIyzwlO+eHPRCFv/Nv+H/Gi1jc3WR7QURG8D5d0Tn12YGrUqBQ==} peerDependencies: typescript: ^3 || ^4 dependencies: esquery: 1.5.0 - typescript: 4.9.5 + typescript: 4.9.3 dev: true - /@podlove/html5-audio-driver@2.0.2: - resolution: {integrity: sha512-GCl37LdwvgAM2Ty80/EbC2XW55oZ3OsAntLXq802mwZMlw4eiwNvxhwtGe2QCZ3QQtgnY/6pXDKdSlFh6a1MJQ==} - dependencies: - hls.js: 1.2.8 - ramda: 0.28.0 - dev: false - /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true @@ -2611,6 +2671,15 @@ packages: engines: {node: '>= 10'} dev: true + /@ts-morph/common@0.17.0: + resolution: {integrity: sha512-RMSSvSfs9kb0VzkvQ2NWobwnj7TxCA9vI/IjR9bDHqgAyVbu2T0DN4wiKVqomyDWqO7dPr/tErSfq7urQ1Q37g==} + dependencies: + fast-glob: 3.2.12 + minimatch: 5.1.0 + mkdirp: 1.0.4 + path-browserify: 1.0.1 + dev: true + /@ts-morph/common@0.19.0: resolution: {integrity: sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==} dependencies: @@ -2717,30 +2786,12 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/ramda@0.28.24: - resolution: {integrity: sha512-VxCMFlrqYFzsarNI0b9RZS2fistW3/CGwslZ9pCrx0xCNC4utASpYPEDMg3wgzeb04mNlxb4BYAiqqSOdqjdIQ==} - dependencies: - types-ramda: 0.29.1 - dev: true - /@types/ramda@0.29.0: resolution: {integrity: sha512-TY9eKsklU43CmAbFJPKDUyBjleZ4EFAkbJeQRF4e8byGkOw1CjDcwg5EGa0Bgf0Kgs9BE9OU4UzQWnQDHnvMtA==} dependencies: types-ramda: 0.29.1 dev: true - /@types/ramda@0.29.1: - resolution: {integrity: sha512-Ff5RRG9YRqMgWOqZVVavSjGEvYHUnXnGF0YPGbzIWhB3o8qiccSJZlFX2z8qm3G1H/IC5w0ozHmlezUeQCtGfQ==} - dependencies: - types-ramda: 0.29.2 - dev: true - - /@types/ramda@0.29.7: - resolution: {integrity: sha512-IUl6U95qwlQtVvZkSX4ODj08oJVtPyWMFRtPVNqhxc2rt+Bh7lCzTrGMYMZ7dmRKcAjtot3xrPnYGwsjdt8gzQ==} - dependencies: - types-ramda: 0.29.5 - dev: true - /@types/redux-actions@2.6.2: resolution: {integrity: sha512-TvcINy8rWFANcpc3EiEQX9Yv3owM3d3KIrqr2ryUIOhYIYzXA/bhDZeGSSSuai62iVR2qMZUgz9tQ5kr0Kl+Tg==} dev: true @@ -2881,6 +2932,35 @@ packages: - supports-color dev: true + /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.0.4): + resolution: {integrity: sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/type-utils': 6.13.1(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/visitor-keys': 6.13.1 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.54.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.0.4) + typescript: 5.0.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.0.4): resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2965,6 +3045,27 @@ packages: - supports-color dev: true + /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.0.4): + resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.0.4) + '@typescript-eslint/visitor-keys': 6.13.1 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.54.0 + typescript: 5.0.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager@6.10.0: resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2989,6 +3090,14 @@ packages: '@typescript-eslint/visitor-keys': 6.12.0 dev: true + /@typescript-eslint/scope-manager@6.13.1: + resolution: {integrity: sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/visitor-keys': 6.13.1 + dev: true + /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.0.4): resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3069,6 +3178,26 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils@6.13.1(eslint@8.54.0)(typescript@5.0.4): + resolution: {integrity: sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.0.4) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.0.4) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.54.0 + ts-api-utils: 1.0.3(typescript@5.0.4) + typescript: 5.0.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/types@6.10.0: resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3084,6 +3213,11 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true + /@typescript-eslint/types@6.13.1: + resolution: {integrity: sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@6.10.0(typescript@5.0.4): resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3147,6 +3281,27 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@6.13.1(typescript@5.0.4): + resolution: {integrity: sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/visitor-keys': 6.13.1 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.0.4) + typescript: 5.0.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.0.4): resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3223,6 +3378,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@6.13.1(eslint@8.54.0)(typescript@5.0.4): + resolution: {integrity: sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.5 + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.0.4) + eslint: 8.54.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@6.10.0: resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3247,6 +3421,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@6.13.1: + resolution: {integrity: sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.13.1 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -4390,6 +4572,10 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /code-block-writer@11.0.3: + resolution: {integrity: sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==} + dev: true + /code-block-writer@12.0.0: resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} dev: true @@ -4716,7 +4902,7 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig-typescript-loader@4.3.0(@types/node@20.8.4)(cosmiconfig@8.0.0)(ts-node@10.9.1)(typescript@4.9.5): + /cosmiconfig-typescript-loader@4.3.0(@types/node@20.8.4)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.3): resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} requiresBuild: true @@ -4727,9 +4913,9 @@ packages: typescript: '>=3' dependencies: '@types/node': 20.8.4 - cosmiconfig: 8.0.0 - ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.5) - typescript: 4.9.5 + cosmiconfig: 8.1.3 + ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.3) + typescript: 4.9.3 dev: true optional: true @@ -4755,18 +4941,6 @@ packages: yaml: 1.10.2 dev: true - /cosmiconfig@8.0.0: - resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} - engines: {node: '>=14'} - requiresBuild: true - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: true - optional: true - /cosmiconfig@8.1.3: resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} engines: {node: '>=14'} @@ -4856,6 +5030,18 @@ packages: - supports-color dev: true + /cypress-vite@1.5.0(vite@3.2.5): + resolution: {integrity: sha512-vvTMqJZgI3sN2ylQTi4OQh8LRRjSrfrIdkQD5fOj+EC/e9oHkxS96lif1SyDF1PwailG1tnpJE+VpN6+AwO/rg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + dependencies: + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + vite: 3.2.5(@types/node@20.8.4) + transitivePeerDependencies: + - supports-color + dev: true + /cypress@13.5.1: resolution: {integrity: sha512-yqLViT0D/lPI8Kkm7ciF/x/DCK/H/DnogdGyiTnQgX4OVR2aM30PtK+kvklTOD1u3TuItiD9wUQAF8EYWtyZug==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} @@ -4907,6 +5093,57 @@ packages: yauzl: 2.10.0 dev: true + /cypress@13.6.0: + resolution: {integrity: sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + hasBin: true + requiresBuild: true + dependencies: + '@cypress/request': 3.0.0 + '@cypress/xvfb': 1.2.4(supports-color@8.1.1) + '@types/node': 18.18.9 + '@types/sinonjs__fake-timers': 8.1.1 + '@types/sizzle': 2.3.3 + arch: 2.2.0 + blob-util: 2.0.2 + bluebird: 3.7.2 + buffer: 5.7.1 + cachedir: 2.3.0 + chalk: 4.1.2 + check-more-types: 2.24.0 + cli-cursor: 3.1.0 + cli-table3: 0.6.3 + commander: 6.2.1 + common-tags: 1.8.2 + dayjs: 1.11.6 + debug: 4.3.4(supports-color@8.1.1) + enquirer: 2.3.6 + eventemitter2: 6.4.7 + execa: 4.1.0 + executable: 4.1.1 + extract-zip: 2.0.1(supports-color@8.1.1) + figures: 3.2.0 + fs-extra: 9.1.0 + getos: 3.2.1 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + lazy-ass: 1.6.0 + listr2: 3.14.0(enquirer@2.3.6) + lodash: 4.17.21 + log-symbols: 4.1.0 + minimist: 1.2.8 + ospath: 1.2.2 + pretty-bytes: 5.6.0 + process: 0.11.10 + proxy-from-env: 1.0.0 + request-progress: 3.0.0 + semver: 7.5.4 + supports-color: 8.1.1 + tmp: 0.2.1 + untildify: 4.0.0 + yauzl: 2.10.0 + dev: true + /cz-conventional-changelog@3.3.0: resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} @@ -5286,99 +5523,309 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: true + optional: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /entities@2.1.0: + resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true + + /envinfo@7.8.1: + resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.20.4: + resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.1.3 + get-symbol-description: 1.0.0 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-symbols: 1.0.3 + internal-slot: 1.0.3 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-weakref: 1.0.2 + object-inspect: 1.12.2 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trimend: 1.0.5 + string.prototype.trimstart: 1.0.5 + unbox-primitive: 1.0.2 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild-android-64@0.15.18: + resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64@0.15.18: + resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64@0.15.18: + resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64@0.15.18: + resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64@0.15.18: + resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64@0.15.18: + resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32@0.15.18: + resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64@0.15.18: + resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64@0.15.18: + resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm@0.15.18: + resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + /esbuild-linux-mips64le@0.15.18: + resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] requiresBuild: true - dependencies: - iconv-lite: 0.6.3 dev: true optional: true - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 + /esbuild-linux-ppc64le@0.15.18: + resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true dev: true + optional: true - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 + /esbuild-linux-riscv64@0.15.18: + resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true dev: true + optional: true - /entities@2.1.0: - resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + /esbuild-linux-s390x@0.15.18: + resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true dev: true + optional: true - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + /esbuild-netbsd-64@0.15.18: + resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true dev: true + optional: true - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + /esbuild-openbsd-64@0.15.18: + resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true dev: true + optional: true - /envinfo@7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} - engines: {node: '>=4'} - hasBin: true + /esbuild-sunos-64@0.15.18: + resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true dev: true + optional: true - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + /esbuild-windows-32@0.15.18: + resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 + /esbuild-windows-64@0.15.18: + resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /es-abstract@1.20.4: - resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.1.3 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-symbols: 1.0.3 - internal-slot: 1.0.3 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.2 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.5 - string.prototype.trimstart: 1.0.5 - unbox-primitive: 1.0.2 + /esbuild-windows-arm64@0.15.18: + resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + /esbuild@0.15.18: + resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.18 + '@esbuild/linux-loong64': 0.15.18 + esbuild-android-64: 0.15.18 + esbuild-android-arm64: 0.15.18 + esbuild-darwin-64: 0.15.18 + esbuild-darwin-arm64: 0.15.18 + esbuild-freebsd-64: 0.15.18 + esbuild-freebsd-arm64: 0.15.18 + esbuild-linux-32: 0.15.18 + esbuild-linux-64: 0.15.18 + esbuild-linux-arm: 0.15.18 + esbuild-linux-arm64: 0.15.18 + esbuild-linux-mips64le: 0.15.18 + esbuild-linux-ppc64le: 0.15.18 + esbuild-linux-riscv64: 0.15.18 + esbuild-linux-s390x: 0.15.18 + esbuild-netbsd-64: 0.15.18 + esbuild-openbsd-64: 0.15.18 + esbuild-sunos-64: 0.15.18 + esbuild-windows-32: 0.15.18 + esbuild-windows-64: 0.15.18 + esbuild-windows-arm64: 0.15.18 dev: true /esbuild@0.17.16: @@ -6674,8 +7121,8 @@ packages: - utf-8-validate dev: true - /hls.js@1.2.8: - resolution: {integrity: sha512-vH4b0ATbMEQz7776YBt6kKlRlvuT7RiFfliuxzn6nBlksrEl5HfQxN1Fn5VUNVVt8rws1rKWzpWwXANgCm03rw==} + /hls.js@1.4.12: + resolution: {integrity: sha512-1RBpx2VihibzE3WE9kGoVCtrhhDWTzydzElk/kyRbEOLnb1WIE+3ZabM/L8BqKFTCL3pUy4QzhXgD1Q6Igr1JA==} dev: false /homedir-polyfill@1.0.3: @@ -7604,10 +8051,10 @@ packages: dependencies: '@lerna/child-process': 6.6.1 '@lerna/create': 6.6.1 - '@lerna/legacy-package-management': 6.6.1(nx@15.6.3)(typescript@4.9.5) + '@lerna/legacy-package-management': 6.6.1(nx@15.6.3)(typescript@4.9.3) '@npmcli/arborist': 6.2.3 '@npmcli/run-script': 4.1.7 - '@nrwl/devkit': 15.6.3(nx@15.6.3)(typescript@4.9.5) + '@nrwl/devkit': 15.6.3(nx@15.6.3)(typescript@4.9.3) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.3 byte-size: 7.0.0 @@ -7669,7 +8116,7 @@ packages: strong-log-transformer: 2.1.0 tar: 6.1.11 temp-dir: 1.0.0 - typescript: 4.9.5 + typescript: 4.9.3 upath: 2.0.1 uuid: 8.3.2 validate-npm-package-license: 3.0.4 @@ -8207,6 +8654,13 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /milligram@1.4.0: + resolution: {integrity: sha512-ZkuBd7r3NVNLmaG/LPV8/lJJg09rK6qZn3cwEY5Pm7biosrJG1/KW6KNRMHeeJScVJLmmRcorROBXYaOH8WtNQ==} + engines: {node: ^12.17.0, npm: ^6.14.5} + dependencies: + normalize.css: 8.0.1 + dev: true + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -8419,7 +8873,7 @@ packages: /mlly@1.2.0: resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} dependencies: - acorn: 8.8.2 + acorn: 8.11.2 pathe: 1.1.0 pkg-types: 1.0.2 ufo: 1.1.1 @@ -8648,6 +9102,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /normalize.css@8.0.1: + resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + dev: true + /npm-bundled@1.1.2: resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} dependencies: @@ -9491,7 +9949,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.23 - ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.5) + ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.3) yaml: 1.10.2 dev: false @@ -9509,7 +9967,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.23 - ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.5) + ts-node: 10.9.1(@types/node@20.8.4)(typescript@4.9.3) yaml: 2.3.1 dev: true @@ -9742,18 +10200,10 @@ packages: engines: {node: '>=10'} dev: false - /ramda@0.28.0: - resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} - dev: false - /ramda@0.29.0: resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} dev: false - /ramda@0.29.1: - resolution: {integrity: sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==} - dev: false - /rangetouch@2.0.1: resolution: {integrity: sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==} dev: false @@ -10143,6 +10593,14 @@ packages: glob: 9.3.5 dev: true + /rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + /rollup@3.21.5: resolution: {integrity: sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -10742,7 +11200,7 @@ packages: /strip-literal@1.0.1: resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} dependencies: - acorn: 8.8.2 + acorn: 8.11.2 dev: true /strong-log-transformer@2.1.0: @@ -10751,7 +11209,7 @@ packages: hasBin: true dependencies: duplexer: 0.1.2 - minimist: 1.2.7 + minimist: 1.2.8 through: 2.3.8 dev: true @@ -10980,11 +11438,21 @@ packages: resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} dev: true + /tinypool@0.3.1: + resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} + engines: {node: '>=14.0.0'} + dev: true + /tinypool@0.4.0: resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} engines: {node: '>=14.0.0'} dev: true + /tinyspy@1.1.1: + resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + engines: {node: '>=14.0.0'} + dev: true + /tinyspy@2.1.0: resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==} engines: {node: '>=14.0.0'} @@ -11103,6 +11571,13 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true + /ts-morph@16.0.0: + resolution: {integrity: sha512-jGNF0GVpFj0orFw55LTsQxVYEUOCWBAbR5Ls7fTYE5pQsbW18ssTb/6UXx/GYAEjS+DQTp8VoTw0vqYMiaaQuw==} + dependencies: + '@ts-morph/common': 0.17.0 + code-block-writer: 11.0.3 + dev: true + /ts-morph@18.0.0: resolution: {integrity: sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==} dependencies: @@ -11110,7 +11585,7 @@ packages: code-block-writer: 12.0.0 dev: true - /ts-node@10.9.1(@types/node@20.8.4)(typescript@4.9.5): + /ts-node@10.9.1(@types/node@20.8.4)(typescript@4.9.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true requiresBuild: true @@ -11137,7 +11612,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 4.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -11247,18 +11722,6 @@ packages: ts-toolbelt: 9.6.0 dev: true - /types-ramda@0.29.2: - resolution: {integrity: sha512-HpLcR0ly2EfXQwG8VSI5ov6ml7PvtT+u+cp+7lZLu7q4nhnPDVW+rUTC1uy/SNs4aAyTUXri5M/LyhgvjEXJDg==} - dependencies: - ts-toolbelt: 9.6.0 - dev: true - - /types-ramda@0.29.5: - resolution: {integrity: sha512-u+bAYXHDPJR+amB0qMrMU/NXRB2PG8QqpO2v6j7yK/0mPZhlaaZj++ynYjnVpkPEpCkZEGxNpWY3X7qyLCGE3w==} - dependencies: - ts-toolbelt: 9.6.0 - dev: true - /typescript-compare@0.0.2: resolution: {integrity: sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==} dependencies: @@ -11275,8 +11738,8 @@ packages: typescript-compare: 0.0.2 dev: false - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + /typescript@4.9.3: + resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} engines: {node: '>=4.2.0'} hasBin: true @@ -11589,6 +12052,27 @@ packages: vite: 4.3.5(@types/node@20.8.4)(sass@1.69.5) dev: true + /vite-plugin-dts@1.7.1(@types/node@20.8.4)(vite@3.2.5): + resolution: {integrity: sha512-2oGMnAjcrZN7jM1TloiS1b1mCn42s3El04ix2RFhId5P1WfMigF8WAwsqT6a6jk0Yso8t7AeZsBkkxYShR0hBQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: '>=2.9.0' + dependencies: + '@microsoft/api-extractor': 7.38.3(@types/node@20.8.4) + '@rollup/pluginutils': 5.0.5 + '@rushstack/node-core-library': 3.61.0(@types/node@20.8.4) + debug: 4.3.4(supports-color@8.1.1) + fast-glob: 3.2.12 + fs-extra: 10.1.0 + kolorist: 1.8.0 + ts-morph: 16.0.0 + vite: 3.2.5(@types/node@20.8.4) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + dev: true + /vite-plugin-dts@2.3.0(@types/node@20.8.4)(vite@4.3.5): resolution: {integrity: sha512-WbJgGtsStgQhdm3EosYmIdTGbag5YQpZ3HXWUAPCDyoXI5qN6EY0V7NXq0lAmnv9hVQsvh0htbYcg0Or5Db9JQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -11695,6 +12179,40 @@ packages: - supports-color dev: true + /vite@3.2.5(@types/node@20.8.4): + resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.8.4 + esbuild: 0.15.18 + postcss: 8.4.23 + resolve: 1.22.2 + rollup: 2.79.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /vite@4.3.5(@types/node@20.8.4)(sass@1.69.5): resolution: {integrity: sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -11762,6 +12280,51 @@ packages: fsevents: 2.3.2 dev: true + /vitest@0.25.5: + resolution: {integrity: sha512-lFKSTZV+AjuL44/yNC0aDPKTiasYSqOQ97Gg2G4P2LnjyzQ21ZUs4rQOscHK3lrSnVuir3+1QavHzbDgH4tWQA==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/chai': 4.3.4 + '@types/chai-subset': 1.3.3 + '@types/node': 20.8.4 + acorn: 8.11.2 + acorn-walk: 8.2.0 + chai: 4.3.7 + debug: 4.3.4(supports-color@8.1.1) + local-pkg: 0.4.3 + source-map: 0.6.1 + strip-literal: 1.0.1 + tinybench: 2.4.0 + tinypool: 0.3.1 + tinyspy: 1.1.1 + vite: 3.2.5(@types/node@20.8.4) + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vitest@0.30.0(happy-dom@9.1.9): resolution: {integrity: sha512-2WW4WeTHtrLFeoiuotWvEW6khozx1NvMGYoGsNz2btdddEbqvEdPJIouIdoiC5i61Rl1ctZvm9cn2R9TcPQlzw==} engines: {node: '>=v14.18.0'}