@open-wxa/wxa-runner-core 0.6.0 → 0.8.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/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ResolvedBaseLib } from '@open-wxa/wxa-runner-extractor';
2
- import { D as DeviceProfile } from './setup-Cv340Lvj.mjs';
3
- export { A as ApiContext, a as ApiHandler, b as ApiResult, c as AppInfo, M as MockConfig, d as MockRequest, e as MockResponse, f as MockValue, N as NetworkConfig, R as RouteHandler, S as SetupApi, g as SetupConfig, h as SetupContext, i as SetupDefinition } from './setup-Cv340Lvj.mjs';
4
- export { F as FrameError, P as PageSnapshot, R as RecordedRequest, W as WxaTestApi } from './testApi-DO2FyR78.mjs';
2
+ import { D as DeviceProfile, F as ForwardConsole } from './setup-Bac8XdhR.mjs';
3
+ export { A as ApiContext, a as ApiHandler, b as ApiResult, c as AppInfo, M as MockConfig, d as MockRequest, e as MockResponse, f as MockValue, N as NetworkConfig, R as RouteHandler, S as SetupApi, g as SetupConfig, h as SetupContext, i as SetupDefinition } from './setup-Bac8XdhR.mjs';
4
+ export { F as FrameError, P as PageSnapshot, R as RecordedRequest, W as WxaTestApi } from './testApi-DHuEW5Cl.mjs';
5
5
 
6
6
  /**
7
7
  * 小程序项目结构解析
@@ -167,18 +167,22 @@ declare class AppBuilder {
167
167
  * /__wxa__/service-templates.js、page-templates.js 两层的模板(热更新时重新下发)
168
168
  * /__wxa__/page-styles.js 渲染层的样式(热更新时重新下发)
169
169
  * /__baselib__/* 官方基础库
170
- * /__wxa__/proxy?url= 网络代理
171
- * /__wxa__/tmp 临时文件:POST ?type=png 保存,返回可直接访问的地址(GET 支持分段请求);对该地址 HEAD 查大小、DELETE 删除
170
+ * /__wxa__/proxy/<协议>/<域名><路径> 网络代理,如 /__wxa__/proxy/https/api.example.com/a?b=1
171
+ * /__wxa__/mock/<协议>/<域名><路径> 被拦截的请求在 Network 面板里的地址,由 Service Worker(runtime/sw.js)返回响应
172
+ * /__wxa__/fs/<会话> 文件系统接口(FileSystemManager),每个浏览器会话一份文件,会话标识见 runtime/fileSession.ts
173
+ * /__wxa__/tmp/<会话> 临时文件:POST ?type=png 保存,返回可直接访问的地址(GET 支持分段请求);对该地址 HEAD 查大小、DELETE 删除
174
+ * /__wxa__/usr/<会话>/<路径> 用户目录(USER_DATA_PATH)下的文件,image 等组件和 uploadFile 按地址读取
172
175
  * /__wxa__/region/<kind> 地区选择器用的行政区划数据(districts / streets),取自本机开发者工具
173
- * /__wxa__/api/* 真实登录(--real-login):wx.login 的 code、手机号,只允许本机访问
174
- * /__wxa__/ws 文件变化通知:热更新(hot)或整页刷新(reload)
176
+ * /__wxa__/api/* --devtools-login:wx.login 的 code、手机号,服务市场、插件的请求转发,只允许本机访问
177
+ * /__wxa__/ws 文件变化通知:热更新(hot)或整页刷新(reload);开启 forwardConsole 时浏览器从这里发来报错
175
178
  * 其余路径 小程序目录下的静态资源
176
179
  */
177
180
 
178
181
  interface DevServerOptions {
179
182
  projectPath: string;
180
- /** 默认 3000,传 0 使用随机端口 */
183
+ /** 不传时从 3000 起找空闲的端口;指定的端口被占用时启动失败;传 0 使用随机端口 */
181
184
  port?: number;
185
+ /** 监听地址,默认 localhost;0.0.0.0 或 :: 时局域网也能访问 */
182
186
  host?: string;
183
187
  /** 指定基础库版本,默认使用本机已安装的最新兼容版本 */
184
188
  baseLibVersion?: string;
@@ -192,8 +196,18 @@ interface DevServerOptions {
192
196
  setup?: string | false;
193
197
  /** 浏览器端运行时(host.js / frame.js)所在目录,默认取构建产物 */
194
198
  runtimeDir?: string;
195
- /** 使用本机微信开发者工具登录态获取真实 code 和手机号 */
199
+ /**
200
+ * 借本机微信开发者工具的登录态访问微信后台:真实的 wx.login code 和手机号、服务市场、插件。
201
+ * 要先登录开发者工具,会真实请求微信
202
+ */
203
+ devtoolsLogin?: boolean;
204
+ /** @deprecated 改名为 devtoolsLogin */
196
205
  realLogin?: boolean;
206
+ /**
207
+ * 把浏览器里的报错打印到终端:'errors' 转发运行时错误和未实现 API 的提醒,'all' 再加上 console.warn / console.error。
208
+ * 默认不转发;命令行默认 'errors',检测到编程助手时 'all'
209
+ */
210
+ forwardConsole?: ForwardConsole;
197
211
  logger?: Pick<Console, 'log' | 'warn' | 'error'>;
198
212
  }
199
213
  declare const DEFAULT_DEVICE: DeviceProfile;
@@ -212,17 +226,25 @@ declare class DevServer {
212
226
  private sockets;
213
227
  private watcher;
214
228
  private address;
229
+ private lanAccess;
215
230
  /** 运行时生成的临时文件(canvas 导出、拍照等),随服务器进程存在 */
216
- private readonly tempFiles;
217
- /** 开启 --real-login 时才有 */
231
+ private readonly fileSessions;
232
+ private readonly devtoolsLogin;
233
+ /** 开启 --devtools-login 时才有 */
218
234
  private readonly ticketSource;
235
+ private readonly plugins;
219
236
  constructor(options: DevServerOptions);
237
+ /** 本机访问的地址 */
220
238
  get url(): string;
239
+ /** 局域网里其他设备访问的地址,每块网卡一个;只监听本机时为空 */
240
+ get networkUrls(): string[];
221
241
  start(): Promise<string>;
222
242
  close(): Promise<void>;
223
243
  private createApp;
224
244
  /** 先编译一遍 setup:编译错误随 app-info 交给宿主显示,而不是让浏览器 import 失败 */
225
245
  private setupInfo;
246
+ /** 构建结果并入这次打开小程序时决定用的插件 */
247
+ private currentBuild;
226
248
  /** 需要构建结果的路由;构建失败时返回错误文本 */
227
249
  private withBuild;
228
250
  private runtimeDir;
@@ -245,4 +267,4 @@ interface WxConfigInput {
245
267
  }
246
268
  declare function createWxConfig(input: WxConfigInput): Record<string, any>;
247
269
 
248
- export { AppBuilder, type AppJson, type BuildResult, DEFAULT_DEVICE, DevServer, type DevServerOptions, DeviceProfile, MiniProgram, type UnitJson, createWxConfig };
270
+ export { AppBuilder, type AppJson, type BuildResult, DEFAULT_DEVICE, DevServer, type DevServerOptions, DeviceProfile, ForwardConsole, MiniProgram, type UnitJson, createWxConfig };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ResolvedBaseLib } from '@open-wxa/wxa-runner-extractor';
2
- import { D as DeviceProfile } from './setup-Cv340Lvj.js';
3
- export { A as ApiContext, a as ApiHandler, b as ApiResult, c as AppInfo, M as MockConfig, d as MockRequest, e as MockResponse, f as MockValue, N as NetworkConfig, R as RouteHandler, S as SetupApi, g as SetupConfig, h as SetupContext, i as SetupDefinition } from './setup-Cv340Lvj.js';
4
- export { F as FrameError, P as PageSnapshot, R as RecordedRequest, W as WxaTestApi } from './testApi-nKsjjEhz.js';
2
+ import { D as DeviceProfile, F as ForwardConsole } from './setup-Bac8XdhR.js';
3
+ export { A as ApiContext, a as ApiHandler, b as ApiResult, c as AppInfo, M as MockConfig, d as MockRequest, e as MockResponse, f as MockValue, N as NetworkConfig, R as RouteHandler, S as SetupApi, g as SetupConfig, h as SetupContext, i as SetupDefinition } from './setup-Bac8XdhR.js';
4
+ export { F as FrameError, P as PageSnapshot, R as RecordedRequest, W as WxaTestApi } from './testApi-BOZSXSnV.js';
5
5
 
6
6
  /**
7
7
  * 小程序项目结构解析
@@ -167,18 +167,22 @@ declare class AppBuilder {
167
167
  * /__wxa__/service-templates.js、page-templates.js 两层的模板(热更新时重新下发)
168
168
  * /__wxa__/page-styles.js 渲染层的样式(热更新时重新下发)
169
169
  * /__baselib__/* 官方基础库
170
- * /__wxa__/proxy?url= 网络代理
171
- * /__wxa__/tmp 临时文件:POST ?type=png 保存,返回可直接访问的地址(GET 支持分段请求);对该地址 HEAD 查大小、DELETE 删除
170
+ * /__wxa__/proxy/<协议>/<域名><路径> 网络代理,如 /__wxa__/proxy/https/api.example.com/a?b=1
171
+ * /__wxa__/mock/<协议>/<域名><路径> 被拦截的请求在 Network 面板里的地址,由 Service Worker(runtime/sw.js)返回响应
172
+ * /__wxa__/fs/<会话> 文件系统接口(FileSystemManager),每个浏览器会话一份文件,会话标识见 runtime/fileSession.ts
173
+ * /__wxa__/tmp/<会话> 临时文件:POST ?type=png 保存,返回可直接访问的地址(GET 支持分段请求);对该地址 HEAD 查大小、DELETE 删除
174
+ * /__wxa__/usr/<会话>/<路径> 用户目录(USER_DATA_PATH)下的文件,image 等组件和 uploadFile 按地址读取
172
175
  * /__wxa__/region/<kind> 地区选择器用的行政区划数据(districts / streets),取自本机开发者工具
173
- * /__wxa__/api/* 真实登录(--real-login):wx.login 的 code、手机号,只允许本机访问
174
- * /__wxa__/ws 文件变化通知:热更新(hot)或整页刷新(reload)
176
+ * /__wxa__/api/* --devtools-login:wx.login 的 code、手机号,服务市场、插件的请求转发,只允许本机访问
177
+ * /__wxa__/ws 文件变化通知:热更新(hot)或整页刷新(reload);开启 forwardConsole 时浏览器从这里发来报错
175
178
  * 其余路径 小程序目录下的静态资源
176
179
  */
177
180
 
178
181
  interface DevServerOptions {
179
182
  projectPath: string;
180
- /** 默认 3000,传 0 使用随机端口 */
183
+ /** 不传时从 3000 起找空闲的端口;指定的端口被占用时启动失败;传 0 使用随机端口 */
181
184
  port?: number;
185
+ /** 监听地址,默认 localhost;0.0.0.0 或 :: 时局域网也能访问 */
182
186
  host?: string;
183
187
  /** 指定基础库版本,默认使用本机已安装的最新兼容版本 */
184
188
  baseLibVersion?: string;
@@ -192,8 +196,18 @@ interface DevServerOptions {
192
196
  setup?: string | false;
193
197
  /** 浏览器端运行时(host.js / frame.js)所在目录,默认取构建产物 */
194
198
  runtimeDir?: string;
195
- /** 使用本机微信开发者工具登录态获取真实 code 和手机号 */
199
+ /**
200
+ * 借本机微信开发者工具的登录态访问微信后台:真实的 wx.login code 和手机号、服务市场、插件。
201
+ * 要先登录开发者工具,会真实请求微信
202
+ */
203
+ devtoolsLogin?: boolean;
204
+ /** @deprecated 改名为 devtoolsLogin */
196
205
  realLogin?: boolean;
206
+ /**
207
+ * 把浏览器里的报错打印到终端:'errors' 转发运行时错误和未实现 API 的提醒,'all' 再加上 console.warn / console.error。
208
+ * 默认不转发;命令行默认 'errors',检测到编程助手时 'all'
209
+ */
210
+ forwardConsole?: ForwardConsole;
197
211
  logger?: Pick<Console, 'log' | 'warn' | 'error'>;
198
212
  }
199
213
  declare const DEFAULT_DEVICE: DeviceProfile;
@@ -212,17 +226,25 @@ declare class DevServer {
212
226
  private sockets;
213
227
  private watcher;
214
228
  private address;
229
+ private lanAccess;
215
230
  /** 运行时生成的临时文件(canvas 导出、拍照等),随服务器进程存在 */
216
- private readonly tempFiles;
217
- /** 开启 --real-login 时才有 */
231
+ private readonly fileSessions;
232
+ private readonly devtoolsLogin;
233
+ /** 开启 --devtools-login 时才有 */
218
234
  private readonly ticketSource;
235
+ private readonly plugins;
219
236
  constructor(options: DevServerOptions);
237
+ /** 本机访问的地址 */
220
238
  get url(): string;
239
+ /** 局域网里其他设备访问的地址,每块网卡一个;只监听本机时为空 */
240
+ get networkUrls(): string[];
221
241
  start(): Promise<string>;
222
242
  close(): Promise<void>;
223
243
  private createApp;
224
244
  /** 先编译一遍 setup:编译错误随 app-info 交给宿主显示,而不是让浏览器 import 失败 */
225
245
  private setupInfo;
246
+ /** 构建结果并入这次打开小程序时决定用的插件 */
247
+ private currentBuild;
226
248
  /** 需要构建结果的路由;构建失败时返回错误文本 */
227
249
  private withBuild;
228
250
  private runtimeDir;
@@ -245,4 +267,4 @@ interface WxConfigInput {
245
267
  }
246
268
  declare function createWxConfig(input: WxConfigInput): Record<string, any>;
247
269
 
248
- export { AppBuilder, type AppJson, type BuildResult, DEFAULT_DEVICE, DevServer, type DevServerOptions, DeviceProfile, MiniProgram, type UnitJson, createWxConfig };
270
+ export { AppBuilder, type AppJson, type BuildResult, DEFAULT_DEVICE, DevServer, type DevServerOptions, DeviceProfile, ForwardConsole, MiniProgram, type UnitJson, createWxConfig };