Conversation
There was a problem hiding this comment.
Pull request overview
This PR restructures the project to organize web client code under src/web/ and introduces a comprehensive build system with a makefile for packaging as a Python wheel. The changes support converting this web client into a distributable Python package.
Changes:
- Reorganized source structure to separate web client code into
src/web/subdirectory - Added makefile with build, install, and clean targets for Python package distribution
- Updated build scripts and configuration to reflect new directory structure
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| tsconfig.json | Updated include path from src/**/* to src/web/**/* to match new directory structure |
| package.json | Updated all script paths to reference src/web/ and changed build output to modular_server_manager_web_client/client |
| makefile | New file introducing comprehensive build system for creating Python wheel and source distribution packages |
| .gitignore | Updated to ignore src/web/assets/ instead of src/assets/ and added patterns for log files and egg-info directories |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "version": "0.1.0", | ||
| "private": true, | ||
| "description": "Web client (TypeScript + SCSS + SCSS + HTML) — lightweight build using esbuild and sass", | ||
| "description": "Web modular_server_manager_web_client/client (TypeScript + SCSS + SCSS + HTML) — lightweight build using esbuild and sass", |
There was a problem hiding this comment.
The description contains a duplicated "SCSS" ("SCSS + SCSS") which should be corrected. Additionally, the path "Web modular_server_manager_web_client/client/client" appears malformed and unclear. This should describe the project purpose more clearly.
| "description": "Web modular_server_manager_web_client/client (TypeScript + SCSS + SCSS + HTML) — lightweight build using esbuild and sass", | |
| "description": "Web client for Modular Server Manager (TypeScript + SCSS + HTML) — lightweight build using esbuild and sass", |
| "dev": "concurrently \"esbuild src/web/main.ts --bundle --outfile=src/web/assets/app.js --sourcemap --watch\" \"sass src/web/styles/main.scss src/web/assets/css/main.css --watch\" \"live-server src/web --port=3000 --open=./index.html\"", | ||
| "build": "rimraf modular_server_manager_web_client/client && mkdir -p modular_server_manager_web_client/client && sass src/web/styles/main.scss modular_server_manager_web_client/client/assets/css/main.css --no-source-map && esbuild src/web/main.ts --bundle --minify --target=es2017 --outfile=modular_server_manager_web_client/client/assets/app.js && cpy \"src/web/*.html\" modular_server_manager_web_client/client/", | ||
| "clean": "rimraf modular_server_manager_web_client/client src/web/assets", | ||
| "format": "prettier --write \"src/web**/*.{ts,scss,html}\"" |
There was a problem hiding this comment.
The glob pattern is missing a forward slash. It should be "src/web//*.{ts,scss,html}" instead of "src/web/*.{ts,scss,html}". Without the slash, the pattern may not correctly match files in the src/web directory and its subdirectories.
| "format": "prettier --write \"src/web**/*.{ts,scss,html}\"" | |
| "format": "prettier --write \"src/web/**/*.{ts,scss,html}\"" |
| EXECUTABLE_EXTENSION = $(shell if [ -d env/bin ]; then echo ""; elif [ -d env/Scripts ]; then echo ".exe"; else echo ""; fi) | ||
| APP_EXECUTABLE = $(PYTHON_PATH)modular-server-manager$(EXECUTABLE_EXTENSION) | ||
|
|
||
| INSTAL_PATH = $(PYTHON_LIB)/modular_server_manager_web_client |
There was a problem hiding this comment.
Variable name contains a spelling error: "INSTAL_PATH" should be "INSTALL_PATH".
No description provided.