I followed the Vite Plugin Web Extension tutorial to build cross-browser extensions.
I'm using typescript 5.3.2 and my code makes use of the using keyword to automatically call dispose.
When I try to run vite build, I get:
Using declaration is not enabled. Set jsc.parser.usingDecl to true (Note that you need plugins to import files that are not JavaScript)
file: C:/Users/xxxxx/source/repos/.../types.ts:73:14
71:
72: //NOTE: learn more about 'using' keyword: https://www.typescriptlang.org/docs/handbook/release-notes/typescri...
73: using awaiter = new RequestMonitor();
Here's my vite.config.ts:
import { defineConfig } from "vite";
import webExtension, { readJsonFile } from "vite-plugin-web-extension";
const target = process.env.TARGET || "chrome";
function generateManifest() {
const manifest = readJsonFile(`src/manifest.${target}.json`);
const pkg = readJsonFile("package.json");
return {
name: `${pkg.name} (${target})`,
description: `${pkg.description} for ${target}`,
version: pkg.version,
...manifest,
};
}
export default defineConfig({
define:{
__BROWSER__: JSON.stringify(target)
},
publicDir: "assets",
build: {
outDir: "build"
},
plugins: [
webExtension({
manifest: generateManifest,
watchFilePaths: ["package.json", "manifest.json"],
browser: target,
}),
],
});
How do I set the jsc.parser.usingDecl to true?