deno

Deno 2 development workflow including testing with permissions and JSR package management. Use when working with Deno projects, setting up new Deno applications, or when the user mentions Deno, JSR, o

SKILL.md

GitHub

Imports

bad

import { serve } from "https://deno.land/std@0.177.0/http/server.ts";

good

run

  • deno add jsr:@std/http
  • deno add npm:tailwindcss to add the import map, then
import { serve } from "@std/http/server.ts";
import { serve } from "tailwindcss";

Permissions

bad

deno run --allow-net server.ts

good

Write a deno.json file in the root of your project:

{
  "permissions": {
    "default": {
      "net": ["example.com", "api.example.com"],
      "read": ["./data/*"],
      "env": {
        "ignore": true,
        "allow": ["API_KEY", "DATABASE_URL"]
      }
    },
    "build": {
      "net": ["deno.land"],
      "read": ["./src/*"],
      "write": ["./dist/*"]
    }
  }
}

Then run your script with the -P flags:

deno run -P server.ts
deno run -P=build build.ts

reference