Deno

The global namespace where Deno specific, non-standard APIs are located.

§Namespace

Deno.errors

A set of error constructors that are raised by Deno APIs.

§Classes

Deno.Buffer deprecated

A variable-sized buffer of bytes with read() and write() methods.

Deno.errors.AddrInUse

Raised when attempting to open a server listener on an address and port that already has a listener.

Deno.errors.AddrNotAvailable

Raised when the underlying operating system reports an EADDRNOTAVAIL error.

Deno.errors.AlreadyExists

Raised when trying to create a resource, like a file, that already exits.

Deno.errors.BadResource

The underlying IO resource is invalid or closed, and so the operation could not be performed.

Deno.errors.BrokenPipe

Raised when trying to write to a resource and a broken pipe error occurs. This can happen when trying to write directly to stdout or stderr and the operating system is unable to pipe the output for a reason external to the Deno runtime.

Deno.errors.Busy

Raised when the underlying IO resource is not available because it is being awaited on in another block of code.

Deno.errors.ConnectionAborted

Raised when the underlying operating system reports an ECONNABORTED error.

Deno.errors.ConnectionRefused

Raised when the underlying operating system reports that a connection to a resource is refused.

Deno.errors.ConnectionReset

Raised when the underlying operating system reports that a connection has been reset. With network servers, it can be a normal occurrence where a client will abort a connection instead of properly shutting it down.

Deno.errors.Http

Raised in situations where when attempting to load a dynamic import, too many redirects were encountered.

Deno.errors.Interrupted

Raised when the underlying operating system reports an EINTR error. In many cases, this underlying IO error will be handled internally within Deno, or result in an @{link BadResource} error instead.

Deno.errors.InvalidData

Raised when an operation to returns data that is invalid for the operation being performed.

Deno.errors.NotConnected

Raised when the underlying operating system reports an ENOTCONN error.

Deno.errors.NotFound

Raised when the underlying operating system indicates that the file was not found.

Deno.errors.NotSupported

Raised when the underlying Deno API is asked to perform a function that is not currently supported.

Deno.errors.PermissionDenied

Raised when the underlying operating system indicates the current user which the Deno process is running under does not have the appropriate permissions to a file or resource, or the user did not provide required --allow-* flag.

Deno.errors.TimedOut

Raised when the underlying operating system reports that an I/O operation has timed out (ETIMEDOUT).

Deno.errors.UnexpectedEof

Raised when attempting to read bytes from a resource, but the EOF was unexpectedly encountered.

Deno.errors.WriteZero

Raised when expecting to write to a IO buffer resulted in zero bytes being written.

Deno.FsFile

The Deno abstraction for reading and writing files.

Deno.Permissions
Deno.PermissionStatus
Deno.Process

Represents an instance of a sub process that is returned from Deno.run which can be used to manage the sub-process.

§Enums

Deno.SeekMode

A enum which defines the seek mode for IO related APIs that support seeking.

§Variables

Deno.args

Returns the script arguments to the program. If for example we run a program:

Deno.build

Build related information.

Deno.customInspect deprecated

A symbol which can be used as a key for a custom method which will be called when Deno.inspect() is called, or when the object is logged to the console.

Deno.env

An interface containing methods to interact with the process environment variables.

Deno.File deprecated

The Deno abstraction for reading and writing files.

Deno.mainModule

The URL of the entrypoint module entered from the command-line.

Deno.noColor

Reflects the NO_COLOR environment variable at program start.

Deno.permissions

Deno's permission management API.

Deno.pid

The current process ID of this instance of the Deno CLI.

Deno.ppid

The process ID of parent process of this instance of the Deno CLI.

Deno.stderr

A reference to stderr which can be used to write directly to stderr. It implements the Deno specific {@link Writer}, {@link WriterSync}, and {@link Closer} interfaces as well as provides a WritableStream interface.

Deno.stdin

A reference to stdin which can be used to read directly from stdin. It implements the Deno specific {@link Reader}, {@link ReaderSync}, and {@link Closer} interfaces as well as provides a ReadableStream interface.

Deno.stdout

A reference to stdout which can be used to write directly to stdout. It implements the Deno specific {@link Writer}, {@link WriterSync}, and {@link Closer} interfaces as well as provides a WritableStream interface.

Deno.version

Version related information.

§Functions

Deno.addSignalListener

Registers the given function as a listener of the given signal event.

Deno.chdir

Change the current working directory to the specified path.

Deno.chmod

Changes the permission of a specific file/directory of specified path. Ignores the process's umask.

Deno.chmodSync

Synchronously changes the permission of a specific file/directory of specified path. Ignores the process's umask.

Deno.chown

Change owner of a regular file or directory.

Deno.chownSync

Synchronously change owner of a regular file or directory.

Deno.close

Close the given resource ID (rid) which has been previously opened, such as via opening or creating a file. Closing a file when you are finished with it is important to avoid leaking resources.

Deno.connect

Connects to the hostname (default is "127.0.0.1") and port on the named transport (default is "tcp"), and resolves to the connection (Conn).

Deno.connectTls

Establishes a secure connection over TLS (transport layer security) using an optional cert file, hostname (default is "127.0.0.1") and port. The cert file is optional and if not included Mozilla's root certificates will be used (see also https://github.com/ctz/webpki-roots for specifics)

Deno.copy deprecated

Copies from src to dst until either EOF (null) is read from src or an error occurs. It resolves to the number of bytes copied or rejects with the first error encountered while copying.

Deno.copyFile

Copies the contents and permissions of one file to another specified path, by default creating a new file if needed, else overwriting. Fails if target path is a directory or is unwritable.

Deno.copyFileSync

Synchronously copies the contents and permissions of one file to another specified path, by default creating a new file if needed, else overwriting. Fails if target path is a directory or is unwritable.

Deno.create

Creates a file if none exists or truncates an existing file and resolves to an instance of Deno.FsFile.

Deno.createSync

Creates a file if none exists or truncates an existing file and returns an instance of Deno.FsFile.

Deno.cwd

Return a string representing the current working directory.

Deno.execPath

Returns the path to the current deno executable.

Deno.exit

Exit the Deno process with optional exit code.

Deno.fdatasync

Flushes any pending data operations of the given file stream to disk.

const file = await Deno.open(
 "my_file.txt",
 { read: true, write: true, create: true },
);
await Deno.write(file.rid, new TextEncoder().encode("Hello World"));
await Deno.fdatasync(file.rid);
console.log(new TextDecoder().decode(await Deno.readFile("my_file.txt"))); // Hello World
Deno.fdatasyncSync

Synchronously flushes any pending data operations of the given file stream to disk.

Deno.fstat

Returns a Deno.FileInfo for the given file stream.

Deno.fstatSync

Synchronously returns a Deno.FileInfo for the given file stream.

Deno.fsync

Flushes any pending data and metadata operations of the given file stream to disk.

Deno.fsyncSync

Synchronously flushes any pending data and metadata operations of the given file stream to disk.

Deno.ftruncate

Truncates or extends the specified file stream, to reach the specified len.

Deno.ftruncateSync

Synchronously truncates or extends the specified file stream, to reach the specified len.

Deno.hostname

Get the hostname of the machine the Deno process is running on.

Deno.inspect

Converts the input into a string that has the same format as printed by console.log().

Deno.isatty

Check if a given resource id (rid) is a TTY (a terminal).

Deno.iter deprecated

Turns a Reader, r, into an async iterator.

Deno.iterSync deprecated

Turns a ReaderSync, r, into an iterator.

Deno.kill

Send a signal to process under given pid.

Deno.link

Creates newpath as a hard link to oldpath.

Deno.linkSync

Synchronously creates newpath as a hard link to oldpath.

Deno.listen

Listen announces on the local transport address.

Deno.listenTls

Listen announces on the local transport address over TLS (transport layer security).

Deno.lstat

Resolves to a Deno.FileInfo for the specified path. If path is a symlink, information for the symlink will be returned instead of what it points to.

Deno.lstatSync

Synchronously returns a Deno.FileInfo for the specified path. If path is a symlink, information for the symlink will be returned instead of what it points to.

Deno.makeTempDir

Creates a new temporary directory in the default directory for temporary files, unless dir is specified. Other optional options include prefixing and suffixing the directory name with prefix and suffix respectively.

Deno.makeTempDirSync

Synchronously creates a new temporary directory in the default directory for temporary files, unless dir is specified. Other optional options include prefixing and suffixing the directory name with prefix and suffix respectively.

Deno.makeTempFile

Creates a new temporary file in the default directory for temporary files, unless dir is specified.

Deno.makeTempFileSync

Synchronously creates a new temporary file in the default directory for temporary files, unless dir is specified.

Deno.memoryUsage

Returns an object describing the memory usage of the Deno process and the V8 subsystem measured in bytes.

Deno.metrics

Receive metrics from the privileged side of Deno. This is primarily used in the development of Deno. Ops, also called bindings, are the go-between between Deno JavaScript sandbox and the rest of Deno.

Deno.mkdir

Creates a new directory with the specified path.

Deno.mkdirSync

Synchronously creates a new directory with the specified path.

Deno.open

Open a file and resolve to an instance of Deno.FsFile. The file does not need to previously exist if using the create or createNew open options. It is the caller's responsibility to close the file when finished with it.

Deno.openSync

Synchronously open a file and return an instance of Deno.FsFile. The file does not need to previously exist if using the create or createNew open options. It is the caller's responsibility to close the file when finished with it.

Deno.read

Read from a resource ID (rid) into an array buffer (buffer).

Deno.readAll deprecated

Read Reader r until EOF (null) and resolve to the content as Uint8Array`.

Deno.readAllSync deprecated

Synchronously reads Reader r until EOF (null) and returns the content as Uint8Array.

Deno.readDir

Reads the directory given by path and returns an async iterable of Deno.DirEntry.

Deno.readDirSync

Synchronously reads the directory given by path and returns an iterable of Deno.DirEntry.

Deno.readFile

Reads and resolves to the entire contents of a file as an array of bytes. TextDecoder can be used to transform the bytes to string if required. Reading a directory returns an empty data array.

Deno.readFileSync

Synchronously reads and returns the entire contents of a file as an array of bytes. TextDecoder can be used to transform the bytes to string if required. Reading a directory returns an empty data array.

Deno.readLink

Resolves to the full path destination of the named symbolic link.

Deno.readLinkSync

Synchronously returns the full path destination of the named symbolic link.

Deno.readSync

Synchronously read from a resource ID (rid) into an array buffer (buffer).

Deno.readTextFile

Asynchronously reads and returns the entire contents of a file as an UTF-8 decoded string. Reading a directory throws an error.

Deno.readTextFileSync

Synchronously reads and returns the entire contents of a file as an UTF-8 decoded string. Reading a directory throws an error.

Deno.realPath

Resolves to the absolute normalized path, with symbolic links resolved.

Deno.realPathSync

Synchronously returns absolute normalized path, with symbolic links resolved.

Deno.refTimer

Make the timer of the given id block the event loop from finishing.

Deno.remove

Removes the named file or directory.

Deno.removeSignalListener

Removes the given signal listener that has been registered with Deno.addSignalListener.

Deno.removeSync

Synchronously removes the named file or directory.

Deno.rename

Renames (moves) oldpath to newpath. Paths may be files or directories. If newpath already exists and is not a directory, rename() replaces it. OS-specific restrictions may apply when oldpath and newpath are in different directories.

Deno.renameSync

Synchronously renames (moves) oldpath to newpath. Paths may be files or directories. If newpath already exists and is not a directory, renameSync() replaces it. OS-specific restrictions may apply when oldpath and newpath are in different directories.

Deno.resolveDns
Deno.resources

Returns a map of open resource IDs (rid) along with their string representations. This is an internal API and as such resource representation has unknown type; that means it can change any time and should not be depended upon.

Deno.run

Spawns new subprocess. RunOptions must contain at a minimum the opt.cmd, an array of program arguments, the first of which is the binary.

Deno.seek

Seek a resource ID (rid) to the given offset under mode given by whence. The call resolves to the new position within the resource (bytes from the start).

Deno.seekSync

Synchronously seek a resource ID (rid) to the given offset under mode given by whence. The new position within the resource (bytes from the start) is returned.

Deno.serveHttp

Services HTTP requests given a TCP or TLS socket.

Deno.shutdown

Shutdown socket send operations.

Deno.startTls

Start TLS handshake from an existing connection using an optional list of CA certificates, and hostname (default is "127.0.0.1"). Specifying CA certs is optional. By default the configured root certificates are used. Using this function requires that the other end of the connection is prepared for a TLS handshake.

Deno.stat

Resolves to a Deno.FileInfo for the specified path. Will always follow symlinks.

Deno.statSync

Synchronously returns a Deno.FileInfo for the specified path. Will always follow symlinks.

Deno.symlink

Creates newpath as a symbolic link to oldpath.

Deno.symlinkSync

Creates newpath as a symbolic link to oldpath.

Deno.test

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module.

Deno.truncate

Truncates (or extends) the specified file, to reach the specified len. If len is not specified then the entire file contents are truncated.

Deno.truncateSync

Synchronously truncates (or extends) the specified file, to reach the specified len. If len is not specified then the entire file contents are truncated.

Deno.unrefTimer

Make the timer of the given id not block the event loop from finishing.

Deno.upgradeWebSocket

Used to upgrade an incoming HTTP request to a WebSocket.

Deno.watchFs

Watch for file system events against one or more paths, which can be files or directories. These paths must exist already. One user action (e.g. touch test.file) can generate multiple file system events. Likewise, one user action can result in multiple file paths in one event (e.g. mv old_name.txt new_name.txt).

Deno.write

Write to the resource ID (rid) the contents of the array buffer (data).

Deno.writeAll deprecated

Write all the content of the array buffer (arr) to the writer (w).

Deno.writeAllSync deprecated

Synchronously write all the content of the array buffer (arr) to the writer (w).

Deno.writeFile

Write data to the given path, by default creating a new file if needed, else overwriting.

Deno.writeFileSync

Synchronously write data to the given path, by default creating a new file if needed, else overwriting.

Deno.writeSync

Synchronously write to the resource ID (rid) the contents of the array buffer (data).

Deno.writeTextFile

Write string data to the given path, by default creating a new file if needed, else overwriting.

Deno.writeTextFileSync

Synchronously write string data to the given path, by default creating a new file if needed, else overwriting.

§Interfaces

Deno.CAARecord

If resolveDns is called with "CAA" record type specified, it will return an array of this interface.

Deno.Closer

An abstract interface which when implemented provides an interface to close files/resources that were previously opened.

Deno.Conn
Deno.ConnectOptions
Deno.ConnectTlsOptions
Deno.DirEntry

Information about a directory entry returned from Deno.readDir and Deno.readDirSync.

Deno.Env

An interface containing methods to interact with the process environment variables.

Deno.EnvPermissionDescriptor
Deno.FfiPermissionDescriptor
Deno.FileInfo

Provides information about a file and is returned by Deno.stat, Deno.lstat, Deno.statSync, and Deno.lstatSync or from calling stat() and statSync() on an Deno.FsFile instance.

Deno.FsEvent

Represents a unique file system event yielded by a Deno.FsWatcher.

Deno.FsWatcher

Returned by Deno.watchFs. It is an async iterator yielding up system events. To stop watching the file system by calling .close() method.

Deno.HrtimePermissionDescriptor
Deno.HttpConn
Deno.InspectOptions

Option which can be specified when performing Deno.inspect.

Deno.Listener

A generic network listener for stream-oriented protocols.

Deno.ListenOptions
Deno.ListenTlsOptions
Deno.MakeTempOptions

Options which can be set when using Deno.makeTempDir, Deno.makeTempDirSync, Deno.makeTempFile, and Deno.makeTempFileSync.

Deno.MemoryUsage
Deno.Metrics
Deno.MkdirOptions

Options which can be set when using Deno.mkdir and Deno.mkdirSync.

Deno.MXRecord

If resolveDns is called with "MX" record type specified, it will return an array of this interface.

Deno.NAPTRRecord

If resolveDns is called with "NAPTR" record type specified, it will return an array of this interface.

Deno.NetAddr
Deno.NetPermissionDescriptor
Deno.OpenOptions

Options which can be set when doing Deno.open and Deno.openSync.

Deno.OpMetrics
Deno.PermissionOptionsObject

A set of options which can define the permissions within a test or worker context at a highly specific level.

Deno.PermissionStatusEventMap
Deno.Reader

An abstract interface which when implemented provides an interface to read bytes into an array buffer asynchronously.

Deno.ReaderSync

An abstract interface which when implemented provides an interface to read bytes into an array buffer synchronously.

Deno.ReadFileOptions

Options which can be set when using Deno.readFile or Deno.readFileSync.

Deno.ReadPermissionDescriptor
Deno.RemoveOptions

Options which can be set when using Deno.remove and Deno.removeSync.

Deno.RequestEvent
Deno.ResolveDnsOptions
Deno.ResourceMap

A map of open resources that Deno is tracking. The key is the resource ID (rid) and the value is its representation.

Deno.RunOptions

Options which can be used with Deno.run.

Deno.RunPermissionDescriptor
Deno.Seeker

An abstract interface which when implemented provides an interface to seek within an open file/resource asynchronously.

Deno.SeekerSync

An abstract interface which when implemented provides an interface to seek within an open file/resource synchronously.

Deno.SetRawOptions

UNSTABLE: new API, yet to be vetted.

Deno.SOARecord

If resolveDns is called with "SOA" record type specified, it will return an array of this interface.

Deno.SRVRecord

If resolveDns is called with "SRV" record type specified, it will return an array of this interface.

Deno.StartTlsOptions
Deno.SysPermissionDescriptor
Deno.TcpConn
Deno.TestContext

Context that is passed to a testing function, which can be used to either gain information about the current test, or register additional test steps within the current test.

Deno.TestDefinition
Deno.TestStepDefinition
Deno.TlsConn
Deno.TlsHandshakeInfo
Deno.TlsListener

Specialized listener that accepts TLS connections.

Deno.UnixAddr
Deno.UnixConn
Deno.UpgradeWebSocketOptions
Deno.WebSocketUpgrade
Deno.WriteFileOptions

Options for writing to a file.

Deno.WritePermissionDescriptor
Deno.Writer

An abstract interface which when implemented provides an interface to write bytes from an array buffer to a file/resource asynchronously.

Deno.WriterSync

An abstract interface which when implemented provides an interface to write bytes from an array buffer to a file/resource synchronously.

§Type Aliases

Deno.Addr
Deno.FsEventFlag

Additional information for FsEvent objects with the "other" kind.

Deno.PermissionDescriptor

Permission descriptors which define a permission and can be queried, requested, or revoked.

Deno.PermissionName

The name of a privileged feature which needs permission.

Deno.PermissionOptions

Options which define the permissions within a test or worker context.

Deno.PermissionState

The current status of the permission:

Deno.ProcessStatus

The status resolved from the .status() method of a Deno.Process instance.

Deno.RecordType

The type of the resource record. Only the listed types are supported currently.

Deno.Signal

Operating signals which can be listened for or sent to sub-processes. What signals and what their standard behaviors are are OS dependent.

Deno.SymlinkOptions