absolute dev
Start the development server with hot module replacement across all frameworks.
#Usage
# Start development server with HMR
absolute dev
# With a custom server entry
absolute dev src/backend/server.ts
# With a custom config
absolute dev --config ./my-config.ts$ absolute devABSOLUTEJS v0.19.0 ready in 1.23s ➜ Local: http://localhost:3000/ ➜ Network: http://192.168.1.42:3000/
#HTTPS in Dev
AbsoluteJS can run the dev server over HTTPS with local trusted certificates and HTTP/2 when you enable dev.https.
For certificate setup and mkcert prerequisites, see the absolute mkcert documentation.
#Chrome DevTools Workspaces
In development, AbsoluteJS automatically serves/.well-known/appspecific/com.chrome.devtools.json on localhost so Chrome DevTools can detect your project and offer a workspace connection.
This route is dev-only. It is not served in production. Chrome uses it to map network files back to your local project root and keeps the mapping stable with a persisted UUID.
- Open Chrome DevTools on a running AbsoluteJS app.
- Chrome requests the well-known devtools JSON route.
- In
Sources -> Workspaces, Chrome offers aConnectaction for the project root. - On Windows-hosted Chrome with WSL or Docker Desktop, AbsoluteJS rewrites Linux paths to UNC form so the workspace can mount correctly.
Example response:
{
"workspace": {
"root": "\\\\wsl.localhost\\Ubuntu\\home\\alex\\my-app",
"uuid": "8e6dbf15-ff89-4fda-a640-a62416da70cc"
}
}#Dev Config
AbsoluteJS uses a dedicated dev config namespace for development-server-only behavior. Today it includes HTTPS and Chrome DevTools workspace settings.
The DevTools feature works automatically under absolute dev, but you can override its behavior with dev.devtools. HTTPS is also configured here through dev.https.
import { defineConfig } from '@absolutejs/absolute';
export default defineConfig({
dev: {
https: true,
devtools: {
projectRoot: '.',
uuidCachePath: '.cache/absolute/devtools-uuid',
normalizeForWindowsContainer: true
}
}
});#Plugin Usage
If you are composing a custom Elysia server instead of relying on the built-in dev pipeline, AbsoluteJS also exposes the feature as a public plugin.
import { Elysia } from 'elysia';
import { devtoolsJson, networking } from '@absolutejs/absolute';
const app = new Elysia()
.use(devtoolsJson('build', {
projectRoot: '.',
uuidCachePath: '.cache/absolute/devtools-uuid'
}))
.get('/', () => 'hello')
.use(networking);Use the plugin when you want the same Chrome DevTools workspace behavior in a custom server setup without depending on prepare() internals.
#Options
src/backend/server.ts)absolute.config.ts0.0.0.0 and show network address