Plain JavaScript

InDom works directly in any modern browser — no bundler or build process is required.
Simply include the library script and you’re ready to use it.

Example:
<script src="./js/indom.min.js">script>

<script src="https://cdn.jsdelivr.net/npm/indom@latest/dist/indom.min.js">script>

Your own scripts can then use InDom immediately, or you can wrap logic in InDom.onReady() to ensure the DOM is fully loaded.
You can also use InDom with your bundler of choice. Just make sure the InDom library file is loaded before the file that first uses it.

To enable full autocomplete and inline documentation in your IDE, add a reference comment at the top of your script:
/// <reference path="./dist/indom.js" />
This enables autocomplete and JSDoc hints in most IDEs while typing.
Replace /dist/indom.js with the actual location of your indom.js file (it doesn’t have to be in a production folder)


Modern DOM Power
for TypeScript, ESM & Plain JS
3.8KB JavaScript library that simplifies DOM manipulation
with a clean, chainable API for events, data, inputs harvesting, and more.
Automatic Cleanup,
Leak-Proof by Design
Events and state are cleared when elements leave the DOM,
even if removal happens outside InDom.
Cleaner Code,
Better Ergonomics
Get the InDom object directly in callbacks.
One element, one instance.
Works With Your Existing Stack
Use InDom on its own or alongside any library or framework,
its architecture ensures a seamless integration.