bewcloud/deno.json
Erin of Yukis f64751956a
Declare deno task run-with-perms task specifying all the permissions actually needed and alias all other tasks through that (#136)
* Declare `deno task execute-with-permissions` task specifying all the permissions actually needed and alias all other tasks through that

Also add `migrate-db` task to the Deno configuration and use that in the
`Makefile`, so that the Makefile is fully optional, and swap the meanings of
the `start` and `preview` tasks, so that `start` is for production while
`preview` is for development.

* Keep task names consistent (no breaking changes)

* Reorder tasks

* Remove empty lines

* Use correct task in Dockerfile

* Bring back start (no breaking changes)

* Update readme with preview command

* Update necessary permissions for running locally and in docker

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-12-29 11:07:42 +00:00

67 lines
2.6 KiB
JSON

{
"lock": true,
"tasks": {
"execute-with-permissions": "deno run --allow-env --allow-net --allow-sys=networkInterfaces,hostname,cpus,homedir --allow-read=.,/ --allow-write=data-files,/ --allow-run",
"check": "deno fmt --check && deno lint && deno check .",
"cli": "echo \"import '\\$fresh/src/dev/cli.ts'\" | deno run --unstable -A -",
"manifest": "deno task cli manifest $(pwd)",
"start": "deno task execute-with-permissions --watch=static/,routes/,lib/,components/,islands/ ./dev.ts",
"build": "deno task execute-with-permissions ./dev.ts build",
"preview": "deno task execute-with-permissions ./main.ts",
"test": "deno test --allow-all --check",
"migrate-db": "deno task execute-with-permissions ./migrate-db.ts"
},
"fmt": {
"useTabs": false,
"lineWidth": 120,
"indentWidth": 2,
"singleQuote": true,
"proseWrap": "preserve",
"exclude": ["README.md", "lib/models/dav.js"]
},
"lint": {
"rules": {
"tags": ["fresh", "recommended"],
"exclude": ["no-explicit-any", "no-empty-interface", "no-window", "no-unused-vars"]
},
"exclude": ["lib/models/dav.js"]
},
"exclude": ["./_fresh/*", "./node_modules/*", "**/_fresh/*"],
"compilerOptions": { "jsx": "react-jsx", "jsxImportSource": "preact" },
"nodeModulesDir": "auto",
"imports": {
"/": "./",
"./": "./",
"fresh/": "https://deno.land/x/fresh@1.7.3/",
"$fresh/": "https://deno.land/x/fresh@1.7.3/",
"@libs/xml": "https://deno.land/x/xml@2.1.3/mod.ts",
"postgres": "jsr:@db/postgres@0.19.5",
"@b-fuze/deno-dom": "jsr:@b-fuze/deno-dom@0.1.56",
"@fresh/plugin-vite": "jsr:@fresh/plugin-vite@1.0.4",
"@hexagon/croner": "jsr:@hexagon/croner@9.1.0",
"@mikaelporttila/rss": "jsr:@mikaelporttila/rss@1.1.3",
"@libs/qrcode": "jsr:@libs/qrcode@3.0.0",
"@simplewebauthn/server": "jsr:@simplewebauthn/server@13.2.1",
"@simplewebauthn/browser": "jsr:@simplewebauthn/browser@13.2.0",
"@std/assert": "jsr:@std/assert@1.0.14",
"@std/dotenv": "jsr:@std/dotenv@0.225.5",
"@std/encoding": "jsr:@std/encoding@1.0.10",
"@std/http": "jsr:@std/http@1.0.20",
"@std/path": "jsr:@std/path@1.1.2",
"chart.js": "npm:chart.js@4.5.0",
"jimp": "npm:jimp@1.6.0",
"mrmime": "npm:mrmime@2.0.1",
"nodemailer": "npm:nodemailer@7.0.6",
"openid-client": "npm:openid-client@6.8.0",
"otpauth": "npm:otpauth@9.4.1",
"preact": "npm:preact@10.27.2",
"tailwindcss": "npm:tailwindcss@3.4.17",
"tailwindcss/": "npm:/tailwindcss@3.4.17/",
"tailwindcss/plugin": "npm:/tailwindcss@3.4.17/plugin.js",
"vite": "npm:vite@7.1.7",
"@preact/signals": "npm:@preact/signals@2.3.1"
}
}