miaoda-expo-devkit 0.1.1-beta.61 → 0.1.1-beta.63

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/metro.d.mts CHANGED
@@ -111,6 +111,7 @@ declare function withRouteEndpoint(config: MetroConfig, options: RouteEndpointOp
111
111
  * withDevkit — 一站式 Metro 配置入口
112
112
  *
113
113
  * 按固定顺序依次应用:
114
+ * withPersistentCache — 将 Metro transform cache 固定到项目目录(.metro-cache/),重启不丢失
114
115
  * withWorkspaceNodeModules — 修复沙箱中 node_modules 位于祖先目录时的模块解析问题
115
116
  * withWasmSupport — 将 .wasm 加入 assetExts,修复 expo-sqlite web worker 打包失败
116
117
  * withCssInterop — 为 expo-image / expo-camera 等注入 NativeWind cssInterop
@@ -153,8 +154,11 @@ declare function withDevkit(config: MetroConfig, options?: DevkitOptions): Metro
153
154
  /**
154
155
  * withDevStubs — 开发阶段模块替换
155
156
  *
156
- * 1. web:@expo/log-box / ErrorOverlayWebControls → no-op stub(屏蔽全屏错误遮罩)
157
+ * 1. web:@expo/log-box 及其所有子路径 → no-op stub(屏蔽全屏错误遮罩及其传递依赖 pretty-format 等)
157
158
  * 2. 所有平台:@sentry/react-native → stub(替换 DSN,注入内置捕获器)
159
+ * 3. 所有平台:@sentry-internal/replay → no-op stub(跳过 308KB 转译,约节省 1.27s)
160
+ * 4. 所有平台:@sentry-internal/replay-canvas → no-op stub
161
+ * 5. 所有平台:@sentry-internal/feedback → no-op stub
158
162
  */
159
163
 
160
164
  /**
@@ -430,4 +434,22 @@ declare function withWasmSupport(config: MetroConfig): MetroConfig;
430
434
  */
431
435
  declare function withTransformLogger(config: MetroConfig): MetroConfig;
432
436
 
433
- export { type DevkitOptions, type InjectOptions, type PatchNativeWindCacheOptions, type RouteEndpointOptions, patchNativeWindCachePath, withCssInterop, withDevStubs, withDevkit, withEntryInjection, withEsbuildMinify, withExpoCalendarStub, withExpoContactsStub, withExpoFileSystemStub, withExpoHapticsStub, withExpoImagePickerStub, withExpoMediaLibraryStub, withExpoNotificationsStub, withLucideResolver, withNativeWind, withRouteEndpoint, withTransformLogger, withWasmSupport, withWorkspaceNodeModules };
437
+ /**
438
+ * withPersistentCache — 将 Metro transform cache 固定到项目目录
439
+ *
440
+ * 默认 Metro cache 位于系统临时目录,重启后丢失,每次都是冷启动。
441
+ * 此 wrapper 将 cacheStores 替换为项目根目录下的 .metro-cache/,持久保留。
442
+ *
443
+ * cache key 由文件内容 sha1 + 相对路径 + Babel/Metro 版本共同决定,
444
+ * 与项目绝对路径无关,换目录 clone 后缓存同样有效。
445
+ */
446
+
447
+ interface PersistentCacheOptions {
448
+ /**
449
+ * cache 目录,相对于 projectRoot。默认:'.metro-cache'
450
+ */
451
+ cacheDir?: string;
452
+ }
453
+ declare function withPersistentCache(config: MetroConfig, options?: PersistentCacheOptions): MetroConfig;
454
+
455
+ export { type DevkitOptions, type InjectOptions, type PatchNativeWindCacheOptions, type PersistentCacheOptions, type RouteEndpointOptions, patchNativeWindCachePath, withCssInterop, withDevStubs, withDevkit, withEntryInjection, withEsbuildMinify, withExpoCalendarStub, withExpoContactsStub, withExpoFileSystemStub, withExpoHapticsStub, withExpoImagePickerStub, withExpoMediaLibraryStub, withExpoNotificationsStub, withLucideResolver, withNativeWind, withPersistentCache, withRouteEndpoint, withTransformLogger, withWasmSupport, withWorkspaceNodeModules };
package/dist/metro.d.ts CHANGED
@@ -111,6 +111,7 @@ declare function withRouteEndpoint(config: MetroConfig, options: RouteEndpointOp
111
111
  * withDevkit — 一站式 Metro 配置入口
112
112
  *
113
113
  * 按固定顺序依次应用:
114
+ * withPersistentCache — 将 Metro transform cache 固定到项目目录(.metro-cache/),重启不丢失
114
115
  * withWorkspaceNodeModules — 修复沙箱中 node_modules 位于祖先目录时的模块解析问题
115
116
  * withWasmSupport — 将 .wasm 加入 assetExts,修复 expo-sqlite web worker 打包失败
116
117
  * withCssInterop — 为 expo-image / expo-camera 等注入 NativeWind cssInterop
@@ -153,8 +154,11 @@ declare function withDevkit(config: MetroConfig, options?: DevkitOptions): Metro
153
154
  /**
154
155
  * withDevStubs — 开发阶段模块替换
155
156
  *
156
- * 1. web:@expo/log-box / ErrorOverlayWebControls → no-op stub(屏蔽全屏错误遮罩)
157
+ * 1. web:@expo/log-box 及其所有子路径 → no-op stub(屏蔽全屏错误遮罩及其传递依赖 pretty-format 等)
157
158
  * 2. 所有平台:@sentry/react-native → stub(替换 DSN,注入内置捕获器)
159
+ * 3. 所有平台:@sentry-internal/replay → no-op stub(跳过 308KB 转译,约节省 1.27s)
160
+ * 4. 所有平台:@sentry-internal/replay-canvas → no-op stub
161
+ * 5. 所有平台:@sentry-internal/feedback → no-op stub
158
162
  */
159
163
 
160
164
  /**
@@ -430,4 +434,22 @@ declare function withWasmSupport(config: MetroConfig): MetroConfig;
430
434
  */
431
435
  declare function withTransformLogger(config: MetroConfig): MetroConfig;
432
436
 
433
- export { type DevkitOptions, type InjectOptions, type PatchNativeWindCacheOptions, type RouteEndpointOptions, patchNativeWindCachePath, withCssInterop, withDevStubs, withDevkit, withEntryInjection, withEsbuildMinify, withExpoCalendarStub, withExpoContactsStub, withExpoFileSystemStub, withExpoHapticsStub, withExpoImagePickerStub, withExpoMediaLibraryStub, withExpoNotificationsStub, withLucideResolver, withNativeWind, withRouteEndpoint, withTransformLogger, withWasmSupport, withWorkspaceNodeModules };
437
+ /**
438
+ * withPersistentCache — 将 Metro transform cache 固定到项目目录
439
+ *
440
+ * 默认 Metro cache 位于系统临时目录,重启后丢失,每次都是冷启动。
441
+ * 此 wrapper 将 cacheStores 替换为项目根目录下的 .metro-cache/,持久保留。
442
+ *
443
+ * cache key 由文件内容 sha1 + 相对路径 + Babel/Metro 版本共同决定,
444
+ * 与项目绝对路径无关,换目录 clone 后缓存同样有效。
445
+ */
446
+
447
+ interface PersistentCacheOptions {
448
+ /**
449
+ * cache 目录,相对于 projectRoot。默认:'.metro-cache'
450
+ */
451
+ cacheDir?: string;
452
+ }
453
+ declare function withPersistentCache(config: MetroConfig, options?: PersistentCacheOptions): MetroConfig;
454
+
455
+ export { type DevkitOptions, type InjectOptions, type PatchNativeWindCacheOptions, type PersistentCacheOptions, type RouteEndpointOptions, patchNativeWindCachePath, withCssInterop, withDevStubs, withDevkit, withEntryInjection, withEsbuildMinify, withExpoCalendarStub, withExpoContactsStub, withExpoFileSystemStub, withExpoHapticsStub, withExpoImagePickerStub, withExpoMediaLibraryStub, withExpoNotificationsStub, withLucideResolver, withNativeWind, withPersistentCache, withRouteEndpoint, withTransformLogger, withWasmSupport, withWorkspaceNodeModules };
package/dist/metro.js CHANGED
@@ -45,6 +45,7 @@ __export(metro_exports, {
45
45
  withExpoNotificationsStub: () => withExpoNotificationsStub,
46
46
  withLucideResolver: () => withLucideResolver,
47
47
  withNativeWind: () => withNativeWind,
48
+ withPersistentCache: () => withPersistentCache,
48
49
  withRouteEndpoint: () => withRouteEndpoint,
49
50
  withTransformLogger: () => withTransformLogger,
50
51
  withWasmSupport: () => withWasmSupport,
@@ -92,17 +93,29 @@ var import_path2 = __toESM(require("path"));
92
93
  var SENTRY_STUB_FILENAME = "sentry-react-native-stub.js";
93
94
  var SENTRY_STUB_PATH = import_path2.default.resolve(__dirname, "stubs", SENTRY_STUB_FILENAME);
94
95
  var NO_OP_LOGBOX_STUB_PATH = import_path2.default.resolve(__dirname, "stubs", "no-op-logbox.js");
96
+ var SENTRY_REPLAY_STUB_PATH = import_path2.default.resolve(__dirname, "stubs", "sentry-replay-stub.js");
97
+ var SENTRY_REPLAY_CANVAS_STUB_PATH = import_path2.default.resolve(__dirname, "stubs", "sentry-replay-canvas-stub.js");
98
+ var SENTRY_FEEDBACK_STUB_PATH = import_path2.default.resolve(__dirname, "stubs", "sentry-feedback-stub.js");
95
99
  function withDevStubs(config) {
96
100
  const upstream = config.resolver?.resolveRequest ?? null;
97
101
  const resolveRequest = (context, moduleName, platform) => {
98
102
  if (platform === "web" && __DEV__) {
99
- if (moduleName === "@expo/log-box" || moduleName === "@expo/log-box/lib" || moduleName.endsWith("ErrorOverlayWebControls")) {
103
+ if (moduleName.startsWith("@expo/log-box") || moduleName.endsWith("ErrorOverlayWebControls")) {
100
104
  return { filePath: NO_OP_LOGBOX_STUB_PATH, type: "sourceFile" };
101
105
  }
102
106
  }
103
107
  if (moduleName === "@sentry/react-native" && !context.originModulePath.includes(SENTRY_STUB_FILENAME)) {
104
108
  return { filePath: SENTRY_STUB_PATH, type: "sourceFile" };
105
109
  }
110
+ if (moduleName === "@sentry-internal/replay") {
111
+ return { filePath: SENTRY_REPLAY_STUB_PATH, type: "sourceFile" };
112
+ }
113
+ if (moduleName === "@sentry-internal/replay-canvas") {
114
+ return { filePath: SENTRY_REPLAY_CANVAS_STUB_PATH, type: "sourceFile" };
115
+ }
116
+ if (moduleName === "@sentry-internal/feedback") {
117
+ return { filePath: SENTRY_FEEDBACK_STUB_PATH, type: "sourceFile" };
118
+ }
106
119
  if (upstream) return upstream(context, moduleName, platform);
107
120
  return context.resolveRequest(context, moduleName, platform);
108
121
  };
@@ -291,7 +304,7 @@ function withCssInterop(config) {
291
304
  }
292
305
 
293
306
  // src/metro/withDevkit.ts
294
- var import_path13 = __toESM(require("path"));
307
+ var import_path14 = __toESM(require("path"));
295
308
 
296
309
  // src/metro/withEsbuildMinify.ts
297
310
  function withEsbuildMinify(config) {
@@ -543,11 +556,25 @@ function withTransformLogger(config) {
543
556
  };
544
557
  }
545
558
 
559
+ // src/metro/withPersistentCache.ts
560
+ var import_path13 = __toESM(require("path"));
561
+ var import_metro_cache = require("metro-cache");
562
+ function withPersistentCache(config, options = {}) {
563
+ const projectRoot = config.projectRoot ?? process.cwd();
564
+ const { cacheDir = ".metro-cache" } = options;
565
+ const cacheRoot = import_path13.default.join(projectRoot, cacheDir);
566
+ return {
567
+ ...config,
568
+ cacheStores: [new import_metro_cache.FileStore({ root: cacheRoot })]
569
+ };
570
+ }
571
+
546
572
  // src/metro/withDevkit.ts
547
573
  function withDevkit(config, options = {}) {
548
574
  const projectRoot = config.projectRoot ?? process.cwd();
549
575
  const { input = "./src/global.css" } = options;
550
576
  config = withTransformLogger(config);
577
+ config = withPersistentCache(config);
551
578
  config = withWorkspaceNodeModules(config);
552
579
  config = withWasmSupport(config);
553
580
  config = withCssInterop(config);
@@ -561,15 +588,15 @@ function withDevkit(config, options = {}) {
561
588
  if (typeof __DEV__ !== "undefined" && __DEV__) {
562
589
  config = withEntryInjection(config);
563
590
  config = withDevStubs(config);
564
- config = withRouteEndpoint(config, { appDir: import_path13.default.join(projectRoot, "src", "app") });
591
+ config = withRouteEndpoint(config, { appDir: import_path14.default.join(projectRoot, "src", "app") });
565
592
  }
566
593
  return withNativeWind(config, { input, inlineRem: 16 });
567
594
  }
568
595
 
569
596
  // src/metro/withExpoHapticsStub.ts
570
- var import_path14 = __toESM(require("path"));
597
+ var import_path15 = __toESM(require("path"));
571
598
  var EXPO_HAPTICS_STUB_FILENAME = "expo-haptics-stub.js";
572
- var EXPO_HAPTICS_STUB_PATH = import_path14.default.resolve(__dirname, "stubs", EXPO_HAPTICS_STUB_FILENAME);
599
+ var EXPO_HAPTICS_STUB_PATH = import_path15.default.resolve(__dirname, "stubs", EXPO_HAPTICS_STUB_FILENAME);
573
600
  function withExpoHapticsStub(config) {
574
601
  const upstream = config.resolver?.resolveRequest ?? null;
575
602
  const resolveRequest = (context, moduleName, platform) => {
@@ -583,9 +610,9 @@ function withExpoHapticsStub(config) {
583
610
  }
584
611
 
585
612
  // src/metro/withExpoContactsStub.ts
586
- var import_path15 = __toESM(require("path"));
613
+ var import_path16 = __toESM(require("path"));
587
614
  var EXPO_CONTACTS_STUB_FILENAME = "expo-contacts-stub.js";
588
- var EXPO_CONTACTS_STUB_PATH = import_path15.default.resolve(
615
+ var EXPO_CONTACTS_STUB_PATH = import_path16.default.resolve(
589
616
  __dirname,
590
617
  "stubs",
591
618
  EXPO_CONTACTS_STUB_FILENAME
@@ -626,6 +653,7 @@ try {
626
653
  withExpoNotificationsStub,
627
654
  withLucideResolver,
628
655
  withNativeWind,
656
+ withPersistentCache,
629
657
  withRouteEndpoint,
630
658
  withTransformLogger,
631
659
  withWasmSupport,
package/dist/metro.mjs CHANGED
@@ -45,17 +45,29 @@ import path2 from "path";
45
45
  var SENTRY_STUB_FILENAME = "sentry-react-native-stub.js";
46
46
  var SENTRY_STUB_PATH = path2.resolve(__dirname, "stubs", SENTRY_STUB_FILENAME);
47
47
  var NO_OP_LOGBOX_STUB_PATH = path2.resolve(__dirname, "stubs", "no-op-logbox.js");
48
+ var SENTRY_REPLAY_STUB_PATH = path2.resolve(__dirname, "stubs", "sentry-replay-stub.js");
49
+ var SENTRY_REPLAY_CANVAS_STUB_PATH = path2.resolve(__dirname, "stubs", "sentry-replay-canvas-stub.js");
50
+ var SENTRY_FEEDBACK_STUB_PATH = path2.resolve(__dirname, "stubs", "sentry-feedback-stub.js");
48
51
  function withDevStubs(config) {
49
52
  const upstream = config.resolver?.resolveRequest ?? null;
50
53
  const resolveRequest = (context, moduleName, platform) => {
51
54
  if (platform === "web" && __DEV__) {
52
- if (moduleName === "@expo/log-box" || moduleName === "@expo/log-box/lib" || moduleName.endsWith("ErrorOverlayWebControls")) {
55
+ if (moduleName.startsWith("@expo/log-box") || moduleName.endsWith("ErrorOverlayWebControls")) {
53
56
  return { filePath: NO_OP_LOGBOX_STUB_PATH, type: "sourceFile" };
54
57
  }
55
58
  }
56
59
  if (moduleName === "@sentry/react-native" && !context.originModulePath.includes(SENTRY_STUB_FILENAME)) {
57
60
  return { filePath: SENTRY_STUB_PATH, type: "sourceFile" };
58
61
  }
62
+ if (moduleName === "@sentry-internal/replay") {
63
+ return { filePath: SENTRY_REPLAY_STUB_PATH, type: "sourceFile" };
64
+ }
65
+ if (moduleName === "@sentry-internal/replay-canvas") {
66
+ return { filePath: SENTRY_REPLAY_CANVAS_STUB_PATH, type: "sourceFile" };
67
+ }
68
+ if (moduleName === "@sentry-internal/feedback") {
69
+ return { filePath: SENTRY_FEEDBACK_STUB_PATH, type: "sourceFile" };
70
+ }
59
71
  if (upstream) return upstream(context, moduleName, platform);
60
72
  return context.resolveRequest(context, moduleName, platform);
61
73
  };
@@ -244,7 +256,7 @@ function withCssInterop(config) {
244
256
  }
245
257
 
246
258
  // src/metro/withDevkit.ts
247
- import path14 from "path";
259
+ import path15 from "path";
248
260
 
249
261
  // src/metro/withEsbuildMinify.ts
250
262
  function withEsbuildMinify(config) {
@@ -496,11 +508,25 @@ function withTransformLogger(config) {
496
508
  };
497
509
  }
498
510
 
511
+ // src/metro/withPersistentCache.ts
512
+ import path14 from "path";
513
+ import { FileStore } from "metro-cache";
514
+ function withPersistentCache(config, options = {}) {
515
+ const projectRoot = config.projectRoot ?? process.cwd();
516
+ const { cacheDir = ".metro-cache" } = options;
517
+ const cacheRoot = path14.join(projectRoot, cacheDir);
518
+ return {
519
+ ...config,
520
+ cacheStores: [new FileStore({ root: cacheRoot })]
521
+ };
522
+ }
523
+
499
524
  // src/metro/withDevkit.ts
500
525
  function withDevkit(config, options = {}) {
501
526
  const projectRoot = config.projectRoot ?? process.cwd();
502
527
  const { input = "./src/global.css" } = options;
503
528
  config = withTransformLogger(config);
529
+ config = withPersistentCache(config);
504
530
  config = withWorkspaceNodeModules(config);
505
531
  config = withWasmSupport(config);
506
532
  config = withCssInterop(config);
@@ -514,15 +540,15 @@ function withDevkit(config, options = {}) {
514
540
  if (typeof __DEV__ !== "undefined" && __DEV__) {
515
541
  config = withEntryInjection(config);
516
542
  config = withDevStubs(config);
517
- config = withRouteEndpoint(config, { appDir: path14.join(projectRoot, "src", "app") });
543
+ config = withRouteEndpoint(config, { appDir: path15.join(projectRoot, "src", "app") });
518
544
  }
519
545
  return withNativeWind(config, { input, inlineRem: 16 });
520
546
  }
521
547
 
522
548
  // src/metro/withExpoHapticsStub.ts
523
- import path15 from "path";
549
+ import path16 from "path";
524
550
  var EXPO_HAPTICS_STUB_FILENAME = "expo-haptics-stub.js";
525
- var EXPO_HAPTICS_STUB_PATH = path15.resolve(__dirname, "stubs", EXPO_HAPTICS_STUB_FILENAME);
551
+ var EXPO_HAPTICS_STUB_PATH = path16.resolve(__dirname, "stubs", EXPO_HAPTICS_STUB_FILENAME);
526
552
  function withExpoHapticsStub(config) {
527
553
  const upstream = config.resolver?.resolveRequest ?? null;
528
554
  const resolveRequest = (context, moduleName, platform) => {
@@ -536,9 +562,9 @@ function withExpoHapticsStub(config) {
536
562
  }
537
563
 
538
564
  // src/metro/withExpoContactsStub.ts
539
- import path16 from "path";
565
+ import path17 from "path";
540
566
  var EXPO_CONTACTS_STUB_FILENAME = "expo-contacts-stub.js";
541
- var EXPO_CONTACTS_STUB_PATH = path16.resolve(
567
+ var EXPO_CONTACTS_STUB_PATH = path17.resolve(
542
568
  __dirname,
543
569
  "stubs",
544
570
  EXPO_CONTACTS_STUB_FILENAME
@@ -578,6 +604,7 @@ export {
578
604
  withExpoNotificationsStub,
579
605
  withLucideResolver,
580
606
  withNativeWind,
607
+ withPersistentCache,
581
608
  withRouteEndpoint,
582
609
  withTransformLogger,
583
610
  withWasmSupport,
@@ -1,9 +1,4 @@
1
1
  "use strict";
2
2
  var import_entry_inject = require("./entry-inject");
3
3
  var import_entry_classic = require("expo-router/entry-classic");
4
- var import_navigation_guard_spy = require("./navigation-guard-spy");
5
- (0, import_navigation_guard_spy.setupNavigationGuardSpy)(
6
- require("expo-router"),
7
- require("expo-router/build/global-state/router-store").store
8
- );
9
4
  //# sourceMappingURL=expo-router-entry-stub.js.map
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var sentry_feedback_stub_exports = {};
20
+ __export(sentry_feedback_stub_exports, {
21
+ buildFeedbackIntegration: () => buildFeedbackIntegration,
22
+ feedbackAsyncIntegration: () => feedbackAsyncIntegration,
23
+ feedbackIntegration: () => feedbackIntegration,
24
+ feedbackModalIntegration: () => feedbackModalIntegration,
25
+ feedbackScreenshotIntegration: () => feedbackScreenshotIntegration,
26
+ feedbackSyncIntegration: () => feedbackSyncIntegration,
27
+ getFeedback: () => getFeedback,
28
+ sendFeedback: () => sendFeedback
29
+ });
30
+ module.exports = __toCommonJS(sentry_feedback_stub_exports);
31
+ function noopIntegration(name) {
32
+ return { name, setup() {
33
+ } };
34
+ }
35
+ const feedbackIntegration = () => noopIntegration("Feedback");
36
+ const feedbackSyncIntegration = () => noopIntegration("Feedback");
37
+ const feedbackAsyncIntegration = () => noopIntegration("FeedbackAsync");
38
+ const feedbackModalIntegration = () => noopIntegration("FeedbackModal");
39
+ const feedbackScreenshotIntegration = () => noopIntegration("FeedbackScreenshot");
40
+ function buildFeedbackIntegration() {
41
+ return noopIntegration("Feedback");
42
+ }
43
+ function getFeedback() {
44
+ return void 0;
45
+ }
46
+ function sendFeedback() {
47
+ return Promise.reject(new Error("Feedback is disabled in dev"));
48
+ }
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ buildFeedbackIntegration,
52
+ feedbackAsyncIntegration,
53
+ feedbackIntegration,
54
+ feedbackModalIntegration,
55
+ feedbackScreenshotIntegration,
56
+ feedbackSyncIntegration,
57
+ getFeedback,
58
+ sendFeedback
59
+ });
60
+ //# sourceMappingURL=sentry-feedback-stub.js.map
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var sentry_replay_canvas_stub_exports = {};
20
+ __export(sentry_replay_canvas_stub_exports, {
21
+ replayCanvasIntegration: () => replayCanvasIntegration
22
+ });
23
+ module.exports = __toCommonJS(sentry_replay_canvas_stub_exports);
24
+ function replayCanvasIntegration() {
25
+ return {
26
+ name: "ReplayCanvas",
27
+ setup() {
28
+ }
29
+ };
30
+ }
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ replayCanvasIntegration
34
+ });
35
+ //# sourceMappingURL=sentry-replay-canvas-stub.js.map
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var sentry_replay_stub_exports = {};
20
+ __export(sentry_replay_stub_exports, {
21
+ getReplay: () => getReplay,
22
+ replayIntegration: () => replayIntegration
23
+ });
24
+ module.exports = __toCommonJS(sentry_replay_stub_exports);
25
+ function noopIntegration() {
26
+ return {
27
+ name: "Replay",
28
+ setup() {
29
+ }
30
+ };
31
+ }
32
+ const replayIntegration = noopIntegration;
33
+ function getReplay() {
34
+ return void 0;
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ getReplay,
39
+ replayIntegration
40
+ });
41
+ //# sourceMappingURL=sentry-replay-stub.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miaoda-expo-devkit",
3
- "version": "0.1.1-beta.61",
3
+ "version": "0.1.1-beta.63",
4
4
  "description": "Expo 应用开发工具集:Sentry DSN 替换 stub、错误/网络捕获、Metro 符号化",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -86,6 +86,7 @@
86
86
  "@sentry/core": "^10.38.0",
87
87
  "@sentry/react-native": ">=8.0.0",
88
88
  "metro": ">=0.80.0",
89
+ "metro-cache": ">=0.80.0",
89
90
  "metro-config": ">=0.80.0",
90
91
  "metro-core": ">=0.80.0",
91
92
  "metro-resolver": ">=0.80.0",
@@ -104,6 +105,9 @@
104
105
  "metro": {
105
106
  "optional": true
106
107
  },
108
+ "metro-cache": {
109
+ "optional": true
110
+ },
107
111
  "metro-config": {
108
112
  "optional": true
109
113
  },