summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2024-03-01fix(lsp): regression - caching in lsp broken when config with imports has ↵David Sherret
comments (#22666) Caused by https://github.com/denoland/deno/pull/22553 Closes #22664
2024-03-01feat(unstable/pm): support version contraints in 'deno add' (#22646)Nayeem Rahman
2024-03-01chore(core): fix zlib_test sanitizer failures (#22659)Matt Mastracci
2024-03-01perf(cli): use new deno_core timers (#22569)Matt Mastracci
Improves #19100 Fixes #20356 Replaces #20428 Changes made in deno_core to support this: - [x] Errors must be handled in setTimeout callbacks - [x] Microtask ordering is not-quite-right - [x] Timer cancellation must be checked right before dispatch - [x] Timer sanitizer - [x] Move high-res timer to deno_core - [x] Timers need opcall tracing
2024-03-01fix(unstable/publish): repect `--no-check` in no-slow-types (#22653)David Sherret
2024-02-29fix(ext/node) add node http methods (#22630)Igor Zinkovsky
fixes #22627 This PR fixes a node compat issue that is preventing `serverless-http` and `serverless-express` npm modules from working with Deno. These modules are useful for running apps on AWS Lambda (and other serverless infra). --------- Signed-off-by: Igor Zinkovsky <igor@deno.com>
2024-02-29feat(unstable): `deno add` subcommand (#22520)Bartek Iwańczuk
This commit adds "deno add" subcommand that has a basic support for adding "jsr:" packages to "deno.json" file. This currently doesn't support "npm:" specifiers and specifying version constraints.
2024-02-29test(jsr): add tests for jsx files with and without pragmas (#22634)Bartek Iwańczuk
Follow up to https://github.com/denoland/deno/pull/22631 that asserts behavior when JSX and TSX files have and do not have pragmas with `jsx*` config.
2024-02-29feat(publish): enable package provenance by default on github actions (#22635)Divy Srivastava
2024-02-29test(publish): adjust a test for .env files (#22595)Bartek Iwańczuk
https://github.com/denoland/deno/pull/22590#discussion_r1502945984
2024-02-29fix(publish): print a warning when .jsx or .tsx is imported (#22631)Bartek Iwańczuk
This commit adds a warning when .jsx or .tsx is encountered during publishing. This is a stop-gap solution before we fix it proper.
2024-02-28fix(cli): ensure that pre- and post-test output is flushed at the ↵Matt Mastracci
appropriate times (#22611) Some `deno_std` tests were failing to print output that was resolved after the last test finished. In addition, output printed before tests began would sometimes appear above the "running X tests ..." line, and sometimes below it depending on timing. We now guarantee that all output is flushed before and after tests run, making the output consistent. Pre-test and post-test output are captured in `------ pre-test output ------` and `------ post-test output ------` blocks to differentiate them from the regular output blocks. Here's an example of a test (that is much noisier than normal, but an example of what the output will look like): ``` Check ./load_unload.ts ------- pre-test output ------- load ----- output end ----- running 1 test from ./load_unload.ts test ... ------- output ------- test ----- output end ----- test ... ok ([WILDCARD]) ------- post-test output ------- unload ----- output end ----- ```
2024-02-28Revert "fix(publish): error if there are uncommitted changes (#22613)" (#22625)Bartek Iwańczuk
This reverts commit c2c4e745a5db4f2e53aa70bf22b6c828fa1b4040.
2024-02-28fix(jsr): do not allow importing a non-JSR url via unanalyzable dynamic ↵David Sherret
import from JSR (#22623) A security feature of JSR is that it is self contained other than npm dependencies. At publish time, the registry rejects packages that write code like this: ```ts const data = await import("https://example.com/evil.js"); ``` However, this can be trivially bypassed by writing code that the registry cannot statically analyze for. This PR prevents Deno from loading dynamic imports that do this.
2024-02-28chore(cli): rename `--trace-ops` to `--trace-leaks` (#22598)Matt Mastracci
As we add tracing to more types of runtime activity, `--trace-ops` is less useful of a name. `--trace-leaks` better reflects that this feature traces both ops and timers, and will eventually trace resource opening as well. This keeps `--trace-ops` as an alias for `--trace-leaks`, but prints a warning to the console suggesting migration to `--trace-leaks`. One test continues to use `--trace-ops` to test the deprecation warning. --------- Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-28fix(publish): error if there are uncommitted changes (#22613)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/22330
2024-02-27perf(cli): reduce overhead in test registration (#22552)Matt Mastracci
- Removes the origin call, since all origins are the same for an isolate (ie: the main module) - Collects the `TestDescription`s and sends them all at the same time inside of an Arc, allowing us to (later on) re-use these instead of cloning. Needs a follow-up pass to remove all the cloning, but that's a thread that is pretty long to pull --------- Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-28feat(publish): provenance attestation (#22573)Divy Srivastava
Supply chain security for JSR. ``` $ deno publish --provenance Successfully published @divy/test_provenance@0.0.3 Provenance transparency log available at https://search.sigstore.dev/?logIndex=73657418 ``` 0. Package has been published. 1. Fetches the version manifest and verifies it's matching with uploaded files and exports. 2. Builds the attestation SLSA payload using Github actions env. 3. Creates an ephemeral key pair for signing the github token (aud=sigstore) and DSSE pre authentication tag. 4. Requests a X.509 signing certificate from Fulcio using the challenge and ephemeral public key PEM. 5. Prepares a DSSE envelop for Rekor to witness. Posts an intoto entry to Rekor and gets back the transparency log index. 6. Builds the provenance bundle and posts it to JSR.
2024-02-27fix(unstable): sloppy imports should resolve .d.ts files during types ↵David Sherret
resolution (#22602)
2024-02-27feat(publish): support sloppy imports and bare node built-ins (#22588)Luca Casonato
2024-02-27chore: bump deno_core (#22596)Matt Mastracci
Migrations: - snapshot code updated - runtime stats API tweaks
2024-02-27feat(publish): discover jsr.json and jsr.jsonc files (#22587)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/22491
2024-02-26test(publish): add a test that checks for .env files (#22590)Bartek Iwańczuk
2024-02-24fix(lsp): import map expansion (#22553)David Sherret
2024-02-23test(ext/node): assert imported argv0 value (#22568)Satya Rohith
2024-02-23fix(ext/node): set correct process.argv0 (#22555)Satya Rohith
2024-02-23feat: infer dependencies from package.json (#22563)Marvin Hagemeister
<!-- Before submitting a PR, please read https://docs.deno.com/runtime/manual/references/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. --> This PR enhances the `deno publish` command to infer dependencies from `package.json` if present.
2024-02-23fix(ext/node): init arch, pid, platform at startup (#22561)Satya Rohith
2024-02-23feat(publish): respect .gitignore during `deno publish` (#22514)Divy Srivastava
Files from `.gitignore`, global git config, `.git/info/exclude` and `deno.json`'s `exclude` are ignored.
2024-02-22chore: Add `timeout!` macro to `test_util` (#22539)Matt Mastracci
Our `itest` macros will occasionally run away and fail ~2 hours later. This aborts all testcases after 2 minutes.
2024-02-21fix(compile): respect compiler options for emit (#22521)Bartek Iwańczuk
`deno compile` was ignoring configuration file and thus not applying `compilerOptions` to influence the way files were emitted.
2024-02-21fix(ext/fs): make errors in tempfile creation clearer (#22498)Matt Mastracci
When using a prefix or suffix containing an invalid filename character, it's not entirely clear where the errors come from. We make these errors more consistent across platforms. In addition, all permission prompts for tempfile and tempdir were printing the same API name. We also take the opportunity to make the tempfile random space larger by 2x (using a base32-encoded u64 rather than a hex-encoded u32).
2024-02-21fix(publish): better no-slow-types type discovery (#22517)David Sherret
2024-02-21chore(cli): fix part of flaky test (#22515)Matt Mastracci
2024-02-21feat(publish): type check on publish (#22506)David Sherret
Supersedes #22501 and also fixes that issue.
2024-02-21fix(ext/node): pass alpnProtocols to Deno.startTls (#22512)Satya Rohith
2024-02-20fix(node/test): disable Deno test sanitizers (#22480)David Sherret
Closes #22473
2024-02-21feat(lsp): auto-import completions for jsr specifiers (#22462)Nayeem Rahman
2024-02-21Revert "fix(console): support NO_COLOR and colors option in all scena… ↵Bartek Iwańczuk
(#22507) …rios (#21910)" This reverts commit bd1358efab8ba7339a8e70034315fa7da840292e. This change caused https://github.com/denoland/deno/issues/22496 and https://github.com/denoland/deno/issues/22445
2024-02-20fix(ext/node): permission prompt for missing `process.env` permissions (#22487)Asher Gomez
Closes #18665 Closes #20213
2024-02-20perf(jsr): fast check cache and lazy fast check graph (#22485)David Sherret
2024-02-20chore: fix flaky lsp_vendor_dir (#22483)David Sherret
I think it was occassionally reading the diagnostics from the previous cache command rather than the config update. Closes #22481
2024-02-20fix(publish): print files that will be published (#22495)Luca Casonato
2024-02-19feat(unstable/lint): no-slow-types for JSR packages (#22430)David Sherret
1. Renames zap/fast-check to instead be a `no-slow-types` lint rule. 1. This lint rule is automatically run when doing `deno lint` for packages (deno.json files with a name, version, and exports field) 1. This lint rules still occurs on publish. It can be skipped by running with `--no-slow-types`
2024-02-19chore: move `test_util` to `tests/util/server` (#22444)Asher Gomez
As discussed with @mmastrac. --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com> Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-02-19fix: write lockfile in `deno info` (#22272)Luca Casonato
2024-02-19feat(core): highlight unprintable chars in permission prompts (#22468)Matt Mastracci
If we strip out unprintable chars, we don't see the full filename being requested by permission prompts. Instead, we highlight and escape them to make them visible.
2024-02-18feat: `Deno.ConnectTlsOptions.{cert,key}` (#22274)Asher Gomez
Towards #22197
2024-02-18fix: util.parseArgs() missing node:process import (#22405)Javier Hernández
fix parseArgs() not working due to missing import of node:process this commit fixes issue #22363
2024-02-18feat(fs): `Deno.FsFile.{isTerminal,setRaw}()` (#22234)Asher Gomez
Closes #22229. --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>