diff --git a/.changeset/breezy-sheep-play.md b/.changeset/breezy-sheep-play.md
deleted file mode 100644
index 8298e7521..000000000
--- a/.changeset/breezy-sheep-play.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@getodk/xforms-engine': patch
----
-
-Fix: reactive aggregation of validation violations from selects
diff --git a/.changeset/brown-cars-grow.md b/.changeset/brown-cars-grow.md
deleted file mode 100644
index eafae6ce1..000000000
--- a/.changeset/brown-cars-grow.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-'@getodk/xforms-engine': minor
-'@getodk/scenario': minor
-'@getodk/ui-solid': minor
-'@getodk/web-forms': patch
----
-
-Add engine support for 'note' nodes
diff --git a/.changeset/itchy-icons-notice.md b/.changeset/itchy-icons-notice.md
deleted file mode 100644
index 6b3481efc..000000000
--- a/.changeset/itchy-icons-notice.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-"@getodk/scenario": minor
-"@getodk/xforms-engine": minor
----
-
-- Support tracking `current()` references in computations
-- Support tracking references in computations where path references include predicates
-- Improve support for repeat-based itemsets
-- Improve relative path resolution across the board, fixing many computation update edge cases where expressions include complex path expressions
-- Support relative `ref`/`nodeset` body attributes, as well as those with a `current()/` prefix
-- Improve function call analysis in XPath expressions, particularly identification of functions called with no arguments
-- Lay more mature foundation for general syntax analysis of XPath expressions
diff --git a/.changeset/popular-jobs-brush.md b/.changeset/popular-jobs-brush.md
deleted file mode 100644
index a81875008..000000000
--- a/.changeset/popular-jobs-brush.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@getodk/web-forms": patch
----
-
-Added "Powered by ODK" caption at the bottom of the Form
diff --git a/.changeset/pretty-walls-relate.md b/.changeset/pretty-walls-relate.md
deleted file mode 100644
index f69712434..000000000
--- a/.changeset/pretty-walls-relate.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@getodk/xforms-engine": patch
----
-
-Fix: reactivity of aggregated validation violations on deep descendants
diff --git a/.changeset/proud-elephants-remain.md b/.changeset/proud-elephants-remain.md
deleted file mode 100644
index 91219ec5f..000000000
--- a/.changeset/proud-elephants-remain.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-"@getodk/ui-solid": patch
-"@getodk/web-forms": minor
----
-
-- Show message when required or other constrainst are not satisfied.
-- Show error message banner at the top of the Form when "Send" button is pressed and the Form is invalid
-- Various design/UI tweaks to beautify the Form
diff --git a/.changeset/quiet-donkeys-tie.md b/.changeset/quiet-donkeys-tie.md
deleted file mode 100644
index cbc39211b..000000000
--- a/.changeset/quiet-donkeys-tie.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-'@getodk/xforms-engine': patch
-'@getodk/web-forms': patch
-'@getodk/scenario': patch
-'@getodk/ui-solid': patch
----
-
-Fix: evaluate `jr:count` in context of affected repeat
diff --git a/.changeset/rotten-turtles-tease.md b/.changeset/rotten-turtles-tease.md
deleted file mode 100644
index d6b8256dc..000000000
--- a/.changeset/rotten-turtles-tease.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@getodk/scenario': minor
-'@getodk/xpath': minor
----
-
-Support for `indexed-repeat` XPath function
diff --git a/.changeset/silent-meals-sin.md b/.changeset/silent-meals-sin.md
deleted file mode 100644
index 7d2743145..000000000
--- a/.changeset/silent-meals-sin.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-'@getodk/xforms-engine': minor
-'@getodk/web-forms': minor
-'@getodk/scenario': minor
-'@getodk/ui-solid': minor
-'@getodk/common': minor
----
-
-Add support for count-controlled (`jr:count`) and fixed (`jr:noAddRemove`) repeat ranges.
diff --git a/.changeset/tasty-hornets-fix.md b/.changeset/tasty-hornets-fix.md
deleted file mode 100644
index 1039a0c11..000000000
--- a/.changeset/tasty-hornets-fix.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-"@getodk/common": minor
-"@getodk/scenario": minor
-"@getodk/web-forms": minor
-"@getodk/xforms-engine": minor
----
-
-Engine support for `constraint`, `required` validation
diff --git a/.changeset/tough-fans-cross.md b/.changeset/tough-fans-cross.md
deleted file mode 100644
index 7eda8e716..000000000
--- a/.changeset/tough-fans-cross.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-"@getodk/ui-solid": patch
-"@getodk/web-forms": patch
----
-
-- Display Notes fields on the UI
-- Show hint for the fields if defined in the Form
diff --git a/.changeset/wise-colts-thank.md b/.changeset/wise-colts-thank.md
deleted file mode 100644
index 7402ff6f9..000000000
--- a/.changeset/wise-colts-thank.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-
----
-
-Add PR template
diff --git a/.changeset/young-balloons-fly.md b/.changeset/young-balloons-fly.md
deleted file mode 100644
index 386b9b14e..000000000
--- a/.changeset/young-balloons-fly.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@getodk/tree-sitter-xpath': patch
----
-
-Fix: parse `child` and other axis names as (abbreviated) child name test
diff --git a/README.md b/README.md
index 4686049ad..1d868ba9f 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ Here is the feature matrix and the progress we have made so far:
- ${\mathtt{Question \space \space types \space \space (basic \space \space functionality)\color{transparent}==== \color{green}███\color{LightGray}█████████████████ \space \color{initial} 15\%}}$
+ ${\mathtt{Question \space \space types \space \space (basic \space \space functionality)\color{transparent}==== \color{green}███\color{LightGray}█████████████████ \space \color{initial} 18\%}}$
@@ -48,7 +48,7 @@ Here is the feature matrix and the progress we have made so far:
| text | ✅ |
| integer | |
| decimal | |
-| note | 🚧 |
+| note | ✅ |
| select_one | ✅ |
| select_multiple | ✅ |
| repeat | ✅ |
@@ -153,7 +153,7 @@ Here is the feature matrix and the progress we have made so far:
- ${\mathtt{Form \space \space Logic\color{transparent}============================== \color{green}██████████\color{LightGray}██████████ \space \color{initial} 50\%}}$
+ ${\mathtt{Form \space \space Logic\color{transparent}============================== \color{green}████████████████\color{LightGray}████ \space \color{initial} 83\%}}$
@@ -162,27 +162,27 @@ Here is the feature matrix and the progress we have made so far:
| calculate | ✅ |
| relevant | ✅ |
| required | ✅ |
-| required message | 🚧 |
-| custom constraint | 🚧 |
-| constraint message | 🚧 |
+| required message | ✅ |
+| custom constraint | ✅ |
+| constraint message | ✅ |
| read only | ✅ |
| trigger | |
| choice filter | ✅ |
| default | ✅ |
| query parameter | |
-| repeat_count | |
+| repeat_count | ✅ |
- ${\mathtt{Descriptions \space \space and \space \space Annotations\color{transparent}============ \color{green}██\color{LightGray}██████████████████ \space \color{initial} 13\%}}$
+ ${\mathtt{Descriptions \space \space and \space \space Annotations\color{transparent}============ \color{green}████\color{LightGray}████████████████ \space \color{initial} 20\%}}$
| Feature | Progress |
| ---------------------------------------------- | :------: |
| label | ✅ |
-| hint | |
+| hint | ✅ |
| guidance hint | |
| Translations | ✅ |
| Translations with field/question value | |
@@ -236,7 +236,7 @@ Here is the feature matrix and the progress we have made so far:
- ${\mathtt{XPath\color{transparent}=================================== \color{green}██████████████████\color{LightGray}██ \space \color{initial} 94\%}}$
+ ${\mathtt{XPath\color{transparent}=================================== \color{green}███████████████████\color{LightGray}█ \space \color{initial} 95\%}}$
@@ -311,7 +311,7 @@ Here is the feature matrix and the progress we have made so far:
| count-selected(node node) | ✅ |
| jr:choice-name(node node, string value) | |
| jr:itext(string id) | ✅ |
-| indexed-repeat(node-set arg, node-set re
peat1, number index1, [node-set repeatN,
number indexN]{0,2}) | |
+| indexed-repeat(node-set arg, node-set re
peat1, number index1, [node-set repeatN,
number indexN]{0,2}) | ✅ |
| area(node-set ns\|geoshape gs) | ✅ |
| distance(node-set ns\|geoshape gs\|geotr
ace gt\|(geopoint\|string) arg\*) | ✅ |
| base64-decode(base64Binary input) | |
diff --git a/feature-matrix.json b/feature-matrix.json
index 26c65322a..88aff306e 100644
--- a/feature-matrix.json
+++ b/feature-matrix.json
@@ -3,7 +3,7 @@
"text": "✅",
"integer": "",
"decimal": "",
- "note": "🚧",
+ "note": "✅",
"select_one": "✅",
"select_multiple": "✅",
"repeat": "✅",
@@ -93,19 +93,19 @@
"calculate": "✅",
"relevant": "✅",
"required": "✅",
- "required message": "🚧",
- "custom constraint": "🚧",
- "constraint message": "🚧",
+ "required message": "✅",
+ "custom constraint": "✅",
+ "constraint message": "✅",
"read only": "✅",
"trigger": "",
"choice filter": "✅",
"default": "✅",
"query parameter": "",
- "repeat_count": ""
+ "repeat_count": "✅"
},
"Descriptions and Annotations": {
"label": "✅",
- "hint": "",
+ "hint": "✅",
"guidance hint": "",
"Translations": "✅",
"Translations with field/question value": "",
@@ -210,7 +210,7 @@
"count-selected(node node)": "✅",
"jr:choice-name(node node, string value)": "",
"jr:itext(string id)": "✅",
- "indexed-repeat(node-set arg, node-set repeat1, number index1, [node-set repeatN, number indexN]{0,2})": " ",
+ "indexed-repeat(node-set arg, node-set repeat1, number index1, [node-set repeatN, number indexN]{0,2})": "✅",
"area(node-set ns|geoshape gs)": "✅",
"distance(node-set ns|geoshape gs|geotrace gt|(geopoint|string) arg*)": "✅",
"base64-decode(base64Binary input)": ""
diff --git a/package.json b/package.json
index eb3b6e9c7..6ee28da00 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"types": "turbo run types",
"bump": "changeset add",
"format": "prettier -w \"**/*\" --ignore-unknown --cache",
+ "format:readme-only": "prettier -w README.md",
"format:checkonly": "prettier -c \"**/*\" --ignore-unknown",
"lint": "eslint . --report-unused-disable-directives",
"feature-matrix": "node scripts/feature-matrix/render.js"
diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md
index 9235e57e8..514f45576 100644
--- a/packages/common/CHANGELOG.md
+++ b/packages/common/CHANGELOG.md
@@ -1,5 +1,12 @@
# @getodk/common
+## 0.3.0
+
+### Minor Changes
+
+- 7b63159: Add support for count-controlled (`jr:count`) and fixed (`jr:noAddRemove`) repeat ranges.
+- 573b06b: Engine support for `constraint`, `required` validation
+
## 0.2.0
### Minor Changes
diff --git a/packages/common/package.json b/packages/common/package.json
index 3b0b404bc..11f5a2bab 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -1,7 +1,7 @@
{
"name": "@getodk/common",
"private": true,
- "version": "0.2.0",
+ "version": "0.3.0",
"description": "@getodk/common",
"type": "module",
"author": "getodk",
diff --git a/packages/scenario/CHANGELOG.md b/packages/scenario/CHANGELOG.md
index 74e9490b4..6e6d7a211 100644
--- a/packages/scenario/CHANGELOG.md
+++ b/packages/scenario/CHANGELOG.md
@@ -1,5 +1,25 @@
# @getodk/scenario
+## 0.3.0
+
+### Minor Changes
+
+- 596c1fe: Add engine support for 'note' nodes
+- 0c1534d: - Support tracking `current()` references in computations
+ - Support tracking references in computations where path references include predicates
+ - Improve support for repeat-based itemsets
+ - Improve relative path resolution across the board, fixing many computation update edge cases where expressions include complex path expressions
+ - Support relative `ref`/`nodeset` body attributes, as well as those with a `current()/` prefix
+ - Improve function call analysis in XPath expressions, particularly identification of functions called with no arguments
+ - Lay more mature foundation for general syntax analysis of XPath expressions
+- 746aa8a: Support for `indexed-repeat` XPath function
+- 7b63159: Add support for count-controlled (`jr:count`) and fixed (`jr:noAddRemove`) repeat ranges.
+- 573b06b: Engine support for `constraint`, `required` validation
+
+### Patch Changes
+
+- aa3a84a: Fix: evaluate `jr:count` in context of affected repeat
+
## 0.2.0
### Minor Changes
diff --git a/packages/scenario/package.json b/packages/scenario/package.json
index 2e4060a3a..3aa84f080 100644
--- a/packages/scenario/package.json
+++ b/packages/scenario/package.json
@@ -1,7 +1,7 @@
{
"name": "@getodk/scenario",
"private": true,
- "version": "0.2.0",
+ "version": "0.3.0",
"description": "@getodk/scenario",
"type": "module",
"author": "getodk",
@@ -48,7 +48,7 @@
},
"devDependencies": {
"@js-joda/core": "^5.6.3",
- "@getodk/xforms-engine": "0.2.0",
+ "@getodk/xforms-engine": "0.3.0",
"@vitest/browser": "^2.0.2",
"jsdom": "^24.1.0",
"solid-js": "^1.8.18",
diff --git a/packages/tree-sitter-xpath/CHANGELOG.md b/packages/tree-sitter-xpath/CHANGELOG.md
index 4acc1d329..94eb3deeb 100644
--- a/packages/tree-sitter-xpath/CHANGELOG.md
+++ b/packages/tree-sitter-xpath/CHANGELOG.md
@@ -1,5 +1,11 @@
# @getodk/tree-sitter-xpath
+## 0.1.2
+
+### Patch Changes
+
+- 03305c1: Fix: parse `child` and other axis names as (abbreviated) child name test
+
## 0.1.1
### Patch Changes
diff --git a/packages/tree-sitter-xpath/package.json b/packages/tree-sitter-xpath/package.json
index 2db710978..dd59aec6a 100644
--- a/packages/tree-sitter-xpath/package.json
+++ b/packages/tree-sitter-xpath/package.json
@@ -1,6 +1,6 @@
{
"name": "@getodk/tree-sitter-xpath",
- "version": "0.1.1",
+ "version": "0.1.2",
"license": "Apache-2.0",
"description": "XPath grammar for tree-sitter",
"type": "commonjs",
diff --git a/packages/ui-solid/CHANGELOG.md b/packages/ui-solid/CHANGELOG.md
index 9c30309b9..fe3b13196 100644
--- a/packages/ui-solid/CHANGELOG.md
+++ b/packages/ui-solid/CHANGELOG.md
@@ -1,5 +1,30 @@
# @getodk/ui-solid
+## 0.2.0
+
+### Minor Changes
+
+- 596c1fe: Add engine support for 'note' nodes
+- 7b63159: Add support for count-controlled (`jr:count`) and fixed (`jr:noAddRemove`) repeat ranges.
+
+### Patch Changes
+
+- 82d35d0: - Show message when required or other constrainst are not satisfied.
+ - Show error message banner at the top of the Form when "Send" button is pressed and the Form is invalid
+ - Various design/UI tweaks to beautify the Form
+- aa3a84a: Fix: evaluate `jr:count` in context of affected repeat
+- 5aa7ebc: - Display Notes fields on the UI
+ - Show hint for the fields if defined in the Form
+- Updated dependencies [e81aa43]
+- Updated dependencies [596c1fe]
+- Updated dependencies [0c1534d]
+- Updated dependencies [1e72854]
+- Updated dependencies [aa3a84a]
+- Updated dependencies [7b63159]
+- Updated dependencies [573b06b]
+ - @getodk/xforms-engine@0.3.0
+ - @getodk/common@0.3.0
+
## 0.1.2
### Patch Changes
diff --git a/packages/ui-solid/package.json b/packages/ui-solid/package.json
index 94d598812..d8cc501c0 100644
--- a/packages/ui-solid/package.json
+++ b/packages/ui-solid/package.json
@@ -1,6 +1,6 @@
{
"name": "@getodk/ui-solid",
- "version": "0.1.2",
+ "version": "0.2.0",
"license": "Apache-2.0",
"description": "Solid UI client for ODK Web Forms",
"type": "module",
@@ -46,8 +46,8 @@
},
"dependencies": {
"@fontsource/roboto": "^5.0.13",
- "@getodk/common": "0.2.0",
- "@getodk/xforms-engine": "0.2.0",
+ "@getodk/common": "0.3.0",
+ "@getodk/xforms-engine": "0.3.0",
"@solidjs/router": "^0.14.1",
"@suid/icons-material": "^0.7.0",
"@suid/material": "^0.16.0",
diff --git a/packages/web-forms/CHANGELOG.md b/packages/web-forms/CHANGELOG.md
index a0395e64e..2c88ef20a 100644
--- a/packages/web-forms/CHANGELOG.md
+++ b/packages/web-forms/CHANGELOG.md
@@ -1,5 +1,25 @@
# @getodk/web-forms
+## 0.3.0
+
+### Minor Changes
+
+- 82d35d0: Validation of `required` and `constraint`
+ - Show message when `required` or `constraint` are not satisfied.
+ - Show error message banner at the top of the Form when "Send" button is pressed and the Form is invalid
+ - Various design/UI tweaks to beautify the Form
+- 7b63159: Add support for count-controlled (`jr:count`) and fixed (`jr:noAddRemove`) repeat ranges.
+- 573b06b: Engine support for `constraint`, `required` validation
+- 5aa7ebc: Support for notes
+ - Display Notes fields on the UI
+ - Show hint for the fields if defined in the Form
+
+### Patch Changes
+
+- 596c1fe: Add engine support for 'note' nodes
+- 53d5f02: Added "Powered by ODK" caption at the bottom of the Form
+- aa3a84a: Fix: evaluate `jr:count` in context of affected repeat
+
## 0.2.0
### Minor Changes
diff --git a/packages/web-forms/package.json b/packages/web-forms/package.json
index ee07d346a..11528e432 100644
--- a/packages/web-forms/package.json
+++ b/packages/web-forms/package.json
@@ -1,6 +1,6 @@
{
"name": "@getodk/web-forms",
- "version": "0.2.0",
+ "version": "0.3.0",
"license": "Apache-2.0",
"description": "ODK Web Forms",
"author": "getodk",
@@ -50,7 +50,7 @@
"devDependencies": {
"@faker-js/faker": "^8.4.1",
"@fontsource/roboto": "^5.0.13",
- "@getodk/xforms-engine": "0.2.0",
+ "@getodk/xforms-engine": "0.3.0",
"@playwright/test": "^1.45.1",
"@types/ramda": "^0.30.1",
"@vitejs/plugin-vue": "^5.0.5",
diff --git a/packages/xforms-engine/CHANGELOG.md b/packages/xforms-engine/CHANGELOG.md
index d6dc6014d..05a4a83be 100644
--- a/packages/xforms-engine/CHANGELOG.md
+++ b/packages/xforms-engine/CHANGELOG.md
@@ -1,5 +1,27 @@
# @getodk/xforms-engine
+## 0.3.0
+
+### Minor Changes
+
+- 596c1fe: Add engine support for 'note' nodes
+- 0c1534d: Improve path resolution and updating computations
+ - Support tracking `current()` references in computations
+ - Support tracking references in computations where path references include predicates
+ - Improve support for repeat-based itemsets
+ - Improve relative path resolution across the board, fixing many computation update edge cases where expressions include complex path expressions
+ - Support relative `ref`/`nodeset` body attributes, as well as those with a `current()/` prefix
+ - Improve function call analysis in XPath expressions, particularly identification of functions called with no arguments
+ - Lay more mature foundation for general syntax analysis of XPath expressions
+- 7b63159: Add support for count-controlled (`jr:count`) and fixed (`jr:noAddRemove`) repeat ranges.
+- 573b06b: Engine support for `constraint`, `required` validation
+
+### Patch Changes
+
+- e81aa43: Fix: reactive aggregation of validation violations from selects
+- 1e72854: Fix: reactivity of aggregated validation violations on deep descendants
+- aa3a84a: Fix: evaluate `jr:count` in context of affected repeat
+
## 0.2.0
### Minor Changes
diff --git a/packages/xforms-engine/package.json b/packages/xforms-engine/package.json
index dbd239758..82238746e 100644
--- a/packages/xforms-engine/package.json
+++ b/packages/xforms-engine/package.json
@@ -1,6 +1,6 @@
{
"name": "@getodk/xforms-engine",
- "version": "0.2.0",
+ "version": "0.3.0",
"license": "Apache-2.0",
"description": "XForms engine for ODK Web Forms",
"type": "module",
@@ -58,8 +58,8 @@
},
"devDependencies": {
"@babel/core": "^7.24.8",
- "@getodk/tree-sitter-xpath": "0.1.1",
- "@getodk/xpath": "0.1.2",
+ "@getodk/tree-sitter-xpath": "0.1.2",
+ "@getodk/xpath": "0.2.0",
"@playwright/test": "^1.45.1",
"@vitest/browser": "^2.0.2",
"babel-plugin-transform-jsbi-to-bigint": "^1.4.0",
diff --git a/packages/xpath/CHANGELOG.md b/packages/xpath/CHANGELOG.md
index c47a9c534..664bd4cff 100644
--- a/packages/xpath/CHANGELOG.md
+++ b/packages/xpath/CHANGELOG.md
@@ -1,5 +1,17 @@
# @getodk/xpath
+## 0.2.0
+
+### Minor Changes
+
+- 746aa8a: Support for `indexed-repeat` XPath function
+
+### Patch Changes
+
+- Updated dependencies [7b63159]
+- Updated dependencies [573b06b]
+ - @getodk/common@0.3.0
+
## 0.1.2
### Patch Changes
diff --git a/packages/xpath/README.md b/packages/xpath/README.md
index f924ea1a1..aa10d051a 100644
--- a/packages/xpath/README.md
+++ b/packages/xpath/README.md
@@ -149,7 +149,6 @@ Both evaluator classes provide the following convenience methods:
We intend to support the full ODK XForms function library, but support is currently incomplete. The following functions are not yet supported (the `jr:` prefix is used by convention to refer to the JavaRosa namespace):
-- `indexed-repeat`
- `pulldata`
- `jr:choice-name`
diff --git a/packages/xpath/package.json b/packages/xpath/package.json
index 1d903596b..5d229bda0 100644
--- a/packages/xpath/package.json
+++ b/packages/xpath/package.json
@@ -1,6 +1,6 @@
{
"name": "@getodk/xpath",
- "version": "0.1.2",
+ "version": "0.2.0",
"license": "Apache-2.0",
"description": "XPath implementation for ODK Web Forms",
"type": "module",
@@ -53,13 +53,13 @@
},
"dependencies": {
"@js-temporal/polyfill": "^0.4.4",
- "@getodk/common": "0.2.0",
+ "@getodk/common": "0.3.0",
"crypto-js": "^4.2.0",
"itertools-ts": "^1.27.1"
},
"devDependencies": {
"@babel/core": "^7.24.8",
- "@getodk/tree-sitter-xpath": "0.1.1",
+ "@getodk/tree-sitter-xpath": "0.1.2",
"@playwright/test": "^1.45.1",
"@types/crypto-js": "^4.2.2",
"@vitest/browser": "^2.0.2",
diff --git a/scripts/feature-matrix/render.js b/scripts/feature-matrix/render.js
index 46f8b2a38..30c733ee3 100644
--- a/scripts/feature-matrix/render.js
+++ b/scripts/feature-matrix/render.js
@@ -2,7 +2,9 @@
// @ts-nocheck
import Mustache from 'mustache';
+import { spawnSync } from 'node:child_process';
import fs from 'node:fs/promises';
+import { fileURLToPath } from 'node:url';
const rootUrl = new URL('../..', import.meta.url);
const featureMatrix = JSON.parse(
@@ -73,3 +75,7 @@ const regex = new RegExp(`(${autogenOpen})[\\s\\S]*?(${autogenClose})`, 'm');
const updatedReadme = readmeFile.replace(regex, `$1\n${featureMatrixMd}\n$2`);
await fs.writeFile(new URL('./README.md', rootUrl), updatedReadme, { encoding: 'utf-8' });
+
+const rootDir = fileURLToPath(rootUrl);
+
+spawnSync('yarn', ['format:readme-only'], { cwd: rootDir });