chore: restore production release gate
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
// WRN editor language server source hash: 3c6060ff9db332cf1dc01a467d795fb2d002300400072a4b87437c48d61ab7f9
|
||||
// WRN editor language server source hash: 7d485053c38631885fd8d53d84d92f0ef02893d99d0f6c0553d6839971dd7ac5
|
||||
// WRN editor language server generator hash: f593a44aaf05495b789ce7a3086bee1eebb951b884d41c0e017bbcfe5f547e72
|
||||
// @bun @bun-cjs
|
||||
(function(exports, require, module, __filename, __dirname) {var __create = Object.create;
|
||||
@@ -173103,6 +173103,7 @@ function virtualTypeScriptModule(source, filePath = "component.wrn", appRoot = f
|
||||
append(`declare const api: { ${apiType} };`);
|
||||
append(`declare const props: Readonly<${ast.name}Props>;`);
|
||||
append("declare const refs: Record<string, Element | null>;");
|
||||
append("declare function useFetch(path: string, method?: string | { method?: string; query?: unknown; params?: unknown; body?: unknown; data?: unknown }, input?: unknown): Promise<any>;");
|
||||
append(ast.kind === "global-store" || ast.kind === "page-store" ? storeContract(ast) : componentContract(ast));
|
||||
append(importedWrnDeclarations(ast, filePath, appRoot));
|
||||
const sharedNames = new Set(ast.runtimeFunctions.filter((fn) => fn.runtime === "shared").map((fn) => fn.name));
|
||||
@@ -173119,6 +173120,49 @@ ${sharedAliases}`);
|
||||
append(functionDeclaration(fn), fn.source);
|
||||
append("}");
|
||||
}
|
||||
const viewFunctions = new Map;
|
||||
for (const fn of ast.runtimeFunctions) {
|
||||
if (fn.runtime !== "server")
|
||||
viewFunctions.set(fn.name, fn.runtime);
|
||||
}
|
||||
for (const [name, runtime] of viewFunctions) {
|
||||
append(`declare const ${name}: typeof ${runtimeNamespace(runtime)}.${name};`);
|
||||
}
|
||||
let bindingIndex = 0;
|
||||
const appendViewBindings = (nodes, locals) => {
|
||||
for (const node of nodes) {
|
||||
if (node.type === "element") {
|
||||
for (const attr of node.attrs) {
|
||||
const expressions = attr.event ? [attr.value] : [...attr.value.matchAll(/\{([^{}]+)\}/g)].map((match) => match[1].trim());
|
||||
for (const expression of expressions) {
|
||||
if (!expression.trim())
|
||||
continue;
|
||||
const declarations = [
|
||||
...[...locals].map((name) => `declare const ${name}: any;`),
|
||||
...attr.event ? ["declare const payload: any;", "declare const event: Event;"] : []
|
||||
].join(" ");
|
||||
append(`namespace __wrn_view_${bindingIndex++} { ${declarations} void (${expression}); }`, attr.value);
|
||||
}
|
||||
}
|
||||
appendViewBindings(node.children, locals);
|
||||
} else if (node.type === "if") {
|
||||
for (const branch of node.branches) {
|
||||
if (branch.cond)
|
||||
append(`namespace __wrn_view_${bindingIndex++} { void (${branch.cond}); }`, branch.cond);
|
||||
appendViewBindings(branch.body, locals);
|
||||
}
|
||||
} else if (node.type === "each") {
|
||||
append(`namespace __wrn_view_${bindingIndex++} { void (${node.list}); }`, node.list);
|
||||
const nested = new Set(locals);
|
||||
nested.add(node.item);
|
||||
if (node.index)
|
||||
nested.add(node.index);
|
||||
appendViewBindings(node.body, nested);
|
||||
appendViewBindings(node.empty, locals);
|
||||
}
|
||||
}
|
||||
};
|
||||
appendViewBindings(ast.view, new Set);
|
||||
return {
|
||||
ast,
|
||||
fileName: filePath.replace(/\.wrn$/i, ".wrn.ts"),
|
||||
@@ -173224,7 +173268,7 @@ function componentUsageDiagnostics(source, ast, filePath, appRoot) {
|
||||
const shape = shapes.get(node.tag);
|
||||
if (!shape)
|
||||
return;
|
||||
const attributes = new Map(node.attrs.filter((attr) => !attr.event).map((attr) => [attr.name, attr]));
|
||||
const attributes = new Map(node.attrs.filter((attr) => !attr.event).map((attr) => [attr.name.startsWith("bind:") ? attr.name.slice(5) : attr.name, attr]));
|
||||
const outputNames = new Set(shape.outputs.map((output) => output.name));
|
||||
const position = lineAt(source, `<${node.tag}`);
|
||||
for (const prop of shape.props) {
|
||||
@@ -173261,7 +173305,8 @@ function componentUsageDiagnostics(source, ast, filePath, appRoot) {
|
||||
}
|
||||
if (/^(?:class|id|style|slot|data-|aria-)/.test(attr.name) || attr.name === "attrs")
|
||||
continue;
|
||||
const prop = known.get(attr.name);
|
||||
const propName = attr.name.startsWith("bind:") ? attr.name.slice(5) : attr.name;
|
||||
const prop = known.get(propName);
|
||||
if (!prop) {
|
||||
diagnostics.push({
|
||||
code: "WRN-COMPONENT-UNKNOWN-PROP",
|
||||
|
||||
Reference in New Issue
Block a user