@tbox.cn/app-template-h5 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  template-h5 是面向 AI 生成移动 H5 应用的单 workspace 模板:`apps/client`(React/Vite)+ `apps/server`(Express)。
4
4
 
5
- > **工作区上下文**:仓库内本目录是根 workspace 成员子树,平台引用走 `catalog:`(in-repo 经根 overrides 源码直连 SDK);`tbox-app create` 从模板源(目录或 pack tgz)展开生成应用,`pnpm-workspace.yaml` 由 `pnpm-workspace.template.yaml` 改名生成。
6
-
7
5
  ## 工程结构
8
6
 
9
7
  | 包 | 职责 |
@@ -12,20 +10,21 @@ template-h5 是面向 AI 生成移动 H5 应用的单 workspace 模板:`apps/c
12
10
  | `apps/server` | Express API:健康检查、静态托管、inspector(@app/server) |
13
11
  | `scripts/` | 平台生命周期脚本(prepare/dev/start/stop/build 固定名契约)与工程守卫 |
14
12
 
15
- ## 常用命令
13
+ ## 运行与验证(平台沙箱)
14
+
15
+ 应用构建与运行在平台沙箱中,启动/停止/重启由平台负责——不要运行 `pnpm dev` 等长驻进程
16
+ 命令(沙箱规则 `config/rules/no-persistent-process.md`)。你只改代码与配置,用一次性命令
17
+ 验证:
16
18
 
17
19
  ```sh
18
- pnpm install
19
- pnpm dev # 单进程 localhost:8000(API + 页面 + HMR)
20
+ pnpm install # 会话开始时 node_modules 缺失先装
20
21
  pnpm typecheck
21
22
  pnpm test
22
23
  pnpm build
23
- pnpm verify # typecheck + test + lint + build + check:inspector
24
+ pnpm verify # typecheck + test + lint + build + check:inspector
24
25
  pnpm check:inspector # inspector 接线守卫(随 @tbox.cn/app-sdk 分发)
25
26
  ```
26
27
 
27
- 会话开始时,若 `node_modules` 缺失,先跑 `pnpm install`。
28
-
29
28
  ## SDK 复用点(优先复用,勿手写)
30
29
 
31
30
  - `@tbox.cn/app-sdk/client`:`configureRuntime`(API base 注入,勿硬编码 host)、`httpGet/httpPost/createService`(HTTP 客户端)、`ErrorBoundary`、`createLogger`、`installGlobalErrorReporting`
@@ -10,9 +10,9 @@
10
10
  "test": "vitest run"
11
11
  },
12
12
  "dependencies": {
13
- "@tbox.cn/app-sdk": "catalog:",
14
13
  "react": "catalog:",
15
- "react-dom": "catalog:"
14
+ "react-dom": "catalog:",
15
+ "@tbox.cn/app-sdk-client": "catalog:"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "catalog:",
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 业务应用唯一入口:中性单页起点,无占位标记。
3
- * 新应用替换本组件;后端调用走 @tbox.cn/app-sdk/client 的 httpGet/httpPost(同源 /api/*)。
3
+ * 新应用替换本组件;后端调用走 @tbox.cn/app-sdk-client 的 httpGet/httpPost(同源 /api/*)。
4
4
  */
5
5
  export default function BusinessApp() {
6
6
  return (
@@ -4,7 +4,7 @@ import {
4
4
  configureRuntime,
5
5
  ErrorBoundary,
6
6
  installGlobalErrorReporting,
7
- } from '@tbox.cn/app-sdk/client';
7
+ } from '@tbox.cn/app-sdk-client';
8
8
  import BusinessApp from './business/App';
9
9
  import './styles/base.css';
10
10
 
@@ -5,7 +5,7 @@ import pxToRem from 'postcss-pxtorem';
5
5
  import { resolve } from 'node:path';
6
6
  // 平台微调配套 babel plugin(随 @tbox.cn/app-sdk 分发):dev 期给每个 JSX 注入源码位置属性,
7
7
  // 供 inspector runtime(/__vs_inspector__.js) 点选元素→定位源码(check:inspector 断言点)。
8
- import codeInspectPlugin from '@tbox.cn/app-sdk/platform/code-inspect';
8
+ import codeInspectPlugin from '@tbox.cn/app-sdk-client/platform/code-inspect';
9
9
 
10
10
  const pxToRemPlugin = pxToRem({
11
11
  rootValue: 100,
@@ -25,9 +25,6 @@ export default defineConfig(({ command }) => ({
25
25
  resolve: {
26
26
  alias: {
27
27
  '@': resolve(__dirname, 'src'),
28
- // @tbox-dev-js/sdk 顶层静态 import fs/path(浏览器不执行)——生产构建以桩 alias(agent 同构)
29
- fs: resolve(__dirname, 'src/shims/node-stub.ts'),
30
- path: resolve(__dirname, 'src/shims/node-stub.ts'),
31
28
  },
32
29
  },
33
30
  css: {
@@ -11,8 +11,8 @@
11
11
  "typecheck": "tsc --noEmit"
12
12
  },
13
13
  "dependencies": {
14
- "@tbox.cn/app-sdk": "catalog:",
15
- "express": "catalog:"
14
+ "express": "catalog:",
15
+ "@tbox.cn/app-sdk-server": "catalog:"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/express": "catalog:",
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { createServer } from 'http';
7
7
  import express from 'express';
8
- import { createLogger } from '@tbox.cn/app-sdk/server';
8
+ import { createLogger } from '@tbox.cn/app-sdk-server';
9
9
 
10
10
  export const app = express();
11
11
  const logger = createLogger('server');
@@ -8,7 +8,7 @@ import path from 'path';
8
8
  import { readFile } from 'node:fs/promises';
9
9
  import { fileURLToPath } from 'url';
10
10
  import { createServer as createViteServer } from 'vite';
11
- import { injectScript, installInspector, isReady } from '@tbox.cn/app-sdk/platform';
11
+ import { injectScript, installInspector, isReady } from '@tbox.cn/app-sdk-server/platform';
12
12
  import { app, start } from './app.js';
13
13
 
14
14
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -7,8 +7,8 @@ import path from 'path';
7
7
  import { existsSync } from 'node:fs';
8
8
  import { fileURLToPath } from 'url';
9
9
  import express from 'express';
10
- import { createLogger } from '@tbox.cn/app-sdk/server';
11
- import { installInspector } from '@tbox.cn/app-sdk/platform';
10
+ import { createLogger } from '@tbox.cn/app-sdk-server';
11
+ import { installInspector } from '@tbox.cn/app-sdk-server/platform';
12
12
  import { app, start } from './app.js';
13
13
 
14
14
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tbox.cn/app-template-h5",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "tbox 移动 H5 全栈模板(单 workspace:apps/client + apps/server),运行时与页面微调经 @tbox.cn/app-sdk。",
5
5
  "type": "module",
6
6
  "engines": {
@@ -31,11 +31,11 @@
31
31
  "tsconfig.base.json"
32
32
  ],
33
33
  "devDependencies": {
34
- "@tbox.cn/app-sdk": "0.20.0",
35
34
  "eslint": "9.39.5",
36
35
  "eslint-plugin-react-hooks": "5.2.0",
37
36
  "typescript-eslint": "8.67.0",
38
- "vite": "6.4.3"
37
+ "vite": "6.4.3",
38
+ "@tbox.cn/app-sdk-server": "0.21.0"
39
39
  },
40
40
  "scripts": {
41
41
  "dev": "pnpm --filter ./apps/server dev",