create-pactor-app 1.21.0 → 1.22.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-pactor-app",
3
- "version": "1.21.0",
3
+ "version": "1.22.0",
4
4
  "description": "Create a Pactor app from starter templates (pnpm create pactor-app)",
5
5
  "keywords": [
6
6
  "pactor",
@@ -57,7 +57,6 @@ const httpHooks = createHttpHooks();
57
57
  pathname={pathname}
58
58
  query={query}
59
59
  navigate={(to) => router.push(to)}
60
- pageEndpoint={pageEndpoint}
61
60
  httpAdapter={httpHooks}
62
61
  />
63
62
  ```
@@ -77,8 +76,8 @@ const httpHooks = createHttpHooks();
77
76
  - `menus`:导航 / 路由树(`pageId` 引用页面、`layout` 引用布局、
78
77
  `public` 免登录;`path` / `title` 缺省从引用页面继承)
79
78
  - `auth.loginPath`:未登录重定向目标
80
- 3. 懒加载页:实现 `GET {pageEndpoint}/{id}` 返回 PageResource envelope
81
- (缺省 `/api/pages/{id}`,可在 `config.ts` 调整)。
79
+ 3. 懒加载页:实现 `GET /api/pages/{id}` 返回 PageResource envelope
80
+ (路径为框架缺省;需自定义时给 `SitemapApp` 传 `pageEndpoint` prop)。
82
81
  4. 登录 / 登出等接口调用直接在 DSL 中用内置 `request` 动作表达(参考
83
82
  `src/server/sitemap.ts` 的登录页 / 布局 DSL,URL 指向你的真实接口);
84
83
  有客户端服务层时可用内置 `service.call` 动作桥接,`session.context`
@@ -87,7 +86,7 @@ const httpHooks = createHttpHooks();
87
86
  ## 跨域与 HTTP 钩子
88
87
 
89
88
  模板的外部接口以 `apiBaseUrl`(`src/pactor/config.ts`,缺省
90
- `http://localhost:9011`)为基准:`sitemapSources` / `pageEndpoint`
89
+ `http://localhost:9011`)为基准:`sitemapSources`
91
90
  只写相对路径,由 `SitemapApp` 的 `baseUrl` 补全为外部绝对地址。
92
91
  **假定服务端已开通 CORS,浏览器直连,无需项目内代理**——本模板的
93
92
  mock API 已在路由层放开跨源(`src/server/cors.ts`:Allow-Origin 回显
@@ -0,0 +1,7 @@
1
+ # 模板独立安装(pnpm install)时批准运行构建脚本的原生依赖:
2
+ # sharp(Next.js 图片优化可选依赖)与 unrs-resolver(eslint-config-next
3
+ # 依赖链上的原生解析器)。显式批准而非 ignoredBuiltDependencies 静默,
4
+ # 避免 strict-dep-builds / CI 环境下报 ERR_PNPM_IGNORED_BUILDS
5
+ onlyBuiltDependencies:
6
+ - sharp
7
+ - unrs-resolver
@@ -4,14 +4,11 @@
4
4
  * (id / path 冲突后源覆盖前源并告警),app / user / permissions / auth
5
5
  * 取第一个源。
6
6
  *
7
- * 外部接口:sources / pageEndpoint 只写相对路径,由 apiBaseUrl 补全为
8
- * 外部绝对地址;服务端已开通 CORS(cookie 会话见 src/server/cors.ts),
9
- * 浏览器直连,无需项目内代理。
7
+ * 外部接口:sources 只写相对路径,由 apiBaseUrl 补全为外部绝对地址;
8
+ * 服务端已开通 CORS(cookie 会话见 src/server/cors.ts),浏览器直连,
9
+ * 无需项目内代理。
10
10
  */
11
11
  export const sitemapSources: string[] = ["/api/sitemap"];
12
12
 
13
13
  /** 外部接口基准地址(SitemapApp baseUrl):相对接口路径以此为基准补全 */
14
14
  export const apiBaseUrl = "http://localhost:9011";
15
-
16
- /** 懒加载页面端点(pages[].pageDsl 缺省时按 id 获取) */
17
- export const pageEndpoint = (pageId: string): string => `/api/pages/${pageId}`;
@@ -10,7 +10,6 @@ popstate 前进后退)接管全部路由:
10
10
  <SitemapApp
11
11
  sources={sitemapSources} // sitemap 接口(相对路径)
12
12
  baseUrl={apiBaseUrl} // 外部接口基准地址(相对路径补全)
13
- pageEndpoint={pageEndpoint} // 懒加载页面端点
14
13
  httpAdapter={httpHooks} // 框架 createHttpHooks:跨域改写 + 响应拆包
15
14
  />
16
15
  ```
@@ -38,7 +37,7 @@ src/
38
37
  main.tsx # React 入口(导入 @pactor-app/ui/styles.css,必需)
39
38
  pactor/
40
39
  App.tsx # SitemapApp 装配(纯前端模式:零路由配置;HTTP 钩子用框架 createHttpHooks)
41
- config.ts # sitemapSources / apiBaseUrl / pageEndpoint
40
+ config.ts # sitemapSources / apiBaseUrl
42
41
  vite.config.ts # react 插件(无代理:接口服务端已开通 CORS,直连)
43
42
  ```
44
43
 
@@ -61,7 +60,7 @@ vite.config.ts # react 插件(无代理:接口服务端已开通 C
61
60
 
62
61
  外部接口以 `apiBaseUrl`(`src/pactor/config.ts`,缺省
63
62
  `http://localhost:9011`,即 next-app-starter 的 dev server)为基准:
64
- `sitemapSources` / `pageEndpoint` 只写相对路径,由 `baseUrl` 补全为
63
+ `sitemapSources` 只写相对路径,由 `baseUrl` 补全为
65
64
  外部绝对地址。**假定服务端已开通 CORS,浏览器直连,无需项目内代理**——
66
65
  接口方(next-app-starter)已在路由层放开跨源并支持凭据
67
66
  (Allow-Origin 回显 + Allow-Credentials + 预检响应),cookie 会话跨源
@@ -85,8 +84,8 @@ vite.config.ts # react 插件(无代理:接口服务端已开通 C
85
84
  - `menus`:导航 / 路由树(`pageId` 引用页面、`layout` 引用布局、
86
85
  `public` 免登录;`path` / `title` 缺省从引用页面继承)
87
86
  - `auth.loginPath`:未登录重定向目标
88
- 3. 懒加载页:实现 `GET {pageEndpoint}/{id}` 返回 PageResource envelope
89
- (缺省 `/api/pages/{id}`)。
87
+ 3. 懒加载页:实现 `GET /api/pages/{id}` 返回 PageResource envelope
88
+ (路径为框架缺省;需自定义时给 `SitemapApp` 传 `pageEndpoint` prop)。
90
89
  4. 登录 / 登出等接口调用直接在 DSL 中用内置 `request` 动作表达(URL
91
90
  指向你的真实接口);有客户端服务层时可用内置 `service.call` 动作
92
91
  桥接,`session.context` 会话桥由框架内置,均无需自行注册。
@@ -0,0 +1,6 @@
1
+ # 模板独立安装(pnpm install)时批准运行构建脚本的原生依赖:
2
+ # esbuild(vite 依赖链上的原生二进制)。显式批准而非
3
+ # ignoredBuiltDependencies 静默,避免 strict-dep-builds / CI 环境下报
4
+ # ERR_PNPM_IGNORED_BUILDS
5
+ onlyBuiltDependencies:
6
+ - esbuild
@@ -5,14 +5,10 @@
5
5
  * 取第一个源。
6
6
  *
7
7
  * 本模板不自带后端:接口复用 next-app-starter 的 mock API
8
- * (apiBaseUrl 指向其 dev server,已开通 CORS)。sources / pageEndpoint
9
- * 只写相对路径,由 apiBaseUrl 补全为外部绝对地址,浏览器直连,
10
- * 无需项目内代理。
8
+ * (apiBaseUrl 指向其 dev server,已开通 CORS)。sources 只写相对路径,
9
+ * 由 apiBaseUrl 补全为外部绝对地址,浏览器直连,无需项目内代理。
11
10
  */
12
11
  export const sitemapSources: string[] = ["/api/sitemap"];
13
12
 
14
13
  /** 外部接口基准地址(SitemapApp baseUrl):相对接口路径以此为基准补全 */
15
14
  export const apiBaseUrl = "http://localhost:9011";
16
-
17
- /** 懒加载页面端点(pages[].pageDsl 缺省时按 id 获取) */
18
- export const pageEndpoint = (pageId: string): string => `/api/pages/${pageId}`;