jssm 5.104.2 → 5.112.3
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/.gitattributes +17 -6
- package/.log-progress.json +9 -0
- package/CHANGELOG.md +130 -45
- package/CLAUDE.md +11 -0
- package/MIGRATING-jssm-viz.md +67 -0
- package/README.md +179 -882
- package/dist/es6/fsl_parser.js +1 -1
- package/dist/es6/jssm.d.ts +773 -39
- package/dist/es6/jssm.js +921 -89
- package/dist/es6/jssm_arrow.js +24 -0
- package/dist/es6/jssm_compiler.d.ts +17 -2
- package/dist/es6/jssm_compiler.js +17 -3
- package/dist/es6/jssm_constants.d.ts +27 -0
- package/dist/es6/jssm_constants.js +27 -0
- package/dist/es6/jssm_error.d.ts +19 -0
- package/dist/es6/jssm_error.js +19 -0
- package/dist/es6/jssm_theme.d.ts +11 -0
- package/dist/es6/jssm_theme.js +11 -0
- package/dist/es6/jssm_types.d.ts +29 -3
- package/dist/es6/jssm_util.d.ts +161 -9
- package/dist/es6/jssm_util.js +174 -17
- package/dist/es6/jssm_viz.d.ts +175 -0
- package/dist/es6/jssm_viz.js +560 -0
- package/dist/es6/jssm_viz_colors.d.ts +63 -0
- package/dist/es6/jssm_viz_colors.js +63 -0
- package/dist/es6/version.js +1 -1
- package/dist/jssm.es5.cjs +1 -1
- package/dist/jssm.es5.iife.js +1 -0
- package/dist/jssm.es5.nonmin.cjs +2201 -870
- package/dist/jssm.es6.mjs +1 -1
- package/dist/jssm.es6.nonmin.cjs +2200 -871
- package/dist/jssm_viz.cjs +1 -0
- package/dist/{jssm.es5.iife.nonmin.cjs → jssm_viz.es5.iife.nonmin.cjs} +2589 -1090
- package/dist/jssm_viz.es5.nonmin.cjs +24674 -0
- package/dist/jssm_viz.es6.nonmin.cjs +24661 -0
- package/dist/jssm_viz.iife.cjs +1 -0
- package/dist/jssm_viz.mjs +1 -0
- package/jest-dragon.config.cjs +4 -1
- package/jest-spec.config.cjs +9 -6
- package/jest-stoch.config.cjs +4 -1
- package/jest-unicode.config.cjs +4 -1
- package/jssm.es5.d.cts +950 -41
- package/jssm.es6.d.ts +950 -41
- package/jssm_viz.es5.d.cts +2127 -0
- package/jssm_viz.es6.d.ts +2127 -0
- package/log-progress.data.json +28 -0
- package/package.json +56 -23
- package/rollup.config.viz.es5.js +46 -0
- package/rollup.config.viz.es6.js +46 -0
- package/rollup.config.viz.iife.js +36 -0
- package/typedoc-options.cjs +4 -3
- package/dist/jssm.es5.iife.cjs +0 -1
- package/fsl_parser.d.ts +0 -6
- package/jssm.d.ts +0 -1141
- package/jssm_arrow.d.ts +0 -53
- package/jssm_compiler.d.ts +0 -135
- package/jssm_constants.d.ts +0 -5
- package/jssm_error.d.ts +0 -8
- package/jssm_theme.d.ts +0 -4
- package/jssm_types.d.ts +0 -378
- package/jssm_util.d.ts +0 -106
- package/version.d.ts +0 -2
package/.gitattributes
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
build
|
|
3
|
-
dist
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
# Build outputs
|
|
2
|
+
build/** linguist-generated
|
|
3
|
+
dist/** linguist-generated
|
|
4
|
+
|
|
5
|
+
# Generated documentation
|
|
6
|
+
docs/** linguist-generated
|
|
7
|
+
|
|
8
|
+
# Generated source (PEG.js parser output, ~18k lines)
|
|
9
|
+
src/ts/fsl_parser.ts linguist-generated
|
|
10
|
+
src/ts/generated_code/** linguist-generated
|
|
11
|
+
|
|
12
|
+
# Test/benchmark artifacts
|
|
13
|
+
benchmark/** linguist-generated
|
|
14
|
+
coverage/** linguist-generated
|
|
15
|
+
|
|
16
|
+
# Lockfiles (also keeps Languages sidebar accurate)
|
|
17
|
+
package-lock.json linguist-generated
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data_path": "./log-progress.data.json",
|
|
3
|
+
"output_path": "./src/site/log_progress.html",
|
|
4
|
+
"transform_script": null,
|
|
5
|
+
"css_path": null,
|
|
6
|
+
"suppress_base_css": false,
|
|
7
|
+
"project_title": "jssm Progress Log",
|
|
8
|
+
"title_url": "https://stonecypher.github.io/jssm/"
|
|
9
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1266 merges; 222 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ All notable changes to this project will be documented in this file.
|
|
|
12
12
|
|
|
13
13
|
Published tags:
|
|
14
14
|
|
|
15
|
-
<a href="#5__104__1">5.104.1</a>, <a href="#5__103__0">5.103.0</a>, <a href="#5__102__1">5.102.1</a>, <a href="#5__101__0">5.101.0</a>, <a href="#5__100__0">5.100.0</a>, <a href="#5__99__0">5.99.0</a>, <a href="#5__98__8">5.98.8</a>, <a href="#5__98__7">5.98.7</a>, <a href="#5__98__2">5.98.2</a>, <a href="#5__98__0">5.98.0</a>, <a href="#5__97__1">5.97.1</a>, <a href="#5__97__0">5.97.0</a>, <a href="#5__96__1">5.96.1</a>, <a href="#5__96__0">5.96.0</a>, <a href="#5__95__0">5.95.0</a>, <a href="#5__94__0">5.94.0</a>, <a href="#5__93__0">5.93.0</a>, <a href="#5__91__1">5.91.1</a>, <a href="#5__91__0">5.91.0</a>, <a href="#5__90__1">5.90.1</a>, <a href="#5__90__0">5.90.0</a>, <a href="#5__89__6">5.89.6</a>, <a href="#5__89__3">5.89.3</a>, <a href="#5__89__2">5.89.2</a>, <a href="#5__89__1">5.89.1</a>, <a href="#5__89__0">5.89.0</a>, <a href="#5__88__4">5.88.4</a>, <a href="#5__88__3">5.88.3</a>, <a href="#5__88__2">5.88.2</a>, <a href="#5__88__1">5.88.1</a>, <a href="#5__88__0">5.88.0</a>, <a href="#5__87__0">5.87.0</a>, <a href="#5__86__3">5.86.3</a>, <a href="#5__86__2">5.86.2</a>, <a href="#5__86__1">5.86.1</a>, <a href="#5__86__0">5.86.0</a>, <a href="#5__85__11">5.85.11</a>, <a href="#5__85__10">5.85.10</a>, <a href="#5__85__9">5.85.9</a>, <a href="#5__85__8">5.85.8</a>, <a href="#5__85__7">5.85.7</a>, <a href="#5__85__6">5.85.6</a>, <a href="#5__85__5">5.85.5</a>, <a href="#5__85__4">5.85.4</a>, <a href="#5__85__3">5.85.3</a>, <a href="#5__85__2">5.85.2</a>, <a href="#5__85__1">5.85.1</a>, <a href="#5__85__0">5.85.0</a>, <a href="#5__84__1">5.84.1</a>, <a href="#5__84__0">5.84.0</a>, <a href="#5__83__2">5.83.2</a>, <a href="#5__83__1">5.83.1</a>, <a href="#5__83__0">5.83.0</a>, <a href="#5__82__5">5.82.5</a>, <a href="#5__82__4">5.82.4</a>, <a href="#5__82__3">5.82.3</a>, <a href="#5__82__2">5.82.2</a>, <a href="#5__82__1">5.82.1</a>, <a href="#5__82__0">5.82.0</a>, <a href="#5__81__2">5.81.2</a>, <a href="#5__81__0">5.81.0</a>, <a href="#5__80__1">5.80.1</a>, <a href="#5__80__0">5.80.0</a>, <a href="#5__79__18">5.79.18</a>, <a href="#5__79__17">5.79.17</a>, <a href="#5__79__16">5.79.16</a>, <a href="#5__79__15">5.79.15</a>, <a href="#5__79__11">5.79.11</a>, <a href="#5__79__10">5.79.10</a>, <a href="#5__79__9">5.79.9</a>, <a href="#5__79__8">5.79.8</a>, <a href="#5__79__6">5.79.6</a>, <a href="#5__79__4">5.79.4</a>, <a href="#5__79__3">5.79.3</a>, <a href="#5__79__2">5.79.2</a>, <a href="#5__79__1">5.79.1</a>, <a href="#5__79__0">5.79.0</a>, <a href="#5__78__0">5.78.0</a>, <a href="#5__77__1">5.77.1</a>, <a href="#5__77__0">5.77.0</a>, <a href="#5__76__2">5.76.2</a>, <a href="#5__76__0">5.76.0</a>, <a href="#5__75__1">5.75.1</a>, <a href="#5__75__0">5.75.0</a>, <a href="#5__74__0">5.74.0</a>, <a href="#5__73__1">5.73.1</a>, <a href="#5__73__0">5.73.0</a>, <a href="#5__72__5">5.72.5</a>, <a href="#5__72__4">5.72.4</a>, <a href="#5__72__3">5.72.3</a>, <a href="#5__72__2">5.72.2</a>, <a href="#5__72__1">5.72.1</a>, <a href="#5__72__0">5.72.0</a>, <a href="#5__71__1">5.71.1</a>, <a href="#5__71__0">5.71.0</a>, <a href="#5__70__36">5.70.36</a>, <a href="#5__70__35">5.70.35</a>, <a href="#5__70__34">5.70.34</a>, <a href="#5__70__33">5.70.33</a>, <a href="#5__70__32">5.70.32</a>, <a href="#5__70__31">5.70.31</a>, <a href="#5__70__30">5.70.30</a>, <a href="#5__70__29">5.70.29</a>, <a href="#5__70__28">5.70.28</a>, <a href="#5__70__27">5.70.27</a>, <a href="#5__70__26">5.70.26</a>, <a href="#5__70__25">5.70.25</a>, <a href="#5__70__24">5.70.24</a>, <a href="#5__70__23">5.70.23</a>, <a href="#5__70__22">5.70.22</a>, <a href="#5__70__21">5.70.21</a>, <a href="#5__70__20">5.70.20</a>, <a href="#5__70__19">5.70.19</a>, <a href="#5__70__18">5.70.18</a>, <a href="#5__70__16">5.70.16</a>, <a href="#5__70__15">5.70.15</a>, <a href="#5__70__14">5.70.14</a>, <a href="#5__70__13">5.70.13</a>, <a href="#5__70__12">5.70.12</a>, <a href="#5__70__11">5.70.11</a>, <a href="#5__70__10">5.70.10</a>, <a href="#5__70__9">5.70.9</a>, <a href="#5__70__8">5.70.8</a>, <a href="#5__70__7">5.70.7</a>, <a href="#5__70__6">5.70.6</a>, <a href="#5__70__5">5.70.5</a>, <a href="#5__70__4">5.70.4</a>, <a href="#5__70__3">5.70.3</a>, <a href="#5__70__2">5.70.2</a>, <a href="#5__70__1">5.70.1</a>, <a href="#5__70__0">5.70.0</a>, <a href="#5__69__4">5.69.4</a>, <a href="#5__69__3">5.69.3</a>, <a href="#5__69__2">5.69.2</a>, <a href="#5__69__0">5.69.0</a>, <a href="#5__68__0">5.68.0</a>, <a href="#5__67__2">5.67.2</a>, <a href="#5__67__0">5.67.0</a>, <a href="#5__66__0">5.66.0</a>, <a href="#5__65__14">5.65.14</a>, <a href="#5__65__12">5.65.12</a>, <a href="#5__65__11">5.65.11</a>, <a href="#5__65__10">5.65.10</a>, <a href="#5__65__9">5.65.9</a>, <a href="#5__65__8">5.65.8</a>, <a href="#5__65__7">5.65.7</a>, <a href="#5__65__5">5.65.5</a>, <a href="#5__65__4">5.65.4</a>, <a href="#5__65__3">5.65.3</a>, <a href="#5__65__2">5.65.2</a>, <a href="#5__65__1">5.65.1</a>, <a href="#5__65__0">5.65.0</a>, <a href="#5__64__2">5.64.2</a>, <a href="#5__64__1">5.64.1</a>, <a href="#5__64__0">5.64.0</a>, <a href="#5__63__0">5.63.0</a>, <a href="#5__62__0">5.62.0</a>, <a href="#5__61__4">5.61.4</a>, <a href="#5__61__3">5.61.3</a>, <a href="#5__61__2">5.61.2</a>, <a href="#5__61__1">5.61.1</a>, <a href="#5__60__4">5.60.4</a>, <a href="#5__60__3">5.60.3</a>, <a href="#5__60__0">5.60.0</a>, <a href="#5__59__1">5.59.1</a>, <a href="#5__59__0">5.59.0</a>, <a href="#5__58__1">5.58.1</a>, <a href="#5__58__0">5.58.0</a>, <a href="#5__57__1">5.57.1</a>, <a href="#5__57__0">5.57.0</a>, <a href="#5__56__2">5.56.2</a>, <a href="#5__56__1">5.56.1</a>, <a href="#5__55__0">5.55.0</a>, <a href="#5__54__0">5.54.0</a>, <a href="#5__53__0">5.53.0</a>, <a href="#5__52__0">5.52.0</a>, <a href="#5__51__0">5.51.0</a>, <a href="#5__50__0">5.50.0</a>, <a href="#5__49__0">5.49.0</a>, <a href="#5__48__0">5.48.0</a>, <a href="#5__47__0">5.47.0</a>, <a href="#5__46__0">5.46.0</a>, <a href="#5__45__2">5.45.2</a>, <a href="#5__45__0">5.45.0</a>, <a href="#5__44__0">5.44.0</a>, <a href="#5__43__2">5.43.2</a>, <a href="#v5__42__0">v5.42.0</a>, <a href="#5__42__0">5.42.0</a>, <a href="#v5__41__15">v5.41.15</a>, <a href="#5__41__15">5.41.15</a>, <a href="#v5__41__14">v5.41.14</a>, <a href="#5__41__14">5.41.14</a>, <a href="#v5__41__12">v5.41.12</a>, <a href="#5__41__12">5.41.12</a>, <a href="#v5__41__10">v5.41.10</a>, <a href="#5__41__10">5.41.10</a>, <a href="#v5__41__9">v5.41.9</a>, <a href="#5__41__9">5.41.9</a>, <a href="#v5__41__8">v5.41.8</a>, <a href="#5__41__8">5.41.8</a>, <a href="#v5__41__7">v5.41.7</a>, <a href="#v5__41__2">v5.41.2</a>, <a href="#v5__41__1">v5.41.1</a>, <a href="#v5__32__14">v5.32.14</a>, <a href="#5__14__0">5.14.0</a>, <a href="#5__12__0">5.12.0</a>, <a href="#5__11__12">5.11.12</a>, <a href="#5__11__1">5.11.1</a>, <a href="#5__11__0">5.11.0</a>
|
|
15
|
+
<a href="#5__110__1">5.110.1</a>, <a href="#5__109__0">5.109.0</a>, <a href="#5__108__0">5.108.0</a>, <a href="#5__107__2">5.107.2</a>, <a href="#5__107__0">5.107.0</a>, <a href="#5__106__0">5.106.0</a>, <a href="#5__105__6">5.105.6</a>, <a href="#5__105__4">5.105.4</a>, <a href="#5__105__3">5.105.3</a>, <a href="#5__105__2">5.105.2</a>, <a href="#5__105__1">5.105.1</a>, <a href="#5__105__0">5.105.0</a>, <a href="#5__104__2">5.104.2</a>, <a href="#5__104__1">5.104.1</a>, <a href="#5__103__0">5.103.0</a>, <a href="#5__102__1">5.102.1</a>, <a href="#5__101__0">5.101.0</a>, <a href="#5__100__0">5.100.0</a>, <a href="#5__99__0">5.99.0</a>, <a href="#5__98__8">5.98.8</a>, <a href="#5__98__7">5.98.7</a>, <a href="#5__98__2">5.98.2</a>, <a href="#5__98__0">5.98.0</a>, <a href="#5__97__1">5.97.1</a>, <a href="#5__97__0">5.97.0</a>, <a href="#5__96__1">5.96.1</a>, <a href="#5__96__0">5.96.0</a>, <a href="#5__95__0">5.95.0</a>, <a href="#5__94__0">5.94.0</a>, <a href="#5__93__0">5.93.0</a>, <a href="#5__91__1">5.91.1</a>, <a href="#5__91__0">5.91.0</a>, <a href="#5__90__1">5.90.1</a>, <a href="#5__90__0">5.90.0</a>, <a href="#5__89__6">5.89.6</a>, <a href="#5__89__3">5.89.3</a>, <a href="#5__89__2">5.89.2</a>, <a href="#5__89__1">5.89.1</a>, <a href="#5__89__0">5.89.0</a>, <a href="#5__88__4">5.88.4</a>, <a href="#5__88__3">5.88.3</a>, <a href="#5__88__2">5.88.2</a>, <a href="#5__88__1">5.88.1</a>, <a href="#5__88__0">5.88.0</a>, <a href="#5__87__0">5.87.0</a>, <a href="#5__86__3">5.86.3</a>, <a href="#5__86__2">5.86.2</a>, <a href="#5__86__1">5.86.1</a>, <a href="#5__86__0">5.86.0</a>, <a href="#5__85__11">5.85.11</a>, <a href="#5__85__10">5.85.10</a>, <a href="#5__85__9">5.85.9</a>, <a href="#5__85__8">5.85.8</a>, <a href="#5__85__7">5.85.7</a>, <a href="#5__85__6">5.85.6</a>, <a href="#5__85__5">5.85.5</a>, <a href="#5__85__4">5.85.4</a>, <a href="#5__85__3">5.85.3</a>, <a href="#5__85__2">5.85.2</a>, <a href="#5__85__1">5.85.1</a>, <a href="#5__85__0">5.85.0</a>, <a href="#5__84__1">5.84.1</a>, <a href="#5__84__0">5.84.0</a>, <a href="#5__83__2">5.83.2</a>, <a href="#5__83__1">5.83.1</a>, <a href="#5__83__0">5.83.0</a>, <a href="#5__82__5">5.82.5</a>, <a href="#5__82__4">5.82.4</a>, <a href="#5__82__3">5.82.3</a>, <a href="#5__82__2">5.82.2</a>, <a href="#5__82__1">5.82.1</a>, <a href="#5__82__0">5.82.0</a>, <a href="#5__81__2">5.81.2</a>, <a href="#5__81__0">5.81.0</a>, <a href="#5__80__1">5.80.1</a>, <a href="#5__80__0">5.80.0</a>, <a href="#5__79__18">5.79.18</a>, <a href="#5__79__17">5.79.17</a>, <a href="#5__79__16">5.79.16</a>, <a href="#5__79__15">5.79.15</a>, <a href="#5__79__11">5.79.11</a>, <a href="#5__79__10">5.79.10</a>, <a href="#5__79__9">5.79.9</a>, <a href="#5__79__8">5.79.8</a>, <a href="#5__79__6">5.79.6</a>, <a href="#5__79__4">5.79.4</a>, <a href="#5__79__3">5.79.3</a>, <a href="#5__79__2">5.79.2</a>, <a href="#5__79__1">5.79.1</a>, <a href="#5__79__0">5.79.0</a>, <a href="#5__78__0">5.78.0</a>, <a href="#5__77__1">5.77.1</a>, <a href="#5__77__0">5.77.0</a>, <a href="#5__76__2">5.76.2</a>, <a href="#5__76__0">5.76.0</a>, <a href="#5__75__1">5.75.1</a>, <a href="#5__75__0">5.75.0</a>, <a href="#5__74__0">5.74.0</a>, <a href="#5__73__1">5.73.1</a>, <a href="#5__73__0">5.73.0</a>, <a href="#5__72__5">5.72.5</a>, <a href="#5__72__4">5.72.4</a>, <a href="#5__72__3">5.72.3</a>, <a href="#5__72__2">5.72.2</a>, <a href="#5__72__1">5.72.1</a>, <a href="#5__72__0">5.72.0</a>, <a href="#5__71__1">5.71.1</a>, <a href="#5__71__0">5.71.0</a>, <a href="#5__70__36">5.70.36</a>, <a href="#5__70__35">5.70.35</a>, <a href="#5__70__34">5.70.34</a>, <a href="#5__70__33">5.70.33</a>, <a href="#5__70__32">5.70.32</a>, <a href="#5__70__31">5.70.31</a>, <a href="#5__70__30">5.70.30</a>, <a href="#5__70__29">5.70.29</a>, <a href="#5__70__28">5.70.28</a>, <a href="#5__70__27">5.70.27</a>, <a href="#5__70__26">5.70.26</a>, <a href="#5__70__25">5.70.25</a>, <a href="#5__70__24">5.70.24</a>, <a href="#5__70__23">5.70.23</a>, <a href="#5__70__22">5.70.22</a>, <a href="#5__70__21">5.70.21</a>, <a href="#5__70__20">5.70.20</a>, <a href="#5__70__19">5.70.19</a>, <a href="#5__70__18">5.70.18</a>, <a href="#5__70__16">5.70.16</a>, <a href="#5__70__15">5.70.15</a>, <a href="#5__70__14">5.70.14</a>, <a href="#5__70__13">5.70.13</a>, <a href="#5__70__12">5.70.12</a>, <a href="#5__70__11">5.70.11</a>, <a href="#5__70__10">5.70.10</a>, <a href="#5__70__9">5.70.9</a>, <a href="#5__70__8">5.70.8</a>, <a href="#5__70__7">5.70.7</a>, <a href="#5__70__6">5.70.6</a>, <a href="#5__70__5">5.70.5</a>, <a href="#5__70__4">5.70.4</a>, <a href="#5__70__3">5.70.3</a>, <a href="#5__70__2">5.70.2</a>, <a href="#5__70__1">5.70.1</a>, <a href="#5__70__0">5.70.0</a>, <a href="#5__69__4">5.69.4</a>, <a href="#5__69__3">5.69.3</a>, <a href="#5__69__2">5.69.2</a>, <a href="#5__69__0">5.69.0</a>, <a href="#5__68__0">5.68.0</a>, <a href="#5__67__2">5.67.2</a>, <a href="#5__67__0">5.67.0</a>, <a href="#5__66__0">5.66.0</a>, <a href="#5__65__14">5.65.14</a>, <a href="#5__65__12">5.65.12</a>, <a href="#5__65__11">5.65.11</a>, <a href="#5__65__10">5.65.10</a>, <a href="#5__65__9">5.65.9</a>, <a href="#5__65__8">5.65.8</a>, <a href="#5__65__7">5.65.7</a>, <a href="#5__65__5">5.65.5</a>, <a href="#5__65__4">5.65.4</a>, <a href="#5__65__3">5.65.3</a>, <a href="#5__65__2">5.65.2</a>, <a href="#5__65__1">5.65.1</a>, <a href="#5__65__0">5.65.0</a>, <a href="#5__64__2">5.64.2</a>, <a href="#5__64__1">5.64.1</a>, <a href="#5__64__0">5.64.0</a>, <a href="#5__63__0">5.63.0</a>, <a href="#5__62__0">5.62.0</a>, <a href="#5__61__4">5.61.4</a>, <a href="#5__61__3">5.61.3</a>, <a href="#5__61__2">5.61.2</a>, <a href="#5__61__1">5.61.1</a>, <a href="#5__60__4">5.60.4</a>, <a href="#5__60__3">5.60.3</a>, <a href="#5__60__0">5.60.0</a>, <a href="#5__59__1">5.59.1</a>, <a href="#5__59__0">5.59.0</a>, <a href="#5__58__1">5.58.1</a>, <a href="#5__58__0">5.58.0</a>, <a href="#5__57__1">5.57.1</a>, <a href="#5__57__0">5.57.0</a>, <a href="#5__56__2">5.56.2</a>, <a href="#5__56__1">5.56.1</a>, <a href="#5__55__0">5.55.0</a>, <a href="#5__54__0">5.54.0</a>, <a href="#5__53__0">5.53.0</a>, <a href="#5__52__0">5.52.0</a>, <a href="#5__51__0">5.51.0</a>, <a href="#5__50__0">5.50.0</a>, <a href="#5__49__0">5.49.0</a>, <a href="#5__48__0">5.48.0</a>, <a href="#5__47__0">5.47.0</a>, <a href="#5__46__0">5.46.0</a>, <a href="#5__45__2">5.45.2</a>, <a href="#5__45__0">5.45.0</a>, <a href="#5__44__0">5.44.0</a>, <a href="#5__43__2">5.43.2</a>, <a href="#v5__42__0">v5.42.0</a>, <a href="#5__42__0">5.42.0</a>, <a href="#v5__41__15">v5.41.15</a>, <a href="#5__41__15">5.41.15</a>, <a href="#v5__41__14">v5.41.14</a>, <a href="#5__41__14">5.41.14</a>, <a href="#v5__41__12">v5.41.12</a>, <a href="#5__41__12">5.41.12</a>, <a href="#v5__41__10">v5.41.10</a>, <a href="#5__41__10">5.41.10</a>, <a href="#v5__41__9">v5.41.9</a>, <a href="#5__41__9">5.41.9</a>, <a href="#v5__41__8">v5.41.8</a>, <a href="#5__41__8">5.41.8</a>, <a href="#v5__41__7">v5.41.7</a>, <a href="#v5__41__2">v5.41.2</a>, <a href="#v5__41__1">v5.41.1</a>, <a href="#v5__32__14">v5.32.14</a>, <a href="#5__14__0">5.14.0</a>, <a href="#5__12__0">5.12.0</a>, <a href="#5__11__12">5.11.12</a>, <a href="#5__11__1">5.11.1</a>, <a href="#5__11__0">5.11.0</a>
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -22,13 +22,35 @@ Published tags:
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
## [Untagged] -
|
|
25
|
+
## [Untagged] - 5/12/2026 7:14:03 AM
|
|
26
26
|
|
|
27
|
-
Commit [
|
|
27
|
+
Commit [9276011491437258fbde3e919ec657d29f4ea62e](https://github.com/StoneCypher/jssm/commit/9276011491437258fbde3e919ec657d29f4ea62e)
|
|
28
28
|
|
|
29
29
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
30
30
|
|
|
31
|
-
*
|
|
31
|
+
* fix(grammar): integer literals capture all digits, not just the first
|
|
32
|
+
* Three PEG rules — IntegerLiteral, Stripe, Cycle — captured only the
|
|
33
|
+
first digit of multi-digit input. Root cause: PEG.js's default
|
|
34
|
+
return value for a `NonZeroDigit DecimalDigit*` sequence is an array
|
|
35
|
+
of matches, which stringifies with commas at parseInt time (e.g.
|
|
36
|
+
`["1", ["2","3"]].toString() === "1,2,3"` → parseInt stops at the
|
|
37
|
+
comma → returns 1). Switched all three rules to `$(...)` text
|
|
38
|
+
capture so they return the matched substring directly.
|
|
39
|
+
* Visible impact:
|
|
40
|
+
- `fsl_version: 10.0.0;` returned `{major:1, full:"10.0.0"}`;
|
|
41
|
+
now correctly `{major:10, full:"10.0.0"}`.
|
|
42
|
+
- `+|123` returned `{key:'stripe', value:12}`; now `{value:123}`.
|
|
43
|
+
- `+1234` returned `{key:'cycle', value:12}`; now `{value:1234}`.
|
|
44
|
+
* Also adds:
|
|
45
|
+
- src/ts/tests/numeric.stoch.ts: 35 property-based tests for §3
|
|
46
|
+
(Numeric layer) plus the §6 Stripe/Cycle integer-literal slice.
|
|
47
|
+
Lifts grammar stoch coverage from 1/14 sections to 2/14. Surfaced
|
|
48
|
+
the two bugs fixed in this commit.
|
|
49
|
+
- testPathIgnorePatterns in each jest-*.config.cjs to exclude
|
|
50
|
+
`.claude/worktrees/` so concurrent agent worktrees don't
|
|
51
|
+
contaminate the host's test runs.
|
|
52
|
+
- notes/dragons-egg.md: entry for numeric.stoch.ts with bug-fix
|
|
53
|
+
narrative.
|
|
32
54
|
|
|
33
55
|
|
|
34
56
|
|
|
@@ -37,16 +59,21 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
37
59
|
|
|
38
60
|
|
|
39
61
|
|
|
40
|
-
## [Untagged] -
|
|
62
|
+
## [Untagged] - 5/12/2026 6:52:39 AM
|
|
41
63
|
|
|
42
|
-
Commit [
|
|
64
|
+
Commit [a253dd558bdb6e82020b069daaba9e222e4cb355](https://github.com/StoneCypher/jssm/commit/a253dd558bdb6e82020b069daaba9e222e4cb355)
|
|
43
65
|
|
|
44
66
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
45
67
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
68
|
+
* chore(test): remove jest, @swc/jest, @types/jest, jest-json-reporter2, jest configs and scripts
|
|
69
|
+
* All test suites are running on vitest. Drop:
|
|
70
|
+
- the four `jest-*.config.cjs` files
|
|
71
|
+
- the eleven `jest-*` npm scripts
|
|
72
|
+
- devDependencies `jest`, `@swc/jest`, `@swc/core` (only used by
|
|
73
|
+
@swc/jest), `@types/jest`, `jest-json-reporter2`, and
|
|
74
|
+
`jest-environment-jsdom`. jsdom itself is kept since vitest uses it
|
|
75
|
+
directly for `// @vitest-environment jsdom` blocks.
|
|
76
|
+
* npm install reports 296 packages removed.
|
|
50
77
|
|
|
51
78
|
|
|
52
79
|
|
|
@@ -55,13 +82,13 @@ Merges [31dfb9c, 51d8ae4]
|
|
|
55
82
|
|
|
56
83
|
|
|
57
84
|
|
|
58
|
-
## [Untagged] -
|
|
85
|
+
## [Untagged] - 5/12/2026 6:52:15 AM
|
|
59
86
|
|
|
60
|
-
Commit [
|
|
87
|
+
Commit [c6d821b33b3d6269ab6569a0c2e7ec7ef40637d8](https://github.com/StoneCypher/jssm/commit/c6d821b33b3d6269ab6569a0c2e7ec7ef40637d8)
|
|
61
88
|
|
|
62
|
-
Author: `
|
|
89
|
+
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
63
90
|
|
|
64
|
-
*
|
|
91
|
+
* docs(progress): scaffold weekly investor-facing progress log
|
|
65
92
|
|
|
66
93
|
|
|
67
94
|
|
|
@@ -70,13 +97,17 @@ Author: `MRR <miguelrios@Miguels-MacBook-Air.local>`
|
|
|
70
97
|
|
|
71
98
|
|
|
72
99
|
|
|
73
|
-
## [Untagged] -
|
|
100
|
+
## [Untagged] - 5/12/2026 6:50:41 AM
|
|
74
101
|
|
|
75
|
-
Commit [
|
|
102
|
+
Commit [af56aae6dc85ec5306bbd6d7e0098b963fce86a8](https://github.com/StoneCypher/jssm/commit/af56aae6dc85ec5306bbd6d7e0098b963fce86a8)
|
|
76
103
|
|
|
77
104
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
78
105
|
|
|
79
|
-
*
|
|
106
|
+
* ci(workflow): switch unicode jobs to vitest
|
|
107
|
+
* Updates each `unicode-*` job in nodejs.yml to invoke the new
|
|
108
|
+
`vitest-unicode-*` scripts instead of `jest-unicode-*`. The main
|
|
109
|
+
`build` job goes through `npm run ci_build` -> `npm run test`, which
|
|
110
|
+
already calls the new `vitest` script, so no change is needed there.
|
|
80
111
|
|
|
81
112
|
|
|
82
113
|
|
|
@@ -85,15 +116,22 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
85
116
|
|
|
86
117
|
|
|
87
118
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
## [5.104.1] - 10/28/2024 2:26:03 AM
|
|
119
|
+
## [Untagged] - 5/12/2026 6:50:08 AM
|
|
91
120
|
|
|
92
|
-
Commit [
|
|
121
|
+
Commit [83aaf720e938e7494788b55123a703c3d981a026](https://github.com/StoneCypher/jssm/commit/83aaf720e938e7494788b55123a703c3d981a026)
|
|
93
122
|
|
|
94
123
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
95
124
|
|
|
96
|
-
*
|
|
125
|
+
* feat(test): port jest-unicode to vitest.unicode.config.ts
|
|
126
|
+
* Adds vitest.unicode.config.ts mirroring jest-unicode.config.cjs. The
|
|
127
|
+
five npm scripts (`vitest-unicode-atom`, `-string`, `-atom-label`,
|
|
128
|
+
`-string-label`, `-action`) each invoke `vitest run` against a single
|
|
129
|
+
`*.uspec.ts` file, matching the equivalent jest-unicode-* scripts.
|
|
130
|
+
* Note: the old jest-unicode-atom-label and -string-label scripts both
|
|
131
|
+
incorrectly pointed at unicode-atoms.uspec.ts (a pre-existing bug from
|
|
132
|
+
when the unicode suites were split). The new vitest scripts route each
|
|
133
|
+
script to its correctly named file.
|
|
134
|
+
* Sample run: vitest-unicode-atom -> 320 tests pass, ~260s wall.
|
|
97
135
|
|
|
98
136
|
|
|
99
137
|
|
|
@@ -102,13 +140,20 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
102
140
|
|
|
103
141
|
|
|
104
142
|
|
|
105
|
-
## [Untagged] -
|
|
143
|
+
## [Untagged] - 5/12/2026 6:49:56 AM
|
|
106
144
|
|
|
107
|
-
Commit [
|
|
145
|
+
Commit [7773fa1da33821c898627e44ba682eb26c3bf625](https://github.com/StoneCypher/jssm/commit/7773fa1da33821c898627e44ba682eb26c3bf625)
|
|
108
146
|
|
|
109
147
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
110
148
|
|
|
111
|
-
*
|
|
149
|
+
* feat(test): port jest-dragon to vitest.dragon.config.ts
|
|
150
|
+
* Mirrors jest-dragon.config.cjs: glob `**/*.maximal.ts`, coverage to
|
|
151
|
+
coverage/ksd/, metrics.json via the vitest reporter.
|
|
152
|
+
* Note: the only `*.maximal.ts` file (kitchen_sink_dragon.maximal.ts)
|
|
153
|
+
references `make_mulberry_rand` from `jssm_util`, which was renamed to
|
|
154
|
+
splitmix32 in commit 1401a08 and never updated. The suite already
|
|
155
|
+
failed at collection time under jest; vitest preserves the same failure
|
|
156
|
+
mode. The dragon suite predates this conversion and is left as-is.
|
|
112
157
|
|
|
113
158
|
|
|
114
159
|
|
|
@@ -117,15 +162,25 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
117
162
|
|
|
118
163
|
|
|
119
164
|
|
|
120
|
-
|
|
165
|
+
## [Untagged] - 5/12/2026 6:49:44 AM
|
|
121
166
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
Commit [e2a01ddfc21abc4b0a0f142178e726fc86360d4a](https://github.com/StoneCypher/jssm/commit/e2a01ddfc21abc4b0a0f142178e726fc86360d4a)
|
|
167
|
+
Commit [8255702d4820e6afcecc9b240a1aed591c7ad02c](https://github.com/StoneCypher/jssm/commit/8255702d4820e6afcecc9b240a1aed591c7ad02c)
|
|
125
168
|
|
|
126
169
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
127
170
|
|
|
128
|
-
*
|
|
171
|
+
* feat(test): port jest-stoch to vitest.stoch.config.ts
|
|
172
|
+
* - Adds vitest.stoch.config.ts mirroring jest-stoch.config.cjs (same
|
|
173
|
+
coverage ignores, zero thresholds, metrics.json into coverage/stoch/).
|
|
174
|
+
- Fixes seq.stoch.ts: fast-check@2's `Property.run` treats any predicate
|
|
175
|
+
return value that is not `null`, `undefined`, or `true` as failure.
|
|
176
|
+
Under jest `expect(...).toBe(...)` returned `undefined`; under vitest
|
|
177
|
+
the same chain returns the assertion-chain object, which fast-check
|
|
178
|
+
then reports as `Property failed by returning false`. Prefix each
|
|
179
|
+
predicate `expect()` with `void` so the implicit return is undefined
|
|
180
|
+
on both runners.
|
|
181
|
+
* After:
|
|
182
|
+
jest-stoch: 9 tests / ~12s self
|
|
183
|
+
vitest-stoch: 9 tests / <1s self / ~6s wall
|
|
129
184
|
|
|
130
185
|
|
|
131
186
|
|
|
@@ -134,18 +189,34 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
134
189
|
|
|
135
190
|
|
|
136
191
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
## [5.102.1] - 10/20/2024 1:17:22 PM
|
|
192
|
+
## [Untagged] - 5/12/2026 6:49:28 AM
|
|
140
193
|
|
|
141
|
-
Commit [
|
|
194
|
+
Commit [b8f224a863c9862fea06999fc2efefbfcb399a71](https://github.com/StoneCypher/jssm/commit/b8f224a863c9862fea06999fc2efefbfcb399a71)
|
|
142
195
|
|
|
143
196
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
144
197
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
198
|
+
* feat(test): port jest-spec to vitest.spec.config.ts
|
|
199
|
+
* - Adds vitest.spec.config.ts mirroring jest-spec.config.cjs (same coverage
|
|
200
|
+
ignores, same 100% thresholds, same metrics.json output via the new
|
|
201
|
+
reporter).
|
|
202
|
+
- Adds vitest.setup.ts that aliases `jest` -> `vi` on globalThis so the
|
|
203
|
+
existing `jest.fn(...)` calls in hooks.spec.ts / posthooks.spec.ts keep
|
|
204
|
+
working unchanged.
|
|
205
|
+
- Adds src/buildjs/vitest_metrics_reporter.cjs, a small custom reporter
|
|
206
|
+
that emits the same `metrics.json` shape jest-json-reporter2 did so
|
|
207
|
+
make_readme.cjs keeps working.
|
|
208
|
+
- viz_svg_element.spec.ts pragma swapped to @vitest-environment.
|
|
209
|
+
- properties.spec.ts had four `describe()` blocks containing only
|
|
210
|
+
`expect()` calls (no `test()`). Jest accidentally ran those at
|
|
211
|
+
collection time, interleaved with the surrounding `traffic_light.go()`
|
|
212
|
+
calls. Vitest defers the describe body, so all of the go()s ran first
|
|
213
|
+
and every assertion saw the terminal state. Snapshot state/props at
|
|
214
|
+
collection time, then assert the snapshot inside real `test()` calls.
|
|
215
|
+
- after_mapping.spec.ts had two more orphan describes with the same
|
|
216
|
+
issue; promoted to `test()`.
|
|
217
|
+
* After the conversion:
|
|
218
|
+
jest-spec: 5285 tests (5251 pass + 34 todo), ~41s self
|
|
219
|
+
vitest-spec: 5291 tests (5257 pass + 34 todo), ~14s self / ~38s wall
|
|
149
220
|
|
|
150
221
|
|
|
151
222
|
|
|
@@ -154,13 +225,16 @@ Merges [5b8ecee, da15bd2]
|
|
|
154
225
|
|
|
155
226
|
|
|
156
227
|
|
|
157
|
-
## [Untagged] -
|
|
228
|
+
## [Untagged] - 5/12/2026 6:48:42 AM
|
|
158
229
|
|
|
159
|
-
Commit [
|
|
230
|
+
Commit [22db66d28fbd1e5f8ef6a8ddcc853a0ff9c85dcf](https://github.com/StoneCypher/jssm/commit/22db66d28fbd1e5f8ef6a8ddcc853a0ff9c85dcf)
|
|
160
231
|
|
|
161
232
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
162
233
|
|
|
163
|
-
*
|
|
234
|
+
* chore(test): add vitest and @vitest/coverage-v8 as devDependencies
|
|
235
|
+
* First step of the Jest -> Vitest conversion. Adds vitest@^2.1.9 and the
|
|
236
|
+
v8 coverage adapter so both runners can coexist while the rest of the
|
|
237
|
+
configs are migrated.
|
|
164
238
|
|
|
165
239
|
|
|
166
240
|
|
|
@@ -169,10 +243,21 @@ Author: `John Haugeland <stonecypher@gmail.com>`
|
|
|
169
243
|
|
|
170
244
|
|
|
171
245
|
|
|
172
|
-
## [Untagged] -
|
|
246
|
+
## [Untagged] - 5/12/2026 6:22:05 AM
|
|
173
247
|
|
|
174
|
-
Commit [
|
|
248
|
+
Commit [bd1be3bf09a533b11e5ed3e6fa29f9e8db90d560](https://github.com/StoneCypher/jssm/commit/bd1be3bf09a533b11e5ed3e6fa29f9e8db90d560)
|
|
175
249
|
|
|
176
250
|
Author: `John Haugeland <stonecypher@gmail.com>`
|
|
177
251
|
|
|
178
|
-
*
|
|
252
|
+
* test(stoch): add arrow_decorations coverage + dragons-egg tracker
|
|
253
|
+
* 11 property-based tests asserting the free-ordered arrow-decoration
|
|
254
|
+
grammar (commit 1acbc62) is permutation-invariant on both sides of
|
|
255
|
+
an arrow and rejects per-kind duplicates. Lifts grammar stoch
|
|
256
|
+
coverage from 0/14 sections to 1/14.
|
|
257
|
+
* - notes/dragons-egg.md: living tracker so each new stoch test is
|
|
258
|
+
documented for the future dragon-tier pass.
|
|
259
|
+
- src/buildjs/ci_profile.cjs (+ ci_profile npm script): measure
|
|
260
|
+
wall-clock per CI phase for data-driven test-runner decisions.
|
|
261
|
+
- src/doc_md/todo.md: LLM-consumer instructions + image-CLI gallery
|
|
262
|
+
entries.
|
|
263
|
+
- .github/workflows/nodejs.yml: align unicode-atoms job to Node 24.
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
This is a typescript project that creates a library with a function, as well as a CLI.
|
|
2
|
+
|
|
3
|
+
Please write your code documentation in DocBlock.
|
|
4
|
+
|
|
5
|
+
When you create a function, please also create tests and code documentation, and update the base_README.
|
|
6
|
+
|
|
7
|
+
When you alter a function, please keep the code documentation docblock up to date, as well as the base_README.
|
|
8
|
+
|
|
9
|
+
Please do not attempt to change the package version unless you have been asked to. Being in /sc-commit counts as being asked to.
|
|
10
|
+
|
|
11
|
+
Please do not attempt to push code unless you have been asked to. Always ask before pushing code, even if you have been instructed to.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Migrating from `jssm-viz` to `jssm/viz`
|
|
2
|
+
|
|
3
|
+
Starting with **jssm 5.109.0**, the visualization library `jssm-viz` is part
|
|
4
|
+
of `jssm` itself, exposed as the `jssm/viz` subpath.
|
|
5
|
+
|
|
6
|
+
The standalone `jssm-viz` package is deprecated. It will continue to work
|
|
7
|
+
(via a thin shim that re-exports from `jssm/viz`) but receive no further
|
|
8
|
+
updates.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## TL;DR
|
|
15
|
+
|
|
16
|
+
Change every:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { fsl_to_svg_string } from 'jssm-viz';
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
to:
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { fsl_to_svg_string } from 'jssm/viz';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
That is the entire required change. The function signatures are unchanged.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## What's new in `jssm/viz`
|
|
35
|
+
|
|
36
|
+
### `fsl_to_svg_element` and `machine_to_svg_element`
|
|
37
|
+
|
|
38
|
+
Returns a parsed `SVGSVGElement` directly instead of a string, skipping the
|
|
39
|
+
`innerHTML = svg_string` step. Browser-only by default; in Node, requires
|
|
40
|
+
`configure({ DOMParser })`.
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import { fsl_to_svg_element } from 'jssm/viz';
|
|
44
|
+
|
|
45
|
+
const el = await fsl_to_svg_element('a -> b;');
|
|
46
|
+
document.getElementById('chart').appendChild(el);
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### `configure(opts)`
|
|
50
|
+
|
|
51
|
+
Optional one-time configuration entry point. Currently accepts a custom
|
|
52
|
+
`DOMParser` constructor for Node + jsdom usage of `*_svg_element`.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Under the hood
|
|
59
|
+
|
|
60
|
+
The visualization engine has been upgraded from `viz.js@2.1.2` (2018) to
|
|
61
|
+
`@viz-js/viz@3.x` (current). The new engine is ESM-native, has its own
|
|
62
|
+
TypeScript types, does not pollute window globals, and renders synchronously
|
|
63
|
+
after a one-time WASM initialization. Existing `*_svg_string` functions
|
|
64
|
+
still return promises — only the internal cold-start is async.
|
|
65
|
+
|
|
66
|
+
If you reached into `jssm-viz` internals (anything not in the documented
|
|
67
|
+
API), those internals have changed. The supported public API is unchanged.
|