←back to thread

77 points TonyPeakman | 1 comments | | HN request time: 0s | source

TL;DR: dagger.js is a buildless, runtime-only micro-framework that plays nicely with native Web Components. It uses HTML-first directives (e.g. +click, +load) so you can ship a page by dropping a single <script> from a CDN—no bundlers, no compile step.

Why I built it Modern stacks are powerful but often heavy: bundlers, compile steps, framework DSLs, local CLIs. For internal tools, small apps, and edge/serverless deployments, I wanted something you can view-source, paste into a page, and ship.

What it is:

Runtime-only: no build or VDOM compile; hydrate behaviors directly on HTML. HTML directives: e.g. +click, lifecycle +load / +loaded / +unload / +unloaded. Zero APIs: dagger.js works in pure declarative mode, modules and directives provide everything you need to build your application. Web-Components-first: works alongside Custom Elements; keep concerns local. Distributed modules: load small, focused script modules via CDN. Progressive enhancement: the page renders without a build step.

Use cases:

Admin panels & dashboards that don’t warrant a full toolchain Embed widgets, docs-sites with interactive bits Edge/serverless apps where cold start and simplicity matter

Links

GitHub: https://github.com/dagger8224/dagger.js Docs/Guide: https://daggerjs.org Examples: https://codepen.io/dagger8224/pens

I’d love feedback on edge-cases, and where it breaks. Happy to answer tough questions here.

Show context
TonyPeakman ◴[] No.45245157[source]
thanks for taking a look!

Positioning: Think Alpine/Vue-like ergonomics but no build and WC-first.

Size & perf: Focus is on simplicity and startup latency over framework features. I’m not posting synthetic benchmarks; if you have a real page you want me to try, I’ll profile it and share results.

Interop: Works with native Custom Elements. I’m preparing examples with Shoelace/FAST.

Security: Directives are sandboxed; no eval. If you spot an injection risk, please open an issue and I’ll patch quickly.

Limitations: Complex state management, SSR/streaming, and huge SPA routing aren’t first goals.

License: MIT.

Contrib: Issues and small PRs welcome (docs, examples, tests especially).

I’ll stay in the thread to answer questions and incorporate feedback into the docs.

replies(2): >>45245415 #>>45245424 #
jodacola ◴[] No.45245424[source]
FYI: daggerjs.org is resolving to a GoDaddy domain parked page right now.

Will check out the repo linked at the end of your message.

replies(1): >>45245759 #
1. TonyPeakman ◴[] No.45245759[source]
Thanks for reporting this, jodacola, it seems there is domain parsing issue sometimes, you may refer to the alternative site: https://000712133.deployed.codepen.website/#overview/introdu...