1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-26 16:09:27 -05:00
Commit graph

2842 commits

Author SHA1 Message Date
Casper Beyer
269bf380e0
fix(cli): move Deno.flock and Deno.funlock to unstable types (#12138) 2021-09-19 14:46:54 +02:00
Casper Beyer
e1144fd635
refactor(cli): don't generate a module for side loading tests (#12129) 2021-09-18 16:12:50 +02:00
Nayeem Rahman
75ca013f07
fix(cli/fmt_errors): Abbreviate long data URLs in stack traces (#12127)
Co-authored-by: Mike White <mike.white@auctane.com>
2021-09-18 15:40:04 +02:00
Bartek Iwańczuk
f840906943
fix(core): prevent multiple main module loading (#12128)
This commit fixes a problem where loading and executing multiple 
modules leads to all of the having "import.meta.main" set to true.

Following Rust APIs were deprecated:
- deno_core::JsRuntime::load_module
- deno_runtime::Worker::execute_module
- deno_runtime::WebWorker::execute_module

Following Rust APIs were added:
- deno_core::JsRuntime::load_main_module
- deno_core::JsRuntime::load_side_module
- deno_runtime::Worker::execute_main_module
- deno_runtime::Worker::execute_side_module
- deno_runtime::WebWorker::execute_main_module

Trying to load multiple "main" modules into the runtime now results in an
error. If user needs to load additional "non-main" modules they should use
APIs for "side" module.
2021-09-18 03:44:53 +02:00
David Sherret
7c0173df27
chore(tests): maybe fix flaky flock tests (#12122) 2021-09-17 14:17:01 -04:00
David Sherret
4c8ab33def
chore(tests): fix flaky fetchPostBodyTypedArray (#12104) 2021-09-17 09:02:44 -04:00
David Sherret
c8b43a0328
chore(tests): fix flaky flock tests (#12099) 2021-09-17 09:02:23 -04:00
Squirrel
4b79e5a459
chore: Remove unused deps from Cargo.toml files (#12106) 2021-09-17 14:39:32 +02:00
Kitson Kelly
99de9eb4c2
fix(cli): don't ignore diagnostics about for await (#12116)
Fixes #12115
2021-09-17 16:54:52 +10:00
Divy Srivastava
9270cad67c
fix(ext/crypto): don't use core.decode for encoding jwk keys (#12088) 2021-09-16 09:12:38 +02:00
Satya Rohith
3c97dbf06b
chore: update tagline (#12095) 2021-09-16 11:55:06 +05:30
Kitson Kelly
ccb3387946
fix(lsp): align filter text to vscode logic (#12081)
Fixes #11861
2021-09-16 12:07:52 +10:00
Satya Rohith
badc87e657
chore(lsp): use pretty_assertions in e2e tests (#12083) 2021-09-15 16:04:17 +05:30
David Sherret
f92cc66f0d
1.14.0 (#12074) 2021-09-14 16:46:36 -04:00
David Sherret
16c27fce1f
chore: bump crate versions for 0.14 (#12072) 2021-09-14 15:38:35 -04:00
Bartek Iwańczuk
1848f43aa1
chore: update URL for schemas (#12070) 2021-09-14 16:39:58 +02:00
Divy Srivastava
c41460ecc4
feat(ext/crypto): import RSA pkcs#8 keys (#11891) 2021-09-14 15:21:20 +02:00
Kitson Kelly
d36b01ff69
fix(lsp): correctly parse registry patterns (#12063) 2021-09-14 14:40:35 +02:00
Satya Rohith
bb7ee4f445
feat(lsp): ignore specific lint for entire file (#12023) 2021-09-14 17:46:51 +05:30
Bartek Iwańczuk
6e3c8a4b05
chore: add JSON schema for configuration file (#12062) 2021-09-14 04:18:02 +02:00
Bartek Iwańczuk
94c5cd7b2c
docs: Update --config flag help text (#12059) 2021-09-14 00:41:34 +02:00
Bartek Iwańczuk
cba1e7b5a3
feat: add option flags to 'deno fmt' (#12060) 2021-09-13 22:06:45 +02:00
Bartek Iwańczuk
0dbeb774ba
feat(fmt): add support for configuration file (#11944)
This commit adds support for configuration file for "deno fmt"
subcommand. It is also respected by LSP when formatting
files.

Example configuration:
{
    "fmt": {
        "files": {
            "include": ["src/"],
            "exclude": ["src/testdata/"]
        },
        "options": {
            "useTabs": true,
            "lineWidth": 80,
            "indentWidth": 4,
            "singleQuote": true,
            "textWrap": "preserve"
        }
    }
}
2021-09-13 20:19:10 +02:00
Leo K
a655a0f3e4
feat(unstable): allow specifing gid and uid for subprocess (#11586) 2021-09-13 19:26:23 +02:00
Bartek Iwańczuk
274ff6c469
fix: change assertion in httpServerIncompleteMessage test (#12052) 2021-09-13 17:05:00 +02:00
Bartek Iwańczuk
a95ca9dc70
feat: stabilise Deno.upgradeWebSocket (#12024) 2021-09-13 14:06:12 +02:00
Geert-Jan Zwiers
3ef23e25c6
fix(cli): use updated names in deno info help text (#11989) 2021-09-13 13:50:04 +02:00
Andreu Botella
93290487eb
fix: worker_message_before_close was flaky (#12019) 2021-09-13 13:47:17 +02:00
Divy Srivastava
2199bdaf64
feat(ext/crypto): export RSA keys as pkcs#8 (#11880) 2021-09-13 11:33:28 +02:00
Satya Rohith
84f8747157
fix(lsp): support data urls in deno.importMap option (#11397) 2021-09-13 09:49:23 +05:30
Kitson Kelly
a442821d97
chore: update deno_* crates (#12020) 2021-09-13 10:06:36 +10:00
Nayeem Rahman
2cc1577d28
fix(ext/fetch): Properly cancel upload stream when aborting (#11966)
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-13 01:19:38 +02:00
Divy Srivastava
0520ae62dd
fix(ext/crypto): add HkdfParams and Pkdf2Params types (#11991) 2021-09-12 23:02:49 +02:00
Ryan Dahl
13991e5995
refactor: Remove duplicated colors.rs file (#11990) 2021-09-12 12:04:17 -04:00
David Sherret
00d62e64bf
chore(lsp): temporarily reparse AST for linting (#11988) 2021-09-12 09:42:11 -04:00
Divy Srivastava
40c63d1255
feat(ext/crypto): verify ECDSA signatures (#11739) 2021-09-11 16:49:53 -04:00
Bartek Iwańczuk
d236f432b8
refactor: use import_map crate (#11974)
Removes ImportMap implementation from "cli/" and instead
uses "import_map" crate
2021-09-11 03:38:24 +02:00
Bartek Iwańczuk
bd4ca721eb
fix: Query string percent-encoded in import map (#11976)
This commit fixes a problem in import map when resolving
specifiers containing "?" or "#". 

Due to special handling of Windows specifiers required because 
of how "url" crate works, a regression was introduced that percent-encoded
all parts of URL that were not considered "path segments".

Co-authored-by: Andreu Botella <abb@randomunok.com>
2021-09-11 02:36:57 +02:00
Ryan Dahl
fb35cd0ef4
fix: permission prompt stuffing (#11931)
Fixes #9750
2021-09-09 08:38:47 -04:00
Nayeem Rahman
d947629292
fix(ext/web): Preserve stack traces for DOMExceptions (#11959) 2021-09-08 23:14:26 +02:00
Bartek Iwańczuk
85e316bd6b
chore: release deno_http 0.8.0 (#11956) 2021-09-08 19:32:19 +02:00
David Sherret
2958b05d0c
fix(test): propagate join errors in deno test (#11953) 2021-09-08 11:18:07 -04:00
Bartek Iwańczuk
5db1c401cd
fix: bring back Deno.Signal to unstable props (#11945) 2021-09-08 13:18:56 +02:00
Luca Casonato
e07f28d301
feat: add URLPattern API (#11941)
This adds support for the URLPattern  API.

The API is added in --unstable only, as it has not yet shipped in any
browser. It is targeted for shipping in Chrome 95.

Spec: https://wicg.github.io/urlpattern/

Co-authored-by: crowlKats < crowlkats@toaxl.com >
2021-09-08 11:14:29 +02:00
Bartek Iwańczuk
2de5587547
fix(ext/http): resource leak if request body is not consumed (#11955) 2021-09-08 10:12:23 +02:00
Bartek Iwańczuk
c04117134e
refactor(lint): reuse lint rules (#11934)
This commit updated "deno_lint" crate to 0.15.1 and refactors
"cli/tools/lint.rs" to create only a single vector of lint rules,
instead of creating a vector for each linted file.
2021-09-08 07:08:33 +02:00
BasiqueEvangelist
08e12380a0
feat(cli): Support Basic authentication in DENO_AUTH_TOKENS (#11910) 2021-09-08 06:18:11 +02:00
Kitson Kelly
bf6dbf9855
fix(cli): better handling of source maps (#11954)
Ref: #11874
2021-09-08 14:05:34 +10:00
David Sherret
4833103011
fix: exit process on panic in a tokio task (#11942) 2021-09-07 19:34:27 -04:00
David Sherret
e3a484ae44
fix: remove windows-only panic when calling Deno.kill (#11948) 2021-09-07 18:45:13 -04:00
David Sherret
2c2e3ec1ca
refactor(lsp): use deno_ast and cache swc ASTs (#11780) 2021-09-07 10:39:32 -04:00
Nayeem Rahman
d331c4b283
fix(ext/web): Format terminal DOMExceptions properly (#11834) 2021-09-06 22:59:20 +02:00
Ryan Dahl
c132c8690b
BREAKING(unstable): Remove Deno.Signals enum, Deno.signals.* (#11909) 2021-09-06 10:05:33 -04:00
Andreu Botella
b7c2902c97
Don't drop messages from workers that have already been closed (#11913)
When `worker.terminate()` is called, the spec requires that the
corresponding port message queue is emptied, so no messages can be
received after the call, even if they were sent from the worker before
it was terminated.

The spec doesn't require this of `self.close()`, and since Deno uses
different channels to send messages and to notify that the worker was
closed, messages might still arrive after the worker is known to be
closed, which are currently being dropped. This change fixes that.

The fix involves two parts: one on the JS side and one on the Rust side.
The JS side was using the `#terminated` flag to keep track of whether
the worker is known to be closed, without distinguishing whether further
messages should be dropped or not. This PR changes that flag to an
enum `#state`, which can be one of `"RUNNING"`, `"CLOSED"` or
`"TERMINATED"`.

The Rust side was removing the `WorkerThread` struct from the workers
table when a close control was received, regardless of whether there
were any messages left to read, which made any subsequent calls to
`op_host_recv_message` to return `Ok(None)`, as if there were no more
mesasges. This change instead waits for both a close control and for
the message channel's sender to be closed before the worker thread is
removed from the table.
2021-09-06 11:05:02 +02:00
Craig Morten
930cb0afd8
chore(std/http): server module name migration (#11890) 2021-09-05 22:43:46 +02:00
Feng Yu
bb99d5da4c
fix(doc): fix rustdoc bare_urls warning (#11921) 2021-09-05 16:22:45 +02:00
Casper Beyer
f9d29115a0
feat(cli): close test worker once all tests complete (#11727) 2021-09-04 20:19:26 +02:00
Casper Beyer
ce79cb5797
refactor(testing): redirect console output via reporter (#11911)
This feeds console output to the reporter and handles silencing there
instead of in the JavaScript code.
2021-09-04 15:16:35 +02:00
Bartek Iwańczuk
44ca3ce6ae
refactor: factor out DenoSubcommand enum variant into structs (#11896)
This commit refactors "DenoSubcommand" enum in a way that variants
no longer contain anonymous structures but instead contain
dedicated structures for each subcommand, eg. "DenoSubcommand::Lint"
now contains "LintSubcommand".
2021-09-04 01:33:35 +02:00
Bartek Iwańczuk
d93570a619
feat(lint): add support for config file and CLI flags for rules (#11776)
This commit adds support for following flags in deno lint subcommand:

--config - allows to load configuration file and parses "lint" object
--rules-tags=<tags> - allows specifying which set of tagged rules should be run
--rules-include=<rules> - allow specifying which rules should be run
--rules-exclude=<rules> - allow specifying which rules should not be run
2021-09-03 17:01:58 +02:00
David Sherret
c3001fe280
chore(test): improve flaky lsp_diagnostics_refresh_dependents test to give more info (#11905) 2021-09-02 20:31:59 -04:00
David Sherret
987716798f
feat(fmt): add basic JS doc formatting (#11902) 2021-09-02 18:28:12 -04:00
Luca Casonato
1bf7b90ca8
chore: update dependencies (#11856)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-09-02 23:38:44 +02:00
Bartek Iwańczuk
c84532b6d5
chore: upgrade crates (#11894)
Co-authored-by: David Sherret <dsherret@gmail.com>
2021-09-02 17:38:19 +02:00
Casper Beyer
77ead8af20
fix(cli): retain path based test mode inference (#11878) 2021-09-01 18:31:56 +09:00
Andreu Botella
c49eee551f
feat(workers): Make the Deno namespace configurable and unfrozen (#11888)
This is the worker counterpart of PR #11062.
2021-08-31 19:33:03 +02:00
Luca Casonato
fcd0992dba
fix: move unstable declarations to deno.unstable (#11876) 2021-08-31 11:25:15 +02:00
Luca Casonato
0aa6b1e79f
chore: update to rusty_v8 0.27.0 (#11877)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-08-30 18:40:00 +02:00
Divy Srivastava
5ee2110179
feat(ext/crypto): support JWK export for HMAC (#11864) 2021-08-29 14:23:51 +02:00
Aaron O'Mullan
8a097410a8
bench(deno_common): track readFile 128kb (#11862) 2021-08-29 01:05:32 +02:00
Divy Srivastava
1f57cd2c0f
feat(ext/crypto): support JWK import for HMAC (#11716) 2021-08-27 13:19:41 +02:00
Kitson Kelly
935133f53a
feat(cli): Update to TypeScript 4.4 (#11678) 2021-08-27 10:12:59 +10:00
Casper Beyer
b9a965c607
refactor(cli): introduce module specifier test modes (#11769)
This commit merges the two vectors of specifiers into a single one introducing
the concept of a "TestMode" which is a tri-state enum specifying how a specifier
is to be tested (as documentation, as an executable module or as both).

This is determined during the collection phase and determines how a specifier
will be executed based on how the specifier was collected (directly or not) and
if it has an eligible media_type when fetched.

For example "deno test README.md" is marked as documentation because, while it
is a direct inclusion it is not an executable media type therefore will only
have the fenced code blocks that can be parsed from it tested.
2021-08-26 21:21:58 +02:00
Sebastien Filion
192af1e7bc
docs: Add async iterator alternative for Deno.serveHttp (#11850) 2021-08-26 17:06:58 +02:00
David Sherret
5d7d9d6443
chore(tests): improve unit tests using deferred (#11842) 2021-08-25 16:04:14 -04:00
Sean Michael Wykes
dccf4cbe36
feat(fetch): mTLS client certificates for fetch() (#11721)
This commit adds support for specifying client certificates when using fetch, by means of `Deno.createHttpClient`.
2021-08-25 14:25:12 +02:00
Dayan C. Galiazzi
873cce27b8
fix(ext/http): websocket upgrade header check (#11830) 2021-08-25 00:55:32 +02:00
Casper Beyer
a3fd4bb998
fix(cli): dispatch unload event on watch drop (#11696) 2021-08-24 22:34:09 +02:00
Divy Srivastava
85a56e7144
feat(ext/crypto): implement encrypt, decrypt & generateKey for RSA-OAEP (#11654) 2021-08-24 21:59:02 +02:00
Sebastien Filion
e10d30c8ea
fix(typings): fix property name in DiagnosticMessageChain interface (#11821) 2021-08-24 11:53:38 -04:00
Casper Beyer
a7240c5091
feat(cli): add --ignore flag to test command (#11712) 2021-08-24 17:23:29 +02:00
Nicolas Stucki
c4561ac969
feat(extensions/console): right align numeric columns in table (#11748) 2021-08-24 17:17:40 +02:00
Tilman Roeder
93d83a84db
feat(unstable): Add file locking APIs (#11746)
This commit adds following unstable APIs:
- Deno.flock()
- Deno.flockSync()
- Deno.funlock()
- Deno.funlockSync()
2021-08-24 15:21:31 +02:00
Nayeem Rahman
1b7848c4a9
feat(unstable): Support file URLs in Deno.dlopen() (#11658) 2021-08-24 15:09:00 +02:00
Nayeem Rahman
8c57a6b7e3
BREAKING(unstable): Fix casing in FfiPermissionDescriptor (#11659) 2021-08-24 15:08:41 +02:00
Leo K
f4a9db350f
chore(ext/webgpu): update wgpu to 0.10.0 (#11781)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-24 13:29:42 +02:00
David Sherret
7b882cc05f
1.13.2 (#11822) 2021-08-23 16:58:49 -04:00
David Sherret
6db8cbb650
chore: release crates for 1.13.2 (#11820) 2021-08-23 15:48:08 -04:00
Luca Casonato
df084b9f14
fix(ext/ffi): don't panic on invalid enum values (#11815)
Co-authored-by: Feng Yu <f3n67u@gmail.com>
2021-08-23 18:31:19 +02:00
Bartek Iwańczuk
2187c11e5d
fix(ext/http): resource leak on HttpConn.close() (#11805)
This commit adds tracking of resources that are related
to "HttpConn" so they can be closed automatically
when closing the connection.
2021-08-23 16:15:59 +02:00
Casper Beyer
2c17045aa8
refactor(cli/tools/test): infer disable log from program state (#11803) 2021-08-23 16:03:57 +02:00
Bartek Iwańczuk
dbcdd3a18e
fix: duplicate import in cli/main.rs (#11813) 2021-08-23 14:08:55 +02:00
Casper Beyer
f3b2f23a1d
refactor(cli/flags): use an optional non zero usize for fail-fast (#11804)
Changes the type of the `fail_fast` flag from `Option<usize>` to
`Option<NonZeroUsize>` as an optional value of zero isn't sound.
2021-08-23 12:37:02 +02:00
Casper Beyer
198699faba
fix(cli/flags): require a non zero usize for concurrent jobs (#11802) 2021-08-23 12:35:38 +02:00
Feng Yu
cb8f34c325
doc(test): add --location to unit test command (#11793) 2021-08-21 14:32:05 +02:00
Feng Yu
4c1e56b2f0
tests: remove redundant type assertion (#11794) 2021-08-21 16:55:28 +10:00
Kitson Kelly
0d83afd939
fix(lsp): better handling of languageId (#11755)
Fixes #11521
Fixes #11742
2021-08-19 13:19:12 +10:00
Pankaj Patil
e55454613c
docs(lsp): change deno/registryStatus -> deno/registryState (#11760) 2021-08-18 12:17:52 -04:00
Casper Beyer
71e558c71c
test: re-enable test watch tests and mark as flaky (#11669) 2021-08-18 15:35:24 +02:00
Luca Casonato
a66218d457
fix(runtime): event loop panics in classic workers (#11756)
Classic worker scripts are now executed in the context of a Tokio
runtime. This does mean we can not spawn more tokio runtimes in
"op_worker_sync_fetch". We instead spawn a new thread there, that can
create a new Tokio runtime that we can use to block the worker thread.
2021-08-18 15:19:22 +02:00