Files
api/packages/unraid-api-plugin-connect/package.json
Pujit Mehrotra 026b0b344c chore: cli commands for api plugin install & generation (#1352)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a CLI tool to scaffold new Unraid API plugins, including
templates for configuration, persistence, and GraphQL resolvers.
- Added plugin management commands to the CLI for installing, removing,
and listing plugins as peer dependencies.
- Implemented robust configuration state management with validation,
persistence, and error handling.
  - Added scheduled and debounced persistence for configuration changes.
  - Provided utilities for file existence checks and CSV string parsing.
- Enhanced GraphQL schema with new queries and mutations for health
checks and demo configuration.

- **Improvements**
- Updated configuration and environment handling to support modular,
persistent plugin configs.
- Improved logging and error handling throughout CLI and service layers.
- Refined dependency management for plugins, including support for
bundled dependencies.

- **Bug Fixes**
- Improved error handling during Docker service initialization to
prevent unhandled exceptions.

- **Chores**
- Added and updated development dependencies and TypeScript
configurations for better compatibility and type safety.

- **Refactor**
- Restructured internal modules to support dynamic plugin loading and
configuration injection.
  - Removed deprecated plugin schema extension logic and related code.

- **Documentation**
- Updated and added configuration files and templates for easier plugin
development and management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-22 13:30:11 -04:00

49 lines
1.2 KiB
JSON

{
"name": "unraid-api-plugin-connect",
"version": "1.0.0",
"main": "dist/index.js",
"type": "module",
"files": [
"dist"
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc",
"prepare": "npm run build"
},
"keywords": [],
"author": "Lime Technology, Inc. <unraid.net>",
"license": "GPL-2.0-or-later",
"description": "Example Health plugin for Unraid API",
"devDependencies": {
"@nestjs/common": "^11.0.11",
"@nestjs/config": "^4.0.2",
"@nestjs/core": "^11.0.11",
"@nestjs/graphql": "^13.0.3",
"@types/ini": "^4.1.1",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.14.0",
"camelcase-keys": "^9.1.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
"ini": "^5.0.0",
"lodash-es": "^4.17.21",
"nest-authz": "^2.14.0",
"rxjs": "^7.8.2",
"typescript": "^5.8.2"
},
"peerDependencies": {
"@nestjs/common": "^11.0.11",
"@nestjs/config": "^4.0.2",
"@nestjs/core": "^11.0.11",
"@nestjs/graphql": "^13.0.3",
"camelcase-keys": "^9.1.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
"ini": "^5.0.0",
"lodash-es": "^4.17.21",
"nest-authz": "^2.14.0",
"rxjs": "^7.8.2"
}
}