@intelligentelectron/universal-netlist 0.0.15 → 0.0.17
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 +19 -0
- package/README.md +1 -2
- package/dist/service.d.ts +28 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +108 -41
- package/dist/service.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.0.17] - 2026-02-12
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Fix `export_cadence_netlist` failing silently when `.DSNlck` lock files are present ([#15](https://github.com/IntelligentElectron/universal-netlist/issues/15))
|
|
13
|
+
- Fix search tools rejecting `(?i)` and other PCRE-style inline regex flags ([#14](https://github.com/IntelligentElectron/universal-netlist/issues/14))
|
|
14
|
+
|
|
15
|
+
## [0.0.16] - 2026-02-10
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Fix `export_cadence_netlist` to reuse existing `Allegro/` or `allegro/` output directory instead of always creating `Allegro/`
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Extract `resolveAllegroDir` for Allegro output directory resolution
|
|
24
|
+
- Clean up test formatting and remove redundant spy restores
|
|
25
|
+
|
|
8
26
|
## [0.0.15] - 2026-02-09
|
|
9
27
|
|
|
10
28
|
### Fixed
|
|
@@ -149,6 +167,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
149
167
|
- `query_xnet_by_pin_name` - Trace connectivity from a pin
|
|
150
168
|
- `export_cadence_netlist` - Export to Allegro format
|
|
151
169
|
|
|
170
|
+
[0.0.16]: https://github.com/IntelligentElectron/universal-netlist/releases/tag/v0.0.16
|
|
152
171
|
[0.0.15]: https://github.com/IntelligentElectron/universal-netlist/releases/tag/v0.0.15
|
|
153
172
|
[0.0.14]: https://github.com/IntelligentElectron/universal-netlist/releases/tag/v0.0.14
|
|
154
173
|
[0.0.13]: https://github.com/IntelligentElectron/universal-netlist/releases/tag/v0.0.13
|
package/README.md
CHANGED
|
@@ -136,8 +136,7 @@ Then enable it in **Configure Tools** (click the tools icon in Copilot chat).
|
|
|
136
136
|
|
|
137
137
|
| Platform | Binary |
|
|
138
138
|
|----------|--------|
|
|
139
|
-
| macOS (
|
|
140
|
-
| macOS (Apple Silicon) | `universal-netlist-darwin-arm64` |
|
|
139
|
+
| macOS (Universal) | `universal-netlist-darwin-universal` |
|
|
141
140
|
| Linux (x64) | `universal-netlist-linux-x64` |
|
|
142
141
|
| Linux (ARM64) | `universal-netlist-linux-arm64` |
|
|
143
142
|
| Windows (x64) | `universal-netlist-windows-x64.exe` |
|
package/dist/service.d.ts
CHANGED
|
@@ -19,6 +19,15 @@ declare const groupComponentsByMpn: (entries: Array<[string, ComponentDetails[st
|
|
|
19
19
|
* Aggregate circuit components by MPN for compact output.
|
|
20
20
|
*/
|
|
21
21
|
declare const aggregateCircuitByMpn: (components: CircuitComponent[]) => AggregatedCircuitResult["components_by_mpn"];
|
|
22
|
+
/**
|
|
23
|
+
* Parse PCRE-style inline flags from a regex pattern and convert to JS RegExp flags.
|
|
24
|
+
* Supports (?i), (?m), (?s), (?u) and combinations like (?im) at the start of the pattern.
|
|
25
|
+
*/
|
|
26
|
+
declare const parseRegexPattern: (pattern: string, defaultFlags?: string) => {
|
|
27
|
+
regex: RegExp;
|
|
28
|
+
} | {
|
|
29
|
+
error: string;
|
|
30
|
+
};
|
|
22
31
|
/**
|
|
23
32
|
* Options for listDesigns.
|
|
24
33
|
*/
|
|
@@ -119,6 +128,24 @@ export declare const detectCadenceVersions: (cadenceBase?: string) => Promise<Ca
|
|
|
119
128
|
* @returns The latest Cadence installation, or null if none found
|
|
120
129
|
*/
|
|
121
130
|
export declare const getLatestCadence: () => Promise<CadenceInstall | null>;
|
|
131
|
+
/**
|
|
132
|
+
* Resolve the Allegro output directory for netlist export.
|
|
133
|
+
* Uses an existing Allegro/ or allegro/ directory if present, otherwise creates allegro/.
|
|
134
|
+
*/
|
|
135
|
+
export declare const resolveAllegroDir: (dsnDir: string) => Promise<{
|
|
136
|
+
outputDir: string;
|
|
137
|
+
dirName: string;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Temporarily relocate a .DSNlck lock file so pstswp can proceed.
|
|
141
|
+
* Returns the temporary path if relocated, or undefined if no lock file exists.
|
|
142
|
+
*/
|
|
143
|
+
export declare const relocateLockFile: (dsnPath: string) => Promise<string | undefined>;
|
|
144
|
+
/**
|
|
145
|
+
* Restore a previously relocated .DSNlck lock file.
|
|
146
|
+
* Logs a warning if restoration fails (e.g. temp file was cleaned up).
|
|
147
|
+
*/
|
|
148
|
+
export declare const restoreLockFile: (dsnPath: string, tempPath: string) => Promise<void>;
|
|
122
149
|
/**
|
|
123
150
|
* Export Cadence schematic netlist to Allegro PCB format.
|
|
124
151
|
* Uses the pstswp utility from Cadence SPB installation.
|
|
@@ -131,5 +158,5 @@ export declare const exportCadenceNetlist: (dsnPath: string) => Promise<ExportNe
|
|
|
131
158
|
* Internal exports for testing purposes only.
|
|
132
159
|
* @internal
|
|
133
160
|
*/
|
|
134
|
-
export { MPN_MISSING_NOTE, groupComponentsByMpn, aggregateCircuitByMpn };
|
|
161
|
+
export { MPN_MISSING_NOTE, groupComponentsByMpn, aggregateCircuitByMpn, parseRegexPattern };
|
|
135
162
|
//# sourceMappingURL=service.d.ts.map
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { exec } from "child_process";
|
|
8
8
|
import * as fs from "fs";
|
|
9
|
+
import { tmpdir } from "os";
|
|
9
10
|
import path from "path";
|
|
10
11
|
import { promisify } from "util";
|
|
11
12
|
import { discoverDesigns, findHandler, parseDesign } from "./parsers/index.js";
|
|
@@ -233,19 +234,39 @@ const aggregateCircuitByMpn = (components) => {
|
|
|
233
234
|
}
|
|
234
235
|
return result.sort((a, b) => b.total_count - a.total_count);
|
|
235
236
|
};
|
|
237
|
+
// =============================================================================
|
|
238
|
+
// Regex Helpers
|
|
239
|
+
// =============================================================================
|
|
236
240
|
/**
|
|
237
|
-
*
|
|
241
|
+
* Parse PCRE-style inline flags from a regex pattern and convert to JS RegExp flags.
|
|
242
|
+
* Supports (?i), (?m), (?s), (?u) and combinations like (?im) at the start of the pattern.
|
|
238
243
|
*/
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
244
|
+
const parseRegexPattern = (pattern, defaultFlags = "") => {
|
|
245
|
+
let flags = defaultFlags;
|
|
246
|
+
let cleanPattern = pattern;
|
|
247
|
+
const inlineFlagMatch = cleanPattern.match(/^\(\?([imsu]+)\)/);
|
|
248
|
+
if (inlineFlagMatch) {
|
|
249
|
+
cleanPattern = cleanPattern.slice(inlineFlagMatch[0].length);
|
|
250
|
+
const allFlags = new Set([...flags, ...inlineFlagMatch[1]]);
|
|
251
|
+
flags = [...allFlags].filter((f) => "gimsuvy".includes(f)).join("");
|
|
252
|
+
}
|
|
243
253
|
try {
|
|
244
|
-
regex
|
|
254
|
+
return { regex: new RegExp(cleanPattern, flags) };
|
|
245
255
|
}
|
|
246
256
|
catch {
|
|
247
257
|
return { error: `Invalid regex pattern '${pattern}'` };
|
|
248
258
|
}
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* List all designs in a directory.
|
|
262
|
+
*/
|
|
263
|
+
export const listDesigns = async (options = {}) => {
|
|
264
|
+
const { searchPath, pattern = ".*", maxDepth, maxResults = 50 } = options;
|
|
265
|
+
const resolvedPath = resolvePath(searchPath ?? ".");
|
|
266
|
+
const parsed = parseRegexPattern(pattern);
|
|
267
|
+
if ("error" in parsed)
|
|
268
|
+
return parsed;
|
|
269
|
+
const regex = parsed.regex;
|
|
249
270
|
let designs;
|
|
250
271
|
try {
|
|
251
272
|
designs = await discoverDesigns(resolvedPath, { maxDepth });
|
|
@@ -310,13 +331,10 @@ export const listNets = async (design) => {
|
|
|
310
331
|
* @param design - Path to design file
|
|
311
332
|
*/
|
|
312
333
|
export const searchNets = async (pattern, design) => {
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
catch {
|
|
318
|
-
return { error: `Invalid regex pattern '${pattern}'` };
|
|
319
|
-
}
|
|
334
|
+
const parsed = parseRegexPattern(pattern);
|
|
335
|
+
if ("error" in parsed)
|
|
336
|
+
return parsed;
|
|
337
|
+
const regex = parsed.regex;
|
|
320
338
|
const netlist = await loadNetlist(design);
|
|
321
339
|
if (isErrorResult(netlist)) {
|
|
322
340
|
return netlist;
|
|
@@ -340,14 +358,10 @@ export const searchNets = async (pattern, design) => {
|
|
|
340
358
|
* @param includeDns - Include DNS components
|
|
341
359
|
*/
|
|
342
360
|
export const searchComponentsByRefdes = async (pattern, design, includeDns = false) => {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
catch {
|
|
349
|
-
return { error: `Invalid regex pattern '${pattern}'` };
|
|
350
|
-
}
|
|
361
|
+
const parsed = parseRegexPattern(pattern, "i");
|
|
362
|
+
if ("error" in parsed)
|
|
363
|
+
return parsed;
|
|
364
|
+
const regex = parsed.regex;
|
|
351
365
|
const netlist = await loadNetlist(design);
|
|
352
366
|
if (isErrorResult(netlist)) {
|
|
353
367
|
return netlist;
|
|
@@ -371,14 +385,10 @@ export const searchComponentsByRefdes = async (pattern, design, includeDns = fal
|
|
|
371
385
|
* @param includeDns - Include DNS components
|
|
372
386
|
*/
|
|
373
387
|
export const searchComponentsByMpn = async (pattern, design, includeDns = false) => {
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
}
|
|
379
|
-
catch {
|
|
380
|
-
return { error: `Invalid regex pattern '${pattern}'` };
|
|
381
|
-
}
|
|
388
|
+
const parsed = parseRegexPattern(pattern, "i");
|
|
389
|
+
if ("error" in parsed)
|
|
390
|
+
return parsed;
|
|
391
|
+
const regex = parsed.regex;
|
|
382
392
|
const netlist = await loadNetlist(design);
|
|
383
393
|
if (isErrorResult(netlist)) {
|
|
384
394
|
return netlist;
|
|
@@ -414,14 +424,10 @@ export const searchComponentsByMpn = async (pattern, design, includeDns = false)
|
|
|
414
424
|
* @param includeDns - Include DNS components
|
|
415
425
|
*/
|
|
416
426
|
export const searchComponentsByDescription = async (pattern, design, includeDns = false) => {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
}
|
|
422
|
-
catch {
|
|
423
|
-
return { error: `Invalid regex pattern '${pattern}'` };
|
|
424
|
-
}
|
|
427
|
+
const parsed = parseRegexPattern(pattern, "i");
|
|
428
|
+
if ("error" in parsed)
|
|
429
|
+
return parsed;
|
|
430
|
+
const regex = parsed.regex;
|
|
425
431
|
const netlist = await loadNetlist(design);
|
|
426
432
|
if (isErrorResult(netlist)) {
|
|
427
433
|
return netlist;
|
|
@@ -661,6 +667,57 @@ export const getLatestCadence = async () => {
|
|
|
661
667
|
const versions = await detectCadenceVersions();
|
|
662
668
|
return versions[0] ?? null;
|
|
663
669
|
};
|
|
670
|
+
/**
|
|
671
|
+
* Resolve the Allegro output directory for netlist export.
|
|
672
|
+
* Uses an existing Allegro/ or allegro/ directory if present, otherwise creates allegro/.
|
|
673
|
+
*/
|
|
674
|
+
export const resolveAllegroDir = async (dsnDir) => {
|
|
675
|
+
let dirName = "allegro";
|
|
676
|
+
try {
|
|
677
|
+
const entries = await fs.promises.readdir(dsnDir);
|
|
678
|
+
for (const candidate of ["Allegro", "allegro"]) {
|
|
679
|
+
if (entries.includes(candidate)) {
|
|
680
|
+
dirName = candidate;
|
|
681
|
+
break;
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
catch {
|
|
686
|
+
// parent doesn't exist or can't be read
|
|
687
|
+
}
|
|
688
|
+
const outputDir = path.join(dsnDir, dirName);
|
|
689
|
+
await fs.promises.mkdir(outputDir, { recursive: true });
|
|
690
|
+
return { outputDir, dirName };
|
|
691
|
+
};
|
|
692
|
+
/**
|
|
693
|
+
* Temporarily relocate a .DSNlck lock file so pstswp can proceed.
|
|
694
|
+
* Returns the temporary path if relocated, or undefined if no lock file exists.
|
|
695
|
+
*/
|
|
696
|
+
export const relocateLockFile = async (dsnPath) => {
|
|
697
|
+
const lockPath = dsnPath.replace(/\.DSN$/i, ".DSNlck");
|
|
698
|
+
try {
|
|
699
|
+
await fs.promises.access(lockPath);
|
|
700
|
+
}
|
|
701
|
+
catch {
|
|
702
|
+
return undefined;
|
|
703
|
+
}
|
|
704
|
+
const tempPath = path.join(tmpdir(), `${path.basename(lockPath)}.${Date.now()}`);
|
|
705
|
+
await fs.promises.rename(lockPath, tempPath);
|
|
706
|
+
return tempPath;
|
|
707
|
+
};
|
|
708
|
+
/**
|
|
709
|
+
* Restore a previously relocated .DSNlck lock file.
|
|
710
|
+
* Logs a warning if restoration fails (e.g. temp file was cleaned up).
|
|
711
|
+
*/
|
|
712
|
+
export const restoreLockFile = async (dsnPath, tempPath) => {
|
|
713
|
+
const lockPath = dsnPath.replace(/\.DSN$/i, ".DSNlck");
|
|
714
|
+
try {
|
|
715
|
+
await fs.promises.rename(tempPath, lockPath);
|
|
716
|
+
}
|
|
717
|
+
catch {
|
|
718
|
+
console.warn(`Failed to restore lock file. Temporary location: ${tempPath}`);
|
|
719
|
+
}
|
|
720
|
+
};
|
|
664
721
|
/**
|
|
665
722
|
* Export Cadence schematic netlist to Allegro PCB format.
|
|
666
723
|
* Uses the pstswp utility from Cadence SPB installation.
|
|
@@ -685,12 +742,14 @@ export const exportCadenceNetlist = async (dsnPath) => {
|
|
|
685
742
|
const resolvedDsnPath = resolvePath(dsnPath);
|
|
686
743
|
const dsnDir = path.dirname(resolvedDsnPath);
|
|
687
744
|
const dsnFile = path.basename(dsnPath);
|
|
688
|
-
const outputDir =
|
|
745
|
+
const { outputDir, dirName: outputDirName } = await resolveAllegroDir(dsnDir);
|
|
746
|
+
// Temporarily relocate .DSNlck lock file if present (stale locks block pstswp)
|
|
747
|
+
const lockTempPath = await relocateLockFile(resolvedDsnPath);
|
|
689
748
|
// Convert to bash paths for command execution (GitBash compatibility)
|
|
690
749
|
const bashDsnDir = toBashPath(dsnDir);
|
|
691
750
|
const pstswp = toBashPath(cadence.pstswp);
|
|
692
751
|
const config = toBashPath(cadence.config);
|
|
693
|
-
const command = `cd "${bashDsnDir}" && "${pstswp}" -pst -d "${dsnFile}" -n "
|
|
752
|
+
const command = `cd "${bashDsnDir}" && "${pstswp}" -pst -d "${dsnFile}" -n "${outputDirName}" -c "${config}" -v 3 -l 255 -j "PCB Footprint"`;
|
|
694
753
|
try {
|
|
695
754
|
const { stdout, stderr } = await execAsync(command, {
|
|
696
755
|
shell: "bash",
|
|
@@ -715,10 +774,18 @@ export const exportCadenceNetlist = async (dsnPath) => {
|
|
|
715
774
|
}
|
|
716
775
|
catch (err) {
|
|
717
776
|
const execError = err;
|
|
777
|
+
const lockNote = lockTempPath
|
|
778
|
+
? ` A .DSNlck lock file was found and temporarily relocated — this is often the cause of pstswp failures.`
|
|
779
|
+
: "";
|
|
718
780
|
return {
|
|
719
|
-
error: `Cadence pstswp failed: ${execError.message ?? "Unknown error"}`,
|
|
781
|
+
error: `Cadence pstswp failed: ${execError.message ?? "Unknown error"}${lockNote}`,
|
|
720
782
|
};
|
|
721
783
|
}
|
|
784
|
+
finally {
|
|
785
|
+
if (lockTempPath) {
|
|
786
|
+
await restoreLockFile(resolvedDsnPath, lockTempPath);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
722
789
|
};
|
|
723
790
|
// =============================================================================
|
|
724
791
|
// Test Exports
|
|
@@ -727,5 +794,5 @@ export const exportCadenceNetlist = async (dsnPath) => {
|
|
|
727
794
|
* Internal exports for testing purposes only.
|
|
728
795
|
* @internal
|
|
729
796
|
*/
|
|
730
|
-
export { MPN_MISSING_NOTE, groupComponentsByMpn, aggregateCircuitByMpn };
|
|
797
|
+
export { MPN_MISSING_NOTE, groupComponentsByMpn, aggregateCircuitByMpn, parseRegexPattern };
|
|
731
798
|
//# sourceMappingURL=service.js.map
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|