mirror of
https://github.com/HeyPuter/puter.git
synced 2025-12-31 10:10:17 -06:00
docs: added utils.js build script documentation (#1402)
This commit is contained in:
44
src/gui/doc/utils.md
Normal file
44
src/gui/doc/utils.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# utils.js — GUI Build Script (Overview)
|
||||
|
||||
This file is responsible for:
|
||||
- Generating production and development builds of the GUI
|
||||
- Merging and minifying JS/CSS files
|
||||
- Converting icon files to base64
|
||||
- Bundling core GUI logic using Webpack
|
||||
- Generating the HTML structure dynamically for development mode
|
||||
|
||||
## Main Functions
|
||||
|
||||
### 🔧 build(options)
|
||||
Runs the full GUI build process.
|
||||
|
||||
**Steps it performs:**
|
||||
1. Deletes and recreates the `/dist` folder
|
||||
2. Merges JavaScript libraries → `dist/libs.js`
|
||||
3. Converts all `src/icons/*.svg/png` to base64 → stores in `window.icons`
|
||||
4. Merges and minifies CSS → `dist/bundle.min.css`
|
||||
5. Uses Webpack to bundle `src/index.js` and dependencies → `dist/main.js`
|
||||
6. Prepends `window.gui_env = "prod"` and writes it as `dist/gui.js`
|
||||
7. Copies static assets like images, fonts, manifest, etc.
|
||||
|
||||
### 🛠️ generateDevHtml(options)
|
||||
Dynamically builds the HTML string for development mode.
|
||||
|
||||
**What it includes:**
|
||||
- Meta tags (SEO + social)
|
||||
- CSS & JS includes (based on env)
|
||||
- Inline base64 image data
|
||||
- JS entry points for dev (`/index.js`) or prod (`/dist/gui.js`)
|
||||
|
||||
---
|
||||
|
||||
## Related Files
|
||||
|
||||
| File | Role |
|
||||
|------------------|---------------------------------------|
|
||||
| `build.js` | Just imports and calls `build()` |
|
||||
| `BaseConfig.cjs` | Provides Webpack config used in build |
|
||||
| `static-assets.js` | Lists paths to JS, CSS, icons, etc |
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user