summaryrefslogtreecommitdiff
path: root/cli/tests
AgeCommit message (Collapse)Author
2023-03-05test(compile): Add a test for dynamic imports in `deno compile` (#18017)Andreu Botella
denoland/eszip#115 added support for statically-analyzed dynamic imports in eszip, which made `deno compile` support dynamic imports starting from #17858. This PR adds a test for it. ---- This test is adapted from PR #17663. Closes #17908
2023-03-03fix: lazily surface errors in package.json deps parsing (#17974)David Sherret
Closes #17941
2023-03-03chore: update deno_std submodule to 0.178.0 (#18003)Bartek Iwańczuk
2023-03-01fix(core): introduce `SafeRegExp` to primordials (#17592)Kenta Moriuchi
2023-02-28chore(test): remove TestCommandOutput macros (#17975)David Sherret
2023-02-27chore: test builders for integration tests (#17965)David Sherret
Start of adding test builders to simplify integration tests. I only updated a few test files. We can complete upgrading over time.
2023-02-27chore(ext/node): suppress node compat tests stdout by default (#17909)Yoshiya Hinosawa
2023-02-26fix(ext/node): util.types.isSharedArrayBuffer (#17836)Yoshiya Hinosawa
2023-02-25chore: fix flaky package_json_basic tests (#17940)David Sherret
https://github.com/denoland/deno/actions/runs/4267836955/jobs/7429836369 Closes #17946
2023-02-24fix(npm): lazily install package.json dependencies only when necessary (#17931)David Sherret
This lazily does an "npm install" when any package name matches what's found in the package.json or when running a script from package.json with deno task. Part of #17916 Closes #17928
2023-02-24refactor(flash): move remoteAddr to options bag (#17913)Leo Kettmeir
Applies suggestion from #17912
2023-02-24fix: ensure concurrent non-statically analyzable dynamic imports do not ↵David Sherret
sometimes fail (#17923) Closes #17918
2023-02-24feat: add `DENO_NO_PACKAGE_JSON` env var (#17926)David Sherret
Depends on #17924 Part of #17916
2023-02-24fix(npm): package.json auto-discovery should respect `--no-config` and ↵David Sherret
`--no-npm` (#17924) Part of #17916
2023-02-23fix(npm): allow resolving from package.json when an import map exists (#17905)David Sherret
2023-02-23feat(task): adjust warning (#17904)Bartek Iwańczuk
Put it on a single line and remove coloring.
2023-02-23fix(webgpu): don't default to 0 for setVertexBuffer.size & properly use ↵Leo Kettmeir
webidl.setlike (#17800)
2023-02-23fix(npm): support bare specifiers in package.json having a path (#17903)David Sherret
For example `import * as test from "package/path.js"`
2023-02-23feat(npm): support bare specifiers from package.json in more subcommands and ↵David Sherret
language server (#17891)
2023-02-23feat(task): add warning about package.json scripts support (#17900)Bartek Iwańczuk
2023-02-23feat(npm): support npm specifiers in remote modules without `--unstable` ↵David Sherret
(#17889) Closes #17455
2023-02-23fix(ext/node): fix npm module resolution when --node-modules-dir specified ↵Yoshiya Hinosawa
(#17896)
2023-02-23feat(bench): change --json output format (#17888)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/17775
2023-02-22feat(task): support scripts in package.json (#17887)David Sherret
This is a super basic initial implementation. We don't create a `node_modules/.bin` folder at the moment and add it to the PATH like we should which is necessary to make command name resolution in the subprocess work properly (ex. you run a script that launches another script that then tries to launch an "npx command"... this won't work atm). Closes #17492
2023-02-23test(ext/node): add tty_test and util_test (#17868)Yoshiya Hinosawa
2023-02-23test(ext/node): add tls_test (#17871)Yoshiya Hinosawa
2023-02-22fix(npm): resolve node_modules dir relative to package.json instead of cwd ↵David Sherret
(#17885)
2023-02-22feat: support bare specifier resolution with package.json (#17864)Bartek Iwańczuk
This commit enables resolution of "bare specifiers" (eg. "import express from 'express';") if a "package.json" file is discovered. It's a step towards being able to run projects authored for Node.js without any changes. With this commit we are able to successfully run Vite projects without any changes to the user code. --------- Co-authored-by: David Sherret <dsherret@gmail.com>
2023-02-22feat(permissions): grant all permission for a group in permission prompt ↵Asher Gomez
(#17140) This commit adds new "A" option to the interactive permission prompt, that will allow all subsequent permissions for given group (domain). Ie. when querying for permissions to access eg. env variables responding with "A" will allow access to all environmental variables. This works for all permission domains and should make permission prompts more ergonomic for users.
2023-02-22refactor: use deno_graph for npm specifiers (#17858)David Sherret
This changes npm specifiers to be handled by deno_graph and resolved to an npm package name and version when the specifier is encountered. It also slightly changes how npm specifier resolution occurs—previously it would collect all the npm specifiers and resolve them all at once, but now it resolves them on the fly as they are encountered in the module graph. https://github.com/denoland/deno_graph/pull/232 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-22feat(ext/ffi): Replace pointer integers with v8::External objects (#16889)Aapo Alasuutari
2023-02-22fix(lint): revert no-deprecated-api for Deno.run (#17880)David Sherret
2023-02-22fix(ext/node): fix node stream (#17874)Yoshiya Hinosawa
2023-02-22fix(ext/node): fix webcrypto export (#17838)Yoshiya Hinosawa
2023-02-22fix(ext/node): fix process.uptime (#17839)Yoshiya Hinosawa
2023-02-20feat: auto-discover package.json for npm dependencies (#17272)Bartek Iwańczuk
This commits adds auto-discovery of "package.json" file when running "deno run" and "deno task" subcommands. In case of "deno run" the "package.json" is being looked up starting from the directory of the script that is being run, stopping early if "deno.json(c)" file is found (ie. FS tree won't be traversed "up" from "deno.json"). When "package.json" is discovered the "--node-modules-dir" flag is implied, leading to creation of local "node_modules/" directory - we did that, because most tools relying on "package.json" will expect "node_modules/" directory to be present (eg. Vite). Additionally "dependencies" and "devDependencies" specified in the "package.json" are downloaded on startup. This is a stepping stone to supporting bare specifier imports, but the actual integration will be done in a follow up commit. --------- Co-authored-by: David Sherret <dsherret@gmail.com>
2023-02-20perf: use ops for node:crypto ciphers (#17819)Divy Srivastava
Towards #17809
2023-02-20test(ext/node): more node compat tests (#17827)Yoshiya Hinosawa
This PR adds the remaining ~650 Node.js compat test cases from std/node. Among these 650 cases, about 130 cases are now failing. These failing cases are prefixed with `TODO:` in `tests/node_compat/config.json`. These will be addressed in later PRs.
2023-02-17test: add node compat tests (#17805)Yoshiya Hinosawa
2023-02-17feat(ext/node): implement `node:v8` (#17806)Divy Srivastava
Closes https://github.com/denoland/deno/issues/17115 Implements `cachedDataVersionTag` and `getHeapStatistics`.
2023-02-16test: add unit tests from std/node (#17794)Bartek Iwańczuk
Adds two test files: "cli/tests/unit_node/process_test.ts" and "cli/tests/unit_node/child_process_test.ts" --------- Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-02-16test: ignore inspector tests for npm integration (#17796)Bartek Iwańczuk
I will revisit and fix the test after we move along with "ext/node" integration. eg. https://github.com/denoland/deno/actions/runs/4189205563/jobs/7261246149
2023-02-15feat: wire up ext/node to the Node compatibility layer (#17785)Bartek Iwańczuk
This PR changes Node.js/npm compatibility layer to use polyfills for built-in Node.js embedded in the snapshot (that are coming from "ext/node" extension). As a result loading `std/node`, either from "https://deno.land/std@<latest>/" or from "DENO_NODE_COMPAT_URL" env variable were removed. All code that is imported via "npm:" specifiers now uses code embedded in the snapshot. Several fixes were applied to various modules in "ext/node" to make tests pass. --------- Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-02-15refactor: make resolver required (#17783)David Sherret
Makes the resolver required and prints a warning when vendoring and a dynamic import can't be resolved. Closes #16522
2023-02-15feat(flash): add 2nd param to handler to get remote address (#17633)Leo Kettmeir
Closes #17583
2023-02-14fix: loading built-in Node modules embedded in the binary (#17777)Bartek Iwańczuk
Fixes bug introduced in ed3a7ce2f719e64e59cfebb3d131a05a1694523b that caused errors when loading built-in Node modules, when using "deno_graph".
2023-02-14feat: Deprecate 'deno bundle' subcommand (#17695)Bartek Iwańczuk
This commit adds a deprecation warning when using "deno bundle" subcommand and removes it from the output of "deno help".
2023-02-12fix: add WouldBlock error (#17339)Leo Kettmeir
2023-02-12perf(http): remove allocations checking upgrade and connection header values ↵David Sherret
(#17727)
2023-02-12fix(ext/flash): Always send correct number of bytes when handling HEAD ↵Kamil Ogórek
requests (#17740) This was not caught in the previous test case, as the response body was smaller than the size of `HEAD` response. This made `nwritten < responseLen` check in `writeFixedResponse` to fail, and not trigger `op_flash_respond_async` as a result. When the response body is larger than the `HEAD` though, as in the updated test case (`HEAD` i 120 bytes, where our response is 300 bytes), it would think that we still have something to send, and effectively panic, as `op_flash_respond` already removed the request from the pool. This change, makes the `handleResponse` function always calculate the number of bytes to transmit when `HEAD` request is encountered. Effectively ignoring `Content-Length` of the body, but still setting it correctly in the request header itself. Fixes https://github.com/denoland/deno/issues/17737