{
  "tasks": {
    "clean": "rm -rf dist dist_bundle",
    "install": "deno install -f -A --unstable silverbullet.ts",
    "test": "deno test -A --unstable",
    "build": "./build_plugs.sh && deno run -A --unstable --check build.ts",
    "watch-web": "deno run -A --unstable --check build.ts --watch",
    "watch-server": "deno run -A --unstable --check --watch silverbullet.ts",
    // The only reason to run a shell script is that deno task doesn't support globs yet (e.g. *.plug.yaml)
    "watch-plugs": "./build_plugs.sh -w",
    "bundle": "deno bundle --importmap import_map.json silverbullet.ts dist/silverbullet.js",
    // Regenerates some bundle files (checked into the repo)
    // Install lezer-generator with "npm install -g @lezer/generator"
    "generate": "deno run -A plugos/gen.ts && lezer-generator plugs/directive/query.grammar -o plugs/directive/parse-query.js"
  },

  "compilerOptions": {
    "lib": ["dom", "dom.iterable", "dom.asynciterable", "deno.ns"],
    "jsx": "react-jsx",
    "jsxImportSource": "https://esm.sh/preact@10.11.1"
  },
  "importMap": "import_map.json",
  "lint": {
    "files": {
      "exclude": [
        "dist",
        "dist_bundle"
      ]
    },
    "rules": {
      "exclude": ["no-explicit-any"]
    }
  },
  "test": {
    "files": {
      "exclude": ["plugos/forked", "plugos/sqlite/deno-sqlite"]
    }
  },
  "fmt": {
    "files": {
      "exclude": [
        "dist",
        "dist_bundle",
        "pages",
        "website",
        "test_space",
        "plugos/environments/worker_bundle.json"
      ]
    }
  }
}