miaoda-expo-devkit 0.1.1-beta.62 → 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 +24 -2
- package/dist/metro.d.ts +24 -2
- package/dist/metro.js +35 -7
- package/dist/metro.mjs +34 -7
- package/dist/stubs/sentry-feedback-stub.js +60 -0
- package/dist/stubs/sentry-replay-canvas-stub.js +35 -0
- package/dist/stubs/sentry-replay-stub.js +41 -0
- package/package.json +5 -1
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
597
|
+
var import_path15 = __toESM(require("path"));
|
|
571
598
|
var EXPO_HAPTICS_STUB_FILENAME = "expo-haptics-stub.js";
|
|
572
|
-
var EXPO_HAPTICS_STUB_PATH =
|
|
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
|
|
613
|
+
var import_path16 = __toESM(require("path"));
|
|
587
614
|
var EXPO_CONTACTS_STUB_FILENAME = "expo-contacts-stub.js";
|
|
588
|
-
var EXPO_CONTACTS_STUB_PATH =
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
549
|
+
import path16 from "path";
|
|
524
550
|
var EXPO_HAPTICS_STUB_FILENAME = "expo-haptics-stub.js";
|
|
525
|
-
var EXPO_HAPTICS_STUB_PATH =
|
|
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
|
|
565
|
+
import path17 from "path";
|
|
540
566
|
var EXPO_CONTACTS_STUB_FILENAME = "expo-contacts-stub.js";
|
|
541
|
-
var EXPO_CONTACTS_STUB_PATH =
|
|
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,
|
|
@@ -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.
|
|
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
|
},
|