@vxrn/vite-plugin-metro 1.1.501-1751155612296
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/cjs/index.cjs +28 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +28 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +56 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js +49 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js.map +6 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +48 -0
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +6 -0
- package/dist/cjs/plugins/metroPlugin.cjs +214 -0
- package/dist/cjs/plugins/metroPlugin.js +186 -0
- package/dist/cjs/plugins/metroPlugin.js.map +6 -0
- package/dist/cjs/plugins/metroPlugin.native.js +179 -0
- package/dist/cjs/plugins/metroPlugin.native.js.map +6 -0
- package/dist/cjs/transformer/babel-core.cjs +27 -0
- package/dist/cjs/transformer/babel-core.js +22 -0
- package/dist/cjs/transformer/babel-core.js.map +6 -0
- package/dist/cjs/transformer/babel-core.native.js +28 -0
- package/dist/cjs/transformer/babel-core.native.js.map +6 -0
- package/dist/cjs/transformer/babel-transformer.cjs +148 -0
- package/dist/cjs/transformer/babel-transformer.js +129 -0
- package/dist/cjs/transformer/babel-transformer.js.map +6 -0
- package/dist/cjs/transformer/babel-transformer.native.js +135 -0
- package/dist/cjs/transformer/babel-transformer.native.js.map +6 -0
- package/dist/cjs/transformer/loadBabelConfig.cjs +53 -0
- package/dist/cjs/transformer/loadBabelConfig.js +46 -0
- package/dist/cjs/transformer/loadBabelConfig.js.map +6 -0
- package/dist/cjs/transformer/loadBabelConfig.native.js +55 -0
- package/dist/cjs/transformer/loadBabelConfig.native.js.map +6 -0
- package/dist/cjs/transformer/transformSync.cjs +64 -0
- package/dist/cjs/transformer/transformSync.js +53 -0
- package/dist/cjs/transformer/transformSync.js.map +6 -0
- package/dist/cjs/transformer/transformSync.native.js +58 -0
- package/dist/cjs/transformer/transformSync.native.js.map +6 -0
- package/dist/cjs/utils/getTerminalReporter.cjs +59 -0
- package/dist/cjs/utils/getTerminalReporter.js +48 -0
- package/dist/cjs/utils/getTerminalReporter.js.map +6 -0
- package/dist/cjs/utils/getTerminalReporter.native.js +53 -0
- package/dist/cjs/utils/getTerminalReporter.native.js.map +6 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +35 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +30 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +6 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +37 -0
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +6 -0
- package/dist/cjs/utils/projectImport.cjs +56 -0
- package/dist/cjs/utils/projectImport.js +43 -0
- package/dist/cjs/utils/projectImport.js.map +6 -0
- package/dist/cjs/utils/projectImport.native.js +54 -0
- package/dist/cjs/utils/projectImport.native.js.map +6 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +4 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js +35 -0
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js.map +6 -0
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +33 -0
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -0
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +34 -0
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -0
- package/dist/esm/plugins/metroPlugin.js +168 -0
- package/dist/esm/plugins/metroPlugin.js.map +6 -0
- package/dist/esm/plugins/metroPlugin.mjs +180 -0
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -0
- package/dist/esm/plugins/metroPlugin.native.js +189 -0
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -0
- package/dist/esm/transformer/babel-core.js +9 -0
- package/dist/esm/transformer/babel-core.js.map +6 -0
- package/dist/esm/transformer/babel-core.mjs +3 -0
- package/dist/esm/transformer/babel-core.mjs.map +1 -0
- package/dist/esm/transformer/babel-core.native.js +3 -0
- package/dist/esm/transformer/babel-core.native.js.map +1 -0
- package/dist/esm/transformer/babel-transformer.js +110 -0
- package/dist/esm/transformer/babel-transformer.js.map +6 -0
- package/dist/esm/transformer/babel-transformer.mjs +122 -0
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -0
- package/dist/esm/transformer/babel-transformer.native.js +136 -0
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -0
- package/dist/esm/transformer/loadBabelConfig.js +23 -0
- package/dist/esm/transformer/loadBabelConfig.js.map +6 -0
- package/dist/esm/transformer/loadBabelConfig.mjs +19 -0
- package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -0
- package/dist/esm/transformer/loadBabelConfig.native.js +23 -0
- package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -0
- package/dist/esm/transformer/transformSync.js +29 -0
- package/dist/esm/transformer/transformSync.js.map +6 -0
- package/dist/esm/transformer/transformSync.mjs +30 -0
- package/dist/esm/transformer/transformSync.mjs.map +1 -0
- package/dist/esm/transformer/transformSync.native.js +31 -0
- package/dist/esm/transformer/transformSync.native.js.map +1 -0
- package/dist/esm/utils/getTerminalReporter.js +25 -0
- package/dist/esm/utils/getTerminalReporter.js.map +6 -0
- package/dist/esm/utils/getTerminalReporter.mjs +25 -0
- package/dist/esm/utils/getTerminalReporter.mjs.map +1 -0
- package/dist/esm/utils/getTerminalReporter.native.js +26 -0
- package/dist/esm/utils/getTerminalReporter.native.js.map +1 -0
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +14 -0
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +6 -0
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +12 -0
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +1 -0
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +14 -0
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +1 -0
- package/dist/esm/utils/projectImport.js +20 -0
- package/dist/esm/utils/projectImport.js.map +6 -0
- package/dist/esm/utils/projectImport.mjs +20 -0
- package/dist/esm/utils/projectImport.mjs.map +1 -0
- package/dist/esm/utils/projectImport.native.js +22 -0
- package/dist/esm/utils/projectImport.native.js.map +1 -0
- package/empty.js +0 -0
- package/package.json +68 -0
- package/src/index.ts +4 -0
- package/src/plugins/expoManifestRequestHandlerPlugin.ts +75 -0
- package/src/plugins/metroPlugin.ts +314 -0
- package/src/transformer/babel-core.ts +7 -0
- package/src/transformer/babel-transformer.ts +211 -0
- package/src/transformer/loadBabelConfig.ts +53 -0
- package/src/transformer/transformSync.ts +54 -0
- package/src/utils/getTerminalReporter.ts +42 -0
- package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +27 -0
- package/src/utils/projectImport.ts +32 -0
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -0
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +14 -0
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +1 -0
- package/types/plugins/metroPlugin.d.ts +22 -0
- package/types/plugins/metroPlugin.d.ts.map +1 -0
- package/types/transformer/babel-core.d.ts +2 -0
- package/types/transformer/babel-core.d.ts.map +1 -0
- package/types/transformer/babel-transformer.d.ts +18 -0
- package/types/transformer/babel-transformer.d.ts.map +1 -0
- package/types/transformer/loadBabelConfig.d.ts +10 -0
- package/types/transformer/loadBabelConfig.d.ts.map +1 -0
- package/types/transformer/transformSync.d.ts +11 -0
- package/types/transformer/transformSync.d.ts.map +1 -0
- package/types/utils/getTerminalReporter.d.ts +3 -0
- package/types/utils/getTerminalReporter.d.ts.map +1 -0
- package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +5 -0
- package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +1 -0
- package/types/utils/projectImport.d.ts +12 -0
- package/types/utils/projectImport.d.ts.map +1 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
expoManifestRequestHandlerPlugin: () => import_expoManifestRequestHandlerPlugin.expoManifestRequestHandlerPlugin,
|
|
24
|
+
metroPlugin: () => import_metroPlugin.metroPlugin
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(index_exports);
|
|
27
|
+
var import_metroPlugin = require("./plugins/metroPlugin.cjs"),
|
|
28
|
+
import_expoManifestRequestHandlerPlugin = require("./plugins/expoManifestRequestHandlerPlugin.cjs");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var index_exports = {};
|
|
16
|
+
__export(index_exports, {
|
|
17
|
+
expoManifestRequestHandlerPlugin: () => import_expoManifestRequestHandlerPlugin.expoManifestRequestHandlerPlugin,
|
|
18
|
+
metroPlugin: () => import_metroPlugin.metroPlugin
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(index_exports);
|
|
21
|
+
var import_metroPlugin = require("./plugins/metroPlugin"), import_expoManifestRequestHandlerPlugin = require("./plugins/expoManifestRequestHandlerPlugin");
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
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: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
|
+
var index_exports = {};
|
|
17
|
+
__export(index_exports, {
|
|
18
|
+
expoManifestRequestHandlerPlugin: () => import_expoManifestRequestHandlerPlugin.expoManifestRequestHandlerPlugin,
|
|
19
|
+
metroPlugin: () => import_metroPlugin.metroPlugin
|
|
20
|
+
});
|
|
21
|
+
module.exports = __toCommonJS(index_exports);
|
|
22
|
+
var import_metroPlugin = require("./plugins/metroPlugin"), import_expoManifestRequestHandlerPlugin = require("./plugins/expoManifestRequestHandlerPlugin");
|
|
23
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
24
|
+
0 && (module.exports = {
|
|
25
|
+
expoManifestRequestHandlerPlugin,
|
|
26
|
+
metroPlugin
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var expoManifestRequestHandlerPlugin_exports = {};
|
|
22
|
+
__export(expoManifestRequestHandlerPlugin_exports, {
|
|
23
|
+
expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
|
|
26
|
+
var import_node_tls = require("node:tls"),
|
|
27
|
+
import_projectImport = require("../utils/projectImport.cjs"),
|
|
28
|
+
import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs");
|
|
29
|
+
function expoManifestRequestHandlerPlugin(options) {
|
|
30
|
+
return {
|
|
31
|
+
name: "expo-manifest-request-handler",
|
|
32
|
+
// configResolved(config) {
|
|
33
|
+
// projectRoot = config.root
|
|
34
|
+
// },
|
|
35
|
+
async configureServer(server) {
|
|
36
|
+
const {
|
|
37
|
+
root: projectRoot
|
|
38
|
+
} = server.config,
|
|
39
|
+
ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
|
|
40
|
+
server.middlewares.use(async (req, res, next) => {
|
|
41
|
+
if (!req.headers["expo-platform"]) return next();
|
|
42
|
+
const protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http",
|
|
43
|
+
manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
|
|
44
|
+
constructUrl: ({
|
|
45
|
+
scheme,
|
|
46
|
+
hostname
|
|
47
|
+
}) => {
|
|
48
|
+
const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
|
|
49
|
+
return scheme ? `${protocol || scheme}://${host}` : host;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
options.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var expoManifestRequestHandlerPlugin_exports = {};
|
|
16
|
+
__export(expoManifestRequestHandlerPlugin_exports, {
|
|
17
|
+
expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
|
|
18
|
+
});
|
|
19
|
+
module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
|
|
20
|
+
var import_node_tls = require("node:tls"), import_projectImport = require("../utils/projectImport"), import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName");
|
|
21
|
+
function expoManifestRequestHandlerPlugin(options) {
|
|
22
|
+
return {
|
|
23
|
+
name: "expo-manifest-request-handler",
|
|
24
|
+
// configResolved(config) {
|
|
25
|
+
// projectRoot = config.root
|
|
26
|
+
// },
|
|
27
|
+
async configureServer(server) {
|
|
28
|
+
const { root: projectRoot } = server.config, ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(
|
|
29
|
+
projectRoot,
|
|
30
|
+
"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js"
|
|
31
|
+
)).default.ExpoGoManifestHandlerMiddleware;
|
|
32
|
+
server.middlewares.use(async (req, res, next) => {
|
|
33
|
+
if (!req.headers["expo-platform"])
|
|
34
|
+
return next();
|
|
35
|
+
const protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http", manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
|
|
36
|
+
constructUrl: ({ scheme, hostname }) => {
|
|
37
|
+
const host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
|
|
38
|
+
return scheme ? `${protocol || scheme}://${host}` : host;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
options.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(
|
|
42
|
+
manifestHandlerMiddleware,
|
|
43
|
+
options.mainModuleName
|
|
44
|
+
), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0B,qBAG1B,uBAA8B,mCAC9B,sEAA6E;AActE,SAAS,iCACd,SACc;AAGd,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM,gBAAgB,QAAQ;AAC5B,YAAM,EAAE,MAAM,YAAY,IAAI,OAAO,QAE/B,mCACJ,UAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,GACA,QAAQ;AAEV,aAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAC/C,YAAI,CAAC,IAAI,QAAQ,eAAe;AAE9B,iBAAO,KAAK;AAGd,cAAM,WAAW,IAAI,kBAAkB,6BAAa,IAAI,OAAO,YAAY,UAAU,QAE/E,4BAA4B,IAAI,gCAAgC,aAAa;AAAA,UACjF,cAAc,CAAC,EAAE,QAAQ,SAAS,MAAM;AAEtC,kBAAM,OAAO,IAAI,QAAQ,kBAAkB,KAAK,IAAI,QAAQ,QAAQ;AAEpE,mBAAK,SAOE,GAAG,YAAY,MAAM,MAAM,IAAI,KAH7B;AAAA,UAIX;AAAA,QACF,CAAC;AAED,QAAI,QAAQ,sBACV;AAAA,UACE;AAAA,UACA,QAAQ;AAAA,QACV,GAIF,0BAA0B,mBAAmB,KAAK,KAAK,IAAI;AAAA,MAC7D,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
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: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
|
+
var expoManifestRequestHandlerPlugin_exports = {};
|
|
17
|
+
__export(expoManifestRequestHandlerPlugin_exports, {
|
|
18
|
+
expoManifestRequestHandlerPlugin: () => expoManifestRequestHandlerPlugin
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(expoManifestRequestHandlerPlugin_exports);
|
|
21
|
+
var import_node_tls = require("node:tls"), import_projectImport = require("../utils/projectImport"), import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName");
|
|
22
|
+
function expoManifestRequestHandlerPlugin(options) {
|
|
23
|
+
return {
|
|
24
|
+
name: "expo-manifest-request-handler",
|
|
25
|
+
// configResolved(config) {
|
|
26
|
+
// projectRoot = config.root
|
|
27
|
+
// },
|
|
28
|
+
async configureServer(server) {
|
|
29
|
+
var { root: projectRoot } = server.config, ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware;
|
|
30
|
+
server.middlewares.use(async function(req, res, next) {
|
|
31
|
+
if (!req.headers["expo-platform"])
|
|
32
|
+
return next();
|
|
33
|
+
var protocol = req.socket instanceof import_node_tls.TLSSocket && req.socket.encrypted ? "https" : "http", manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
|
|
34
|
+
constructUrl: function(param) {
|
|
35
|
+
var { scheme, hostname } = param, host = req.headers["x-forwarded-host"] || req.headers.host || hostname;
|
|
36
|
+
return scheme ? `${protocol || scheme}://${host}` : host;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
options.mainModuleName && (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, options.mainModuleName), manifestHandlerMiddleware.handleRequestAsync(req, res, next);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
expoManifestRequestHandlerPlugin
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=expoManifestRequestHandlerPlugin.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugins/expoManifestRequestHandlerPlugin.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;sBAA0B,qBAG1B,uBAA8B,mCAC9B,sEAA6E;AActE,SAASA,iCACdC,SAAsD;AAItD,SAAO;IACLC,MAAM;;;;IAIN,MAAMC,gBAAgBC,QAAM;AAC1B,UAAM,EAAEC,MAAMC,YAAW,IAAKF,OAAOG,QAE/BC,mCACJ,UAAMC,oCACJH,aACA,gFAAA,GAEFI,QAAQF;AAEVJ,aAAOO,YAAYC,IAAI,eAAOC,KAAKC,KAAKC,MAAAA;AACtC,YAAI,CAACF,IAAIG,QAAQ,eAAA;AAEf,iBAAOD,KAAAA;AAGT,YAAME,WAAWJ,IAAIK,kBAAkBC,6BAAaN,IAAIK,OAAOE,YAAY,UAAU,QAE/EC,4BAA4B,IAAIb,gCAAgCF,aAAa;UACjFgB,cAAc,SAAA,OAAA;gBAAC,EAAEC,QAAQC,SAAQ,IAAE,OAE3BC,OAAOZ,IAAIG,QAAQ,kBAAA,KAAuBH,IAAIG,QAAQS,QAAQD;AAEpE,mBAAKD,SAOE,GAAGN,YAAYM,MAAAA,MAAYE,IAAAA,KAHzBA;UAIX;QACF,CAAA;AAEA,QAAIxB,QAAQyB,sBACVC,kIACEN,2BACApB,QAAQyB,cAAc,GAK1BL,0BAA0BO,mBAAmBf,KAAKC,KAAKC,IAAAA;MACzD,CAAA;IACF;EACF;AACF;",
|
|
5
|
+
"names": ["expoManifestRequestHandlerPlugin", "options", "name", "configureServer", "server", "root", "projectRoot", "config", "ExpoGoManifestHandlerMiddleware", "projectImport", "default", "middlewares", "use", "req", "res", "next", "headers", "protocol", "socket", "TLSSocket", "encrypted", "manifestHandlerMiddleware", "constructUrl", "scheme", "hostname", "host", "mainModuleName", "patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName", "handleRequestAsync"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
+
value: mod,
|
|
27
|
+
enumerable: !0
|
|
28
|
+
}) : target, mod)),
|
|
29
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
+
value: !0
|
|
31
|
+
}), mod);
|
|
32
|
+
var metroPlugin_exports = {};
|
|
33
|
+
__export(metroPlugin_exports, {
|
|
34
|
+
metroPlugin: () => metroPlugin
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(metroPlugin_exports);
|
|
37
|
+
var import_node_fs = require("node:fs"),
|
|
38
|
+
import_promises = require("node:fs/promises"),
|
|
39
|
+
import_node_url = require("node:url"),
|
|
40
|
+
import_launch_editor = __toESM(require("launch-editor"), 1),
|
|
41
|
+
import_projectImport = require("../utils/projectImport.cjs"),
|
|
42
|
+
import_getTerminalReporter = require("../utils/getTerminalReporter.cjs"),
|
|
43
|
+
import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName = require("../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs");
|
|
44
|
+
function metroPlugin({
|
|
45
|
+
argv,
|
|
46
|
+
defaultConfigOverrides,
|
|
47
|
+
babelConfig,
|
|
48
|
+
mainModuleName
|
|
49
|
+
} = {}) {
|
|
50
|
+
return {
|
|
51
|
+
name: "metro",
|
|
52
|
+
// configResolved(config) {
|
|
53
|
+
// projectRoot = config.root
|
|
54
|
+
// },
|
|
55
|
+
async configureServer(server) {
|
|
56
|
+
const {
|
|
57
|
+
logger,
|
|
58
|
+
root: projectRoot
|
|
59
|
+
} = server.config,
|
|
60
|
+
{
|
|
61
|
+
default: Metro,
|
|
62
|
+
loadConfig
|
|
63
|
+
} = await (0, import_projectImport.projectImport)(projectRoot, "metro"),
|
|
64
|
+
{
|
|
65
|
+
default: MetroHmrServer
|
|
66
|
+
} = await (0, import_projectImport.projectImport)(projectRoot, "metro/src/HmrServer"),
|
|
67
|
+
{
|
|
68
|
+
default: createWebsocketServer
|
|
69
|
+
} = await (0, import_projectImport.projectImport)(projectRoot, "metro/src/lib/createWebsocketServer"),
|
|
70
|
+
{
|
|
71
|
+
getDefaultConfig
|
|
72
|
+
} = await (0, import_projectImport.projectImport)(projectRoot, "@expo/metro-config"),
|
|
73
|
+
{
|
|
74
|
+
createDevMiddleware
|
|
75
|
+
} = await (0, import_projectImport.projectImport)(projectRoot, "@react-native/dev-middleware"),
|
|
76
|
+
_defaultConfig = getDefaultConfig(projectRoot);
|
|
77
|
+
if (mainModuleName) {
|
|
78
|
+
const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl,
|
|
79
|
+
resolveMainModuleName = await (async () => {
|
|
80
|
+
const ExpoGoManifestHandlerMiddleware = (await (0, import_projectImport.projectImport)(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware,
|
|
81
|
+
manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
|
|
82
|
+
return (0, import_patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName)(manifestHandlerMiddleware, mainModuleName), p => manifestHandlerMiddleware.resolveMainModuleName({
|
|
83
|
+
pkg: {
|
|
84
|
+
main: mainModuleName
|
|
85
|
+
},
|
|
86
|
+
platform: p.platform
|
|
87
|
+
});
|
|
88
|
+
})();
|
|
89
|
+
_defaultConfig.server.rewriteRequestUrl = url => {
|
|
90
|
+
if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
|
|
91
|
+
const resolvedMainModulePath = resolveMainModuleName({
|
|
92
|
+
platform: "ios"
|
|
93
|
+
// we probably need to handle android here, but currently in our use case this won't affect the result
|
|
94
|
+
});
|
|
95
|
+
return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
|
|
96
|
+
}
|
|
97
|
+
return origRewriteRequestUrl(url);
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const defaultConfig = {
|
|
101
|
+
..._defaultConfig,
|
|
102
|
+
resolver: {
|
|
103
|
+
..._defaultConfig?.resolver,
|
|
104
|
+
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
105
|
+
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
106
|
+
resolveRequest: (context, moduleName, platform) => {
|
|
107
|
+
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
108
|
+
if (moduleName.startsWith("@babel/runtime")) {
|
|
109
|
+
const contextOverride = {
|
|
110
|
+
...context,
|
|
111
|
+
unstable_conditionNames: context.unstable_conditionNames.filter(c => c !== "import")
|
|
112
|
+
};
|
|
113
|
+
return origResolveRequestFn(contextOverride, moduleName, platform);
|
|
114
|
+
}
|
|
115
|
+
return origResolveRequestFn(context, moduleName, platform);
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
transformer: {
|
|
119
|
+
..._defaultConfig?.transformer,
|
|
120
|
+
babelTransformerPath: (0, import_projectImport.projectResolve)(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer"),
|
|
121
|
+
// TODO: This is what Expo is doing, but do we really need this?
|
|
122
|
+
publicPath: "/assets/?unstable_path=."
|
|
123
|
+
},
|
|
124
|
+
reporter: await (0, import_getTerminalReporter.getTerminalReporter)(projectRoot)
|
|
125
|
+
},
|
|
126
|
+
config = await loadConfig({
|
|
127
|
+
cwd: projectRoot,
|
|
128
|
+
projectRoot,
|
|
129
|
+
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
130
|
+
...argv
|
|
131
|
+
}, {
|
|
132
|
+
...defaultConfig,
|
|
133
|
+
...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
134
|
+
}),
|
|
135
|
+
{
|
|
136
|
+
middleware,
|
|
137
|
+
end,
|
|
138
|
+
metroServer
|
|
139
|
+
} = await Metro.createConnectMiddleware(config, {
|
|
140
|
+
// Force enable file watching, even on CI.
|
|
141
|
+
// This is needed for HMR tests to work on CI.
|
|
142
|
+
watch: !0
|
|
143
|
+
}),
|
|
144
|
+
originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler());
|
|
145
|
+
metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => originalTransformFile(filePath, {
|
|
146
|
+
...transformOptions,
|
|
147
|
+
customTransformOptions: {
|
|
148
|
+
...transformOptions.customTransformOptions,
|
|
149
|
+
vite: {
|
|
150
|
+
babelConfig
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}, fileBuffer);
|
|
154
|
+
const hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config),
|
|
155
|
+
reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`,
|
|
156
|
+
{
|
|
157
|
+
middleware: rnDevtoolsMiddleware,
|
|
158
|
+
websocketEndpoints: rnDevtoolsWebsocketEndpoints
|
|
159
|
+
} = createDevMiddleware({
|
|
160
|
+
projectRoot,
|
|
161
|
+
serverBaseUrl: reactNativeDevToolsUrl,
|
|
162
|
+
logger: console
|
|
163
|
+
});
|
|
164
|
+
server.middlewares.use(async (req, res, next) => {
|
|
165
|
+
try {
|
|
166
|
+
if (req.url?.includes(".bundle")) {
|
|
167
|
+
const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
|
|
168
|
+
if (VITE_METRO_DEBUG_BUNDLE && (0, import_node_fs.existsSync)(VITE_METRO_DEBUG_BUNDLE)) {
|
|
169
|
+
console.info(" !!! - serving debug bundle from", VITE_METRO_DEBUG_BUNDLE);
|
|
170
|
+
const content = await (0, import_promises.readFile)(VITE_METRO_DEBUG_BUNDLE, "utf-8");
|
|
171
|
+
res.setHeader("Content-Type", "application/javascript"), res.end(content);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (req.url === "/status" && req.headers["user-agent"]?.includes("CFNetwork/")) {
|
|
176
|
+
res.statusCode = 200, res.end("packager-status:running");
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (req.url === "/open-stack-frame" && req.method === "POST") {
|
|
180
|
+
let body = "";
|
|
181
|
+
req.on("data", chunk => {
|
|
182
|
+
body += chunk.toString();
|
|
183
|
+
}), req.on("end", () => {
|
|
184
|
+
try {
|
|
185
|
+
const frame = JSON.parse(body);
|
|
186
|
+
(0, import_launch_editor.default)(frame.file), res.statusCode = 200, res.end("Stack frame opened in editor");
|
|
187
|
+
} catch (e) {
|
|
188
|
+
return console.error("Failed to parse stack frame:", e), res.statusCode = 400, res.end("Invalid stack frame JSON");
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
await middleware(req, res, next);
|
|
194
|
+
} catch (error) {
|
|
195
|
+
console.error("Metro middleware error:", error), next();
|
|
196
|
+
}
|
|
197
|
+
}), server.middlewares.use(rnDevtoolsMiddleware);
|
|
198
|
+
const websocketEndpoints = {
|
|
199
|
+
"/hot": createWebsocketServer({
|
|
200
|
+
websocketServer: hmrServer
|
|
201
|
+
}),
|
|
202
|
+
...rnDevtoolsWebsocketEndpoints
|
|
203
|
+
};
|
|
204
|
+
server.httpServer?.on("upgrade", (request, socket, head) => {
|
|
205
|
+
const {
|
|
206
|
+
pathname
|
|
207
|
+
} = (0, import_node_url.parse)(request.url);
|
|
208
|
+
pathname != null && websocketEndpoints[pathname] && websocketEndpoints[pathname].handleUpgrade(request, socket, head, ws => {
|
|
209
|
+
websocketEndpoints[pathname].emit("connection", ws, request);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
}
|