From knowledge-patch
Provides Deno 2.9.0 API compatibility, CLI flags, and configuration guidance. Covers migration, runtime APIs, testing, and tooling for Deno development.
How this skill is triggered — by the user, by Claude, or both
Slash command
/knowledge-patch:deno-knowledge-patchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to choose current Deno APIs, CLI flags, configuration, and compatibility behavior. Check the relevant topic reference before changing a project because several features were removed, restored, stabilized, or given new defaults.
agents/openai.yamlcoverage.jsonreferences/build-publish-and-deploy.mdreferences/dependencies-and-workspaces.mdreferences/desktop-and-ecosystem.mdreferences/migration.mdreferences/networking-and-observability.mdreferences/node-compatibility.mdreferences/permissions-and-security.mdreferences/runtime-and-web-apis.mdreferences/testing-lint-and-format.mdreferences/tooling-and-editor.mdUse this skill to choose current Deno APIs, CLI flags, configuration, and compatibility behavior. Check the relevant topic reference before changing a project because several features were removed, restored, stabilized, or given new defaults.
deno --version, deno.json or deno.jsonc, package.json, deno.lock, workspace configuration, and the commands used by CI.-A merely to bypass a permission failure.deno check, deno lint, deno fmt --check, deno test, and the requested build or package command.| Reference | Topics |
|---|---|
| Build, publish, and deploy | deno compile, bundling, transpilation, package tarballs, publication, and deployment |
| Dependencies and workspaces | Manifests, registries, npm/JSR resolution, lockfiles, installs, updates, catalogs, and workspaces |
| Desktop and ecosystem | Desktop applications, Jupyter, Fresh, Deploy, Sandbox, JSR consumers, and platform releases |
| Deno 2 migration | Removed APIs and flags, configuration validation, changed defaults, and runtime baselines |
| Networking and observability | HTTP servers and clients, sockets, TLS, WebSockets, QUIC, OpenTelemetry, inspectors, and profiling |
| Node compatibility | CommonJS, globals, timers, Node modules, filesystem, workers, networking, SQLite, tests, and diagnostics |
| Permissions and security | Permission sets and precedence, tracing, audit logs, brokers, dependency audits, lifecycle trust, and hardening |
| Runtime and Web APIs | Filesystem, WebAssembly, Temporal, Web APIs, cryptography, graphics, types, subprocesses, and events |
| Testing, linting, and formatting | Tests, snapshots, retries, sharding, coverage, benchmarks, lint plugins, and multi-language formatting |
| Tooling and editor | Type checking, TypeScript configuration, tasks, task caching, CLI utilities, upgrades, and language-server behavior |
deno vendor.deno bundle stayed removed: it returned as an experimental esbuild-backed command with npm and JSR support.deno cache <entrypoint> workflows with deno install --entrypoint <entrypoint> where an explicit entry point must be cached.--allow-hrtime, --allow-none, --trace-ops, --ts, generic --unstable, --lock-write, and old --jobs uses. Check the task reference before changing a newer deno task --jobs command, because task concurrency later reused that name.Deno.run() with Deno.Command or the documented subprocess APIs.Deno.serveHttp() with Deno.serve().Deno.isatty() with the applicable terminal property.Deno.FsFile methods, Web streams, and current filesystem helpers instead of removed resource IDs, Deno.File, Deno.Buffer, reader/writer interfaces, and resource-oriented free functions.Deno.FsFile directly or read .rid properties.UnsafeWindowSurface constructor.compilerOptions to fail validation.override where required by noImplicitOverride.unknown.files field in deno.json.tsconfig.json discovery, project references, rootDirs, paths, types, extends, include, exclude, and per-workspace-member compiler options as documented.ArrayBuffer versus SharedArrayBuffer differences.NodeJS.Timeout objects; do not require numeric IDs.deno fmt . when formatting without a discovered configuration and without explicit files.Deno.serve() compression explicitly with automaticCompression: true or DENO_SERVE_AUTOMATIC_COMPRESSION=1.0.0.0.0 default is undesirable.content-length after automatic decompression.package.json with --package-json.preferPackageJson when package-management commands should consistently target package.json.jsr: in explicit imports and JSR dependency declarations; current CLI package arguments default to npm when unprefixed.--save-exact or --exact when reproducibility requires a pinned version instead of the default caret range.deno install
deno update
deno update --lockfile-only
deno ci
deno ci only with a lockfile; it removes node_modules and validates a frozen install.deno install --lockfile-only to resolve and update the lock without fetching or installing packages.deno install --prod to omit development dependencies and type packages.--os and --arch when resolving target-specific optional dependencies for another platform.deno why and declared dependency trees with deno list.deno.json and package.json members in one workspace when needed.catalog or named catalogs; reference them with catalog: specifiers.links for local npm package redirects; treat older patch configuration as deprecated..npmrc, including mTLS and release-age policy when required.node_modules with nodeModulesLinker according to tool expectations.deno bundle --platform browser --outdir dist app.ts
deno transpile src/mod.ts --outdir dist --source-map separate --declaration
deno bundle for a dependency graph; use deno transpile to strip types without bundling, rewriting modules, or loading project configuration.--declaration for rolled-up declaration output and --keep-names when generated names must remain stable.deno compile --include assets/ --output app main.ts
--include for resolved embedded assets and --include-as-is for verbatim files or directories.compile.include and compile.exclude in deno.json when asset selection belongs in project configuration.--self-extracting for native add-ons or Node APIs that need a real filesystem.--bundle with --minify when tree-shaking npm-heavy executables is more important than embedding the complete graph.--app-name when compiled KV, local-storage, or Cache data must keep a stable application identity.deno pack to generate an npm tarball with transpiled exports, declarations, rewritten specifiers, and selected publish assets."publish": false on private workspace members.include and exclude filters to control uploaded files.deno check .
deno lint
deno fmt --check .
deno test --coverage
--changed, --related, and --shard=<index>/<count> for selective or distributed test runs.deno run entry points and workers, and can report function coverage.lint.plugins; consult the reference for selectors, comment access, fixes, permissions, and the incomplete ESLint compatibility boundary..editorconfig precedence.package.json, npm workspaces, node_modules, and Node-API add-ons under Deno permissions..js CommonJS detection follow the nearest package.json; use compatibility mode only when the bundled fallback behaviors are actually needed.node: for clarity even though newer bare built-ins resolve without a flag.Buffer, global, setImmediate, and clearImmediate, plus Node-style timer handles.module.registerHooks() for supported custom resolve/load hooks; do not depend on the intentionally unavailable deprecated registration API.{
"permissions": {
"local-data": { "read": ["./data"], "write": ["./data"] }
}
}
deno run -P=local-data main.ts
deno audit
-P; configured permissions are never applied implicitly.--ignore-read or --ignore-env when a dependency should observe a denied resource as absent.DENO_TRACE_PERMISSIONS only while diagnosing because stack collection is expensive.DENO_AUDIT_PERMISSIONS, optionally as span-correlated OpenTelemetry logs.deno approve-scripts to persist explicit lifecycle-script trust.trust-policy=no-downgrade according to the project threat model.DENO_SERVE_ADDRESS, DENO_AUTO_SERVE, --open, startup callbacks, backlog, and explicit compression according to the hosting environment.Deno.HttpClient transports for Unix sockets, Linux vsock, proxies, or a bound local address; grant the required network permission.autoSelectFamily: false only when it must be disabled.OTEL_DENO; choose OTLP or console export and configure sampling and limits through the documented environment variables.Temporal directly.WebAssembly.Module is required.using for disposable resources where lexical cleanup fits.SubtleCrypto.supports() before selecting them.files and output to cache deterministic task results, and declare environment inputs that affect those results.deno task --jobs; use --if-present, task wildcards, exclusions, and --env-file where appropriate.deno check without arguments for the current project, add --watch for continuous checking, and use --check-js for JavaScript without file comments.deno desktop for a webview-hosted native application only when experimental APIs and packaging are acceptable.Deno.BrowserWindow, tray, dock, dialogs, bindings, and auto-update APIs only after reading the desktop reference for platform and distribution constraints.npx claudepluginhub nevaberry/nevaberry-plugins --plugin knowledge-patchGuides Deno project initialization, package management prioritizing JSR then npm, deno.json configuration, CLI commands like fmt/lint/test, import maps, and permissions.
Manages NPM packages, configures Node.js projects, handles dependencies, and troubleshoots issues using npm, yarn, or pnpm.
Guides use of Bun as runtime, package manager, bundler, and test runner. Covers when to choose Bun vs Node, migration from Node, and Vercel deployment.