This commit is contained in:
nvms 2024-10-09 14:33:06 -04:00
parent 40d031772c
commit d93969a9ee

View File

@ -11,6 +11,72 @@
```
# esr
This is a simple esbuild-powered dev server. It has livereloading. It's fast.
This is a simple esbuild-powered dev server. It has livereloading. It's fast. It's configured with YAML.
The end.
## Example configuration
```yml
# Defaults
bundle: true
platform: browser
format: esm
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}', '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> <outfile>
runtime: 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 }}` to inject a script tag for the built output file.
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Application</title>
</head>
<body>
<div id="app"></div>
{{ livereload }}
{{ js }}
</body>
</html>
```