Files
api/packages/unraid-api-plugin-connect/package.json
T
Pujit Mehrotra c132f28281 chore: extract connect to an API plugin (#1367)
separates Unraid Connect from the API

## Summary by CodeRabbit

- **New Features**
- Introduced a unified, JSON-schema-based settings system for API
configuration and plugin settings, accessible via new GraphQL queries
and mutations.
- Added modular NestJS plugin architecture for Unraid Connect, including
new modules for cloud, remote access, and system/network management.
- Added granular connection and remote access state tracking, with new
GraphQL types and resolvers for cloud and connection status.
- Implemented event-driven and service-based management for SSO users,
API keys, and dynamic remote access.
- Enhanced UI components and queries to support unified settings and
restart detection.

- **Improvements**
- Refactored configuration and state management to use service-based
patterns, replacing direct store access and Redux logic.
- Migrated legacy config files to new JSON formats with validation and
persistence helpers.
- Centralized global dependencies and shared services for plugins and
CLI modules.
- Improved logging, error handling, and lifecycle management for
connections and background jobs.
- Updated and expanded documentation for plugin development and settings
management.

- **Bug Fixes**
- Improved handling of missing config files and ensured safe
persistence.
- Enhanced error reporting and validation in remote access and
connection services.

- **Removals**
- Removed deprecated Redux slices, listeners, and legacy cloud/remote
access logic.
- Deleted obsolete test files, scripts, and unused code related to the
old state/store approach.

- **Tests**
- Added new unit tests for settings merging, URL resolution, and cloud
connectivity checks.

- **Style**
- Applied consistent formatting, import reorganization, and code style
improvements across modules.

- **Chores**
- Updated build scripts, Dockerfiles, and development environment setup
to support new dependencies and workflows.
- Expanded .gitignore and configuration files for improved build
artifact management.
2025-06-10 15:16:26 -04:00

98 lines
3.2 KiB
JSON

{
"name": "unraid-api-plugin-connect",
"version": "1.0.0",
"main": "dist/index.js",
"type": "module",
"files": [
"dist",
"readme.md"
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"clean": "rimraf dist",
"build": "tsc",
"prepare": "npm run build",
"format": "prettier --write \"src/**/*.{ts,js,json}\"",
"codegen": "MOTHERSHIP_GRAPHQL_LINK='https://staging.mothership.unraid.net/ws' graphql-codegen --config codegen.ts"
},
"keywords": ["unraid", "connect", "unraid plugin"],
"author": "Lime Technology, Inc. <unraid.net>",
"license": "GPL-2.0-or-later",
"description": "Unraid Connect plugin for Unraid API",
"devDependencies": {
"@apollo/client": "^3.11.8",
"@graphql-codegen/cli": "^5.0.3",
"@graphql-typed-document-node/core": "^3.2.0",
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
"@jsonforms/core": "^3.5.1",
"@nestjs/apollo": "^13.0.3",
"@nestjs/common": "^11.0.11",
"@nestjs/config": "^4.0.2",
"@nestjs/core": "^11.0.11",
"@nestjs/event-emitter": "^3.0.1",
"@nestjs/graphql": "^13.0.3",
"@nestjs/schedule": "^5.0.0",
"@runonflux/nat-upnp": "^1.0.2",
"@types/ini": "^4.1.1",
"@types/ip": "^1.1.3",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.14.0",
"@types/ws": "^8.18.0",
"camelcase-keys": "^9.1.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
"execa": "^9.5.1",
"got": "^14.4.6",
"graphql": "^16.9.0",
"graphql-scalars": "^1.23.0",
"graphql-subscriptions": "^3.0.0",
"graphql-ws": "^6.0.0",
"ini": "^5.0.0",
"jose": "^6.0.0",
"lodash-es": "^4.17.21",
"nest-authz": "^2.14.0",
"prettier": "^3.5.3",
"rimraf": "^6.0.1",
"rxjs": "^7.8.2",
"type-fest": "^4.37.0",
"typescript": "^5.8.2",
"vitest": "^3.1.4",
"ws": "^8.18.0",
"zen-observable-ts": "^1.1.0"
},
"dependencies": {
"@unraid/shared": "workspace:*",
"ip": "^2.0.1",
"node-cache": "^5.1.2"
},
"peerDependencies": {
"@apollo/client": "^3.11.8",
"@graphql-typed-document-node/core": "^3.2.0",
"@jsonforms/core": "^3.5.1",
"@nestjs/apollo": "^13.0.3",
"@nestjs/common": "^11.0.11",
"@nestjs/config": "^4.0.2",
"@nestjs/core": "^11.0.11",
"@nestjs/event-emitter": "^3.0.1",
"@nestjs/graphql": "^13.0.3",
"@nestjs/schedule": "^5.0.0",
"@runonflux/nat-upnp": "^1.0.2",
"camelcase-keys": "^9.1.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
"execa": "^9.5.1",
"got": "^14.4.6",
"graphql": "^16.9.0",
"graphql-scalars": "^1.23.0",
"graphql-subscriptions": "^3.0.0",
"graphql-ws": "^6.0.0",
"ini": "^5.0.0",
"jose": "^6.0.0",
"lodash-es": "^4.17.21",
"nest-authz": "^2.14.0",
"rxjs": "^7.8.2",
"ws": "^8.18.0",
"zen-observable-ts": "^1.1.0"
}
}