mirror of
https://github.com/nvms/esr.git
synced 2025-12-15 14:30:53 +00:00
| cmd/esr | ||
| internal | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
░▒▓████████▓▒░░▒▓███████▓▒░▒▓███████▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░
░▒▓██████▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓████████▓▒░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░
esr
This is a simple esbuild-powered dev server. It has livereloading. It's fast. It's configured with YAML.
The end.
Example configuration
# 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.
<!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>