npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lark-apaas/coding-template-nestjs-react-fullstack

v0.1.50

Published

NestJS + React fullstack template for miaoda coding

Readme

@lark-apaas/coding-template-nestjs-react-fullstack

妙搭 (Miaoda) NestJS + React 全栈应用模板。archType: 3(application scene)。

用法

通过 miaoda app init 渲染:

MIAODA_APP_TYPE=3 npx @lark-apaas/miaoda-cli@<latest> app init \
  --template nestjs-react-fullstack \
  --app-id app_xxx

本地开发(npm run dev:local)

依赖 SDK 自带的 dotenv 加载(@lark-apaas/fullstack-{vite-preset,nestjs-core} ≥ 对应 alpha 版本)。在新生成的应用目录里:

  1. 填 .env.local(从 _env.local 模板渲染而来,注释里写了每个 env 的获取方式)
  2. npm run dev:local

关键 env:

  • MIAODA_LOCAL_DEV=1 —— 由 scripts/dev-local.sh 自动 export
  • FORCE_AUTHN_PREVIEW_SESSION_ID —— 后端下发的 session id(替代浏览器手抠 cookie)
  • SUDA_WEBUSER —— webuser JSON
  • SANDBOX_PUBLIC_URL —— 沙箱公网域
  • CLIENT_BASE_PATH=/app/<app_id>/ —— React Router basename + Vite base

MCP UI 的类型与代码检查

创建 MCP UI 时,Agent 在 server/mcp/ui 中同时生成 tsconfig.json 和 eslint.config.cjs,修改 UI 或其 shared 依赖后主动运行独立检查。模板和 CLI 不生成 UI 配置,也不将 UI 检查接入主工程 lint/type:check。

主工程保留原 client/server 检查。Agent 从工程根执行 npx --no-install tsc --noEmit --project server/mcp/ui/tsconfig.json,再执行 npx --no-install eslint --config server/mcp/ui/eslint.config.cjs "server/mcp/ui/**/*.{ts,tsx,js,jsx}" --max-warnings 0;必须检查退出码并修复错误。无需辅助脚本或新增 npm 命令。

CLI 不注入 MCP UI 检查命令;主工程保留原有 client/server 检查,UI 由 Agent 按独立配置执行标准 tsc/eslint。

存量 sync 不改写 ESLint 源码;UI 全局排除项由平台 ESLint 预设提供。TS 仅向已有显式 exclude 数组追加目录,保留注释和原项;依赖继承且未显式声明 exclude 的自定义配置保持不变并提示人工调整。自定义检查命令保留。UI ESLint 配置可显式引用 fullstack-presets/lib/mcp/eslint-ui。

包结构

.
├── package.json          ← 本模板包的发包元数据
├── hooks/                ← miaoda-cli 在 init 阶段调用的 hook(v0.1 全 no-op)
└── template/             ← 渲染到用户应用目录的内容

template/ 内以下划线开头的占位文件(_gitignore / _npmrc / _env.local)在 miaoda app init 渲染时会按 RENAME 映射改回正常名(npm pack 会特殊处理 .gitignore、且 .npmrc 直接放 在包里会污染用户 npm install 行为,所以都要 underscore 前缀)。

MCP 版本与 UI 检查

模板不生成 mcp-build-id,构建脚本沿用原流程。SDK 发布态使用 veFaaS 函数 ID 与发布 revision;开发态使用后端编译产物指纹,UI/Skill 内容继续独立计入修订。首次升级切换版本来源后,Host 应重新发现。

MCP UI 的 tsconfig.json 和 eslint.config.cjs 由 Agent 随 UI 在 server/mcp/ui 中创建,执行命令与完整示例见 coding-steering 的 mcp-ui-guide。主工程的 TS/ESLint 排除该浏览器目录,不自动运行 UI 检查;不为无 UI 的应用创建配置或检查命令。

server/mcp/ui 与 server/mcp/skills 变更应由平台判为后端发布;纯前端发布不替换已部署 MCP 产物,也不承诺热更 MCP UI。发布版本号仅在实际后端发布时更新。