feat: support 1.38 flags
This commit is contained in:
22
deno.jsonc
22
deno.jsonc
@@ -1,15 +1,24 @@
|
||||
{
|
||||
"tasks": {
|
||||
"make": "deno run --allow-env --allow-read --allow-write=.deno-make.json --allow-run=deno ./mod.ts $0"
|
||||
"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",
|
||||
"ci": "deno task make ci"
|
||||
},
|
||||
"+tasks": {
|
||||
"test": {
|
||||
"description": "🧪 Run tests and benchmarks. Print collected coverage",
|
||||
"task": [
|
||||
// Setup test environment
|
||||
"mkdir -p .coverage &&",
|
||||
"rm -rf .coverage &&",
|
||||
"(echo '' > tests/.env) &&",
|
||||
"(echo '{}' > tests/.imports.json) &&",
|
||||
// Run tests and print coverage
|
||||
"deno test &&",
|
||||
"deno coverage .coverage &&",
|
||||
"rm -rf tests/.[!.]* tests/*.exe"
|
||||
// Cleanup test environment
|
||||
"rm -rf .coverage tests/.[!.]* tests/*.exe"
|
||||
],
|
||||
"deno": {
|
||||
"test": {
|
||||
@@ -33,8 +42,15 @@
|
||||
"task": "deno lint && deno fmt"
|
||||
},
|
||||
"code:check": {
|
||||
"description": "🤖 Lint and check code fomatting",
|
||||
"description": "🫧 Lint and check code fomatting",
|
||||
"task": "deno lint && deno fmt --check"
|
||||
},
|
||||
"ci": {
|
||||
"description": "🤖 CI checks",
|
||||
"task": [
|
||||
"deno task make code:check",
|
||||
"deno task make test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"fmt": {
|
||||
|
||||
12
mod.ts
12
mod.ts
@@ -8,7 +8,10 @@ import { bgBrightBlue, bold, gray, italic, underline, yellow } from "https://den
|
||||
|
||||
/** Common flags */
|
||||
const common = is.object({
|
||||
unstable: is.boolean().optional().transform((v) => v ? "--unstable" : ""),
|
||||
unstable: is.union([
|
||||
is.boolean().transform((v) => v ? "--unstable" : ""),
|
||||
is.array(is.string()).transform((v) => v.length ? v.map((w) => `--unstable-${w}`) : ""),
|
||||
]).optional(),
|
||||
quiet: is.boolean().optional().transform((v) => v ? "--quiet" : ""),
|
||||
config: is.union([
|
||||
is.boolean().transform((v) => v === false ? "--no-config" : ""),
|
||||
@@ -26,6 +29,10 @@ const runnable = is.object({
|
||||
certificateErrors: is.boolean().optional().transform((v) =>
|
||||
v === false ? "--unsafely-ignore-certificate-errors" : ""
|
||||
),
|
||||
env: is.union([
|
||||
is.boolean().transform((v) => v ? "--env" : ""),
|
||||
is.string().min(1).transform((v) => `--env='${v}'`),
|
||||
]).optional(),
|
||||
})
|
||||
|
||||
/** Lock file flags */
|
||||
@@ -234,6 +241,9 @@ const doc = common.pick({ unstable: true, quiet: true, importMap: true })
|
||||
modules: modules.doc,
|
||||
private: is.boolean().optional().transform((v) => v ? "--private" : ""),
|
||||
json: is.boolean().optional().transform((v) => v ? "--json" : ""),
|
||||
html: is.boolean().optional().transform((v) => v ? "--html" : ""),
|
||||
name: is.string().optional().transform((v) => v ? `--name='${v}'` : ""),
|
||||
output: is.string().optional().transform((v) => v ? `--output='${v}'` : ""),
|
||||
}).transform((v) => Object.values(v).filter(Boolean).join(" "))
|
||||
|
||||
const _eval = common.merge(
|
||||
|
||||
@@ -11,11 +11,23 @@
|
||||
"unstable": true,
|
||||
"quiet": true,
|
||||
"certificateErrors": false,
|
||||
"importMap": "imports.json",
|
||||
"importMap": ".imports.json",
|
||||
"cert": "/dev/null",
|
||||
"location": "https://deno.test",
|
||||
"seed": 0,
|
||||
"v8Flags": ["--print-code"]
|
||||
"v8Flags": ["--print-code"],
|
||||
"env": true
|
||||
},
|
||||
"test": {
|
||||
"env": ".env",
|
||||
"unstable": ["kv", "bare-node-builtins"]
|
||||
},
|
||||
"bench": {
|
||||
"env": false,
|
||||
"unstable": []
|
||||
},
|
||||
"lint": {
|
||||
"unstable": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -19,6 +19,20 @@
|
||||
"json": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"flags:doc_alt": {
|
||||
"task": [
|
||||
"deno doc mod.ts;",
|
||||
"rm -rf .docs"
|
||||
],
|
||||
"cwd": "tests",
|
||||
"deno": {
|
||||
"doc": {
|
||||
"html": true,
|
||||
"name": "test",
|
||||
"output": ".docs"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
Reference in New Issue
Block a user