summaryrefslogtreecommitdiff
path: root/cli
AgeCommit message (Collapse)Author
2024-11-20reviewHEADmainBartek Iwańczuk
2024-11-19Merge branch 'main' into mainBartek Iwańczuk
2024-11-19feat(compile): ability to embed directory in executable (#26939)David Sherret
2024-11-20Merge branch 'main' into haturatu/mainBartek Iwańczuk
2024-11-20dedup, rename, fix testsBartek Iwańczuk
2024-11-19feat(compile): ability to embed local data files (#26934)David Sherret
``` > deno compile --allow-read=. --include data-file.txt main.js ``` This only applies to files on the filesystem. For remote modules, that's going to have to wait for `import ... from "./data.txt" with { "type": "bytes" }` or whatever it will be.
2024-11-19feat(fmt): support SQL (#26750)João Baptista
This commit adds support for .sql files in "deno fmt" subcommand. Closes: https://github.com/denoland/deno/issues/25024 --------- Signed-off-by: m4rc3l05 <15786310+M4RC3L05@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-19refactor: update deno_doc, use prismjs, remove internal reference html ↵Leo Kettmeir
generation logic (#26885)
2024-11-20Merge branch 'denoland:main' into mainhaturau
2024-11-19fix(node): handle resolving ".//<something>" in npm packages (#26920)David Sherret
The issue was this package had an import like: `".//index.js"` and we resolved that as specified, but node normalizes it to `"./index.js"` so we have to copy node.
2024-11-19feat(task): dependencies (#26467)David Sherret
This commit adds support for "dependencies" in `deno task` subcommand: ```jsonc { "tasks": { "build": "deno run -RW build.ts", "generate": "deno run -RW generate.ts", "serve": { "command": "deno run -RN server.ts", "dependencies": ["build", "generate"] } } } ``` Executing `deno task serve` will first execute `build` and `generate` tasks (in parallel) and once both complete the `serve` task will be executed. Number of tasks run in parallel is equal to the no of cores on the machine, and respects `DENO_JOBS` env var if one is specified. Part of https://github.com/denoland/deno/issues/26462 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Marvin Hagemeister <marvin@deno.com>
2024-11-18feat(runtime): remove public OTEL trace API (#26854)Luca Casonato
This PR removes the public Deno.tracing.Span API. We are not confident we can ship an API that is better than the `@opentelemetry/api` API, because V8 CPED does not support us using `using` to manage span context. If this changes, we can revisit this decision. For now, users wanting custom spans can instrument their code using the `@opentelemetry/api` API and `@deno/otel`. This PR also speeds up the OTEL trace generation by a 30% by using Uint8Array instead of strings for the trace ID and span ID.
2024-11-18feat: fmt and lint respect .gitignore file (#26897)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/26573
2024-11-18fix(lsp): ignore editor indent settings if deno.json is present (#26912)Nayeem Rahman
2024-11-18perf(windows): delay load webgpu and some other dlls (#26917)David Sherret
Before: ~100ms, After: ~40ms for a hello world Closes https://github.com/denoland/deno/issues/26914
2024-11-18perf(compile): code cache (#26528)David Sherret
Adds a lazily created code cache to `deno compile` by default. The code cache is created on first run to a single file in the temp directory and is only written once. After it's been written, the code cache becomes read only on subsequent runs. Only the modules loaded during startup are cached (dynamic imports are not code cached). The code cache can be disabled by compiling with `--no-code-cache`.
2024-11-17feat(cli): support multiple env file argument (#26527)Bhuwan Pandit
Closes #26425 ## Overview This PR adds support for specifying multiple environment files as arguments when using the Deno CLI. Subsequent files override pre-existing variables defined in previous files. If the same variable is defined in the environment and in the file, the value from the environment takes precedence. ## Example Usage ```bash deno run --allow-env --env-file --env-file=".env.one" --env-file=".env.two" script.ts ``` --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-16feat(jupyter): Add `Deno.jupyter.image` API (#26284)Bartek Iwańczuk
This commit adds `Deno.jupyter.image` API to display PNG and JPG images: ``` const data = Deno.readFileSync("./my-image.jpg"); Deno.jupyter.image(data); Deno.jupyter.image("./my-image.jpg"); ```
2024-11-16feat(watch): log which file changed on HMR or watch change (#25801)HasanAlrimawi
Closes #25504
2024-11-16fix(cli): show prefix hint when installing a package globally (#26629)Miguel Rodrigues
Closes #26545 Shows a hint when a package is installed globally, otherwise fallbacks to the existing implementation.
2024-11-16feat(task): support object notation, remove support for JSDocs (#26886)Bartek Iwańczuk
This commit changes three aspects of `deno task`: 1. Tasks can now be written using object notation like so: ```jsonc { "tasks": { "foo": "deno run foo.js", "bar": { "command": "deno run bar.js" } } ``` 2. Support for comments for tasks is now removed. Comments above tasks will no longer be printed when running `deno task`. 3. Tasks written using object notation can have "description" field that replaces support for comments above tasks: ```jsonc { "tasks": { "bar": { "description": "This is a bar task" "command": "deno run bar.js" } } ``` ``` $ deno task Available tasks: - bar // This is a bar task deno run bar.js ``` Pulled most of the changes from https://github.com/denoland/deno/pull/26467 to support "dependencies" in tasks. Additionally some cleanup was performed to make code easier to read. --------- Co-authored-by: David Sherret <dsherret@gmail.com>
2024-11-15fix: update message for unsupported schemes with npm and jsr (#26884)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/26596
2024-11-15feat(lsp): auto-imports with @deno-types directives (#26821)Nayeem Rahman
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-11-15feat(ext/fetch): allow embedders to use `hickory_dns_resolver` instead of ↵Sahand Akbarzadeh
default `GaiResolver` (#26740) Allows embedders to use `hickory-dns-resolver` instead of threaded "getaddrinfo" resolver in the `fetch()` implementation.
2024-11-15perf: use available system memory for v8 isolate memory limit (#26868)Bartek Iwańczuk
Instead of using the default 1.4Gb limit (which was meant for browser tabs) configure V8 to set the heap limit to the amount of memory available in the system. Closes https://github.com/denoland/deno/issues/23424 Closes https://github.com/denoland/deno/issues/26435 Closes https://github.com/denoland/deno/issues/21226
2024-11-14refactor(resolver): move more resolution code into deno_resolver (#26873)David Sherret
Follow-up to cjs refactor. This moves most of the resolution code into the deno_resolver crate. Still pending is the npm resolution code.
2024-11-14feat(cli): add `--unstable-node-globals` flag (#26617)Marvin Hagemeister
This PR adds a new `--unstable-node-globals` flag to expose Node globals by default. Fixes https://github.com/denoland/deno/issues/26611 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-14fix: otel resiliency (#26857)snek
Improving the breadth of collected data, and ensuring that the collected data is more likely to be successfully reported. - Use `log` crate in more places - Hook up `log` crate to otel - Switch to process-wide otel processors - Handle places that use `process::exit` Also adds a more robust testing framework, with a deterministic tracing setting. Refs: https://github.com/denoland/deno/issues/26852
2024-11-14chore: upgrade runtimelib (jupyter) to 0.19 (#26862)Kyle Kelley
Upgrades the `runtimelib` crate. Of utility for users and library authors is the support for binary buffers on messages, especially for comms.
2024-11-13fix(cli): preserve comments in doc tests (#26828)Yusuke Tanaka
This commit makes comments in code snippets in JSDoc or markdown preserved when they are executed as tests. In particular, this is needed to get TypeScript special comments such as `@ts-ignore` or `@ts-expect-error` to work correctly. Fixes #26728
2024-11-13fix(fmt): error instead of panic on unstable format (#26859)David Sherret
2024-11-13feat(node): stabilize detecting if CJS via `"type": "commonjs"` in a ↵David Sherret
package.json (#26439) This will respect `"type": "commonjs"` in a package.json to determine if `.js`/`.jsx`/`.ts`/.tsx` files are CJS or ESM. If the file is found to be ESM it will be loaded as ESM though.
2024-11-13feat: OpenTelemetry Tracing API and Exporting (#26710)snek
Initial import of OTEL code supporting tracing. Metrics soon to come. Implements APIs for https://jsr.io/@deno/otel so that code using OpenTelemetry.js just works tm. There is still a lot of work to do with configuration and adding built-in tracing to core APIs, which will come in followup PRs. --------- Co-authored-by: Luca Casonato <hello@lcas.dev>
2024-11-13feat(ext/fs): add ctime to Deno.stats and use it in node compat layer (#24801)Łukasz Czerniawski
This PR fixes #24453, by introducing a ctime (using ctime for UNIX and ChangeTime for Windows) to Deno.stats. Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-11-12fix(install): re-setup bin entries after running lifecycle scripts (#26752)Nathan Whitaker
Fixes #26677 Some packages (like supabase) declare bin entries that don't exist until lifecycle scripts are run. For instance, the lifecycle script downloads a binary file which serves as a bin entrypoint. Unfortunately you can't just defer setting up the bin entries until after lifecycle scripts have run, because the scripts may rely on them. I looked into this, and PNPM just re-links bin entries after running lifecycle scripts. I think that's about the best we can do as well. Note that we'll only re-setup bin entries for packages whose lifecycle scripts we run. This should limit the performance cost, as typically a given project will not have many lifecycle scripts (and of those, many of them probably don't have bin entries to set up).
2024-11-12fix(lsp): skip code action edits that can't be converted (#26831)Nayeem Rahman
2024-11-10chore: forward v2.0.6 release commit to main (#26804)denobot
This is the release commit being forwarded back to main for 2.0.6 Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-11-10Revert "perf(upgrade): cache downloaded binaries in DENO_DIR" (#26799)Divy Srivastava
Reverts denoland/deno#26108 Tests are flaky on main https://github.com/denoland/deno/commit/01de3317424cc870913dbe85ff3b80eadaf8cc87
2024-11-09perf(upgrade): cache downloaded binaries in DENO_DIR (#26108)Bartek Iwańczuk
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-11-08fix: performance.timeOrigin (#26787)snek
`performance.timeOrigin` was being set from when JS started executing, but `op_now` measures from an `std::time::Instant` stored in `OpState`, which is created at a completely different time. This caused `performance.timeOrigin` to be very incorrect. This PR corrects the origin and also cleans up some of the timer code. Compared to `Date.now()`, `performance`'s time origin is now consistently within 5us (0.005ms) of system time. ![image](https://github.com/user-attachments/assets/0a7be04a-4f6d-4816-bd25-38a2e6136926)
2024-11-08fix(install): cache jsr deps from all workspace config files (#26779)Nathan Whitaker
Fixes #26772. I wasn't aware that the `imports()` method only returned the workspace root imports
2024-11-06refactor: use concrete error type for remaining ops (#26746)Leo Kettmeir
2024-11-06fix(fmt): don't use self-closing tags in HTML (#26754)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/26748
2024-11-06feat(lsp): auto-import completions from byonm dependencies (#26680)Nayeem Rahman
2024-11-06chore: forward v2.0.5 release commit to main (#26755)denobot
This is the release commit being forwarded back to main for 2.0.5 Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-11-05fix: panic_hook hangs without procfs (#26732)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/26701 Ref https://github.com/denoland/sui/commit/69e491353fb82ce15a861376ee8dc68f183e0486
2024-11-05fix(install): handle invalid function error, and fallback to junctions ↵Nathan Whitaker
regardless of the error (#26730) Fixes #26116. Handle the new error and treat is as lacking permission to make symlinks, but also to make this more robust, just always fall back to junctions no matter what the actual error is. Instead, warn if the error isn't one we've handled, but go on to attempt creating the junction
2024-11-05fix(add): better error message when adding package that only has pre-release ↵Nathan Whitaker
versions (#26724) Fixes https://github.com/denoland/deno/issues/26597 A small refactor as well to reduce some code duplication
2024-11-05fix(workspace): support wildcard packages (#26568)Bartek Iwańczuk
This commit adds support for wildcard packages in `workspace` configuration option in `deno.json`. This is now supported: ``` { "workspace": [ "./packages/*" ] } ``` Closes https://github.com/denoland/deno/issues/25783
2024-11-04fix(fmt): do not panic for jsx ignore container followed by jsx text (#26723)David Sherret