@listen-fire/handbook 0.12.0-rc.5 → 0.12.0-rc.7
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/dist/chapters/foundations.js +23 -11
- package/dist/language_search.js +2 -2
- package/dist/prose_rules.js +1 -1
- package/dist/testing.js +2 -2
- package/package.json +4 -4
|
@@ -23,20 +23,32 @@ something reads like a special case, look for the position and the edge.
|
|
|
23
23
|
|
|
24
24
|
### language-versions
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
A
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
An automation is pinned to the language release its text was written against,
|
|
27
|
+
a version such as \`0.12.0\`. The automation validates, saves and runs under that
|
|
28
|
+
pin, and an edit never changes it; a new automation is pinned to the current
|
|
29
|
+
release. So check an edit to an existing automation under the release it is
|
|
30
|
+
pinned to, not the current one.
|
|
31
|
+
|
|
32
|
+
A release reads a pin that has its own compatibility key (the minor while the
|
|
33
|
+
version starts with 0, so \`0.12.0\` and \`0.12.3\` read alike; the major from 1.0)
|
|
34
|
+
and refuses any other by name:
|
|
35
|
+
|
|
36
|
+
- a pin newer than the engine is refused; upgrade the engine
|
|
37
|
+
- a pin of an older key is refused; validate the text under the current release,
|
|
38
|
+
then upgrade it
|
|
39
|
+
|
|
40
|
+
An \`lf\` project pins in \`lf.yaml\`'s \`engine:\` (\`lf init\` writes the current
|
|
41
|
+
release; \`lf upgrade\` moves it). An embedder pins with the run input's
|
|
42
|
+
\`languageVersion\`; absent means the engine's own release.
|
|
43
|
+
|
|
44
|
+
A warning on an automation says something keeps it on an older release: the
|
|
45
|
+
current release reports errors for its text, or marks a construct whose meaning
|
|
46
|
+
differs between the two releases, which blocks the move as surely as an error.
|
|
35
47
|
Other warnings, such as cost notes, never block. The automation keeps running as
|
|
36
48
|
it always has.
|
|
37
49
|
|
|
38
|
-
To upgrade one, repair what the current
|
|
39
|
-
validates
|
|
50
|
+
To upgrade one, repair what the current release reports — in text that still
|
|
51
|
+
validates under the older pin — then upgrade it: the check runs again, shows
|
|
40
52
|
what it finds, and moves the automation only when that is clean and the move is
|
|
41
53
|
confirmed. Only an upgrade someone requests moves an automation; a new release
|
|
42
54
|
never does.
|
package/dist/language_search.js
CHANGED
|
@@ -110,7 +110,7 @@ function spelling(entry) {
|
|
|
110
110
|
const CORE_SPELLING = { EXTRACT: 'extract', EXTRACTONE: 'extractOne' };
|
|
111
111
|
/** `Text.join` for `JOIN` — the name an author writes. */
|
|
112
112
|
function builtinName(entry) {
|
|
113
|
-
return spelling(entry)?.
|
|
113
|
+
return spelling(entry)?.current ?? CORE_SPELLING[entry.name] ?? entry.name;
|
|
114
114
|
}
|
|
115
115
|
const settingsParam = (keys) => ({ name: `settings { ${keys} }`, type: 'options', optional: true });
|
|
116
116
|
/** The registry's parameters in the order the author writes them. */
|
|
@@ -133,7 +133,7 @@ function writtenParams(entry) {
|
|
|
133
133
|
}
|
|
134
134
|
/** A summary names built-ins as the author writes them. */
|
|
135
135
|
function builtinSummary(entry) {
|
|
136
|
-
return (0, surface_1.spellMessage)(entry.summary
|
|
136
|
+
return (0, surface_1.spellMessage)(entry.summary);
|
|
137
137
|
}
|
|
138
138
|
/** `Text.join(collection: any, separator?: text) → text` — generated, never written. */
|
|
139
139
|
function builtinSignature(entry) {
|
package/dist/prose_rules.js
CHANGED
|
@@ -62,7 +62,7 @@ const NOT_RECOMMENDED = [
|
|
|
62
62
|
label: 'a `movement` declaration — declare with `function`',
|
|
63
63
|
},
|
|
64
64
|
{ pattern: /\bONLY\(\s*extract\(/i, label: '`only(extract(…))` — write `extractOne(…)`' },
|
|
65
|
-
//
|
|
65
|
+
// The current surface: the spellings it replaced, outside walk brackets.
|
|
66
66
|
{ pattern: /\bERROR\(/, label: '`ERROR(…)` — write `fail(…)`' },
|
|
67
67
|
{ pattern: /\(credentials:/, label: 'an adapter construction — write `connect attio using acme`' },
|
|
68
68
|
{ pattern: /\bIF\b[^\n]*\bTHEN\b/, label: '`IF … THEN … ELSE … END` — write `c ? a : b`' },
|
package/dist/testing.js
CHANGED
|
@@ -116,10 +116,10 @@ function admitProbe(claim, catalog = exports.HANDBOOK_CATALOG) {
|
|
|
116
116
|
catalog: files
|
|
117
117
|
? { ...catalog, files: Object.fromEntries(Object.entries(files).map(([path, source]) => [path, { source }])) }
|
|
118
118
|
: catalog,
|
|
119
|
-
languageVersion: movement_lang_1.
|
|
119
|
+
languageVersion: movement_lang_1.LANGUAGE_VERSION,
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
122
|
/** Only the parse the engine performs first: MOVENG_PARSE when it refuses. */
|
|
123
123
|
function parseProbe(claim) {
|
|
124
|
-
movement_engine_1.programCheck.parsePinned({ source: claim.probe, languageVersion: movement_lang_1.
|
|
124
|
+
movement_engine_1.programCheck.parsePinned({ source: claim.probe, languageVersion: movement_lang_1.LANGUAGE_VERSION });
|
|
125
125
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@listen-fire/handbook",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "0.12.0-rc.
|
|
4
|
+
"version": "0.12.0-rc.7",
|
|
5
5
|
"description": "The movement language's handbook: the hand-written chapters, the front page, the routes into them and the language search over them. A host adds its own systems' and plugins' sections on top (the platform assembles system:* and plugin:* chapters). `testing` is the catalog every shown example is checked against, for a host's tests of its own sections.",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": "22.20.0"
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
},
|
|
22
22
|
"type": "commonjs",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@listen-fire/engine": "^0.12.0-rc.
|
|
25
|
-
"@listen-fire/
|
|
26
|
-
"@listen-fire/
|
|
24
|
+
"@listen-fire/engine": "^0.12.0-rc.7",
|
|
25
|
+
"@listen-fire/movement-lang": "^0.12.0-rc.7",
|
|
26
|
+
"@listen-fire/engine-contracts": "^0.12.0-rc.7"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/jest": "29.5.14",
|