@velarscript/web 0.29.2 → 0.30.1
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/README.md +10 -2
- package/dist/analysis/look-values.d.ts +76 -1
- package/dist/analysis/look-values.d.ts.map +1 -1
- package/dist/analysis/look-values.js +193 -0
- package/dist/analysis/look-values.js.map +1 -1
- package/dist/analysis/reactive-names.d.ts +50 -0
- package/dist/analysis/reactive-names.d.ts.map +1 -0
- package/dist/analysis/reactive-names.js +199 -0
- package/dist/analysis/reactive-names.js.map +1 -0
- package/dist/analysis/watch-cycles.d.ts +28 -0
- package/dist/analysis/watch-cycles.d.ts.map +1 -1
- package/dist/analysis/watch-cycles.js +47 -0
- package/dist/analysis/watch-cycles.js.map +1 -1
- package/dist/analyzer.d.ts +5 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +50 -60
- package/dist/analyzer.js.map +1 -1
- package/dist/compiler.d.ts +1 -1
- package/dist/compiler.js +2 -2
- package/dist/compiler.js.map +1 -1
- package/dist/css-string.d.ts +4 -10
- package/dist/css-string.d.ts.map +1 -1
- package/dist/css-string.js +4 -27
- package/dist/css-string.js.map +1 -1
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +11 -2090
- package/dist/emitter.js.map +1 -1
- package/dist/lexer.js +63 -43
- package/dist/lexer.js.map +1 -1
- package/dist/look-static.d.ts +15 -1
- package/dist/look-static.d.ts.map +1 -1
- package/dist/look-static.js +30 -11
- package/dist/look-static.js.map +1 -1
- package/dist/look.d.ts +4 -4
- package/dist/look.d.ts.map +1 -1
- package/dist/look.js +4 -4
- package/dist/look.js.map +1 -1
- package/dist/parser.js +1 -2
- package/dist/parser.js.map +1 -1
- package/dist/runtime-sources.generated.d.ts +89 -0
- package/dist/runtime-sources.generated.d.ts.map +1 -0
- package/dist/runtime-sources.generated.js +96 -0
- package/dist/runtime-sources.generated.js.map +1 -0
- package/dist/runtime.d.ts +18 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +31 -3742
- package/dist/runtime.js.map +1 -1
- package/package.json +3 -3
- package/dist/browser-host-runtime.d.ts +0 -23
- package/dist/browser-host-runtime.d.ts.map +0 -1
- package/dist/browser-host-runtime.js +0 -29
- package/dist/browser-host-runtime.js.map +0 -1
- package/dist/reactive-bridge-runtime.d.ts +0 -6
- package/dist/reactive-bridge-runtime.d.ts.map +0 -1
- package/dist/reactive-bridge-runtime.js +0 -114
- package/dist/reactive-bridge-runtime.js.map +0 -1
- package/dist/realtime-client-runtime.d.ts +0 -3
- package/dist/realtime-client-runtime.d.ts.map +0 -1
- package/dist/realtime-client-runtime.js +0 -382
- package/dist/realtime-client-runtime.js.map +0 -1
- package/dist/runtime-foundation.d.ts +0 -7
- package/dist/runtime-foundation.d.ts.map +0 -1
- package/dist/runtime-foundation.js +0 -1676
- package/dist/runtime-foundation.js.map +0 -1
- package/dist/websocket-runtime.d.ts +0 -2
- package/dist/websocket-runtime.d.ts.map +0 -1
- package/dist/websocket-runtime.js +0 -37
- package/dist/websocket-runtime.js.map +0 -1
- package/dist/worker-runtime.d.ts +0 -2
- package/dist/worker-runtime.d.ts.map +0 -1
- package/dist/worker-runtime.js +0 -83
- package/dist/worker-runtime.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-cycles.d.ts","sourceRoot":"","sources":["../../src/analysis/watch-cycles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch-cycles.d.ts","sourceRoot":"","sources":["../../src/analysis/watch-cycles.ts"],"names":[],"mappings":"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"}
|
|
@@ -297,4 +297,51 @@ export function finallySelfWrite(subject, place, statement, writes, root) {
|
|
|
297
297
|
}
|
|
298
298
|
return null;
|
|
299
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* D114 P6 item 6 (ST-U2): the VEL5077 message a plain body statement earns for
|
|
302
|
+
* writing the state that the watched `computed` is computed from, or null.
|
|
303
|
+
*
|
|
304
|
+
* The charter's exclusion -- "a write of a different state leaves the watch
|
|
305
|
+
* untouched" -- read this shape as untouched, and it is not: `doubled` is
|
|
306
|
+
* `count`, one hop away, so a write of `count` at the top of the body
|
|
307
|
+
* invalidates `doubled` and re-triggers the watch. The runtime saw it only as a
|
|
308
|
+
* task that ran out of observer budget after 50,000 rounds, with no line to
|
|
309
|
+
* point at.
|
|
310
|
+
*
|
|
311
|
+
* Every limit the ruling names is a condition here rather than a caveat in a
|
|
312
|
+
* comment: the subject is a plain name this module declares as `computed`
|
|
313
|
+
* exactly once (a cross-module source is not in `derivations`), the write's root
|
|
314
|
+
* is a name this module declares as `state` exactly once, and that state is one
|
|
315
|
+
* the computed reads on every evaluation and directly -- a second `computed` in
|
|
316
|
+
* between contributes its own name, not the state under it, so a two-hop chain
|
|
317
|
+
* is not this refusal's.
|
|
318
|
+
*
|
|
319
|
+
* Shadowing is closed from both sides, because a name is not a binding. The
|
|
320
|
+
* module-wide roster answers "declared once", so a component that declares its
|
|
321
|
+
* own `state` of the same name makes the question unanswerable and nothing is
|
|
322
|
+
* reported; `writesState` answers "the write here really is a write of reactive
|
|
323
|
+
* state", resolved lexically, so an ordinary `let` of that spelling in front of
|
|
324
|
+
* the watch is not one. Only a write that passes both is the one the computed
|
|
325
|
+
* read.
|
|
326
|
+
*/
|
|
327
|
+
export function watchDerivedSourceWrite(subject, statement, derivations, states, writesState) {
|
|
328
|
+
if (subject.kind !== "IdentifierExpression")
|
|
329
|
+
return null;
|
|
330
|
+
const sources = derivations.get(subject.name);
|
|
331
|
+
if (sources === undefined || sources === null)
|
|
332
|
+
return null;
|
|
333
|
+
const write = reactiveWriteCandidate(statement);
|
|
334
|
+
// A mutating call writes *through* the value the state holds; the write this
|
|
335
|
+
// refusal is about is the one that replaces what the computed read.
|
|
336
|
+
if (write === null || write.method !== null || write.place.steps.length > 0)
|
|
337
|
+
return null;
|
|
338
|
+
const written = write.place.root;
|
|
339
|
+
if (written === subject.name || !sources.has(written) || states.get(written) !== true)
|
|
340
|
+
return null;
|
|
341
|
+
if (!writesState(written))
|
|
342
|
+
return null;
|
|
343
|
+
return `This watch writes '${written}' at the top of its body, and '${subject.name}' is computed from '${written}',`
|
|
344
|
+
+ ` so writing '${written}' re-triggers this watch and the runtime stops the task when it runs out of observer budget;`
|
|
345
|
+
+ ` write the condition that ends it, or watch '${written}' and derive what this body needs from it`;
|
|
346
|
+
}
|
|
300
347
|
//# sourceMappingURL=watch-cycles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-cycles.js","sourceRoot":"","sources":["../../src/analysis/watch-cycles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch-cycles.js","sourceRoot":"","sources":["../../src/analysis/watch-cycles.ts"],"names":[],"mappings":"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"}
|
package/dist/analyzer.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare class VelarWebAnalyzer extends Analyzer {
|
|
|
22
22
|
private readonly unsafeCssImports;
|
|
23
23
|
private readonly probedOperandTypes;
|
|
24
24
|
private readonly importedLookStaticValues;
|
|
25
|
-
private
|
|
25
|
+
private lookStatic;
|
|
26
26
|
private readonly lookEntryScopes;
|
|
27
27
|
private readonly derivedReactiveNames;
|
|
28
28
|
private readonly checkedBuilderCalls;
|
|
@@ -54,6 +54,10 @@ export declare class VelarWebAnalyzer extends Analyzer {
|
|
|
54
54
|
private readonly resourceBindingSpans;
|
|
55
55
|
/** D114 W A2(b): this module's `action` and `async def` bodies by name. */
|
|
56
56
|
private reactiveWriters;
|
|
57
|
+
/** D114 P6 item 6 (ST-U2): each same-module `computed` and the names it reads on every evaluation. */
|
|
58
|
+
private reactiveDerivations;
|
|
59
|
+
/** Each `state` this module declares, false where the name is declared twice. */
|
|
60
|
+
private reactiveStateNames;
|
|
57
61
|
/** Local names bound to an imported `export computed`, from the Web interface. */
|
|
58
62
|
private readonly importedComputedNames;
|
|
59
63
|
/** The resolved spans of those imports, so a local shadow of the name is not one. */
|
package/dist/analyzer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,UAAU,EAA2C,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClK,OAAO,EACL,QAAQ,EAgBR,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,UAAU,EAEf,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/analyzer.js
CHANGED
|
@@ -3,17 +3,18 @@ import { Analyzer, anyType, boolType, describeType, expressionContainsDirectAwai
|
|
|
3
3
|
import { BROWSER_TEST_MODULE, BROWSER_TEST_SOURCE_SUFFIX, browserTestImportGuidance } from "./browser-test.js";
|
|
4
4
|
import { cssTokens } from "./css-tokens.js";
|
|
5
5
|
import { LOOK_ABSENT_MEDIA_SUBJECTS, LOOK_ARITHMETIC_HINT, LOOK_ANIMATION_DIRECTIONS, LOOK_ANIMATION_EASINGS, LOOK_ANIMATION_FILLS, LOOK_BORDER_STYLE_NAMES, LOOK_BUILDER_NUMERIC_RANGES, LOOK_BUILDER_SIGNATURES, LOOK_BUILDERS, LOOK_EXCLUDED_PROPERTIES, LOOK_HOOKS, LOOK_CSS_WIDE_KEYWORDS, LOOK_COLOR_KEYWORDS, LOOK_LARGE_KEYWORD_SETS, LOOK_LENGTH_BUILDERS, LOOK_MEDIA_LENGTH_UNITS, LOOK_MEDIA_SUBJECTS, LOOK_NUMERIC_TYPE_NAMES, LOOK_NON_ANIMATABLE_PROPERTIES, LOOK_PARTIAL_KEYWORD_PROPERTIES, LOOK_PROPERTIES, LOOK_PROPERTY_KEYWORDS, LOOK_PROPERTY_VALUE_KINDS, LOOK_SHARED_METRIC_KEYWORDS, LOOK_TARGETS, LOOK_TOKEN_NAME_RULE, LOOK_TOKEN_NO_FALLBACK_GUIDANCE, LOOK_UNIT_TYPES, LOOK_UNITLESS_PROPERTIES, isLookTokenName, isLookVarReference, lookOwnKeywords, lookShorthandOverlap, lookShorthandParts, lookTokenReference, lookVarReferenceName, nearestLookName, } from "./look.js";
|
|
6
|
-
import {
|
|
6
|
+
import { collectLookStaticScope, evaluateLookStaticExpression, isLookStaticValue, lookStaticCss } from "./look-static.js";
|
|
7
7
|
import { keyframeCssValue } from "./keyframes.js";
|
|
8
8
|
import { componentCallRefusal, componentRefHandleRefusal, componentSectionCountDiagnostics, watchedResourceSurfaceRefusal } from "./analysis/component-guidance.js";
|
|
9
|
-
import { foldedLengthPercentage, isLookNumericType, lookAdditiveType } from "./analysis/look-values.js";
|
|
9
|
+
import { foldedLengthPercentage, isLookNumericType, lookAdditiveType, teachLookLengthSlot, teachLookPercentageSlot } from "./analysis/look-values.js";
|
|
10
10
|
import { collectPublicConfigNames, declaredPublicConfig, publicConfigDiagnostic } from "./analysis/public-config.js";
|
|
11
|
+
import { collectDerivedReactiveNames, collectReactiveDerivations, collectReactiveStateNames, isRetiredAccessorName } from "./analysis/reactive-names.js";
|
|
11
12
|
import { byCodeUnit } from "./stable-order.js";
|
|
12
13
|
import { dynamicChildLeaves, JSX_SCALAR_TEXT_HINT } from "./emitter.js";
|
|
13
14
|
import { isWebCustomElementName, WEB_ARIA_ATTRIBUTES, WEB_ARIA_ENUMERATED_VALUES, WEB_ARIA_ROLES, WEB_ARIA_ROLE_SYNONYMS, WEB_BOOL_PRESENCE_HTML_ATTRIBUTES, WEB_HTML_ELEMENTS, WEB_MISSPELLED_ATTRIBUTES, WEB_NATIVE_ELEMENTS, } from "./elements.js";
|
|
14
15
|
import { isWebExpression, isWebJsx, isWebKeyframes, isWebLook, isWebStatement, isWebUnit, } from "./ast.js";
|
|
15
16
|
import { isWebComponentConstructor, isWebComponentType, isWebComputedExport, isWebNodeType, normalizeWebComponentType, webComponentConstructor, webComponentHandle, webComponentIntrinsic, webComponentName, webNodeType, WEB_EVENT_TYPE_NAMES, WEB_OWNED_TYPE_NAMES, } from "./types.js";
|
|
16
|
-
import { collectionMutators, collectReactiveWriters, finallySelfWrite, reactivePathOf, reactivePathRoot, statementBindsName, topLevelCall, watchSelfWrite, writerWritesPath, } from "./analysis/watch-cycles.js";
|
|
17
|
+
import { collectionMutators, collectReactiveWriters, finallySelfWrite, reactivePathOf, reactivePathRoot, watchDerivedSourceWrite, statementBindsName, topLevelCall, watchSelfWrite, writerWritesPath, } from "./analysis/watch-cycles.js";
|
|
17
18
|
// The canonical nominal identity of the Web RouteContext record. Route checks
|
|
18
19
|
// probe with this identity so they succeed in modules that use route() without
|
|
19
20
|
// importing RouteContext by name.
|
|
@@ -842,38 +843,6 @@ function lookConditionTerms(expression, negated, staticValues) {
|
|
|
842
843
|
const atom = lookConditionAtom(expression, negated, staticValues);
|
|
843
844
|
return [[atom ?? `rt:${negated ? "!" : ""}${lookRuntimeSignature(expression)}`]];
|
|
844
845
|
}
|
|
845
|
-
/**
|
|
846
|
-
* Every name in a module or component body whose read is reactive but whose
|
|
847
|
-
* binding is not itself a state/prop reference: a computed accessor, a resource
|
|
848
|
-
* handle, an action handle. A Look literal that reads one of these freezes it
|
|
849
|
-
* exactly as it freezes a state read (LOK-D1).
|
|
850
|
-
*
|
|
851
|
-
* The retired `computed(...)` accessor stays in the callee test even though it
|
|
852
|
-
* is not a global any more (D71 replaced it with the declaration): analysis
|
|
853
|
-
* after a migration diagnostic still has to stay coherent, so the name a
|
|
854
|
-
* retired declaration binds is treated as derived exactly as it was before.
|
|
855
|
-
*/
|
|
856
|
-
function collectDerivedReactiveNames(program) {
|
|
857
|
-
const names = new Set();
|
|
858
|
-
const record = (statements) => {
|
|
859
|
-
for (const statement of statements) {
|
|
860
|
-
if (statement.kind === "VariableDeclaration" && statement.pattern.kind === "NameBindingPattern"
|
|
861
|
-
&& statement.initializer.kind === "CallExpression" && statement.initializer.callee.kind === "IdentifierExpression"
|
|
862
|
-
&& isRetiredAccessorName(statement.initializer.callee.name)) {
|
|
863
|
-
names.add(statement.pattern.name);
|
|
864
|
-
continue;
|
|
865
|
-
}
|
|
866
|
-
if (!isWebStatement(statement))
|
|
867
|
-
continue;
|
|
868
|
-
if (statement.kind === "ExtensionStatement:web:resource" || statement.kind === "ExtensionStatement:web:action")
|
|
869
|
-
names.add(statement.name);
|
|
870
|
-
if (statement.kind === "ExtensionStatement:web:component")
|
|
871
|
-
record(statement.body);
|
|
872
|
-
}
|
|
873
|
-
};
|
|
874
|
-
record(program.body);
|
|
875
|
-
return names;
|
|
876
|
-
}
|
|
877
846
|
/**
|
|
878
847
|
* Every `const name = look:` in the module, wherever it is written. A name
|
|
879
848
|
* declared twice maps to null: two different Look literals under one name make
|
|
@@ -1140,10 +1109,6 @@ const RETIRED_ACCESSOR_TYPE = Object.freeze({
|
|
|
1140
1109
|
requiredParameters: 1,
|
|
1141
1110
|
result: retiredAccessorReaderType,
|
|
1142
1111
|
});
|
|
1143
|
-
/** The function spelling of a derived value; `computed` the declaration is what it becomes. */
|
|
1144
|
-
function isRetiredAccessorName(name) {
|
|
1145
|
-
return name === "computed";
|
|
1146
|
-
}
|
|
1147
1112
|
/**
|
|
1148
1113
|
* D90 R15(a): a watch subject names a place in the reactive graph — the name of
|
|
1149
1114
|
* a `state` or a `computed`, or a read path out of one — and never computes a
|
|
@@ -1750,7 +1715,7 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
1750
1715
|
unsafeCssImports = new Set();
|
|
1751
1716
|
probedOperandTypes = new Map();
|
|
1752
1717
|
importedLookStaticValues;
|
|
1753
|
-
|
|
1718
|
+
lookStatic = { values: new Map(), sites: new Map() };
|
|
1754
1719
|
lookEntryScopes = new Map();
|
|
1755
1720
|
derivedReactiveNames = new Set();
|
|
1756
1721
|
checkedBuilderCalls = new Set();
|
|
@@ -1782,6 +1747,10 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
1782
1747
|
resourceBindingSpans = new Set();
|
|
1783
1748
|
/** D114 W A2(b): this module's `action` and `async def` bodies by name. */
|
|
1784
1749
|
reactiveWriters = new Map();
|
|
1750
|
+
/** D114 P6 item 6 (ST-U2): each same-module `computed` and the names it reads on every evaluation. */
|
|
1751
|
+
reactiveDerivations = new Map();
|
|
1752
|
+
/** Each `state` this module declares, false where the name is declared twice. */
|
|
1753
|
+
reactiveStateNames = new Map();
|
|
1785
1754
|
/** Local names bound to an imported `export computed`, from the Web interface. */
|
|
1786
1755
|
importedComputedNames;
|
|
1787
1756
|
/** The resolved spans of those imports, so a local shadow of the name is not one. */
|
|
@@ -1815,7 +1784,7 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
1815
1784
|
this.importedComputedNames = new Set(webImports.filter(([, value]) => isWebComputedExport(value)).map(([name]) => name));
|
|
1816
1785
|
}
|
|
1817
1786
|
analyze(program) {
|
|
1818
|
-
this.
|
|
1787
|
+
this.lookStatic = collectLookStaticScope(program, this.importedLookStaticValues);
|
|
1819
1788
|
this.lookBuilderNames = collectLookBuilderNames(program);
|
|
1820
1789
|
this.publicConfigNames = collectPublicConfigNames(program);
|
|
1821
1790
|
this.lookImport = collectLookImportSite(program);
|
|
@@ -1828,6 +1797,8 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
1828
1797
|
this.keyedListRebuilds.length = 0;
|
|
1829
1798
|
this.moduleFunctions = collectModuleFunctions(program);
|
|
1830
1799
|
this.reactiveWriters = collectReactiveWriters(program);
|
|
1800
|
+
this.reactiveDerivations = collectReactiveDerivations(program);
|
|
1801
|
+
this.reactiveStateNames = collectReactiveStateNames(program);
|
|
1831
1802
|
super.analyze(program);
|
|
1832
1803
|
this.reportStaticJsxKeys();
|
|
1833
1804
|
this.reportRetiredComputedFunction();
|
|
@@ -2543,6 +2514,11 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
2543
2514
|
this.diagnostics.push(diagnostic("VEL5077", inFinally.message, inFinally.span));
|
|
2544
2515
|
return;
|
|
2545
2516
|
}
|
|
2517
|
+
const hop = watchDerivedSourceWrite(subject, statement, this.reactiveDerivations, this.reactiveStateNames, (name) => this.reactiveBindingKind(name) === "state");
|
|
2518
|
+
if (hop !== null) {
|
|
2519
|
+
this.diagnostics.push(diagnostic("VEL5077", hop, statement.span));
|
|
2520
|
+
return;
|
|
2521
|
+
}
|
|
2546
2522
|
const call = topLevelCall(statement);
|
|
2547
2523
|
if (call === null)
|
|
2548
2524
|
continue;
|
|
@@ -3266,8 +3242,8 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3266
3242
|
if (inheritedTerms * Math.max(thenTerms, elseTerms) > LOOK_CONDITION_TERM_LIMIT) {
|
|
3267
3243
|
this.diagnostics.push(diagnostic("VEL5045", `A Look condition may expand to at most ${LOOK_CONDITION_TERM_LIMIT} selector/runtime terms; split this visual decision into ordinary values`, entry.condition.span));
|
|
3268
3244
|
}
|
|
3269
|
-
const thenKey = lookConditionKey(entry.condition, false, this.
|
|
3270
|
-
const elseKey = lookConditionKey(entry.condition, true, this.
|
|
3245
|
+
const thenKey = lookConditionKey(entry.condition, false, this.lookStatic.values);
|
|
3246
|
+
const elseKey = lookConditionKey(entry.condition, true, this.lookStatic.values);
|
|
3271
3247
|
this.analyzeLookEntries(entry.thenEntries, insideTarget, true, Math.min(LOOK_CONDITION_TERM_LIMIT, inheritedTerms * thenTerms), `${scopeKey}&${thenKey}`);
|
|
3272
3248
|
this.analyzeLookEntries(entry.elseEntries, insideTarget, true, Math.min(LOOK_CONDITION_TERM_LIMIT, inheritedTerms * elseTerms), `${scopeKey}&${elseKey}`);
|
|
3273
3249
|
continue;
|
|
@@ -3367,9 +3343,8 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3367
3343
|
* module compiles; dynamic arguments keep the runtime guard.
|
|
3368
3344
|
*/
|
|
3369
3345
|
checkLookBuilderCall(expression) {
|
|
3370
|
-
const
|
|
3371
|
-
|
|
3372
|
-
: undefined;
|
|
3346
|
+
const callee = expression.callee.kind === "IdentifierExpression" ? expression.callee.name : "";
|
|
3347
|
+
const builder = this.lookBuilderNames.get(callee);
|
|
3373
3348
|
if (!builder)
|
|
3374
3349
|
return;
|
|
3375
3350
|
const key = spanIdentity(expression.span);
|
|
@@ -3393,7 +3368,12 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3393
3368
|
// table: `rgba(0, 0, 0, alpha=2)` compiled clean while `rgba(0, 0, 0, 2)`
|
|
3394
3369
|
// was refused.
|
|
3395
3370
|
const parameters = LOOK_BUILDER_SIGNATURES.get(builder)?.parameters;
|
|
3371
|
+
// LOK-D3: which slots take a length is the builder's own published type,
|
|
3372
|
+
// read from the binding this call resolved through — the declaration core's
|
|
3373
|
+
// assignability check refused against — and not a second table of positions.
|
|
3374
|
+
const declared = this.expandAliases(this.lookup(callee)?.type ?? { kind: "unknown" });
|
|
3396
3375
|
const before = this.diagnostics.length;
|
|
3376
|
+
let taught = false;
|
|
3397
3377
|
for (const [index, argument] of expression.arguments.entries()) {
|
|
3398
3378
|
const named = expression.argumentNames?.[index] ?? null;
|
|
3399
3379
|
const position = named === null ? index : parameters?.indexOf(named) ?? -1;
|
|
@@ -3403,22 +3383,32 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3403
3383
|
// folded value rather than the literal node is what makes the promise
|
|
3404
3384
|
// "a computed argument keeps the same check" true where the run time the
|
|
3405
3385
|
// charter names does not exist.
|
|
3406
|
-
const folded = evaluateLookStaticExpression(argument, this.
|
|
3386
|
+
const folded = evaluateLookStaticExpression(argument, this.lookStatic.values);
|
|
3407
3387
|
const literal = folded?.kind === "number" ? folded.value : null;
|
|
3408
|
-
|
|
3409
|
-
|
|
3388
|
+
// D114 P6 item 2 (LK-I3): a slot whose domain carries a unit states its
|
|
3389
|
+
// bound in that unit and reads the value out of the unit's own number, so
|
|
3390
|
+
// `hsl(200, 120%, 50%)` is refused in the same VEL5042 wording that
|
|
3391
|
+
// refused `hsl(200, 120, 50)` before the slot became a `Percentage`.
|
|
3392
|
+
const rangeUnit = range?.[3];
|
|
3393
|
+
const ranged = rangeUnit === undefined ? literal
|
|
3394
|
+
: folded?.kind === "unit" && folded.unit === rangeUnit ? folded.value : null;
|
|
3395
|
+
if (range && ranged !== null && (ranged < range[1] || ranged > range[2])) {
|
|
3396
|
+
const unit = rangeUnit ?? "";
|
|
3397
|
+
this.diagnostics.push(diagnostic("VEL5042", `${range[0]} must be from ${range[1]}${unit} through ${range[2]}${unit}; ${builder} received ${ranged}${unit}`, argument.span));
|
|
3410
3398
|
}
|
|
3399
|
+
if (rangeUnit === "%" && literal !== null && teachLookPercentageSlot(this.diagnostics, range[0], argument, literal, this.lookStatic.sites))
|
|
3400
|
+
taught = true;
|
|
3411
3401
|
const nonNegativeBlur = (builder === "blur" && position === 0) || (builder === "dropShadow" && position === 2);
|
|
3412
3402
|
if (nonNegativeBlur && folded?.kind === "unit" && folded.value < 0) {
|
|
3413
3403
|
this.diagnostics.push(diagnostic("VEL5042", `${builder} blur cannot be negative`, argument.span));
|
|
3414
3404
|
}
|
|
3415
3405
|
// LOK-D3, builder half: a unitless number in a length position is dead
|
|
3416
|
-
// CSS exactly as it is on a property
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
this.diagnostics
|
|
3421
|
-
|
|
3406
|
+
// CSS exactly as it is on a property — except in a slot whose own type
|
|
3407
|
+
// refuses the number outright, where core's refusal is already the report
|
|
3408
|
+
// and gains the remedy rather than a neighbour.
|
|
3409
|
+
if (LOOK_LENGTH_BUILDERS.has(builder) && literal !== null
|
|
3410
|
+
&& teachLookLengthSlot(this.diagnostics, builder, position, declared, argument, literal, this.lookStatic.sites))
|
|
3411
|
+
taught = true;
|
|
3422
3412
|
if (builder === "border" && position === 2 && argument.kind === "LiteralExpression" && typeof argument.value === "string"
|
|
3423
3413
|
&& !LOOK_BORDER_STYLE_NAMES.has(argument.value)) {
|
|
3424
3414
|
this.diagnostics.push(diagnostic("VEL5042", `Border style '${argument.value}' is not a CSS border style; use one of ${[...LOOK_BORDER_STYLE_NAMES].join(", ")}`, argument.span));
|
|
@@ -3444,8 +3434,8 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3444
3434
|
if (builder === "filters" && expression.arguments.length > 64) {
|
|
3445
3435
|
this.diagnostics.push(diagnostic("VEL5042", "filters cannot compose more than 64 values", expression.span));
|
|
3446
3436
|
}
|
|
3447
|
-
// D114 0.29.0 LK-I2: a call its own argument check refused is recorded so a `keyframes:` stop can drop the consequence. The record is the call rather than the code, because a bad token name and a stop's one-declaration rule are two facts about one value (D103-2) and both are still reported.
|
|
3448
|
-
if (this.diagnostics.length > before)
|
|
3437
|
+
// D114 0.29.0 LK-I2: a call its own argument check refused is recorded so a `keyframes:` stop can drop the consequence. The record is the call rather than the code, because a bad token name and a stop's one-declaration rule are two facts about one value (D103-2) and both are still reported. A slot lesson written *into* core's refusal grows no diagnostic, so it says so itself.
|
|
3438
|
+
if (taught || this.diagnostics.length > before)
|
|
3449
3439
|
this.refusedBuilderCalls.push(expression.span);
|
|
3450
3440
|
}
|
|
3451
3441
|
/**
|
|
@@ -3591,7 +3581,7 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3591
3581
|
// is wrong with it, and "does not resolve to static CSS" is only the consequence —
|
|
3592
3582
|
// a sentence that sends its author looking for a rule against named arguments in
|
|
3593
3583
|
// a stop, which there is not (`spread=2px` in range compiles).
|
|
3594
|
-
if (keyframeCssValue(entry.value, this.
|
|
3584
|
+
if (keyframeCssValue(entry.value, this.lookStatic.values) === null && !this.refusedBuilderCallWithin(entry.value.span)) {
|
|
3595
3585
|
this.diagnostics.push(diagnostic("VEL5060", "A keyframe value must resolve to static CSS from literals, unit values, arithmetic, velar/look builders, or const bindings — local or imported — that hold any of those, and the text it resolves to must read as one declaration value: no ';', '{', '}', or '@' outside a string, with parentheses, strings, and comments all closed", entry.value.span));
|
|
3596
3586
|
}
|
|
3597
3587
|
if (mentionsLookUnitType(expected) && lookLiteralZero(entry.value))
|
|
@@ -3940,7 +3930,7 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
3940
3930
|
foldedLookKeyword(value) {
|
|
3941
3931
|
if (value.kind !== "IdentifierExpression" && value.kind !== "MemberExpression")
|
|
3942
3932
|
return null;
|
|
3943
|
-
const folded = evaluateLookStaticExpression(value, this.
|
|
3933
|
+
const folded = evaluateLookStaticExpression(value, this.lookStatic.values);
|
|
3944
3934
|
if (folded?.kind !== "css" || !/^[A-Za-z][A-Za-z0-9-]*$/u.test(folded.value))
|
|
3945
3935
|
return null;
|
|
3946
3936
|
return [folded.value];
|
|
@@ -4018,7 +4008,7 @@ export class VelarWebAnalyzer extends Analyzer {
|
|
|
4018
4008
|
return boolType;
|
|
4019
4009
|
}
|
|
4020
4010
|
checkViewportThreshold(value) {
|
|
4021
|
-
const threshold = evaluateLookStaticExpression(value, this.
|
|
4011
|
+
const threshold = evaluateLookStaticExpression(value, this.lookStatic.values);
|
|
4022
4012
|
if (threshold?.kind !== "unit") {
|
|
4023
4013
|
this.diagnostics.push(diagnostic("VEL5052", "A viewport breakpoint must resolve at compile time to a px, rem, or em value; use a const unit token or an imported const unit token", value.span));
|
|
4024
4014
|
}
|