wxt-dev / wxt-dev/wxt

Deno support

Open
#1,307 0 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
10.5k
Forks
564
PR merge metrics
No merged PRs in 30d

Description

Feature Request

It is kinda possible to use WXT with Deno: wxt+deno.zip

However there are a few problems:

  1. package.json isn't found (because we use a deno.json) so the name/version can't be extracted automatically
  2. wxt build and wxt zip don't exit
  3. TSConfig doesn't exist, so we can't extend .wxt/tsconfig.json... Creating a tsconfig.json separate from the deno.json breaks deno run, so the only option is to reference .wxt/wxt.d.ts from another declaration file. This means all the import path aliases won't be recognized. You could manually add them to deno.json, but 🤷 I didn't for this example
  4. Postinstall script inside deno.json doesn't run after running deno i
  5. Need to look into JSR and downloading private packages from a repo during sources ZIP. Basically need to implement a deno package manager here: https://github.com/wxt-dev/wxt/tree/main/packages/wxt/src/core/package-managers
  6. Look into potential issues around wxt.config.ts file typing: https://github.com/wxt-dev/wxt/pull/1336#issuecomment-2576824175

These things kinda get in the way of the existing template setup and wxt init command. Similar to PNPM, we'll need to modify the files after downloading them for it to work with deno.

Is your feature request related to a bug?

N/A

What are the alternatives?

N/A

Additional context

I've been using deno lately and it's very good. Want to make sure WXT supports it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the package-manager implementations in packages/wxt/src/core/package-managers and reproduce the behavior using the linked wxt+deno.zip example. Trace the wxt build, wxt zip, and wxt init entry points and the existing template setup. Done means Deno projects handle metadata, command exit, typings and aliases, install hooks, and package downloads without breaking the existing setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
deno, typescript
Domain
build-system, cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.