←back to thread

77 points TonyPeakman | 2 comments | | HN request time: 0.398s | 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 #
xupybd ◴[] No.45245415[source]
Website looks dead. I get Godaddy domain parking.
replies(2): >>45245523 #>>45245763 #
pylotlight ◴[] No.45245523[source]
worked for me. See also: https://github.com/dagger8224/dagger.js
replies(1): >>45245622 #
mdaniel ◴[] No.45245622[source]
I'd guess people are getting different results because of the varying A records https://dns.google/query?name=daggerjs.org

https://www.whois.com/whois/3.33.130.190 and https://www.whois.com/whois/15.197.148.33 are AWS

https://www.whois.com/whois/185.199.109.153 and similar are GitHub and is almost certainly this repo https://github.com/dagger8224/dagger8224.github.io/blob/main...

replies(2): >>45245754 #>>45247929 #
xupybd ◴[] No.45245754[source]
It's working now
replies(1): >>45246100 #
1. chrismorgan ◴[] No.45246100[source]
No, it’s still broken. DNS is offering six choices, two of which are broken.
replies(1): >>45247741 #
2. TonyPeakman ◴[] No.45247741[source]
I removed the broken A record, and it should work normally.