React + TypeScript + Vite for Eagle plugin development, with Tailwind CSS, daisyUI, and the local-first .eagleplus packaging workflow.
For the upstream template reference and broader template workflow, see https://github.com/power-eagle/eagle-template.
- React 19
- TypeScript 6
- Vite 8
- Tailwind CSS 4
- daisyUI 5
- pnpm
Install dependencies:
pnpm installBuild once:
pnpm buildRun lint:
pnpm lintRun the watch build:
pnpm devThis repo keeps the plugin app in the repository root while template-managed automation lives under .eagleplus/.
.eagleplus/config/defines packaging and template sync behavior.eagleplus/scripts/contains the local automation entrypoints.github/workflows/package-plugin.ymlis the packaging workflow managed by the templatelefthook.yamlis local workflow glue
For the original template rationale and shared workflow model, refer to the template source configured in .eagleplus/config/template-target.json: https://github.com/power-eagle/eagle-template.
Packaging is controlled by .eagleplus/config/pkg-rules.json.
Current shape:
{
"includes": [
"dist/assets/**",
"dist/index.html",
"dist/vite.svg",
"manifest.json",
"logo.png"
],
"ignore": [
"node_modules/**"
],
"i18n": false
}Notes:
- Packaging patterns are evaluated relative to the repository root.
- Built files under
dist/are packaged when they are explicitly included. - Generated
.eaglepluginarchives are automatically excluded from package input. manifest.jsonis always written into the archive as generated output during packaging.debugpackaging setsdevTools: true.releasepackaging setsdevTools: false.
Useful commands:
node .eagleplus/scripts/doctor.cjs
node .eagleplus/scripts/package-plugin.cjs --check
node .eagleplus/scripts/package-plugin.cjs release
node .eagleplus/scripts/package-plugin.cjs debug
node .eagleplus/scripts/package-local.cjsdoctor.cjs is the quickest way to verify the current file list that packaging resolves.
Template sync behavior is controlled by .eagleplus/config/template-target.json.
Useful commands:
node .eagleplus/scripts/sync-template.cjs --dry-run
node .eagleplus/scripts/sync-template.cjs --forceThe shared template behavior and automation model are documented in the upstream template repository configured in .eagleplus/config/template-target.json: https://github.com/power-eagle/eagle-template.
- Tailwind CSS 4 is wired through
@tailwindcss/postcss. - daisyUI is loaded from
src/index.cssthrough Tailwind's plugin directive. - The app builds to static assets in
dist/, which are then used as package inputs.
- This repo is pnpm-first.
- Packaging and validation scripts are cross-platform Node scripts.
- If packaging output looks wrong, run
node .eagleplus/scripts/doctor.cjsfirst.
