@typespec/compiler 0.67.0-dev.10 → 0.67.0-dev.12

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.
Files changed (143) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts.map +1 -1
  3. package/dist/src/core/binder.js +17 -130
  4. package/dist/src/core/binder.js.map +1 -1
  5. package/dist/src/core/checker.d.ts +3 -8
  6. package/dist/src/core/checker.d.ts.map +1 -1
  7. package/dist/src/core/checker.js +30 -674
  8. package/dist/src/core/checker.js.map +1 -1
  9. package/dist/src/core/cli/cli.js +8 -2
  10. package/dist/src/core/cli/cli.js.map +1 -1
  11. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  12. package/dist/src/core/decorator-utils.js +1 -3
  13. package/dist/src/core/decorator-utils.js.map +1 -1
  14. package/dist/src/core/diagnostic-error.d.ts +7 -0
  15. package/dist/src/core/diagnostic-error.d.ts.map +1 -0
  16. package/dist/src/core/diagnostic-error.js +9 -0
  17. package/dist/src/core/diagnostic-error.js.map +1 -0
  18. package/dist/src/core/diagnostics.d.ts +0 -6
  19. package/dist/src/core/diagnostics.d.ts.map +1 -1
  20. package/dist/src/core/diagnostics.js +2 -11
  21. package/dist/src/core/diagnostics.js.map +1 -1
  22. package/dist/src/core/inspector/symbol.d.ts.map +1 -1
  23. package/dist/src/core/inspector/symbol.js +9 -11
  24. package/dist/src/core/inspector/symbol.js.map +1 -1
  25. package/dist/src/core/messages.d.ts +20 -40
  26. package/dist/src/core/messages.d.ts.map +1 -1
  27. package/dist/src/core/messages.js +6 -10
  28. package/dist/src/core/messages.js.map +1 -1
  29. package/dist/src/core/name-resolver.d.ts.map +1 -1
  30. package/dist/src/core/name-resolver.js +12 -23
  31. package/dist/src/core/name-resolver.js.map +1 -1
  32. package/dist/src/core/parser.d.ts.map +1 -1
  33. package/dist/src/core/parser.js +0 -642
  34. package/dist/src/core/parser.js.map +1 -1
  35. package/dist/src/core/program.d.ts +1 -10
  36. package/dist/src/core/program.d.ts.map +1 -1
  37. package/dist/src/core/program.js +2 -7
  38. package/dist/src/core/program.js.map +1 -1
  39. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  40. package/dist/src/core/semantic-walker.js +0 -9
  41. package/dist/src/core/semantic-walker.js.map +1 -1
  42. package/dist/src/core/state-accessors.d.ts +53 -12
  43. package/dist/src/core/state-accessors.d.ts.map +1 -1
  44. package/dist/src/core/state-accessors.js +75 -48
  45. package/dist/src/core/state-accessors.js.map +1 -1
  46. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  47. package/dist/src/core/type-relation-checker.js +3 -6
  48. package/dist/src/core/type-relation-checker.js.map +1 -1
  49. package/dist/src/core/type-utils.js +2 -2
  50. package/dist/src/core/type-utils.js.map +1 -1
  51. package/dist/src/core/types.d.ts +41 -274
  52. package/dist/src/core/types.d.ts.map +1 -1
  53. package/dist/src/core/types.js +24 -55
  54. package/dist/src/core/types.js.map +1 -1
  55. package/dist/src/core/visibility/lifecycle.d.ts.map +1 -1
  56. package/dist/src/core/visibility/lifecycle.js +2 -11
  57. package/dist/src/core/visibility/lifecycle.js.map +1 -1
  58. package/dist/src/experimental/freeze-graph.d.ts.map +1 -1
  59. package/dist/src/experimental/freeze-graph.js +0 -3
  60. package/dist/src/experimental/freeze-graph.js.map +1 -1
  61. package/dist/src/experimental/mutators.d.ts +2 -2
  62. package/dist/src/experimental/mutators.d.ts.map +1 -1
  63. package/dist/src/experimental/mutators.js +0 -6
  64. package/dist/src/experimental/mutators.js.map +1 -1
  65. package/dist/src/experimental/typekit/kits/type.js +0 -3
  66. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  67. package/dist/src/formatter/print/needs-parens.d.ts.map +1 -1
  68. package/dist/src/formatter/print/needs-parens.js +0 -4
  69. package/dist/src/formatter/print/needs-parens.js.map +1 -1
  70. package/dist/src/formatter/print/printer.d.ts +4 -12
  71. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  72. package/dist/src/formatter/print/printer.js +0 -187
  73. package/dist/src/formatter/print/printer.js.map +1 -1
  74. package/dist/src/index.d.ts +3 -4
  75. package/dist/src/index.d.ts.map +1 -1
  76. package/dist/src/index.js +1 -2
  77. package/dist/src/index.js.map +1 -1
  78. package/dist/src/init/init.d.ts.map +1 -1
  79. package/dist/src/init/init.js +6 -2
  80. package/dist/src/init/init.js.map +1 -1
  81. package/dist/src/install/config.d.ts +9 -0
  82. package/dist/src/install/config.d.ts.map +1 -0
  83. package/dist/src/install/config.js +16 -0
  84. package/dist/src/install/config.js.map +1 -0
  85. package/dist/src/install/install.d.ts +14 -0
  86. package/dist/src/install/install.d.ts.map +1 -0
  87. package/dist/src/install/install.js +159 -0
  88. package/dist/src/install/install.js.map +1 -0
  89. package/dist/src/install/spec.d.ts +39 -0
  90. package/dist/src/install/spec.d.ts.map +1 -0
  91. package/dist/src/install/spec.js +152 -0
  92. package/dist/src/install/spec.js.map +1 -0
  93. package/dist/src/lib/decorators.d.ts +3 -3
  94. package/dist/src/lib/decorators.d.ts.map +1 -1
  95. package/dist/src/lib/decorators.js +14 -29
  96. package/dist/src/lib/decorators.js.map +1 -1
  97. package/dist/src/lib/examples.js +1 -5
  98. package/dist/src/lib/examples.js.map +1 -1
  99. package/dist/src/lib/tsp-index.d.ts.map +1 -1
  100. package/dist/src/lib/tsp-index.js +0 -1
  101. package/dist/src/lib/tsp-index.js.map +1 -1
  102. package/dist/src/package-manger/npm-registry-utils.d.ts +83 -0
  103. package/dist/src/package-manger/npm-registry-utils.d.ts.map +1 -0
  104. package/dist/src/package-manger/npm-registry-utils.js +42 -0
  105. package/dist/src/package-manger/npm-registry-utils.js.map +1 -0
  106. package/dist/src/server/classify.d.ts.map +1 -1
  107. package/dist/src/server/classify.js +0 -26
  108. package/dist/src/server/classify.js.map +1 -1
  109. package/dist/src/server/completion.js +1 -1
  110. package/dist/src/server/completion.js.map +1 -1
  111. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  112. package/dist/src/server/tmlanguage.js +0 -125
  113. package/dist/src/server/tmlanguage.js.map +1 -1
  114. package/dist/src/server/type-signature.js +0 -11
  115. package/dist/src/server/type-signature.js.map +1 -1
  116. package/dist/src/types/package-json.d.ts +14 -0
  117. package/dist/src/types/package-json.d.ts.map +1 -1
  118. package/dist/src/utils/fs-utils.d.ts +3 -0
  119. package/dist/src/utils/fs-utils.d.ts.map +1 -0
  120. package/dist/src/utils/fs-utils.js +19 -0
  121. package/dist/src/utils/fs-utils.js.map +1 -0
  122. package/dist/typespec.tmLanguage +0 -342
  123. package/package.json +3 -3
  124. package/dist/src/core/helpers/projected-names-utils.d.ts +0 -20
  125. package/dist/src/core/helpers/projected-names-utils.d.ts.map +0 -1
  126. package/dist/src/core/helpers/projected-names-utils.js +0 -42
  127. package/dist/src/core/helpers/projected-names-utils.js.map +0 -1
  128. package/dist/src/core/install.d.ts +0 -3
  129. package/dist/src/core/install.d.ts.map +0 -1
  130. package/dist/src/core/install.js +0 -60
  131. package/dist/src/core/install.js.map +0 -1
  132. package/dist/src/core/projected-program.d.ts +0 -3
  133. package/dist/src/core/projected-program.d.ts.map +0 -1
  134. package/dist/src/core/projected-program.js +0 -4
  135. package/dist/src/core/projected-program.js.map +0 -1
  136. package/dist/src/core/projection-members.d.ts +0 -8
  137. package/dist/src/core/projection-members.d.ts.map +0 -1
  138. package/dist/src/core/projection-members.js +0 -382
  139. package/dist/src/core/projection-members.js.map +0 -1
  140. package/dist/src/core/projector.d.ts +0 -26
  141. package/dist/src/core/projector.d.ts.map +0 -1
  142. package/dist/src/core/projector.js +0 -572
  143. package/dist/src/core/projector.js.map +0 -1
@@ -423,67 +423,6 @@
423
423
  </dict>
424
424
  </dict>
425
425
  </dict>
426
- <key>else-expression</key>
427
- <dict>
428
- <key>name</key>
429
- <string>meta.else-expression.typespec</string>
430
- <key>begin</key>
431
- <string>\b(else)\b</string>
432
- <key>beginCaptures</key>
433
- <dict>
434
- <key>1</key>
435
- <dict>
436
- <key>name</key>
437
- <string>keyword.other.tsp</string>
438
- </dict>
439
- </dict>
440
- <key>end</key>
441
- <string>((?&lt;=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
442
- <key>patterns</key>
443
- <array>
444
- <dict>
445
- <key>include</key>
446
- <string>#projection-expression</string>
447
- </dict>
448
- <dict>
449
- <key>include</key>
450
- <string>#projection-body</string>
451
- </dict>
452
- </array>
453
- </dict>
454
- <key>else-if-expression</key>
455
- <dict>
456
- <key>name</key>
457
- <string>meta.else-if-expression.typespec</string>
458
- <key>begin</key>
459
- <string>\b(else)\s+(if)\b</string>
460
- <key>beginCaptures</key>
461
- <dict>
462
- <key>1</key>
463
- <dict>
464
- <key>name</key>
465
- <string>keyword.other.tsp</string>
466
- </dict>
467
- <key>2</key>
468
- <dict>
469
- <key>name</key>
470
- <string>keyword.other.tsp</string>
471
- </dict>
472
- </dict>
473
- <key>end</key>
474
- <string>((?&lt;=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
475
- <key>patterns</key>
476
- <array>
477
- <dict>
478
- <key>include</key>
479
- <string>#projection-expression</string>
480
- </dict>
481
- <dict>
482
- <key>include</key>
483
- <string>#projection-body</string>
484
- </dict>
485
- </array>
486
- </dict>
487
426
  <key>enum-body</key>
488
427
  <dict>
489
428
  <key>name</key>
@@ -659,43 +598,6 @@
659
598
  </dict>
660
599
  </array>
661
600
  </dict>
662
- <key>function-call</key>
663
- <dict>
664
- <key>name</key>
665
- <string>meta.function-call.typespec</string>
666
- <key>begin</key>
667
- <string>(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)\s*(\()</string>
668
- <key>beginCaptures</key>
669
- <dict>
670
- <key>1</key>
671
- <dict>
672
- <key>name</key>
673
- <string>entity.name.function.tsp</string>
674
- </dict>
675
- <key>2</key>
676
- <dict>
677
- <key>name</key>
678
- <string>punctuation.parenthesis.open.tsp</string>
679
- </dict>
680
- </dict>
681
- <key>end</key>
682
- <string>\)</string>
683
- <key>endCaptures</key>
684
- <dict>
685
- <key>0</key>
686
- <dict>
687
- <key>name</key>
688
- <string>punctuation.parenthesis.close.tsp</string>
689
- </dict>
690
- </dict>
691
- <key>patterns</key>
692
- <array>
693
- <dict>
694
- <key>include</key>
695
- <string>#expression</string>
696
- </dict>
697
- </array>
698
- </dict>
699
601
  <key>function-declaration-statement</key>
700
602
  <dict>
701
603
  <key>name</key>
@@ -745,34 +647,6 @@
745
647
  <key>match</key>
746
648
  <string>\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`</string>
747
649
  </dict>
748
- <key>if-expression</key>
749
- <dict>
750
- <key>name</key>
751
- <string>meta.if-expression.typespec</string>
752
- <key>begin</key>
753
- <string>\b(if)\b</string>
754
- <key>beginCaptures</key>
755
- <dict>
756
- <key>1</key>
757
- <dict>
758
- <key>name</key>
759
- <string>keyword.other.tsp</string>
760
- </dict>
761
- </dict>
762
- <key>end</key>
763
- <string>((?&lt;=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
764
- <key>patterns</key>
765
- <array>
766
- <dict>
767
- <key>include</key>
768
- <string>#projection-expression</string>
769
- </dict>
770
- <dict>
771
- <key>include</key>
772
- <string>#projection-body</string>
773
- </dict>
774
- </array>
775
- </dict>
776
650
  <key>import-statement</key>
777
651
  <dict>
778
652
  <key>name</key>
@@ -1452,218 +1326,6 @@
1452
1326
  </dict>
1453
1327
  </array>
1454
1328
  </dict>
1455
- <key>projection</key>
1456
- <dict>
1457
- <key>name</key>
1458
- <string>meta.projection.typespec</string>
1459
- <key>begin</key>
1460
- <string>(from|to)</string>
1461
- <key>beginCaptures</key>
1462
- <dict>
1463
- <key>1</key>
1464
- <dict>
1465
- <key>name</key>
1466
- <string>keyword.other.tsp</string>
1467
- </dict>
1468
- </dict>
1469
- <key>end</key>
1470
- <string>((?&lt;=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
1471
- <key>patterns</key>
1472
- <array>
1473
- <dict>
1474
- <key>include</key>
1475
- <string>#projection-parameters</string>
1476
- </dict>
1477
- <dict>
1478
- <key>include</key>
1479
- <string>#projection-body</string>
1480
- </dict>
1481
- </array>
1482
- </dict>
1483
- <key>projection-body</key>
1484
- <dict>
1485
- <key>name</key>
1486
- <string>meta.projection-body.typespec</string>
1487
- <key>begin</key>
1488
- <string>\{</string>
1489
- <key>beginCaptures</key>
1490
- <dict>
1491
- <key>0</key>
1492
- <dict>
1493
- <key>name</key>
1494
- <string>punctuation.curlybrace.open.tsp</string>
1495
- </dict>
1496
- </dict>
1497
- <key>end</key>
1498
- <string>\}</string>
1499
- <key>endCaptures</key>
1500
- <dict>
1501
- <key>0</key>
1502
- <dict>
1503
- <key>name</key>
1504
- <string>punctuation.curlybrace.close.tsp</string>
1505
- </dict>
1506
- </dict>
1507
- <key>patterns</key>
1508
- <array>
1509
- <dict>
1510
- <key>include</key>
1511
- <string>#projection-expression</string>
1512
- </dict>
1513
- <dict>
1514
- <key>include</key>
1515
- <string>#punctuation-semicolon</string>
1516
- </dict>
1517
- </array>
1518
- </dict>
1519
- <key>projection-expression</key>
1520
- <dict>
1521
- <key>patterns</key>
1522
- <array>
1523
- <dict>
1524
- <key>include</key>
1525
- <string>#else-if-expression</string>
1526
- </dict>
1527
- <dict>
1528
- <key>include</key>
1529
- <string>#if-expression</string>
1530
- </dict>
1531
- <dict>
1532
- <key>include</key>
1533
- <string>#else-expression</string>
1534
- </dict>
1535
- <dict>
1536
- <key>include</key>
1537
- <string>#function-call</string>
1538
- </dict>
1539
- </array>
1540
- </dict>
1541
- <key>projection-parameter</key>
1542
- <dict>
1543
- <key>name</key>
1544
- <string>meta.projection-parameter.typespec</string>
1545
- <key>begin</key>
1546
- <string>(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
1547
- <key>beginCaptures</key>
1548
- <dict>
1549
- <key>1</key>
1550
- <dict>
1551
- <key>name</key>
1552
- <string>variable.name.tsp</string>
1553
- </dict>
1554
- </dict>
1555
- <key>end</key>
1556
- <string>(?=\))|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b)</string>
1557
- <key>patterns</key>
1558
- <array/>
1559
- </dict>
1560
- <key>projection-parameters</key>
1561
- <dict>
1562
- <key>name</key>
1563
- <string>meta.projection-parameters.typespec</string>
1564
- <key>begin</key>
1565
- <string>\(</string>
1566
- <key>beginCaptures</key>
1567
- <dict>
1568
- <key>0</key>
1569
- <dict>
1570
- <key>name</key>
1571
- <string>punctuation.parenthesis.open.tsp</string>
1572
- </dict>
1573
- </dict>
1574
- <key>end</key>
1575
- <string>\)</string>
1576
- <key>endCaptures</key>
1577
- <dict>
1578
- <key>0</key>
1579
- <dict>
1580
- <key>name</key>
1581
- <string>punctuation.parenthesis.close.tsp</string>
1582
- </dict>
1583
- </dict>
1584
- <key>patterns</key>
1585
- <array>
1586
- <dict>
1587
- <key>include</key>
1588
- <string>#token</string>
1589
- </dict>
1590
- <dict>
1591
- <key>include</key>
1592
- <string>#projection-parameter</string>
1593
- </dict>
1594
- </array>
1595
- </dict>
1596
- <key>projection-statement</key>
1597
- <dict>
1598
- <key>name</key>
1599
- <string>meta.projection-statement.typespec</string>
1600
- <key>begin</key>
1601
- <string>\b(projection)\b\s+(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)(#)(\b[_$[:alpha:]][_$[:alnum:]]*\b|`(?:[^`\\]|\\.)*`)</string>
1602
- <key>beginCaptures</key>
1603
- <dict>
1604
- <key>1</key>
1605
- <dict>
1606
- <key>name</key>
1607
- <string>keyword.other.tsp</string>
1608
- </dict>
1609
- <key>2</key>
1610
- <dict>
1611
- <key>name</key>
1612
- <string>keyword.other.tsp</string>
1613
- </dict>
1614
- <key>3</key>
1615
- <dict>
1616
- <key>name</key>
1617
- <string>keyword.operator.selector.tsp</string>
1618
- </dict>
1619
- <key>4</key>
1620
- <dict>
1621
- <key>name</key>
1622
- <string>variable.name.tsp</string>
1623
- </dict>
1624
- </dict>
1625
- <key>end</key>
1626
- <string>((?&lt;=\})|(?=,|;|@|\)|\}|\b(?:extern)\b|\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\b))</string>
1627
- <key>patterns</key>
1628
- <array>
1629
- <dict>
1630
- <key>include</key>
1631
- <string>#projection-statement-body</string>
1632
- </dict>
1633
- </array>
1634
- </dict>
1635
- <key>projection-statement-body</key>
1636
- <dict>
1637
- <key>name</key>
1638
- <string>meta.projection-statement-body.typespec</string>
1639
- <key>begin</key>
1640
- <string>\{</string>
1641
- <key>beginCaptures</key>
1642
- <dict>
1643
- <key>0</key>
1644
- <dict>
1645
- <key>name</key>
1646
- <string>punctuation.curlybrace.open.tsp</string>
1647
- </dict>
1648
- </dict>
1649
- <key>end</key>
1650
- <string>\}</string>
1651
- <key>endCaptures</key>
1652
- <dict>
1653
- <key>0</key>
1654
- <dict>
1655
- <key>name</key>
1656
- <string>punctuation.curlybrace.close.tsp</string>
1657
- </dict>
1658
- </dict>
1659
- <key>patterns</key>
1660
- <array>
1661
- <dict>
1662
- <key>include</key>
1663
- <string>#projection</string>
1664
- </dict>
1665
- </array>
1666
- </dict>
1667
1329
  <key>punctuation-accessor</key>
1668
1330
  <dict>
1669
1331
  <key>name</key>
@@ -1927,10 +1589,6 @@
1927
1589
  <key>include</key>
1928
1590
  <string>#function-declaration-statement</string>
1929
1591
  </dict>
1930
- <dict>
1931
- <key>include</key>
1932
- <string>#projection-statement</string>
1933
- </dict>
1934
1592
  <dict>
1935
1593
  <key>include</key>
1936
1594
  <string>#punctuation-semicolon</string>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.67.0-dev.10",
3
+ "version": "0.67.0-dev.12",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -72,15 +72,16 @@
72
72
  "dependencies": {
73
73
  "@babel/code-frame": "~7.26.2",
74
74
  "@inquirer/prompts": "^7.3.1",
75
- "@npmcli/arborist": "^8.0.0",
76
75
  "ajv": "~8.17.1",
77
76
  "change-case": "~5.4.4",
77
+ "env-paths": "^3.0.0",
78
78
  "globby": "~14.1.0",
79
79
  "is-unicode-supported": "^2.1.0",
80
80
  "mustache": "~4.2.0",
81
81
  "picocolors": "~1.1.1",
82
82
  "prettier": "~3.5.3",
83
83
  "semver": "^7.7.1",
84
+ "tar": "^7.4.3",
84
85
  "temporal-polyfill": "^0.2.5",
85
86
  "vscode-languageserver": "~9.0.1",
86
87
  "vscode-languageserver-textdocument": "~1.0.12",
@@ -91,7 +92,6 @@
91
92
  "@types/babel__code-frame": "~7.0.6",
92
93
  "@types/mustache": "~4.2.5",
93
94
  "@types/node": "~22.13.9",
94
- "@types/npmcli__arborist": "^6.3.0",
95
95
  "@types/semver": "^7.5.8",
96
96
  "@types/yargs": "~17.0.33",
97
97
  "@typespec/internal-build-utils": "^0.66.0 || >=0.67.0-dev <0.67.0",
@@ -1,20 +0,0 @@
1
- import type { Program, ProjectedProgram } from "../program.js";
2
- import type { Type } from "../types.js";
3
- export interface ProjectedNameView {
4
- program: ProjectedProgram;
5
- /**
6
- * Get the name of the given entity in that scope.
7
- * If there is a projected name it returns that one otherwise return the original name.
8
- */
9
- getProjectedName(target: Type & {
10
- name: string;
11
- }): string;
12
- }
13
- /**
14
- * Create an helper to manager project names.
15
- * @param program Program
16
- * @param target Name of the projected name target(e.g. json, csharp, etc.)
17
- * @returns ProjectedNameView
18
- */
19
- export declare function createProjectedNameProgram(program: Program, target: string): ProjectedNameView;
20
- //# sourceMappingURL=projected-names-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projected-names-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/projected-names-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAa,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;CAC3D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAyB9F"}
@@ -1,42 +0,0 @@
1
- import { projectProgram } from "../program.js";
2
- /**
3
- * Create an helper to manager project names.
4
- * @param program Program
5
- * @param target Name of the projected name target(e.g. json, csharp, etc.)
6
- * @returns ProjectedNameView
7
- */
8
- export function createProjectedNameProgram(program, target) {
9
- const projectedProgram = projectProgram(program, [
10
- {
11
- projectionName: "target",
12
- arguments: [target],
13
- },
14
- ]);
15
- return {
16
- program: projectedProgram,
17
- getProjectedName,
18
- };
19
- function getProjectedName(type) {
20
- const baseType = findTypeInProjector(projectedProgram.projector, type);
21
- const projectedType = projectedProgram.projector.projectedTypes.get(baseType);
22
- if (projectedType === undefined ||
23
- !("name" in projectedType) ||
24
- projectedType.name === baseType.name) {
25
- return type.name;
26
- }
27
- return projectedType.name;
28
- }
29
- }
30
- // TODO will REALM help here?
31
- function findTypeInProjector(projector, type) {
32
- if (type.projectionSource === undefined) {
33
- return type;
34
- }
35
- else if (type.projector === projector) {
36
- return type;
37
- }
38
- else {
39
- return findTypeInProjector(projector, type.projectionSource);
40
- }
41
- }
42
- //# sourceMappingURL=projected-names-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projected-names-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/projected-names-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAa/C;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB,EAAE,MAAc;IACzE,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,EAAE;QAC/C;YACE,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,CAAC,MAAM,CAAC;SACpB;KACF,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,gBAAgB;KACjB,CAAC;IAEF,SAAS,gBAAgB,CAAC,IAA6B;QACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9E,IACE,aAAa,KAAK,SAAS;YAC3B,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC;YAC1B,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EACpC,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,OAAO,aAAa,CAAC,IAAc,CAAC;IACtC,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,SAAS,mBAAmB,CAAiB,SAAgC,EAAE,IAAO;IACpF,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAQ,CAAC;IACtE,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import { CliCompilerHost } from "./cli/types.js";
2
- export declare function installTypeSpecDependencies(host: CliCompilerHost, directory: string, stdio?: "inherit" | "pipe"): Promise<void>;
3
- //# sourceMappingURL=install.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/core/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWjD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,SAAS,GAAG,MAAkB,GACpC,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -1,60 +0,0 @@
1
- import Arborist from "@npmcli/arborist";
2
- import { spawn } from "child_process";
3
- import { getTypeSpecEngine } from "./engine.js";
4
- export async function installTypeSpecDependencies(host, directory, stdio = "inherit") {
5
- // Only use the builtin npm when running in standalone tsp mode.
6
- // TBD how we'll change this as we move to a more integrated setup and resolve the user package manager.
7
- if (getTypeSpecEngine() === "tsp") {
8
- await installWithBuiltinNpm(host, directory);
9
- }
10
- else {
11
- await installWithNpmExe(host, directory, stdio);
12
- }
13
- }
14
- async function installWithBuiltinNpm(host, directory) {
15
- const arb = new Arborist({
16
- path: directory,
17
- });
18
- await arb.loadActual();
19
- await arb.buildIdealTree({});
20
- await arb.reify();
21
- }
22
- async function installWithNpmExe(host, directory, stdio) {
23
- const child = spawn("npm", ["install"], {
24
- shell: process.platform === "win32",
25
- stdio: "pipe",
26
- cwd: directory,
27
- env: process.env,
28
- });
29
- const stdout = [];
30
- if (child.stdout) {
31
- child.stdout.on("data", (data) => {
32
- stdout.push(data.toString());
33
- });
34
- }
35
- if (child.stderr) {
36
- child.stderr.on("data", (data) => {
37
- stdout.push(data.toString());
38
- });
39
- }
40
- return new Promise((resolve, reject) => {
41
- child.on("error", (error) => {
42
- if (error.code === "ENOENT") {
43
- host.logger.error("Cannot find `npm` executable. Make sure to have npm installed in your path.");
44
- }
45
- else {
46
- host.logger.error(error.toString());
47
- }
48
- process.exit(error.errno);
49
- });
50
- child.on("exit", (exitCode) => {
51
- if (exitCode !== 0) {
52
- reject(new Error(`Npm installed failed with exit code ${exitCode}\n${stdout.join("\n")}`));
53
- }
54
- else {
55
- resolve();
56
- }
57
- });
58
- });
59
- }
60
- //# sourceMappingURL=install.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/core/install.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUhD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAqB,EACrB,SAAiB,EACjB,QAA4B,SAAS;IAErC,gEAAgE;IAChE,wGAAwG;IACxG,IAAI,iBAAiB,EAAE,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAqB,EAAE,SAAiB;IAC3E,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC;QACvB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACvB,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAqB,EACrB,SAAiB,EACjB,KAAyB;IAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;QACtC,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;QACnC,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6EAA6E,CAC9E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Program, ProjectedProgram } from "./program.js";
2
- export declare function isProjectedProgram(program: Program | ProjectedProgram): program is ProjectedProgram;
3
- //# sourceMappingURL=projected-program.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projected-program.d.ts","sourceRoot":"","sources":["../../../src/core/projected-program.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9D,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAClC,OAAO,IAAI,gBAAgB,CAE7B"}
@@ -1,4 +0,0 @@
1
- export function isProjectedProgram(program) {
2
- return "projector" in program;
3
- }
4
- //# sourceMappingURL=projected-program.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projected-program.js","sourceRoot":"","sources":["../../../src/core/projected-program.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB,CAChC,OAAmC;IAEnC,OAAO,WAAW,IAAI,OAAO,CAAC;AAChC,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { Checker } from "./checker.js";
2
- import type { Type } from "./types.js";
3
- export declare function createProjectionMembers(checker: Checker): {
4
- [TKind in Type["kind"]]?: Record<string, (base: Type & {
5
- kind: TKind;
6
- }) => Type>;
7
- };
8
- //# sourceMappingURL=projection-members.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projection-members.d.ts","sourceRoot":"","sources":["../../../src/core/projection-members.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAc,IAAI,EAAgB,MAAM,YAAY,CAAC;AAEjE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG;KACxD,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;CACjF,CAyZA"}