|
1 | 1 | // eslint-disable-next-line spaced-comment |
2 | 2 | /// <reference types="vitest" /> |
3 | 3 |
|
4 | | -import { jsTrustedPrelude } from '@ocap/vite-plugins'; |
| 4 | +import { deduplicateAssets, jsTrustedPrelude } from '@ocap/vite-plugins'; |
5 | 5 | import type { PreludeRecord } from '@ocap/vite-plugins'; |
6 | 6 | import path from 'path'; |
7 | 7 | import { defineConfig } from 'vite'; |
@@ -110,28 +110,13 @@ export default defineConfig(({ mode }) => { |
110 | 110 | // (It's probably related to the the file being conditionally imported in multiple places.) |
111 | 111 | // To avoid bloating the bundle, we delete the duplicate files. Thankfully, these files are |
112 | 112 | // extraneous because we don't hit their code paths in practice. (If we did, things would |
113 | | - // blow up spectacularly.) |
114 | | - { |
115 | | - name: 'deduplicate-sqlite-wasm', |
116 | | - enforce: 'post', |
117 | | - generateBundle(_, bundle) { |
118 | | - const extraneousAssets = Object.values(bundle).filter( |
119 | | - (assetOrChunk) => |
120 | | - assetOrChunk.fileName.startsWith('sqlite3-') && |
121 | | - !assetOrChunk.fileName.includes('sqlite3-opfs-async-proxy'), |
122 | | - ); |
123 | | - |
124 | | - if (extraneousAssets.length !== 2) { |
125 | | - throw new Error( |
126 | | - `Expected 2 extraneous sqlite3.wasm assets, got ${extraneousAssets.length}: ${extraneousAssets.map((asset) => asset.fileName).join(', ')}`, |
127 | | - ); |
128 | | - } |
129 | | - |
130 | | - for (const asset of extraneousAssets) { |
131 | | - delete bundle[asset.fileName]; |
132 | | - } |
133 | | - }, |
134 | | - }, |
| 113 | + // blow up.) |
| 114 | + deduplicateAssets({ |
| 115 | + assetFilter: (fileName) => |
| 116 | + fileName.startsWith('sqlite3-') && |
| 117 | + !fileName.includes('sqlite3-opfs-async-proxy'), |
| 118 | + expectedCount: 2, |
| 119 | + }), |
135 | 120 | ], |
136 | 121 | }; |
137 | 122 | }); |
0 commit comments