Add SpeckDL compiler scaffold

- CLI entry point with yargs parsing for speckl-compile <file> --output-dir --bom-format
- TypeScript parser with AST types for all SpeckDL primitives
- Generator for PROV-O JSON-LD provenance graphs
- Generator for CycloneDX v1.6 BOMs
- Generator for SPDX 3.0.1 BOMs
- E2E test verifying RetryHandler.speck parsing and all output formats

All tests pass.
This commit is contained in:
Scott Scoble 2026-04-29 15:12:08 -07:00
parent 448819104a
commit f19a43fd5f
1295 changed files with 1037389 additions and 0 deletions

29
compiler/node_modules/string-width/index.d.ts generated vendored Normal file
View file

@ -0,0 +1,29 @@
declare const stringWidth: {
/**
Get the visual width of a string - the number of columns required to display it.
Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
@example
```
import stringWidth = require('string-width');
stringWidth('a');
//=> 1
stringWidth('古');
//=> 2
stringWidth('\u001B[1m古\u001B[22m');
//=> 2
```
*/
(string: string): number;
// TODO: remove this in the next major version, refactor the whole definition to:
// declare function stringWidth(string: string): number;
// export = stringWidth;
default: typeof stringWidth;
}
export = stringWidth;