summaryrefslogtreecommitdiff
path: root/cli/tests
AgeCommit message (Collapse)Author
2023-08-08refactor(cli): move `snapshot_from_lockfile` function to `deno_npm` (#20024)Yusuke Tanaka
This commit moves `snapshot_from_lockfile` function to [deno_npm crate](https://github.com/denoland/deno_npm). This allows this function to be called outside Deno CLI (in particular, Deno Deploy).
2023-08-06feat(unstable): rename `deno_modules` to `vendor` (#20065)David Sherret
Renames the unstable `deno_modules` directory and corresponding settings to `vendor` after feedback. Also causes the vendoring of the `node_modules` directory which can be disabled via `--node-modules-dir=false` or `"nodeModulesDir": false`.
2023-08-06fix(unstable): vendor cache should support adding files to hashed ↵David Sherret
directories (#20070) This changes the design of the manifest.json file to have a separate "folders" map for mapping hashed directories. This allows, for example, to add files in a folder like `http_localhost_8000/#testing_5de71/` and have them be resolved automatically as long as their remaining components are identity-mappable to the file system (not hashed). It also saves space in the manifest.json file by only including the hashed directory instead of each descendant file. ``` // manifest.json { "folders": { "https://localhost/NOT_MAPPABLE/": "localhost/#not_mappable_5cefgh" }, "modules": { "https://localhost/folder/file": { "headers": { "content-type": "application/javascript" } }, } } // folder structure localhost - folder - #file_2defn (note: I've made up the hashes in these examples) - #not_mappable_5cefgh - mod.ts - etc.ts - more_files.ts ```
2023-08-05chore: use zlib-ng for flate2 (#20059)Matt Mastracci
Extracted from PR #16011
2023-08-04fix(test): make test runner work when global setTimeout is replaced (#20052)Yoshiya Hinosawa
2023-08-04fix(node): polyfill process.title (#20044)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19777
2023-08-04fix(node): repl._builtinLibs (#20046)Bartek Iwańczuk
Ref https://github.com/denoland/deno/issues/19733
2023-08-03feat(permissions): add "--deny-*" flags (#19070)Asher Gomez
This commit adds new "--deny-*" permission flags. These are complimentary to "--allow-*" flags. These flags can be used to restrict access to certain resources, even if they were granted using "--allow-*" flags or the "--allow-all" ("-A") flag. Eg. specifying "--allow-read --deny-read" will result in a permission error, while "--allow-read --deny-read=/etc" will allow read access to all FS but the "/etc" directory. Runtime permissions APIs ("Deno.permissions") were adjusted as well, mainly by adding, a new "PermissionStatus.partial" field. This field denotes that while permission might be granted to requested resource, it's only partial (ie. a "--deny-*" flag was specified that excludes some of the requested resources). Eg. specifying "--allow-read=foo/ --deny-read=foo/bar" and then querying for permissions like "Deno.permissions.query({ name: "read", path: "foo/" })" will return "PermissionStatus { state: "granted", onchange: null, partial: true }", denoting that some of the subpaths don't have read access. Closes #18804. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
2023-08-02refactor: use '--reporter' and '--junit-path' flags for 'deno test' (#20031)Bartek Iwańczuk
This commit adds "--reporter" and "--junit-path" flags to "deno test" subcommand instead of using "--dot" and "--junit" flags.
2023-08-02feat(unstable/lsp): support navigating to deno_modules folder (#20030)David Sherret
Closes #20015 Closes https://github.com/denoland/vscode_deno/issues/850 (only for deno_modules, but I don't think this will be possible for the global cache)
2023-08-02feat(cli): Add dot test reporter (#19804)Bartek Iwańczuk
This commit adds a "dot" reporter to "deno test" subcommand, that can be activated using "--dot" flag. It provides a concise output using: - "." for passing test - "," for ignored test - "!" for failing test User output is silenced and not printed to the console. In non-TTY environments each result is printed on a separate line.
2023-08-02fix(node): node:test reports correct location (#20025)Bartek Iwańczuk
Also removed some noisy output that caused test flakiness.
2023-08-02fix: regression in workers using dynamic imports (#20006)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19903
2023-08-02feat(unstable): optional `deno_modules` directory (#19977)David Sherret
Closes #15633
2023-08-01feat(bench): print iter/s in the report (#19994)Bartek Iwańczuk
This commit adds "iter/s" column to the console report generated by "deno bench" subcommand.
2023-08-01fix(ext/node): fix import json using npm specifier (#19723)await-ovo
2023-08-02feat(node): add polyfill for node:test module (#20002)Bartek Iwańczuk
This commit provides basic polyfill for "node:test" module. Currently only top-level "test" function is polyfilled, all remaining functions from that module throw not implemented errors.
2023-08-01feat(npm): support running non-bin scripts in npm pkgs via `deno run` (#19975)David Sherret
Closes https://github.com/denoland/deno/issues/19967
2023-08-01fix(test): request cloning should throw if body stream is locked (#19990)Felipe Baltor
Follow-up from #19869.
2023-08-01fix: deno diagnostic - clarify where to put triple-slash directive (#20009)David Sherret
Some people might not know what "entrypoint" means or where to put the triple-slash directive.
2023-08-01fix: retry module download once if server errored (#17252)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/17251 Closes #19970 This commits adds logic to retry failed module downloads once. Both request and server errors are handled and the retry is done after 50 ms wait time.
2023-07-31chore: make LSP test less prone to changes (#20003)Bartek Iwańczuk
This test was getting changed often, I modified it a bit so it's less sensitive to changes in declaration files.
2023-07-31feat(node/os): implement getPriority, setPriority & userInfo (#19370)Leo Kettmeir
Takes #4202 over Closes #17850 --------- Co-authored-by: ecyrbe <ecyrbe@gmail.com>
2023-07-31perf: faster node globals access in cjs (#19997)Luca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-07-31chore(cli): Reduce port conflict in tests (#19988)Matt Mastracci
Ports are still occasionally causing CI flake -- allocate and separate ports further for fetch/http tests.
2023-07-31chore(cli): Fix test that locks up on some M2 macs (#19989)Matt Mastracci
I'm not sure why, but sending SIGABRT to Deno on my machine as part of this test causes it to lock up very badly, leaving it in an unkillable `UE+` state. This showed up after #19333, but was not caused by it.
2023-07-31feat(bench): add BenchContext::start() and BenchContext::end() (#18734)Nayeem Rahman
Closes #17589. ```ts Deno.bench("foo", async (t) => { const resource = setup(); // not included in measurement t.start(); measuredOperation(resource); t.end(); resource.close(); // not included in measurement }); ```
2023-07-30fix(Deno.serve): accessing .url on cloned request throws (#19869)Felipe Baltor
This PR fixes #19818. The problem was that the new InnerRequest class does not initialize the fields urlList and urlListProcessed that are used during a request clone. The solution aims to be straightforward by simply initializing the missing properties during the clone process. I also implemented a "cache" to the url getter of the new InnerRequest, avoiding the cost of calling op_http_get_request_method_and_url.
2023-07-28fix(npm): improve declaration resolution for filename with different ↵David Sherret
extensions (#19966) postcss was importing `./index.js` from `./index.d.mts` where there also existed a `./index.d.ts`. Closes #19575
2023-07-28feat: Deno.createHttpClient allowHost (#19689)Leo Kettmeir
This adds an option to allow using the host header in a fetch call. Closes https://github.com/denoland/deno/issues/16840 Ref https://github.com/denoland/deno/issues/11017
2023-07-27fix: do not include jsx without `@ts-check` in tsc roots (#19964)David Sherret
Closes #19928
2023-07-26fix(lsp): handle import mapped `node:` specifier (#19956)David Sherret
Closes https://github.com/denoland/vscode_deno/issues/805
2023-07-26fix(check): should bust check cache when json module or npm resolution ↵David Sherret
changes (#19941) A small part of #19928.
2023-07-25perf: cache node resolution when accesing a global (#19930)Bartek Iwańczuk
Reclaims some of the performance hit introduced by https://github.com/denoland/deno/pull/19307.
2023-07-25fix: deno info should respect import map (#19781)Vedant Pandey
Closes #19742
2023-07-25fix(node): add writable and readable fields to FakeSocket (#19931)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/19927
2023-07-25fix(ext/net): fix string port number handling in listen (#19921)Yoshiya Hinosawa
While string `port` is not allowed in typing, it seems we used to support that and now it's broken. ref: https://github.com/denoland/deno/issues/10064#issuecomment-1637427260 This PR restores the support of string port number in `listen` and `listenTls`
2023-07-21fix(lsp): handle watched files events from symlinked config files (#19898)David Sherret
Related to https://github.com/denoland/vscode_deno/issues/784
2023-07-21fix(node/http): add encrypted field to FakeSocket (#19886)Leo Kettmeir
Fixes #19557
2023-07-20fix(lsp): auto-discover deno.json in more cases (#19894)David Sherret
We weren't auto-discovering the deno.json in two cases: 1. A project that didn't have a deno.json and just added one. 2. After a syntax error in the deno.json. This now rediscovers it in both these cases. Closes https://github.com/denoland/vscode_deno/issues/867
2023-07-19feat(ext/node): properly segregate node globals (#19307)Luca Casonato
Code run within Deno-mode and Node-mode should have access to a slightly different set of globals. Previously this was done through a compile time code-transform for Node-mode, but this is not ideal and has many edge cases, for example Node's globalThis having a different identity than Deno's globalThis. This commit makes the `globalThis` of the entire runtime a semi-proxy. This proxy returns a different set of globals depending on the caller's mode. This is not a full proxy, because it is shadowed by "real" properties on globalThis. This is done to avoid the overhead of a full proxy for all globalThis operations. The globals between Deno-mode and Node-mode are now properly segregated. This means that code running in Deno-mode will not have access to Node's globals, and vice versa. Deleting a managed global in Deno-mode will NOT delete the corresponding global in Node-mode, and vice versa. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-07-19fix(node/http): call callback after request is sent (#19871)Leo Kettmeir
Fixes #19762
2023-07-19fix(runtime): print process name in case of spawn error (#19855)sigmaSd
Fix https://github.com/denoland/deno/issues/19400 Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-07-19fix(node/net): Server connection callback include socket value (#19779)Leo Kettmeir
2023-07-17fix(npm): support dynamic import of Deno TS from npm package (#19858)David Sherret
Closes #19843
2023-07-17fix(node): improve error message requiring non-npm es module (#19856)David Sherret
Closes #19842 Closes #16913
2023-07-17fix(node): improve require esm error messages (#19853)David Sherret
Part of #19842. Closes #19583 Closes #16913
2023-07-17fix(ext/node): fix stream/promises export (#19820)await-ovo
2023-07-14fix(npm): improve error message importing non-existent file in a ↵David Sherret
node_modules npm package (#19835)
2023-07-14fix(npm): improve error message on directory import in npm package (#19538)Elian Cordoba
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>