miaoda-expo-devkit 0.1.1-beta.62 → 0.1.1-beta.64
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 +25 -2
- package/dist/metro.d.ts +25 -2
- package/dist/metro.js +38 -7
- package/dist/metro.mjs +37 -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,23 @@ 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 默认将 transform cache 写入系统临时目录(os.tmpdir()/metro-cache),
|
|
441
|
+
* 系统随时可以清理,导致每次重启都是冷启动。
|
|
442
|
+
* 此 wrapper 将 cacheStores 替换为项目根目录下的 .metro-cache/,持久保留。
|
|
443
|
+
*
|
|
444
|
+
* cache key 由文件内容 sha1 + 相对路径 + Babel/Metro 版本共同决定,
|
|
445
|
+
* 与项目绝对路径无关,换目录 clone 后缓存同样有效。
|
|
446
|
+
*/
|
|
447
|
+
|
|
448
|
+
interface PersistentCacheOptions {
|
|
449
|
+
/**
|
|
450
|
+
* cache 目录,相对于 projectRoot。默认:'.metro-cache'
|
|
451
|
+
*/
|
|
452
|
+
cacheDir?: string;
|
|
453
|
+
}
|
|
454
|
+
declare function withPersistentCache(config: MetroConfig, options?: PersistentCacheOptions): MetroConfig;
|
|
455
|
+
|
|
456
|
+
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,23 @@ 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 默认将 transform cache 写入系统临时目录(os.tmpdir()/metro-cache),
|
|
441
|
+
* 系统随时可以清理,导致每次重启都是冷启动。
|
|
442
|
+
* 此 wrapper 将 cacheStores 替换为项目根目录下的 .metro-cache/,持久保留。
|
|
443
|
+
*
|
|
444
|
+
* cache key 由文件内容 sha1 + 相对路径 + Babel/Metro 版本共同决定,
|
|
445
|
+
* 与项目绝对路径无关,换目录 clone 后缓存同样有效。
|
|
446
|
+
*/
|
|
447
|
+
|
|
448
|
+
interface PersistentCacheOptions {
|
|
449
|
+
/**
|
|
450
|
+
* cache 目录,相对于 projectRoot。默认:'.metro-cache'
|
|
451
|
+
*/
|
|
452
|
+
cacheDir?: string;
|
|
453
|
+
}
|
|
454
|
+
declare function withPersistentCache(config: MetroConfig, options?: PersistentCacheOptions): MetroConfig;
|
|
455
|
+
|
|
456
|
+
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,28 @@ 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
|
+
const existingStores = config.cacheStores;
|
|
567
|
+
const firstStore = Array.isArray(existingStores) ? existingStores[0] : void 0;
|
|
568
|
+
const StoreClass = firstStore ? Object.getPrototypeOf(firstStore).constructor : import_metro_cache.FileStore;
|
|
569
|
+
return {
|
|
570
|
+
...config,
|
|
571
|
+
cacheStores: [new StoreClass({ root: cacheRoot })]
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
|
|
546
575
|
// src/metro/withDevkit.ts
|
|
547
576
|
function withDevkit(config, options = {}) {
|
|
548
577
|
const projectRoot = config.projectRoot ?? process.cwd();
|
|
549
578
|
const { input = "./src/global.css" } = options;
|
|
550
579
|
config = withTransformLogger(config);
|
|
580
|
+
config = withPersistentCache(config);
|
|
551
581
|
config = withWorkspaceNodeModules(config);
|
|
552
582
|
config = withWasmSupport(config);
|
|
553
583
|
config = withCssInterop(config);
|
|
@@ -561,15 +591,15 @@ function withDevkit(config, options = {}) {
|
|
|
561
591
|
if (typeof __DEV__ !== "undefined" && __DEV__) {
|
|
562
592
|
config = withEntryInjection(config);
|
|
563
593
|
config = withDevStubs(config);
|
|
564
|
-
config = withRouteEndpoint(config, { appDir:
|
|
594
|
+
config = withRouteEndpoint(config, { appDir: import_path14.default.join(projectRoot, "src", "app") });
|
|
565
595
|
}
|
|
566
596
|
return withNativeWind(config, { input, inlineRem: 16 });
|
|
567
597
|
}
|
|
568
598
|
|
|
569
599
|
// src/metro/withExpoHapticsStub.ts
|
|
570
|
-
var
|
|
600
|
+
var import_path15 = __toESM(require("path"));
|
|
571
601
|
var EXPO_HAPTICS_STUB_FILENAME = "expo-haptics-stub.js";
|
|
572
|
-
var EXPO_HAPTICS_STUB_PATH =
|
|
602
|
+
var EXPO_HAPTICS_STUB_PATH = import_path15.default.resolve(__dirname, "stubs", EXPO_HAPTICS_STUB_FILENAME);
|
|
573
603
|
function withExpoHapticsStub(config) {
|
|
574
604
|
const upstream = config.resolver?.resolveRequest ?? null;
|
|
575
605
|
const resolveRequest = (context, moduleName, platform) => {
|
|
@@ -583,9 +613,9 @@ function withExpoHapticsStub(config) {
|
|
|
583
613
|
}
|
|
584
614
|
|
|
585
615
|
// src/metro/withExpoContactsStub.ts
|
|
586
|
-
var
|
|
616
|
+
var import_path16 = __toESM(require("path"));
|
|
587
617
|
var EXPO_CONTACTS_STUB_FILENAME = "expo-contacts-stub.js";
|
|
588
|
-
var EXPO_CONTACTS_STUB_PATH =
|
|
618
|
+
var EXPO_CONTACTS_STUB_PATH = import_path16.default.resolve(
|
|
589
619
|
__dirname,
|
|
590
620
|
"stubs",
|
|
591
621
|
EXPO_CONTACTS_STUB_FILENAME
|
|
@@ -626,6 +656,7 @@ try {
|
|
|
626
656
|
withExpoNotificationsStub,
|
|
627
657
|
withLucideResolver,
|
|
628
658
|
withNativeWind,
|
|
659
|
+
withPersistentCache,
|
|
629
660
|
withRouteEndpoint,
|
|
630
661
|
withTransformLogger,
|
|
631
662
|
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,28 @@ 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
|
+
const existingStores = config.cacheStores;
|
|
519
|
+
const firstStore = Array.isArray(existingStores) ? existingStores[0] : void 0;
|
|
520
|
+
const StoreClass = firstStore ? Object.getPrototypeOf(firstStore).constructor : FileStore;
|
|
521
|
+
return {
|
|
522
|
+
...config,
|
|
523
|
+
cacheStores: [new StoreClass({ root: cacheRoot })]
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
|
|
499
527
|
// src/metro/withDevkit.ts
|
|
500
528
|
function withDevkit(config, options = {}) {
|
|
501
529
|
const projectRoot = config.projectRoot ?? process.cwd();
|
|
502
530
|
const { input = "./src/global.css" } = options;
|
|
503
531
|
config = withTransformLogger(config);
|
|
532
|
+
config = withPersistentCache(config);
|
|
504
533
|
config = withWorkspaceNodeModules(config);
|
|
505
534
|
config = withWasmSupport(config);
|
|
506
535
|
config = withCssInterop(config);
|
|
@@ -514,15 +543,15 @@ function withDevkit(config, options = {}) {
|
|
|
514
543
|
if (typeof __DEV__ !== "undefined" && __DEV__) {
|
|
515
544
|
config = withEntryInjection(config);
|
|
516
545
|
config = withDevStubs(config);
|
|
517
|
-
config = withRouteEndpoint(config, { appDir:
|
|
546
|
+
config = withRouteEndpoint(config, { appDir: path15.join(projectRoot, "src", "app") });
|
|
518
547
|
}
|
|
519
548
|
return withNativeWind(config, { input, inlineRem: 16 });
|
|
520
549
|
}
|
|
521
550
|
|
|
522
551
|
// src/metro/withExpoHapticsStub.ts
|
|
523
|
-
import
|
|
552
|
+
import path16 from "path";
|
|
524
553
|
var EXPO_HAPTICS_STUB_FILENAME = "expo-haptics-stub.js";
|
|
525
|
-
var EXPO_HAPTICS_STUB_PATH =
|
|
554
|
+
var EXPO_HAPTICS_STUB_PATH = path16.resolve(__dirname, "stubs", EXPO_HAPTICS_STUB_FILENAME);
|
|
526
555
|
function withExpoHapticsStub(config) {
|
|
527
556
|
const upstream = config.resolver?.resolveRequest ?? null;
|
|
528
557
|
const resolveRequest = (context, moduleName, platform) => {
|
|
@@ -536,9 +565,9 @@ function withExpoHapticsStub(config) {
|
|
|
536
565
|
}
|
|
537
566
|
|
|
538
567
|
// src/metro/withExpoContactsStub.ts
|
|
539
|
-
import
|
|
568
|
+
import path17 from "path";
|
|
540
569
|
var EXPO_CONTACTS_STUB_FILENAME = "expo-contacts-stub.js";
|
|
541
|
-
var EXPO_CONTACTS_STUB_PATH =
|
|
570
|
+
var EXPO_CONTACTS_STUB_PATH = path17.resolve(
|
|
542
571
|
__dirname,
|
|
543
572
|
"stubs",
|
|
544
573
|
EXPO_CONTACTS_STUB_FILENAME
|
|
@@ -578,6 +607,7 @@ export {
|
|
|
578
607
|
withExpoNotificationsStub,
|
|
579
608
|
withLucideResolver,
|
|
580
609
|
withNativeWind,
|
|
610
|
+
withPersistentCache,
|
|
581
611
|
withRouteEndpoint,
|
|
582
612
|
withTransformLogger,
|
|
583
613
|
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.64",
|
|
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
|
},
|