Kitson Kelly
00b655add1
Add globalThis definition to runtime ( #1534 )
2019-01-16 17:57:15 -05:00
Yoshiya Hinosawa
dd08165528
fix: fix fetch tests ( #1535 )
2019-01-16 01:18:01 -05:00
Kevin (Kun) "Kassimo" Qian
431e455642
Kill all pending accepts when TCP listener is closed ( #1517 )
2019-01-15 20:36:51 -05:00
Kitson Kelly
7d08db2191
Fix JSON Modules ( #1514 )
2019-01-14 00:18:42 -05:00
Kitson Kelly
de9c67a702
Cleanup compiler and re-enable tests ( #1512 )
2019-01-13 23:44:11 -05:00
Ryan Dahl
3c1a0ad19e
Properly parse network addresses. ( #1515 )
2019-01-13 22:14:59 -05:00
Joshua Flancer
fda604ff05
Added rid to Conn interface ( #1513 )
2019-01-13 19:54:30 -05:00
Yoshiya Hinosawa
3b59323e42
chore: re-enable test of website ( #1508 )
2019-01-13 10:42:08 -05:00
JaePil Jung
02792d58d4
Remove unnecessary async keyword in test file ( #1507 )
2019-01-13 09:39:23 -05:00
JaePil Jung
6c9695a528
Remove unused imports ( #1503 )
2019-01-12 09:16:18 -05:00
Ryan Dahl
cca3a9562b
Re-enable --recompile ( #1492 )
2019-01-09 20:52:13 -05:00
Ryan Dahl
26bc251c58
Upgrade deno_std submodule.
2019-01-10 02:45:18 +01:00
Ryan Dahl
0ceb554343
Native ES modules ( #1460 )
...
* Native ES modules
This is a major refactor of internal compiler.
Before: JS and TS both were sent through the typescript compiler where
their imports were parsed and handled. Both compiled to AMD JS and
finally sent to V8
Now: JS is sent directly into V8. TS is sent through the typescript
compiler, but tsc generates ES modules now instead of AMD. This
generated JS is then dumped into V8.
This should much faster for pure JS code. It may improve TS compilation
speed.
In the future this allows us to separate TS out of the runtime heap and
into its own dedicated snapshot. This will result in a smaller runtime
heap, and thus should be faster.
Some tests were unfortunately disabled to ease landing this patch:
1. compiler_tests.ts which I intend to bring back in later commits.
2. Some text_encoding_test.ts tests which made the file invalid utf8.
See PR for a discussion.
Also worth noting that this is necessary to support WASM
2019-01-09 12:59:46 -05:00
Ryan Dahl
6f79ad721a
Minimal Worker support ( #1476 )
...
This adds the ability to spawn additional Isolates from Rust and send
and receive messages from them. This is preliminary work to support
running the typescript compiler in a separate isolate and thus support
native ES modules. Ref #975 .
2019-01-08 14:44:06 -05:00
Yoshiya Hinosawa
cae71ed841
Implement console.groupCollapsed ( #1452 )
...
This implementation of groupCollapsed is intentionally different
from the spec defined by whatwg. See the conversation in #1355
and #1363 .
2019-01-06 16:34:52 -05:00
Ryan Dahl
1b7938e3aa
Add libdeno.builtinModules ( #1463 )
...
This is needed to support builtin modules like
import { open } from "deno"
2019-01-06 16:32:21 -05:00
Ryan Dahl
f37d67e809
Revert "Split Runner from Compiler" ( #1462 )
...
This reverts commit 3d03f5b0cb
.
2019-01-06 14:17:13 -05:00
Ryan Dahl
57301909cd
Add deno.pid ( #1464 )
2019-01-06 14:16:42 -05:00
Adam Conrad
f44322128b
Add Event web API ( #1059 )
2019-01-05 10:02:44 -05:00
Ryan Dahl
ea6c9f2f36
Revert "use byte array instead of string for code fetch ( #1307 )" ( #1455 )
...
This reverts commit e976b3e041
.
There is nothing technically wrong with this commit, but it's adding
complexity to a big refactor (native ES modules #975 ). Since it's not
necessary and simply a philosophical preference, I will revert for now
and try to bring it back later.
2019-01-03 22:11:01 -05:00
Satya Rohith
6be1164d89
Remove assertion for empty modules ( #1450 )
2019-01-03 22:09:07 -05:00
Ryan Dahl
4f62a56f90
Move testing module to deno_std ( #1451 )
...
Upgrades deno_std submodule.
2019-01-03 14:55:22 -05:00
Kevin (Kun) "Kassimo" Qian
8d452d74fa
Support more fetch init body types ( #1449 )
2019-01-03 06:41:20 -05:00
bokuweb
0834478154
fix: use unknown instead of any in testing
2019-01-02 20:22:44 -05:00
Ryan Dahl
2c477dd7cb
Happy new year!
2019-01-02 02:37:08 +01:00
Ryan Dahl
68e009d1d8
Upgrade deno_std
2018-12-31 19:38:52 +00:00
迷渡
48e29c3c86
make Headers
follow spec ( #1427 )
2018-12-29 12:30:11 +00:00
Yoshihisa Mochihara
3d9f46a6cf
Rename file.ts to dom_file.ts ( #1423 )
2018-12-27 09:45:58 +00:00
迷渡
5e518b7417
check runtime FormData
and Headers
params ( #1415 )
2018-12-27 02:12:55 +00:00
Ryan Dahl
32e1641628
deno_net -> deno_std rename
...
Also don't format external js/deps
2018-12-24 11:31:17 -05:00
迷渡
c002ea10fa
fix FormData.name ( #1412 )
2018-12-24 11:18:01 -05:00
迷渡
7d0e1050d3
runtime arg check URLSearchParams
( #1390 )
2018-12-23 23:07:58 -05:00
Ryan Dahl
6cc998f28b
Remove support for extensionless import ( #1396 )
2018-12-23 11:44:08 -05:00
Kevin (Kun) "Kassimo" Qian
cbee2895b3
Implement Body.formData
for fetch ( #1393 )
2018-12-21 17:09:53 -05:00
Kitson Kelly
317fddbbf8
Improve handling of non-coercable objects in assertEqual ( #1385 )
2018-12-21 06:03:27 -05:00
Kevin (Kun) "Kassimo" Qian
e4be1209b6
Avoid fetch segfault on empty Uri ( #1394 )
2018-12-21 04:47:09 -05:00
Kevin (Kun) "Kassimo" Qian
419000d556
Expose deno.inspect ( #1378 )
2018-12-19 22:08:49 -05:00
Kevin (Kun) "Kassimo" Qian
57338d98be
Add illegal header name and value guards ( #1375 )
2018-12-19 02:57:23 -05:00
迷渡
3dbd18af09
Fix URLSearchParams set() and constructor() ( #1368 )
2018-12-18 20:14:59 -05:00
Kitson Kelly
91a41ca124
Add URL implementation ( #1359 )
2018-12-17 20:07:47 -05:00
迷渡
04076465cf
Add console.count and console.time ( #1358 )
2018-12-17 11:54:33 -05:00
迷渡
769994bd4e
console.assert
should not throw error (#1335 )
2018-12-14 14:36:08 -05:00
Kevin (Kun) "Kassimo" Qian
2cb52cc4d1
Fix deno.open permission check ( #1336 )
2018-12-13 16:20:37 -05:00
Tim Wang
07369a6270
Fix typo in errors.ts JSDoc
2018-12-13 15:36:15 -05:00
Bartek Iwańczuk
c2b91a3ef6
Flesh out open() modes ( #1282 )
2018-12-12 12:05:58 -05:00
F001
e976b3e041
use byte array instead of string for code fetch ( #1307 )
2018-12-12 04:43:42 -05:00
Kevin (Kun) "Kassimo" Qian
8502cb0ccb
Avoid Uint8Array.prototype throwing type error in console.log ( #1327 )
2018-12-12 02:32:24 -05:00
Kevin (Kun) "Kassimo" Qian
585de35b1d
readDir entry mode ( #1326 )
2018-12-12 02:31:18 -05:00
Ryan Dahl
52079b26db
Minor rename for CodeFetch parameters
...
This bring it inline with terminology used in V8
See ResolveCallback in v8.h
2018-12-11 15:06:56 -05:00
Kevin (Kun) "Kassimo" Qian
1548792fb3
Add more console types formatting support ( #1299 )
2018-12-10 12:01:02 -05:00
binaryta
c427c2df42
Add TooLarge error code for buffers ( #1298 )
...
In collaboration with @yushimatenjin
2018-12-09 15:38:30 -05:00
Bartek Iwańczuk
ba429ccde8
Add benchmark for net/http ( #1289 )
2018-12-07 16:36:16 -05:00
Ryan Dahl
c113df1bb8
Process source maps in Rust instead of JS ( #1280 )
...
- Improves speed and binary size significantly.
- Makes deno_last_exception() output a JSON structure.
- Isolate::execute and Isolate::event_loop now return
structured, mapped JSError objects on errors.
- Removes libdeno functions:
libdeno.setGlobalErrorHandler()
libdeno.setPromiseRejectHandler()
libdeno.setPromiseErrorExaminer()
In collaboration with Ryan Dahl.
2018-12-06 23:05:36 -05:00
Kitson Kelly
568ac0c902
Add ASCII support to TextDecoder
2018-12-06 18:45:10 -05:00
Kitson Kelly
6cc89b9e27
Use alternate TextEncoder/TextDecoder implementation ( #1281 )
...
This is faster and smaller.
2018-12-06 10:01:15 -08:00
Kevin (Kun) "Kassimo" Qian
f6c841a6cd
Turn off kPromiseResolvedAfterResolved warning
2018-12-03 16:30:08 -08:00
kyraNET
7c6479e28f
feat: Support for bigints in console
2018-11-30 22:37:26 -08:00
Ryan Dahl
b7178e1704
Upgrade Prettier to support BigInt syntax in TS
2018-11-30 16:26:53 -08:00
DanSnow
d43a4be0d2
Add Process.output ( #1235 )
2018-11-30 10:44:05 -08:00
DanSnow
e749b37b7c
Add deno.readAll() ( #1234 )
2018-11-30 09:58:31 -08:00
Kitson Kelly
17994d4542
Upgrade to TypeScript 3.2
2018-11-29 23:37:28 -08:00
Kevin (Kun) "Kassimo" Qian
09aa9b9698
REPL unblock event loop AND fix REPL setTimeout fire problems
2018-11-28 15:25:30 -08:00
Bartek Iwańczuk
b183b01c8e
add test for Buffer edge case
2018-11-27 13:14:24 -08:00
Ryan Dahl
a25497fb66
Disable flaky fetch tests.
2018-11-27 11:33:23 -08:00
Kitson Kelly
3d03f5b0cb
Split Runner from Compiler
2018-11-20 08:46:56 -08:00
Bert Belder
48bf4062e4
First pass at running subprocesses ( #1156 )
2018-11-16 12:07:40 +08:00
Ryan Dahl
eaec5a8780
Support uploading data from fetch()
...
Does not yet support streaming, only strings and TypedArrays for now.
2018-11-16 11:44:25 +08:00
Ryan Dahl
f88fa2dcf8
Support shebang
2018-11-16 08:05:13 +08:00
Ryan Dahl
3c8d2bde68
Support request method and headers in fetch() ( #1188 )
...
Adds a general HttpHeader flatbuffer message for serializing requests
and responses.
2018-11-14 17:36:34 -08:00
Ryan Dahl
b1579460ce
Support streaming response bodies from fetch()
...
Also Buffer.readFrom in fetch() to buffer response.
2018-11-13 21:44:38 -08:00
Kitson Kelly
34b6b86c76
Ensure global type instances are available.
2018-11-09 08:39:49 -08:00
Kitson Kelly
172f5a5133
Cleanups for runtime lib declarations.
2018-11-09 08:36:31 -08:00
Ryan Dahl
1f2c92c7c8
Reader/Writer should use Uint8Array not ArrayBufferView
...
Because many Reader/Writer implementations (e.g. bufio) assume their
able to use subarray() with byte indexes and often ask for byte values,
it makes sense to simply restrict all implementations to Uint8Array.
2018-11-09 07:22:05 -08:00
Ryan Dahl
a18e51fd61
build: Use target/ instead of out/ ( #1153 )
2018-11-08 10:38:20 -08:00
Andy Hayden
e9327be831
Support repl multiline input ( #1165 )
2018-11-06 11:19:16 -08:00
Kitson Kelly
f477b45a0a
Improve preparing stack traces
2018-11-06 06:37:16 -08:00
Ryan Dahl
b3400d822f
Decode main.js.map during snapshotting.
...
Pro:
time ./out/debug/deno tests/error_001.ts 3.0s -> 0.4s
Con:
time ./tool/build.py snapshot 33s -> 1m52s
out/debug/gen/snapshot_deno.bin 39M -> 121M
2018-11-05 13:26:54 -08:00
Andy Hayden
27ecfc1617
Add repl ( #998 )
...
- Running repl from js side.
- Add tests for repl behavior.
- Handle ctrl-C and ctrl-D.
2018-11-05 09:55:59 -08:00
Ryan Dahl
bd88e56cbc
Add deno.Buffer ( #1121 )
...
Do not confuse this with Node's Buffer. This is a direct port of Go's
bytes.Buffer - it allows buffering of Reader and Writer objects.
2018-11-04 15:36:46 -08:00
Kyra
e93d686e9d
Web APIs: File
and FormData
( #1056 )
2018-11-04 10:05:02 -08:00
Ryan Dahl
6446bc5328
Move fetch headers into its own file.
2018-11-02 20:50:01 -07:00
Ryan Dahl
ee24254bad
Rename EnvPair to KeyValue.
2018-11-02 20:50:01 -07:00
Kitson Kelly
7f8284addf
Fix performance regression with JSON Modules
2018-11-01 19:33:18 -07:00
Bartek Iwańczuk
162eeca373
Add helper to turn deno.Reader into async iterator ( #1130 )
2018-10-31 07:29:13 -07:00
Kitson Kelly
2422e52625
Add ability to load JSON as modules ( #1065 )
2018-10-30 20:50:40 -07:00
Ryan Dahl
80b5c61460
Rename FetchReq op to Fetch.
2018-10-30 17:42:19 -07:00
Kitson Kelly
3b4dfd8bb5
Remove unused asset.
2018-10-30 13:19:12 -07:00
Bartek Iwańczuk
946acbc559
Add resources op ( #1119 )
2018-10-30 12:58:55 -07:00
Kitson Kelly
8b39d2c99e
Separate source map from output code.
2018-10-29 08:16:35 -07:00
Ryan Dahl
882a323811
Minor sorting not handled by format.
2018-10-27 08:08:51 -07:00
Ryan Dahl
50d6593f6a
Fix race condition in chmod test
2018-10-27 08:08:51 -07:00
Ryan Dahl
7f204b9803
Remove broken feature: trace()
2018-10-26 13:07:33 -07:00
Ryan Dahl
6bbf0777b1
Remove broken feature: --deps
2018-10-26 13:07:33 -07:00
Kevin (Kun) "Kassimo" Qian
a99aaf5def
Add chmod/chmodSync on unix (and fix Cargo.toml) ( #1088 )
...
Initial implementation by Srijan Reddy (@srijanreddy98, #672 ).
2018-10-26 13:01:45 -07:00
Kitson Kelly
2cfa608324
Support CheckJS
2018-10-24 15:29:30 -07:00
Ryan Dahl
0501330607
Add libdeno.shared global shared ArrayBuffer.
2018-10-24 14:52:38 -07:00
Joseph
d2df67e822
fix typos ( #1083 )
2018-10-24 08:54:34 -07:00
Ryan Dahl
5cf37c2f20
Revert "Support CheckJS"
...
Broken in master.
This reverts commit dd230d520b
.
2018-10-23 07:07:17 -07:00
Kitson Kelly
dd230d520b
Support CheckJS
2018-10-23 06:01:11 -07:00
Kitson Kelly
8ef7da2611
Enforce media types
2018-10-23 04:48:00 -07:00
Kitson Kelly
c0492ef061
Make Headers more idiomatic ( #1062 )
2018-10-23 04:43:43 -07:00
ztplz
de85f94435
improve file_info.ts
2018-10-23 04:42:22 -07:00
Kitson Kelly
64f0dfd50e
Improve globals for runtime type library
2018-10-22 19:37:38 -07:00
ztplz
c4bddc4651
Implemente clone for FetchResponse ( #1054 )
2018-10-21 14:42:18 -07:00
Kyra
fbb3f05b6f
Add URLSearchParams ( #1049 )
2018-10-21 08:07:29 -07:00
Ryan Dahl
09e011b389
Format.
2018-10-20 01:19:59 -04:00
ztplz
b809a82fd9
Add missing copyrights ( #1024 )
2018-10-19 15:25:29 -04:00
ztplz
7210e7b33b
Make fetch header compliant with the current spec ( #1019 )
2018-10-19 12:12:36 -04:00
Bert Belder
d0b859ec37
format
2018-10-19 00:29:09 +02:00
Bartek Iwańczuk
3a226f166f
add test case for metrics
2018-10-18 05:08:49 -04:00
Ryan Dahl
213885a9d0
Optimization: Reuse ArrayBuffer during serialization.
2018-10-17 20:20:06 -04:00
Jinho Bang
32f0797128
Fix a bug that copyFile reports different error codes
...
This is a workaroud. Once the issue is resolved in Rust side, we should
remove it.
Fixes #895
2018-10-17 08:24:31 -04:00
Jinho Bang
1322f3de9f
deno -v
should report typescript version
...
Fixes #993
2018-10-15 22:16:55 -04:00
Kitson Kelly
10a97679ac
Align JSDoc to style guide.
2018-10-14 17:38:23 -04:00
Shiva Prasanth
bbf88c5295
Add cwd() and chdir() ( #907 )
2018-10-13 16:03:27 -04:00
Kevin (Kun) "Kassimo" Qian
45d3b8955d
Fix promise reject issue ( #936 )
2018-10-12 14:22:52 -04:00
Ryan Dahl
c9f95d51da
perf: Increase copy() buffer to 32k
...
This will improve the threshold benchmark. Using 32k because that's what
Go uses, but we should explore the value in the future.
a0d6420d8b/src/io/io.go (L391)
2018-10-12 08:58:17 -04:00
Kitson Kelly
298d755152
Add support for --types
2018-10-11 20:29:43 -04:00
Kitson Kelly
ec402c6932
Replace globals.d.ts with lib.deno_runtime.d.ts
2018-10-11 20:29:43 -04:00
Bartek Iwańczuk
51f9331ecb
Add deno.metrics()
2018-10-11 15:45:51 -04:00
Li Hao
951e5def98
timers: align unit tests with others
2018-10-11 13:21:25 -04:00
J2P
c99207bf39
Rename fd to rid
2018-10-10 12:21:01 -04:00
ztplz
8ada28716a
Add counts for ignored , measured, filtered
2018-10-10 08:03:59 -04:00
Bert Belder
5b66f28fa3
timers: add test for clearTimer bug #942
2018-10-08 19:54:32 +02:00
Li Hao
3fe6530f11
timers: fix clearTimer bug
2018-10-08 19:53:53 +02:00
Bert Belder
f60cc5730a
Format
2018-10-08 18:10:27 +02:00
Kevin (Kun) "Kassimo" Qian
2b8cee9a49
Check thrown type, print String(...) if not instance of error ( #939 )
...
Fixes #935
2018-10-08 11:36:09 -04:00
Kitson Kelly
ffb41e61f1
Updates to js to clean up default library
2018-10-07 22:52:27 -04:00
ns
8e82fa0af6
Export missing io types from deno
2018-10-06 22:16:42 -04:00
Ryan Dahl
8fba254c7a
Temporarily disable shutdown tests.
...
The fix for these wasn't immediately obvious - they seem to have been
broken already but were skipped as reported in #919 .
2018-10-06 20:24:47 -04:00
Kevin (Kun) "Kassimo" Qian
3c212ddd1e
Remove race condition from netCloseReadSuccess test
2018-10-05 21:06:01 -04:00
Ryan Dahl
899a62d5b0
Print test name before it fails.
2018-10-05 14:27:47 -04:00
Ryan Dahl
ab952e3340
Format
2018-10-05 14:27:47 -04:00
Kevin (Kun) "Kassimo" Qian
941e27d8c1
Implement closeRead/closeWrite using TcpStream::shutdown ( #903 )
2018-10-05 12:16:23 -04:00
Kitson Kelly
6c42ded097
Hide compiler module ( #909 )
...
Fixes #876
2018-10-05 10:13:22 -04:00
Chris Bystrek
6a649012bc
Changed tools/lint.py to lint the entire js and tests directories. ( #900 )
...
* Changed tools/lint.py to lint the entire js and tests directorys and sub directories, currently it was pointing at tsconfig and would only lint files that were part of js/main.ts or node_modules/typescript/lib/lib.esnext.d.ts and their dependencies
* Broke the typescript linting out into separate steps for the main typescript programing and tests.
* Fixed linting issues in ts tests.
2018-10-05 07:29:55 -04:00
Kitson Kelly
ce9148943c
Move Platform from types to platform
2018-10-04 12:31:39 -04:00
Bert Belder
b9cdf088e7
format
2018-10-04 02:03:29 -07:00
Ryan Dahl
1331a4882c
Better color output in JS unit tests.
2018-10-04 00:25:55 -04:00
Ryan Dahl
2f44db6756
Use underscores in filenames.
2018-10-04 00:25:55 -04:00
Ryan Dahl
818ad37678
Rename fbs to msg.
2018-10-04 00:25:55 -04:00
Ryan Dahl
f774953011
Rename flatbuffer base.msg to base.inner
...
This better disambiguates with the msg_generated.ts module, which in JS
we call "fbs", but would be better called "msg".
2018-10-04 00:25:55 -04:00
Ryan Dahl
0422b224e8
First pass at support for TCP servers and clients. ( #884 )
...
Adds deno.listen(), deno.dial(), deno.Listener and deno.Conn.
2018-10-03 23:58:29 -04:00
Kevin (Kun) "Kassimo" Qian
3c080ca39a
Reenable copyFile tests
2018-10-03 16:22:32 -07:00
Andy Hayden
47508c7207
Update timer test to use #497 test case
...
This behavior was fixed by #885 .
2018-10-03 16:05:00 -07:00
J2P
ea87034e26
Implemented readDirSync, readDir
2018-10-03 18:22:57 -04:00
Ryan Dahl
d39055d79b
Clean up deno.platform
...
Renames:
deno.platform -> deno.platform.os
deno.arch -> deno.platform.arch
Removes unsupported operating systems and CPU architectures from the
types. Uses the string "win" instead of "win32".
2018-10-03 16:59:00 -04:00
Ryan Dahl
0cdf1f451d
Rename tsconfig.generated.json to tsconfig.declarations.json
2018-10-03 16:59:00 -04:00
Bert Belder
6cfc6b5d51
test: disable incorrect tests
...
These tests weren't running because with the old timer implementation
time-outs were sometimes lost, and the test harness uses setTimeout
to throw errors after a test has failed.
2018-10-03 13:28:00 -07:00
Li Hao
99e2c42d16
timers: add some more unit tests
...
Closes #682 .
2018-10-03 13:27:59 -07:00
Bert Belder
aa691ea26c
timers: implement timers in javascript
2018-10-03 13:27:55 -07:00
Ryan Dahl
42c5b103ec
Rename FdTable to ResourceTable.
...
Add docs to src/resources.rs.
2018-10-01 22:30:57 -04:00
Ryan Dahl
393f751a27
Format.
2018-10-01 22:30:57 -04:00
Kevin (Kun) "Kassimo" Qian
3a6d4e6260
Bind this
to console methods ( #873 )
...
Fixes #872
2018-10-01 12:41:37 -04:00
Yingbo (Max) Wang
bcdbfc00f0
Limit depth of output in console.log for nested objects, and add console.dir ( #826 )
2018-09-30 18:10:20 -04:00
Kevin (Kun) "Kassimo" Qian
50a9c2b575
Add copyFile/copyFileSync ( #863 )
2018-09-30 18:06:41 -04:00
Ryan Dahl
cec82263c1
Format
2018-09-30 16:35:12 -04:00
ztplz
062b22fe56
Add deno.truncate ( #805 )
2018-09-30 15:06:20 -04:00
ztplz
b635553fd7
Improve fetch headers ( #853 )
2018-09-30 10:31:50 -04:00
Ryan Dahl
bcbbee7399
Adds basic File I/O and FD table.
...
Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(),
deno.read(), deno.Reader, deno.Writer, deno.copy().
Fixes #721 . tests/cat.ts works.
2018-09-28 20:53:33 -04:00
Ryan Dahl
b1d9014b5b
Print 'Compiling' when compiling TS.
2018-09-27 17:34:51 -04:00
Ryan Dahl
d38ccfc6dc
Support zero-copy data in libdeno.send(). ( #838 )
...
This is a large API refactor of deno.h which replaces
deno_send() and deno_set_response() with deno_respond().
It also adds a req_id parameter to the deno_recv_cb.
Make writeFile/writeFileSync use it.
2018-09-27 17:33:10 -04:00
Kevin (Kun) "Kassimo" Qian
1e390e69cd
Error pretty print (print stack)
2018-09-26 19:30:43 -04:00
Ryan Dahl
b088b58f76
Add SetGlobalTimeout().
...
To be used for a timers implementation soon.
2018-09-25 17:02:49 -04:00
Ryan Dahl
4fd2b19f64
Make Deno multithreaded.
...
By using the tokio default runtime.
This patch makes all of the ops thread safe.
Adds libdeno to JS globals to make for easier testing.
Preliminary work for #733 .
2018-09-25 17:02:49 -04:00
Ryan Dahl
7fb2821937
format
2018-09-25 17:02:49 -04:00
J2P
3c24b9f724
Fix trace test code
2018-09-25 12:47:13 -04:00
Kevin (Kun) "Kassimo" Qian
f156a86024
console.warn goes to stderr ( #810 )
2018-09-25 01:27:02 -04:00
Mani Maghsoudlou
ad5065e23e
Implement deno.readlink() ( #797 )
2018-09-25 00:20:49 -04:00
Kevin (Kun) "Kassimo" Qian
be8f49b332
Add toString
for CallSite of eval origin ( #809 )
2018-09-24 15:42:09 -04:00
Bartek Iwańczuk
3fe4be07ca
Add flag --recompile ( #801 )
2018-09-24 15:33:50 -04:00
Yoshiya Hinosawa
17a7b03d1b
Start testing website ( #813 )
2018-09-24 11:31:14 -04:00
Kevin (Kun) "Kassimo" Qian
c124db4701
[console] Use constructor.name to print out function type ( #664 )
2018-09-24 10:06:48 -04:00
ztplz
f3684c28e5
Rename deno.argv, libdeno::DenoC and deno_set_flags ( #796 )
2018-09-22 08:47:44 -04:00
Kevin (Kun) "Kassimo" Qian
7a0670a951
Implement deno.trace() ( #795 )
2018-09-22 03:59:26 -04:00
Kevin (Kun) "Kassimo" Qian
4d16d54ff8
Add atob() and btoa() ( #776 )
2018-09-20 18:53:29 -04:00
Kevin (Kun) "Kassimo" Qian
fab4bdf40d
Add deno.arch/deno.platform ( #773 )
2018-09-20 02:13:59 -04:00
Mani Maghsoudlou
017ef096df
Implement deno.symlink() ( #742 )
2018-09-18 21:38:24 -07:00
Bert Belder
7553bcb74f
format
2018-09-17 22:54:39 -07:00
Kevin (Kun) "Kassimo" Qian
e3d634eb21
Make mode always u32 and switch to has_mode for StatRes fbs ( #761 )
2018-09-17 16:53:55 -07:00
ztplz
0260aaf8c2
Change FileInfo to interface ( #765 )
2018-09-17 12:00:57 -07:00
Kevin (Kun) "Kassimo" Qian
b0958073ba
Remove remove_timer asserts ( #760 )
...
* Remove remove_timer asserts
* Add clearTimeout invalid id no-panic test
* Move timer test to its file AND some lint side-effects
2018-09-16 13:35:16 -07:00
J2P
0040486539
Fix comments in stat.ts file
2018-09-16 09:12:00 -07:00
Kitson Kelly
0ef28bec4d
Improve integration of dom_types
2018-09-16 09:10:36 -07:00
Parsa Ghadimi
4b1eb855bf
Make fetch.blob() work
2018-09-14 12:50:32 -07:00
Kevin (Kun) "Kassimo" Qian
662e57b20a
[fs] Enable mode for mkdir
on unix ( #746 )
2018-09-14 12:30:43 -07:00
Parsa Ghadimi
66c09de967
Rename fetch_types.d.ts to dom_types.d.ts
2018-09-14 12:27:32 -07:00
Parsa Ghadimi
7b7052e1ab
Implement Blob
2018-09-14 10:04:10 -07:00
justjavac
aaf70ca092
fix command line flag in the comment
2018-09-14 08:25:45 -04:00
Yoshiya Hinosawa
0ca7301a2d
feat: add deno.makeTempDir
2018-09-12 22:33:11 -07:00
qti3e
41c70b154f
Add support for fetch() headers ( #727 )
2018-09-12 15:16:42 -04:00
Mani Maghsoudlou
88d42f0b18
Implement deno.rename() ( #731 )
2018-09-12 11:44:58 -04:00
Kevin (Kun) "Kassimo" Qian
26081a32df
Add unix-only mode
for FileInfo ( #732 )
2018-09-12 10:28:48 -04:00
Kevin (Kun) "Kassimo" Qian
1ffae65165
Add remove(), removeAll().
...
and removeSync(), removeAllSync().
2018-09-12 10:24:17 -04:00
Sajjad Hashemian
7c50c11f40
Implement deno.stat() and deno.lstat()
2018-09-11 16:05:00 -04:00
Parsa Ghadimi
806385543c
Improve global types
2018-09-11 12:19:44 -04:00
Kevin (Kun) "Kassimo" Qian
05f87a0cf2
Move writeFileSync to write_file.ts, add writeFile and tests ( #728 )
2018-09-11 12:00:57 -04:00
Sajjad Hashemian
c2663e1d82
Implement deno.mkdir()
2018-09-10 15:02:07 -04:00
Ryan Dahl
35bc9ddf63
Implement deno.readFile()
...
As an example of how to implement ops that have both sync and async
versions.
2018-09-10 00:14:28 -04:00
Ryan Dahl
3afc0b8482
fbs_util.ts -> dispatch.ts
...
And send() -> sendSync()
2018-09-10 00:14:28 -04:00
Ryan Dahl
e2a285b871
Better NotFound error handling in CodeFetch
...
throwResolutionError was swallowing unrelated errors.
2018-09-09 23:12:22 -04:00
Ryan Dahl
8090fb252b
Expose deno.ErrorKind
...
Originally we planned to have a JS class for each error code. But it
seems better to just have a single DenoError class with a "kind"
property. One nice thing about using an enum instead of classes for
errors is that switch() can be used during error handling instead of a
bunch of instanceof branches.
2018-09-09 23:12:22 -04:00
Ryan Dahl
a4f1b367b9
Remove namespace from src/msg.fbs
2018-09-09 23:12:22 -04:00
Ryan Dahl
0d03fafbfe
Map promises onto futures.
...
Refactors handlers.rs
The idea is that all Deno "ops" (aka bindings) should map onto
a Rust Future. By setting the "sync" flag in the Base message
users can determine if the future is executed immediately or put
on the event loop.
In the case of async futures, a promise is automatically created.
Errors are automatically forwarded and raised.
TODO:
- The file system ops in src/handler.rs are not using the thread pool
yet. This will be done in the future using tokio_threadpool::blocking.
That is, if you try to call them asynchronously, you will get a promise
and it will act asynchronous, but currently it will be blocking.
- Handlers in src/handler.rs returned boxed futures. This was to make
it easy while developing. We should try to remove this allocation.
2018-09-09 18:47:22 -04:00
Ryan Dahl
ff6eefdf87
Add better assert message for CodeFetchRes
2018-09-09 18:47:22 -04:00
Daniel Ramos
b7ebc1b699
Add type aliases for sourceCode and outputCode
2018-09-09 10:51:15 -04:00
J2P
d814949896
Add and edit comments
2018-09-07 12:01:43 -04:00
Kitson Kelly
9101fd1493
Cleanup public API of DenoCompiler
2018-09-06 18:31:32 -04:00
Kitson Kelly
11aef6e107
Integrate format diagnostic host in DenoCompiler
2018-09-06 18:31:32 -04:00
Parsa Ghadimi
1052f8d0c9
Check allow-net in fetch
2018-09-06 11:07:10 -04:00
Kitson Kelly
1e709aa348
Fix TypeScript exports in bundle
2018-09-06 11:04:56 -04:00
Mirko Jotic
fcdfacc2de
Implementing --deps flag
...
- Adding a ModuleId type alias to specify original url or local file of
dependency
- Modifying ModuleMetaData class to contain ModuleId
- Adding a --deps flag
2018-09-06 10:42:07 -04:00
Ryan Dahl
32f0c37a42
Format
2018-09-05 22:27:47 -04:00
Kitson Kelly
10dc71133a
Mark APIs at internal and include JSDoc in types
2018-09-05 08:45:55 -04:00
Ryan Dahl
d6c310596e
lStat -> lstat
2018-09-04 15:57:18 -04:00
Mani Maghsoudlou
641e3d404d
Implement renameSync
2018-09-04 11:57:04 -04:00
Sajjad Hashemian
b2b4299e3b
Implement mkdirSync
2018-09-03 15:06:00 -04:00
Ryan Dahl
787832c68e
Format.
2018-09-03 10:45:58 -04:00
Kitson Kelly
77faad8070
Unit tests for circular references
2018-09-02 11:28:45 -04:00
Kitson Kelly
739ef6a8ec
Fix circular dependencies
2018-09-02 11:28:45 -04:00
ShinDarth
bbc4e55bda
Minor code refactoring
2018-09-01 21:59:52 -04:00
liuyi
2eb80f3617
Refactor code to be same style
2018-09-01 16:47:43 -04:00
Kitson Kelly
b3dac82887
Remove lib.globals.d.ts
2018-09-01 15:06:03 -04:00
Kitson Kelly
f83aee02e6
Bundle most types into globals.d.ts ( #642 )
2018-09-01 10:45:26 -04:00
Aaron Power
9b7e5a2558
Document lStatSync & statSync and correct FileInfo.
2018-08-31 16:18:31 -04:00
Aaron Power
f131445a46
Implemented deno.env and refactored flags.rs
2018-08-31 13:18:24 -04:00
Ryan Dahl
45dafe15ee
Refactor libdeno.send() code to reduce boilerplate.
...
Also removes assignCmdId as it's currently unused.
2018-08-31 10:43:11 -04:00
Ryan Dahl
0ec629d105
format
2018-08-30 14:41:55 -04:00
Ryan Dahl
2dd9a8d028
Reorganize js/unit_tests.ts
2018-08-30 14:41:55 -04:00
Aaron Power
b86bf4d8a4
Implemented statSync and lStatSync
2018-08-30 12:39:33 -04:00
ztplz
b2cd71ddce
add type declaration
2018-08-30 03:21:05 -04:00
Bert Belder
ceaf822682
Implement makeTempDirSync()
2018-08-29 22:40:05 +02:00
Ryan Dahl
0c2abb9339
Allow filtering of unit tests.
2018-08-29 12:05:58 -04:00
Kitson Kelly
634a9e3932
Updates to compiler.ts comments and logging.
2018-08-28 08:44:34 -04:00
Kitson Kelly
54aefa2886
Two-pass module evaluation.
...
Plus changes to tests to accomodate.
2018-08-28 08:44:34 -04:00
Bert Belder
7e3d9f8f2b
format
2018-08-28 02:01:41 +02:00
Ryan Dahl
e13f3c10ca
Add ability to unit test by permissions.
2018-08-27 17:51:24 -04:00
Ryan Dahl
722c7e4a1b
Add deno.argv.
2018-08-27 17:51:24 -04:00
Aaron Power
f43259e5ab
Moved console tests to own file, and switched circular test to use stringify with assertEqual
2018-08-27 17:18:37 -04:00
Aaron Power
0f1db89aa6
Fixed printing strings in arrays & objects without quotes
2018-08-27 13:45:29 -04:00
Yoshiya Hinosawa
17d6d6b336
refactor: add and use libdeno.setGlobalErrorHandler instead of window.onerror
2018-08-26 11:03:41 -04:00
Francesco Borzì
84c38f34ee
Prevent circular imports in ts code ( #576 )
2018-08-25 15:42:49 -04:00
Kitson Kelly
c003df53ab
Integrate ScriptSnapshot into ModuleMetaData
2018-08-24 17:16:54 -04:00
Kitson Kelly
59231d74b5
Improve DenoCompiler.makeDefine and localRequire
2018-08-23 17:55:22 -04:00
Ryan Dahl
242e68e50c
fmt
2018-08-23 09:41:08 -04:00
Ryan Dahl
7d7263c48f
Implement writeFileSync
...
In collaboration with Tommy Savaria <tommy.savaria@protonmail.ch>
2018-08-22 18:39:07 -04:00
Ryan Dahl
e7cab71574
runtime.ts refactor into compiler.ts ( #564 )
...
Adds compiler_test.ts
2018-08-22 17:17:26 -04:00
Ryan Dahl
790baae673
Expose deno.exit() and add test.
2018-08-21 18:34:56 -04:00
Ryan Dahl
18d495c7d1
Better error handling in src/handlers.rs
...
Introduces error codes that are shared between JS/RS
Fixes #526 .
2018-08-21 15:37:45 -04:00
Ryan Dahl
5d866161f8
Fix TS errors in fetch.ts
2018-08-20 21:20:15 -04:00
Ryan Dahl
868e8d8866
First pass at fetch()
...
With help from Thomas Ghysels <info@thomasg.be>
2018-08-20 16:53:39 -04:00
Bartek Iwańczuk
66f0e93b4c
add notImplemented and unreachable util functions ( #540 )
2018-08-19 15:04:27 -04:00
Yoshiya Hinosawa
aaabc853e8
chore: move libdeno files to //libdeno/
2018-08-19 11:27:47 -04:00
Ryan Dahl
17b9c5c390
Command line flag parsing ( #524 )
...
In particular this allow -D for logging debug output.
2018-08-17 16:34:30 -04:00
Yoshiya Hinosawa
565a21eb0e
chore: format files in tests/
2018-08-17 12:43:21 -04:00
Ryan Dahl
36d82374cf
Implement deno_handle_msg_from_js in Rust
...
Fixes #419 , #414 .
2018-08-16 08:40:11 -04:00
Kitson Kelly
168d92f5d2
Use typescript strict mode ( #505 )
2018-08-15 12:40:30 -04:00
Kitson Kelly
e9d692ef70
Use @internal
with js/timers.ts
2018-08-13 11:54:10 -04:00
Ryan Dahl
c7ce450ee9
Rename mock_runtime_test to libdeno_test
...
Fixes #465
2018-08-11 09:02:07 -07:00
Ryan Dahl
89eee51f07
Use unit_tests for readFileSync testing.
2018-08-11 09:02:07 -07:00
Kitson Kelly
e28d7abc1c
Only emit declarations for generated files ( #502 )
...
and remove declarationMap flag from generated tsconfig
2018-08-10 10:46:09 -07:00
Ryan Dahl
9d90c4ae95
Adds js/unit_tests.ts ( #448 )
2018-08-09 14:48:17 -07:00
Ryan Dahl
413bcf2042
Add readFileSync
2018-08-09 14:27:46 -07:00
Ryan Dahl
040a042679
Add TextEncoder/TextDecoder support.
...
Fixes #470
This commit increases size:
out/release/gen/bundle/main.js 7.3M -> 7.9M
out/release/gen/bundle/main.js.map 11M -> 12M
out/release/gen/snapshot_deno.bin 34M -> 37M
out/release/deno 49M -> 53M
Note the amount in the JS code added is quite small:
4.0K node_modules/text-encoding/index.js
4.0K node_modules/@types/text-encoding/index.d.ts
4.0K js/text_encoding.ts
Unclear to me what is causing the jump in snapshot size.
2018-08-09 14:27:46 -07:00
Ryan Dahl
fb87cb38ec
First pass at setTimeout with Tokio ( #434 )
2018-08-09 12:17:08 -07:00
Ryan Dahl
51380bf399
Organize libdeno functions.
2018-08-08 18:35:26 -07:00
Ryan Dahl
7895964ee1
Better error for 'No such asset'
2018-08-08 18:35:26 -07:00
Kitson Kelly
817380a2d9
Generate declarations
2018-08-08 04:17:46 -07:00
Kitson Kelly
eda1c7b74a
Create ASSETS const in runtime.ts
2018-08-08 04:17:46 -07:00
Kitson Kelly
28078cf441
Rename lib.deno.d.ts to lib.globals.d.ts
2018-08-08 04:17:46 -07:00
Ryan Dahl
60f6067cf9
Implement os.exit
2018-08-03 22:41:59 -04:00
Ryan Dahl
c7c6203e61
Source map support ( #429 )
...
This change increases size:
out/debug/obj/libdeno/from_snapshot.o 19M -> 34M
out/release/deno 32M -> 47M
2018-08-02 13:13:32 -04:00
Ryan Dahl
421358e7a9
Remove dispatch.ts and move assignCmdId to util.ts
2018-08-02 12:49:40 -04:00
Ryan Dahl
db8dc0e9f8
Better handling of exceptions during snapshot creation.
2018-08-01 12:14:10 -04:00
Kitson Kelly
36fa1cea4a
Upgrade TypeScript (3.0.1)
...
Update runtime to use lib.deno.d.ts
Add proper console declaration
Upgrade prettier (There was an issue formatting lib.deno.d.ts)
2018-07-31 20:47:49 -04:00
Ryan Dahl
4d386e9e1c
Implement CodeCache
2018-07-29 00:22:39 -04:00
Kitson Kelly
5562c36824
Remove msg_generated hack ( #409 )
2018-07-25 23:07:50 -04:00
Ryan Dahl
0213053856
Remove handlers crate target.
...
- Add build scripts for Rust flatbuffers.
- Rewrites some reply.cc methods in Rust.
- Changes some struct elements to table in msg.fbs (rust flatbuffers
lacks support currently)
- Renames handlers_test to test_rs.
- This reorg is needed to make progress on the code cache handler.
2018-07-24 12:29:54 -04:00
Ryan Dahl
b79ce93010
Allow deno_buf with null alloc_ptr to be memcpy'd
...
This is a temporary hack to allow for easier restructuring of
the serialization code as we move Flatbuffer stuff from C++ to Rust.
2018-07-24 12:29:54 -04:00
Ryan Dahl
b87e6d5604
Add mock_runtime_test for deno_last_exception.
2018-07-24 12:29:54 -04:00
Ryan Dahl
1de16af1f3
Change copyrights to be 'Deno authors'.
2018-07-24 10:38:11 -04:00
Kitson Kelly
845f7215db
Replace packer with rollup
2018-07-22 03:16:17 +02:00
Ryan Dahl
b892188878
Better exception output.
2018-07-18 15:43:50 -04:00
Ryan Dahl
3e51605bc9
Execute JS for the first time in Rust rewrite.
...
Implements code_fetch handler in Rust.
Add ability to embed string assets (for typescript declaration files)
Remove deno_cc and deno_cc_nosnapshot targets.
2018-07-18 15:43:50 -04:00
Bert Belder
24b0e91d80
Move buffers between V8 and native
...
* send()/recv() now operate on TypedArrays rather than ArrayBuffers.
* Remove a copy (through ArrayBuffer.slice()) from the send path.
* Remove a copy (through v8::ArrayBuffer::New()) from the return path.
* After moving a buffer from JS to native, the ArrayBuffer object and
it's views are made inaccessible ('neutered').
* `struct deno_buf` now holds two [ptr, length] tuples, one for the actual
memory allocation, and one for the logical data contained therein.
This is necessary because flatbuffers fills it's buffer bottom-up, so
the serialized blob doesn't start at beginning of the buffer, but
somewhere in the middle.
2018-07-12 21:26:38 +02:00
Yoshiya Hinosawa
46db20172c
chore: use local prettier
2018-07-09 11:05:02 -04:00
Bert Belder
14f208fff9
Regenerate msg_generated.ts
...
I forgot to commit this file in 8a17db8
.
2018-07-09 04:23:58 +02:00
Bert Belder
8a17db8266
Add 'command id' field to messages
...
This allows for correlating response messages to the command message that
caused them.
2018-07-08 21:01:24 +02:00
Ryan Dahl
f917c5e722
Clean up tools/
...
- Factor out tools/util.py
- Move js/*.py to tools.
- Rewrite tools/format.sh in python.
- Run lint first in travis.
2018-07-08 13:40:18 -04:00
Ryan Dahl
a2dde56c59
Remove channel parameter from deno_send/recv.
2018-07-06 18:25:09 -04:00
Ryan Dahl
9778eceaf5
Use C++ to do flatbuffer parsing.
...
- Port protobuf messages to flatbuffers.
- Demo linking to rust from C++ executable.
- Start using the prototype TS libraries.
2018-07-06 17:33:06 -04:00
Ryan Dahl
fe404dfce9
Import ts file from prototype without change
...
From commit 559453cf6c
Excluding v8worker.d.ts, main.ts, and deno.d.ts.
Updates tslint.json to be original settings.
2018-07-06 12:22:11 -04:00
Yoshiya Hinosawa
c1f430966a
chore: reorganize symlinks
...
resolves #332
2018-07-06 01:57:32 -04:00
Ryan Dahl
06a28998ea
Replace protobufs with flatbuffers
2018-07-04 16:43:08 -04:00
Yoshiya Hinosawa
2060bc939d
Add tools/build_third_party.py ( #328 )
...
Fixes #312
2018-07-04 15:04:59 +02:00
Ryan Dahl
a33f575cda
Switch back to recv/send instead of pub/sub for low-level API.
2018-07-03 21:22:39 +02:00
Ryan Dahl
92d01f8519
Remove BaseMsg from msg.proto
2018-07-03 21:22:39 +02:00
Parsa Ghadimi
235e549035
Add tslint
2018-07-01 21:41:53 +02:00
Yoshiya Hinosawa
ea35281d63
chore: move //src/js to //js
...
refs: #285
2018-07-01 17:22:36 +02:00