summaryrefslogtreecommitdiff
path: root/cli
AgeCommit message (Collapse)Author
2022-08-24fix(unstable): finish HTTP response for 205 and 304 responses (#15584)Bartek Iwańczuk
This commit fixes "Deno.serve()" API by making sure that 205 and 304 responses end with "\r\n\r\n".
2022-08-24fix(npm): always require --unstable flag even for esm (#15583)David Sherret
2022-08-24fix(npm): cjs export analysis should take into consideration exports with ↵David Sherret
dashes (#15582)
2022-08-24fix: resolve `jsxImportSource` relative to module (#15561)Luca Casonato
Previously `jsxImportSource` was resolved relative to the config file during graph building, and relative to the emitted module during runtime. This is now fixed so that the JSX import source is resolved relative to the module both during graph building and at runtime.
2022-08-24feat: support subpaths in npm package references (#15578)David Sherret
2022-08-24fix(unstable): Deno.serve() can parse hostnames (#15579)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-24feat(ext/flash): split upgradeHttp into two APIs (#15557)Luca Casonato
This commit splits `Deno.upgradeHttp` into two different APIs, because the same API is currently overloaded with two different functions. Flash requests upgrade immediately, with no need to return a `Response` object. Instead you have to manually write the response to the socket. Hyper requests only upgrade once a `Response` object has been sent. These two behaviours are now split into `Deno.upgradeHttp` and `Deno.upgradeHttpRaw`. The latter is flash only. The former only supports hyper requests at the moment, but can be updated to support flash in the future. Additionally this removes `void | Promise<void>` as valid return types for the handler function. If one wants to use `Deno.upgradeHttpRaw`, they will have to type cast the handler signature - the signature is meant for the 99.99%, and should not be complicated for the 0.01% that use `Deno.upgradeHttpRaw()`.
2022-08-23feat(npm): support packages with multiple command names (#15565)David Sherret
2022-08-24feat: update `Deno.serve` function signature (#15563)Luca Casonato
This commit changes the `Deno.serve` function signature to be more versatile and easier to use. It is now a drop in replacement for std/http's `serve`. The input validation has also been reworked.
2022-08-23fix: parse scoped npm specifiers with no version (#15564)David Sherret
2022-08-23feat: binary npm commands (#15542)David Sherret
2022-08-23fix(cache): do not attempt to emit non-emitable files (#15562)David Sherret
2022-08-23fix(ext/fetch): ignore user content-length header (#15555)Luca Casonato
Previously if a user specified a content-length header for an POST request without a body, the request would contain two `content-length` headers. One added by us, and one added by the user. This commit ignores all content-length headers coming from the user, because we need to have the sole authority on the content-length because we transmit the body.
2022-08-23BREAKING(ext/ffi): specialized `buffer` type (#15518)Divy Srivastava
2022-08-23docs: add permission tags to JSDocs (#15541)Kitson Kelly
Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com>
2022-08-22chore: typo (#15536)Ikko Ashimine
2022-08-22perf: cache swc dependency analysis and don't hold onto `ParsedSource`s in ↵David Sherret
memory (#15502)
2022-08-22feat(unstable): Respect --cached-only flags for npm: specifiers (#15512)Bartek Iwańczuk
This commit changes "npm:" specifier handling to respect "--cached-only" flags and adds "Download" messages for npm registry api calls. Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-22fix(ext/flash): fix default onListen callback (#15533)Yoshiya Hinosawa
2022-08-21fix(unstable): better error for invalid hostname in Deno.serve() (#15529)Bartek Iwańczuk
2022-08-21feat: `queueMicrotask()` error handling (#15522)Nayeem Rahman
Adds error event dispatching for queueMicrotask(). Consequently unhandled errors are now reported with Deno.core.terminate(), which is immune to the existing quirk with plainly thrown errors (#14158).
2022-08-21chore: use Rust 1.63.0 (#15464)Mathias Lafeldt
2022-08-21fix(ext/flash): fix listening port (#15519)Yoshiya Hinosawa
2022-08-21feat(ops): V8 Fast Calls (#15291)Divy Srivastava
2022-08-21fix(core/runtime): always cancel termination in exception handling (#15514)Nayeem Rahman
2022-08-20feat(unstable): initial support for npm specifiers (#15484)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-08-20feat: add "deno init" subcommand (#15469)Leo Kettmeir
This adds an init subcommand to that creates a project starter similar to cargo init. ``` $ deno init my_project Project initialized Run these commands to get started: cd my_project deno run main.ts deno run main_test.ts $ deno run main.ts Add 2 + 3 5 $ cat main.ts export function add(a: number, b: number): number { return a + b; } if (import.meta.main) { console.log("Add 2 + 3", add(2, 3)); } $ cat main_test.ts import { assertEquals } from "https://deno.land/std@0.151.0/testing/asserts.ts"; import { add } from "./main.ts"; Deno.test(function addTest() { assertEquals(add(2, 3), 5); }); ``` Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-08-19feat(unstable): change Deno.serve() API (#15498)Bartek Iwańczuk
- Merge "Deno.serve()" and "Deno.serveTls()" API - Remove first argument and use "fetch" field options instead - Update type declarations - Add more documentation
2022-08-19chore(bench): add flash router benchmarks (#15495)Divy Srivastava
2022-08-19perf(runtime): optimize Deno.file open & stream (#15496)Divy Srivastava
2022-08-19fix(ext/flash): concurrent response streams (#15493)Divy Srivastava
2022-08-18feat(ext/flash): An optimized http/1.1 server (#15405)Divy Srivastava
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl> Co-authored-by: crowlkats <crowlkats@toaxl.com> Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2022-08-17docs: add category tag for built-in APIs (#15480)Kitson Kelly
2022-08-16feat(runtime): add pre_execute_module_cb (#15485)David Sherret
2022-08-15chore(bench,test): list `.mts` under supported file extensions in cli docs ↵Geert-Jan Zwiers
(#15477)
2022-08-15chore: upgrade rusty_v8 to 0.48.1 (#15310)Bartek Iwańczuk
2022-08-14fix(npm): handle storing non-all lowercase package names (#15470)David Sherret
2022-08-12fix(coverage): ensure coverage is only collected in certain situations (#15467)David Sherret
2022-08-12docs(cli/dts): fix typo (#15457)Roj
2022-08-11refactor(cli): consolidate most MainWorker related code to the same place ↵David Sherret
(#15459)
2022-08-11chore: forward v1.24.3 release commit to main (#15462)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
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-10refactor(runtime): split up `MainWorker` and `WebWorker`'s `preload_module` ↵David Sherret
method into two separate methods (#15451)
2022-08-11fix(cli): allow configurations files to also be json modules (#15444)Nayeem Rahman
Closes #15440
2022-08-10feat: add initial internal npm client and dependency resolver (#15446)David Sherret
2022-08-10fix(permissions): ignore empty values (#15447)Leo Kettmeir
2022-08-10fix: allow setting `globalThis.location` when no `--location` is provided ↵Kayla Washburn
(#15448)
2022-08-10feat(repl): add color to functions for syntax highlighting (#15434)sigmaSd
2022-08-10fix(task): subcommand parser skips global args (#15297)Cre3per