- Deno
- Integrates the Deno JavaScript/TypeScript runtime and tools.
- 1108 Installs
-
This extension is allowed to:
- Read & Write Files
- Launch Subprocesses
Readme
Nova Deno extension
A Nova editor extension that integrates the Deno JavaScript/TypeScript runtime and tools.
Usage
The Deno language server enhances editing for the following syntaxes in various ways (all support format on save, but a subset support linting, type checking, and IntelliSense), depending on the configuration:
- JavaScript
- JSX
- TypeScript
- TSX
- JSON
- Markdown
Import IntelliSense
The Deno language server can provide
JavaScript/TypeScript import IntelliSense if the imported module host serves
/.well-known/deno-import-intellisense.json
and implements the necessary API
endpoints.
Import IntelliSense is enabled or disabled per host in the global configuration
option deno.suggest.imports.hosts
, typically saved in
~/Library/Application Support/Nova/UserConfiguration.json
. As of Nova
v7.2, there’s no suitable extension GUI for editing this map data structure.
If the project configuration option deno.suggest.imports.autoDiscover
is
enabled, while typing an import module specifier the
Deno language server automatically discovers if the host
supports import IntelliSense, triggering a notification to enable or disable it.
Commands
Reset Deno import IntelliSense hosts
Resets the global configuration option deno.suggest.imports.hosts
to allow
fresh auto-discovery of hosts that support JavaScript/TypeScript import
IntelliSense (see the Import IntelliSense section above). The host
https://deno.land
is enabled by default. This happens automatically if the
global configuration option deno.suggest.imports.hosts
is missing when the
extension activates.
Available via:
- Nova command palette, entering
Reset Deno import IntelliSense hosts
. - Nova menu bar option Extensions → Deno → Reset Deno import IntelliSense hosts.
Restart Deno language client
Restarts the Deno language client. This happens automatically when the
configuration or files referenced in the configuration (e.g. the
deno.importMap
import map file or the deno.config
TypeScript config file)
change.
Available via:
- Nova command palette, entering
Restart Deno language client
. - Nova menu bar option Extensions → Deno → Restart Deno language client.
Deno cache
Instructs Deno to attempt to cache any dependencies of the module in the focused editor.
Available when the focused editor has a JavaScript, JSX, TypeScript, or TSX syntax, via:
- Nova command palette, entering
Deno cache
. - Nova menu bar option Editor → Deno cache.
Deno format document
Deno formats the focused editor.
Available when the focused editor has a Deno formattable syntax, via:
- Nova command palette, entering
Deno format document
. - Nova menu bar option Editor → Deno format document.
- Keyboard shortcut Shift+Option+f.
Requirements
- macOS v10.15.4+, for modern JavaScript syntax support in JavaScriptCore.
- Nova v5+.
- Deno CLI v1.13.2+.
Configuration
Global config
- In the Nova menu bar open Extensions → Extension Library….
- In the sidebar under Installed Extensions, open the tab Deno.
- Open the tab Preferences.
Project config
- In the Nova menu bar open Project → Project Settings....
- In the sidebar under Extensions, open the tab Deno.
Changelog
Nova Deno extension changelog
1.2.3
Patch
- Added VS Code config to the project.
- Stopped using Deno
unstable
mode for the project. - Added a project import map, used for tests.
- Updated the Deno
std
version used in tests. - Added
@ts-check
comments to modules, referenced@types/nova-editor-node
, and fixed various issues revealed by TypeScript. - Changed the test module file extensions from
.js
to.mjs
. - Use a new class
Defer
to streamline deferred promises in both the implementation and tests. - The extension now creates a missing global config file during initialization or running certain commands, instead of hanging or erroring.
1.2.2
Patch
- Removed the readme warning that document changes can be lost if Nova crashes (particularly when formatting on save) as Nova v7.3 is more stable, closing #3.
1.2.1
Patch
- Documented the minimum required Deno version (v1.13.2).
1.2.0
Minor
- Added support for JSX and TSX syntax, fixing #1.
Patch
- Updated dev dependencies.
1.1.0
Minor
- Implemented the
deno.cache
“Deno cache” command, progressing #5.
Patch
- Updated issue information in the extension readme and source comments.
1.0.2
Patch
- Removed Deno language server code lens related workspace configuration as Nova doesn’t appear to support code lens.
1.0.1
Patch
- Uppercased the extension readme and changelog file names to conform to Nova extension conventions so the contents will display in the Nova extension library.
1.0.0
Initial release.