{"_id":"@andyjinxi/sii-lang","_rev":"9-f65bd4927f5fbc891415fd6648e8f46f","name":"@andyjinxi/sii-lang","dist-tags":{"latest":"1.2.203"},"versions":{"1.0.0":{"name":"@andyjinxi/sii-lang","version":"1.0.0","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.0.0","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"f93000e52b58d16e0d3abc6ce771687083542753","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.0.0.tgz","fileCount":37,"integrity":"sha512-YepwmWM3Xu2dIyHH+qu0IaqeH5VI6pJD4Yrni1PfB0ERcMLv7sunA3pwz722B9LLGpOdEnjKAw4QaR/m05533A==","signatures":[{"sig":"MEUCIQDISxuwPk7bRU+chTt1nza/f3XzC9uT4U1x54qmf96BBwIgchQk8ohamoJcAql/6xtLMJvKqPqgTgzkJBUQ/wD9tC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280807},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.0.0_1758781598797_0.7410319724773502","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@andyjinxi/sii-lang","version":"1.0.1","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.0.1","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"9dced3cc0ffccbb70920585b990655e68d4f3a34","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.0.1.tgz","fileCount":37,"integrity":"sha512-p9ayw+WQrxN0A2gpp7qpaKQ0g+CnPXxXsx+cExCQplS27TUt+9MKIUPO3dfsh0Cm4vzrygggAGqVvyOsHEHJRQ==","signatures":[{"sig":"MEQCIARPqdLeyi64FmwEco6qQSj/Ip+i33/Ix8OjZCMy6OFkAiAzMQIHhqQORdxE1NfOCInXEq1J7xNfjC24LWwEmNToqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283013},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.0.1_1758788613775_0.03895105847132396","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@andyjinxi/sii-lang","version":"1.0.2","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.0.2","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"2aece6c341dec611baacd0c00dd0fd40127c4f3f","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.0.2.tgz","fileCount":37,"integrity":"sha512-nX4AkEj6bTM21kRxwoFn/TAshl0A4yDHNNhhmVYYbJaZSXRrTOKNAga6RMC+c9z41TZrrf/KAfaCwornOWK2rw==","signatures":[{"sig":"MEUCIQC6bX71wYNezTGQIs6bRQhs4HWeCCsh9T3Hcd3Hu4YwagIgMwKOjx0CTNEwf7bt2fKH7hc5k3HwFRLMgwukXqlH2+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283831},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.0.2_1758790447439_0.07397507945184256","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@andyjinxi/sii-lang","version":"1.1.0","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.1.0","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"fb7563046ca15f3827d8cb911ba01dbea16c8345","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.1.0.tgz","fileCount":38,"integrity":"sha512-bWqgYGmrQHgs2CsgCDBsea0z1BrmDGGECWyx8S83xD5RPgHSQcvKNAxE+4ZAq432d77uEu1LSeJpdbgIC29nFg==","signatures":[{"sig":"MEUCIDtjNvh8W1IEc8NxSRjUz7egiUFfBy5LuHXjpEkXEZLuAiEAgd0tE/fAxchvTd9LWDv+2m5MjFWSbWO+qMfs+LLbXFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405575},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.1.0_1760013119725_0.8535744643762226","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@andyjinxi/sii-lang","version":"1.2.0","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.2.0","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"76eb1cdb235a99ba4a378f06f391109c6b593a77","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.2.0.tgz","fileCount":46,"integrity":"sha512-nysAWeSgTPeNBnYMbZUK9Lf0txKO9D99cMAdRHKFs/3yfNNergxPdMdEi4baSseHogbA3EtlF1fdgew1CYAqxg==","signatures":[{"sig":"MEYCIQDn1gFE7H4YQmHKZkh5jFaBnkZIAcb6sAkZvNP6U++XtgIhAMtwcNInk2SKhUfT4knN6QsYWaBLntTLOS5RxHgnG5NL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613639},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.2.0_1760790663720_0.4795361863761358","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@andyjinxi/sii-lang","version":"1.2.1","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.2.1","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"98b5907a47fc8f95ee1efe62ebdc3f48166f1e6e","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.2.1.tgz","fileCount":46,"integrity":"sha512-7hbHR24dWjjIGi5WsULTjy+xYcEI1qujJs1dHRb0gs1tonr6jKRuUUdZsdH7cse8tIsZGdMHCbht2CdMtwiRuA==","signatures":[{"sig":"MEUCIQDvGLd1F6k+UMexUpFv7Ocmdr/kozhn4KvwxnP9sBc0UQIgcrvxIzvl8lPm8/WpY4wzrWQsz/6uJYwqHCoowOYLcUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613639},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.2.1_1760790938965_0.11253319922618865","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@andyjinxi/sii-lang","version":"1.2.2","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.2.2","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"aad4dfbe97240c4d1d2d03c6d6541dd101a47cc4","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.2.2.tgz","fileCount":46,"integrity":"sha512-YmrETbuvBJSzB7iIHzWbuDqw2O/q89yii6LmMTJwad2tfv/4unCZb0XRdK+bmr7Fu5XVtNZMlsA1+t07scfB3A==","signatures":[{"sig":"MEYCIQCvmY3Bg6plV+65bGhyfKrfD+NnTOO6QDGj/onP5ddHnAIhAK4XXJzrm6/PzYdZ6d15mNNhHJrQ2zt646G063DvEllF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643021},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.2.2_1764394287159_0.9529429021451372","host":"s3://npm-registry-packages-npm-production"}},"1.2.201":{"name":"@andyjinxi/sii-lang","version":"1.2.201","keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","_id":"@andyjinxi/sii-lang@1.2.201","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"bin":{"sii":"dist/cli.js"},"dist":{"shasum":"d352d14bb39036ab6360be6132497725f4fd376b","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.2.201.tgz","fileCount":46,"integrity":"sha512-YFv03hwc7SPPpaBqUTW8MD5odGn4kWf1RQAuHLmArvCVtdPRx8ik5N2WunSiF6D+prVNiD19W9rZhsN1odAHlg==","signatures":[{"sig":"MEQCID/OBC1uIA22jrEkMo9LjQkg0y5ImkSWea+Sr7c7ir8XAiA64M3CtXjp/xLAfX4Q/xnqK7HDeYdUGoyM8qWYRHaMmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643025},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"scripts":{"dev":"ts-node src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"_npmVersion":"11.4.2","description":"Sii programming language compiler - Show is ideal","directories":{},"_nodeVersion":"24.4.1","dependencies":{"glob":"^10.3.10","chalk":"^4.1.2","fs-extra":"^11.1.1","commander":"^11.1.0","readline-sync":"^1.4.10","@types/readline-sync":"^1.4.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.50.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0","@types/fs-extra":"^11.0.4","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/sii-lang_1.2.201_1764394575046_0.7546317094641128","host":"s3://npm-registry-packages-npm-production"}},"1.2.203":{"name":"@andyjinxi/sii-lang","version":"1.2.203","description":"Sii programming language compiler - Show is ideal","main":"dist/index.js","bin":{"sii":"dist/cli.js"},"scripts":{"build":"tsc","dev":"ts-node src/cli.ts","test":"jest","lint":"eslint src/**/*.ts","clean":"rm -rf dist"},"keywords":["programming-language","compiler","typescript","fullstack"],"author":{"name":"AndyJin"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@types/readline-sync":"^1.4.8","chalk":"^4.1.2","commander":"^11.1.0","fs-extra":"^11.1.1","glob":"^10.3.10","mysql2":"^3.6.0","pg":"^8.11.0","readline-sync":"^1.4.10","sqlite":"^5.1.0","sqlite3":"^5.1.6"},"devDependencies":{"@types/fs-extra":"^11.0.4","@types/jest":"^29.5.5","@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.7.4","@typescript-eslint/parser":"^6.7.4","eslint":"^8.50.0","jest":"^29.7.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^5.2.2"},"engines":{"node":">=16.0.0"},"_id":"@andyjinxi/sii-lang@1.2.203","types":"./dist/index.d.ts","_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-zMouf99Xxz0GwrguDRp19nJKXqZ95k2Un+D9r6sEOXRZ4oKqVQXR4N/4xmLqmWuEGXeLBpWZHwHMIgqdXedT4w==","shasum":"7cb000d1510422de9cb5ed31d83a4bb8cd10a614","tarball":"https://registry.npmjs.org/@andyjinxi/sii-lang/-/sii-lang-1.2.203.tgz","fileCount":42,"unpackedSize":684657,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHLMetdDeqcuBGg/+jJ48nrKkEY3WDIbEhZezq5TpMUWAiEAshyUTUNU5ehqA/jf4pwpaghhRaa+UQAe/r3vsHx+yio="}]},"_npmUser":{"name":"andyjinxi","email":"2358155969@qq.com"},"directories":{},"maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sii-lang_1.2.203_1765196001068_0.7595473564271877"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-25T06:26:38.646Z","modified":"2025-12-08T12:13:21.445Z","1.0.0":"2025-09-25T06:26:38.994Z","1.0.1":"2025-09-25T08:23:33.973Z","1.0.2":"2025-09-25T08:54:07.631Z","1.1.0":"2025-10-09T12:31:59.904Z","1.2.0":"2025-10-18T12:31:03.963Z","1.2.1":"2025-10-18T12:35:39.154Z","1.2.2":"2025-11-29T05:31:27.406Z","1.2.201":"2025-11-29T05:36:15.277Z","1.2.203":"2025-12-08T12:13:21.236Z"},"author":{"name":"AndyJin"},"license":"MIT","keywords":["programming-language","compiler","typescript","fullstack"],"description":"Sii programming language compiler - Show is ideal","maintainers":[{"name":"andyjinxi","email":"2358155969@qq.com"}],"readme":"[中文](#sii-language) | [English](#sii-language-english)\n\n# Sii Language\n\nSii 是一门基于 TypeScript 开发的领域特定语言 DSL，用于现代全栈 Web 应用开发。语言强调强类型与声明式风格，让你以简洁直观的语法构建可维护的用户界面与业务逻辑。\n\n## 核心特性\n\n### CLI 命令\nSii 提供内置 CLI 覆盖项目初始化、编译运行、语言与镜像设置、以及第三方库管理等工作流。\n\n```bash\n# 项目初始化\nsii init MyProj                   # 初始化通用项目\nsii init-web MyWeb               # 初始化 Web 模板项目\n\n# 编译 / 运行\nsii compile src/index.sii -o dist/index.ts   # 编译单个文件到 TS\nsii run src/index.sii                        # 直接运行单个 Sii 文件\nsii run --web . --serve                      # Web 项目开发预览（本地服务+自动编译）\nsii run --web . --build                      # Web 项目仅构建（产出 dist/pages）\n\n# CLI 自身版本\nsii version                     # 显示当前 Sii CLI 版本\nsii update                      # 升级到最新 Sii CLI（加 --check-only 仅检查）\n\n# 语言设置\nsii language --current          # 查看当前 CLI 语言\nsii language --list             # 列出可用语言（zh-CN / en）\nsii language --set en           # 切换为英文（示例：en / zh-CN）\n\n# 镜像源管理\nsii mirror --list                                   # 列出可用镜像\nsii mirror --current                                # 查看当前默认镜像\nsii mirror --add \"myMirror https://registry.example.com\"   # 新增镜像（名称 URL）\nsii mirror --remove myMirror                        # 移除镜像\nsii mirror --set-default npm                        # 设为默认镜像\n\n# 第三方库管理（lib.*）\nsii install math                  # 安装库（以安装math库为示例）\nsii list                          # 查看已安装库\nsii uninstall math                # 卸载库\nsii versions math                 # 查看某个库的全部版本\nsii update-lib                    # 更新所有已安装库到最新\nsii update-lib math               # 更新指定库到最新\nsii update-lib math:0.0.2         # 更新到指定版本（name:version）\n```\n\n### 声明式 UI 构建\n\n通过组件化的方式构建用户界面，使用 `@Component`、`@BuilderUI`、`@BuilderLogic` 注解分离UI结构和业务逻辑。支持链式属性调用和组件嵌套，让界面代码更加直观易读。\n\n```ts\n@Component\nstruct HomePage {\n    @BuilderUI {\n        Col()\n            .gap(24)\n            .padding(20)\n            .align(\"center\")\n        {\n            Text(\"欢迎使用 Sii\")\n                .fontSize(24)\n                .color(\"#1976d2\")\n                .margin(16)\n            \n            Button(\"开始探索\")\n                .onClick(this.handleStart)\n                .backgroundColor(\"#22c55e\")\n                .color(\"white\")\n                .padding(12)\n                .borderRadius(8)\n        }\n    }\n    \n    @BuilderLogic {\n        func handleStart(): void {\n            // handle click\n        }\n    }\n}\n```\n\n### 强类型系统\n\n内置完整的类型系统，支持 `int`、`singlef`、`string`、`bool` 等基础类型，以及类型推断和显式类型注解。编译时进行类型检查，有效减少运行时错误，提高代码质量和开发效率。\n\n```ts\n// Type-safe, compile-time checked\nfunc calculateArea(width: singlef, height: singlef): singlef {\n    back width * height;\n}\n\n// Type inference\nlet area: singlef = calculateArea(10.5, 20.3);\n```\n\n### 控制流\n\n提供现代化的控制流语法，支持条件分支 `if/esle if/else`、循环控制 `forloop` 和 `while`，以及 `continue`/`break` 语句。语法简洁直观，让程序逻辑更加清晰易读。\n\n```ts\n// Conditional branches\nif (score >= 90) {\n    back \"优秀\";\n} esle if (score >= 60) {\n    back \"良好\";\n} else {\n    back \"需要努力\";\n}\n\n// Loop control\nforloop (let i: int = 0; i < items.length; i++) {\n    processItem(items[i]);\n}\n```\n\n### 模块化与库管理\n\n采用 `cite` 语法进行模块导入，支持标准库 `sii.*` 和第三方库 `lib.*` 的统一管理。通过库中心提供版本控制、依赖解析和自动更新功能，让代码复用和项目管理更加便捷。\n\n```ts\n// Import standard libraries\ncite { add, multiply, sqrt } from lib.math;\ncite { formatDate, parseTime } from lib.time;\n\n// Use library functions\nlet result: singlef = sqrt(add(16, 9)); // 5.0\n```\n\n### 标准库概览\n\n**sii 内置标准库(47+)**\n\n- `readText` 读取文本文件\n- `writeText` 写入文本文件\n- `exists` 检查文件是否存在\n- `mkdirs` 创建目录\n- `pathJoin` 路径拼接\n- `cwd` 获取当前工作目录\n- `env` 获取环境变量\n- `Date` 时间日期格式化\n- `length` 获取长度\n- `jsonParse` JSON解析\n- `jsonStringify` JSON序列化\n- `exec` 执行系统命令\n- `execOut` 执行命令并获取输出\n- `get` HTTP GET请求\n- `post` HTTP POST请求\n- `put` HTTP PUT请求\n- `delete` HTTP DELETE请求\n- `options` HTTP OPTIONS请求\n- `head` HTTP HEAD请求\n- `listen` 启动HTTP服务器\n- `respText` 响应文本\n- `respJson` 响应JSON\n- `respHtml` 响应HTML\n- `log` 控制台日志\n- `warn` 控制台警告\n- `error` 控制台错误\n- `bindDOM` DOM绑定\n- `routerGet` 获取当前路由\n- `routerSet` 设置路由\n- `routerRegister` 注册路由\n- `routerSubscribe` 订阅路由变化\n- `routerUseGuard` 路由守卫\n- `routerOnAfterEach` 路由后置钩子\n- `routerLoad` 路由加载器\n- `portal` 门户组件\n- `lockBody` 锁定页面滚动\n- `unlockBody` 解锁页面滚动\n- `focusTrap` 焦点陷阱\n- `vlistCreate` 创建虚拟列表\n- `theme` 设置主题\n- `themeScope` 设置主题作用域\n- `createSignal` 创建响应式信号\n- `createMemo` 创建记忆化计算\n- `createEffect` 创建副作用\n- `createResource` 创建资源\n- `renderToString` 渲染为字符串\n- `hydrate` 水合\n- `devtoolsSubscribe` 订阅开发工具\n- `devtoolsEmit` 发送开发工具事件\n\n**lib. 第三方库生态**\n\nSii 提供了完整的第三方库生态系统，库中心是云端的公共仓库。当项目需要第三方库作为依赖时，开发者使用 CLI 从云端库中心拉取到本地；为提升可用性，CLI 支持配置多个“镜像”，安装时将从当前默认镜像下载。\n\n镜像的配置命令已在上文 CLI 小节说明，此处不再赘述。使用 `sii install <库名>` 安装库，`sii update-lib` 更新已安装库。\n\n目前第三方库数量较少、使用频度也相对不高，暂提供“提交想法”流程：开发者通过[提交想法表单](https://sii.andyjin.website/submit-idea)提交库的名称、简介、作者等信息，管理员审核通过后由管理员上传至云端库中心，随后用户即可通过 CLI 安装使用。你也可以参考“库开发指南”完善库的实现与文档，提高通过率。\n\n## 快速开始\n\n### 安装\n```bash\nnpm install -g @andyjinxi/sii-lang\n```\n\n### 创建 Web 项目\n```bash\n# 初始化项目\nsii init-web MyApp\ncd MyApp\n\n# 开发模式 支持热重载\nsii run --web . --serve\n\n# 生产构建\nsii run --web . --build\n```\n\n### 项目结构\n```\nMyApp/\n├── pages/           # 页面文件\n│   └── Index.sii    # 首页组件\n├── assets/          # 静态资源\n└── dist/            # 编译输出\n    └── pages/       # 生成的 TypeScript 代码\n```\n\n## 为什么选择 Sii\n\n- **声明式UI**：组件化开发，UI与逻辑分离，代码更易维护\n- **强类型安全**：编译时类型检查，减少运行时错误，提升开发效率\n- **统一前后端**：一套语法同时支持前端界面和后端逻辑开发\n- **丰富标准库**：47+内置API覆盖文件、网络、UI、路由等全栈开发需求\n- **现代语法**：简洁直观的控制流和模块化设计，学习成本低\n- **TypeScript生态**：编译为TypeScript，无缝集成现有前端工具链\n\n## 开发工具\n\n**SiiDeal IDE** - 专为 Sii 语言设计的现代化集成开发环境，参考 JetBrains 和 VSCode 的设计理念，提供完整的开发体验。\n\n### 核心功能\n- **智能编辑器**：基于 Monaco Editor，支持语法高亮、智能补全、代码折叠、多光标编辑\n- **项目管理**：文件资源管理器、多标签编辑、全局搜索\n- **开发工具**：集成终端、问题面板、输出面板、调试控制台\n- **现代化界面**：深色/浅色主题、响应式设计、流畅动画效果\n- **调试支持**：断点设置、变量监视、调用堆栈、调试控制台\n- **代码分析**：错误标记、警告提示、代码格式化、括号匹配\n- **个性化设置**：主题切换、字体调节、编辑器配置、CLI环境自配置\n\n## 学习与生态\n\n- [语法指南](https://sii.andyjin.website/docs/guide/guide-intro) 核心语法\n- [WebUI 组件指南](https://sii.andyjin.website/docs/siiui/siiui-intro) 界面构建\n- [库中心](https://sii.andyjin.website/library-center) 第三方库\n- [库开发指南](https://sii.andyjin.website/docs/helper/library-writing-standards) 编写你的库\n- [版本迭代历史](https://sii.andyjin.website/changelog) 变更概览\n- [SiiDeal IDE 下载](https://sii.andyjin.website/download) 配套开发工具\n- [向我们反馈](https://sii.andyjin.website/contact) 有任何问题或者建议相关Sii和SiiDeal都可以在这给我发送反馈表单\n---\n\n开始你的 Sii 编程之旅 → [sii 主页](https://sii.andyjin.website)\n\n---\n\n# Sii Language (English)\n\nSii is a TypeScript-based domain specific language for modern full‑stack web development. It emphasizes strong typing and a declarative style so you can build maintainable UI and business logic with concise syntax.\n\n## Core Features\n\n### CLI Commands\nSii CLI covers project initialization, compile/run, language and mirror settings, and third‑party library management.\n\n```bash\n# Project initialization\nsii init MyProj                   # Initialize a general project\nsii init-web MyWeb               # Initialize a web template project\n\n# Compile / Run\nsii compile src/index.sii -o dist/index.ts   # Compile single file to TS\nsii run src/index.sii                        # Run a single Sii file\nsii run --web . --serve                      # Web dev preview (local server + auto build)\nsii run --web . --build                      # Web build only (outputs dist/pages)\n\n# CLI version\nsii version                     # Show current Sii CLI version\nsii update                      # Upgrade Sii CLI (use --check-only to only check)\n\n# Language settings\nsii language --current          # Show current CLI language\nsii language --list             # List available languages (zh-CN / en)\nsii language --set en           # Switch language (e.g., en / zh-CN)\n\n# Mirror management\nsii mirror --list                                   # List available mirrors\nsii mirror --current                                # Show current default mirror\nsii mirror --add \"myMirror https://registry.example.com\"   # Add mirror (name URL)\nsii mirror --remove myMirror                        # Remove mirror\nsii mirror --set-default npm                        # Set default mirror\n\n# Third‑party libraries (lib.*)\nsii install math                  # Install library (use math as example)\nsii list                          # List installed libraries\nsii uninstall math                # Uninstall library\nsii versions math                 # Show all versions of a library\nsii update-lib                    # Update all installed libraries to latest\nsii update-lib math               # Update the specified library to latest\nsii update-lib math:0.0.2         # Update to a specific version (name:version)\n```\n\n### Declarative UI\nBuild UI with components, using `@Component`, `@BuilderUI`, and `@BuilderLogic` to separate structure from logic. Supports chained properties and nested components for readable layouts.\n\n```ts\n@Component\nstruct HomePage {\n    @BuilderUI {\n        Col()\n            .gap(24)\n            .padding(20)\n            .align(\"center\")\n        {\n            Text(\"Hello Sii\")\n                .fontSize(24)\n                .color(\"#1976d2\")\n                .margin(16)\n            \n            Button(\"Get Started\")\n                .onClick(this.handleStart)\n                .backgroundColor(\"#22c55e\")\n                .color(\"white\")\n                .padding(12)\n                .borderRadius(8)\n        }\n    }\n    \n    @BuilderLogic {\n        func handleStart(): void {\n            // handle click\n        }\n    }\n}\n```\n\n### Strong Type System\nBuilt-in types like `int`, `singlef`, `string`, `bool`, with inference and explicit annotations. Compile-time checks reduce runtime errors and improve reliability.\n\n```ts\n// Type-safe, compile-time checked\nfunc calculateArea(width: singlef, height: singlef): singlef {\n    back width * height;\n}\n\n// Type inference\nlet area: singlef = calculateArea(10.5, 20.3);\n```\n\n### Control Flow\nModern control flow with `if / esle if / else`, `forloop`, `while`, plus `continue` and `break` for clear, readable logic.\n\n```ts\n// Conditional branches\nif (score >= 90) {\n    back \"Excellent\";\n} esle if (score >= 60) {\n    back \"Good\";\n} else {\n    back \"Needs improvement\";\n}\n\n// Loop control\nforloop (let i: int = 0; i < items.length; i++) {\n    processItem(items[i]);\n}\n```\n\n### Modules and Libraries\nImport with `cite`, supporting both standard `sii.*` APIs and third‑party `lib.*` libraries. The library center provides versioning, dependency resolution, and auto updates.\n\n```ts\n// Import standard libraries\ncite { add, multiply, sqrt } from lib.math;\ncite { formatDate, parseTime } from lib.time;\n\n// Use library functions\nlet result: singlef = sqrt(add(16, 9)); // 5.0\n```\n\n## Standard Library Overview (47+)\n\n- `readText` Read text file\n- `writeText` Write text file\n- `exists` Check file existence\n- `mkdirs` Create directory\n- `pathJoin` Join paths\n- `cwd` Current working directory\n- `env` Read environment variable\n- `Date` Format current time\n- `length` Get length\n- `jsonParse` Parse JSON\n- `jsonStringify` Stringify JSON\n- `exec` Run shell command\n- `execOut` Run command and capture output\n- `get` HTTP GET\n- `post` HTTP POST\n- `put` HTTP PUT\n- `delete` HTTP DELETE\n- `options` HTTP OPTIONS\n- `head` HTTP HEAD\n- `listen` Start HTTP server\n- `respText` Send text response\n- `respJson` Send JSON response\n- `respHtml` Send HTML response\n- `log` Console log\n- `warn` Console warn\n- `error` Console error\n- `bindDOM` Bind DOM runtime\n- `routerGet` Get current route\n- `routerSet` Set route\n- `routerRegister` Register routes\n- `routerSubscribe` Subscribe route changes\n- `routerUseGuard` Route guard\n- `routerOnAfterEach` After-each hook\n- `routerLoad` Route data loader\n- `portal` Portal mount\n- `lockBody` Lock body scroll\n- `unlockBody` Unlock body scroll\n- `focusTrap` Focus trap\n- `vlistCreate` Virtual list\n- `theme` Set theme tokens\n- `themeScope` Scoped theme\n- `createSignal` Reactive signal\n- `createMemo` Reactive memo\n- `createEffect` Reactive effect\n- `createResource` Resource/Suspense\n- `renderToString` SSR render to string\n- `hydrate` Hydrate on client\n- `devtoolsSubscribe` Devtools subscribe\n- `devtoolsEmit` Devtools emit\n\n**lib. Third‑party Library Ecosystem**\n\nSii provides a cloud‑hosted library registry (library center). When a project depends on a third‑party library, the CLI pulls it from the cloud registry to your local environment. For availability, the CLI supports configuring multiple mirrors (different endpoints of the same registry); installation downloads from the current default mirror. \n\nMirror commands were described in the CLI section above, so they are not repeated here. Use `sii install <library>` to install and `sii update-lib` to update installed libraries.\n\nFor now, the number of third‑party libraries is small and usage is relatively low. We temporarily provide a \"Submit Idea\" process: developers can submit library name, description, author and related info via the [submit idea form](https://sii.andyjin.website/submit-idea). After admin review, the admin will upload the library to the cloud registry, and then users can install it via the CLI. You can also follow \"Library Authoring\" to improve your library and docs to increase approval likelihood.\n\n## Quick Start\n\nInstall\n\n```bash\nnpm install -g @andyjinxi/sii-lang\n```\n\nCreate Web project\n```bash\nsii init-web MyApp\ncd MyApp\n\n# Dev mode with hot reload\nsii run --web . --serve\n\n# Production build\nsii run --web . --build\n```\n\nProject layout\n```\nMyApp/\n├── pages/           # Pages\n│   └── Index.sii    # Home component\n├── assets/          # Static assets\n└── dist/            # Build output\n    └── pages/       # Generated TypeScript code\n```\n\n## Why Choose Sii\n\n- Declarative UI: componentized, UI and logic separation\n- Strong typing: compile‑time checks\n- Unified front and back ends: one language for UI and server logic\n- Rich standard library: 47+ built‑ins for files, network, UI, routing\n- Modern syntax: concise control flow and modules\n- TypeScript ecosystem: compiles to TypeScript and fits existing toolchains\n\n## Develop Tools\n\nSiiDeal IDE — a modern IDE purpose‑built for Sii. Based on Monaco Editor with syntax highlighting and completions, project explorer and global search, integrated terminal and problem/output panels, dark/light themes and responsive UI, debugging aids, diagnostics and formatting, plus customizable settings for themes, fonts, editor options and CLI environment.\n\n## Learn and Ecosystem\n\n- Guide: [Guide](https://sii.andyjin.website/docs/guide/guide-intro)\n- WebUI Guide: [WebUI Guide](https://sii.andyjin.website/docs/siiui/siiui-intro)\n- Library Center: [Library Center](https://sii.andyjin.website/library-center)\n- Library Authoring: [Library Authoring](https://sii.andyjin.website/docs/helper/library-writing-standards)\n- Changelog: [Changelog](https://sii.andyjin.website/changelog)\n- SiiDeal IDE: [SiiDeal IDE](https://sii.andyjin.website/download)\n- If you have any questions or suggestions related to Sii and SiiDeal, you can send me a feedback form here: [Give Feedback](https://sii.andyjin.website/contact)\n\nStart with Sii → [Homepage](https://sii.andyjin.website)\n","readmeFilename":"README.md"}