Переглянути джерело

@uppy/svelte: remove UMD output and make it use newer types (#5023)

Antoine du Hamel 1 рік тому
батько
коміт
b2346fa4c3

+ 2 - 2
package.json

@@ -120,7 +120,7 @@
     "build:svelte": "yarn workspace @uppy/svelte build",
     "build:angular": "yarn workspace angular build",
     "build:js": "npm-run-all build:lib build:companion build:locale-pack build:svelte build:bundle",
-    "build:ts": "yarn workspaces list --no-private --json | yarn node ./bin/build-ts.mjs",
+    "build:ts": "yarn workspaces list --no-private --json | yarn node ./bin/build-ts.mjs && yarn workspace @uppy/svelte validate",
     "build:lib": "yarn node ./bin/build-lib.js",
     "build:locale-pack": "yarn workspace @uppy-dev/locale-pack build && eslint packages/@uppy/locales/src/en_US.js --fix && yarn workspace @uppy-dev/locale-pack test unused",
     "build": "npm-run-all --parallel build:ts build:js build:css --serial size",
@@ -153,7 +153,7 @@
     "test:locale-packs:warnings": "yarn workspace @uppy-dev/locale-pack test warnings",
     "test:unit": "yarn run build:lib && yarn test:watch --run",
     "test:watch": "vitest --environment jsdom --dir packages/@uppy",
-    "test": "npm-run-all lint test:locale-packs:unused test:unit test:type test:companion",
+    "test": "npm-run-all lint test:locale-packs:unused test:unit test:companion",
     "uploadcdn": "yarn node ./bin/upload-to-cdn.js",
     "version": "yarn node ./bin/after-version-bump.js",
     "watch:css": "onchange 'packages/{@uppy/,}*/src/*.scss' --initial --verbose -- yarn run build:css",

+ 1 - 1
packages/@uppy/svelte/.npmignore

@@ -1 +1 @@
-# This file need to be there so .gitignored files are still uploaded to the npm registry.
+tsconfig.*

+ 16 - 6
packages/@uppy/svelte/package.json

@@ -1,15 +1,20 @@
 {
   "name": "@uppy/svelte",
   "description": "Uppy plugin that helps integrate Uppy into your Svelte project.",
-  "svelte": "src/index.js",
-  "module": "dist/index.mjs",
-  "main": "dist/index.js",
+  "type": "module",
   "version": "3.1.3",
   "scripts": {
     "build": "rollup -c",
     "prepublishOnly": "yarn run build",
     "validate": "svelte-check"
   },
+  "exports": {
+    ".": {
+      "svelte": "./src/index.js",
+      "default": "./lib/index.js"
+    },
+    "./package.json": "./package.json"
+  },
   "homepage": "https://uppy.io",
   "bugs": {
     "url": "https://github.com/transloadit/uppy/issues"
@@ -18,11 +23,15 @@
     "type": "git",
     "url": "git+https://github.com/transloadit/uppy.git"
   },
+  "dependencies": {
+    "@uppy/utils": "workspace:^"
+  },
   "devDependencies": {
     "@rollup/plugin-node-resolve": "^13.0.0",
     "@tsconfig/svelte": "^5.0.0",
-    "rollup": "^2.60.2",
+    "rollup": "^4.0.0",
     "rollup-plugin-svelte": "^7.0.0",
+    "rollup-plugin-svelte-types": "^1.0.6",
     "svelte": "^4.0.0",
     "svelte-check": "^3.0.0",
     "svelte-preprocess": "^5.0.0"
@@ -33,7 +42,7 @@
     "@uppy/drag-drop": "workspace:^",
     "@uppy/progress-bar": "workspace:^",
     "@uppy/status-bar": "workspace:^",
-    "svelte": "^3.0.0 || ^4.0.0"
+    "svelte": "^4.0.0"
   },
   "publishConfig": {
     "access": "public"
@@ -46,6 +55,7 @@
   ],
   "files": [
     "src",
-    "dist"
+    "lib",
+    "typings"
   ]
 }

+ 6 - 14
packages/@uppy/svelte/rollup.config.js

@@ -1,12 +1,7 @@
 import svelte from 'rollup-plugin-svelte'
 import resolve from '@rollup/plugin-node-resolve'
 import preprocess from 'svelte-preprocess'
-import pkg from './package.json'
-
-const name = pkg.name
-  .replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3')
-  .replace(/^\w/, m => m.toUpperCase())
-  .replace(/-\w/g, m => m[1].toUpperCase())
+import svelteDts from 'rollup-plugin-svelte-types';
 
 const globals = {
   '@uppy/dashboard': 'Dashboard',
@@ -16,19 +11,13 @@ const globals = {
 }
 
 export default {
-  input: 'src/index.js',
+  input: 'src/index.ts',
   output: [
     {
-      file: pkg.module,
+      file: 'lib/index.js',
       format: 'es',
       globals,
     },
-    {
-      file: pkg.main,
-      format: 'umd',
-      name,
-      globals,
-    },
   ],
   plugins: [
     svelte({
@@ -38,5 +27,8 @@ export default {
     resolve({
       resolveOnly: ['svelte'],
     }),
+    svelteDts.default({
+      declarationDir: './lib/'
+    })
   ],
 }

+ 5 - 5
packages/@uppy/svelte/src/components/Dashboard.svelte

@@ -1,12 +1,12 @@
-<script lang="ts">
+<script lang="ts" generics="M extends import('@uppy/utils/lib/UppyFile').Meta, B extends import('@uppy/utils/lib/UppyFile').Body">
   import { onMount, onDestroy } from 'svelte'
   import type { Uppy } from '@uppy/core';
   import DashboardPlugin from '@uppy/dashboard'
 
   let container: HTMLElement;
-  let plugin: DashboardPlugin;
+  let plugin: DashboardPlugin<M, B>;
 
-  export let uppy: Uppy;
+  export let uppy: Uppy<M, B>;
   export let props: Object | undefined = {};
   export let plugins: string[] = [];
 
@@ -20,9 +20,9 @@
     }
 
     uppy.use(DashboardPlugin, options);
-    plugin = uppy.getPlugin(options.id) as DashboardPlugin;
+    plugin = uppy.getPlugin(options.id) as DashboardPlugin<M, B>;
   }
-  const uninstallPlugin = (uppyInstance: Uppy = uppy) => {
+  const uninstallPlugin = (uppyInstance: Uppy<M, B> = uppy) => {
     uppyInstance.removePlugin(plugin);
   }
 

+ 5 - 5
packages/@uppy/svelte/src/components/DashboardModal.svelte

@@ -1,12 +1,12 @@
-<script lang="ts">
+<script lang="ts" generics="M extends import('@uppy/utils/lib/UppyFile').Meta, B extends import('@uppy/utils/lib/UppyFile').Body">
   import { onMount, onDestroy } from 'svelte'
   import type { Uppy } from '@uppy/core';
   import DashboardPlugin from '@uppy/dashboard'
 
   let container: HTMLElement;
-  let plugin: DashboardPlugin;
+  let plugin: DashboardPlugin<M, B>;
 
-  export let uppy: Uppy;
+  export let uppy: Uppy<M, B>;
   export let props: Object | undefined = {};
   export let open: boolean;
   let lastOpen: boolean = open;
@@ -22,10 +22,10 @@
     }
 
     uppy.use(DashboardPlugin, options);
-    plugin = uppy.getPlugin(options.id) as DashboardPlugin;
+    plugin = uppy.getPlugin(options.id) as DashboardPlugin<M, B>;
     if(open) plugin.openModal();
   }
-  const uninstallPlugin = (uppyInstance: Uppy = uppy) => {
+  const uninstallPlugin = (uppyInstance: Uppy<M, B> = uppy) => {
     uppyInstance.removePlugin(plugin);
   }
 

+ 5 - 5
packages/@uppy/svelte/src/components/DragDrop.svelte

@@ -1,12 +1,12 @@
-<script lang="ts">
+<script lang="ts" generics="M extends import('@uppy/utils/lib/UppyFile').Meta, B extends import('@uppy/utils/lib/UppyFile').Body">
   import { onMount, onDestroy } from 'svelte'
   import type { Uppy } from '@uppy/core';
   import DragDropPlugin from '@uppy/drag-drop'
 
   let container: HTMLElement;
-  let plugin: DragDropPlugin; 
+  let plugin: DragDropPlugin<M, B>; 
 
-  export let uppy: Uppy;
+  export let uppy: Uppy<M, B>;
   export let props: Object | undefined = {};
 
   const installPlugin = () => {
@@ -18,9 +18,9 @@
     }
 
     uppy.use(DragDropPlugin, options);
-    plugin = uppy.getPlugin(options.id) as DragDropPlugin;
+    plugin = uppy.getPlugin(options.id) as DragDropPlugin<M, B>;
   }
-  const uninstallPlugin = (uppyInstance: Uppy = uppy) => {
+  const uninstallPlugin = (uppyInstance: Uppy<M, B> = uppy) => {
     uppyInstance.removePlugin(plugin);
   }
 

+ 6 - 6
packages/@uppy/svelte/src/components/ProgressBar.svelte

@@ -1,12 +1,12 @@
-<script lang="ts">
+<script lang="ts" generics="M extends import('@uppy/utils/lib/UppyFile').Meta, B extends import('@uppy/utils/lib/UppyFile').Body">
   import { onMount, onDestroy } from 'svelte'
   import type { Uppy } from '@uppy/core';
   import ProgressBarPlugin from '@uppy/progress-bar'
-
+  
   let container: HTMLElement;
-  let plugin: ProgressBarPlugin; 
+  let plugin: ProgressBarPlugin<M, B>; 
 
-  export let uppy: Uppy;
+  export let uppy: Uppy<M, B>;
   export let props: Object | undefined = {};
 
   const installPlugin = () => {
@@ -18,9 +18,9 @@
     }
 
     uppy.use(ProgressBarPlugin, options);
-    plugin = uppy.getPlugin(options.id) as ProgressBarPlugin;
+    plugin = uppy.getPlugin(options.id) as ProgressBarPlugin<M, B>;
   }
-  const uninstallPlugin = (uppyInstance: Uppy = uppy) => {
+  const uninstallPlugin = (uppyInstance: Uppy<M, B> = uppy) => {
     uppyInstance.removePlugin(plugin);
   }
 

+ 6 - 6
packages/@uppy/svelte/src/components/StatusBar.svelte

@@ -1,12 +1,12 @@
-<script lang="ts">
+<script lang="ts" generics="M extends import('@uppy/utils/lib/UppyFile').Meta, B extends import('@uppy/utils/lib/UppyFile').Body">
   import { onMount, onDestroy } from 'svelte'
   import type { Uppy } from '@uppy/core';
   import StatusBarPlugin from '@uppy/status-bar'
-
+  
   let container: HTMLElement;
-  let plugin: StatusBarPlugin; 
+  let plugin: StatusBarPlugin<M, B>;
 
-  export let uppy: Uppy;
+  export let uppy: Uppy<M, B>;
   export let props: Object | undefined = {};
 
   const installPlugin = () => {
@@ -18,9 +18,9 @@
     }
 
     uppy.use(StatusBarPlugin, options);
-    plugin = uppy.getPlugin(options.id) as StatusBarPlugin;
+    plugin = uppy.getPlugin(options.id) as StatusBarPlugin<M, B>;
   }
-  const uninstallPlugin = (uppyInstance: Uppy = uppy) => {
+  const uninstallPlugin = (uppyInstance: Uppy<M, B> = uppy) => {
     uppyInstance.removePlugin(plugin);
   }
 

+ 0 - 1
packages/@uppy/svelte/src/empty.ts

@@ -1 +0,0 @@
-// We need at least one `.ts` file otherwise tsc complains it cannot find anything to do.

+ 0 - 0
packages/@uppy/svelte/src/index.js → packages/@uppy/svelte/src/index.ts


+ 9 - 4
packages/@uppy/svelte/tsconfig.json

@@ -1,9 +1,14 @@
 {
-  "extends": "@tsconfig/svelte/tsconfig.json",
+  "extends": [
+    "../../../tsconfig.shared.json",
+    "@tsconfig/svelte/tsconfig.json",
+  ],
   "compilerOptions": {
-    "esModuleInterop": true,
-    "sourceMap": true,
+    "noEmit": true,
+    "emitDeclarationOnly": false,
+    "rootDir": "./src",
+    "outDir": "./lib",
   },
-  "include": ["src/**/*"],
+  "include": ["./src/**/*.*", "./typings/index.d.ts"],
   "exclude": ["node_modules/*"],
 }

+ 5 - 0
packages/@uppy/svelte/typings/index.d.ts

@@ -0,0 +1,5 @@
+declare module '*.svelte' {
+  import { SvelteComponent } from 'svelte'
+
+  export default class extends SvelteComponent<any> {}
+}

+ 209 - 2
yarn.lock

@@ -7399,6 +7399,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-android-arm-eabi@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-android-arm-eabi@npm:4.13.0"
+  conditions: os=android & cpu=arm
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-android-arm-eabi@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-android-arm-eabi@npm:4.9.6"
@@ -7406,6 +7413,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-android-arm64@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-android-arm64@npm:4.13.0"
+  conditions: os=android & cpu=arm64
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-android-arm64@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-android-arm64@npm:4.9.6"
@@ -7413,6 +7427,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-darwin-arm64@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-darwin-arm64@npm:4.13.0"
+  conditions: os=darwin & cpu=arm64
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-darwin-arm64@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-darwin-arm64@npm:4.9.6"
@@ -7420,6 +7441,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-darwin-x64@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-darwin-x64@npm:4.13.0"
+  conditions: os=darwin & cpu=x64
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-darwin-x64@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-darwin-x64@npm:4.9.6"
@@ -7427,6 +7455,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.13.0"
+  conditions: os=linux & cpu=arm
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6"
@@ -7434,6 +7469,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-linux-arm64-gnu@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.13.0"
+  conditions: os=linux & cpu=arm64 & libc=glibc
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-linux-arm64-gnu@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.9.6"
@@ -7441,6 +7483,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-linux-arm64-musl@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-linux-arm64-musl@npm:4.13.0"
+  conditions: os=linux & cpu=arm64 & libc=musl
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-linux-arm64-musl@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-linux-arm64-musl@npm:4.9.6"
@@ -7448,6 +7497,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-linux-riscv64-gnu@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.13.0"
+  conditions: os=linux & cpu=riscv64 & libc=glibc
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-linux-riscv64-gnu@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.9.6"
@@ -7455,6 +7511,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-linux-x64-gnu@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-linux-x64-gnu@npm:4.13.0"
+  conditions: os=linux & cpu=x64 & libc=glibc
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-linux-x64-gnu@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.6"
@@ -7462,6 +7525,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-linux-x64-musl@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-linux-x64-musl@npm:4.13.0"
+  conditions: os=linux & cpu=x64 & libc=musl
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-linux-x64-musl@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-linux-x64-musl@npm:4.9.6"
@@ -7469,6 +7539,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-win32-arm64-msvc@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.13.0"
+  conditions: os=win32 & cpu=arm64
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-win32-arm64-msvc@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.9.6"
@@ -7476,6 +7553,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-win32-ia32-msvc@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.13.0"
+  conditions: os=win32 & cpu=ia32
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-win32-ia32-msvc@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.9.6"
@@ -7483,6 +7567,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-win32-x64-msvc@npm:4.13.0":
+  version: 4.13.0
+  resolution: "@rollup/rollup-win32-x64-msvc@npm:4.13.0"
+  conditions: os=win32 & cpu=x64
+  languageName: node
+  linkType: hard
+
 "@rollup/rollup-win32-x64-msvc@npm:4.9.6":
   version: 4.9.6
   resolution: "@rollup/rollup-win32-x64-msvc@npm:4.9.6"
@@ -9736,8 +9827,10 @@ __metadata:
   dependencies:
     "@rollup/plugin-node-resolve": ^13.0.0
     "@tsconfig/svelte": ^5.0.0
-    rollup: ^2.60.2
+    "@uppy/utils": "workspace:^"
+    rollup: ^4.0.0
     rollup-plugin-svelte: ^7.0.0
+    rollup-plugin-svelte-types: ^1.0.6
     svelte: ^4.0.0
     svelte-check: ^3.0.0
     svelte-preprocess: ^5.0.0
@@ -9747,7 +9840,7 @@ __metadata:
     "@uppy/drag-drop": "workspace:^"
     "@uppy/progress-bar": "workspace:^"
     "@uppy/status-bar": "workspace:^"
-    svelte: ^3.0.0 || ^4.0.0
+    svelte: ^4.0.0
   languageName: unknown
   linkType: soft
 
@@ -13820,6 +13913,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"dedent-js@npm:^1.0.1":
+  version: 1.0.1
+  resolution: "dedent-js@npm:1.0.1"
+  checksum: 3a86f4b11176b387c0633b4b201aef884f9bc83eb9485bd1156c5d9b3984a58fd7686f8213b67212b714a1abf00279bef5cd4eea6a9a7f033e37ce33352af9a9
+  languageName: node
+  linkType: hard
+
 "dedent@npm:^0.7.0":
   version: 0.7.0
   resolution: "dedent@npm:0.7.0"
@@ -21423,6 +21523,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"lower-case@npm:^2.0.2":
+  version: 2.0.2
+  resolution: "lower-case@npm:2.0.2"
+  dependencies:
+    tslib: ^2.0.3
+  checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010
+  languageName: node
+  linkType: hard
+
 "lowercase-keys@npm:^2.0.0":
   version: 2.0.0
   resolution: "lowercase-keys@npm:2.0.0"
@@ -23407,6 +23516,16 @@ __metadata:
   languageName: node
   linkType: hard
 
+"no-case@npm:^3.0.4":
+  version: 3.0.4
+  resolution: "no-case@npm:3.0.4"
+  dependencies:
+    lower-case: ^2.0.2
+    tslib: ^2.0.3
+  checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c
+  languageName: node
+  linkType: hard
+
 "nocache@npm:^2.1.0":
   version: 2.1.0
   resolution: "nocache@npm:2.1.0"
@@ -24879,6 +24998,16 @@ __metadata:
   languageName: node
   linkType: hard
 
+"pascal-case@npm:^3.1.1":
+  version: 3.1.2
+  resolution: "pascal-case@npm:3.1.2"
+  dependencies:
+    no-case: ^3.0.4
+    tslib: ^2.0.3
+  checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e
+  languageName: node
+  linkType: hard
+
 "pascalcase@npm:^0.1.1":
   version: 0.1.1
   resolution: "pascalcase@npm:0.1.1"
@@ -27605,6 +27734,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"rollup-plugin-svelte-types@npm:^1.0.6":
+  version: 1.0.6
+  resolution: "rollup-plugin-svelte-types@npm:1.0.6"
+  dependencies:
+    svelte2tsx: ^0.5.16
+  peerDependencies:
+    rollup: ^2.67.1
+  checksum: 7259754a0397421f9d066ef2bd85730874e08f60d582a1268ba048b3527f3a134b8e307a7b5ba69a96de46e4271ebf4b183cbc2b47c09e9e65e278b751fb912c
+  languageName: node
+  linkType: hard
+
 "rollup-plugin-svelte@npm:^7.0.0":
   version: 7.1.0
   resolution: "rollup-plugin-svelte@npm:7.1.0"
@@ -27669,6 +27809,60 @@ __metadata:
   languageName: node
   linkType: hard
 
+"rollup@npm:^4.0.0":
+  version: 4.13.0
+  resolution: "rollup@npm:4.13.0"
+  dependencies:
+    "@rollup/rollup-android-arm-eabi": 4.13.0
+    "@rollup/rollup-android-arm64": 4.13.0
+    "@rollup/rollup-darwin-arm64": 4.13.0
+    "@rollup/rollup-darwin-x64": 4.13.0
+    "@rollup/rollup-linux-arm-gnueabihf": 4.13.0
+    "@rollup/rollup-linux-arm64-gnu": 4.13.0
+    "@rollup/rollup-linux-arm64-musl": 4.13.0
+    "@rollup/rollup-linux-riscv64-gnu": 4.13.0
+    "@rollup/rollup-linux-x64-gnu": 4.13.0
+    "@rollup/rollup-linux-x64-musl": 4.13.0
+    "@rollup/rollup-win32-arm64-msvc": 4.13.0
+    "@rollup/rollup-win32-ia32-msvc": 4.13.0
+    "@rollup/rollup-win32-x64-msvc": 4.13.0
+    "@types/estree": 1.0.5
+    fsevents: ~2.3.2
+  dependenciesMeta:
+    "@rollup/rollup-android-arm-eabi":
+      optional: true
+    "@rollup/rollup-android-arm64":
+      optional: true
+    "@rollup/rollup-darwin-arm64":
+      optional: true
+    "@rollup/rollup-darwin-x64":
+      optional: true
+    "@rollup/rollup-linux-arm-gnueabihf":
+      optional: true
+    "@rollup/rollup-linux-arm64-gnu":
+      optional: true
+    "@rollup/rollup-linux-arm64-musl":
+      optional: true
+    "@rollup/rollup-linux-riscv64-gnu":
+      optional: true
+    "@rollup/rollup-linux-x64-gnu":
+      optional: true
+    "@rollup/rollup-linux-x64-musl":
+      optional: true
+    "@rollup/rollup-win32-arm64-msvc":
+      optional: true
+    "@rollup/rollup-win32-ia32-msvc":
+      optional: true
+    "@rollup/rollup-win32-x64-msvc":
+      optional: true
+    fsevents:
+      optional: true
+  bin:
+    rollup: dist/bin/rollup
+  checksum: c2c35bee0a71ceb0df37c170c2b73a500bf9ebdffb747487d77831348603d50dcfcdd9d0a937362d3a87edda559c9d1e017fba2d75f05f0c594634d9b8dde9a4
+  languageName: node
+  linkType: hard
+
 "rollup@npm:^4.2.0":
   version: 4.9.6
   resolution: "rollup@npm:4.9.6"
@@ -29765,6 +29959,19 @@ __metadata:
   languageName: node
   linkType: hard
 
+"svelte2tsx@npm:^0.5.16":
+  version: 0.5.23
+  resolution: "svelte2tsx@npm:0.5.23"
+  dependencies:
+    dedent-js: ^1.0.1
+    pascal-case: ^3.1.1
+  peerDependencies:
+    svelte: ^3.24
+    typescript: ^4.1.2
+  checksum: bcb29c95922984b305cf1278e3d8ccfa03bffe521045980dee4d90e833debaca755d59174548693d67fda8fea7321dc1f2aee303f044b4a7c6db45639de88be0
+  languageName: node
+  linkType: hard
+
 "svelte@npm:>=3.24.0":
   version: 3.49.0
   resolution: "svelte@npm:3.49.0"