{
  "tasks": {
    "clean": "rm -rf dist dist_client_bundle dist_plug_bundle website_build",
    "install": "deno install -f -A --importmap import_map.json silverbullet.ts",
    "check": "find . -name '*.ts*' | xargs deno check",
    "test": "deno test -A --unstable",
    "build": "deno run -A build_plugs.ts && deno run -A --unstable build_web.ts",
    "plugs": "deno run -A build_plugs.ts",
    "watch-web": "deno run -A --check build_web.ts --watch",
    "server": "deno run -A --check silverbullet.ts",
    "watch-server": "deno run -A --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": "deno run -A --check build_plugs.ts -w",
    "bundle": "deno run -A build_bundle.ts",
    // 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 common/markdown_parser/query.grammar -o common/markdown_parser/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",
        "desktop",
        "mobile",
        "pages",
        "website",
        "website_build",
        "test_space",
        "plugos/environments/worker_bundle.json",
        "README.md"
      ]
    }
  }
}