From 5169dbf9a6dfc111f50efa86d0f9bb6de2e5504e Mon Sep 17 00:00:00 2001 From: Lo Date: Mon, 8 Apr 2024 12:44:29 +0800 Subject: [PATCH] feat(vite): support wasm asset file type (#314) --- packages/client/src/components/assets/AssetListItem.vue | 2 ++ packages/client/src/components/assets/AssetPreview.vue | 1 + packages/core/src/vite-bridge/module-types.ts | 2 +- packages/vite/src/modules/assets.ts | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/client/src/components/assets/AssetListItem.vue b/packages/client/src/components/assets/AssetListItem.vue index ac19f42e..76cdb197 100644 --- a/packages/client/src/components/assets/AssetListItem.vue +++ b/packages/client/src/components/assets/AssetListItem.vue @@ -32,6 +32,8 @@ const icon = computed(() => { return 'i-carbon-document' if (props.item.type === 'json') return 'i-carbon-json' + if (props.item.type === 'wasm') + return 'i-vscode-icons-file-type-wasm' return 'i-carbon-document-blank' }) diff --git a/packages/client/src/components/assets/AssetPreview.vue b/packages/client/src/components/assets/AssetPreview.vue index 8ae8d959..1e66b09d 100644 --- a/packages/client/src/components/assets/AssetPreview.vue +++ b/packages/client/src/components/assets/AssetPreview.vue @@ -29,6 +29,7 @@ defineProps<{
+
diff --git a/packages/core/src/vite-bridge/module-types.ts b/packages/core/src/vite-bridge/module-types.ts index f61e0fd5..12079aa1 100644 --- a/packages/core/src/vite-bridge/module-types.ts +++ b/packages/core/src/vite-bridge/module-types.ts @@ -1,5 +1,5 @@ // assets -export type AssetType = 'image' | 'font' | 'video' | 'audio' | 'text' | 'json' | 'other' +export type AssetType = 'image' | 'font' | 'video' | 'audio' | 'text' | 'json' | 'wasm' | 'other' export interface AssetInfo { path: string type: AssetType diff --git a/packages/vite/src/modules/assets.ts b/packages/vite/src/modules/assets.ts index 6dd5a6e7..63266994 100644 --- a/packages/vite/src/modules/assets.ts +++ b/packages/vite/src/modules/assets.ts @@ -50,6 +50,8 @@ function guessType(path: string): AssetType { return 'font' if (/\.(json[5c]?|te?xt|[mc]?[jt]sx?|md[cx]?|markdown|ya?ml|toml)/i.test(path)) return 'text' + if (/\.wasm/i.test(path)) + return 'wasm' return 'other' } @@ -73,6 +75,8 @@ export function setupAssetsModule(options: { rpc: ViteInspectAPI['rpc'], server: '**/*.(woff2?|eot|ttf|otf|ttc|pfa|pfb|pfm|afm)', // text '**/*.(json|json5|jsonc|txt|text|tsx|jsx|md|mdx|mdc|markdown|yaml|yml|toml)', + // wasm + '**/*.wasm', ], { cwd: dir, onlyFiles: true,