@shapeshift-labs/frontier-lang-compiler 0.2.30 → 0.2.32

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/README.md CHANGED
@@ -333,6 +333,7 @@ Use injected parser adapters when a real language parser is available but should
333
333
  import {
334
334
  createBabelNativeImporterAdapter,
335
335
  createClangAstNativeImporterAdapter,
336
+ createCSharpRoslynNativeImporterAdapter,
336
337
  createGoAstNativeImporterAdapter,
337
338
  createJavaAstNativeImporterAdapter,
338
339
  createPythonAstNativeImporterAdapter,
@@ -365,6 +366,16 @@ const javaAstAdapter = createJavaAstNativeImporterAdapter({
365
366
  javaVersion: '21',
366
367
  sourceLevel: '21'
367
368
  });
369
+ const csharpRoslynAdapter = createCSharpRoslynNativeImporterAdapter({
370
+ parserModule: hostRoslynParser,
371
+ languageVersion: '12',
372
+ nullableContext: 'enabled'
373
+ });
374
+ const swiftSyntaxAdapter = createSwiftSyntaxNativeImporterAdapter({
375
+ parserModule: hostSwiftSyntaxParser,
376
+ swiftVersion: '6',
377
+ sourceKitEvidence: { hash: sourceKitIndexHash }
378
+ });
368
379
 
369
380
  const imported = await runNativeImporterAdapter(babelAdapter, {
370
381
  sourcePath: 'src/todo.ts',
@@ -373,14 +384,16 @@ const imported = await runNativeImporterAdapter(babelAdapter, {
373
384
 
374
385
  const project = await importNativeProject({
375
386
  projectRoot: 'src',
376
- adapters: [babelAdapter, pythonAstAdapter, rustSynAdapter, clangAstAdapter, goAstAdapter, javaAstAdapter],
387
+ adapters: [babelAdapter, pythonAstAdapter, rustSynAdapter, clangAstAdapter, goAstAdapter, javaAstAdapter, csharpRoslynAdapter, swiftSyntaxAdapter],
377
388
  sources: [
378
389
  { language: 'typescript', adapter: babelAdapter.id, sourcePath: 'src/todo.ts', sourceText },
379
390
  { language: 'python', adapter: pythonAstAdapter.id, sourcePath: 'tools/todo.py', sourceText: pythonSource },
380
391
  { language: 'rust', adapter: rustSynAdapter.id, sourcePath: 'src/todo.rs', sourceText: rustSource },
381
392
  { language: 'c', adapter: clangAstAdapter.id, sourcePath: 'native/todo.c', sourceText: cSource },
382
393
  { language: 'go', adapter: goAstAdapter.id, sourcePath: 'cmd/todo/main.go', sourceText: goSource },
383
- { language: 'java', adapter: javaAstAdapter.id, sourcePath: 'src/main/java/Todo.java', sourceText: javaSource }
394
+ { language: 'java', adapter: javaAstAdapter.id, sourcePath: 'src/main/java/Todo.java', sourceText: javaSource },
395
+ { language: 'csharp', adapter: csharpRoslynAdapter.id, sourcePath: 'src/Todo.cs', sourceText: csharpSource },
396
+ { language: 'swift', adapter: swiftSyntaxAdapter.id, sourcePath: 'Sources/Todo.swift', sourceText: swiftSource }
384
397
  ]
385
398
  });
386
399
 
@@ -404,6 +417,8 @@ The built-in adapter factories are dependency-light wrappers for caller-owned pa
404
417
  - `createClangAstNativeImporterAdapter`
405
418
  - `createGoAstNativeImporterAdapter`
406
419
  - `createJavaAstNativeImporterAdapter`
420
+ - `createCSharpRoslynNativeImporterAdapter`
421
+ - `createSwiftSyntaxNativeImporterAdapter`
407
422
  - `createTreeSitterNativeImporterAdapter`
408
423
 
409
424
  Adapter summaries include a structured `coverage` record so merge queues can distinguish exact parser AST imports from declaration scans. The record declares exactness, parser token/trivia support, diagnostics support, source-range and generated-range support, and semantic coverage. Built-in wrappers normalize native AST/CST nodes and declaration-level semantic indexes; they do not claim resolved references, types, control flow, generated ranges, or token/trivia fidelity unless the host adapter supplies that evidence.
@@ -451,6 +466,10 @@ The published Frontier package family is generated from one shared package catal
451
466
  - [`@shapeshift-labs/frontier-lang-rust`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-rust): Rust projection adapter for Frontier Lang semantic documents, including structs, aliases, and action stubs.
452
467
  - [`@shapeshift-labs/frontier-lang-python`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-python): Python projection adapter for Frontier Lang semantic documents, including dataclasses, typed patch records, and action stubs.
453
468
  - [`@shapeshift-labs/frontier-lang-c`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-c): C header projection adapter for Frontier Lang semantic documents, including structs and action prototypes.
469
+ - [`@shapeshift-labs/frontier-lang-java`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-java): Java source-language importer package for Frontier Lang semantic documents, including package-level metadata, Java AST adapter helpers, native import results, and semantic sidecar generation for javac/JDT/JavaParser-shaped ASTs.
470
+ - [`@shapeshift-labs/frontier-lang-go`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-go): Go source-language importer package for Frontier Lang semantic documents, including package-level metadata, Go AST adapter helpers, native import results, and semantic sidecar generation for go/ast File or Package trees.
471
+ - [`@shapeshift-labs/frontier-lang-csharp`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-csharp): C# Roslyn source-language importer package for Frontier Lang semantic documents, including package-level metadata, Roslyn adapter helpers, native import results, and semantic sidecar generation for SyntaxTree/SyntaxNode-shaped ASTs.
472
+ - [`@shapeshift-labs/frontier-lang-clang`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-clang): Clang AST source-language importer package for Frontier Lang semantic documents, including package-level metadata, Clang AST JSON adapter helpers, native import results, and semantic sidecar generation for C/C++ translation units.
454
473
  - [`@shapeshift-labs/frontier-lang-cli`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang-cli): Command line interface for parsing, checking, hashing, and emitting Frontier Lang projects.
455
474
  - [`@shapeshift-labs/frontier-lang`](https://www.npmjs.com/package/@shapeshift-labs/frontier-lang): Umbrella package for Frontier Lang kernel, parser, checker, and projection adapters.
456
475
  - [`@shapeshift-labs/frontier-kv`](https://www.npmjs.com/package/@shapeshift-labs/frontier-kv): Serializable in-memory key/value state for Frontier apps, including TTL, versioned compare-and-set, batched patch mutations, scans, watchers, snapshots, JSONL event evidence, and replay verification.
@@ -538,6 +557,10 @@ Package source repositories:
538
557
  - [`siliconjungle/-shapeshift-labs-frontier-lang-python`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-python)
539
558
  - [`siliconjungle/-shapeshift-labs-frontier-lang-c`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-c)
540
559
  - [`siliconjungle/-shapeshift-labs-frontier-lang-compiler`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-compiler)
560
+ - [`siliconjungle/-shapeshift-labs-frontier-lang-java`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-java)
561
+ - [`siliconjungle/-shapeshift-labs-frontier-lang-go`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-go)
562
+ - [`siliconjungle/-shapeshift-labs-frontier-lang-csharp`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-csharp)
563
+ - [`siliconjungle/-shapeshift-labs-frontier-lang-clang`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-clang)
541
564
  - [`siliconjungle/-shapeshift-labs-frontier-lang-cli`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang-cli)
542
565
  - [`siliconjungle/-shapeshift-labs-frontier-lang`](https://github.com/siliconjungle/-shapeshift-labs-frontier-lang)
543
566
  - [`siliconjungle/-shapeshift-labs-frontier-kv`](https://github.com/siliconjungle/-shapeshift-labs-frontier-kv)
package/bench/smoke.mjs CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  compileNativeSource,
4
4
  compileFrontierSource,
5
5
  createClangAstNativeImporterAdapter,
6
+ createCSharpRoslynNativeImporterAdapter,
6
7
  createEstreeNativeImporterAdapter,
7
8
  createGoAstNativeImporterAdapter,
8
9
  createJavaAstNativeImporterAdapter,
@@ -12,6 +13,7 @@ import {
12
13
  createNativeSourcePreservation,
13
14
  createPythonAstNativeImporterAdapter,
14
15
  createRustSynNativeImporterAdapter,
16
+ createSwiftSyntaxNativeImporterAdapter,
15
17
  createSemanticImportSidecar,
16
18
  diffNativeSources,
17
19
  importExternalSemanticIndex,
@@ -82,7 +84,7 @@ const matrixDurationMs = performance.now() - matrixStart;
82
84
  const parserFormatMatrixStart = performance.now();
83
85
  const parserFormatMatrix = createNativeParserAstFormatMatrix({
84
86
  imports: nativeImportResults,
85
- adapters: [estreeAdapter, createPythonAstNativeImporterAdapter(), createRustSynNativeImporterAdapter(), createClangAstNativeImporterAdapter(), createGoAstNativeImporterAdapter(), createJavaAstNativeImporterAdapter()]
87
+ adapters: [estreeAdapter, createPythonAstNativeImporterAdapter(), createRustSynNativeImporterAdapter(), createClangAstNativeImporterAdapter(), createGoAstNativeImporterAdapter(), createJavaAstNativeImporterAdapter(), createCSharpRoslynNativeImporterAdapter(), createSwiftSyntaxNativeImporterAdapter()]
86
88
  });
87
89
  const parserFormatMatrixDurationMs = performance.now() - parserFormatMatrixStart;
88
90
 
package/dist/index.d.ts CHANGED
@@ -1497,6 +1497,73 @@ export interface JavaAstNativeImporterAdapterOptions {
1497
1497
  readonly maxNodes?: number;
1498
1498
  }
1499
1499
 
1500
+ export interface CSharpRoslynNativeImporterAdapterOptions {
1501
+ readonly id?: string;
1502
+ readonly language?: FrontierSourceLanguage;
1503
+ readonly parser?: string;
1504
+ readonly version?: string;
1505
+ readonly capabilities?: readonly string[];
1506
+ readonly coverage?: NativeImporterAdapterCoverageInput;
1507
+ readonly supportedExtensions?: readonly string[];
1508
+ readonly diagnostics?: readonly NativeImporterAdapterDiagnostic[];
1509
+ readonly ast?: unknown;
1510
+ readonly nativeAst?: unknown;
1511
+ readonly syntaxTree?: unknown;
1512
+ readonly tree?: unknown;
1513
+ readonly root?: unknown;
1514
+ readonly compilationUnit?: unknown;
1515
+ readonly parse?: (sourceText: string, options: Record<string, unknown>) => unknown;
1516
+ readonly parserModule?: { readonly parse: (sourceText: string, options: Record<string, unknown>) => unknown };
1517
+ readonly roslyn?: { readonly parse: (sourceText: string, options: Record<string, unknown>) => unknown };
1518
+ readonly csharpRoslyn?: { readonly parse: (sourceText: string, options: Record<string, unknown>) => unknown };
1519
+ readonly parserOptions?: Record<string, unknown>;
1520
+ readonly csharpVersion?: string;
1521
+ readonly languageVersion?: string;
1522
+ readonly nullableContext?: string | boolean;
1523
+ readonly sourceCodeKind?: string;
1524
+ readonly generated?: boolean;
1525
+ readonly projectReferences?: unknown;
1526
+ readonly analyzerDiagnostics?: unknown;
1527
+ readonly semanticModelEvidence?: unknown;
1528
+ readonly sourceGeneratorEvidence?: unknown;
1529
+ readonly positionResolver?: (position: unknown) => unknown;
1530
+ readonly lineMap?: unknown;
1531
+ readonly maxNodes?: number;
1532
+ }
1533
+
1534
+ export interface SwiftSyntaxNativeImporterAdapterOptions {
1535
+ readonly id?: string;
1536
+ readonly language?: FrontierSourceLanguage;
1537
+ readonly parser?: string;
1538
+ readonly version?: string;
1539
+ readonly capabilities?: readonly string[];
1540
+ readonly coverage?: NativeImporterAdapterCoverageInput;
1541
+ readonly supportedExtensions?: readonly string[];
1542
+ readonly diagnostics?: readonly NativeImporterAdapterDiagnostic[];
1543
+ readonly ast?: unknown;
1544
+ readonly nativeAst?: unknown;
1545
+ readonly sourceFile?: unknown;
1546
+ readonly sourceFileSyntax?: unknown;
1547
+ readonly root?: unknown;
1548
+ readonly parse?: (sourceText: string, options: Record<string, unknown>) => unknown;
1549
+ readonly parserModule?: { readonly parse: (sourceText: string, options: Record<string, unknown>) => unknown };
1550
+ readonly swiftSyntax?: { readonly parse: (sourceText: string, options: Record<string, unknown>) => unknown };
1551
+ readonly swiftParser?: { readonly parse: (sourceText: string, options: Record<string, unknown>) => unknown };
1552
+ readonly parserOptions?: Record<string, unknown>;
1553
+ readonly swiftVersion?: string;
1554
+ readonly languageMode?: string;
1555
+ readonly enableBareSlashRegex?: boolean;
1556
+ readonly parseTransition?: string;
1557
+ readonly generated?: boolean;
1558
+ readonly sourceKitEvidence?: unknown;
1559
+ readonly macroExpansionEvidence?: unknown;
1560
+ readonly packageResolutionEvidence?: unknown;
1561
+ readonly positionResolver?: (position: unknown) => unknown;
1562
+ readonly lineMap?: unknown;
1563
+ readonly sourceLocationConverter?: unknown;
1564
+ readonly maxNodes?: number;
1565
+ }
1566
+
1500
1567
  export interface TreeSitterNativeImporterAdapterOptions {
1501
1568
  readonly id?: string;
1502
1569
  readonly language?: FrontierSourceLanguage;
@@ -1871,6 +1938,8 @@ export declare function createRustSynNativeImporterAdapter(options?: RustSynNati
1871
1938
  export declare function createClangAstNativeImporterAdapter(options?: ClangAstNativeImporterAdapterOptions): NativeImporterAdapter;
1872
1939
  export declare function createGoAstNativeImporterAdapter(options?: GoAstNativeImporterAdapterOptions): NativeImporterAdapter;
1873
1940
  export declare function createJavaAstNativeImporterAdapter(options?: JavaAstNativeImporterAdapterOptions): NativeImporterAdapter;
1941
+ export declare function createCSharpRoslynNativeImporterAdapter(options?: CSharpRoslynNativeImporterAdapterOptions): NativeImporterAdapter;
1942
+ export declare function createSwiftSyntaxNativeImporterAdapter(options?: SwiftSyntaxNativeImporterAdapterOptions): NativeImporterAdapter;
1874
1943
  export declare function createTreeSitterNativeImporterAdapter(options?: TreeSitterNativeImporterAdapterOptions): NativeImporterAdapter;
1875
1944
  export declare function runNativeImporterAdapter(adapter: NativeImporterAdapter, input: RunNativeImporterAdapterOptions): Promise<NativeImporterAdapterImportResult>;
1876
1945
  export declare function runNativeTargetProjectionAdapter(adapter: NativeTargetProjectionAdapter, input: NativeTargetProjectionAdapterInput): NativeTargetProjectionResult;