![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Sometimes, all you want to do is to try and do something—no boilerplate, bundlers, or complex build processes. Lucia aims to provide an augmentation layer for your logic, allowing you to bind attributes to your HTML to add interactivity without writing any extra JavaScript.
Hi! Aiden here, author of Lucia. I hope you find an interesting take on web development and a useful tool for your projects. Lucia is actively looking for new maintainers, please leave a reply!
-Aiden (@aidenybai)
Lucia doesn't require build tools by default. Feel free to just drop a script tag in the head of your webpage.
<!-- Development version: helpful console tips -->
<script src="https://unpkg.com/lucia"></script>
<!-- Production version: no warnings -->
<script src="https://unpkg.com/lucia/dist/lucia.min.js"></script>
It also integrates well with module bundlers like Webpack or Rollup; we recommend specifying the exact build if you import Lucia this way.
→ Learn more about installing Lucia
Below is an extremely simple implementation of a todo app using Lucia, utilizing zero JavaScript. Tasks can be added by submitting the form with the input. No, your eyes aren't fooling you—it's really that simple.
<div l-state="{ value: '', todo: [] }">
<!-- oninput: set `value` to input.value -->
<input l-model="value" />
<!-- onclick: add the current `value` to the `todo` array -->
<button @click="todo.push(value)">Create</button>
<!-- joins `todo` array together -->
<ul l-for="task in todo">
<li l-text="this.task"></li>
</ul>
</div>
→ View the live Codepen example
Want your logo here? → Sponsor Lucia
Looking for the docs? Check the Lucia website out.
Have a question about Lucia? Post it on the GitHub Discussions and ask the community for help.
Find a bug? Head over to our issue tracker and we'll do our best to help. We love pull requests, too!
We expect all Lucia contributors to abide by the terms of our Code of Conduct.
→ Start contributing on GitHub
Lucia is MIT-licensed open-source software by Aiden Bai et al.
Lucia takes heavy inspiration from Vue's syntax, and believes in the core philosophies and values behind Alpine.js, Dababy, and Remake. Feel free to check them out if you interested in an alternative library to use.
Lucia originates from the Latin word "lux", meaning "light, illuminance"
© 2020-2021 Aiden Bai.
FAQs
A simple and flexible authentication library
The npm package lucia receives a total of 35,869 weekly downloads. As such, lucia popularity was classified as popular.
We found that lucia demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.