English Vocabulary for Deno 2 Developers

Master the English terms behind Deno 2's runtime model — permissions, KV store, JSR registry, and more. Perfect for non-native IT speakers.

Introduction

Deno 2 brings a fresh approach to JavaScript and TypeScript runtimes, and with it comes a set of technical terms that can be confusing even before you add a language barrier. If English is not your first language, understanding the exact meaning behind words like “shim” or “deny by default” helps you read documentation faster and communicate more confidently with your team. This post walks through the core vocabulary of Deno 2 so you can discuss it clearly in English.

The Permissions Model

One of Deno’s most distinctive features is its permissions model. By default, a Deno program cannot read files, access the network, or run subprocesses. This approach is called “deny by default” — access is denied unless you explicitly allow it.

When you run a program, you grant access using a permission flag. A flag is a command-line option that changes the behaviour of a program. For example:

“You need to pass the --allow-net permission flag, otherwise the script cannot make HTTP requests.”

The phrase “deny by default” is worth memorising. You will see it in security discussions across many tools, not just Deno:

“Our API gateway is deny by default — every new route must be explicitly whitelisted.”

The JSR Package Registry

Deno 2 introduced first-class support for JSR (the JavaScript Registry). A package registry is a centralised store where developers publish and download reusable code packages.

You might already know npm as the dominant package registry for Node.js. JSR is designed to be a modern alternative, with native TypeScript support and cross-runtime compatibility. When talking about registries in English, these phrases come up often:

“I published the utility library to the JSR registry so the whole team can import it.” “Always check whether a package on the registry is actively maintained before adding it as a dependency.”

Compatibility Layers and Shims

Because many developers are migrating from Node.js, Deno 2 includes a compatibility layer — code that translates Node.js APIs so they work inside Deno without rewriting them.

A closely related word is shim. A shim is a small piece of code that intercepts calls to one interface and redirects them to another. Think of it as an adapter plug:

“The Deno Node.js compatibility layer provides shims for built-in modules like fs and path, so legacy code runs without modification.” “We added a shim for the process.env object because the third-party library expected it to exist.”

The key difference: a compatibility layer is the broader system, while a shim is one specific piece inside it.

The KV Store

Deno 2 ships with a built-in KV store — short for key-value store. A key-value store is a type of database that saves data as pairs: a unique key and its associated value. It is simpler than a relational database and very fast for certain use cases.

“We use the Deno KV store to cache user session tokens. The key is the session ID, and the value is the serialised user object.” “Key-value stores are ideal when you need low-latency reads and the data does not have complex relationships.”

In English, “store” used as a noun in this context means a place where data is held — not a shop.

Workspace Support

Deno 2 added workspace support, allowing multiple related packages to live in a single repository. A workspace in this context is a configuration that lets a project manage several sub-packages together.

“We restructured the monorepo to use Deno workspaces, so all internal packages share the same dependency resolution.”

Key Vocabulary

TermDefinition
permission flagA command-line option that grants a specific access right to a program
deny by defaultA security principle where all access is blocked unless explicitly permitted
package registryA centralised service for publishing and downloading reusable code packages
shimA small piece of code that makes one API behave like another
compatibility layerA broader system that allows code written for one environment to run in another
key-value storeA simple database that stores data as pairs of unique keys and associated values
workspaceA project configuration that groups multiple related packages in one repository
native TypeScriptTypeScript that runs directly without a separate compilation step

Practice Tips

  1. When you read Deno documentation, highlight every security-related phrase and write a sentence of your own using it. “Deny by default” and “permission flag” appear constantly.
  2. Compare JSR with npm in a short paragraph in English — writing comparisons forces you to use transition words like “whereas”, “in contrast”, and “unlike”.
  3. Explain the concept of a shim to a colleague using an analogy from everyday life. If you can explain it simply, your vocabulary is solid.
  4. In code review comments, practise writing full sentences: instead of “wrong flag”, write “The permission flag here should be --allow-read rather than --allow-all to follow the principle of least privilege.”

Conclusion

Deno 2 introduces concepts that feel new even to experienced developers, so encountering unfamiliar English terms on top of unfamiliar technology is completely normal. Focusing on the vocabulary around permissions, registries, and compatibility gives you a strong foundation for reading docs, filing issues, and discussing architecture in English. The more you use these terms in real sentences, the faster they become second nature.