``` ░▒▓████████▓▒░░▒▓███████▓▒░▒▓███████▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓██████▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓████████▓▒░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░ ``` # esr This is a simple esbuild-powered dev server. It has livereloading. It's fast. It's configured with YAML. ## Example configuration ```yml # Defaults bundle: true platform: browser # browser | node format: esm # esm | cjs | iife outdir: public minify: false minifyWhitespace: false minifyIdentifiers: false sourcemap: true # Optional. Applies to `--serve`, or `--run --watch`. # Files that match these paths trigger reload or rerun when they are changed. watch: paths: ['src/**/*.{ts,tsx,css}', 'public/index.html'] # Each mode inherits from the configuration above, but can # override certain options as needed. serve: html: public/index.html port: 1234 # When building, you might want to override some of the defaults build: minify: true minifyWhitespace: true minifyIdentifiers: true sourcemap: false run: # For example: runtime: bun # node | bun | ?? jsx: automatic jsxFactory: React.createElement # By default, loader is undefined. # You can define loaders with the `loader` property, like this: loader: .js: jsx .ts: tsx ``` When serving an index.html, you can use `{{ livereload }}` to inject the livereload EventSource logic, and `{{ js }}` and `{{ css }}` to inject tags for built assets. ```html Application {{ css }}
{{ livereload }} {{ js }} ```