f891368057
- feat(lsp): diagnostics for deno types and triple-slash refs (#10699) - feat(lsp): provide X-Deno-Warning as a diagnostic (#10680) - feat(lsp): show hints from `deno_lint` in addition to messages (#10739) - feat(lsp): support formatting json and markdown files (#10180) - fix(cli): always allow documentation modules to be checked (#10581) - fix(cli): canonicalize coverage dir (#10364) - fix(cli): don't statically error on dynamic unmapped bare specifiers (#10618) - fix(cli): empty tsconfig.json file does not cause error (#10734) - fix(cli): support source maps with Deno.emit() and bundle (#10510) - fix(cli/dts): fix missing error class (NotSupported) in types (#10713) - fix(cli/install): support `file:` scheme URLs (#10562) - fix(cli/test): don't use reserved symbol `:` in specifier (#10751) - fix(cli/test): ensure coverage dir exists (#10717) - fix(cli/upgrade): modify download size paddings (#10639) - fix(runtime/http): expose nextRequest() errors in respondWith() (#10384) - fix(runtime/http): fix empty blob response (#10689) - fix(serde_v8): remove intentional deserialization error on non-utf8 strings (#10156) - fix(ext/fetch): fix error message of Request constructor (#10772) - fix(ext/fetch): make prototype properties writable (#10769) - fix(ext/fetch): remove unimplemented Request attributes (#10784) - fix(ext/file): update File constructor following the spec (#10760) - fix(ext/webstorage): use opstate for sqlite connection (#10692) - fix(lsp): deps diagnostics include data property (#10696) - fix(lsp): ignore type definition not found diagnostic (#10610) - fix(lsp): local module import added by code action now includes the file extension (#10778) - fix(lsp): make failed to load config error descriptive (#10685) - fix(lsp): memoize script versions per tsc request (#10601) - fix(lsp): re-enable the per resource configuration without a deadlock (#10625) - docs(cli): update getting started for clarity (#10694) - docs(cli/dts) replace `read()` with `readSync()` (#10732) - docs(cli/dts): fix plugin example (#10647) - docs(cli/dts): fix typo in `TestDefinition.only` description (#10697) - docs(cli/dts): fix unix socket examples (#10705) - docs(cli/dts): make worker example pass (#10703) - docs(cli/dts): tag test permission example as typescript (#10753) - docs(permissions): fix grammatical error in permissions docs (#10755) - docs(runtime): fix fetch API usage of HTTP server (#10777) - docs(testing): fix misspelling (#10683) - docs(typescript): fix typo in faqs (#10682) -----BEGIN PGP SIGNATURE----- iQFJBAABCgAzFiEERCcr7u+ib5W/fkyWeneIey4u1GEFAmC1RbwVHGJlcnRiZWxk ZXJAZ21haWwuY29tAAoJEHp3iHsuLtRhXJsH/RETkMkLj1rZSdQWaOdVnRmP02pb QmbmtfPVtM0Xvh+zL23Jk2fU2cJPRsf71U260QMyzxE8LVDZ58k9KFID24MdB3b/ J6Y5zLxyhkzc1EutN+D09y2nwrvJv3UKOls2ZLXtZ/HEmqQVOmqlGIaPIGxiQOPO yAWXKXid/hZ41xDygJpL6FEmemnVlOzPHX/AeccKcyQos7CUUqcNocReUklZcje6 1IEEe6NcAi7x7hRB6lfjtXIZRcEjMD21ZmLsyKEH6YOJfoPzlR0uKYJR0i0ZO5Hr H4erWA9R3OJDwvx5DhCGxyqW6IuD4A3HGChHtcANdH+RWTyHquqgDSzpeHA= =Hhjk -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQFJBAABCgAzFiEERCcr7u+ib5W/fkyWeneIey4u1GEFAmC1TdsVHGJlcnRiZWxk ZXJAZ21haWwuY29tAAoJEHp3iHsuLtRhYVEH/iHbk8AXA5xF8kV+q2R0IhRrtZjV 8VjDiC1nTGfIJcjXxoUVa1VaYQlfxNxcKPc/PSoW/oUwSoS0I9QvAxPY81dPYNUe TtiJjf7fNWssu04TK/5rillRuag3e+AGrR605uK2A1b0Y/qlOumtaGN48TXcbyFt p/p4zXT9TSC+/cOxZFNjnh+UVwpqOJxWxXBBtzrsDcsBfdvOCy/fo7qwjmqbe/q4 BDXNAG4AYHtg5X94b8bEgPDutUjk5HY08KA0EvVffGD0c3czvaF3lO7p8FHt95/3 rG+hS02OxUWRe8rltZk6s1mItypig4EyWWoiUJMaPt8zTz1t9rdy+M0oEpY= =bAil -----END PGP SIGNATURE----- Merge v1.10.3 into main (#10801) |
||
---|---|---|
.. | ||
examples | ||
js | ||
ops | ||
build.rs | ||
Cargo.toml | ||
colors.rs | ||
errors.rs | ||
fs_util.rs | ||
inspector_server.rs | ||
js.rs | ||
lib.rs | ||
metrics.rs | ||
permissions.rs | ||
README.md | ||
resolve_addr.rs | ||
tokio_util.rs | ||
web_worker.rs | ||
worker.rs |
deno_runtime
crate
This is a slim version of the Deno CLI which removes typescript integration and various tooling (like lint and doc). Basically only JavaScript execution with Deno's operating system bindings (ops).
Stability
This crate is built using battle-tested modules that were originally in deno
crate, however the API of this crate is subject to rapid and breaking changes.
MainWorker
The main API of this crate is MainWorker
. MainWorker
is a structure
encapsulating deno_core::JsRuntime
with a set of ops used to implement Deno
namespace.
When creating a MainWorker
implementors must call MainWorker::bootstrap
to
prepare JS runtime for use.
MainWorker
is highly configurable and allows to customize many of the
runtime's properties:
- module loading implementation
- error formatting
- support for source maps
- support for V8 inspector and Chrome Devtools debugger
- HTTP client user agent, CA certificate
- random number generator seed
Worker
Web API
deno_runtime
comes with support for Worker
Web API. The Worker
API is
implemented using WebWorker
structure.
When creating a new instance of MainWorker
implementors must provide a
callback function that is used when creating a new instance of Worker
.
All WebWorker
instances are descendents of MainWorker
which is responsible
for setting up communication with child worker. Each WebWorker
spawns a new OS
thread that is dedicated solely to that worker.