@springfield/ham-radio-registry 1.0.1 → 1.0.3
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/CHANGELOG.md +14 -0
- package/dist/registry/config-registry.d.ts +20 -6
- package/dist/registry/config-registry.d.ts.map +1 -1
- package/dist/registry/config-registry.js +21 -21
- package/dist/registry/config-registry.js.map +1 -1
- package/dist/registry/shared-components.d.ts +1 -1
- package/dist/registry/shared-components.d.ts.map +1 -1
- package/dist/registry/shared-components.js +2 -2
- package/dist/registry/shared-components.js.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +3 -2
- package/src/registry/config-registry.ts +107 -50
- package/src/registry/shared-components.ts +3 -3
- package/src/utils/npm-client.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.0.3](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/compare/v1.0.2...v1.0.3) (2025-08-18)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* enhance NpmBasedConfigRegistry to handle scoped packages and improve package processing logic ([1e08e7f](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/commit/1e08e7f7277fbb529011a5d48bc05fa9c14fa7bf))
|
|
7
|
+
|
|
8
|
+
## [1.0.2](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/compare/v1.0.1...v1.0.2) (2025-08-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **deps:** update dependency loglayer to ^6.6.0 ([08fdc09](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/commit/08fdc09083c2876762be95e24085fa0a7edfb037))
|
|
14
|
+
|
|
1
15
|
## [1.0.1](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/compare/v1.0.0...v1.0.1) (2025-06-24)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -1,20 +1,34 @@
|
|
|
1
|
+
import type { RadioCodec, RadioModelId, ValidationResult } from '@springfield/ham-radio-api';
|
|
1
2
|
import type { ILogLayer } from 'loglayer';
|
|
2
|
-
import type { RadioModelId, RadioCodec, ValidationResult } from '@springfield/ham-radio-api';
|
|
3
|
-
import type { RegistryRadio } from '../types/radio-config.js';
|
|
4
3
|
import type { PluginModule } from '../types/plugin-module.js';
|
|
4
|
+
import type { RegistryRadio } from '../types/radio-config.js';
|
|
5
|
+
export interface SpringfieldRadioModuleConfig {
|
|
6
|
+
pluginType: string;
|
|
7
|
+
codecFactory?: string;
|
|
8
|
+
configPath?: string;
|
|
9
|
+
sharedPath?: string;
|
|
10
|
+
manufacturer?: string;
|
|
11
|
+
capabilities?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface PackageJson extends Record<string, unknown> {
|
|
14
|
+
name: string;
|
|
15
|
+
version: string;
|
|
16
|
+
keywords?: string[];
|
|
17
|
+
springfield: SpringfieldRadioModuleConfig;
|
|
18
|
+
}
|
|
5
19
|
/**
|
|
6
20
|
* Radio configuration registry interface
|
|
7
21
|
*/
|
|
8
22
|
export interface RadioConfigRegistry {
|
|
9
23
|
discoverConfigurations(): Promise<RegistryRadio[]>;
|
|
10
|
-
getConfiguration(configId: string): Promise<RegistryRadio |
|
|
24
|
+
getConfiguration(configId: string): Promise<RegistryRadio | undefined>;
|
|
11
25
|
getConfigurationsByManufacturer(manufacturer: string): Promise<RegistryRadio[]>;
|
|
12
26
|
getConfigurationsByModule(moduleId: string): Promise<RegistryRadio[]>;
|
|
13
27
|
validateConfiguration(config: RegistryRadio): ValidationResult;
|
|
14
28
|
registerConfiguration(config: RegistryRadio): Promise<void>;
|
|
15
29
|
installPlugin(moduleId: string): Promise<void>;
|
|
16
30
|
listInstalledPlugins(): Promise<PluginModule[]>;
|
|
17
|
-
getCodec(modelId: RadioModelId): Promise<RadioCodec |
|
|
31
|
+
getCodec(modelId: RadioModelId): Promise<RadioCodec | undefined>;
|
|
18
32
|
}
|
|
19
33
|
/**
|
|
20
34
|
* NPM-based configuration registry implementation
|
|
@@ -28,14 +42,14 @@ export declare class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
28
42
|
private logger;
|
|
29
43
|
constructor(logger: ILogLayer);
|
|
30
44
|
discoverConfigurations(): Promise<RegistryRadio[]>;
|
|
31
|
-
getConfiguration(configId: string): Promise<RegistryRadio |
|
|
45
|
+
getConfiguration(configId: string): Promise<RegistryRadio | undefined>;
|
|
32
46
|
getConfigurationsByManufacturer(manufacturer: string): Promise<RegistryRadio[]>;
|
|
33
47
|
getConfigurationsByModule(moduleId: string): Promise<RegistryRadio[]>;
|
|
34
48
|
validateConfiguration(config: RegistryRadio): ValidationResult;
|
|
35
49
|
registerConfiguration(config: RegistryRadio): Promise<void>;
|
|
36
50
|
installPlugin(moduleId: string): Promise<void>;
|
|
37
51
|
listInstalledPlugins(): Promise<PluginModule[]>;
|
|
38
|
-
getCodec(modelId: RadioModelId): Promise<RadioCodec |
|
|
52
|
+
getCodec(modelId: RadioModelId): Promise<RadioCodec | undefined>;
|
|
39
53
|
private discoverPluginModules;
|
|
40
54
|
private isRadioModule;
|
|
41
55
|
private loadPluginModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-registry.d.ts","sourceRoot":"","sources":["../../src/registry/config-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-registry.d.ts","sourceRoot":"","sources":["../../src/registry/config-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { DefaultSharedComponentManager } from './shared-components.js';
|
|
2
1
|
import { DefaultNpmClient } from '../utils/npm-client.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { existsSync } from 'fs';
|
|
2
|
+
import { readFile, readdir } from 'node:fs/promises';
|
|
3
|
+
import { DefaultSharedComponentManager } from './shared-components.js';
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
6
|
/**
|
|
7
7
|
* NPM-based configuration registry implementation
|
|
8
8
|
*/
|
|
@@ -28,7 +28,7 @@ export class NpmBasedConfigRegistry {
|
|
|
28
28
|
configs.push(...pluginConfigs);
|
|
29
29
|
}
|
|
30
30
|
catch (error) {
|
|
31
|
-
this.logger.withError(error).warn('Failed to load configurations from plugin '
|
|
31
|
+
this.logger.withMetadata({ pluignName: plugin.name }).withError(error).warn('Failed to load configurations from plugin ');
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
return configs;
|
|
@@ -42,7 +42,7 @@ export class NpmBasedConfigRegistry {
|
|
|
42
42
|
if (this.configCache.size === 0) {
|
|
43
43
|
await this.discoverConfigurations();
|
|
44
44
|
}
|
|
45
|
-
return this.configCache.get(configId)
|
|
45
|
+
return this.configCache.get(configId);
|
|
46
46
|
}
|
|
47
47
|
async getConfigurationsByManufacturer(manufacturer) {
|
|
48
48
|
const configs = await this.discoverConfigurations();
|
|
@@ -76,8 +76,8 @@ export class NpmBasedConfigRegistry {
|
|
|
76
76
|
errors.push('Configuration must have settings schema');
|
|
77
77
|
}
|
|
78
78
|
return {
|
|
79
|
-
isValid: errors.length === 0,
|
|
80
79
|
errors,
|
|
80
|
+
isValid: errors.length === 0,
|
|
81
81
|
warnings,
|
|
82
82
|
};
|
|
83
83
|
}
|
|
@@ -102,7 +102,7 @@ export class NpmBasedConfigRegistry {
|
|
|
102
102
|
this.logger.withMetadata({ moduleId }).info('Installed plugin');
|
|
103
103
|
}
|
|
104
104
|
async listInstalledPlugins() {
|
|
105
|
-
return
|
|
105
|
+
return [...this.pluginCache.values()];
|
|
106
106
|
}
|
|
107
107
|
async getCodec(modelId) {
|
|
108
108
|
// Check cache first
|
|
@@ -112,7 +112,7 @@ export class NpmBasedConfigRegistry {
|
|
|
112
112
|
// Find configuration for this model
|
|
113
113
|
const config = await this.getConfiguration(modelId);
|
|
114
114
|
if (!config || !config.codec) {
|
|
115
|
-
return
|
|
115
|
+
return undefined;
|
|
116
116
|
}
|
|
117
117
|
// Load codec based on configuration
|
|
118
118
|
const codec = await this.loadCodecFromConfig(config);
|
|
@@ -143,7 +143,7 @@ export class NpmBasedConfigRegistry {
|
|
|
143
143
|
}
|
|
144
144
|
catch (error) {
|
|
145
145
|
// Skip invalid packages
|
|
146
|
-
this.logger.withMetadata({ name: entry.name
|
|
146
|
+
this.logger.withMetadata({ error, name: entry.name }).debug('Skipped invalid package');
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
}
|
|
@@ -156,21 +156,21 @@ export class NpmBasedConfigRegistry {
|
|
|
156
156
|
// Check springfield plugin field
|
|
157
157
|
const hasSpringfieldField = packageJson.springfield?.pluginType === 'radio-module';
|
|
158
158
|
// Check keywords
|
|
159
|
-
const hasKeywords = packageJson.keywords?.includes('radio-module');
|
|
159
|
+
const hasKeywords = packageJson.keywords?.includes('radio-module') ?? false;
|
|
160
160
|
return isNamedCorrectly || hasSpringfieldField || hasKeywords;
|
|
161
161
|
}
|
|
162
162
|
async loadPluginModule(moduleName, packageJson) {
|
|
163
163
|
const modulePath = join(process.cwd(), 'node_modules', moduleName);
|
|
164
164
|
const springfieldConfig = packageJson.springfield || {};
|
|
165
165
|
return {
|
|
166
|
-
name: moduleName,
|
|
167
|
-
version: packageJson.version,
|
|
168
|
-
manufacturer: springfieldConfig.manufacturer,
|
|
169
|
-
configPath: join(modulePath, springfieldConfig.configPath || 'configs'),
|
|
170
|
-
sharedPath: join(modulePath, springfieldConfig.sharedPath || 'shared'),
|
|
171
|
-
codecFactoryPath: springfieldConfig.codecFactory ? join(modulePath, springfieldConfig.codecFactory) : undefined,
|
|
172
166
|
capabilities: springfieldConfig.capabilities || {},
|
|
167
|
+
codecFactoryPath: springfieldConfig.codecFactory ? join(modulePath, springfieldConfig.codecFactory) : undefined,
|
|
168
|
+
configPath: join(modulePath, springfieldConfig.configPath || 'configs'),
|
|
169
|
+
manufacturer: springfieldConfig.manufacturer,
|
|
170
|
+
name: moduleName,
|
|
173
171
|
packageJson,
|
|
172
|
+
sharedPath: join(modulePath, springfieldConfig.sharedPath || 'shared'),
|
|
173
|
+
version: packageJson.version,
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
176
|
async loadConfigurationsFromPlugin(plugin) {
|
|
@@ -228,7 +228,7 @@ export class NpmBasedConfigRegistry {
|
|
|
228
228
|
}
|
|
229
229
|
async loadCodecFromConfig(config) {
|
|
230
230
|
if (!config.codec || config.codec.type !== 'shared' || !config.codec.reference) {
|
|
231
|
-
return
|
|
231
|
+
return undefined;
|
|
232
232
|
}
|
|
233
233
|
const codecPath = this.sharedComponentManager.resolveReference(config.codec.reference, config.metadata.pluginPath || '');
|
|
234
234
|
return this.sharedComponentManager.loadCodec(codecPath, {
|
|
@@ -255,8 +255,8 @@ export class NpmBasedConfigRegistry {
|
|
|
255
255
|
errors.push(`Failed to validate plugin: ${error}`);
|
|
256
256
|
}
|
|
257
257
|
return {
|
|
258
|
-
isValid: errors.length === 0,
|
|
259
258
|
errors,
|
|
259
|
+
isValid: errors.length === 0,
|
|
260
260
|
warnings,
|
|
261
261
|
};
|
|
262
262
|
}
|
|
@@ -266,8 +266,8 @@ export class NpmBasedConfigRegistry {
|
|
|
266
266
|
return true;
|
|
267
267
|
}
|
|
268
268
|
async runPackageManager(args) {
|
|
269
|
-
const { exec } = await import('child_process');
|
|
270
|
-
const { promisify } = await import('util');
|
|
269
|
+
const { exec } = await import('node:child_process');
|
|
270
|
+
const { promisify } = await import('node:util');
|
|
271
271
|
const execAsync = promisify(exec);
|
|
272
272
|
try {
|
|
273
273
|
await execAsync(`yarn ${args.join(' ')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-registry.js","sourceRoot":"","sources":["../../src/registry/config-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-registry.js","sourceRoot":"","sources":["../../src/registry/config-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-components.d.ts","sourceRoot":"","sources":["../../src/registry/shared-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"shared-components.d.ts","sourceRoot":"","sources":["../../src/registry/shared-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C;;GAEG;AACH,qBAAa,6BAA8B,YAAW,sBAAsB;IAC1E,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAIvB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAahE,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAapE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBxF,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAc9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-components.js","sourceRoot":"","sources":["../../src/registry/shared-components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared-components.js","sourceRoot":"","sources":["../../src/registry/shared-components.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@springfield/ham-radio-registry",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"author": "Bryan Hunt",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"packageManager": "yarn@4.9.2",
|
|
@@ -59,15 +59,15 @@
|
|
|
59
59
|
"@semantic-release/changelog": "6.0.3",
|
|
60
60
|
"@semantic-release/git": "10.0.1",
|
|
61
61
|
"@semantic-release/gitlab": "13.2.6",
|
|
62
|
-
"chai": "
|
|
62
|
+
"chai": "5.2.1",
|
|
63
63
|
"husky": "9.1.7",
|
|
64
|
-
"oxlint": "1.
|
|
64
|
+
"oxlint": "1.12.0",
|
|
65
65
|
"semantic-release": "23.1.1",
|
|
66
66
|
"semantic-release-yarn": "3.0.2",
|
|
67
|
-
"typescript": "5.
|
|
67
|
+
"typescript": "5.9.2"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@springfield/ham-radio-api": "^16.1.
|
|
71
|
-
"loglayer": "^6.
|
|
70
|
+
"@springfield/ham-radio-api": "^16.1.3",
|
|
71
|
+
"loglayer": "^6.6.0"
|
|
72
72
|
}
|
|
73
73
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export type {
|
|
|
3
3
|
RadioConfigMetadata,
|
|
4
4
|
RadioCapabilities,
|
|
5
5
|
CodecConfig,
|
|
6
|
+
RegistryRadio,
|
|
6
7
|
} from './types/radio-config.js';
|
|
7
8
|
|
|
8
9
|
// Re-export common types from ham-radio-api
|
|
@@ -20,8 +21,8 @@ export type {
|
|
|
20
21
|
} from './types/plugin-module.js';
|
|
21
22
|
|
|
22
23
|
// Registry components
|
|
23
|
-
|
|
24
|
-
import { NpmBasedConfigRegistry } from './registry/config-registry.js';
|
|
24
|
+
export type { RadioConfigRegistry } from './registry/config-registry.js';
|
|
25
|
+
import { NpmBasedConfigRegistry, type RadioConfigRegistry } from './registry/config-registry.js';
|
|
25
26
|
|
|
26
27
|
// Shared components
|
|
27
28
|
export type { SharedComponentManager } from '@springfield/ham-radio-api';
|
|
@@ -1,14 +1,28 @@
|
|
|
1
|
+
import { DefaultNpmClient, type NpmClient } from '../utils/npm-client.js';
|
|
2
|
+
import type { RadioCodec, RadioModelId, SharedComponentManager, ValidationResult } from '@springfield/ham-radio-api';
|
|
3
|
+
import { readFile, readdir } from 'node:fs/promises';
|
|
4
|
+
import { DefaultSharedComponentManager } from './shared-components.js';
|
|
1
5
|
import type { ILogLayer } from 'loglayer';
|
|
2
|
-
import type { RadioModelId, RadioCodec, ValidationResult } from '@springfield/ham-radio-api';
|
|
3
|
-
import type { RegistryRadio } from '../types/radio-config.js';
|
|
4
6
|
import type { PluginModule } from '../types/plugin-module.js';
|
|
5
|
-
import type {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
import type { RegistryRadio } from '../types/radio-config.js';
|
|
8
|
+
import { existsSync } from 'node:fs';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
|
|
11
|
+
export interface SpringfieldRadioModuleConfig {
|
|
12
|
+
pluginType: string;
|
|
13
|
+
codecFactory?: string;
|
|
14
|
+
configPath?: string;
|
|
15
|
+
sharedPath?: string;
|
|
16
|
+
manufacturer?: string;
|
|
17
|
+
capabilities?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface PackageJson extends Record<string, unknown> {
|
|
21
|
+
name: string;
|
|
22
|
+
version: string;
|
|
23
|
+
keywords?: string[];
|
|
24
|
+
springfield: SpringfieldRadioModuleConfig;
|
|
25
|
+
}
|
|
12
26
|
|
|
13
27
|
/**
|
|
14
28
|
* Radio configuration registry interface
|
|
@@ -18,7 +32,7 @@ export interface RadioConfigRegistry {
|
|
|
18
32
|
discoverConfigurations(): Promise<RegistryRadio[]>;
|
|
19
33
|
|
|
20
34
|
// Get configuration by ID
|
|
21
|
-
getConfiguration(configId: string): Promise<RegistryRadio |
|
|
35
|
+
getConfiguration(configId: string): Promise<RegistryRadio | undefined>;
|
|
22
36
|
|
|
23
37
|
// Get configurations by manufacturer
|
|
24
38
|
getConfigurationsByManufacturer(manufacturer: string): Promise<RegistryRadio[]>;
|
|
@@ -39,7 +53,7 @@ export interface RadioConfigRegistry {
|
|
|
39
53
|
listInstalledPlugins(): Promise<PluginModule[]>;
|
|
40
54
|
|
|
41
55
|
// Get codec for a radio model
|
|
42
|
-
getCodec(modelId: RadioModelId): Promise<RadioCodec |
|
|
56
|
+
getCodec(modelId: RadioModelId): Promise<RadioCodec | undefined>;
|
|
43
57
|
}
|
|
44
58
|
|
|
45
59
|
/**
|
|
@@ -70,17 +84,17 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
70
84
|
const pluginConfigs = await this.loadConfigurationsFromPlugin(plugin);
|
|
71
85
|
configs.push(...pluginConfigs);
|
|
72
86
|
} catch (error) {
|
|
73
|
-
this.logger.withError(error).warn('Failed to load configurations from plugin '
|
|
87
|
+
this.logger.withMetadata({ pluignName: plugin.name }).withError(error).warn('Failed to load configurations from plugin ');
|
|
74
88
|
}
|
|
75
89
|
}
|
|
76
90
|
|
|
77
91
|
return configs;
|
|
78
92
|
}
|
|
79
93
|
|
|
80
|
-
async getConfiguration(configId: string): Promise<RegistryRadio |
|
|
94
|
+
async getConfiguration(configId: string): Promise<RegistryRadio | undefined> {
|
|
81
95
|
// Check cache first
|
|
82
96
|
if (this.configCache.has(configId)) {
|
|
83
|
-
return this.configCache.get(configId)
|
|
97
|
+
return this.configCache.get(configId);
|
|
84
98
|
}
|
|
85
99
|
|
|
86
100
|
// Discover configurations if cache is empty
|
|
@@ -88,7 +102,7 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
88
102
|
await this.discoverConfigurations();
|
|
89
103
|
}
|
|
90
104
|
|
|
91
|
-
return this.configCache.get(configId)
|
|
105
|
+
return this.configCache.get(configId);
|
|
92
106
|
}
|
|
93
107
|
|
|
94
108
|
async getConfigurationsByManufacturer(manufacturer: string): Promise<RegistryRadio[]> {
|
|
@@ -132,8 +146,8 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
132
146
|
}
|
|
133
147
|
|
|
134
148
|
return {
|
|
135
|
-
isValid: errors.length === 0,
|
|
136
149
|
errors,
|
|
150
|
+
isValid: errors.length === 0,
|
|
137
151
|
warnings,
|
|
138
152
|
};
|
|
139
153
|
}
|
|
@@ -165,19 +179,19 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
165
179
|
}
|
|
166
180
|
|
|
167
181
|
async listInstalledPlugins(): Promise<PluginModule[]> {
|
|
168
|
-
return
|
|
182
|
+
return [...this.pluginCache.values()];
|
|
169
183
|
}
|
|
170
184
|
|
|
171
|
-
async getCodec(modelId: RadioModelId): Promise<RadioCodec |
|
|
185
|
+
async getCodec(modelId: RadioModelId): Promise<RadioCodec | undefined> {
|
|
172
186
|
// Check cache first
|
|
173
187
|
if (this.codecCache.has(modelId)) {
|
|
174
|
-
return this.codecCache.get(modelId)
|
|
188
|
+
return this.codecCache.get(modelId);
|
|
175
189
|
}
|
|
176
190
|
|
|
177
191
|
// Find configuration for this model
|
|
178
192
|
const config = await this.getConfiguration(modelId);
|
|
179
193
|
if (!config || !config.codec) {
|
|
180
|
-
return
|
|
194
|
+
return undefined;
|
|
181
195
|
}
|
|
182
196
|
|
|
183
197
|
// Load codec based on configuration
|
|
@@ -203,28 +217,71 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
203
217
|
|
|
204
218
|
for (const entry of entries) {
|
|
205
219
|
if (entry.isDirectory()) {
|
|
206
|
-
|
|
220
|
+
if (entry.name.startsWith('@')) {
|
|
221
|
+
// Handle scoped packages
|
|
222
|
+
await this.processScopedPackage(nodeModulesPath, entry.name, plugins);
|
|
223
|
+
} else {
|
|
224
|
+
// Handle regular packages
|
|
225
|
+
await this.processRegularPackage(nodeModulesPath, entry.name, plugins);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
207
229
|
|
|
208
|
-
|
|
209
|
-
|
|
230
|
+
return plugins;
|
|
231
|
+
}
|
|
210
232
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
233
|
+
private async processScopedPackage(nodeModulesPath: string, scopeName: string, plugins: PluginModule[]): Promise<void> {
|
|
234
|
+
// First, try to process the scoped directory as a package itself
|
|
235
|
+
// (some scoped packages like @types/node have their own package.json)
|
|
236
|
+
const scopePackageJsonPath = join(nodeModulesPath, scopeName, 'package.json');
|
|
237
|
+
|
|
238
|
+
try {
|
|
239
|
+
if (existsSync(scopePackageJsonPath)) {
|
|
240
|
+
// The scoped directory itself is a package
|
|
241
|
+
await this.processRegularPackage(nodeModulesPath, scopeName, plugins);
|
|
242
|
+
return; // Don't scan subdirectories if this is a package itself
|
|
243
|
+
}
|
|
244
|
+
} catch (error) {
|
|
245
|
+
// If processing as a package fails, continue to scan subdirectories
|
|
246
|
+
this.logger.withMetadata({ error, scopeName }).debug('Scoped directory is not a package, scanning subdirectories');
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// If the scoped directory is not a package itself, scan for sub-packages
|
|
250
|
+
try {
|
|
251
|
+
const scopePath = join(nodeModulesPath, scopeName);
|
|
252
|
+
const scopedEntries = await readdir(scopePath, { withFileTypes: true });
|
|
253
|
+
|
|
254
|
+
for (const scopedEntry of scopedEntries) {
|
|
255
|
+
if (scopedEntry.isDirectory()) {
|
|
256
|
+
const fullPackageName = `${scopeName}/${scopedEntry.name}`;
|
|
257
|
+
await this.processRegularPackage(nodeModulesPath, fullPackageName, plugins);
|
|
220
258
|
}
|
|
221
259
|
}
|
|
260
|
+
} catch (error) {
|
|
261
|
+
// Skip invalid scoped packages
|
|
262
|
+
this.logger.withMetadata({ error, scopeName }).debug('Skipped invalid scoped package directory');
|
|
222
263
|
}
|
|
264
|
+
}
|
|
223
265
|
|
|
224
|
-
|
|
266
|
+
private async processRegularPackage(nodeModulesPath: string, packageName: string, plugins: PluginModule[]): Promise<void> {
|
|
267
|
+
const packageJsonPath = join(nodeModulesPath, packageName, 'package.json');
|
|
268
|
+
|
|
269
|
+
try {
|
|
270
|
+
const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8'));
|
|
271
|
+
|
|
272
|
+
// Check if this is a radio module
|
|
273
|
+
if (this.isRadioModule(packageJson)) {
|
|
274
|
+
const plugin = await this.loadPluginModule(packageName, packageJson);
|
|
275
|
+
plugins.push(plugin);
|
|
276
|
+
this.pluginCache.set(packageName, plugin);
|
|
277
|
+
}
|
|
278
|
+
} catch (error) {
|
|
279
|
+
// Skip invalid packages
|
|
280
|
+
this.logger.withMetadata({ error, name: packageName }).debug('Skipped invalid package');
|
|
281
|
+
}
|
|
225
282
|
}
|
|
226
283
|
|
|
227
|
-
private isRadioModule(packageJson:
|
|
284
|
+
private isRadioModule(packageJson: PackageJson): boolean {
|
|
228
285
|
const name = packageJson.name || '';
|
|
229
286
|
|
|
230
287
|
// Check naming convention
|
|
@@ -234,24 +291,24 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
234
291
|
const hasSpringfieldField = packageJson.springfield?.pluginType === 'radio-module';
|
|
235
292
|
|
|
236
293
|
// Check keywords
|
|
237
|
-
const hasKeywords = packageJson.keywords?.includes('radio-module');
|
|
294
|
+
const hasKeywords = packageJson.keywords?.includes('radio-module') ?? false;
|
|
238
295
|
|
|
239
296
|
return isNamedCorrectly || hasSpringfieldField || hasKeywords;
|
|
240
297
|
}
|
|
241
298
|
|
|
242
|
-
private async loadPluginModule(moduleName: string, packageJson:
|
|
299
|
+
private async loadPluginModule(moduleName: string, packageJson: PackageJson): Promise<PluginModule> {
|
|
243
300
|
const modulePath = join(process.cwd(), 'node_modules', moduleName);
|
|
244
|
-
const springfieldConfig = packageJson.springfield
|
|
301
|
+
const springfieldConfig = packageJson.springfield|| {};
|
|
245
302
|
|
|
246
303
|
return {
|
|
247
|
-
name: moduleName,
|
|
248
|
-
version: packageJson.version,
|
|
249
|
-
manufacturer: springfieldConfig.manufacturer,
|
|
250
|
-
configPath: join(modulePath, springfieldConfig.configPath || 'configs'),
|
|
251
|
-
sharedPath: join(modulePath, springfieldConfig.sharedPath || 'shared'),
|
|
252
|
-
codecFactoryPath: springfieldConfig.codecFactory ? join(modulePath, springfieldConfig.codecFactory) : undefined,
|
|
253
304
|
capabilities: springfieldConfig.capabilities || {},
|
|
305
|
+
codecFactoryPath: springfieldConfig.codecFactory ? join(modulePath, springfieldConfig.codecFactory) : undefined,
|
|
306
|
+
configPath: join(modulePath, springfieldConfig.configPath || 'configs'),
|
|
307
|
+
manufacturer: springfieldConfig.manufacturer,
|
|
308
|
+
name: moduleName,
|
|
254
309
|
packageJson,
|
|
310
|
+
sharedPath: join(modulePath, springfieldConfig.sharedPath || 'shared'),
|
|
311
|
+
version: packageJson.version,
|
|
255
312
|
} as PluginModule;
|
|
256
313
|
}
|
|
257
314
|
|
|
@@ -308,19 +365,19 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
308
365
|
private async resolveSharedComponents(config: RegistryRadio, plugin: PluginModule): Promise<void> {
|
|
309
366
|
// Resolve schema references
|
|
310
367
|
if (config.settingsSchema.settingsSchema && typeof config.settingsSchema.settingsSchema === 'object' && '$ref' in config.settingsSchema.settingsSchema) {
|
|
311
|
-
const schemaPath = this.sharedComponentManager.resolveReference(config.settingsSchema.settingsSchema.$ref, plugin.configPath);
|
|
368
|
+
const schemaPath = this.sharedComponentManager.resolveReference(config.settingsSchema.settingsSchema.$ref as string, plugin.configPath);
|
|
312
369
|
config.settingsSchema.settingsSchema = await this.sharedComponentManager.loadSchema(schemaPath);
|
|
313
370
|
}
|
|
314
371
|
|
|
315
372
|
if (config.settingsSchema.channelSchema && typeof config.settingsSchema.channelSchema === 'object' && '$ref' in config.settingsSchema.channelSchema) {
|
|
316
|
-
const schemaPath = this.sharedComponentManager.resolveReference(config.settingsSchema.channelSchema.$ref, plugin.configPath);
|
|
373
|
+
const schemaPath = this.sharedComponentManager.resolveReference(config.settingsSchema.channelSchema.$ref as string, plugin.configPath);
|
|
317
374
|
config.settingsSchema.channelSchema = await this.sharedComponentManager.loadSchema(schemaPath);
|
|
318
375
|
}
|
|
319
376
|
}
|
|
320
377
|
|
|
321
|
-
private async loadCodecFromConfig(config: RegistryRadio): Promise<RadioCodec |
|
|
378
|
+
private async loadCodecFromConfig(config: RegistryRadio): Promise<RadioCodec | undefined> {
|
|
322
379
|
if (!config.codec || config.codec.type !== 'shared' || !config.codec.reference) {
|
|
323
|
-
return
|
|
380
|
+
return undefined;
|
|
324
381
|
}
|
|
325
382
|
|
|
326
383
|
const codecPath = this.sharedComponentManager.resolveReference(config.codec.reference, config.metadata.pluginPath || '');
|
|
@@ -353,8 +410,8 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
353
410
|
}
|
|
354
411
|
|
|
355
412
|
return {
|
|
356
|
-
isValid: errors.length === 0,
|
|
357
413
|
errors,
|
|
414
|
+
isValid: errors.length === 0,
|
|
358
415
|
warnings,
|
|
359
416
|
};
|
|
360
417
|
}
|
|
@@ -366,8 +423,8 @@ export class NpmBasedConfigRegistry implements RadioConfigRegistry {
|
|
|
366
423
|
}
|
|
367
424
|
|
|
368
425
|
private async runPackageManager(args: string[]): Promise<void> {
|
|
369
|
-
const { exec } = await import('child_process');
|
|
370
|
-
const { promisify } = await import('util');
|
|
426
|
+
const { exec } = await import('node:child_process');
|
|
427
|
+
const { promisify } = await import('node:util');
|
|
371
428
|
const execAsync = promisify(exec);
|
|
372
429
|
|
|
373
430
|
try {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ILogLayer } from 'loglayer';
|
|
2
|
-
import { readFile } from 'fs/promises';
|
|
3
|
-
import { join } from 'path';
|
|
4
1
|
import type { RadioCodec, SharedComponentManager } from '@springfield/ham-radio-api';
|
|
2
|
+
import type { ILogLayer } from 'loglayer';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { readFile } from 'node:fs/promises';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Default implementation of the shared component manager
|
package/src/utils/npm-client.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface NpmClient {
|
|
|
22
22
|
* NPM search response interface
|
|
23
23
|
*/
|
|
24
24
|
interface NpmSearchResponse {
|
|
25
|
-
objects:
|
|
25
|
+
objects: {
|
|
26
26
|
package: {
|
|
27
27
|
name: string;
|
|
28
28
|
version: string;
|
|
@@ -35,7 +35,7 @@ interface NpmSearchResponse {
|
|
|
35
35
|
date?: string;
|
|
36
36
|
springfield?: any;
|
|
37
37
|
};
|
|
38
|
-
}
|
|
38
|
+
}[];
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|