From 97d60d0ba8a98641854b561467a9e12972893a25 Mon Sep 17 00:00:00 2001 From: Ajay Ghanwat Date: Thu, 20 Aug 2026 01:33:48 +0530 Subject: [PATCH] refactor: drop the deprecated compiler re-export shims Co-Authored-By: Claude Opus 5 --- editors/vscode/src/compiler.cjs | 79 ++------------------- editors/vscode/src/extension.bundle.cjs | 2 +- packages/compiler/src/codegen.ts | 13 +++- packages/compiler/src/native-codegen.ts | 2 +- packages/compiler/src/parser.ts | 2 - packages/compiler/src/tokenizer.ts | 2 - packages/compiler/src/types.ts | 2 - packages/compiler/test/inline-props.test.ts | 2 +- 8 files changed, 20 insertions(+), 84 deletions(-) delete mode 100644 packages/compiler/src/parser.ts delete mode 100644 packages/compiler/src/tokenizer.ts delete mode 100644 packages/compiler/src/types.ts diff --git a/editors/vscode/src/compiler.cjs b/editors/vscode/src/compiler.cjs index 0f1cf93d..3f695cd8 100644 --- a/editors/vscode/src/compiler.cjs +++ b/editors/vscode/src/compiler.cjs @@ -1,6 +1,6 @@ "use strict"; // Generated by scripts/build-editor-compiler.mjs. Do not edit directly. -// WRN editor compiler source hash: b5b5e076bca1aa1b5603d5b6caf5d5a3169a04e33da8b83ae94e952f8685ab3e +// WRN editor compiler source hash: 59b39cb658ef79c3ee7deb2147a92ac8bbb6c4427d732bf1de63e489c2471df8 // WRN editor compiler generator hash: a54ca847c758bc98d8e353ad6d70088df31de1820f6cf9d1c3462505f563e6b8 // Generated with TypeScript: 6.0.3 const __nodeRequire = require; @@ -844,8 +844,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.generate = generate; exports.parseForExpr = parseForExpr; const node_buffer_1 = require("node:buffer"); -const parser_ts_1 = require("./parser.js"); -const types_ts_1 = require("./types.js"); const syntax_1 = require("@wrnexus/syntax"); const store_codegen_ts_1 = require("./store-codegen.js"); const analysis_ts_1 = require("./analysis.js"); @@ -1245,7 +1243,7 @@ function renderLoopBody(node) { inner + escLit("")); } - if (parser_ts_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) { + if (syntax_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) { return escLit(`<${node.tag}`) + attrs + escLit(">"); } return escLit(`<${node.tag}`) + attrs + escLit(">") + inner + escLit(``); @@ -1428,7 +1426,7 @@ function renderNode(node, ssrBindings, csrBindings, apiBindings, loops, reactive }) : undefined; // Void elements (
, , …) have no closing tag and no children. - if (parser_ts_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) { + if (syntax_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) { return `<${node.tag}${renderAttrs(node.attrs, csrId, reactive, loops)}>`; } const inner = apiBinding?.mode === "ssr" @@ -2407,7 +2405,7 @@ function escLit(s) { return s.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"); } function componentBehavior(ast) { - const functions = (0, types_ts_1.eraseFunctionTypes)(targetFunctions(ast, "browser")); + const functions = (0, syntax_1.eraseFunctionTypes)(targetFunctions(ast, "browser")); const computed = ast.computed.map((entry) => ({ name: entry.name, expr: entry.expr.trim() })); const effects = ast.effects.map((entry) => entry.body.trim()).filter(Boolean); const lifecycle = { @@ -2619,7 +2617,7 @@ function renderClientControlTemplate(nodes) { return children; if (componentTag) return `
${children}
`; - if (parser_ts_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) + if (syntax_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) return `<${node.tag}${attrs}>`; return `<${node.tag}${attrs}>${children}`; }; @@ -2904,7 +2902,7 @@ function renderComponentNode(node, ctx) { `${classReactiveBinding}` + `${classBindings}` + `${attrs}`; - if (parser_ts_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) { + if (syntax_1.VOID_ELEMENTS.has(node.tag.toLowerCase())) { return `<${node.tag}${allAttrs}>`; } const inner = node.children.map((child) => renderComponentNode(child, elementContext)).join(""); @@ -2992,7 +2990,7 @@ function generateComponent(ast) { if (prop.required) { decls.push(` if (__p[${JSON.stringify(prop.name)}] === undefined) throw new TypeError(${JSON.stringify(`${ast.name} requires prop '${prop.name}' (${prop.valueType ?? "unknown"})`)});`); } - decls.push(` const ${nameRefs.get(prop.name)}: ${prop.valueType ?? "unknown"} = __coerce(__p[${JSON.stringify(prop.name)}], (${resolveExpr(prop.default)}), ${JSON.stringify((0, types_ts_1.runtimeTypeOf)(prop.valueType))}, ${JSON.stringify(prop.name)}) as ${prop.valueType ?? "unknown"};`); + decls.push(` const ${nameRefs.get(prop.name)}: ${prop.valueType ?? "unknown"} = __coerce(__p[${JSON.stringify(prop.name)}], (${resolveExpr(prop.default)}), ${JSON.stringify((0, syntax_1.runtimeTypeOf)(prop.valueType))}, ${JSON.stringify(prop.name)}) as ${prop.valueType ?? "unknown"};`); } if (!effectiveProps.some((prop) => prop.name === "attrs")) { decls.push(` const __attrs = __restProps(__p, new Set(${JSON.stringify(effectiveProps.map((prop) => prop.name))}));`); @@ -4057,27 +4055,6 @@ function generateNative(ast) { return `// generated from .wrn for Expo/React Native\nimport React, { useState } from "react";\nimport { ActivityIndicator, FlatList, Image, Pressable, SafeAreaView, ScrollView, StyleSheet, Text, TextInput, View } from "react-native";\nimport { useRouter } from "expo-router";\n${ast.imports.join("\n")}\n\n${typeSource}\n\nexport default function ${ast.name}() {\n const router = useRouter();\n${hooks}\n return <>${body};\n}\n\n${nativeStyles(ast.styles)}\n`; } -}, -"packages/compiler/src/parser.ts": function (module, exports, require, __filename, __dirname) { -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/** @deprecated Import parser APIs from @wrnexus/syntax. */ -__exportStar(require("@wrnexus/syntax/parser"), exports); - }, "packages/compiler/src/runtime-capabilities.ts": function (module, exports, require, __filename, __dirname) { "use strict"; @@ -4627,27 +4604,6 @@ function generateTargets(ast) { }; } -}, -"packages/compiler/src/tokenizer.ts": function (module, exports, require, __filename, __dirname) { -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/** @deprecated Import tokenizer APIs from @wrnexus/syntax. */ -__exportStar(require("@wrnexus/syntax/tokenizer"), exports); - }, "packages/compiler/src/type-codegen.ts": function (module, exports, require, __filename, __dirname) { "use strict"; @@ -4697,27 +4653,6 @@ function generateDeclarations(ast) { return `${inline ? `${inline}\n\n` : ""}export interface ${ast.name}Props {\n${props}\n}\n\nexport interface ${ast.name}Outputs {\n${outputs}\n}\n\nexport interface ${ast.name}ClientFunctions {\n${clientFunctions}\n}\n\nexport interface ${ast.name}ServerCalls {\n${serverFunctions}\n}\n`; } -}, -"packages/compiler/src/types.ts": function (module, exports, require, __filename, __dirname) { -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -/** @deprecated Import language type utilities from @wrnexus/syntax. */ -__exportStar(require("@wrnexus/syntax/types"), exports); - }, "packages/syntax/src/api-sections.ts": function (module, exports, require, __filename, __dirname) { "use strict"; diff --git a/editors/vscode/src/extension.bundle.cjs b/editors/vscode/src/extension.bundle.cjs index 37257659..a235ecaf 100644 --- a/editors/vscode/src/extension.bundle.cjs +++ b/editors/vscode/src/extension.bundle.cjs @@ -1,4 +1,4 @@ -// WRN editor extension source hash: 791b7ed86b1d5958a71ee3886a8dbd26301171be0e0d4d01f747d20556d51aad +// WRN editor extension source hash: 0192e263f6213e194dc903c4c4d6436e4ab05cbfe06d2d865a3de7ca1507d3d6 // WRN editor extension generator hash: 456d1d614e44e5fb1f19b784176c09cf2ade9b64ef73a17934c2698150b62728 "use strict"; var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); diff --git a/packages/compiler/src/codegen.ts b/packages/compiler/src/codegen.ts index 0776206e..6b8b940b 100644 --- a/packages/compiler/src/codegen.ts +++ b/packages/compiler/src/codegen.ts @@ -17,9 +17,16 @@ import { Buffer } from "node:buffer"; -import { VOID_ELEMENTS, type Attr, type DataMode, type PageAst, type ViewNode } from "./parser.ts"; -import { eraseFunctionTypes, runtimeTypeOf } from "./types.ts"; -import { stripRuntimeFunctionModifiers } from "@wrnexus/syntax"; +import { + VOID_ELEMENTS, + type Attr, + type DataMode, + type PageAst, + type ViewNode, + eraseFunctionTypes, + runtimeTypeOf, + stripRuntimeFunctionModifiers, +} from "@wrnexus/syntax"; import { generateStoreModule } from "./store-codegen.ts"; import { optimizeAst } from "./analysis.ts"; import { diff --git a/packages/compiler/src/native-codegen.ts b/packages/compiler/src/native-codegen.ts index 1baf7768..ea0500c6 100644 --- a/packages/compiler/src/native-codegen.ts +++ b/packages/compiler/src/native-codegen.ts @@ -1,4 +1,4 @@ -import type { Attr, PageAst, ViewNode } from "./parser.ts"; +import type { Attr, PageAst, ViewNode } from "@wrnexus/syntax"; export class NativeCompileError extends Error { constructor(message: string) { diff --git a/packages/compiler/src/parser.ts b/packages/compiler/src/parser.ts deleted file mode 100644 index aa708b46..00000000 --- a/packages/compiler/src/parser.ts +++ /dev/null @@ -1,2 +0,0 @@ -/** @deprecated Import parser APIs from @wrnexus/syntax. */ -export * from "@wrnexus/syntax/parser"; diff --git a/packages/compiler/src/tokenizer.ts b/packages/compiler/src/tokenizer.ts deleted file mode 100644 index d7cd0a92..00000000 --- a/packages/compiler/src/tokenizer.ts +++ /dev/null @@ -1,2 +0,0 @@ -/** @deprecated Import tokenizer APIs from @wrnexus/syntax. */ -export * from "@wrnexus/syntax/tokenizer"; diff --git a/packages/compiler/src/types.ts b/packages/compiler/src/types.ts deleted file mode 100644 index 8182f080..00000000 --- a/packages/compiler/src/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -/** @deprecated Import language type utilities from @wrnexus/syntax. */ -export * from "@wrnexus/syntax/types"; diff --git a/packages/compiler/test/inline-props.test.ts b/packages/compiler/test/inline-props.test.ts index 5e91dd57..474cb439 100644 --- a/packages/compiler/test/inline-props.test.ts +++ b/packages/compiler/test/inline-props.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test"; -import { parse, type PropDecl } from "../src/parser.ts"; +import { parse, type PropDecl } from "@wrnexus/syntax"; const compact = (source: string) => parse(source).props.map(({ name, default: value }: PropDecl) => ({ name, value }));