summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
AgeCommit message (Collapse)Author
2024-09-04test: run js_unit_tests with `--unstable-*` flags (#25394)Bartek Iwańczuk
2024-09-04chore: remove some dead code around DENO_FUTURE env var (#25418)Bartek Iwańczuk
These codepaths were not used anymore.
2024-09-04BREAKING(io): remove `Deno.read[Sync]()` (#25409)Asher Gomez
Towards #22079 Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-04BREAKING(io): remove `Deno.write[Sync]()` (#25408)Asher Gomez
Towards #22079 Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-04BEAKING(buffer): remove `Deno.readAll[Sync]()` (#25386)Asher Gomez
Towards #22079 Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-04BREAKING(fs): remove `Deno.ftruncate[Sync]()` (#25412)Asher Gomez
Towards #22079 Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-04BREAKING(buffer): remove `Deno.writeAll[Sync]()` (#25407)Asher Gomez
2024-09-04BREAKING(fs): remove `Deno.fstat[Sync]()` (#25351)Asher Gomez
Towards #22079 Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-03BREAKING(io): remove `Deno.copy()` (#25345)Asher Gomez
Towards #22079 --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-03BREAKING(console): remove `Deno.customInspect` (#25348)Asher Gomez
Note: this is implemented on Deploy. However, according to @magurotuna, a thin compatibility layer might be in the works that'd prevent breakages for PRs such as this one. Towards #22079
2024-09-03chore(fs): remove `Deno.flock[Sync]()` (#25350)Asher Gomez
Towards #22079
2024-09-03BREAKING(io): remove `Deno.iter[Sync]()` (#25346)Asher Gomez
Towards #22079
2024-09-03BREAKING: remove `Deno.close()` (#25347)Asher Gomez
Towards #22079
2024-09-03chore: cleanup code for deprecation notices in JS code (#25368)Bartek Iwańczuk
This code hasn't been used in some time, so I cleaned as much of it as possible.
2024-08-31chore(net): remove `Deno.shutdown()` (#25253)Asher Gomez
2024-08-31chore: remove `Deno.resources()` (#25251)Asher Gomez
2024-08-31chore: remove `Deno.metrics()` (#25167)Asher Gomez
2024-08-28refactor: don't virtualize the `console` global for node mode (#25263)Luca Casonato
Turns out we only virtualized it so one could have a `Console` property, and the other one not. We can just make this `console.Console` available everywhere.
2024-08-20chore: enable no-console dlint rule (#25113)David Sherret
2024-08-15refactor: `version` module exports a single const struct (#25014)Bartek Iwańczuk
This commit rewrites the internal `version` module that exported various information about the current executable. Instead of exporting several consts, we are now exporting a single const structure that contains all the necessary information. This is the first step towards cleaning up how we use this information and should allow us to use SUI to be able to patch this information in already produced binary making it easier to cut new releases. --------- Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-08-14feat(serve): Opt-in parallelism for `deno serve` (#24920)Nathan Whitaker
Adds a `parallel` flag to `deno serve`. When present, we spawn multiple workers to parallelize serving requests. ```bash deno serve --parallel main.ts ``` Currently on linux we use `SO_REUSEPORT` and rely on the fact that the kernel will distribute connections in a round-robin manner. On mac and windows, we sort of emulate this by cloning the underlying file descriptor and passing a handle to each worker. The connections will not be guaranteed to be fairly distributed (and in practice almost certainly won't be), but the distribution is still spread enough to provide a significant performance increase. --- (Run on an Macbook Pro with an M3 Max, serving `deno.com` baseline:: ``` ❯ wrk -d 30s -c 125 --latency http://127.0.0.1:8000 Running 30s test @ http://127.0.0.1:8000 2 threads and 125 connections Thread Stats Avg Stdev Max +/- Stdev Latency 239.78ms 13.56ms 330.54ms 79.12% Req/Sec 258.58 35.56 360.00 70.64% Latency Distribution 50% 236.72ms 75% 248.46ms 90% 256.84ms 99% 268.23ms 15458 requests in 30.02s, 2.47GB read Requests/sec: 514.89 Transfer/sec: 84.33MB ``` this PR (`with --parallel` flag) ``` ❯ wrk -d 30s -c 125 --latency http://127.0.0.1:8000 Running 30s test @ http://127.0.0.1:8000 2 threads and 125 connections Thread Stats Avg Stdev Max +/- Stdev Latency 117.40ms 142.84ms 590.45ms 79.07% Req/Sec 1.33k 175.19 1.77k 69.00% Latency Distribution 50% 22.34ms 75% 223.67ms 90% 357.32ms 99% 460.50ms 79636 requests in 30.07s, 12.74GB read Requests/sec: 2647.96 Transfer/sec: 433.71MB ```
2024-08-02docs: fix typos (#24820)Andreas Deininger
This PR fixes various typos I spotted in the project.
2024-08-02BREAKING(temporal/unstable): Remove obsoleted Temporal APIs (#24836)Kenta Moriuchi
2024-07-24Reland "fix: CFunctionInfo and CTypeInfo leaks (#24634)" (#24692)Bartek Iwańczuk
Reverted in https://github.com/denoland/deno/commit/95847f4e9443ad8c8e0504c9fdd1d7f8eb4e588f.
2024-07-04feat(jupyter): support `confirm` and `prompt` in notebooks (#23592)Zander Hill
Closes: https://github.com/denoland/deno/issues/22633 This commit adds support for `confirm` and `prompt` APIs, that instead of reading from stdin are using notebook frontend to show modal boxes and wait for answers. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-07-01feat: upgrade deno_core (#24364)snek
- Symbol.asyncDispose no longer needs to be polyfilled - assorted updates for cppgc api changes
2024-05-29feat: Add `Deno.exitCode` API (#23609)Luke Edwards
This commits adds the ability to set a would-be exit code for the Deno process without forcing an immediate exit, through the new `Deno.exitCode` API. - **Implements `Deno.exitCode` getter and setter**: Adds support for setting and retrieving a would-be exit code via `Deno.exitCode`. This allows for asynchronous cleanup before process termination without immediately exiting. - **Ensures type safety**: The setter for `Deno.exitCode` validates that the provided value is a number, throwing a TypeError if not, to ensure that only valid exit codes are set. Closes to #23605 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-23feat: enable pointer compression via deno_core bump (#23838)Matt Mastracci
v8 12.6 w/pointer compression enabled. Closes https://github.com/denoland/deno/issues/18935
2024-05-23fix(runtime): use more null proto objects (#23921)Luca Casonato
This is a primordialization effort to improve resistance against users tampering with the global `Object` prototype. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-14fix(runtime): output to stderr with colors if a tty and stdout is piped (#23813)David Sherret
This also fixes a bug where Deno would output to stderr with colours when piped and stdout was not piped.
2024-05-05fix(ext/node): don't rely on Deno.env to read NODE_DEBUG (#23694)Satya Rohith
This patch allows implementors to use ext/node without the need to implement Deno.env API. Closes https://github.com/denoland/deno/issues/23687
2024-04-24feat: Add `deno serve` subcommand (#23511)Matt Mastracci
By default, `deno serve` will assign port 8000 (like `Deno.serve`). Users may choose a different port using `--port`. `deno serve /tmp/file.ts` `server.ts`: ```ts export default { fetch(req) { return new Response("hello world!\n"); }, }; ```
2024-04-19FUTURE: remove `Deno.customInspect` (#23453)Asher Gomez
2024-04-16fix(ext/node): dispatch beforeExit/exit events irrespective of listeners ↵Satya Rohith
(#23382) Closes https://github.com/denoland/deno/issues/23342 Closes https://github.com/denoland/deno/issues/21757
2024-04-15refactor: move lifecycle events dispatch to Rust (#23358)Bartek Iwańczuk
This commit moves logic of dispatching lifecycle events ( "load", "beforeunload", "unload") to be triggered from Rust. Before that we were executing scripts from Rust, but now we are storing references to functions from "99_main.js" and calling them directly. Prerequisite for https://github.com/denoland/deno/issues/23342
2024-04-09fix(ext/node): implement MessagePort.unref() (#23278)Satya Rohith
Closes https://github.com/denoland/deno/issues/23252 Closes https://github.com/denoland/deno/issues/23264
2024-04-07FUTURE(ext/fs): make `Deno.FsFile` constructor illegal (#23235)Asher Gomez
I'm unsure whether we're planning to make the `Deno.FsFile` constructor illegal or remove `FsFile` from the `Deno.*` namspace in Deno 2. Either way, this PR works towards the former. I'll create a superceding PR if the latter is planned instead. Towards #23089
2024-04-05FUTURE: remove deprecated APIs within workers (#23220)Asher Gomez
2024-04-04fix(ext/node): count MessagePort message listeners in ↵Satya Rohith
hasMessageEventListener (#23209)
2024-03-27FUTURE(ext/fs): remove `Deno.FsFile.rid` (#23087)Asher Gomez
Continues work from #23075. Towards #23089.
2024-03-27FUTURE: remove `Deno.resources()` (#23095)Asher Gomez
2024-03-26feat: remove deprecated methods from namespace with `DENO_FUTURE=1` (#23075)Asher Gomez
This change removes deprecated methods from the `Deno.*` namespace when the `DENO_FUTURE=1` environment variable is used. Note: this does not address deprecated class properties and methods. E.g. `Deno.Conn.rid`.
2024-03-24refactor(bench): align ops to testing ops (#23038)Bartek Iwańczuk
Internal refactor that changes how we use ops in `deno bench` subcommand. This brings it in line to what we do in `deno test` subcommand.
2024-03-22perf: warm expensive init code at snapshot time (#22714)Matt Mastracci
Slightly different approach to similar changes in #22386 Note that this doesn't use a warmup script -- we are actually just doing more work at snapshot time.
2024-03-21fix: do not memoize `Deno.ppid` (#23006)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/23004
2024-03-15fix(ext/node): worker_threads doesn't exit if there are message listeners ↵Bartek Iwańczuk
(#22944) Closes https://github.com/denoland/deno/issues/22934
2024-03-13fix(ext/node): make worker ids sequential (#22884)Satya Rohith
2024-03-13fix(ext/node): allow automatic worker_thread termination (#22647)Satya Rohith
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-03-11fix(ext/node): make worker setup synchronous (#22815)Bartek Iwańczuk
This commit fixes race condition in "node:worker_threads" module were the first message did a setup of "threadId", "workerData" and "environmentData". Now this data is passed explicitly during workers creation and is set up before any user code is executed. Closes https://github.com/denoland/deno/issues/22783 Closes https://github.com/denoland/deno/issues/22672 --------- Co-authored-by: Satya Rohith <me@satyarohith.com>
2024-03-08refactor(ext/node): worker_threads.isMainThread setup (#22785)Bartek Iwańczuk
This commit changes how we figure out if we're running on main thread in `node:worker_threads` module. Instead of relying on quirky "magic variable" for a name to check if we're on main thread, we are now explicitly passing this information during bootstrapping of the runtime. As a side effect, `WorkerOptions.name` is more useful and matches what Node.js does more closely (though not fully). Towards https://github.com/denoland/deno/issues/22783