mirror of
https://github.com/nvms/esr.git
synced 2025-12-16 14:40:53 +00:00
83 lines
2.3 KiB
Markdown
83 lines
2.3 KiB
Markdown
```
|
|
|
|
░▒▓████████▓▒░░▒▓███████▓▒░▒▓███████▓▒░
|
|
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░
|
|
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░
|
|
░▒▓██████▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░
|
|
░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
|
|
░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
|
|
░▒▓████████▓▒░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░
|
|
|
|
```
|
|
# esr
|
|
|
|
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>
|
|
```
|