A JavaScript UI library that allows you to build interactive web applications using Lua scripts. Available as both a library with external dependencies and a fully self-contained bundle.
npm install druid-ui
This installs the library version that requires external dependencies to be installed separately.
For direct browser usage without a build system:
<!-- ES Module (Standalone) -->
<script type="module">
import { DruidUI } from "https://unpkg.com/druid-ui/dist/druid-ui.standalone.esm.js";
// Your code here
</script>
<!-- UMD (Standalone) -->
<script src="https://unpkg.com/druid-ui/dist/druid-ui.standalone.umd.js"></script>
<script>
// DruidUI is available globally
const { DruidUI } = window.DruidUI;
</script>
import { DruidUI } from "druid-ui";
// Dependencies like wasmoon, morphdom, @twind/* need to be installed separately
import { DruidUI } from "druid-ui/standalone";
// Everything is bundled, no external dependencies needed
<!DOCTYPE html>
<html>
<head>
<title>DruidUI Example</title>
</head>
<body>
<druid-ui entrypoint="app.lua" path="/"></druid-ui>
<script type="module">
import { DruidUI } from "druid-ui/standalone";
// DruidUI is automatically registered as a custom element
</script>
</body>
</html>
import { DruidUI } from "druid-ui";
const druidElement = document.createElement("druid-ui");
druidElement.setAttribute("entrypoint", "app.lua");
druidElement.setAttribute("path", "/");
document.body.appendChild(druidElement);
npm run dev
npm run build
This creates both library and standalone versions:
dist/druid-ui.lib.esm.js
- ES Moduledist/druid-ui.lib.umd.js
- UMD builddist/main.d.ts
- TypeScript definitions
dist/druid-ui.standalone.esm.js
- ES Module with all dependenciesdist/druid-ui.standalone.umd.js
- UMD build with all dependencies
# Build only the library version (with external deps)
npm run build:lib
# Build only the standalone version (bundled deps)
npm run build:standalone