homebridge-config-ui-x 5.4.2-beta.10 → 5.4.2-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/{chunk-NSYEZ34R.js → chunk-24NX5AEG.js} +1 -1
- package/public/{chunk-2AUDO3YT.js → chunk-2CTE2QUX.js} +1 -1
- package/public/{chunk-WC5MFFHY.js → chunk-3RRXEZSG.js} +1 -1
- package/public/{chunk-PJZVEG7P.js → chunk-4XBQJO35.js} +1 -1
- package/public/{chunk-HXT4SHE6.js → chunk-5KJGTF6Y.js} +1 -1
- package/public/{chunk-Y5FMCZDS.js → chunk-5SEBIESV.js} +1 -1
- package/public/{chunk-IQS2UE5Y.js → chunk-5ZP3WPE2.js} +1 -1
- package/public/{chunk-MEVZTYFM.js → chunk-6DCCDZIS.js} +1 -1
- package/public/{chunk-VCW3X3YF.js → chunk-6ZC7ILBV.js} +1 -1
- package/public/{chunk-S3VLWXH2.js → chunk-7MHWW2YA.js} +1 -1
- package/public/{chunk-4N2RTOW6.js → chunk-7P7IHFIJ.js} +1 -1
- package/public/{chunk-NPTU3Q33.js → chunk-A5BSXWNZ.js} +1 -1
- package/public/{chunk-PNGS72JD.js → chunk-DZTCWCZ7.js} +1 -1
- package/public/{chunk-VLDRDEFR.js → chunk-EJR2QDKK.js} +1 -1
- package/public/{chunk-ORSHJEJW.js → chunk-ESJMERYC.js} +1 -1
- package/public/{chunk-USXSMG2A.js → chunk-FBCBMGIP.js} +1 -1
- package/public/{chunk-ESBJ735P.js → chunk-FPGELCHY.js} +1 -1
- package/public/{chunk-HYPOP2EP.js → chunk-FVUBTHUM.js} +1 -1
- package/public/{chunk-BMYHLJ4Z.js → chunk-FYS5ASTT.js} +1 -1
- package/public/{chunk-RDXZFFUN.js → chunk-G3CEW6AU.js} +1 -1
- package/public/{chunk-X74DIMPI.js → chunk-H7QK4UWE.js} +1 -1
- package/public/{chunk-H4W6IHVS.js → chunk-J2FFNLDN.js} +1 -1
- package/public/{chunk-447KMSW5.js → chunk-JDT4PK65.js} +1 -1
- package/public/{chunk-WFYRC664.js → chunk-JDVD7LQD.js} +1 -1
- package/public/{chunk-L4V3CVWY.js → chunk-JPXYPBKN.js} +1 -1
- package/public/{chunk-P5ZQVV5O.js → chunk-JRB66HAQ.js} +1 -1
- package/public/{chunk-MWLXH2WO.js → chunk-JTET2LBG.js} +1 -1
- package/public/{chunk-54ET3HHS.js → chunk-KPNFVGDI.js} +1 -1
- package/public/{chunk-XLRMIDFZ.js → chunk-KPXKASBA.js} +1 -1
- package/public/{chunk-A7KOVDDP.js → chunk-KRAJTHAJ.js} +1 -1
- package/public/{chunk-LG4MCRG7.js → chunk-KVIPVTHB.js} +1 -1
- package/public/{chunk-SHW4DQ7G.js → chunk-L4NPE5FG.js} +1 -1
- package/public/{chunk-5H52XZ6O.js → chunk-LKXRCA6I.js} +1 -1
- package/public/{chunk-GP42LZHH.js → chunk-LL7LPAW3.js} +1 -1
- package/public/{chunk-HEGPM62I.js → chunk-LVK4VN3L.js} +1 -1
- package/public/{chunk-QORWJ4OP.js → chunk-NLXPU33I.js} +1 -1
- package/public/{chunk-LIQTQ5UM.js → chunk-NZ2CALQB.js} +1 -1
- package/public/{chunk-EVTILPTO.js → chunk-OATKJLCB.js} +1 -1
- package/public/{chunk-ZMG3XTQO.js → chunk-OFEHE5GZ.js} +1 -1
- package/public/{chunk-AXCC4J6O.js → chunk-PTSC5F2P.js} +1 -1
- package/public/{chunk-Z7PXW5TK.js → chunk-PZZT4VNR.js} +1 -1
- package/public/{chunk-3BY2YC6T.js → chunk-QJLUKA7K.js} +1 -1
- package/public/{chunk-KLJT4NEV.js → chunk-RXKJ7QT6.js} +1 -1
- package/public/{chunk-D6CPRYC5.js → chunk-SMILXORO.js} +1 -1
- package/public/{chunk-76EVYYMU.js → chunk-XTY2KYXP.js} +1 -1
- package/public/{chunk-QJLRIYZC.js → chunk-XUA7L6VK.js} +1 -1
- package/public/{chunk-AQHDOCGY.js → chunk-YEWNNM3W.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-BXUQQISD.js → main-L2HWNI6F.js} +1 -1
- package/CLAUDE.md +0 -112
package/CLAUDE.md
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## Common Development Commands
|
|
6
|
-
|
|
7
|
-
### Build and Development
|
|
8
|
-
|
|
9
|
-
- `npm run build` - Build both server and UI components
|
|
10
|
-
- `npm run build:server` - Build only the Node.js server (TypeScript compilation)
|
|
11
|
-
- `npm run build:ui` - Build only the Angular UI
|
|
12
|
-
- `npm run watch` - Start development mode with hot reload (Angular dev server on :4200, backend on :8581)
|
|
13
|
-
- `npm run watch:server` - Watch and rebuild server code only
|
|
14
|
-
- `npm run watch:ui` - Watch and rebuild UI code only
|
|
15
|
-
- `npm start` - Start server in development mode using ts-node
|
|
16
|
-
|
|
17
|
-
### Testing and Quality
|
|
18
|
-
|
|
19
|
-
- `npm test` - Run the test suite (Vitest e2e tests)
|
|
20
|
-
- `npm run test-coverage` - Run tests with coverage report
|
|
21
|
-
- `npm run lint` - Run ESLint with zero warnings tolerance
|
|
22
|
-
- `npm run lint:fix` - Auto-fix linting issues
|
|
23
|
-
|
|
24
|
-
### UI Development
|
|
25
|
-
|
|
26
|
-
- `cd ui && npm install` - Install UI dependencies
|
|
27
|
-
- `cd ui && npm run build` - Build UI for production
|
|
28
|
-
- `cd ui && npm start` - Start Angular dev server
|
|
29
|
-
|
|
30
|
-
## Architecture Overview
|
|
31
|
-
|
|
32
|
-
### Backend (NestJS + Fastify)
|
|
33
|
-
|
|
34
|
-
The server is built with **NestJS** framework using **Fastify** as the HTTP adapter. Key architectural components:
|
|
35
|
-
|
|
36
|
-
- **Entry Point**: `src/main.ts` - Configures Fastify, security headers, CORS, and bootstraps the NestJS application
|
|
37
|
-
- **App Module**: `src/app.module.ts` - Root module that imports all feature modules
|
|
38
|
-
- **Core Services**:
|
|
39
|
-
- `src/core/config/` - Configuration management and startup config
|
|
40
|
-
- `src/core/auth/` - JWT authentication with guards for admin/user roles
|
|
41
|
-
- `src/core/logger/` - Custom logging service
|
|
42
|
-
- `src/core/homebridge-ipc/` - IPC communication with Homebridge instances
|
|
43
|
-
|
|
44
|
-
### Feature Modules (src/modules/)
|
|
45
|
-
|
|
46
|
-
- **accessories/** - HomeKit accessory management and control
|
|
47
|
-
- **plugins/** - Plugin installation, configuration, and management
|
|
48
|
-
- **config-editor/** - Homebridge config.json editing with validation
|
|
49
|
-
- **backup/** - Backup and restore functionality
|
|
50
|
-
- **status/** - System status and monitoring
|
|
51
|
-
- **users/** - User management and authentication
|
|
52
|
-
- **platform-tools/** - Platform-specific tools (Docker, Linux, terminal access)
|
|
53
|
-
- **custom-plugins/** - Special integrations for popular plugins (Hue, deCONZ)
|
|
54
|
-
|
|
55
|
-
### Frontend (Angular)
|
|
56
|
-
|
|
57
|
-
The UI is an **Angular 20** application located in the `ui/` directory:
|
|
58
|
-
|
|
59
|
-
- **Modular Architecture**: Feature modules mirror backend structure
|
|
60
|
-
- **State Management**: Services with RxJS for reactive data flow
|
|
61
|
-
- **Real-time Updates**: WebSocket connections for live data
|
|
62
|
-
- **UI Framework**: Bootstrap 5 with custom SCSS theming
|
|
63
|
-
- **Code Editor**: Monaco editor integration for config editing
|
|
64
|
-
- **Internationalization**: Full i18n support with 25+ languages
|
|
65
|
-
|
|
66
|
-
### Key Technologies
|
|
67
|
-
|
|
68
|
-
- **Backend**: NestJS, Fastify, TypeScript, Socket.IO
|
|
69
|
-
- **Frontend**: Angular, Bootstrap 5, RxJS, Socket.IO client
|
|
70
|
-
- **Testing**: Vitest for e2e testing
|
|
71
|
-
- **Build**: TypeScript compiler, Angular CLI
|
|
72
|
-
- **Code Quality**: ESLint with @antfu/eslint-config
|
|
73
|
-
|
|
74
|
-
## Development Workflow
|
|
75
|
-
|
|
76
|
-
### Setting Up Development Environment
|
|
77
|
-
|
|
78
|
-
1. `npm install && cd ui && npm install && cd ..` - Install all dependencies
|
|
79
|
-
2. `npm run build` - Initial build
|
|
80
|
-
3. `npm link` - Link for global development
|
|
81
|
-
4. `npm run watch` - Start development servers
|
|
82
|
-
|
|
83
|
-
### File Structure Patterns
|
|
84
|
-
|
|
85
|
-
- **Controllers**: Handle HTTP endpoints and validation
|
|
86
|
-
- **Services**: Business logic and external integrations
|
|
87
|
-
- **Gateways**: WebSocket event handlers
|
|
88
|
-
- **DTOs**: Data transfer objects with validation decorators
|
|
89
|
-
- **Guards**: Authentication and authorization logic
|
|
90
|
-
|
|
91
|
-
### Code Style
|
|
92
|
-
|
|
93
|
-
- Uses **@antfu/eslint-config** with strict import sorting
|
|
94
|
-
- **1tbs** brace style enforced
|
|
95
|
-
- No unused imports/variables allowed
|
|
96
|
-
- Consistent quote-props style
|
|
97
|
-
- Zero ESLint warnings policy
|
|
98
|
-
|
|
99
|
-
## Testing
|
|
100
|
-
|
|
101
|
-
- E2e tests located in `test/e2e/`
|
|
102
|
-
- Tests use Vitest with SWC compilation
|
|
103
|
-
- Coverage reporting available via `npm run test-coverage`
|
|
104
|
-
- Tests cover all major modules and API endpoints
|
|
105
|
-
|
|
106
|
-
## Special Considerations
|
|
107
|
-
|
|
108
|
-
- **Security**: Helmet.js for security headers, JWT authentication, CSP policies
|
|
109
|
-
- **Multi-platform**: Supports Linux, macOS, Windows, Docker environments
|
|
110
|
-
- **Plugin System**: Dynamic plugin loading and configuration UI generation
|
|
111
|
-
- **Child Bridges**: Support for isolated plugin execution
|
|
112
|
-
- **Real-time**: WebSocket integration for live system monitoring
|