How do I configure jsc.parser.usingDecl in vite build?

122 views Asked by At

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?

0

There are 0 answers