@springfield/ham-radio-registry 1.0.11 → 1.0.13

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 CHANGED
@@ -1,3 +1,11 @@
1
+ ## <small>1.0.13 (2025-12-17)</small>
2
+
3
+ * fix: refine reference resolution for JavaScript files in DefaultSharedComponentManager ([0038dd5](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/commit/0038dd5))
4
+
5
+ ## <small>1.0.12 (2025-12-17)</small>
6
+
7
+ * fix: enhance reference resolution in DefaultSharedComponentManager ([9166eb4](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/commit/9166eb4))
8
+
1
9
  ## <small>1.0.11 (2025-12-17)</small>
2
10
 
3
11
  * fix: update dependencies ([bd46658](https://gitlab.com/springfield-ham-radio/app/ham-radio-registry/commit/bd46658))
@@ -1 +1 @@
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
+ {"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;CA2C9D"}
@@ -53,15 +53,38 @@ export class DefaultSharedComponentManager {
53
53
  }
54
54
  }
55
55
  resolveReference(reference, basePath) {
56
- // Handle relative paths
57
- if (reference.startsWith('./') || reference.startsWith('../')) {
58
- return join(basePath, reference);
56
+ // Handle absolute module paths (e.g., @scope/package/path)
57
+ if (reference.startsWith('@') || (!reference.startsWith('./') && !reference.startsWith('../') && !reference.startsWith('/'))) {
58
+ return reference;
59
59
  }
60
- // Handle absolute paths
60
+ // Handle absolute file system paths
61
61
  if (reference.startsWith('/')) {
62
62
  return reference;
63
63
  }
64
- // Default to relative path
64
+ // Handle relative paths - check if basePath is in node_modules
65
+ if (basePath.includes('node_modules')) {
66
+ // For JavaScript files (codecs), convert to module specifiers
67
+ // For other files (schemas, configs), use file system paths
68
+ const isJavaScriptFile = reference.endsWith('.js') || reference.endsWith('.mjs') || reference.endsWith('.ts');
69
+ if (isJavaScriptFile) {
70
+ // Extract module name from path
71
+ const nodeModulesIndex = basePath.indexOf('node_modules');
72
+ const afterNodeModules = basePath.substring(nodeModulesIndex + 'node_modules/'.length);
73
+ const pathParts = afterNodeModules.split('/');
74
+ // Handle scoped packages (@scope/package) vs regular packages
75
+ const moduleName = pathParts[0] && pathParts[0].startsWith('@') && pathParts[1]
76
+ ? `${pathParts[0]}/${pathParts[1]}`
77
+ : pathParts[0];
78
+ // Resolve the reference relative to the module
79
+ // Remove leading ../ to get the path relative to module root
80
+ let relativePath = reference;
81
+ while (relativePath.startsWith('../')) {
82
+ relativePath = relativePath.substring(3);
83
+ }
84
+ return `${moduleName}/${relativePath}`;
85
+ }
86
+ }
87
+ // Default to file system path join for non-JS files and non-module paths
65
88
  return join(basePath, reference);
66
89
  }
67
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared-components.js","sourceRoot":"","sources":["../../src/registry/shared-components.ts"],"names":[],"mappings":"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"}
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.11",
3
+ "version": "1.0.13",
4
4
  "author": "Bryan Hunt",
5
5
  "license": "MIT",
6
6
  "packageManager": "yarn@4.12.0",
@@ -64,17 +64,46 @@ export class DefaultSharedComponentManager implements SharedComponentManager {
64
64
  }
65
65
 
66
66
  resolveReference(reference: string, basePath: string): string {
67
- // Handle relative paths
68
- if (reference.startsWith('./') || reference.startsWith('../')) {
69
- return join(basePath, reference);
67
+ // Handle absolute module paths (e.g., @scope/package/path)
68
+ if (reference.startsWith('@') || (!reference.startsWith('./') && !reference.startsWith('../') && !reference.startsWith('/'))) {
69
+ return reference;
70
70
  }
71
71
 
72
- // Handle absolute paths
72
+ // Handle absolute file system paths
73
73
  if (reference.startsWith('/')) {
74
74
  return reference;
75
75
  }
76
76
 
77
- // Default to relative path
77
+ // Handle relative paths - check if basePath is in node_modules
78
+ if (basePath.includes('node_modules')) {
79
+ // For JavaScript files (codecs), convert to module specifiers
80
+ // For other files (schemas, configs), use file system paths
81
+ const isJavaScriptFile = reference.endsWith('.js') || reference.endsWith('.mjs') || reference.endsWith('.ts');
82
+
83
+ if (isJavaScriptFile) {
84
+ // Extract module name from path
85
+ const nodeModulesIndex = basePath.indexOf('node_modules');
86
+ const afterNodeModules = basePath.substring(nodeModulesIndex + 'node_modules/'.length);
87
+ const pathParts = afterNodeModules.split('/');
88
+
89
+ // Handle scoped packages (@scope/package) vs regular packages
90
+ const moduleName = pathParts[0] && pathParts[0].startsWith('@') && pathParts[1]
91
+ ? `${pathParts[0]}/${pathParts[1]}`
92
+ : pathParts[0];
93
+
94
+ // Resolve the reference relative to the module
95
+ // Remove leading ../ to get the path relative to module root
96
+ let relativePath = reference;
97
+
98
+ while (relativePath.startsWith('../')) {
99
+ relativePath = relativePath.substring(3);
100
+ }
101
+
102
+ return `${moduleName}/${relativePath}`;
103
+ }
104
+ }
105
+
106
+ // Default to file system path join for non-JS files and non-module paths
78
107
  return join(basePath, reference);
79
108
  }
80
109
  }