summaryrefslogtreecommitdiff
path: root/ext/node
AgeCommit message (Collapse)Author
2022-09-17fix(ext/node): fix builtin module module (#15904)Yoshiya Hinosawa
2022-09-17refactor(ext/node): use primordials (#15912)Marcos Casagrande
2022-09-15chore: forward v1.25.3 release commit to main (#15919)Colin Ihrig
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
2022-09-14fix(ops): add node.js env variable allowlist (#15893)Colin Ihrig
This commit allows the Node compatibility layer to skip environment variable permission checks when --unstable is passed and the variable name is one that Node uses. Fixes: https://github.com/denoland/deno/issues/15890
2022-09-13refactor(npm): create general use `NpmPackageResolver` (#15882)David Sherret
2022-09-12fix(npm): support cjs resolution of package subpath with package.json (#15855)David Sherret
2022-09-10fix(npm): remove export binding to match node (#15837)David Sherret
2022-09-09chore: forward v1.25.2 release commit to main (#15831)denobot
Co-authored-by: kt3k <kt3k@users.noreply.github.com>
2022-09-08fix(npm): recursive translation of reexports, remove window global in node ↵Bartek Iwańczuk
code (#15806) Co-authored-by: David Sherret <dsherret@gmail.com>
2022-09-06fix(npm): conditional exports in npm: specifiers (#15778)Bartek Iwańczuk
2022-09-05refactor: cleanup Node compatibility code (#15766)Bartek Iwańczuk
- move errors related to Node compat from cli/node/errors.rs to "ext/node" crate - remove dependency on "node_resolver" crate - make some of structures private to the "cli/node" module
2022-09-03BREAKING(unstable): remove --compat mode (#15678)Bartek Iwańczuk
This commit removes "compat" mode. We shipped support for "npm:" specifier support in v1.25 and that is preferred way to interact with Node code that we will iterate and improve upon.
2022-09-02chore: forward v1.25.1 release commit to main (#15735)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2022-08-30fix(npm): prefer importing esm from esm (#15676)David Sherret
2022-08-29fix(ext/node): better error for importing ES module via require() call (#15671)Bartek Iwańczuk
2022-08-29fix(npm): conditional exports with wildcards (#15652)Bartek Iwańczuk
2022-08-26fix(ext/node): fix global in node env (#15622)Yoshiya Hinosawa
2022-08-25fix: avoid global declaration collisions in cjs (#15608)David Sherret
* Use a default stack size * 2 in debug for Windows because swc using so much stack size. We should look into this more later though.
2022-08-25fix(ext/node): add missing primordial (#15595)Bartek Iwańczuk
2022-08-25v1.25.0Bartek Iwańczuk
2022-08-24feat(unstable): add more permission checks for ext/node/ (#15581)Bartek Iwańczuk
2022-08-24fix(unstable): various resolution bugs for npm: specifiers (#15546)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-23feat: binary npm commands (#15542)David Sherret
2022-08-20feat(unstable): initial support for npm specifiers (#15484)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-08-11chore(ext/node): correct publishing for ext/node (#15461)David Sherret
2022-08-11chore: forward v1.24.3 release commit to main (#15462)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-11refactor(ext/node): remove several TODOs (#15452)Bartek Iwańczuk
2022-08-11perf(ops): Monomorphic sync op calls (#15337)Aapo Alasuutari
Welcome to better optimised op calls! Currently opSync is called with parameters of every type and count. This most definitely makes the call megamorphic. Additionally, it seems that spread params leads to V8 not being able to optimise the calls quite as well (apparently Fast Calls cannot be used with spread params). Monomorphising op calls should lead to some improved performance. Now that unwrapping of sync ops results is done on Rust side, this is pretty simple: ``` opSync("op_foo", param1, param2); // -> turns to ops.op_foo(param1, param2); ``` This means sync op calls are now just directly calling the native binding function. When V8 Fast API Calls are enabled, this will enable those to be called on the optimised path. Monomorphising async ops likely requires using callbacks and is left as an exercise to the reader.
2022-08-09chore: temporarily disable `ext/node` and use unstable ops (#15438)David Sherret
2022-08-09chore: temporarily disable `op_require_read_file` (#15433)David Sherret
2022-08-09feat: add ext/node for require support (#15362)Bartek Iwańczuk
This commit adds "ext/node" extension that implementes CommonJS module system. In the future this extension might be extended to actually contain implementation of Node compatibility layer in favor of "deno_std/node". Currently this functionality is not publicly exposed, it is available via "Deno[Deno.internal].require" namespace and is meant to be used by other functionality to be landed soon. This is a minimal first pass, things that still don't work: support for dynamic imports in CJS conditional exports