profile
viewpoint
Bartek Iwańczuk bartlomieju Warsaw, PL Contributing to @denoland, author of deno-postgres, interested in TypeScript, Rust and Python.

buildondata/deno-postgres 110

PostgreSQL driver for Deno

bartlomieju/parseargs 29

Migrated to https://github.com/denoland/deno_std

hayd/deno 2

A secure TypeScript runtime on V8

bartlomieju/deno 1

A secure TypeScript runtime on V8

bartlomieju/bartlomieju.github.io 0

Code that'll help you kickstart a personal website that showcases your work as a software developer.

bartlomieju/deno-logging 0

Migrated to https://github.com/denoland/deno_std/

bartlomieju/deno-redis 0

[WIP] An experimental implementation of redis client for deno

bartlomieju/deno-sqlite 0

JavaScript SQLite library targeting Deno

issue commentdenoland/deno

segfault running tools/deno_tcp.ts

Debug backtrace:

(lldb) r
Process 56314 launched: '/Users/biwanczuk/dev/deno/target/debug/deno' (x86_64)
Listening on 127.0.0.1:4544
deno was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 56314 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
    frame #0: 0x000000010178452e deno`::~BackingStore() at backing-store.cc:197:16 [opt]
Target 0: (deno) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
  * frame #0: 0x000000010178452e deno`::~BackingStore() at backing-store.cc:197:16 [opt]
    frame #1: 0x00000001013655d7 deno`::__on_zero_shared() [inlined] operator() at memory:2378:5 [opt]
    frame #2: 0x00000001013655ca deno`::__on_zero_shared() at memory:3551 [opt]
    frame #3: 0x0000000101326207 deno`::std__shared_ptr__v8__BackingStore__reset(std::__1::shared_ptr<v8::BackingStore> &) [inlined] std::__1::__shared_count::__release_shared(this=<unavailable>) at memory:3455:9 [opt]
    frame #4: 0x00000001013261fe deno`::std__shared_ptr__v8__BackingStore__reset(std::__1::shared_ptr<v8::BackingStore> &) [inlined] std::__1::__shared_weak_count::__release_shared(this=<unavailable>) at memory:3497 [opt]
    frame #5: 0x00000001013261fe deno`::std__shared_ptr__v8__BackingStore__reset(std::__1::shared_ptr<v8::BackingStore> &) [inlined] std::__1::shared_ptr<v8::BackingStore>::~shared_ptr(this=<unavailable>) at memory:4226 [opt]
    frame #6: 0x00000001013261fe deno`::std__shared_ptr__v8__BackingStore__reset(std::__1::shared_ptr<v8::BackingStore> &) [inlined] std::__1::shared_ptr<v8::BackingStore>::~shared_ptr(this=<unavailable>) at memory:4224 [opt]
    frame #7: 0x00000001013261fe deno`::std__shared_ptr__v8__BackingStore__reset(std::__1::shared_ptr<v8::BackingStore> &) [inlined] std::__1::shared_ptr<v8::BackingStore>::reset(this=<unavailable>) at memory:4361 [opt]
    frame #8: 0x00000001013261fe deno`::std__shared_ptr__v8__BackingStore__reset(ptr=0xb0001d00009f0000) at binding.cc:616 [opt]
    frame #9: 0x0000000101319b25 deno`_$LT$rusty_v8..array_buffer..BackingStore$u20$as$u20$rusty_v8..support..Shared$GT$::reset::hdbd4788896783859(ptr=&0x1074a81c8) at array_buffer.rs:198:13
    frame #10: 0x00000001012a94e5 deno`_$LT$rusty_v8..support..SharedRef$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h58da6ad212ef83ba(self=&0x1074a81c8) at support.rs:232:4
    frame #11: 0x0000000100454fd5 deno`core::ptr::real_drop_in_place::hc564eebcb1e72c21((null)=&0x1074a81c8) at mod.rs:182
    frame #12: 0x000000010045b818 deno`core::ptr::real_drop_in_place::he93da025c5241022((null)=&0x1074a81c8) at mod.rs:182
    frame #13: 0x0000000100452fce deno`core::ptr::real_drop_in_place::hbb0692714260bc3d((null)=&0x1074a81c0) at mod.rs:182
    frame #14: 0x00000001004313b8 deno`core::ptr::real_drop_in_place::h1a6965783a16931c((null)=&0x1074a81c0) at mod.rs:182
    frame #15: 0x000000010045699c deno`core::ptr::real_drop_in_place::hcd63a6382138fb88((null)=&0x1074a8200) at mod.rs:182
    frame #16: 0x0000000100457e18 deno`core::ptr::real_drop_in_place::hd4b53c0ae8b0d24d((null)=&0x1074a8200) at mod.rs:182
    frame #17: 0x000000010043ccb9 deno`core::ptr::real_drop_in_place::h54edc641cf2c0ea3 at dispatch_minimal.rs:138:12
    frame #18: 0x000000010042fc58 deno`core::ptr::real_drop_in_place::h12aa89120f63598c((null)=&0x1074a81f0) at mod.rs:182
    frame #19: 0x000000010044216c deno`core::ptr::real_drop_in_place::h6dc2d58da5177fac((null)=&0x1074a8220) at mod.rs:182
    frame #20: 0x000000010044dfb8 deno`core::ptr::real_drop_in_place::ha34d21250a55c891((null)=&0x1074a8220) at mod.rs:182
    frame #21: 0x0000000100433885 deno`core::ptr::real_drop_in_place::h24a803477a53366c((null)=&0x1074a8220) at mod.rs:182
    frame #22: 0x00000001012b97ac deno`core::ptr::real_drop_in_place::h7bc904bfe33c787b((null)=&0x1074a8240) at mod.rs:182
    frame #23: 0x00000001012bbd68 deno`core::ptr::real_drop_in_place::hfe099287cf707400((null)=&0x1074a8240) at mod.rs:182
    frame #24: 0x00000001012ba048 deno`core::ptr::real_drop_in_place::h9926adde945999b8((null)=&0x1074a8240) at mod.rs:182
    frame #25: 0x00000001012b800c deno`core::ptr::real_drop_in_place::h3099a57fbc050bea((null)=&0x1074a8270) at mod.rs:182
    frame #26: 0x00000001012b8c18 deno`core::ptr::real_drop_in_place::h5a3eaed012ab6f01((null)=&0x1074a8270) at mod.rs:182
    frame #27: 0x00000001012b8559 deno`core::ptr::real_drop_in_place::h407fd3a6ccc046a1((null)=&0x1074a8270) at mod.rs:182
    frame #28: 0x0000000101288e56 deno`futures_util::stream::futures_unordered::FuturesUnordered$LT$Fut$GT$::release_task::h77ed78d384b6ea3e(self=&0x107624818, task=Arc<futures_util::stream::futures_unordered::task::Task<core::pin::Pin<core::future::future::Box<core::future::future::Future> > > > {
ptr: NonNull<alloc::sync::ArcInner<futures_util::stream::futures_unordered::task::Task<core::pin::Pin<core::future::future::Box<core::future::future::Future> > > > > {
pointer: &0x1074a8260
},
phantom: PhantomData<alloc::sync::ArcInner<futures_util::stream::futures_unordered::task::Task<core::pin::Pin<core::future::future::Box<core::future::future::Future> > > > > {

}
}) at mod.rs:291:12
    frame #29: 0x0000000101286aff deno`_$LT$futures_util..stream..futures_unordered..FuturesUnordered$LT$Fut$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h90674abc2d5ccd9f(self=&0x107624818) at mod.rs:591:16
    frame #30: 0x0000000100437df5 deno`core::ptr::real_drop_in_place::h385a8fafc3bd3b47((null)=&0x107624818) at mod.rs:182
    frame #31: 0x00000001004333e2 deno`core::ptr::real_drop_in_place::h234da120ede4f983((null)=&0x107624740) at mod.rs:182
    frame #32: 0x0000000100436168 deno`core::ptr::real_drop_in_place::h30bc47ff4f9b4384((null)=&0x1076249e0) at mod.rs:182
    frame #33: 0x0000000100454915 deno`core::ptr::real_drop_in_place::hc435f9add55a4c22((null)=&0x1076249e0) at mod.rs:182
    frame #34: 0x000000010045be48 deno`core::ptr::real_drop_in_place::heb7088ca418ca11d((null)=&0x1078151a8) at mod.rs:182
    frame #35: 0x0000000100448599 deno`core::ptr::real_drop_in_place::h8a278bfcb6254204((null)=&0x107815190) at mod.rs:182
    frame #36: 0x0000000100439558 deno`core::ptr::real_drop_in_place::h3f9f823115cf1636((null)=&0x107815190) at mod.rs:182
    frame #37: 0x000000010009fc61 deno`deno::run_command::_$u7b$$u7b$closure$u7d$$u7d$::hb01342816ec27cd4 at lib.rs:342
    frame #38: 0x0000000100080ab6 deno`_$LT$std..future..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h2bcf5d5fc158a444(self=Pin<std::future::GenFuture<deno::run_command::generator-0> *> {
pointer: &0x107814e00
}, cx=&0x7ffeefbfb108) at future.rs:43:14
    frame #39: 0x000000010036349a deno`_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5509418f4c84ca98(self=Pin<core::pin::Pin<core::future::future::Box<core::future::future::Future> > *> {
pointer: &0x7ffeefbfb0b0
}, cx=&0x7ffeefbfb108) at future.rs:119:8
    frame #40: 0x00000001003c07dd deno`tokio::runtime::basic_scheduler::BasicScheduler$LT$P$GT$::block_on::h566c121c201c583b(self=&0x7ffeefbfb3f0, future=Pin<core::future::future::Box<core::future::future::Future> > {
pointer: Box<core::future::future::Future> {

}
}) at basic_scheduler.rs:138:30
    frame #41: 0x00000001000c63d0 deno`tokio::runtime::Runtime::block_on::_$u7b$$u7b$closure$u7d$$u7d$::h3aece830b445ea67 at mod.rs:411:33
    frame #42: 0x00000001001d7fc5 deno`tokio::runtime::context::enter::h980d9b191f5fbb80(new=<unavailable>, f=closure-0(&0x7ffeefbfb380, Pin<core::future::future::Box<core::future::future::Future> > {
pointer: Box<core::future::future::Future> {

}
})) at context.rs:72:4
    frame #43: 0x0000000100370f54 deno`tokio::runtime::handle::Handle::enter::hb5b30514928a8fd3(self=&0x7ffeefbfb4b0, f=closure-0(&0x7ffeefbfb380, Pin<core::future::future::Box<core::future::future::Future> > {
pointer: Box<core::future::future::Future> {

}
})) at handle.rs:34:8
    frame #44: 0x00000001000c633a deno`tokio::runtime::Runtime::block_on::h8a30b05455e6ff46(self=&0x7ffeefbfb3e8, future=Pin<core::future::future::Box<core::future::future::Future> > {
pointer: Box<core::future::future::Future> {

}
}) at mod.rs:408:8
    frame #45: 0x000000010036d6c8 deno`deno::tokio_util::run_basic::he0cfcb5331da5c01(future=Pin<core::future::future::Box<core::future::future::Future> > {
pointer: Box<core::future::future::Future> {

}
}) at tokio_util.rs:18:2
    frame #46: 0x00000001003ba8a3 deno`deno::main::h8adba76a19b073a4 at lib.rs:456:15
    frame #47: 0x00000001000013d9 deno`deno::main::h61a8cde9e7c3a895 at main.rs:4:2
    frame #48: 0x0000000100001472 deno`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hc6028a589f7ea188 at rt.rs:67:33
    frame #49: 0x00000001029dc358 deno`std::panicking::try::do_call::h77eb563f55a56484 [inlined] std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::h04f5bc1b8502155f at rt.rs:52:12 [opt]
    frame #50: 0x00000001029dc34c deno`std::panicking::try::do_call::h77eb563f55a56484 at panicking.rs:292 [opt]
    frame #51: 0x00000001029e684f deno`__rust_maybe_catch_panic at lib.rs:78:7 [opt]
    frame #52: 0x00000001029dcc6e deno`std::rt::lang_start_internal::h3d261fac4b6382f2 [inlined] std::panicking::try::h989c79f60ffdf02a at panicking.rs:270:12 [opt]
    frame #53: 0x00000001029dcc3b deno`std::rt::lang_start_internal::h3d261fac4b6382f2 [inlined] std::panic::catch_unwind::hd3f56528916c87b0 at panic.rs:394 [opt]
    frame #54: 0x00000001029dcc3b deno`std::rt::lang_start_internal::h3d261fac4b6382f2 at rt.rs:51 [opt]
    frame #55: 0x0000000100001452 deno`std::rt::lang_start::hf6d65e83176ad81c(main=&0x1000013d0, argc=4, argv=&0x7ffeefbff508) at rt.rs:67:4
    frame #56: 0x0000000100001402 deno`main + 34
    frame #57: 0x00007fff71f82cc9 libdyld.dylib`start + 1
    frame #58: 0x00007fff71f82cc9 libdyld.dylib`start + 1
(lldb)
bartlomieju

comment created time in 14 hours

pull request commentdenoland/deno

Remove impl Send for Isolate and EsIsolate

Good point; now I also thought about buffer transfer in postMessage(msg, [transfer])

ry

comment created time in 14 hours

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha 7fff2d2d1e73b4b7cece9c8e3c58763f5f257303

remove Read/Write futures, use poll_fn instead (#4150)

view details

Ryan Dahl

commit sha fb1075da6e33a65daaa3e9c2ecf1d7a9a5021f58

Remove impl Send for Isolate and EsIsolate (#4151)

view details

Bartek Iwańczuk

commit sha daf7617f42e2e7520344ec98db3d60016b85fd73

rewrite normalize_path (#4143) Rewrite "normalize_path()" to remove all intermediate components from the path, ie. "./" and "../". It's very similar in functionality to fs::canonicalize(), however "normalize_path() doesn't resolve symlinks.

view details

push time in 15 hours

pull request commentdenoland/deno

Remove impl Send for Isolate and EsIsolate

We might want to remove Send from ZeroCopyBuf as well (I did that in #4152).

ry

comment created time in 15 hours

delete branch bartlomieju/deno

delete branch : normalize_path_components

delete time in 15 hours

push eventdenoland/deno

Bartek Iwańczuk

commit sha daf7617f42e2e7520344ec98db3d60016b85fd73

rewrite normalize_path (#4143) Rewrite "normalize_path()" to remove all intermediate components from the path, ie. "./" and "../". It's very similar in functionality to fs::canonicalize(), however "normalize_path() doesn't resolve symlinks.

view details

push time in 15 hours

PR merged denoland/deno

rewrite normalize_path

Closes #4133

CC @piscisaureus

+56 -33

0 comment

3 changed files

bartlomieju

pr closed time in 15 hours

issue closeddenoland/deno

replace PathBuf.canonicalize() with removal of "./" and "../" parts

PathBuf.canonicalize() resolves symlinks which in almost all our current use cases is not desired. It should be replaced with this bit as a separate utility: https://github.com/denoland/deno/blob/e53064c4f22efeb8a4eda2712e15c77d2699a686/cli/fs.rs#L154-L168

closed time in 15 hours

bartlomieju

issue commentdenoland/deno

segfault running tools/deno_tcp.ts

Can still reproduce even with #4119 and #4151

bartlomieju

comment created time in 15 hours

delete branch bartlomieju/deno

delete branch : rewrite_io_futures

delete time in 15 hours

push eventdenoland/deno

Bartek Iwańczuk

commit sha 7fff2d2d1e73b4b7cece9c8e3c58763f5f257303

remove Read/Write futures, use poll_fn instead (#4150)

view details

push time in 15 hours

PR merged denoland/deno

remove Read/Write futures, use poll_fn instead

<!-- Before submitting a PR, please read https://deno.land/std/manual.md#contributing -->

+45 -113

0 comment

1 changed file

bartlomieju

pr closed time in 15 hours

create barnchbartlomieju/deno

branch : remove_send_isolate

created branch time in 15 hours

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha 9adcdabd6592e05d0196119deaaf642480a14a90

stream output of js unit tests (#4146)

view details

push time in 16 hours

push eventbartlomieju/deno

Bert Belder

commit sha 1a8ef36b71838bfabc633efe6ccf8d32748d7060

Upgrade to rusty_v8 v0.3.3 (#4119)

view details

push time in 16 hours

delete branch bartlomieju/deno

delete branch : stream_unit_test_output

delete time in 16 hours

push eventdenoland/deno

Bartek Iwańczuk

commit sha 9adcdabd6592e05d0196119deaaf642480a14a90

stream output of js unit tests (#4146)

view details

push time in 16 hours

PR merged denoland/deno

stream output of js unit tests

A small change that makes it so output of JS runtime unit tests is streamed to console instead of waiting for full output to print it. Doesn't change any behavior I just hated waiting on output for so long and now it's easily doable thanks to readLines from std/io/bufio.ts

+15 -16

0 comment

2 changed files

bartlomieju

pr closed time in 16 hours

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha e7898ad5dfb8d7d3d58b3a3d561cae3c4e328924

bring back flush

view details

push time in 17 hours

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha 9fa5f9a006375de093af2aa92145eae420e731c7

lint

view details

push time in 18 hours

push eventbartlomieju/deno

João Souto

commit sha e53064c4f22efeb8a4eda2712e15c77d2699a686

Port permission_prompt_tests to Rust (#4129)

view details

Kevin (Kun) "Kassimo" Qian

commit sha 5946808f66aab1983ade3db2541734bb43626a72

tty: Deno.setRaw(rid, mode) to turn on/off raw mode (#3958)

view details

Bartek Iwańczuk

commit sha 0e37184ca8084c257948d466c066fdb875ee44f3

add window.self read-only property (#4131)

view details

Ryan Dahl

commit sha 3d03d7e83b855a0eaef083f9ba249b1927eba51c

Fix flaky tests (#4134)

view details

Ryan Dahl

commit sha 3eebef39c55ead92d17bdf8016c3c58118b49936

upgrade: dprint 0.7.0 (#4130) * upgrade: dprint 0.7.0 Also make deno fmt less verbose (like cargo fmt)

view details

Ryan Dahl

commit sha 9a8d6fbd984d2c0f9775d90af64b3e95231dd21d

DenoFlags -> Flags (#4136)

view details

Yusuke Sakurai

commit sha 942e67c00b8ebdf6671fc8bb2e6c78c3ad8b3ff8

refactor(std/http): move io functions to http/io.ts (#4126)

view details

Kitson Kelly

commit sha 671f0b83be5cf9f9b6b1d667d41fd7779896a21a

Bundles can be sync or async based on top level await (#4124) Previously, bundles always utilised top level await, even if the bundled modules didn't require top level await. Now, analysis of the bundle is done and if none of the bundled modules are asynchronously executed, then the bundle as a whole will be synchronously executed. Fixes #4055 Fixes #4123

view details

Bartek Iwańczuk

commit sha 26747d2157deccc046f40fc15ff38c9d040cbd7e

Merge branch 'master' into rewrite_io_futures

view details

push time in 18 hours

push eventbartlomieju/deno

João Souto

commit sha e53064c4f22efeb8a4eda2712e15c77d2699a686

Port permission_prompt_tests to Rust (#4129)

view details

Kevin (Kun) "Kassimo" Qian

commit sha 5946808f66aab1983ade3db2541734bb43626a72

tty: Deno.setRaw(rid, mode) to turn on/off raw mode (#3958)

view details

Bartek Iwańczuk

commit sha 0e37184ca8084c257948d466c066fdb875ee44f3

add window.self read-only property (#4131)

view details

Ryan Dahl

commit sha 3d03d7e83b855a0eaef083f9ba249b1927eba51c

Fix flaky tests (#4134)

view details

Ryan Dahl

commit sha 3eebef39c55ead92d17bdf8016c3c58118b49936

upgrade: dprint 0.7.0 (#4130) * upgrade: dprint 0.7.0 Also make deno fmt less verbose (like cargo fmt)

view details

Ryan Dahl

commit sha 9a8d6fbd984d2c0f9775d90af64b3e95231dd21d

DenoFlags -> Flags (#4136)

view details

Yusuke Sakurai

commit sha 942e67c00b8ebdf6671fc8bb2e6c78c3ad8b3ff8

refactor(std/http): move io functions to http/io.ts (#4126)

view details

Kitson Kelly

commit sha 671f0b83be5cf9f9b6b1d667d41fd7779896a21a

Bundles can be sync or async based on top level await (#4124) Previously, bundles always utilised top level await, even if the bundled modules didn't require top level await. Now, analysis of the bundle is done and if none of the bundled modules are asynchronously executed, then the bundle as a whole will be synchronously executed. Fixes #4055 Fixes #4123

view details

push time in 18 hours

PR opened denoland/deno

remove Read/Write futures, use poll_fn instead

<!-- Before submitting a PR, please read https://deno.land/std/manual.md#contributing -->

+29 -113

0 comment

1 changed file

pr created time in 18 hours

create barnchbartlomieju/deno

branch : rewrite_io_futures

created branch time in 18 hours

push eventdenoland/deno

Kitson Kelly

commit sha 671f0b83be5cf9f9b6b1d667d41fd7779896a21a

Bundles can be sync or async based on top level await (#4124) Previously, bundles always utilised top level await, even if the bundled modules didn't require top level await. Now, analysis of the bundle is done and if none of the bundled modules are asynchronously executed, then the bundle as a whole will be synchronously executed. Fixes #4055 Fixes #4123

view details

push time in 19 hours

PR merged denoland/deno

Reviewers
Bundles can be sync or async based on top level await

Previously, bundles always utilised top level await, even if the bundled modules didn't require top level await. This PR performs analysis of the bundle and if none of the bundled modules are asynchronously executed, then the bundle as a whole will be synchronously instantiated.

This does mean though that if a bundled module uses top level await, that will bubble up into the bundle, and currently be incompatible with the browser. TLA in bundles though won't work until #4100 is merged.

Also this also introduces some minor improvements in the bundle loader which make it even more terse and cryptic in order to save space.

Fixes #4055 Fixes #4123

+58 -36

4 comments

4 changed files

kitsonk

pr closed time in 19 hours

issue closeddenoland/deno

feat: bundles always use TLA, though browsers don't support TLA

As point out in https://github.com/denoland/deno/issues/4031#issuecomment-590178526 the changes to the bundles to support TLA in TypeScript 3.8 also forced all bundles to require support of TLA, even if none of the modules in the bundle required TLA. We should fix this since browser support for TLA seems a way off.

closed time in 19 hours

kitsonk

issue closeddenoland/deno

[bug] default function in deno bundle is not a function

v0.34.0

ERROR:

error: Uncaught Error: Uncaught TypeError: customFn_js_1.default is not a function ► $deno$/workers.ts:169:17 at poll ($deno$/workers.ts:169:17)

single function in the .js file to bundle:

export default function cubeIt(req, res) {
  const result = 3*3*3;
  res.send({ date: new Date(), result });
}

works in v0.32.0 (System vs AMD for bundling)

@kitsonk the function identifier is no longer "file:///...", but doubt that change you have introduced yesterday has anything to do with described behavior, probably the offender is hiding here

closed time in 19 hours

alexanderGalushka

issue commentdenoland/deno

segfault running tools/deno_tcp.ts

Possibly related: #4047

bartlomieju

comment created time in 19 hours

issue openeddenoland/deno

segfault running tools/deno_tcp.ts

▶ target/release/deno --allow-net tools/deno_tcp.ts 127.0.0.1:4544
Listening on 127.0.0.1:4544
[1]    32342 segmentation fault  target/release/deno --allow-net tools/deno_tcp.ts 127.0.0.1:4544
▶ wrk -d 10 --latency http://127.0.0.1:4544
Running 10s test @ http://127.0.0.1:4544
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   548.03us    2.16ms  43.42ms   95.17%
    Req/Sec    32.28k     3.29k   36.54k    81.50%
  Latency Distribution
     50%  132.00us
     75%  138.00us
     90%  208.00us
     99%   10.05ms
  642599 requests in 10.01s, 31.25MB read
Requests/sec:  64198.13
Transfer/sec:      3.12MB

Output from rust-lldb

▶ rust-lldb target/release/deno --  --allow-net tools/deno_tcp.ts 127.0.0.1:4544
(lldb) command script import "/Users/biwanczuk/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/etc/lldb_rust_formatters.py"
(lldb) type summary add --no-value --python-function lldb_rust_formatters.print_val -x ".*" --category Rust
(lldb) type category enable Rust
(lldb) target create "target/release/deno"
Current executable set to 'target/release/deno' (x86_64).
(lldb) settings set -- target.run-args  "--allow-net" "tools/deno_tcp.ts" "127.0.0.1:4544"
(lldb) r
Process 25595 launched: '/Users/biwanczuk/dev/deno/target/release/deno' (x86_64)
Listening on 127.0.0.1:4544
deno was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 25595 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
    frame #0: 0x0000000100983850 deno`::~BackingStore() at backing-store.cc:197:16 [opt]
Target 0: (deno) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
  * frame #0: 0x0000000100983850 deno`::~BackingStore() at backing-store.cc:197:16 [opt]
    frame #1: 0x0000000100726327 deno`::__on_zero_shared() [inlined] operator() at memory:2378:5 [opt]
    frame #2: 0x000000010072631a deno`::__on_zero_shared() at memory:3551 [opt]
    frame #3: 0x000000010070df87 deno`::std__shared_ptr__v8__BackingStore__reset() [inlined] __release_shared at memory:3455:9 [opt]
    frame #4: 0x000000010070df7e deno`::std__shared_ptr__v8__BackingStore__reset() [inlined] __release_shared at memory:3497 [opt]
    frame #5: 0x000000010070df7e deno`::std__shared_ptr__v8__BackingStore__reset() [inlined] ~shared_ptr at memory:4226 [opt]
    frame #6: 0x000000010070df7e deno`::std__shared_ptr__v8__BackingStore__reset() [inlined] ~shared_ptr at memory:4224 [opt]
    frame #7: 0x000000010070df7e deno`::std__shared_ptr__v8__BackingStore__reset() [inlined] reset at memory:4361 [opt]
    frame #8: 0x000000010070df7e deno`::std__shared_ptr__v8__BackingStore__reset() at binding.cc:616 [opt]
    frame #9: 0x000000010004ef1f deno`core::ptr::real_drop_in_place::he7e67422a199d39e + 15
    frame #10: 0x000000010017aedb deno`core::ptr::real_drop_in_place::hbdfcceccbb97d59a + 43
    frame #11: 0x000000010005bbc3 deno`core::ptr::real_drop_in_place::h00649f140172f629 + 19
    frame #12: 0x00000001006e35c3 deno`core::ptr::real_drop_in_place::h746224c518aaf667 + 19
    frame #13: 0x000000010013e578 deno`_$LT$futures_util..stream..futures_unordered..FuturesUnordered$LT$Fut$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h83ba73cdf6a6c66b + 168
    frame #14: 0x0000000100177475 deno`core::ptr::real_drop_in_place::h6f2a5c2c19fa9d6c + 245
    frame #15: 0x0000000100179191 deno`core::ptr::real_drop_in_place::h95854fbe06aad049 + 33
    frame #16: 0x0000000100178ab9 deno`core::ptr::real_drop_in_place::h8f16570a666a4c5e (.llvm.7121938994333845487) + 41
    frame #17: 0x00000001001a3095 deno`_$LT$std..future..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hef3e620d5c98d44b + 1301
    frame #18: 0x000000010000f8ad deno`tokio::runtime::basic_scheduler::BasicScheduler$LT$P$GT$::block_on::h7a3583bb8574e0fe + 157
    frame #19: 0x00000001000357a0 deno`tokio::runtime::context::enter::h18c96a494c77a009 + 176
    frame #20: 0x00000001001f9eac deno`deno::tokio_util::run_basic::h99fc1fd901132822 + 124
    frame #21: 0x000000010006a860 deno`deno::main::h795ed52523c79963 + 9488
    frame #22: 0x0000000100000c06 deno`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hdd71bd3eeba61916 + 6
    frame #23: 0x00000001011a5578 deno`std::panicking::try::do_call::h77eb563f55a56484 [inlined] std::rt::lang_start_internal::_$u7b$$u7b$closure$u7d$$u7d$::h04f5bc1b8502155f at rt.rs:52:12 [opt]
    frame #24: 0x00000001011a556c deno`std::panicking::try::do_call::h77eb563f55a56484 at panicking.rs:292 [opt]
    frame #25: 0x00000001011afa5f deno`__rust_maybe_catch_panic at lib.rs:78:7 [opt]
    frame #26: 0x00000001011a5e8e deno`std::rt::lang_start_internal::h3d261fac4b6382f2 [inlined] std::panicking::try::h989c79f60ffdf02a at panicking.rs:270:12 [opt]
    frame #27: 0x00000001011a5e5b deno`std::rt::lang_start_internal::h3d261fac4b6382f2 [inlined] std::panic::catch_unwind::hd3f56528916c87b0 at panic.rs:394 [opt]
    frame #28: 0x00000001011a5e5b deno`std::rt::lang_start_internal::h3d261fac4b6382f2 at rt.rs:51 [opt]
    frame #29: 0x0000000100000bf9 deno`main + 41
    frame #30: 0x00007fff71f82cc9 libdyld.dylib`start + 1
    frame #31: 0x00007fff71f82cc9 libdyld.dylib`start + 1
(lldb)

I managed to get same segfault running tools/deno_tcp.ts using deno v0.33.0

created time in 19 hours

issue commentdenoland/deno

019_media_types is flaky again

Sure, I'll be rewriting tools/http_server.py using warp tomorrow

ry

comment created time in 20 hours

PR opened denoland/deno

stream output of js unit tests

A small change that makes it so output of JS runtime unit tests is streamed to console instead of waiting for full output to print it. Doesn't change any behavior I just hated waiting on output for so long and now it's easily doable thanks to readLines from std/io/bufio.ts

+15 -16

0 comment

2 changed files

pr created time in a day

create barnchbartlomieju/deno

branch : stream_unit_test_output

created branch time in a day

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha 0deb7e19af640d8d8ee2b552f0de870123faf383

fix2

view details

push time in a day

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha 9880b3fbfb6545c5acaa8c4e72f6d64a2079c2b2

fmt

view details

push time in a day

PR opened denoland/deno

[WIP] dynamic circular imports

https://github.com/denoland/deno/issues/3736

For now, just test case showcasing the bug.

+11 -0

0 comment

6 changed files

pr created time in a day

create barnchbartlomieju/deno

branch : dynamic_circular_import

created branch time in a day

issue commentdenoland/deno

New cache layout broke VS code plugin

This might be stupid, but why do we actually hash the file names in the first place? To make sure we have a valid set of characters for the filesystem right? Not for security.

That's right

Couldn't we just use base64 encoding or a fast terrible encryption algorithm? The name doesn't need to be one way hashed because it needs to be secure - it just needs to be rewritten to valid filesystem chars.

base64 is reversible so that would fix the issue right?

Now that I think about it, it might actually work, but it would rather be Base32 - that way we'd handle both case-sensitive and case-insensitive file systems.

ry

comment created time in a day

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha 85ed23bcfa10f34b25dd1c442475773b4307a418

fix

view details

push time in a day

issue commentdenoland/deno

New cache layout broke VS code plugin

@axetroy yes, I discussed this issue with @ry

There's one thing I am not sure about:

# Map URL to filepath
deno info https://deno.land/std/path/mod.ts --cache-only --output=json

Above example is self-explanatory and easy to implement; what about the one below:

# Map filepath to URL
deno info $DENO_DIR/deps/https/deno.land/[hash] --cache-only --output=json

Since we want to privatize DENO_DIR then why do you need "reverse lookup"? Was that mistakenly put there, or you actually need the same functionality for "hashed" filenames?

That's also ref for #4140

ry

comment created time in a day

PR opened denoland/deno

rewrite normalize_path

Closes #4133

CC @piscisaureus

+56 -32

0 comment

3 changed files

pr created time in a day

create barnchbartlomieju/deno

branch : normalize_path_components

created branch time in a day

pull request commentdenoland/deno

WIP dependency inspector using swc compiler

Ref #3069

ry

comment created time in a day

issue commentdenoland/deno

Permission denied on Deno.open() on Windows directories

@cknight Deno.open was meant for files and as described by @hazae41 to be used with Deno.read()/Deno.write(). Take a look at OpenOptions::open for it depth look what errors can be returned (besides Deno-specific ones).

I am not sure how can you "open a directory", can you elaborate on that?

cknight

comment created time in a day

Pull request review commentdenoland/deno

Add clippy to /tools/lint.py

 def main():     os.chdir(root_path)     eslint()     pylint()+    clippy()

It'd be awesome if tools/lint.py supported running single linter (--rs), just like tools/format.py: https://github.com/denoland/deno/blob/9a8d6fbd984d2c0f9775d90af64b3e95231dd21d/tools/format.py#L13-L33

jsouto18

comment created time in a day

push eventdenoland/deno

Ryan Dahl

commit sha 9a8d6fbd984d2c0f9775d90af64b3e95231dd21d

DenoFlags -> Flags (#4136)

view details

push time in a day

PR merged denoland/deno

DenoFlags -> Flags

merge on approval

+186 -189

0 comment

7 changed files

ry

pr closed time in a day

push eventdenoland/deno

Ryan Dahl

commit sha 3eebef39c55ead92d17bdf8016c3c58118b49936

upgrade: dprint 0.7.0 (#4130) * upgrade: dprint 0.7.0 Also make deno fmt less verbose (like cargo fmt)

view details

push time in a day

PR merged denoland/deno

upgrade: dprint 0.7.0

Also make deno fmt less verbose (like cargo fmt)

<!-- Before submitting a PR, please read https://deno.land/std/manual.md#contributing -->

+34 -36

0 comment

4 changed files

ry

pr closed time in a day

issue closeddenoland/deno

019_media_types is flaky again

Experienced here https://github.com/denoland/deno/pull/4035/checks?check_run_id=457778529 but I've also seen elsewhere.

I think it might be related to the changes to the test server in 2e7d449623b7faee8feb0a2970e0d6bb7c66b409. Or maybe the changes in e6167c78134182c45689bda7bcb12af05009349c.

closed time in a day

ry

push eventdenoland/deno

Ryan Dahl

commit sha 3d03d7e83b855a0eaef083f9ba249b1927eba51c

Fix flaky tests (#4134)

view details

push time in a day

PR merged denoland/deno

Fix flaky tests

I think this fixes #4049

+27 -28

0 comment

2 changed files

ry

pr closed time in a day

push eventdenoland/deno

Bartek Iwańczuk

commit sha 0e37184ca8084c257948d466c066fdb875ee44f3

add window.self read-only property (#4131)

view details

push time in a day

delete branch bartlomieju/deno

delete branch : global_this_self

delete time in a day

PR merged denoland/deno

add window.self read-only property

https://developer.mozilla.org/en-US/docs/Web/API/Window/self

Closes #650

+15 -0

1 comment

3 changed files

bartlomieju

pr closed time in a day

issue closeddenoland/deno

Define the "self" global name

The most widely available global is self as it is in both workers and in the main window in browsers.

It would be very useful to define this global for cross-platform support.

As a further point it could even be worth having it replace window since typeof window is typically done for an isBrowser detection, while the same cannot necessarily be said of self.

closed time in a day

guybedford

Pull request review commentdenoland/deno

upgrade: dprint 0.7.0

 fn check_source_files(     };     Err(       crate::op_error::OpError::other(format!(-        "Found {} not formatted {} in {:?}",+        "Found {} not formatted in {}",

"in" not needed

ry

comment created time in 2 days

push eventbartlomieju/deno

Bartek Iwańczuk

commit sha cdef979c2988430b1a45c5de4a6317414e14be19

add tests

view details

push time in 2 days

issue openeddenoland/deno

replace PathBuf.canonicalize() with removal of "./" and "../" parts

PathBuf.canonicalize() resolves symlinks which in almost all our current use cases is not desired. It should be replaced with this bit as a separate utility: https://github.com/denoland/deno/blob/e53064c4f22efeb8a4eda2712e15c77d2699a686/cli/fs.rs#L154-L168

created time in 2 days

pull request commentdenoland/deno

add window.self read-only property

CC @guybedford

bartlomieju

comment created time in 2 days

PR opened denoland/deno

Reviewers
add window.self read-only property

https://developer.mozilla.org/en-US/docs/Web/API/Window/self

Closes #650

+3 -0

0 comment

2 changed files

pr created time in 2 days

create barnchbartlomieju/deno

branch : global_this_self

created branch time in 2 days

push eventbartlomieju/deno

Matthew Lennon

commit sha c74684ed901b7313c317aa32aaad92841b3cd6d3

update build instructions for windows (#4027)

view details

Bartek Iwańczuk

commit sha 5da7c7df1d8649ddb5628b4dc830aa8c23ccb488

disable std/examples/chat tests for windows (#4109)

view details

Kitson Kelly

commit sha 2b7e28b591a6947f76ddf9a53f49eec8f1accc0f

feat: Add Deno.formatDiagnostics (#4032)

view details

Nayeem Rahman

commit sha db597055958a9dbc9c8e633e01d9229b55d1d6ef

doc: Remove old link to deno types output (#4111)

view details

Bartek Iwańczuk

commit sha e1687c0a4616e90d4bbde42b13a0356a7f6a1e7d

rename Deno.Err -> Deno.errors (#4093)

view details

Ryan Dahl

commit sha f4fd433e1aa6c8c086c38df39c39bec23c56a29c

Add Deno.Err change missing from previous commit (#4113)

view details

Suguru Motegi

commit sha 79c6e052ed29b9b78c31f2e01da3b91f76b6a017

fix: createSecKey logic (#4063)

view details

Ryan Dahl

commit sha 4005174f6c584fd5200dbe450b269a7f0de487ce

Revert "Remove ansi_term dependency" Broke colors https://github.com/denoland/deno/issues/4112#issuecomment-590545385 This reverts commit c250778704a4e0065e54e6bf6ca6c39d556a6d8d.

view details

João Souto

commit sha ac933dd1b89a20b2e63b5d6edc5b3d0c549335bc

port tools/repl_test.py to Rust (#4096) ref #2988

view details

João Souto

commit sha 5c1ab080cd8989c3ac2b3a8c919fe14052feac79

Remove ansi_term dependency (#4116)

view details

Yusuke Sakurai

commit sha 22f88b9f37b7e233fd4f15b73d5a2096224e56dc

fix: [http] Consume unread body and trailers before reading next request (#3990) - Added `ServerRequest.finalize()`: consuming all unread body stream and trailers. - This is cleanup method for reading next request from same keep-alive connection. - Needed when handler didn't consume all body and trailers even after responding. - refactor: `ServerRequest._bodyStream()`, `ServerRequestBody` are removed. - Now using `bodyReader()` and `chunkedBodyReader()` instead. - fix: Trailers should only be read `transfer-encoding` is `chunked` and `trailer` header is set and its value is valid. - fix: use `Headers.append()` on reading trailers. - fix: delete `trailer` field from headers after reading trailers. - reorg: Several functions related to IO are moved into `http/io.ts`

view details

Kitson Kelly

commit sha 805992b14a65a6dbfb857dea6d9b657477de043d

Fix issues with JavaScript importing JavaScript. (#4120) Fixes #3852 Fixes #4117

view details

Ryan Dahl

commit sha 91b606aaae23bcb790b55adc5fe70a182a37d564

Clean up how we use opIds (#4118)

view details

Nayeem Rahman

commit sha 14e7e1e3af43b2322a26fcc542428c8f1af4460d

fix: Resolve makeTemp* paths from CWD (#4104)

view details

Ryan Dahl

commit sha fe181e2b4850a83344f0aa5840fffe97c8cb8839

ci: Use fetch-depth: 5 (#4127)

view details

Ryan Dahl

commit sha f47f3f96726a94dd2df5d68e3c786b5079089dd4

Remove _async from method names since _sync are gone (#4128)

view details

Kitson Kelly

commit sha be787d09d537d6c1a6846168613dd0defe069448

upgrade: TypeScript 3.8 (#4100)

view details

push time in 2 days

push eventdenoland/deno

Ryan Dahl

commit sha f47f3f96726a94dd2df5d68e3c786b5079089dd4

Remove _async from method names since _sync are gone (#4128)

view details

push time in 2 days

PR merged denoland/deno

Remove _async from method names since _sync are gone

merge on approval

+81 -90

0 comment

11 changed files

ry

pr closed time in 2 days

push eventdenoland/deno

Ryan Dahl

commit sha fe181e2b4850a83344f0aa5840fffe97c8cb8839

ci: Use fetch-depth: 5 (#4127)

view details

push time in 2 days

PR merged denoland/deno

ci: Use fetch-depth: 5

see https://github.com/denoland/deno/runs/467426697

git checkout --progress --force 91b606aaae23bcb790b55adc5fe70a182a37d564
##[error]fatal: reference is not a tree: 91b606aaae23bcb790b55adc5fe70a182a37d564
##[warning]Git checkout failed on shallow repository, this might because of git fetch with depth '1' doesn't include the checkout commit '91b606aaae23bcb790b55adc5fe70a182a37d564'.
Removed matchers: 'checkout-git'
##[error]Git checkout failed with exit code: 128
##[error]Exit code 1 returned from process: file name '/home/runner/runners/2.165.2/bin/Runner.PluginHost', arguments 'action "GitHub.Runner.Plugins.Repository.v1_0.CheckoutTask, Runner.Plugins"'.

merge on approval

+4 -1

0 comment

1 changed file

ry

pr closed time in 2 days

Pull request review commentdenoland/deno

reorg: [http] move io functions to http/io.ts

+interface DenoTest {+  (definition: Deno.TestDefinition): void;+  (title: string, body: Deno.TestFunction): void;+  (body: Deno.TestFunction): void;+}++/** Add label as prefix for output text of Deno.test  */+export function testGroup(label: string): DenoTest {

If the only purpose of this method is too provide a prefix to tests then I'm very much against it; just copy-paste prefix several times. Otherwise please revisit #4092 :))

keroxp

comment created time in 2 days

Pull request review commentdenoland/deno

Clean up how we use opIds

 export function writeSync(rid: number, p: Uint8Array): number {  *  */ export async function write(rid: number, p: Uint8Array): Promise<number> {-  const result = await sendAsyncMinimal(dispatch.OP_WRITE, rid, p);+  if (OP_WRITE < 0) {+    OP_WRITE = OPS_CACHE["op_write"];+  }

I still suggest to test this path using regular lookup, but that can be done as an experiment in separate PR

ry

comment created time in 2 days

Pull request review commentdenoland/deno

Clean up how we use opIds

 pub fn op_write(   zero_copy: Option<ZeroCopyBuf>, ) -> Pin<Box<MinimalOp>> {   debug!("write rid={}", rid);-  let zero_copy = match zero_copy {-    None => return futures::future::err(no_buffer_specified()).boxed_local(),-    Some(buf) => buf,-  };--  let fut = write(state, rid as u32, zero_copy);--  fut.boxed_local()+  if zero_copy.is_none() {+    return futures::future::err(no_buffer_specified()).boxed_local();+  }+  // TODO(ry) Probably poll_fn can be used here and the Write struct eliminated.

Agreed 👍

ry

comment created time in 2 days

Pull request review commentdenoland/deno

Clean up how we use opIds

 fn send(     unsafe { &mut *(scope.isolate().get_data(0) as *mut Isolate) };   assert!(!deno_isolate.global_context.is_empty()); -  let op_id = v8::Local::<v8::Uint32>::try_from(args.get(0))-    .unwrap()-    .value() as u32;+  let r = v8::Local::<v8::Uint32>::try_from(args.get(0));++  if let Err(err) = r {+    let s = format!("bad op id {}", err);+    let msg = v8::String::new(scope, &s).unwrap();+    scope.isolate().throw_exception(msg.into());+    return;+  }

Fixes #4122

ry

comment created time in 2 days

issue openeddenoland/deno

Handle missing opId gracefully

This has been coming up several times already; I need to finally fix it. The problem is that we use unwrap when trying to cast opId to Uint32 - this panics if opId is undefined. Such situation should be handled gracefully by returning error to JS or adding assert on opId in Deno.core.dispatch - whichever will have smaller impact on performace.

https://github.com/denoland/deno/pull/4118/checks?check_run_id=466535527

##[error]thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: TryFromTypeError { expected_type: "Uint32" }', src/libcore/result.rs:1188:5
stack backtrace:
   0:        0x104176eb5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h109831b4e69a3cdc
   1:        0x10419e4d0 - core::fmt::write::haefb4093ced4abcf
   2:        0x10417089b - std::io::Write::write_fmt::h32eef7193f012831
   3:        0x104179393 - std::panicking::default_hook::{{closure}}::hd11104060d683e7f
   4:        0x10417909a - std::panicking::default_hook::h3ac89e0bbec67847
   5:        0x104179a3b - std::panicking::rust_panic_with_hook::h497844b5b7d1708e
   6:        0x1041795d9 - rust_begin_unwind
   7:        0x1041bf4ec - core::panicking::panic_fmt::h2877d31f4cece04d
   8:        0x1041bf5c9 - core::result::unwrap_failed::h41045cf6a251332f
   9:        0x1036a1ddf - deno_core::bindings::send::h47170700ae11a5f0
  10:        0x1036b9e6d - <extern "C" fn(A0) .> R as rusty_v8::support::CFnFrom<F>>::mapping::c_fn::h1852c76360317199
  11:        0x10372af03 - _ZN2v88internal25FunctionCallbackArguments4CallENS0_15CallHandlerInfoE
  12:        0x10372a37d - _ZN2v88internal12_GLOBAL__N_119HandleApiCallHelperILb0EEENS0_11MaybeHandleINS0_6ObjectEEEPNS0_7IsolateENS0_6HandleINS0_10HeapObjectEEESA_NS8_INS0_20FunctionTemplateInfoEEENS8_IS4_EENS0_16BuiltinArgumentsE
  13:        0x103729911 - _ZN2v88internalL26Builtin_Impl_HandleApiCallENS0_16BuiltinArgumentsEPNS0_7IsolateE
fatal runtime error: failed to initiate panic, error 5

CC @ry

created time in 2 days

Pull request review commentdenoland/deno

Clean up how we use opIds

 export function start(preserveDenoNamespace = true, source?: string): Start {   // First we send an empty `Start` message to let the privileged side know we   // are ready. The response should be a `StartRes` message containing the CLI   // args and other info.-  const s = sendSync(dispatch.OP_START);+  const s = sendSync("op_start");

Removing op_ prefix from JS and Rust will be done in follow up PR as I presume?

ry

comment created time in 2 days

Pull request review commentdenoland/deno

Clean up how we use opIds

 interface Start {   arch: Arch; } +export let OPS_CACHE: { [name: string]: number };+ // TODO(bartlomieju): temporary solution, must be fixed when moving // dispatches to separate crates export function initOps(): void {-  const ops = core.ops();-  for (const [name, opId] of Object.entries(ops)) {-    const opName = `OP_${name.toUpperCase()}`;-    // Assign op ids to actual variables-    // TODO(ry) This type casting is gross and should be fixed.-    ((dispatch as unknown) as { [key: string]: number })[opName] = opId;-    core.setAsyncHandler(opId, dispatch.getAsyncHandler(opName));+  OPS_CACHE = core.ops();+  for (const [name, opId] of Object.entries(OPS_CACHE)) {+    core.setAsyncHandler(opId, dispatch.getAsyncHandler(name));

:+1:

ry

comment created time in 2 days

delete branch bartlomieju/deno

delete branch : deno_errors

delete time in 3 days

issue commentdenoland/deno

Move I/O interfaces into deno_std

Update Feb 24, 2020; closing as it will come up when vetting std

ry

comment created time in 3 days

issue closeddenoland/deno

Move I/O interfaces into deno_std

Like Reader, Writer - everything in https://github.com/denoland/deno/blob/master/js/io.ts

closed time in 3 days

ry

pull request commentdenoland/deno

disable std/examples/chat tests for windows

Ref #4107

bartlomieju

comment created time in 3 days

PR opened denoland/deno

Reviewers
disable std/examples/chat tests for windows

Ref https://github.com/denoland/deno/issues/4108

Temporarly disabling std/examples/chat tests for Windows as CI on master went red because of it.

+26 -23

0 comment

1 changed file

pr created time in 3 days

create barnchbartlomieju/deno

branch : disable_std_examples_tests

created branch time in 3 days

PR closed denoland/deno

Broken link

The link at line 177 is broken Replacing: https://github.com/denoland/deno/blob/master/cli/js/lib.deno_runtime.d.ts for :

<!-- Before submitting a PR, please read https://deno.land/std/manual.md#contributing -->

+1 -1

4 comments

1 changed file

papaponmx

pr closed time in 3 days

pull request commentdenoland/deno

Broken link

Thanks, but it seems it's already updated in one of the other PRs

papaponmx

comment created time in 3 days

PR closed denoland/deno

add using plugins section to std manual

<!-- Before submitting a PR, please read https://deno.land/std/manual.md#contributing --> Resolves #3449 However, I am curious to know where I can learn more about plugins so that this section may improve a bit.

+5 -0

3 comments

1 changed file

nonnontrivial

pr closed time in 3 days

pull request commentdenoland/deno

add using plugins section to std manual

Thanks @nonnontrivial but this is not very much documentation, we'll try to address it soon.

nonnontrivial

comment created time in 3 days

PR closed denoland/deno

installer: add uninstall subcommand in Rust

Continuation of #3804 , now in Rust.

+336 -5

8 comments

3 changed files

kevinkassimo

pr closed time in 3 days

pull request commentdenoland/deno

installer: add uninstall subcommand in Rust

Thanks for the patch @kevinkassimo but seems it superfluous to have another subcommand/flag for something so trivial when you can just rm it

kevinkassimo

comment created time in 3 days

PR closed denoland/deno

Add the `require` function without creating it

A bit tricky but it would allow the following:

import { require } from "https://deno.land/std/node/module.ts";
const leftPad = require("left-pad");

Not tested!

<!-- Before submitting a PR, please read https://deno.land/std/manual.md#contributing -->

+21 -0

2 comments

1 changed file

nuxodin

pr closed time in 3 days

pull request commentdenoland/deno

Add the `require` function without creating it

Thanks for your patch, but we need a more robust solution

nuxodin

comment created time in 3 days

PR closed denoland/deno

[WIP] REPL: TS support

Ref #1158

  • can execute TS in REPL
  • uses public Deno.compile() API to compile TS to JS - it spawns new compiler on each loop - it's not instant, but it's not that bad <1s (keeping compiler alive will definitely help, got my eyes on it)
  • [TODO] TS diagnostic that are terminal errors are not pretty printed
  • [TODO] code is a mess
  • [TODO] copy-pasted file from std
+299 -37

2 comments

2 changed files

bartlomieju

pr closed time in 3 days

pull request commentdenoland/deno

[WIP] console.log() should stringify objects exactly as Node does

@mhvsa notified that he'll try to land this PR this week

mhvsa

comment created time in 3 days

push eventafinch7/deno

Bartek Iwańczuk

commit sha 14be84702cbeba04e1cef4b01b349320e23040f5

fmt

view details

push time in 3 days

PR closed denoland/deno

std(http/server): close open connections on server close

Fixes #3390

If you call server.close() on a server that has pending connections then Deno process won't exit until next request comes over for each connection.

This PR ensures that all open connections that server owns get properly closed when server is closed.

+72 -3

7 comments

3 changed files

bartlomieju

pr closed time in 3 days

pull request commentdenoland/deno

std(http/server): close open connections on server close

Needs more investigation, closing for now

bartlomieju

comment created time in 3 days

PR closed denoland/deno

worker: add option to share resources

Add an option shareResources (default false) that when true, child worker would be able to share parent resource table and interact with corresponding resource id.

This allows simple connection-based http server clustering using workers (With this PR I have attempted a minimal worker cluster, and seems to show better performance with large amount of parallel connections compared to basic single worker case)

+74 -12

7 comments

12 changed files

kevinkassimo

pr closed time in 3 days

pull request commentdenoland/deno

worker: add option to share resources

Thanks @kevinkassimo, I'm gonna close it for now, but let's revisit this topic after we figure out workers fully (structured clone, libs).

kevinkassimo

comment created time in 3 days

PR closed denoland/deno

Bump checkout action version
+8 -4

7 comments

1 changed file

imbsky

pr closed time in 3 days

pull request commentdenoland/deno

Bump checkout action version

Thanks @imbsky, but we're gonna stick with v1 for now

imbsky

comment created time in 3 days

PR closed denoland/deno

Bypass destructor of platform at exit with custom exit implementation

Closes #3498

See https://github.com/denoland/deno/issues/3498#issuecomment-565780472 and https://github.com/denoland/deno/issues/3498#issuecomment-565784938

Bypass destructor running on call to exit() (which causes infinitely sleeping pthread_join attempt) by implementing force_exit() that flushes stdout/stderr messages and then calling _exit().

Should we propagate this implementation to other std::process::exit() calls?

+41 -1

2 comments

6 changed files

kevinkassimo

pr closed time in 3 days

more