complete framework remediation validation
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
// WRN editor language server source hash: 65a5536efbc7c9fee15040559bb48afe78c4686fc5e7341ffc941cc7113c8556
|
||||
// WRN editor language server source hash: 4c7e59ebeb512e23d95f4169dd80da2b951ae39c31d31919994368b8e90f5cec
|
||||
// WRN editor language server generator hash: f593a44aaf05495b789ce7a3086bee1eebb951b884d41c0e017bbcfe5f547e72
|
||||
// @bun @bun-cjs
|
||||
(function(exports, require, module, __filename, __dirname) {var __create = Object.create;
|
||||
@@ -168786,6 +168786,10 @@ class Lexer {
|
||||
break;
|
||||
}
|
||||
}
|
||||
startsWithBlockComment() {
|
||||
this.skipTrivia();
|
||||
return this.src[this.pos] === "/" && this.src[this.pos + 1] === "*";
|
||||
}
|
||||
next() {
|
||||
this.skipTrivia();
|
||||
const { src } = this;
|
||||
@@ -170521,7 +170525,12 @@ function parse(source) {
|
||||
case "props": {
|
||||
lx.next();
|
||||
expect("lbrace");
|
||||
while (lx.peek().type !== "rbrace") {
|
||||
while (true) {
|
||||
if (lx.startsWithBlockComment()) {
|
||||
throw new ParseError("Block comments are not allowed inside props {}; use // line comments instead", "WRN-PROPS-BLOCK-COMMENT");
|
||||
}
|
||||
if (lx.peek().type === "rbrace")
|
||||
break;
|
||||
const t = lx.peek();
|
||||
if (t.type === "eof")
|
||||
throw new ParseError("Unexpected end of input inside props");
|
||||
@@ -170880,6 +170889,9 @@ function parse(source) {
|
||||
}
|
||||
expect("rbrace");
|
||||
const declaredStates = new Set(states.map((state) => state.name));
|
||||
if (declaredStates.has("page")) {
|
||||
throw new ParseError("State name 'page' collides with the WRN 'page' keyword; choose another state name", "WRN-STATE-RESERVED-NAME");
|
||||
}
|
||||
for (const watcher of watches) {
|
||||
if (!declaredStates.has(watcher.state)) {
|
||||
throw new ParseError(`Cannot watch undeclared state '${watcher.state}'`);
|
||||
|
||||
Reference in New Issue
Block a user