Files
api/packages/unraid-shared/package.json
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

57 lines
1.6 KiB
JSON

{
"name": "@unraid/shared",
"version": "1.0.0",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
},
"./*": {
"types": "./dist/*.d.ts",
"import": "./dist/*"
}
},
"files": [
"dist"
],
"scripts": {
"build": "rimraf dist && tsc --project tsconfig.build.json",
"prepare": "npm run build",
"test": "bun test"
},
"keywords": [],
"author": "Lime Technology, Inc. <unraid.net>",
"license": "GPL-2.0-or-later",
"description": "Shared utilities and types for Unraid API ecosystem",
"devDependencies": {
"@graphql-tools/utils": "^10.5.5",
"@jsonforms/core": "^3.5.1",
"@nestjs/common": "^11.0.11",
"@nestjs/graphql": "^13.0.3",
"@types/bun": "^1.2.15",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.14.0",
"class-validator": "^0.14.1",
"graphql": "^16.9.0",
"graphql-scalars": "^1.23.0",
"lodash-es": "^4.17.21",
"nest-authz": "^2.14.0",
"rimraf": "^6.0.1",
"type-fest": "^4.38.0",
"typescript": "^5.8.2"
},
"peerDependencies": {
"@graphql-tools/utils": "^10.5.5",
"@jsonforms/core": "^3.5.1",
"@nestjs/common": "^11.0.11",
"@nestjs/graphql": "^13.0.3",
"class-validator": "^0.14.1",
"graphql": "^16.9.0",
"graphql-scalars": "^1.23.0",
"lodash-es": "^4.17.21",
"nest-authz": "^2.14.0"
}
}