GitShow/denoland/deno
denoland

deno

A modern runtime for JavaScript and TypeScript.

by denoland
denojavascriptrusttypescript
Star on GitHubForkWebsite

Rust

108.4k stars6.4k forks1.3k contributorsActive · 1d agoSince 2018v2.9.6MIT

Meet the team

See all 1279 on GitHub →
bartlomieju
bartlomieju3.3k contributions
dsherret
dsherret1.8k contributions
ry
ry1.4k contributions
littledivy
littledivy852 contributions
nayeemrmn
nayeemrmn628 contributions
nathanwhit
nathanwhit521 contributions
lucacasonato
lucacasonato514 contributions
kt3k
kt3k452 contributions

Languages

View on GitHub →
Rust62.2%
TypeScript26.1%
JavaScript10.4%
C1.2%
HTML0%
CSS0%

Commit activity

Last 12 weeks · 675 commits

Full graph →

Community health

5 of 6 standards met

Community profile →
100
✓README✓License✓Contributing✓Code of Conduct○Issue Template✓PR Template

Recent PRs & issues

Active · Last activity 1d ago
See all on GitHub →
sigmaSd
`desktop.app.name` is ignored for Linux .desktop Name= when an explicit output path is configuredOpenIssue

gpt luna: Environment OS: Fedora Linux 44 Architecture: x86_64 Deno: 2.9.3 / 2.9.6 Desktop backend: Output format: Linux RPM repo: https://github.com/sigmaSd/aiuse Configuration Reproduction Build the RPM: Install it: The RPM installs successfully and contains the expected executable and icon: However, contains: The application launcher therefore displays instead of . Expected behavior should be used as the human-readable desktop entry name: The RPM/package name, executable name, value, and icon basename should remain derived from the output/package stem: This is consistent with the Deno documentation, which says that is used for the Linux entry name: https://docs.deno.com/runtime/desktop/configuration/#app.name Suspected cause In , is only used as an output fallback when no output is explicitly configured: When an explicit output such as is provided, the configured display name is not retained separately. Later, Linux package metadata derives from the staged app directory name, which is . The generated desktop entry then uses that value for . Relevant functions: Suggested fix Keep the configured as a separate human-readable display name. Continue deriving the package and executable names from the output path, but use the configured display name for the desktop entry's field. This should apply consistently to: Linux app-directory builds packages packages AppImage desktop entries

sigmaSd · 6h ago
petamoriken
fix(desktop): align raw BrowserWindow with CEF / WebView and add devicePixelRatio, innerWidth, innerHeightOpenPR

Summary Two parts: bring raw in line with CEF / WebView, and add Web-shaped viewport getters that every backend was missing. Align raw with CEF / WebView Mouse events now fill and /, fire on a real double-click, and report wheel with the DOM sign (positive = down). / use the content-view origin (), so the title bar is included. On Windows a press can be dequeued before the move that preceded it, so the matching laufey change re-reads the pointer before dispatching. , , , and / use logical pixels, matching CEF / WebView and the constructor. Opening no longer fires twice. On Windows the OS also emits a burst of intermediate sizes before the requested one; those are withheld until the event loop goes idle. reports the real frame origin after the window exists, not a consumed request. during the constructor offsets by the window chrome on Windows and macOS instead of returning a point on the title bar. Shift / Control / Alt / Meta emit / . Super maps to . The matching laufey change also does this on macOS WebView () and keeps at 1. New getters These are new on every backend (raw, CEF, and WebView), not raw-only fixes. is a live getter, the same ratio as . The constructor already reports the real scale (seeded from the primary display, not ), and a window that moves to another monitor updates on the next read. WebGPU surfaces configured from or / should use . and are live getters for the same logical viewport as , like / . Depends on https://github.com/littledivy/laufey/pull/80 (ABI 35, including ). Until that lands and a laufey release is cut, this branch pins: After the laufey change is on crates.io, that pin should be replaced with the published crate version. AI Disclosure This PR was drafted and filed by an AI assistant (Grok). I reviewed and edited it myself.

petamoriken · 8h ago
sigmaSd
feature(desktop): native support for OS-package-manager update channels (repo metadata + signing) for .rpm/.deb outputOpenIssue

I noticed when I installed chatgpt rpm from their site, that it kept receiving updates with dnf, I didn't know its possible and I thought it would be a nice addition to deno desktop rpm build , so here is a claude summary: Problem statement builds a real native package, but it's a one-shot artifact — there's no story for the next release beyond "user re-downloads and re-installs manually," while solves updates only for the non-packaged (AppImage/raw-binary) distribution path. Distro-package users get neither integration nor the native updater (which would fight 's bookkeeping if enabled anyway). Proposed shape 1. New config block (mirrors the existing pattern from ): This is the config surface that turns the plain package-builder into a package-builder-plus-repo-client. 2. Build-time: embed repo metadata into the package payload When is set, the pure-Rust RPM/DEB assembler (already writing , symlink, entry) additionally writes: RPM: + DEB: + a keyring dropped under No spec-file/ involvement needed — same "assemble the payload tree directly in Rust" approach they already use for the rest of the package. 3. Package signing at build time Sign the built (-equivalent, or pure-Rust RPM signing since they've avoided shelling out elsewhere) and the (/-equivalent) using the key referenced in . This is the part that actually makes / trust the repo without a manual step each release (still needed once, on first install — same chicken-and-egg bootstrap OpenAI's has). 4. New repo-maintenance command: (or folded into ) Takes a directory of already-built / artifacts across versions and (re)generates the actual repo index — (RPM: primary.xml, repomd.xml, etc.) and the Debian / files. Implemented as a pure-Rust equivalent of / so no system tooling dependency, consistent with the rest of the toolchain's philosophy. Uploading the resulting directory to wherever points is left to the user (S3, GH Pages, etc.) — same boundary already draws for its own release server. 5. Mutual exclusion with ** At runtime, /a new flag like () lets the app detect it was installed via the system package manager (e.g. its binary path is under ). Apps should be encouraged (docs, maybe a runtime warning) to call in notify-only mode — surface "update available, run " — rather than apply-in-place, when . This avoids the corruption/ mismatch problem from earlier. Open questions worth flagging in the issue itself Key rotation story — how does a compromised/rotated signing key get distributed to already-installed repo files? Channel support (/) mapping onto separate repo paths or a single repo with priority pinning? Whether should support incremental updates to / or always full-regenerate (matters at scale, less so for smaller projects). ARM64 + x86_64 in the same repo (multi-arch repodata is standard for RPM/APT, just needs to be modeled).

sigmaSd · 11h ago
Structured data for AI agents

Repository: denoland/deno. Description: A modern runtime for JavaScript and TypeScript. Stars: 108382, Forks: 6372. Primary language: Rust. Languages: Rust (62.2%), TypeScript (26.1%), JavaScript (10.4%), C (1.2%), HTML (0%). License: MIT. Homepage: https://deno.com Topics: deno, javascript, rust, typescript. Latest release: v2.9.6 (1w ago). Open PRs: 100, open issues: 1446. Last activity: 1d ago. Community health: 100%. Top contributors: bartlomieju, dsherret, ry, littledivy, nayeemrmn, nathanwhit, lucacasonato, kt3k, divybot, kitsonk and others.

·@ofershap

Replace github.com with gitshow.dev