@vxrn/vite-plugin-metro 1.12.2 → 1.12.4
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/esm/index.js +5 -16
- package/dist/esm/index.js.map +1 -6
- package/package.json +3 -3
- package/dist/cjs/babel-plugins/import-meta-env-plugin.js +0 -73
- package/dist/cjs/babel-plugins/import-meta-env-plugin.js.map +0 -6
- package/dist/cjs/env/platformEnv.js +0 -60
- package/dist/cjs/env/platformEnv.js.map +0 -6
- package/dist/cjs/index.js +0 -26
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.js +0 -39
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.js.map +0 -6
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js +0 -115
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js.map +0 -6
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +0 -51
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +0 -6
- package/dist/cjs/metro-config/types.js +0 -14
- package/dist/cjs/metro-config/types.js.map +0 -6
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js +0 -57
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js.map +0 -6
- package/dist/cjs/plugins/metroPlugin.js +0 -150
- package/dist/cjs/plugins/metroPlugin.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.js +0 -75
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/assetPathUtils.js +0 -62
- package/dist/cjs/rn-commands/bundle/assetPathUtils.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/buildBundle.js +0 -52
- package/dist/cjs/rn-commands/bundle/buildBundle.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.js +0 -73
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.js +0 -40
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.js +0 -34
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.js +0 -40
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.js +0 -37
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/index.js +0 -22
- package/dist/cjs/rn-commands/bundle/index.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/saveAssets.js +0 -96
- package/dist/cjs/rn-commands/bundle/saveAssets.js.map +0 -6
- package/dist/cjs/rn-commands/bundle/types.js +0 -14
- package/dist/cjs/rn-commands/bundle/types.js.map +0 -6
- package/dist/cjs/rn-commands/index.js +0 -29
- package/dist/cjs/rn-commands/index.js.map +0 -6
- package/dist/cjs/transformer/babel-core.js +0 -22
- package/dist/cjs/transformer/babel-core.js.map +0 -6
- package/dist/cjs/transformer/babel-transformer.js +0 -138
- package/dist/cjs/transformer/babel-transformer.js.map +0 -6
- package/dist/cjs/transformer/loadBabelConfig.js +0 -52
- package/dist/cjs/transformer/loadBabelConfig.js.map +0 -6
- package/dist/cjs/transformer/transformSync.js +0 -53
- package/dist/cjs/transformer/transformSync.js.map +0 -6
- package/dist/cjs/transformer/types.js +0 -14
- package/dist/cjs/transformer/types.js.map +0 -6
- package/dist/cjs/utils/exit.js +0 -112
- package/dist/cjs/utils/exit.js.map +0 -6
- package/dist/cjs/utils/getTerminalReporter.js +0 -51
- package/dist/cjs/utils/getTerminalReporter.js.map +0 -6
- package/dist/cjs/utils/metroCacheManager.js +0 -65
- package/dist/cjs/utils/metroCacheManager.js.map +0 -6
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +0 -32
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +0 -6
- package/dist/cjs/utils/projectImport.js +0 -48
- package/dist/cjs/utils/projectImport.js.map +0 -6
- package/dist/esm/babel-plugins/import-meta-env-plugin.js +0 -51
- package/dist/esm/babel-plugins/import-meta-env-plugin.js.map +0 -6
- package/dist/esm/env/platformEnv.js +0 -44
- package/dist/esm/env/platformEnv.js.map +0 -6
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.js +0 -23
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.js.map +0 -6
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.js +0 -94
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.js.map +0 -6
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +0 -35
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +0 -6
- package/dist/esm/metro-config/types.js +0 -1
- package/dist/esm/metro-config/types.js.map +0 -6
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js +0 -43
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js.map +0 -6
- package/dist/esm/plugins/metroPlugin.js +0 -133
- package/dist/esm/plugins/metroPlugin.js.map +0 -6
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.js +0 -53
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.js.map +0 -6
- package/dist/esm/rn-commands/bundle/assetPathUtils.js +0 -46
- package/dist/esm/rn-commands/bundle/assetPathUtils.js.map +0 -6
- package/dist/esm/rn-commands/bundle/buildBundle.js +0 -40
- package/dist/esm/rn-commands/bundle/buildBundle.js.map +0 -6
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.js +0 -53
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.js.map +0 -6
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.js +0 -24
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.js.map +0 -6
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.js +0 -11
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.js.map +0 -6
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.js +0 -16
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.js.map +0 -6
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.js +0 -22
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.js.map +0 -6
- package/dist/esm/rn-commands/bundle/index.js +0 -7
- package/dist/esm/rn-commands/bundle/index.js.map +0 -6
- package/dist/esm/rn-commands/bundle/saveAssets.js +0 -82
- package/dist/esm/rn-commands/bundle/saveAssets.js.map +0 -6
- package/dist/esm/rn-commands/bundle/types.js +0 -1
- package/dist/esm/rn-commands/bundle/types.js.map +0 -6
- package/dist/esm/rn-commands/index.js +0 -5
- package/dist/esm/rn-commands/index.js.map +0 -6
- package/dist/esm/transformer/babel-core.js +0 -9
- package/dist/esm/transformer/babel-core.js.map +0 -6
- package/dist/esm/transformer/babel-transformer.js +0 -119
- package/dist/esm/transformer/babel-transformer.js.map +0 -6
- package/dist/esm/transformer/loadBabelConfig.js +0 -29
- package/dist/esm/transformer/loadBabelConfig.js.map +0 -6
- package/dist/esm/transformer/transformSync.js +0 -29
- package/dist/esm/transformer/transformSync.js.map +0 -6
- package/dist/esm/transformer/types.js +0 -1
- package/dist/esm/transformer/types.js.map +0 -6
- package/dist/esm/utils/exit.js +0 -90
- package/dist/esm/utils/exit.js.map +0 -6
- package/dist/esm/utils/getTerminalReporter.js +0 -28
- package/dist/esm/utils/getTerminalReporter.js.map +0 -6
- package/dist/esm/utils/metroCacheManager.js +0 -51
- package/dist/esm/utils/metroCacheManager.js.map +0 -6
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +0 -16
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +0 -6
- package/dist/esm/utils/projectImport.js +0 -25
- package/dist/esm/utils/projectImport.js.map +0 -6
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { existsSync } from "node:fs";
|
|
2
|
-
import { readFile } from "node:fs/promises";
|
|
3
|
-
import launchEditor from "launch-editor";
|
|
4
|
-
import { createDebugger } from "@vxrn/debug";
|
|
5
|
-
import { checkAndClearMetroCacheFromVite } from "../utils/metroCacheManager";
|
|
6
|
-
import { projectImport } from "../utils/projectImport";
|
|
7
|
-
import { getMetroConfigFromViteConfig } from "../metro-config/getMetroConfigFromViteConfig";
|
|
8
|
-
import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions";
|
|
9
|
-
const { debug } = createDebugger("vite-plugin-metro");
|
|
10
|
-
function metroPlugin(options = {}) {
|
|
11
|
-
return globalThis.__viteMetroPluginOptions__ = options, {
|
|
12
|
-
name: "metro",
|
|
13
|
-
// configResolved(config) {
|
|
14
|
-
// projectRoot = config.root
|
|
15
|
-
// },
|
|
16
|
-
configureServer(server) {
|
|
17
|
-
const { root: projectRoot } = server.config;
|
|
18
|
-
let metroReady = !1, middleware, metroServer, hmrServer, websocketEndpoints, rnDevtoolsMiddleware, metroPromise, metroPromiseResolvers;
|
|
19
|
-
metroPromise = new Promise((resolve, reject) => {
|
|
20
|
-
metroPromiseResolvers = { resolve, reject };
|
|
21
|
-
});
|
|
22
|
-
const startMetro = async () => {
|
|
23
|
-
const metroStartTime = Date.now();
|
|
24
|
-
try {
|
|
25
|
-
checkAndClearMetroCacheFromVite(server, server.config.logger);
|
|
26
|
-
const { default: Metro } = await projectImport(projectRoot, "metro"), { default: MetroHmrServer } = await projectImport(projectRoot, "metro/private/HmrServer"), { default: createWebsocketServer } = await projectImport(projectRoot, "metro/private/lib/createWebsocketServer"), { createDevMiddleware } = await projectImport(projectRoot, "@react-native/dev-middleware"), config = await getMetroConfigFromViteConfig(server.config, options), metroResult = await Metro.createConnectMiddleware(config, {
|
|
27
|
-
// Force enable file watching, even on CI.
|
|
28
|
-
// This is needed for HMR tests to work on CI.
|
|
29
|
-
watch: !0
|
|
30
|
-
});
|
|
31
|
-
middleware = metroResult.middleware, metroServer = metroResult.metroServer, patchMetroServerWithViteConfigAndMetroPluginOptions(
|
|
32
|
-
metroServer,
|
|
33
|
-
server.config,
|
|
34
|
-
options
|
|
35
|
-
), hmrServer = new MetroHmrServer(
|
|
36
|
-
metroServer.getBundler(),
|
|
37
|
-
metroServer.getCreateModuleId(),
|
|
38
|
-
config
|
|
39
|
-
);
|
|
40
|
-
const reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`, devMiddleware = createDevMiddleware({
|
|
41
|
-
serverBaseUrl: reactNativeDevToolsUrl,
|
|
42
|
-
logger: console
|
|
43
|
-
});
|
|
44
|
-
rnDevtoolsMiddleware = devMiddleware.middleware, websocketEndpoints = {
|
|
45
|
-
"/hot": createWebsocketServer({
|
|
46
|
-
websocketServer: hmrServer
|
|
47
|
-
}),
|
|
48
|
-
...devMiddleware.websocketEndpoints
|
|
49
|
-
}, server.httpServer?.on("upgrade", (request, socket, head) => {
|
|
50
|
-
const pathname = new URL(request.url, `http://${request.headers.host}`).pathname, endpoint = websocketEndpoints[pathname];
|
|
51
|
-
endpoint && endpoint.handleUpgrade(request, socket, head, (ws) => {
|
|
52
|
-
endpoint.emit("connection", ws, request);
|
|
53
|
-
});
|
|
54
|
-
}), server.middlewares.use(rnDevtoolsMiddleware), metroReady = !0;
|
|
55
|
-
const metroElapsed = Date.now() - metroStartTime;
|
|
56
|
-
debug?.(`Metro bundler ready (${metroElapsed}ms)`), metroPromiseResolvers.resolve();
|
|
57
|
-
} catch (err) {
|
|
58
|
-
throw debug?.(`Error during Metro initialization: ${err}`), metroPromiseResolvers.reject(err), err;
|
|
59
|
-
}
|
|
60
|
-
}, isLazyStartup = options.startup === "lazy";
|
|
61
|
-
let metroStarting = !1;
|
|
62
|
-
const ensureMetroStarted = () => {
|
|
63
|
-
metroStarting || metroReady || (metroStarting = !0, debug?.("Starting Metro on-demand (lazy startup)"), startMetro().catch((err) => {
|
|
64
|
-
debug?.(`Failed to start Metro: ${err}`);
|
|
65
|
-
}));
|
|
66
|
-
};
|
|
67
|
-
if (isLazyStartup)
|
|
68
|
-
debug?.("Metro lazy startup enabled - will start on first native request");
|
|
69
|
-
else if (server.httpServer)
|
|
70
|
-
server.httpServer.listening ? startMetro().catch((err) => {
|
|
71
|
-
debug?.(`Failed to start Metro: ${err}`);
|
|
72
|
-
}) : server.httpServer.on("listening", () => {
|
|
73
|
-
startMetro().catch((err) => {
|
|
74
|
-
debug?.(`Failed to start Metro: ${err}`);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
else {
|
|
78
|
-
const waitForServer = () => {
|
|
79
|
-
server.httpServer ? server.httpServer.listening ? startMetro().catch((err) => {
|
|
80
|
-
debug?.(`Failed to start Metro: ${err}`);
|
|
81
|
-
}) : server.httpServer.on("listening", () => {
|
|
82
|
-
startMetro().catch((err) => {
|
|
83
|
-
debug?.(`Failed to start Metro: ${err}`);
|
|
84
|
-
});
|
|
85
|
-
}) : setTimeout(waitForServer, 10);
|
|
86
|
-
};
|
|
87
|
-
waitForServer();
|
|
88
|
-
}
|
|
89
|
-
server.middlewares.use(async (req, res, next) => {
|
|
90
|
-
const isNativeRequest = req.headers["user-agent"]?.includes("CFNetwork/") || req.headers["user-agent"]?.includes("okhttp/");
|
|
91
|
-
if (isLazyStartup && !metroReady && (req.url?.includes(".bundle") || req.url === "/status" && isNativeRequest) && ensureMetroStarted(), req.url === "/status" && isNativeRequest) {
|
|
92
|
-
res.statusCode = 200, res.end("packager-status:running");
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
if (req.url?.includes(".bundle") && !metroReady && await metroPromise, middleware)
|
|
96
|
-
try {
|
|
97
|
-
if (req.url?.includes(".bundle")) {
|
|
98
|
-
const VITE_METRO_DEBUG_BUNDLE = process.env.VITE_METRO_DEBUG_BUNDLE;
|
|
99
|
-
if (VITE_METRO_DEBUG_BUNDLE && existsSync(VITE_METRO_DEBUG_BUNDLE)) {
|
|
100
|
-
debug?.(`serving debug bundle from ${VITE_METRO_DEBUG_BUNDLE}`);
|
|
101
|
-
const content = await readFile(VITE_METRO_DEBUG_BUNDLE, "utf-8");
|
|
102
|
-
res.setHeader("Content-Type", "application/javascript"), res.end(content);
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
if (req.url === "/open-stack-frame" && req.method === "POST") {
|
|
107
|
-
let body = "";
|
|
108
|
-
req.on("data", (chunk) => {
|
|
109
|
-
body += chunk.toString();
|
|
110
|
-
}), req.on("end", () => {
|
|
111
|
-
try {
|
|
112
|
-
const frame = JSON.parse(body);
|
|
113
|
-
launchEditor(frame.file), res.statusCode = 200, res.end("Stack frame opened in editor");
|
|
114
|
-
} catch (e) {
|
|
115
|
-
return debug?.(`Failed to parse stack frame: ${e}`), res.statusCode = 400, res.end("Invalid stack frame JSON");
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
await middleware(req, res, next);
|
|
121
|
-
} catch (error) {
|
|
122
|
-
debug?.(`Metro middleware error: ${error}`), next();
|
|
123
|
-
}
|
|
124
|
-
else
|
|
125
|
-
next();
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
export {
|
|
131
|
-
metroPlugin
|
|
132
|
-
};
|
|
133
|
-
//# sourceMappingURL=metroPlugin.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/plugins/metroPlugin.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import assetPathUtils from "./assetPathUtils";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
function cleanAssetCatalog(catalogDir) {
|
|
5
|
-
const files = fs.readdirSync(catalogDir).filter((file) => file.endsWith(".imageset"));
|
|
6
|
-
for (const file of files)
|
|
7
|
-
fs.rmSync(path.join(catalogDir, file), { recursive: !0, force: !0 });
|
|
8
|
-
}
|
|
9
|
-
function getImageSet(catalogDir, asset, scales) {
|
|
10
|
-
const fileName = assetPathUtils.getResourceIdentifier(asset);
|
|
11
|
-
return {
|
|
12
|
-
basePath: path.join(catalogDir, `${fileName}.imageset`),
|
|
13
|
-
files: scales.map((scale, idx) => {
|
|
14
|
-
const suffix = scale === 1 ? "" : `@${scale}x`;
|
|
15
|
-
return {
|
|
16
|
-
name: `${fileName + suffix}.${asset.type}`,
|
|
17
|
-
scale,
|
|
18
|
-
src: asset.files[idx]
|
|
19
|
-
};
|
|
20
|
-
})
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
function isCatalogAsset(asset) {
|
|
24
|
-
return asset.type === "png" || asset.type === "jpg" || asset.type === "jpeg";
|
|
25
|
-
}
|
|
26
|
-
function writeImageSet(imageSet) {
|
|
27
|
-
fs.mkdirSync(imageSet.basePath, { recursive: !0 });
|
|
28
|
-
for (const file of imageSet.files) {
|
|
29
|
-
const dest = path.join(imageSet.basePath, file.name);
|
|
30
|
-
fs.copyFileSync(file.src, dest);
|
|
31
|
-
}
|
|
32
|
-
fs.writeFileSync(
|
|
33
|
-
path.join(imageSet.basePath, "Contents.json"),
|
|
34
|
-
JSON.stringify({
|
|
35
|
-
images: imageSet.files.map((file) => ({
|
|
36
|
-
filename: file.name,
|
|
37
|
-
idiom: "universal",
|
|
38
|
-
scale: `${file.scale}x`
|
|
39
|
-
})),
|
|
40
|
-
info: {
|
|
41
|
-
author: "xcode",
|
|
42
|
-
version: 1
|
|
43
|
-
}
|
|
44
|
-
})
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
export {
|
|
48
|
-
cleanAssetCatalog,
|
|
49
|
-
getImageSet,
|
|
50
|
-
isCatalogAsset,
|
|
51
|
-
writeImageSet
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=assetCatalogIOS.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/assetCatalogIOS.ts"],
|
|
4
|
-
"mappings": "AASA,OAAO,oBAAoB;AAC3B,OAAO,QAAQ;AACf,OAAO,UAAU;AAEV,SAAS,kBAAkB,YAA0B;AAC1D,QAAM,QAAQ,GAAG,YAAY,UAAU,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,WAAW,CAAC;AACpF,aAAW,QAAQ;AACjB,OAAG,OAAO,KAAK,KAAK,YAAY,IAAI,GAAG,EAAE,WAAW,IAAM,OAAO,GAAK,CAAC;AAE3E;AAOO,SAAS,YACd,YACA,OACA,QACU;AACV,QAAM,WAAW,eAAe,sBAAsB,KAAK;AAC3D,SAAO;AAAA,IACL,UAAU,KAAK,KAAK,YAAY,GAAG,QAAQ,WAAW;AAAA,IACtD,OAAO,OAAO,IAAI,CAAC,OAAO,QAAQ;AAChC,YAAM,SAAS,UAAU,IAAI,KAAK,IAAI,KAAK;AAC3C,aAAO;AAAA,QACL,MAAM,GAAG,WAAW,MAAM,IAAI,MAAM,IAAI;AAAA,QACxC;AAAA,QACA,KAAK,MAAM,MAAM,GAAG;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,SAAS,eAAe,OAA2B;AACxD,SAAO,MAAM,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS;AACxE;AAEO,SAAS,cAAc,UAA0B;AACtD,KAAG,UAAU,SAAS,UAAU,EAAE,WAAW,GAAK,CAAC;AAEnD,aAAW,QAAQ,SAAS,OAAO;AACjC,UAAM,OAAO,KAAK,KAAK,SAAS,UAAU,KAAK,IAAI;AACnD,OAAG,aAAa,KAAK,KAAK,IAAI;AAAA,EAChC;AAEA,KAAG;AAAA,IACD,KAAK,KAAK,SAAS,UAAU,eAAe;AAAA,IAC5C,KAAK,UAAU;AAAA,MACb,QAAQ,SAAS,MAAM,IAAI,CAAC,UAAU;AAAA,QACpC,UAAU,KAAK;AAAA,QACf,OAAO;AAAA,QACP,OAAO,GAAG,KAAK,KAAK;AAAA,MACtB,EAAE;AAAA,MACF,MAAM;AAAA,QACJ,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
function getAndroidAssetSuffix(scale) {
|
|
2
|
-
switch (scale) {
|
|
3
|
-
case 0.75:
|
|
4
|
-
return "ldpi";
|
|
5
|
-
case 1:
|
|
6
|
-
return "mdpi";
|
|
7
|
-
case 1.5:
|
|
8
|
-
return "hdpi";
|
|
9
|
-
case 2:
|
|
10
|
-
return "xhdpi";
|
|
11
|
-
case 3:
|
|
12
|
-
return "xxhdpi";
|
|
13
|
-
case 4:
|
|
14
|
-
return "xxxhdpi";
|
|
15
|
-
default:
|
|
16
|
-
return "";
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
const drawableFileTypes = /* @__PURE__ */ new Set(["gif", "jpeg", "jpg", "png", "webp", "xml"]);
|
|
20
|
-
function getAndroidResourceFolderName(asset, scale) {
|
|
21
|
-
if (!drawableFileTypes.has(asset.type))
|
|
22
|
-
return "raw";
|
|
23
|
-
const suffix = getAndroidAssetSuffix(scale);
|
|
24
|
-
if (!suffix)
|
|
25
|
-
throw new Error(
|
|
26
|
-
`Don't know which android drawable suffix to use for asset: ${JSON.stringify(asset)}`
|
|
27
|
-
);
|
|
28
|
-
return `drawable-${suffix}`;
|
|
29
|
-
}
|
|
30
|
-
function getResourceIdentifier(asset) {
|
|
31
|
-
return `${getBasePath(asset)}/${asset.name}`.toLowerCase().replace(/\//g, "_").replace(/([^a-z0-9_])/g, "").replace(/^assets_/, "");
|
|
32
|
-
}
|
|
33
|
-
function getBasePath(asset) {
|
|
34
|
-
let basePath = asset.httpServerLocation;
|
|
35
|
-
return basePath[0] === "/" && (basePath = basePath.substr(1)), basePath;
|
|
36
|
-
}
|
|
37
|
-
var assetPathUtils_default = {
|
|
38
|
-
getAndroidAssetSuffix,
|
|
39
|
-
getAndroidResourceFolderName,
|
|
40
|
-
getResourceIdentifier,
|
|
41
|
-
getBasePath
|
|
42
|
-
};
|
|
43
|
-
export {
|
|
44
|
-
assetPathUtils_default as default
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=assetPathUtils.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/assetPathUtils.ts"],
|
|
4
|
-
"mappings": "AAiBA,SAAS,sBAAsB,OAAuB;AACpD,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAGA,MAAM,oBAAoB,oBAAI,IAAY,CAAC,OAAO,QAAQ,OAAO,OAAO,QAAQ,KAAK,CAAC;AAEtF,SAAS,6BAA6B,OAAsB,OAAuB;AACjF,MAAI,CAAC,kBAAkB,IAAI,MAAM,IAAI;AACnC,WAAO;AAET,QAAM,SAAS,sBAAsB,KAAK;AAC1C,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR,8DAA8D,KAAK,UAAU,KAAK,CAAC;AAAA,IACrF;AAGF,SADsB,YAAY,MAAM;AAE1C;AAEA,SAAS,sBAAsB,OAA8B;AAE3D,SAAO,GADY,YAAY,KAAK,CAChB,IAAI,MAAM,IAAI,GAC/B,YAAY,EACZ,QAAQ,OAAO,GAAG,EAClB,QAAQ,iBAAiB,EAAE,EAC3B,QAAQ,YAAY,EAAE;AAC3B;AAEA,SAAS,YAAY,OAA8B;AACjD,MAAI,WAAW,MAAM;AACrB,SAAI,SAAS,CAAC,MAAM,QAClB,WAAW,SAAS,OAAO,CAAC,IAEvB;AACT;AAEA,IAAO,yBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { getMetroConfigFromViteConfig } from "../../metro-config/getMetroConfigFromViteConfig";
|
|
2
|
-
import { buildBundleWithConfig } from "./buildBundleWithConfig";
|
|
3
|
-
import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "../../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions";
|
|
4
|
-
import { projectResolve } from "../../utils/projectImport";
|
|
5
|
-
import { ensureProcessExitsAfterDelay } from "../../utils/exit";
|
|
6
|
-
async function buildBundle(_argv, ctx, argsIn, bundleImpl = null) {
|
|
7
|
-
const { viteConfig, metroPluginOptions } = this || {};
|
|
8
|
-
if (!viteConfig)
|
|
9
|
-
throw new Error(
|
|
10
|
-
"[vxrn/buildBundle.metro] Expect the buildBundle function to be bind with an object that has viteConfig property."
|
|
11
|
-
);
|
|
12
|
-
if (!metroPluginOptions)
|
|
13
|
-
throw new Error(
|
|
14
|
-
"[vxrn/buildBundle.metro] Expect the buildBundle function to be bind with an object that has metroPluginOptions property."
|
|
15
|
-
);
|
|
16
|
-
if (process.env.IS_VXRN_CLI)
|
|
17
|
-
throw new Error(
|
|
18
|
-
"IS_VXRN_CLI should not be set while using @vxrn/vite-plugin-metro buildBundle, it is not supported"
|
|
19
|
-
);
|
|
20
|
-
const metroConfig = await getMetroConfigFromViteConfig(viteConfig, {
|
|
21
|
-
...metroPluginOptions,
|
|
22
|
-
watchman: metroPluginOptions.watchman ?? !1
|
|
23
|
-
}), args = {
|
|
24
|
-
...argsIn,
|
|
25
|
-
entryFile: metroPluginOptions.mainModuleName ? projectResolve(viteConfig.root, metroPluginOptions.mainModuleName) : argsIn.entryFile
|
|
26
|
-
};
|
|
27
|
-
await buildBundleWithConfig(args, metroConfig, void 0, {
|
|
28
|
-
patchServer: (server) => {
|
|
29
|
-
patchMetroServerWithViteConfigAndMetroPluginOptions(
|
|
30
|
-
server,
|
|
31
|
-
viteConfig,
|
|
32
|
-
metroPluginOptions
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
}), console.info("Done."), ensureProcessExitsAfterDelay();
|
|
36
|
-
}
|
|
37
|
-
export {
|
|
38
|
-
buildBundle
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=buildBundle.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/buildBundle.ts"],
|
|
4
|
-
"mappings": "AAEA,SAAS,oCAAoC;AAC7C,SAAS,6BAA6B;AACtC,SAAS,2DAA2D;AACpE,SAAS,sBAAsB;AAE/B,SAAS,oCAAoC;AAE7C,eAAsB,YAEpB,OACA,KACA,QACA,aAAkB,MACH;AACf,QAAM,EAAE,YAAY,mBAAmB,IAAI,QAAQ,CAAC;AACpD,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAEF,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAGF,MAAI,QAAQ,IAAI;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAIF,QAAM,cAAc,MAAM,6BAA6B,YAAY;AAAA,IACjE,GAAG;AAAA,IACH,UAAU,mBAAmB,YAAY;AAAA,EAC3C,CAAC,GAEK,OAAO;AAAA,IACX,GAAG;AAAA,IACH,WAAW,mBAAmB,iBAC1B,eAAe,WAAW,MAAM,mBAAmB,cAAc,IACjE,OAAO;AAAA,EACb;AAEA,QAAM,sBAAsB,MAAM,aAAa,QAAW;AAAA,IACxD,aAAa,CAAC,WAAW;AACvB;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC,GAED,QAAQ,KAAK,OAAO,GAEpB,6BAA6B;AAC/B;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { promises as fs } from "node:fs";
|
|
3
|
-
import ServerModule from "metro/private/Server";
|
|
4
|
-
import metroBundle from "metro/private/shared/output/bundle";
|
|
5
|
-
import saveAssets from "./saveAssets";
|
|
6
|
-
const Server = ServerModule.default;
|
|
7
|
-
async function buildBundleWithConfig(args, config, bundleImpl = metroBundle, { patchServer } = {}) {
|
|
8
|
-
const customResolverOptions = [];
|
|
9
|
-
if (config.resolver.platforms.indexOf(args.platform) === -1)
|
|
10
|
-
throw console.error(
|
|
11
|
-
`Invalid platform ${args.platform ? `"${args.platform}" ` : ""}selected.`
|
|
12
|
-
), console.info(
|
|
13
|
-
`Available platforms are: ${config.resolver.platforms.map((x) => `"${x}"`).join(
|
|
14
|
-
", "
|
|
15
|
-
)}. If you are trying to bundle for an out-of-tree platform, it may not be installed.`
|
|
16
|
-
), new Error("Bundling failed");
|
|
17
|
-
process.env.NODE_ENV = args.dev ? "development" : "production";
|
|
18
|
-
let sourceMapUrl = args.sourcemapOutput;
|
|
19
|
-
sourceMapUrl != null && !args.sourcemapUseAbsolutePath && (sourceMapUrl = path.basename(sourceMapUrl));
|
|
20
|
-
const requestOpts = {
|
|
21
|
-
entryFile: args.entryFile,
|
|
22
|
-
sourceMapUrl,
|
|
23
|
-
dev: args.dev,
|
|
24
|
-
minify: args.minify !== void 0 ? args.minify : !args.dev,
|
|
25
|
-
platform: args.platform,
|
|
26
|
-
unstable_transformProfile: args.unstableTransformProfile,
|
|
27
|
-
customResolverOptions
|
|
28
|
-
}, server = new Server(config);
|
|
29
|
-
patchServer && patchServer(server);
|
|
30
|
-
try {
|
|
31
|
-
const bundle = await bundleImpl.build(server, requestOpts);
|
|
32
|
-
await fs.mkdir(path.dirname(args.bundleOutput), {
|
|
33
|
-
recursive: !0,
|
|
34
|
-
mode: 493
|
|
35
|
-
}), await bundleImpl.save(bundle, args, console.info);
|
|
36
|
-
const outputAssets = await server.getAssets({
|
|
37
|
-
...Server.DEFAULT_BUNDLE_OPTIONS,
|
|
38
|
-
...requestOpts
|
|
39
|
-
});
|
|
40
|
-
return await saveAssets(
|
|
41
|
-
outputAssets,
|
|
42
|
-
args.platform,
|
|
43
|
-
args.assetsDest,
|
|
44
|
-
args.assetCatalogDest
|
|
45
|
-
);
|
|
46
|
-
} finally {
|
|
47
|
-
await server.end();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export {
|
|
51
|
-
buildBundleWithConfig
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=buildBundleWithConfig.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/buildBundleWithConfig.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,YAAY,UAAU;AAG/B,OAAO,kBAAkB;AACzB,OAAO,iBAAiB;AAGxB,OAAO,gBAAgB;AAGvB,MAAM,SAAU,aAAwD;AAaxE,eAAsB,sBACpB,MACA,QACA,aAAyD,aACzD,EAAE,YAAY,IAAiD,CAAC,GACjD;AAEf,QAAM,wBAAwB,CAAC;AAE/B,MAAI,OAAO,SAAS,UAAU,QAAQ,KAAK,QAAQ,MAAM;AACvD,kBAAQ;AAAA,MACN,oBAAoB,KAAK,WAAW,IAAI,KAAK,QAAQ,OAAO,EAAE;AAAA,IAChE,GAEA,QAAQ;AAAA,MACN,4BAA4B,OAAO,SAAS,UACzC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EACnB;AAAA,QACC;AAAA,MACF,CAAC;AAAA,IACL,GAEM,IAAI,MAAM,iBAAiB;AAKnC,UAAQ,IAAI,WAAW,KAAK,MAAM,gBAAgB;AAElD,MAAI,eAAe,KAAK;AACxB,EAAI,gBAAgB,QAAQ,CAAC,KAAK,6BAChC,eAAe,KAAK,SAAS,YAAY;AAI3C,QAAM,cAA8B;AAAA,IAClC,WAAW,KAAK;AAAA,IAChB;AAAA,IACA,KAAK,KAAK;AAAA,IACV,QAAQ,KAAK,WAAW,SAAY,KAAK,SAAS,CAAC,KAAK;AAAA,IACxD,UAAU,KAAK;AAAA,IACf,2BAA2B,KAAK;AAAA,IAChC;AAAA,EACF,GAEM,SAAS,IAAI,OAAO,MAAM;AAEhC,EAAI,eACF,YAAY,MAAM;AAGpB,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,MAAM,QAAQ,WAAW;AAGzD,UAAM,GAAG,MAAM,KAAK,QAAQ,KAAK,YAAY,GAAG;AAAA,MAC9C,WAAW;AAAA,MACX,MAAM;AAAA,IACR,CAAC,GAED,MAAM,WAAW,KAAK,QAAQ,MAAM,QAAQ,IAAI;AAGhD,UAAM,eAAe,MAAM,OAAO,UAAU;AAAA,MAC1C,GAAG,OAAO;AAAA,MACV,GAAG;AAAA,IACL,CAAQ;AAGR,WAAO,MAAM;AAAA,MACX;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF,UAAE;AACA,UAAM,OAAO,IAAI;AAAA,EACnB;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const ALLOWED_SCALES = {
|
|
2
|
-
ios: [1, 2, 3]
|
|
3
|
-
};
|
|
4
|
-
function filterPlatformAssetScales(platform, scales) {
|
|
5
|
-
const whitelist = ALLOWED_SCALES[platform];
|
|
6
|
-
if (!whitelist)
|
|
7
|
-
return scales;
|
|
8
|
-
const result = scales.filter((scale) => whitelist.indexOf(scale) > -1);
|
|
9
|
-
if (result.length === 0 && scales.length > 0) {
|
|
10
|
-
const maxScale = whitelist[whitelist.length - 1];
|
|
11
|
-
for (const scale of scales)
|
|
12
|
-
if (scale > maxScale) {
|
|
13
|
-
result.push(scale);
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
result.length === 0 && result.push(scales[scales.length - 1]);
|
|
17
|
-
}
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
var filterPlatformAssetScales_default = filterPlatformAssetScales;
|
|
21
|
-
export {
|
|
22
|
-
filterPlatformAssetScales_default as default
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=filterPlatformAssetScales.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/filterPlatformAssetScales.ts"],
|
|
4
|
-
"mappings": "AAOA,MAAM,iBAA8C;AAAA,EAClD,KAAK,CAAC,GAAG,GAAG,CAAC;AACf;AAEA,SAAS,0BACP,UACA,QACuB;AACvB,QAAM,YAAsB,eAAe,QAAQ;AACnD,MAAI,CAAC;AACH,WAAO;AAET,QAAM,SAAS,OAAO,OAAO,CAAC,UAAU,UAAU,QAAQ,KAAK,IAAI,EAAE;AACrE,MAAI,OAAO,WAAW,KAAK,OAAO,SAAS,GAAG;AAI5C,UAAM,WAAW,UAAU,UAAU,SAAS,CAAC;AAC/C,eAAW,SAAS;AAClB,UAAI,QAAQ,UAAU;AACpB,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAIF,IAAI,OAAO,WAAW,KACpB,OAAO,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA,EAEzC;AACA,SAAO;AACT;AAEA,IAAO,oCAAQ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import assetPathUtils from "./assetPathUtils";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
function getAssetDestPathAndroid(asset, scale) {
|
|
4
|
-
const androidFolder = assetPathUtils.getAndroidResourceFolderName(asset, scale), fileName = assetPathUtils.getResourceIdentifier(asset);
|
|
5
|
-
return path.join(androidFolder, `${fileName}.${asset.type}`);
|
|
6
|
-
}
|
|
7
|
-
var getAssetDestPathAndroid_default = getAssetDestPathAndroid;
|
|
8
|
-
export {
|
|
9
|
-
getAssetDestPathAndroid_default as default
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=getAssetDestPathAndroid.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/getAssetDestPathAndroid.ts"],
|
|
4
|
-
"mappings": "AASA,OAAO,oBAAoB;AAC3B,OAAO,UAAU;AAEjB,SAAS,wBAAwB,OAAsB,OAAuB;AAC5E,QAAM,gBAAgB,eAAe,6BAA6B,OAAO,KAAK,GACxE,WAAW,eAAe,sBAAsB,KAAK;AAC3D,SAAO,KAAK,KAAK,eAAe,GAAG,QAAQ,IAAI,MAAM,IAAI,EAAE;AAC7D;AAEA,IAAO,kCAAQ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
function getAssetDestPathIOS(asset, scale) {
|
|
3
|
-
const suffix = scale === 1 ? "" : `@${scale}x`, fileName = `${asset.name + suffix}.${asset.type}`;
|
|
4
|
-
return path.join(
|
|
5
|
-
// Assets can have relative paths outside of the project root.
|
|
6
|
-
// Replace `../` with `_` to make sure they don't end up outside of
|
|
7
|
-
// the expected assets directory.
|
|
8
|
-
asset.httpServerLocation.substr(1).replace(/\.\.\//g, "_"),
|
|
9
|
-
fileName
|
|
10
|
-
);
|
|
11
|
-
}
|
|
12
|
-
var getAssetDestPathIOS_default = getAssetDestPathIOS;
|
|
13
|
-
export {
|
|
14
|
-
getAssetDestPathIOS_default as default
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=getAssetDestPathIOS.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/getAssetDestPathIOS.ts"],
|
|
4
|
-
"mappings": "AASA,OAAO,UAAU;AAEjB,SAAS,oBAAoB,OAAsB,OAAuB;AACxE,QAAM,SAAS,UAAU,IAAI,KAAK,IAAI,KAAK,KACrC,WAAW,GAAG,MAAM,OAAO,MAAM,IAAI,MAAM,IAAI;AACrD,SAAO,KAAK;AAAA;AAAA;AAAA;AAAA,IAIV,MAAM,mBAAmB,OAAO,CAAC,EAAE,QAAQ,WAAW,GAAG;AAAA,IACzD;AAAA,EACF;AACF;AAEA,IAAO,8BAAQ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { resolveConfig } from "vite";
|
|
2
|
-
import { buildBundle } from "./buildBundle";
|
|
3
|
-
async function getBuildBundleFn() {
|
|
4
|
-
const viteConfig = await resolveConfig(
|
|
5
|
-
{
|
|
6
|
-
// configFile,
|
|
7
|
-
// configLoader,
|
|
8
|
-
// envFile,
|
|
9
|
-
// forceOptimizeDeps,
|
|
10
|
-
},
|
|
11
|
-
"build",
|
|
12
|
-
"production"
|
|
13
|
-
);
|
|
14
|
-
return globalThis.__viteMetroPluginOptions__ ? buildBundle.bind({
|
|
15
|
-
viteConfig,
|
|
16
|
-
metroPluginOptions: globalThis.__viteMetroPluginOptions__
|
|
17
|
-
}) : null;
|
|
18
|
-
}
|
|
19
|
-
export {
|
|
20
|
-
getBuildBundleFn
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=getBuildBundleFn.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/getBuildBundleFn.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAO5B,eAAsB,mBAAmB;AACvC,QAAM,aAAa,MAAM;AAAA,IACvB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAGA,SAAI,WAAW,6BACY,YAAY,KAAK;AAAA,IACxC;AAAA,IACA,oBAAoB,WAAW;AAAA,EACjC,CAAC,IAII;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
cleanAssetCatalog,
|
|
5
|
-
getImageSet,
|
|
6
|
-
isCatalogAsset,
|
|
7
|
-
writeImageSet
|
|
8
|
-
} from "./assetCatalogIOS";
|
|
9
|
-
import filterPlatformAssetScales from "./filterPlatformAssetScales";
|
|
10
|
-
import getAssetDestPathAndroid from "./getAssetDestPathAndroid";
|
|
11
|
-
import getAssetDestPathIOS from "./getAssetDestPathIOS";
|
|
12
|
-
async function saveAssets(assets, platform, assetsDest, assetCatalogDest) {
|
|
13
|
-
if (assetsDest == null) {
|
|
14
|
-
console.warn("Assets destination folder is not set, skipping...");
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const filesToCopy = {}, getAssetDestPath = platform === "android" ? getAssetDestPathAndroid : getAssetDestPathIOS, addAssetToCopy = (asset) => {
|
|
18
|
-
const validScales = new Set(filterPlatformAssetScales(platform, asset.scales));
|
|
19
|
-
asset.scales.forEach((scale, idx) => {
|
|
20
|
-
if (!validScales.has(scale))
|
|
21
|
-
return;
|
|
22
|
-
const src = asset.files[idx], dest = path.join(assetsDest, getAssetDestPath(asset, scale));
|
|
23
|
-
filesToCopy[src] = dest;
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
if (platform === "ios" && assetCatalogDest != null) {
|
|
27
|
-
const catalogDir = path.join(assetCatalogDest, "RNAssets.xcassets");
|
|
28
|
-
if (!fs.existsSync(catalogDir)) {
|
|
29
|
-
console.error(
|
|
30
|
-
`Could not find asset catalog 'RNAssets.xcassets' in ${assetCatalogDest}. Make sure to create it if it does not exist.`
|
|
31
|
-
);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
console.info("Adding images to asset catalog", catalogDir), cleanAssetCatalog(catalogDir);
|
|
35
|
-
for (const asset of assets)
|
|
36
|
-
if (isCatalogAsset(asset)) {
|
|
37
|
-
const imageSet = getImageSet(
|
|
38
|
-
catalogDir,
|
|
39
|
-
asset,
|
|
40
|
-
filterPlatformAssetScales(platform, asset.scales)
|
|
41
|
-
);
|
|
42
|
-
writeImageSet(imageSet);
|
|
43
|
-
} else
|
|
44
|
-
addAssetToCopy(asset);
|
|
45
|
-
console.info("Done adding images to asset catalog");
|
|
46
|
-
} else
|
|
47
|
-
assets.forEach(addAssetToCopy);
|
|
48
|
-
return copyAll(filesToCopy);
|
|
49
|
-
}
|
|
50
|
-
function copyAll(filesToCopy) {
|
|
51
|
-
const queue = Object.keys(filesToCopy);
|
|
52
|
-
return queue.length === 0 ? Promise.resolve() : (console.info(`Copying ${queue.length} asset files`), new Promise((resolve, reject) => {
|
|
53
|
-
const copyNext = (error) => {
|
|
54
|
-
if (error) {
|
|
55
|
-
reject(error);
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (queue.length === 0)
|
|
59
|
-
console.info("Done copying assets"), resolve();
|
|
60
|
-
else {
|
|
61
|
-
const src = queue.shift(), dest = filesToCopy[src];
|
|
62
|
-
copy(src, dest, copyNext);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
copyNext();
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
function copy(src, dest, callback) {
|
|
69
|
-
const destDir = path.dirname(dest);
|
|
70
|
-
fs.mkdir(destDir, { recursive: !0 }, (err) => {
|
|
71
|
-
if (err) {
|
|
72
|
-
callback(err);
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
fs.createReadStream(src).pipe(fs.createWriteStream(dest)).on("finish", callback);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
var saveAssets_default = saveAssets;
|
|
79
|
-
export {
|
|
80
|
-
saveAssets_default as default
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=saveAssets.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/rn-commands/bundle/saveAssets.ts"],
|
|
4
|
-
"mappings": "AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,+BAA+B;AACtC,OAAO,6BAA6B;AACpC,OAAO,yBAAyB;AAMhC,eAAe,WACb,QACA,UACA,YACA,kBACe;AACf,MAAI,cAAc,MAAM;AACtB,YAAQ,KAAK,mDAAmD;AAChE;AAAA,EACF;AAEA,QAAM,cAA2B,CAAC,GAE5B,mBACJ,aAAa,YAAY,0BAA0B,qBAE/C,iBAAiB,CAAC,UAAqB;AAC3C,UAAM,cAAc,IAAI,IAAI,0BAA0B,UAAU,MAAM,MAAM,CAAC;AAE7E,UAAM,OAAO,QAAQ,CAAC,OAAO,QAAQ;AACnC,UAAI,CAAC,YAAY,IAAI,KAAK;AACxB;AAEF,YAAM,MAAM,MAAM,MAAM,GAAG,GACrB,OAAO,KAAK,KAAK,YAAY,iBAAiB,OAAO,KAAK,CAAC;AACjE,kBAAY,GAAG,IAAI;AAAA,IACrB,CAAC;AAAA,EACH;AAEA,MAAI,aAAa,SAAS,oBAAoB,MAAM;AAGlD,UAAM,aAAa,KAAK,KAAK,kBAAkB,mBAAmB;AAClE,QAAI,CAAC,GAAG,WAAW,UAAU,GAAG;AAC9B,cAAQ;AAAA,QACN,uDAAuD,gBAAgB;AAAA,MACzE;AACA;AAAA,IACF;AAEA,YAAQ,KAAK,kCAAkC,UAAU,GACzD,kBAAkB,UAAU;AAC5B,eAAW,SAAS;AAClB,UAAI,eAAe,KAAK,GAAG;AACzB,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA,0BAA0B,UAAU,MAAM,MAAM;AAAA,QAClD;AACA,sBAAc,QAAQ;AAAA,MACxB;AACE,uBAAe,KAAK;AAGxB,YAAQ,KAAK,qCAAqC;AAAA,EACpD;AACE,WAAO,QAAQ,cAAc;AAG/B,SAAO,QAAQ,WAAW;AAC5B;AAEA,SAAS,QAAQ,aAA0B;AACzC,QAAM,QAAQ,OAAO,KAAK,WAAW;AACrC,SAAI,MAAM,WAAW,IACZ,QAAQ,QAAQ,KAGzB,QAAQ,KAAK,WAAW,MAAM,MAAM,cAAc,GAC3C,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,WAAW,CAAC,UAAkB;AAClC,UAAI,OAAO;AACT,eAAO,KAAK;AACZ;AAAA,MACF;AACA,UAAI,MAAM,WAAW;AACnB,gBAAQ,KAAK,qBAAqB,GAClC,QAAQ;AAAA,WACH;AAEL,cAAM,MAAM,MAAM,MAAM,GAElB,OAAO,YAAY,GAAG;AAE5B,aAAK,KAAK,MAAM,QAAQ;AAAA,MAC1B;AAAA,IACF;AACA,aAAS;AAAA,EACX,CAAC;AACH;AAEA,SAAS,KAAK,KAAa,MAAc,UAAyC;AAChF,QAAM,UAAU,KAAK,QAAQ,IAAI;AACjC,KAAG,MAAM,SAAS,EAAE,WAAW,GAAK,GAAG,CAAC,QAAS;AAC/C,QAAI,KAAK;AACP,eAAS,GAAG;AACZ;AAAA,IACF;AACA,OAAG,iBAAiB,GAAG,EAAE,KAAK,GAAG,kBAAkB,IAAI,CAAC,EAAE,GAAG,UAAU,QAAQ;AAAA,EACjF,CAAC;AACH;AAEA,IAAO,qBAAQ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=types.js.map
|