@speclynx/apidom-reference 2.4.0 → 2.5.0

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 (31) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +23 -1
  3. package/dist/apidom-reference.browser.js +3201 -559
  4. package/dist/apidom-reference.browser.min.js +1 -1
  5. package/package.json +31 -24
  6. package/src/configuration/saturated.cjs +11 -10
  7. package/src/configuration/saturated.mjs +2 -1
  8. package/src/dereference/strategies/arazzo-1/index.cjs +101 -0
  9. package/src/dereference/strategies/arazzo-1/index.mjs +91 -0
  10. package/src/dereference/strategies/arazzo-1/selectors/$anchor.cjs +12 -0
  11. package/src/dereference/strategies/arazzo-1/selectors/$anchor.mjs +1 -0
  12. package/src/dereference/strategies/arazzo-1/selectors/uri.cjs +8 -0
  13. package/src/dereference/strategies/arazzo-1/selectors/uri.mjs +1 -0
  14. package/src/dereference/strategies/arazzo-1/util.cjs +37 -0
  15. package/src/dereference/strategies/arazzo-1/util.mjs +29 -0
  16. package/src/dereference/strategies/arazzo-1/visitor.cjs +411 -0
  17. package/src/dereference/strategies/arazzo-1/visitor.mjs +405 -0
  18. package/src/dereference/strategies/asyncapi-2/visitor.cjs +1 -1
  19. package/src/dereference/strategies/asyncapi-2/visitor.mjs +2 -2
  20. package/src/dereference/strategies/openapi-3-1/selectors/$anchor.cjs +2 -2
  21. package/src/dereference/strategies/openapi-3-1/selectors/$anchor.mjs +2 -2
  22. package/src/dereference/strategies/openapi-3-1/selectors/uri.cjs +3 -3
  23. package/src/dereference/strategies/openapi-3-1/selectors/uri.mjs +3 -3
  24. package/src/dereference/strategies/openapi-3-1/visitor.cjs +3 -3
  25. package/src/dereference/strategies/openapi-3-1/visitor.mjs +4 -4
  26. package/types/dereference/strategies/arazzo-1/index.d.ts +32 -0
  27. package/types/dereference/strategies/arazzo-1/selectors/$anchor.d.ts +1 -0
  28. package/types/dereference/strategies/arazzo-1/selectors/uri.d.ts +1 -0
  29. package/types/dereference/strategies/arazzo-1/util.d.ts +13 -0
  30. package/types/dereference/strategies/arazzo-1/visitor.d.ts +32 -0
  31. package/types/dereference/strategies/openapi-3-1/util.d.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.5.0](https://github.com/speclynx/apidom/compare/v2.4.0...v2.5.0) (2026-01-30)
7
+
8
+ ### Features
9
+
10
+ - **reference:** add initial dereferencing strategy for Arazzo 1.x ([#54](https://github.com/speclynx/apidom/issues/54)) ([3561dbf](https://github.com/speclynx/apidom/commit/3561dbf34c417a9c945129acc529bd5fd825fd65))
11
+ - **reference:** add JSON Schema dereferencing for Arazzo ([#56](https://github.com/speclynx/apidom/issues/56)) ([03bbd2c](https://github.com/speclynx/apidom/commit/03bbd2cc6a30a252c7e15d21abb687ba6888a60f))
12
+
6
13
  # [2.4.0](https://github.com/speclynx/apidom/compare/v2.3.0...v2.4.0) (2026-01-29)
7
14
 
8
15
  ### Features
package/README.md CHANGED
@@ -1481,7 +1481,7 @@ const dereferenced = await dereferenceApiDOM(apidom, {
1481
1481
  #### [Dereference strategies](https://github.com/speclynx/apidom/tree/main/packages/apidom-reference/src/dereference/strategies)
1482
1482
 
1483
1483
  Dereference strategy determines how a document is internally or externally dereferenced. Depending on document `mediaType` option,
1484
- every strategy differs significantly. `Dereference component` comes with four (4) default dereference strategies.
1484
+ every strategy differs significantly. `Dereference component` comes with six (6) default dereference strategies.
1485
1485
 
1486
1486
  #### [apidom](https://github.com/speclynx/apidom/tree/main/packages/apidom-reference/src/dereference/strategies/apidom)
1487
1487
 
@@ -1530,6 +1530,23 @@ Supported media types:
1530
1530
  ]
1531
1531
  ```
1532
1532
 
1533
+ ##### [arazzo-1](https://github.com/speclynx/apidom/tree/main/packages/apidom-reference/src/dereference/strategies/arazzo-1)
1534
+
1535
+ Dereference strategy for dereferencing [Arazzo 1.x](https://spec.openapis.org/arazzo/latest.html) definitions.
1536
+
1537
+ Supported media types:
1538
+
1539
+ ```js
1540
+ [
1541
+ 'application/vnd.oai.workflows;version=1.0.0',
1542
+ 'application/vnd.oai.workflows+json;version=1.0.0',
1543
+ 'application/vnd.oai.workflows+yaml;version=1.0.0',
1544
+ 'application/vnd.oai.workflows;version=1.0.1',
1545
+ 'application/vnd.oai.workflows+json;version=1.0.1',
1546
+ 'application/vnd.oai.workflows+yaml;version=1.0.1',
1547
+ ]
1548
+ ```
1549
+
1533
1550
  ##### [openapi-2](https://github.com/speclynx/apidom/tree/main/packages/apidom-reference/src/dereference/strategies/openapi-2)
1534
1551
 
1535
1552
  Dereference strategy for dereferencing [OpenApi 2.0](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md) definitions.
@@ -1606,6 +1623,7 @@ returns `true` or until entire list of strategies is exhausted (throws error).
1606
1623
  new OpenAPI3_0DereferenceStrategy(),
1607
1624
  new OpenAPI3_1DereferenceStrategy(),
1608
1625
  new AsyncAPI2DereferenceStrategy(),
1626
+ new Arazzo1DereferenceStrategy(),
1609
1627
  new ApiDOMDereferenceStrategy(),
1610
1628
  ]
1611
1629
  ```
@@ -1616,6 +1634,7 @@ It's possible to **change** strategies **order globally** by mutating global `de
1616
1634
  ```js
1617
1635
  import { options } from '@speclynx/apidom-reference';
1618
1636
  import AsyncAPI2DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/asyncapi-2';
1637
+ import Arazzo1DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/arazzo-1';
1619
1638
  import OpenAPI2DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/openapi-2';
1620
1639
  import OpenAPI3_0DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/openapi-3-0';
1621
1640
  import OpenAPI3_1DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/openapi-3-1';
@@ -1626,6 +1645,7 @@ options.dereference.strategies = [
1626
1645
  new OpenAPI3_0DereferenceStrategy(),
1627
1646
  new OpenAPI3_1DereferenceStrategy(),
1628
1647
  new AsyncAPI2DereferenceStrategy(),
1648
+ new Arazzo1DereferenceStrategy(),
1629
1649
  new ApiDOMDereferenceStrategy(),
1630
1650
  ];
1631
1651
  ```
@@ -1635,6 +1655,7 @@ To **change** the strategies **order** on ad-hoc basis:
1635
1655
  ```js
1636
1656
  import { dereference } from '@speclynx/apidom-reference';
1637
1657
  import AsyncAPI2DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/asyncapi-2';
1658
+ import Arazzo1DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/arazzo-1';
1638
1659
  import OpenAPI2DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/openapi-2';
1639
1660
  import OpenAPI3_0DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/openapi-3-0';
1640
1661
  import OpenAPI3_1DereferenceStrategy from '@speclynx/apidom-reference/dereference/strategies/openapi-3-1';
@@ -1648,6 +1669,7 @@ await dereference('/home/user/oas.json', {
1648
1669
  dereference: {
1649
1670
  strategies: [
1650
1671
  new AsyncAPI2DereferenceStrategy(),
1672
+ new Arazzo1DereferenceStrategy(),
1651
1673
  new OpenAPI2DereferenceStrategy(),
1652
1674
  new OpenAPI3_0DereferenceStrategy(),
1653
1675
  new OpenAPI3_1DereferenceStrategy(),