mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-24 08:01:38 +00:00
vite + svelte support on local dev
This commit is contained in:
+4
-2
@@ -13,6 +13,8 @@
|
||||
"@std/path": "jsr:@std/path@^1.0.4",
|
||||
"@std/streams": "jsr:@std/streams@^1.0.4",
|
||||
"@std/yaml": "jsr:@std/yaml@^1.0.5",
|
||||
"@types/diff": "npm:@types/diff@^5.2.2"
|
||||
}
|
||||
"@types/diff": "npm:@types/diff@^5.2.2",
|
||||
"ws": "npm:ws@8.18.0"
|
||||
},
|
||||
"nodeModulesDir": "auto"
|
||||
}
|
||||
Generated
+317
-206
@@ -18,13 +18,13 @@
|
||||
"jsr:@std/encoding@1.0.4": "1.0.4",
|
||||
"jsr:@std/encoding@^1.0.4": "1.0.4",
|
||||
"jsr:@std/fmt@0.223": "0.223.0",
|
||||
"jsr:@std/fmt@1": "1.0.2",
|
||||
"jsr:@std/fmt@1": "1.0.8",
|
||||
"jsr:@std/fmt@^1.0.2": "1.0.2",
|
||||
"jsr:@std/fmt@^1.0.5": "1.0.8",
|
||||
"jsr:@std/fmt@~0.225.4": "0.225.6",
|
||||
"jsr:@std/fs@*": "1.0.20",
|
||||
"jsr:@std/fs@0.223": "0.223.0",
|
||||
"jsr:@std/fs@1": "1.0.3",
|
||||
"jsr:@std/fs@1": "1.0.20",
|
||||
"jsr:@std/fs@^1.0.11": "1.0.20",
|
||||
"jsr:@std/fs@^1.0.3": "1.0.3",
|
||||
"jsr:@std/fs@~0.229.3": "0.229.3",
|
||||
@@ -40,7 +40,7 @@
|
||||
"jsr:@std/net@^1.0.2": "1.0.2",
|
||||
"jsr:@std/path@*": "1.1.3",
|
||||
"jsr:@std/path@0.223": "0.223.0",
|
||||
"jsr:@std/path@1": "1.0.4",
|
||||
"jsr:@std/path@1": "1.1.3",
|
||||
"jsr:@std/path@1.0.0-rc.1": "1.0.0-rc.1",
|
||||
"jsr:@std/path@1.0.0-rc.2": "1.0.0-rc.2",
|
||||
"jsr:@std/path@^1.0.4": "1.0.4",
|
||||
@@ -64,18 +64,23 @@
|
||||
"jsr:@windmill-labs/cliffy-prompt@^1.0.0-rc.5": "1.0.0-rc.6",
|
||||
"jsr:@windmill-labs/cliffy-table@1.0.0-rc.5": "1.0.0-rc.5",
|
||||
"jsr:@windmill-labs/cliffy-table@^1.0.0-rc.5": "1.0.0-rc.5",
|
||||
"jsr:@windmill-labs/shared-utils@1.0.10": "1.0.10",
|
||||
"jsr:@windmill-labs/shared-utils@1.0.3": "1.0.3",
|
||||
"jsr:@windmill-labs/shared-utils@1.0.5": "1.0.5",
|
||||
"jsr:@windmill-labs/shared-utils@1.0.6": "1.0.6",
|
||||
"jsr:@windmill-labs/shared-utils@1.0.7": "1.0.7",
|
||||
"npm:@ayonli/jsext@*": "1.8.0",
|
||||
"npm:@types/node@*": "22.12.0",
|
||||
"npm:@types/diff@^5.2.2": "5.2.3",
|
||||
"npm:@types/node@*": "24.2.0",
|
||||
"npm:@types/ws@*": "8.18.1",
|
||||
"npm:@windmill-labs/shared-utils@1.0.1": "1.0.1",
|
||||
"npm:@windmill-labs/shared-utils@1.0.2": "1.0.2",
|
||||
"npm:centdix-utils@*": "1.0.15",
|
||||
"npm:diff@*": "8.0.2",
|
||||
"npm:es-main@*": "1.3.0",
|
||||
"npm:esbuild@*": "0.25.8",
|
||||
"npm:esbuild-plugin-vue3@0.5.1": "0.5.1_vue@3.5.25__typescript@4.9.5_typescript@4.9.5",
|
||||
"npm:esbuild-svelte@0.9.3": "0.9.3_esbuild@0.24.2_svelte@5.45.2__acorn@8.14.1",
|
||||
"npm:esbuild@*": "0.24.2",
|
||||
"npm:esbuild@0.24.2": "0.24.2",
|
||||
"npm:express@*": "5.1.0",
|
||||
"npm:get-port@7.1.0": "7.1.0",
|
||||
@@ -83,8 +88,10 @@
|
||||
"npm:jszip@3.8.0": "3.8.0",
|
||||
"npm:minimatch@*": "10.0.3",
|
||||
"npm:open@*": "10.2.0",
|
||||
"npm:svelte-preprocess@6.0.3": "6.0.3_svelte@5.45.2__acorn@8.14.1",
|
||||
"npm:ws@*": "8.18.3",
|
||||
"npm:ws@8.18.0": "8.18.0"
|
||||
"npm:ws@8.18.0": "8.18.0",
|
||||
"npm:ws@8.18.3": "8.18.3"
|
||||
},
|
||||
"jsr": {
|
||||
"@david/code-block-writer@13.0.2": {
|
||||
@@ -349,6 +356,9 @@
|
||||
},
|
||||
"@windmill-labs/shared-utils@1.0.7": {
|
||||
"integrity": "528638c7c508910e7f51b1ad9a5f1ff394e3fefb28fd3f96ab958c258a26e978"
|
||||
},
|
||||
"@windmill-labs/shared-utils@1.0.10": {
|
||||
"integrity": "bd1993eb8d693c8ba49da1618f82ff4601eeb59011b2cac13e664291f7a299d8"
|
||||
}
|
||||
},
|
||||
"npm": {
|
||||
@@ -361,261 +371,151 @@
|
||||
"zod"
|
||||
]
|
||||
},
|
||||
"@babel/helper-string-parser@7.27.1": {
|
||||
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="
|
||||
},
|
||||
"@babel/helper-validator-identifier@7.28.5": {
|
||||
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="
|
||||
},
|
||||
"@babel/parser@7.28.5": {
|
||||
"integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
|
||||
"dependencies": [
|
||||
"@babel/types"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"@babel/types@7.28.5": {
|
||||
"integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
|
||||
"dependencies": [
|
||||
"@babel/helper-string-parser",
|
||||
"@babel/helper-validator-identifier"
|
||||
]
|
||||
},
|
||||
"@esbuild/aix-ppc64@0.24.2": {
|
||||
"integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
|
||||
"os": ["aix"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@esbuild/aix-ppc64@0.25.8": {
|
||||
"integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==",
|
||||
"os": ["aix"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@esbuild/android-arm64@0.24.2": {
|
||||
"integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/android-arm64@0.25.8": {
|
||||
"integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/android-arm@0.24.2": {
|
||||
"integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@esbuild/android-arm@0.25.8": {
|
||||
"integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@esbuild/android-x64@0.24.2": {
|
||||
"integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
|
||||
"os": ["android"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/android-x64@0.25.8": {
|
||||
"integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==",
|
||||
"os": ["android"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/darwin-arm64@0.24.2": {
|
||||
"integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/darwin-arm64@0.25.8": {
|
||||
"integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/darwin-x64@0.24.2": {
|
||||
"integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/darwin-x64@0.25.8": {
|
||||
"integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/freebsd-arm64@0.24.2": {
|
||||
"integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/freebsd-arm64@0.25.8": {
|
||||
"integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/freebsd-x64@0.24.2": {
|
||||
"integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/freebsd-x64@0.25.8": {
|
||||
"integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/linux-arm64@0.24.2": {
|
||||
"integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/linux-arm64@0.25.8": {
|
||||
"integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/linux-arm@0.24.2": {
|
||||
"integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@esbuild/linux-arm@0.25.8": {
|
||||
"integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@esbuild/linux-ia32@0.24.2": {
|
||||
"integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@esbuild/linux-ia32@0.25.8": {
|
||||
"integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@esbuild/linux-loong64@0.24.2": {
|
||||
"integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["loong64"]
|
||||
},
|
||||
"@esbuild/linux-loong64@0.25.8": {
|
||||
"integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["loong64"]
|
||||
},
|
||||
"@esbuild/linux-mips64el@0.24.2": {
|
||||
"integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["mips64el"]
|
||||
},
|
||||
"@esbuild/linux-mips64el@0.25.8": {
|
||||
"integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["mips64el"]
|
||||
},
|
||||
"@esbuild/linux-ppc64@0.24.2": {
|
||||
"integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@esbuild/linux-ppc64@0.25.8": {
|
||||
"integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@esbuild/linux-riscv64@0.24.2": {
|
||||
"integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["riscv64"]
|
||||
},
|
||||
"@esbuild/linux-riscv64@0.25.8": {
|
||||
"integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["riscv64"]
|
||||
},
|
||||
"@esbuild/linux-s390x@0.24.2": {
|
||||
"integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["s390x"]
|
||||
},
|
||||
"@esbuild/linux-s390x@0.25.8": {
|
||||
"integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["s390x"]
|
||||
},
|
||||
"@esbuild/linux-x64@0.24.2": {
|
||||
"integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/linux-x64@0.25.8": {
|
||||
"integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/netbsd-arm64@0.24.2": {
|
||||
"integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
|
||||
"os": ["netbsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/netbsd-arm64@0.25.8": {
|
||||
"integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==",
|
||||
"os": ["netbsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/netbsd-x64@0.24.2": {
|
||||
"integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
|
||||
"os": ["netbsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/netbsd-x64@0.25.8": {
|
||||
"integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==",
|
||||
"os": ["netbsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/openbsd-arm64@0.24.2": {
|
||||
"integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
|
||||
"os": ["openbsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/openbsd-arm64@0.25.8": {
|
||||
"integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==",
|
||||
"os": ["openbsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/openbsd-x64@0.24.2": {
|
||||
"integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
|
||||
"os": ["openbsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/openbsd-x64@0.25.8": {
|
||||
"integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==",
|
||||
"os": ["openbsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/openharmony-arm64@0.25.8": {
|
||||
"integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==",
|
||||
"os": ["openharmony"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/sunos-x64@0.24.2": {
|
||||
"integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
|
||||
"os": ["sunos"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/sunos-x64@0.25.8": {
|
||||
"integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==",
|
||||
"os": ["sunos"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/win32-arm64@0.24.2": {
|
||||
"integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/win32-arm64@0.25.8": {
|
||||
"integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/win32-ia32@0.24.2": {
|
||||
"integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@esbuild/win32-ia32@0.25.8": {
|
||||
"integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@esbuild/win32-x64@0.24.2": {
|
||||
"integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/win32-x64@0.25.8": {
|
||||
"integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@isaacs/balanced-match@4.0.1": {
|
||||
"integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="
|
||||
},
|
||||
@@ -625,12 +525,128 @@
|
||||
"@isaacs/balanced-match"
|
||||
]
|
||||
},
|
||||
"@types/node@22.12.0": {
|
||||
"integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
|
||||
"@jridgewell/gen-mapping@0.3.13": {
|
||||
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
|
||||
"dependencies": [
|
||||
"@jridgewell/sourcemap-codec",
|
||||
"@jridgewell/trace-mapping"
|
||||
]
|
||||
},
|
||||
"@jridgewell/remapping@2.3.5": {
|
||||
"integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
|
||||
"dependencies": [
|
||||
"@jridgewell/gen-mapping",
|
||||
"@jridgewell/trace-mapping"
|
||||
]
|
||||
},
|
||||
"@jridgewell/resolve-uri@3.1.2": {
|
||||
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
|
||||
},
|
||||
"@jridgewell/sourcemap-codec@1.5.5": {
|
||||
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="
|
||||
},
|
||||
"@jridgewell/trace-mapping@0.3.31": {
|
||||
"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
|
||||
"dependencies": [
|
||||
"@jridgewell/resolve-uri",
|
||||
"@jridgewell/sourcemap-codec"
|
||||
]
|
||||
},
|
||||
"@sveltejs/acorn-typescript@1.0.7_acorn@8.14.1": {
|
||||
"integrity": "sha512-znp1A/Y1Jj4l/Zy7PX5DZKBE0ZNY+5QBngiE21NJkfSTyzzC5iKNWOtwFXKtIrn7MXEFBck4jD95iBNkGjK92Q==",
|
||||
"dependencies": [
|
||||
"acorn"
|
||||
]
|
||||
},
|
||||
"@types/diff@5.2.3": {
|
||||
"integrity": "sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ=="
|
||||
},
|
||||
"@types/estree@1.0.8": {
|
||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="
|
||||
},
|
||||
"@types/node@24.2.0": {
|
||||
"integrity": "sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==",
|
||||
"dependencies": [
|
||||
"undici-types"
|
||||
]
|
||||
},
|
||||
"@types/ws@8.18.1": {
|
||||
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
||||
"dependencies": [
|
||||
"@types/node"
|
||||
]
|
||||
},
|
||||
"@vue/compiler-core@3.5.25": {
|
||||
"integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==",
|
||||
"dependencies": [
|
||||
"@babel/parser",
|
||||
"@vue/shared",
|
||||
"entities",
|
||||
"estree-walker",
|
||||
"source-map-js"
|
||||
]
|
||||
},
|
||||
"@vue/compiler-dom@3.5.25": {
|
||||
"integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==",
|
||||
"dependencies": [
|
||||
"@vue/compiler-core",
|
||||
"@vue/shared"
|
||||
]
|
||||
},
|
||||
"@vue/compiler-sfc@3.5.25": {
|
||||
"integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==",
|
||||
"dependencies": [
|
||||
"@babel/parser",
|
||||
"@vue/compiler-core",
|
||||
"@vue/compiler-dom",
|
||||
"@vue/compiler-ssr",
|
||||
"@vue/shared",
|
||||
"estree-walker",
|
||||
"magic-string",
|
||||
"postcss",
|
||||
"source-map-js"
|
||||
]
|
||||
},
|
||||
"@vue/compiler-ssr@3.5.25": {
|
||||
"integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==",
|
||||
"dependencies": [
|
||||
"@vue/compiler-dom",
|
||||
"@vue/shared"
|
||||
]
|
||||
},
|
||||
"@vue/reactivity@3.5.25": {
|
||||
"integrity": "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==",
|
||||
"dependencies": [
|
||||
"@vue/shared"
|
||||
]
|
||||
},
|
||||
"@vue/runtime-core@3.5.25": {
|
||||
"integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==",
|
||||
"dependencies": [
|
||||
"@vue/reactivity",
|
||||
"@vue/shared"
|
||||
]
|
||||
},
|
||||
"@vue/runtime-dom@3.5.25": {
|
||||
"integrity": "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==",
|
||||
"dependencies": [
|
||||
"@vue/reactivity",
|
||||
"@vue/runtime-core",
|
||||
"@vue/shared",
|
||||
"csstype"
|
||||
]
|
||||
},
|
||||
"@vue/server-renderer@3.5.25_vue@3.5.25__typescript@4.9.5_typescript@4.9.5": {
|
||||
"integrity": "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==",
|
||||
"dependencies": [
|
||||
"@vue/compiler-ssr",
|
||||
"@vue/shared",
|
||||
"vue"
|
||||
]
|
||||
},
|
||||
"@vue/shared@3.5.25": {
|
||||
"integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg=="
|
||||
},
|
||||
"@windmill-labs/shared-utils@1.0.1": {
|
||||
"integrity": "sha512-DUMzPIFCKImuGpbuHXXmGGUT3VXYlgrv/jIIEOW+Iig+9tZvYqOUxfgn32lDhm73k82xBg8MdAf+0qABzfqFeQ=="
|
||||
},
|
||||
@@ -644,6 +660,16 @@
|
||||
"negotiator"
|
||||
]
|
||||
},
|
||||
"acorn@8.14.1": {
|
||||
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||
"bin": true
|
||||
},
|
||||
"aria-query@5.3.2": {
|
||||
"integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="
|
||||
},
|
||||
"axobject-query@4.1.0": {
|
||||
"integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="
|
||||
},
|
||||
"body-parser@2.2.0": {
|
||||
"integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
|
||||
"dependencies": [
|
||||
@@ -687,6 +713,9 @@
|
||||
"windmill-client"
|
||||
]
|
||||
},
|
||||
"clsx@2.1.1": {
|
||||
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="
|
||||
},
|
||||
"content-disposition@1.0.0": {
|
||||
"integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==",
|
||||
"dependencies": [
|
||||
@@ -705,6 +734,9 @@
|
||||
"core-util-is@1.0.3": {
|
||||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
|
||||
},
|
||||
"csstype@3.2.3": {
|
||||
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="
|
||||
},
|
||||
"debug@4.4.1": {
|
||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
||||
"dependencies": [
|
||||
@@ -727,6 +759,9 @@
|
||||
"depd@2.0.0": {
|
||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
|
||||
},
|
||||
"devalue@5.5.0": {
|
||||
"integrity": "sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w=="
|
||||
},
|
||||
"diff@8.0.2": {
|
||||
"integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="
|
||||
},
|
||||
@@ -744,6 +779,9 @@
|
||||
"encodeurl@2.0.0": {
|
||||
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="
|
||||
},
|
||||
"entities@4.5.0": {
|
||||
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
|
||||
},
|
||||
"es-define-property@1.0.1": {
|
||||
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
|
||||
},
|
||||
@@ -759,67 +797,49 @@
|
||||
"es-errors"
|
||||
]
|
||||
},
|
||||
"esbuild-plugin-vue3@0.5.1_vue@3.5.25__typescript@4.9.5_typescript@4.9.5": {
|
||||
"integrity": "sha512-rhTPImJ1Zi7FbVa4xWlu9dJdt+mqWxc9Z+AQd+ArbHHwtyQRe8FvER8gaTw0O6bNsBjAtU5rq0rpZEkP3QaThg==",
|
||||
"dependencies": [
|
||||
"typescript",
|
||||
"vue"
|
||||
]
|
||||
},
|
||||
"esbuild-svelte@0.9.3_esbuild@0.24.2_svelte@5.45.2__acorn@8.14.1": {
|
||||
"integrity": "sha512-CgEcGY1r/d16+aggec3czoFBEBaYIrFOnMxpsO6fWNaNEqHregPN5DLAPZDqrL7rXDNplW+WMu8s3GMq9FqgJA==",
|
||||
"dependencies": [
|
||||
"@jridgewell/trace-mapping",
|
||||
"esbuild",
|
||||
"svelte"
|
||||
]
|
||||
},
|
||||
"esbuild@0.24.2": {
|
||||
"integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
|
||||
"optionalDependencies": [
|
||||
"@esbuild/aix-ppc64@0.24.2",
|
||||
"@esbuild/android-arm@0.24.2",
|
||||
"@esbuild/android-arm64@0.24.2",
|
||||
"@esbuild/android-x64@0.24.2",
|
||||
"@esbuild/darwin-arm64@0.24.2",
|
||||
"@esbuild/darwin-x64@0.24.2",
|
||||
"@esbuild/freebsd-arm64@0.24.2",
|
||||
"@esbuild/freebsd-x64@0.24.2",
|
||||
"@esbuild/linux-arm@0.24.2",
|
||||
"@esbuild/linux-arm64@0.24.2",
|
||||
"@esbuild/linux-ia32@0.24.2",
|
||||
"@esbuild/linux-loong64@0.24.2",
|
||||
"@esbuild/linux-mips64el@0.24.2",
|
||||
"@esbuild/linux-ppc64@0.24.2",
|
||||
"@esbuild/linux-riscv64@0.24.2",
|
||||
"@esbuild/linux-s390x@0.24.2",
|
||||
"@esbuild/linux-x64@0.24.2",
|
||||
"@esbuild/netbsd-arm64@0.24.2",
|
||||
"@esbuild/netbsd-x64@0.24.2",
|
||||
"@esbuild/openbsd-arm64@0.24.2",
|
||||
"@esbuild/openbsd-x64@0.24.2",
|
||||
"@esbuild/sunos-x64@0.24.2",
|
||||
"@esbuild/win32-arm64@0.24.2",
|
||||
"@esbuild/win32-ia32@0.24.2",
|
||||
"@esbuild/win32-x64@0.24.2"
|
||||
],
|
||||
"scripts": true,
|
||||
"bin": true
|
||||
},
|
||||
"esbuild@0.25.8": {
|
||||
"integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==",
|
||||
"optionalDependencies": [
|
||||
"@esbuild/aix-ppc64@0.25.8",
|
||||
"@esbuild/android-arm@0.25.8",
|
||||
"@esbuild/android-arm64@0.25.8",
|
||||
"@esbuild/android-x64@0.25.8",
|
||||
"@esbuild/darwin-arm64@0.25.8",
|
||||
"@esbuild/darwin-x64@0.25.8",
|
||||
"@esbuild/freebsd-arm64@0.25.8",
|
||||
"@esbuild/freebsd-x64@0.25.8",
|
||||
"@esbuild/linux-arm@0.25.8",
|
||||
"@esbuild/linux-arm64@0.25.8",
|
||||
"@esbuild/linux-ia32@0.25.8",
|
||||
"@esbuild/linux-loong64@0.25.8",
|
||||
"@esbuild/linux-mips64el@0.25.8",
|
||||
"@esbuild/linux-ppc64@0.25.8",
|
||||
"@esbuild/linux-riscv64@0.25.8",
|
||||
"@esbuild/linux-s390x@0.25.8",
|
||||
"@esbuild/linux-x64@0.25.8",
|
||||
"@esbuild/netbsd-arm64@0.25.8",
|
||||
"@esbuild/netbsd-x64@0.25.8",
|
||||
"@esbuild/openbsd-arm64@0.25.8",
|
||||
"@esbuild/openbsd-x64@0.25.8",
|
||||
"@esbuild/openharmony-arm64",
|
||||
"@esbuild/sunos-x64@0.25.8",
|
||||
"@esbuild/win32-arm64@0.25.8",
|
||||
"@esbuild/win32-ia32@0.25.8",
|
||||
"@esbuild/win32-x64@0.25.8"
|
||||
"@esbuild/aix-ppc64",
|
||||
"@esbuild/android-arm",
|
||||
"@esbuild/android-arm64",
|
||||
"@esbuild/android-x64",
|
||||
"@esbuild/darwin-arm64",
|
||||
"@esbuild/darwin-x64",
|
||||
"@esbuild/freebsd-arm64",
|
||||
"@esbuild/freebsd-x64",
|
||||
"@esbuild/linux-arm",
|
||||
"@esbuild/linux-arm64",
|
||||
"@esbuild/linux-ia32",
|
||||
"@esbuild/linux-loong64",
|
||||
"@esbuild/linux-mips64el",
|
||||
"@esbuild/linux-ppc64",
|
||||
"@esbuild/linux-riscv64",
|
||||
"@esbuild/linux-s390x",
|
||||
"@esbuild/linux-x64",
|
||||
"@esbuild/netbsd-arm64",
|
||||
"@esbuild/netbsd-x64",
|
||||
"@esbuild/openbsd-arm64",
|
||||
"@esbuild/openbsd-x64",
|
||||
"@esbuild/sunos-x64",
|
||||
"@esbuild/win32-arm64",
|
||||
"@esbuild/win32-ia32",
|
||||
"@esbuild/win32-x64"
|
||||
],
|
||||
"scripts": true,
|
||||
"bin": true
|
||||
@@ -827,6 +847,18 @@
|
||||
"escape-html@1.0.3": {
|
||||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
|
||||
},
|
||||
"esm-env@1.2.2": {
|
||||
"integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="
|
||||
},
|
||||
"esrap@2.2.0": {
|
||||
"integrity": "sha512-WBmtxe7R9C5mvL4n2le8nMUe4mD5V9oiK2vJpQ9I3y20ENPUomPcphBXE8D1x/Bm84oN1V+lOfgXxtqmxTp3Xg==",
|
||||
"dependencies": [
|
||||
"@jridgewell/sourcemap-codec"
|
||||
]
|
||||
},
|
||||
"estree-walker@2.0.2": {
|
||||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
|
||||
},
|
||||
"etag@1.8.1": {
|
||||
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
|
||||
},
|
||||
@@ -857,7 +889,7 @@
|
||||
"router",
|
||||
"send",
|
||||
"serve-static",
|
||||
"statuses@2.0.2",
|
||||
"statuses",
|
||||
"type-is",
|
||||
"vary"
|
||||
]
|
||||
@@ -870,7 +902,7 @@
|
||||
"escape-html",
|
||||
"on-finished",
|
||||
"parseurl",
|
||||
"statuses@2.0.2"
|
||||
"statuses"
|
||||
]
|
||||
},
|
||||
"forwarded@0.2.0": {
|
||||
@@ -925,7 +957,7 @@
|
||||
"depd",
|
||||
"inherits",
|
||||
"setprototypeof",
|
||||
"statuses@2.0.1",
|
||||
"statuses",
|
||||
"toidentifier"
|
||||
]
|
||||
},
|
||||
@@ -958,6 +990,12 @@
|
||||
"is-promise@4.0.0": {
|
||||
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="
|
||||
},
|
||||
"is-reference@3.0.3": {
|
||||
"integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
|
||||
"dependencies": [
|
||||
"@types/estree"
|
||||
]
|
||||
},
|
||||
"is-wsl@3.1.0": {
|
||||
"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
|
||||
"dependencies": [
|
||||
@@ -991,6 +1029,15 @@
|
||||
"immediate"
|
||||
]
|
||||
},
|
||||
"locate-character@3.0.0": {
|
||||
"integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="
|
||||
},
|
||||
"magic-string@0.30.21": {
|
||||
"integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
|
||||
"dependencies": [
|
||||
"@jridgewell/sourcemap-codec"
|
||||
]
|
||||
},
|
||||
"math-intrinsics@1.1.0": {
|
||||
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
|
||||
},
|
||||
@@ -1018,6 +1065,10 @@
|
||||
"ms@2.1.3": {
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
},
|
||||
"nanoid@3.3.11": {
|
||||
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
|
||||
"bin": true
|
||||
},
|
||||
"negotiator@1.0.0": {
|
||||
"integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="
|
||||
},
|
||||
@@ -1054,6 +1105,17 @@
|
||||
"path-to-regexp@8.2.0": {
|
||||
"integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ=="
|
||||
},
|
||||
"picocolors@1.1.1": {
|
||||
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
|
||||
},
|
||||
"postcss@8.5.6": {
|
||||
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
||||
"dependencies": [
|
||||
"nanoid",
|
||||
"picocolors",
|
||||
"source-map-js"
|
||||
]
|
||||
},
|
||||
"process-nextick-args@2.0.1": {
|
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
||||
},
|
||||
@@ -1129,7 +1191,7 @@
|
||||
"ms",
|
||||
"on-finished",
|
||||
"range-parser",
|
||||
"statuses@2.0.2"
|
||||
"statuses"
|
||||
]
|
||||
},
|
||||
"serve-static@2.2.0": {
|
||||
@@ -1183,12 +1245,12 @@
|
||||
"side-channel-weakmap"
|
||||
]
|
||||
},
|
||||
"source-map-js@1.2.1": {
|
||||
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
|
||||
},
|
||||
"statuses@2.0.1": {
|
||||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
|
||||
},
|
||||
"statuses@2.0.2": {
|
||||
"integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="
|
||||
},
|
||||
"string_decoder@1.1.1": {
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dependencies": [
|
||||
@@ -1199,6 +1261,33 @@
|
||||
"integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==",
|
||||
"deprecated": true
|
||||
},
|
||||
"svelte-preprocess@6.0.3_svelte@5.45.2__acorn@8.14.1": {
|
||||
"integrity": "sha512-PLG2k05qHdhmRG7zR/dyo5qKvakhm8IJ+hD2eFRQmMLHp7X3eJnjeupUtvuRpbNiF31RjVw45W+abDwHEmP5OA==",
|
||||
"dependencies": [
|
||||
"svelte"
|
||||
],
|
||||
"scripts": true
|
||||
},
|
||||
"svelte@5.45.2_acorn@8.14.1": {
|
||||
"integrity": "sha512-yyXdW2u3H0H/zxxWoGwJoQlRgaSJLp+Vhktv12iRw2WRDlKqUPT54Fi0K/PkXqrdkcQ98aBazpy0AH4BCBVfoA==",
|
||||
"dependencies": [
|
||||
"@jridgewell/remapping",
|
||||
"@jridgewell/sourcemap-codec",
|
||||
"@sveltejs/acorn-typescript",
|
||||
"@types/estree",
|
||||
"acorn",
|
||||
"aria-query",
|
||||
"axobject-query",
|
||||
"clsx",
|
||||
"devalue",
|
||||
"esm-env",
|
||||
"esrap",
|
||||
"is-reference",
|
||||
"locate-character",
|
||||
"magic-string",
|
||||
"zimmerframe"
|
||||
]
|
||||
},
|
||||
"toidentifier@1.0.1": {
|
||||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
|
||||
},
|
||||
@@ -1210,8 +1299,12 @@
|
||||
"mime-types"
|
||||
]
|
||||
},
|
||||
"undici-types@6.20.0": {
|
||||
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
|
||||
"typescript@4.9.5": {
|
||||
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
|
||||
"bin": true
|
||||
},
|
||||
"undici-types@7.10.0": {
|
||||
"integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="
|
||||
},
|
||||
"unpipe@1.0.0": {
|
||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
|
||||
@@ -1222,6 +1315,20 @@
|
||||
"vary@1.1.2": {
|
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
|
||||
},
|
||||
"vue@3.5.25_typescript@4.9.5": {
|
||||
"integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==",
|
||||
"dependencies": [
|
||||
"@vue/compiler-dom",
|
||||
"@vue/compiler-sfc",
|
||||
"@vue/runtime-dom",
|
||||
"@vue/server-renderer",
|
||||
"@vue/shared",
|
||||
"typescript"
|
||||
],
|
||||
"optionalPeers": [
|
||||
"typescript"
|
||||
]
|
||||
},
|
||||
"windmill-client@1.515.1": {
|
||||
"integrity": "sha512-o6qynOEbPubZTZUOLLs2Z9f+uBZQJUCw/+YWgvI6p8nu5BJ6J3N/wEfbY1X5TTnJNuqahQ0UgimYzhurT5XQFw=="
|
||||
},
|
||||
@@ -1240,6 +1347,9 @@
|
||||
"is-wsl"
|
||||
]
|
||||
},
|
||||
"zimmerframe@1.1.4": {
|
||||
"integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="
|
||||
},
|
||||
"zod@3.25.76": {
|
||||
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="
|
||||
}
|
||||
@@ -1511,7 +1621,8 @@
|
||||
"jsr:@windmill-labs/cliffy-command@^1.0.0-rc.5",
|
||||
"jsr:@windmill-labs/cliffy-prompt@^1.0.0-rc.5",
|
||||
"jsr:@windmill-labs/cliffy-table@^1.0.0-rc.5",
|
||||
"npm:@types/diff@^5.2.2"
|
||||
"npm:@types/diff@^5.2.2",
|
||||
"npm:ws@8.18.0"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,6 +59,9 @@ export * as open from "npm:open";
|
||||
export * as esMain from "npm:es-main";
|
||||
export * as windmillUtils from "jsr:@windmill-labs/shared-utils@1.0.10";
|
||||
|
||||
// needed for dnt transform
|
||||
import * as wsTypes from "npm:@types/ws";
|
||||
|
||||
import { OpenAPI } from "./gen/index.ts";
|
||||
|
||||
export function setClient(token?: string, baseUrl?: string) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import * as fs from "node:fs";
|
||||
import * as path from "node:path";
|
||||
import process from "node:process";
|
||||
import { spawn } from "node:child_process";
|
||||
import { log, colors } from "../../../deps.ts";
|
||||
import { windmillUtils } from "../../../deps.ts";
|
||||
export interface BundleOptions {
|
||||
@@ -30,6 +31,66 @@ export const DEFAULT_BUILD_OPTIONS = {
|
||||
write: true,
|
||||
};
|
||||
|
||||
/**
|
||||
* Detects which frontend frameworks are present in package.json
|
||||
*/
|
||||
export function detectFrameworks(appDir: string): { svelte: boolean; vue: boolean } {
|
||||
const packageJsonPath = path.join(appDir, "package.json");
|
||||
if (!fs.existsSync(packageJsonPath)) {
|
||||
return { svelte: false, vue: false };
|
||||
}
|
||||
|
||||
try {
|
||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
||||
const allDeps = {
|
||||
...packageJson.dependencies,
|
||||
...packageJson.devDependencies,
|
||||
};
|
||||
|
||||
return {
|
||||
svelte: "svelte" in allDeps,
|
||||
vue: "vue" in allDeps,
|
||||
};
|
||||
} catch {
|
||||
return { svelte: false, vue: false };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates framework-specific esbuild plugins based on detected dependencies
|
||||
*/
|
||||
export async function createFrameworkPlugins(appDir: string): Promise<any[]> {
|
||||
const frameworks = detectFrameworks(appDir);
|
||||
const plugins: any[] = [];
|
||||
|
||||
if (frameworks.svelte) {
|
||||
log.info(colors.blue("🔧 Svelte detected, adding svelte plugin..."));
|
||||
try {
|
||||
const esbuildSvelte = await import("npm:esbuild-svelte@0.9.3");
|
||||
const sveltePreprocess = await import("npm:svelte-preprocess@6.0.3");
|
||||
plugins.push(
|
||||
esbuildSvelte.default({
|
||||
preprocess: sveltePreprocess.default(),
|
||||
})
|
||||
);
|
||||
} catch (error: any) {
|
||||
log.warn(colors.yellow(`Failed to load svelte plugin: ${error.message}`));
|
||||
}
|
||||
}
|
||||
|
||||
if (frameworks.vue) {
|
||||
log.info(colors.blue("🔧 Vue detected, adding vue plugin..."));
|
||||
try {
|
||||
const esbuildPluginVue = await import("npm:esbuild-plugin-vue3@0.5.1");
|
||||
plugins.push(esbuildPluginVue.default());
|
||||
} catch (error: any) {
|
||||
log.warn(colors.yellow(`Failed to load vue plugin: ${error.message}`));
|
||||
}
|
||||
}
|
||||
|
||||
return plugins;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures node_modules exists in the specified directory
|
||||
* Runs npm install if node_modules is missing
|
||||
@@ -41,13 +102,15 @@ export async function ensureNodeModules(appDir?: string): Promise<void> {
|
||||
|
||||
if (!fs.existsSync(nodeModulesPath)) {
|
||||
log.info(colors.yellow("📦 node_modules not found, running npm install..."));
|
||||
const npmInstall = new Deno.Command("npm", {
|
||||
args: ["install"],
|
||||
cwd: targetDir,
|
||||
stdout: "inherit",
|
||||
stderr: "inherit",
|
||||
const code = await new Promise<number>((resolve, reject) => {
|
||||
const npmInstall = spawn("npm", ["install"], {
|
||||
cwd: targetDir,
|
||||
stdio: "inherit",
|
||||
shell: true,
|
||||
});
|
||||
npmInstall.on("close", (code) => resolve(code ?? 0));
|
||||
npmInstall.on("error", reject);
|
||||
});
|
||||
const { code } = await npmInstall.output();
|
||||
if (code !== 0) {
|
||||
throw new Error(`npm install failed with exit code ${code}`);
|
||||
}
|
||||
@@ -66,13 +129,16 @@ export async function createBundle(
|
||||
// Dynamically import esbuild
|
||||
const esbuild = await import("npm:esbuild@0.24.2");
|
||||
|
||||
const entryPoint = options.entryPoint ?? "index.tsx";
|
||||
// Detect frameworks to determine default entry point
|
||||
const frameworks = detectFrameworks(process.cwd());
|
||||
const defaultEntry = (frameworks.svelte || frameworks.vue) ? "index.ts" : "index.tsx";
|
||||
|
||||
const entryPoint = options.entryPoint ?? defaultEntry;
|
||||
const outDir = options.outDir ?? "dist";
|
||||
const sourcemap = options.sourcemap ?? false;
|
||||
const minify = options.minify ?? true;
|
||||
const production = options.production ?? true;
|
||||
|
||||
|
||||
// Verify entry point exists
|
||||
if (!fs.existsSync(entryPoint)) {
|
||||
throw new Error(
|
||||
@@ -81,9 +147,12 @@ export async function createBundle(
|
||||
}
|
||||
|
||||
// Ensure node_modules exists in the app directory
|
||||
const appDir = path.dirname(entryPoint);
|
||||
const appDir = path.dirname(entryPoint) || process.cwd();
|
||||
await ensureNodeModules(appDir);
|
||||
|
||||
// Load framework-specific plugins (svelte, vue) based on package.json
|
||||
const frameworkPlugins = await createFrameworkPlugins(appDir);
|
||||
|
||||
// Ensure output directory exists
|
||||
const distDir = path.join(process.cwd(), outDir);
|
||||
if (!fs.existsSync(distDir)) {
|
||||
@@ -131,7 +200,7 @@ export async function createBundle(
|
||||
define: {
|
||||
"process.env.NODE_ENV": production ? '"production"' : '"development"',
|
||||
},
|
||||
plugins: [wmillPlugin],
|
||||
plugins: [...frameworkPlugins, wmillPlugin],
|
||||
};
|
||||
|
||||
log.info(colors.blue("📦 Building bundle..."));
|
||||
|
||||
@@ -15,8 +15,8 @@ import * as path from "node:path";
|
||||
import process from "node:process";
|
||||
import { Buffer } from "node:buffer";
|
||||
import { writeFileSync } from "node:fs";
|
||||
import { WebSocketServer, WebSocket } from "npm:ws@8.18.0";
|
||||
import { getDevBuildOptions, ensureNodeModules } from "./bundle.ts";
|
||||
import { WebSocketServer, WebSocket } from "npm:ws";
|
||||
import { getDevBuildOptions, ensureNodeModules, createFrameworkPlugins, detectFrameworks } from "./bundle.ts";
|
||||
import { wmillTsDev as wmillTs } from "./wmillTsDev.ts";
|
||||
import * as wmill from "../../../gen/services.gen.ts";
|
||||
import { resolveWorkspace } from "../../core/context.ts";
|
||||
@@ -104,9 +104,13 @@ async function dev(opts: DevOptions) {
|
||||
port: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((p) => p + DEFAULT_PORT),
|
||||
}));
|
||||
const host = opts.host ?? DEFAULT_HOST;
|
||||
const entryPoint = opts.entry ?? "index.tsx";
|
||||
const shouldOpen = opts.open ?? true;
|
||||
|
||||
// Detect frameworks to determine default entry point
|
||||
const frameworks = detectFrameworks(process.cwd());
|
||||
const defaultEntry = (frameworks.svelte || frameworks.vue) ? "index.ts" : "index.tsx";
|
||||
const entryPoint = opts.entry ?? defaultEntry;
|
||||
|
||||
// Verify entry point exists
|
||||
if (!fs.existsSync(entryPoint)) {
|
||||
log.error(
|
||||
@@ -118,7 +122,7 @@ async function dev(opts: DevOptions) {
|
||||
}
|
||||
|
||||
// Ensure node_modules exists
|
||||
const appDir = path.dirname(entryPoint);
|
||||
const appDir = path.dirname(entryPoint) || process.cwd();
|
||||
await ensureNodeModules(appDir);
|
||||
|
||||
// In-memory cache of inferred schemas (runnableId -> schema)
|
||||
@@ -144,6 +148,9 @@ async function dev(opts: DevOptions) {
|
||||
|
||||
const buildOptions = getDevBuildOptions(entryPoint);
|
||||
|
||||
// Load framework-specific plugins (svelte, vue) based on package.json
|
||||
const frameworkPlugins = await createFrameworkPlugins(appDir);
|
||||
|
||||
const wmillPlugin = {
|
||||
name: "wmill-virtual",
|
||||
setup(build: any) {
|
||||
@@ -174,10 +181,12 @@ async function dev(opts: DevOptions) {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
// Create esbuild context
|
||||
const ctx = await esbuild.context({
|
||||
...buildOptions,
|
||||
plugins: [
|
||||
...frameworkPlugins,
|
||||
{
|
||||
name: "notify-on-rebuild",
|
||||
setup(build: any) {
|
||||
@@ -218,7 +227,7 @@ async function dev(opts: DevOptions) {
|
||||
runnablesWatcher = Deno.watchFs(runnablesPath);
|
||||
|
||||
// Per-file debounce timeouts for schema inference (longer debounce for typing)
|
||||
const schemaInferenceTimeouts: Record<string, number> = {};
|
||||
const schemaInferenceTimeouts: Record<string, NodeJS.Timeout> = {};
|
||||
const SCHEMA_DEBOUNCE_MS = 500; // Wait 500ms after last change before inferring schema
|
||||
|
||||
// Handle runnables file changes in the background
|
||||
@@ -594,9 +603,7 @@ const command = new Command()
|
||||
.option("--host <host:string>", "Host to bind the dev server to", {
|
||||
default: DEFAULT_HOST,
|
||||
})
|
||||
.option("--entry <entry:string>", "Entry point file for the application", {
|
||||
default: "index.tsx",
|
||||
})
|
||||
.option("--entry <entry:string>", "Entry point file (default: index.ts for Svelte/Vue, index.tsx otherwise)")
|
||||
.option("--no-open", "Don't automatically open the browser")
|
||||
.action(dev as any);
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import { Policy } from "../../../gen/types.gen.ts";
|
||||
import { GlobalOptions, isSuperset } from "../../types.ts";
|
||||
|
||||
import { replaceInlineScripts, repopulateFields } from "./apps.ts";
|
||||
import { createBundle } from "./bundle.ts";
|
||||
import { createBundle, detectFrameworks } from "./bundle.ts";
|
||||
import { mergeConfigWithConfigFile, SyncOptions } from "../../core/conf.ts";
|
||||
|
||||
export interface AppFile {
|
||||
@@ -102,7 +102,10 @@ export async function pushRawApp(
|
||||
const files = await collectAppFiles(localPath);
|
||||
async function createBundleRaw() {
|
||||
log.info(colors.yellow.bold(`Creating raw app ${remotePath} bundle...`));
|
||||
const entryPoint = localPath + "index.tsx";
|
||||
// Detect frameworks to determine entry point
|
||||
const frameworks = detectFrameworks(localPath);
|
||||
const entryFile = (frameworks.svelte || frameworks.vue) ? "index.ts" : "index.tsx";
|
||||
const entryPoint = localPath + entryFile;
|
||||
return await createBundle({
|
||||
entryPoint: entryPoint,
|
||||
production: true,
|
||||
|
||||
@@ -167,7 +167,7 @@ async function dev(opts: GlobalOptions & SyncOptions) {
|
||||
ws.on("message", (message: WebSocket.RawData) => {
|
||||
let data;
|
||||
try {
|
||||
data = JSON.parse(message);
|
||||
data = JSON.parse(message.toString());
|
||||
} catch (e) {
|
||||
console.log("Received invalid JSON: " + message + " " + e);
|
||||
return;
|
||||
|
||||
@@ -228,7 +228,7 @@ export async function handleFile(
|
||||
}).toString();
|
||||
log.info("Custom bundler executed for " + path);
|
||||
} else {
|
||||
const esbuild = await import("npm:esbuild");
|
||||
const esbuild = await import("npm:esbuild@0.24.2");
|
||||
|
||||
log.info(`Started bundling ${path} ...`);
|
||||
const startTime = performance.now();
|
||||
@@ -246,11 +246,15 @@ export async function handleFile(
|
||||
platform: "node",
|
||||
packages: "bundle",
|
||||
target: format == "cjs" ? "node20.15.1" : "esnext",
|
||||
...(codebase.banner != null && { banner: codebase.banner }),
|
||||
banner: codebase.banner,
|
||||
// ...(codebase.banner != null && { banner: codebase.banner }),
|
||||
});
|
||||
const endTime = performance.now();
|
||||
bundleContent = out.outputFiles[0].text;
|
||||
outputFiles = out.outputFiles;
|
||||
outputFiles = out.outputFiles ?? [];
|
||||
if (outputFiles.length == 0) {
|
||||
throw new Error(`No output files found for ${path}`);
|
||||
}
|
||||
log.info(
|
||||
`Finished bundling ${path}: ${(bundleContent.length / 1024).toFixed(
|
||||
0
|
||||
|
||||
@@ -102,7 +102,9 @@ export interface Codebase {
|
||||
inject?: string[];
|
||||
loader?: any;
|
||||
format?: "cjs" | "esm";
|
||||
banner?: string | { js?: string };
|
||||
banner?: {
|
||||
[type: string]: string;
|
||||
};
|
||||
}
|
||||
|
||||
function getGitRepoRoot(): string | null {
|
||||
|
||||
@@ -20,7 +20,7 @@ console.log('Running postinstall for root project');
|
||||
|
||||
import { x } from 'tar'
|
||||
|
||||
const tarUrl = 'https://pub-06154ed168a24e73a86ab84db6bf15d8.r2.dev/ui_builder-fa4de3c.tar.gz'
|
||||
const tarUrl = 'https://pub-06154ed168a24e73a86ab84db6bf15d8.r2.dev/ui_builder-b4fcf00.tar.gz'
|
||||
const outputTarPath = path.join(process.cwd(), 'ui_builder.tar.gz')
|
||||
const extractTo = path.join(process.cwd(), 'static/ui_builder/')
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
$importStore = undefined
|
||||
}
|
||||
|
||||
const state = nodraft ? undefined : localStorage.getItem('rawapp')
|
||||
const appState = nodraft ? undefined : localStorage.getItem('rawapp')
|
||||
|
||||
let summary = ''
|
||||
let files: Record<string, string> = react19Template
|
||||
let summary = $state('')
|
||||
let files: Record<string, string> = $state(react19Template)
|
||||
afterNavigate(() => {
|
||||
if (nodraft) {
|
||||
let url = new URL($page.url.href)
|
||||
@@ -35,15 +35,15 @@
|
||||
replaceState(url.toString(), $page.state)
|
||||
}
|
||||
})
|
||||
let policy: Policy = {
|
||||
let policy: Policy = $state({
|
||||
on_behalf_of: $userStore?.username.includes('@')
|
||||
? $userStore?.username
|
||||
: `u/${$userStore?.username}`,
|
||||
on_behalf_of_email: $userStore?.email,
|
||||
execution_mode: 'publisher'
|
||||
}
|
||||
})
|
||||
|
||||
let runnables: Record<string, Runnable> = {
|
||||
let runnables: Record<string, Runnable> = $state({
|
||||
a: {
|
||||
name: 'a',
|
||||
fields: {},
|
||||
@@ -67,7 +67,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
loadApp()
|
||||
|
||||
function extractValue(value: any) {
|
||||
@@ -104,7 +104,7 @@
|
||||
console.log('App loaded from template id')
|
||||
sendUserToast('App loaded from template')
|
||||
goto('?', { replaceState: true })
|
||||
} else if (!templatePath && state) {
|
||||
} else if (!templatePath && appState) {
|
||||
console.log('App loaded from browser stored autosave')
|
||||
sendUserToast('App restored from browser stored autosave', false, [
|
||||
{
|
||||
@@ -115,7 +115,7 @@
|
||||
}
|
||||
}
|
||||
])
|
||||
let decoded = decodeState(state)
|
||||
let decoded = decodeState(appState)
|
||||
extractValue(decoded)
|
||||
}
|
||||
}
|
||||
@@ -143,8 +143,8 @@
|
||||
files: vueTemplate
|
||||
}
|
||||
]
|
||||
let templatePicker = nodraft != null
|
||||
let hide = false
|
||||
let templatePicker = $state(nodraft != null)
|
||||
let reloadCounter = $state(0)
|
||||
</script>
|
||||
|
||||
{#if templatePicker}
|
||||
@@ -152,12 +152,10 @@
|
||||
<div class="flex flex-wrap gap-4 pb-4">
|
||||
{#each templates as t}
|
||||
<button
|
||||
on:click={() => {
|
||||
onclick={() => {
|
||||
if (t.files) {
|
||||
hide = true
|
||||
|
||||
files = t.files
|
||||
hide = false
|
||||
reloadCounter += 1
|
||||
}
|
||||
templatePicker = false
|
||||
}}
|
||||
@@ -174,7 +172,7 @@
|
||||
</div>
|
||||
</Modal>
|
||||
{/if}
|
||||
{#if !hide}
|
||||
{#key reloadCounter}
|
||||
<RawAppEditor
|
||||
on:savedNewAppPath={(event) => {
|
||||
goto(`/apps_raw/edit/${event.detail}`)
|
||||
@@ -186,4 +184,4 @@
|
||||
{summary}
|
||||
newApp
|
||||
/>
|
||||
{/if}
|
||||
{/key}
|
||||
|
||||
@@ -122,7 +122,7 @@ export const svelte5Template = {
|
||||
'/index.css': indexCss,
|
||||
'/package.json': `{
|
||||
"dependencies": {
|
||||
"svelte": "5.16.1",
|
||||
"svelte": "5.45.2",
|
||||
"windmill-client": "^1"
|
||||
}
|
||||
}`,
|
||||
|
||||
Reference in New Issue
Block a user