Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6bf3d3b5d1 | ||
|
|
9ad8bf580d | ||
|
|
79c2610348 |
9
.devcontainer/Dockerfile
Normal file
9
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
||||
FROM --platform=linux/amd64 mcr.microsoft.com/vscode/devcontainers/base:0-bullseye
|
||||
|
||||
ENV DENO_INSTALL=/deno
|
||||
RUN mkdir -p /deno \
|
||||
&& curl -fsSL https://deno.land/x/install/install.sh | sh \
|
||||
&& chown -R vscode /deno
|
||||
|
||||
ENV PATH=${DENO_INSTALL}/bin:${PATH} \
|
||||
DENO_DIR=${DENO_INSTALL}/.cache/deno
|
||||
12
.devcontainer/devcontainer.json
Normal file
12
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "Deno",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile"
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": ["denoland.vscode-deno"]
|
||||
}
|
||||
},
|
||||
"remoteUser": "vscode"
|
||||
}
|
||||
@@ -71,9 +71,7 @@ for convenience.
|
||||
}
|
||||
```
|
||||
|
||||
<!-- deno-fmt-ignore -->
|
||||
> [!NOTE]
|
||||
> It is even possible to alias `deno task make <+task>` to `deno task <+task>` !
|
||||
> ℹ️ It is even possible to alias `deno task make <+task>` to `deno task <+task>` !
|
||||
>
|
||||
> ```jsonc
|
||||
> // deno.jsonc
|
||||
@@ -91,9 +89,7 @@ for convenience.
|
||||
deno task make <+task>
|
||||
```
|
||||
|
||||
<!-- deno-fmt-ignore -->
|
||||
> [!NOTE]
|
||||
> If _deno_make_ was aliased back to `deno task`, just use the following instead:
|
||||
> ℹ️ If _deno_make_ was aliased back to `deno task`, just use the following instead:
|
||||
>
|
||||
> ```bash
|
||||
> deno task start
|
||||
|
||||
25
deno.jsonc
25
deno.jsonc
@@ -3,6 +3,8 @@
|
||||
"make": "deno run --allow-env --allow-read --allow-write=.deno-make.json --allow-run=deno ./mod.ts $0",
|
||||
"test": "deno task make test",
|
||||
"code": "deno task make code",
|
||||
"check": "deno task make check",
|
||||
"cache": "deno task make cache",
|
||||
"ci": "deno task make ci"
|
||||
},
|
||||
"+tasks": {
|
||||
@@ -41,14 +43,31 @@
|
||||
"description": "🧼 Lint and format code",
|
||||
"task": "deno lint && deno fmt"
|
||||
},
|
||||
"code:check": {
|
||||
"check": {
|
||||
"description": "🫧 Lint and check code fomatting",
|
||||
"task": "deno lint && deno fmt --check"
|
||||
"task": "deno lint && deno fmt",
|
||||
"deno": {
|
||||
"fmt": {
|
||||
"check": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"cache": {
|
||||
"description": "📦 Cache dependencies",
|
||||
"task": "deno cache *.ts",
|
||||
"deno": {
|
||||
"cache": {
|
||||
"modules": {
|
||||
"reload": true,
|
||||
"check": "all"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ci": {
|
||||
"description": "🤖 CI checks",
|
||||
"task": [
|
||||
"deno task make code:check &&",
|
||||
"deno task make check &&",
|
||||
"deno task make test"
|
||||
]
|
||||
}
|
||||
|
||||
12
mod.ts
12
mod.ts
@@ -128,11 +128,11 @@ const _modules = is.object({
|
||||
check: is.union([
|
||||
is.boolean().transform((v) => v ? "--check=all" : "--no-check"),
|
||||
is.string().min(1).transform((v) => `--check=${v}`),
|
||||
]).optional().transform((v) => Object.values(v ?? {}).filter(Boolean).join(" ")),
|
||||
]).optional(),
|
||||
reload: is.union([
|
||||
is.boolean().transform((v) => v ? "--reload" : ""),
|
||||
is.array(is.string()).transform((v) => v.length ? `--reload=${v.join(",")}` : ""),
|
||||
]).optional().transform((v) => Object.values(v ?? {}).filter(Boolean).join(" ")),
|
||||
]).optional(),
|
||||
node_modules: is.boolean().optional().transform((v) => typeof v === "boolean" ? `--node-modules-dir=${v}` : ""),
|
||||
vendor: is.boolean().optional().transform((v) => typeof v === "boolean" ? `--vendor=${v}` : ""),
|
||||
})
|
||||
@@ -174,8 +174,8 @@ const inspect = is.union([
|
||||
listen: is.string().min(1).optional().transform((v) => v ? `--inspect='${v}'` : ""),
|
||||
break: is.string().min(1).optional().transform((v) => v ? `--inspect-brk='${v}'` : ""),
|
||||
wait: is.string().min(1).optional().transform((v) => v ? `--inspect-wait='${v}'` : ""),
|
||||
}),
|
||||
]).optional().transform((v) => Object.values(v ?? {}).filter(Boolean).join(" "))
|
||||
}).transform((v) => Object.values(v ?? {}).filter(Boolean).join(" ")),
|
||||
]).optional()
|
||||
|
||||
/** Watch flags */
|
||||
const watch = is.union([
|
||||
@@ -184,8 +184,8 @@ const watch = is.union([
|
||||
is.object({
|
||||
files: is.array(is.string()).optional().transform((v) => v?.length ? `--watch='${v.join(",")}'` : ""),
|
||||
clearScreen: is.boolean().optional().transform((v) => v === false ? "--no-clear-screen" : ""),
|
||||
}),
|
||||
]).optional().transform((v) => Object.values(v ?? {}).filter(Boolean).join(" "))
|
||||
}).transform((v) => Object.values(v ?? {}).filter(Boolean).join(" ")),
|
||||
]).optional()
|
||||
|
||||
// Deno flags =========================================================================================================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user