@dallaylaen/ski-interpreter 2.6.2 → 2.7.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,37 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.7.0] - 2026-04-03
9
+
10
+ ### BREAKING CHANGES
11
+
12
+ - Remove `SKI.schemas`.
13
+
14
+ ### Added
15
+
16
+ - `SKI.extras.checkFormatOptions` that returns { value: FormatOptions }
17
+ or { error: object } for validating format options.
18
+ - Rendered documentation at https://dallaylaen.github.io/ski-interpreter/man
19
+
20
+ ### Changed
21
+ - Way better core documentation
22
+ - Removed [zod](https://www.npmjs.com/package/zod) dependency
23
+ for good, seems like overkill here.
24
+
25
+ ## [2.6.3] - 2026-03-30
26
+
27
+ ### Added
28
+
29
+ - Quest cases now support `{ canonize: { max: number } }` option
30
+ to canonize terms before comparing.
31
+ This was added to cut off excessive `I(I(I(...)))`
32
+ in non-normalizable solutions.
33
+
34
+ ### Fixed
35
+
36
+ - Quests: Turing bird (wrong def) and Y combinator (was not accepting some valid solutions) fixed.
37
+ - Exposed more types supposed to be exposed all along.
38
+
8
39
  ## [2.6.2] - 2026-03-29
9
40
 
10
41
  ### Added
package/README.md CHANGED
@@ -124,6 +124,8 @@ will start a node shell with the `SKI` class available as a global variable.
124
124
 
125
125
  # Usage
126
126
 
127
+ See the [complete API reference](https://dallaylaen.github.io/ski-interpreter/man/) for gory details.
128
+
127
129
  ## A minimal example
128
130
 
129
131
  ```javascript
package/bin/ski.js CHANGED
@@ -8,6 +8,7 @@ const { Quest } = SKI;
8
8
  const { version } = require('../package.json');
9
9
 
10
10
  const runOptions = {};
11
+ /** @type FormatOptions */
11
12
  let format = {};
12
13
  let verbose = false;
13
14
 
@@ -389,7 +390,10 @@ function handleCommand (input, ski) {
389
390
  }
390
391
 
391
392
  function setFormat (options) {
392
- format = SKI.schemas.FormatOptions.parse(JSON.parse(options));
393
+ const maybe = SKI.extras.checkFormatOptions(JSON.parse(options));
394
+ if (!maybe.value)
395
+ throw new Error('Invalid format options: ' + JSON.stringify(maybe.error));
396
+ format = maybe.value;
393
397
  }
394
398
 
395
399
  function toInt (comment) {