@vxrn/vite-plugin-metro 1.1.504 → 1.1.506
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/babel-plugins/import-meta-env-plugin.cjs +65 -0
- package/dist/cjs/babel-plugins/import-meta-env-plugin.js +52 -0
- package/dist/cjs/babel-plugins/import-meta-env-plugin.js.map +6 -0
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +62 -0
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +6 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +47 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.js +40 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.js.map +6 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +53 -0
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +6 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +110 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js +96 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js.map +6 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +102 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +6 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +48 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +46 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +6 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +50 -0
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +6 -0
- package/dist/cjs/metro-config/types.cjs +16 -0
- package/dist/cjs/metro-config/types.js +14 -0
- package/dist/cjs/metro-config/types.js.map +6 -0
- package/dist/cjs/metro-config/types.native.js +15 -0
- package/dist/cjs/metro-config/types.native.js.map +6 -0
- package/dist/cjs/plugins/metroPlugin.cjs +8 -84
- package/dist/cjs/plugins/metroPlugin.js +6 -90
- package/dist/cjs/plugins/metroPlugin.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.native.js +6 -82
- package/dist/cjs/plugins/metroPlugin.native.js.map +2 -2
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.cjs +86 -0
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.js +75 -0
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js +114 -0
- package/dist/cjs/rn-commands/bundle/assetCatalogIOS.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.cjs +63 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.js +62 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js +70 -0
- package/dist/cjs/rn-commands/bundle/assetPathUtils.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.cjs +50 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.js +47 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js +46 -0
- package/dist/cjs/rn-commands/bundle/buildBundle.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.cjs +76 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.js +66 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js +69 -0
- package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.cjs +43 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.js +40 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js +60 -0
- package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.cjs +44 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.js +34 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js +35 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.cjs +47 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.js +40 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js +41 -0
- package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.cjs +39 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.js +37 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js +45 -0
- package/dist/cjs/rn-commands/bundle/getBuildBundleFn.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/index.cjs +28 -0
- package/dist/cjs/rn-commands/bundle/index.js +22 -0
- package/dist/cjs/rn-commands/bundle/index.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/index.native.js +28 -0
- package/dist/cjs/rn-commands/bundle/index.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.cjs +103 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.js +96 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js +107 -0
- package/dist/cjs/rn-commands/bundle/saveAssets.native.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/types.cjs +16 -0
- package/dist/cjs/rn-commands/bundle/types.js +14 -0
- package/dist/cjs/rn-commands/bundle/types.js.map +6 -0
- package/dist/cjs/rn-commands/bundle/types.native.js +15 -0
- package/dist/cjs/rn-commands/bundle/types.native.js.map +6 -0
- package/dist/cjs/rn-commands/index.cjs +37 -0
- package/dist/cjs/rn-commands/index.js +29 -0
- package/dist/cjs/rn-commands/index.js.map +6 -0
- package/dist/cjs/rn-commands/index.native.js +34 -0
- package/dist/cjs/rn-commands/index.native.js.map +6 -0
- package/dist/cjs/transformer/babel-transformer.cjs +5 -1
- package/dist/cjs/transformer/babel-transformer.js +8 -1
- package/dist/cjs/transformer/babel-transformer.js.map +1 -1
- package/dist/cjs/transformer/babel-transformer.native.js +6 -1
- package/dist/cjs/transformer/babel-transformer.native.js.map +2 -2
- package/dist/cjs/transformer/types.cjs +16 -0
- package/dist/cjs/transformer/types.js +14 -0
- package/dist/cjs/transformer/types.js.map +6 -0
- package/dist/cjs/transformer/types.native.js +15 -0
- package/dist/cjs/transformer/types.native.js.map +6 -0
- package/dist/esm/babel-plugins/import-meta-env-plugin.js +29 -0
- package/dist/esm/babel-plugins/import-meta-env-plugin.js.map +6 -0
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +30 -0
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -0
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +38 -0
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -0
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.js +24 -0
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.js.map +6 -0
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +24 -0
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -0
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +27 -0
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -0
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.js +82 -0
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.js.map +6 -0
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +87 -0
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -0
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +92 -0
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -0
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +30 -0
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +6 -0
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +25 -0
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -0
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +26 -0
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -0
- package/dist/esm/metro-config/types.js +1 -0
- package/dist/esm/metro-config/types.js.map +6 -0
- package/dist/esm/metro-config/types.mjs +2 -0
- package/dist/esm/metro-config/types.mjs.map +1 -0
- package/dist/esm/metro-config/types.native.js +2 -0
- package/dist/esm/metro-config/types.native.js.map +1 -0
- package/dist/esm/plugins/metroPlugin.js +8 -92
- package/dist/esm/plugins/metroPlugin.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.mjs +9 -85
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js +9 -91
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.js +53 -0
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.js.map +6 -0
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs +49 -0
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js +83 -0
- package/dist/esm/rn-commands/bundle/assetCatalogIOS.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/assetPathUtils.js +46 -0
- package/dist/esm/rn-commands/bundle/assetPathUtils.js.map +6 -0
- package/dist/esm/rn-commands/bundle/assetPathUtils.mjs +40 -0
- package/dist/esm/rn-commands/bundle/assetPathUtils.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/assetPathUtils.native.js +42 -0
- package/dist/esm/rn-commands/bundle/assetPathUtils.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/buildBundle.js +34 -0
- package/dist/esm/rn-commands/bundle/buildBundle.js.map +6 -0
- package/dist/esm/rn-commands/bundle/buildBundle.mjs +27 -0
- package/dist/esm/rn-commands/bundle/buildBundle.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/buildBundle.native.js +28 -0
- package/dist/esm/rn-commands/bundle/buildBundle.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.js +46 -0
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.js.map +6 -0
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs +42 -0
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js +46 -0
- package/dist/esm/rn-commands/bundle/buildBundleWithConfig.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.js +24 -0
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.js.map +6 -0
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs +20 -0
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js +38 -0
- package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.js +11 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.js.map +6 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs +10 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js +10 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.js +16 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.js.map +6 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs +13 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js +13 -0
- package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.js +22 -0
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.js.map +6 -0
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs +16 -0
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js +20 -0
- package/dist/esm/rn-commands/bundle/getBuildBundleFn.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/index.js +7 -0
- package/dist/esm/rn-commands/bundle/index.js.map +6 -0
- package/dist/esm/rn-commands/bundle/index.mjs +4 -0
- package/dist/esm/rn-commands/bundle/index.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/index.native.js +4 -0
- package/dist/esm/rn-commands/bundle/index.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/saveAssets.js +77 -0
- package/dist/esm/rn-commands/bundle/saveAssets.js.map +6 -0
- package/dist/esm/rn-commands/bundle/saveAssets.mjs +69 -0
- package/dist/esm/rn-commands/bundle/saveAssets.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/saveAssets.native.js +86 -0
- package/dist/esm/rn-commands/bundle/saveAssets.native.js.map +1 -0
- package/dist/esm/rn-commands/bundle/types.js +1 -0
- package/dist/esm/rn-commands/bundle/types.js.map +6 -0
- package/dist/esm/rn-commands/bundle/types.mjs +2 -0
- package/dist/esm/rn-commands/bundle/types.mjs.map +1 -0
- package/dist/esm/rn-commands/bundle/types.native.js +2 -0
- package/dist/esm/rn-commands/bundle/types.native.js.map +1 -0
- package/dist/esm/rn-commands/index.js +5 -0
- package/dist/esm/rn-commands/index.js.map +6 -0
- package/dist/esm/rn-commands/index.mjs +3 -0
- package/dist/esm/rn-commands/index.mjs.map +1 -0
- package/dist/esm/rn-commands/index.native.js +3 -0
- package/dist/esm/rn-commands/index.native.js.map +1 -0
- package/dist/esm/transformer/babel-transformer.js +8 -1
- package/dist/esm/transformer/babel-transformer.js.map +1 -1
- package/dist/esm/transformer/babel-transformer.mjs +5 -1
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +6 -2
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- package/dist/esm/transformer/types.js +1 -0
- package/dist/esm/transformer/types.js.map +6 -0
- package/dist/esm/transformer/types.mjs +2 -0
- package/dist/esm/transformer/types.mjs.map +1 -0
- package/dist/esm/transformer/types.native.js +2 -0
- package/dist/esm/transformer/types.native.js.map +1 -0
- package/package.json +19 -4
- package/src/babel-plugins/import-meta-env-plugin.ts +56 -0
- package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +50 -0
- package/src/metro-config/getMetroConfigFromViteConfig.ts +144 -0
- package/src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts +44 -0
- package/src/metro-config/types.ts +9 -0
- package/src/plugins/metroPlugin.ts +13 -144
- package/src/rn-commands/bundle/README.md +2 -0
- package/src/rn-commands/bundle/assetCatalogIOS.ts +73 -0
- package/src/rn-commands/bundle/assetPathUtils.ts +76 -0
- package/src/rn-commands/bundle/buildBundle.ts +57 -0
- package/src/rn-commands/bundle/buildBundleWithConfig.ts +82 -0
- package/src/rn-commands/bundle/filterPlatformAssetScales.ts +41 -0
- package/src/rn-commands/bundle/getAssetDestPathAndroid.ts +19 -0
- package/src/rn-commands/bundle/getAssetDestPathIOS.ts +24 -0
- package/src/rn-commands/bundle/getBuildBundleFn.ts +31 -0
- package/src/rn-commands/bundle/index.ts +2 -0
- package/src/rn-commands/bundle/saveAssets.ts +114 -0
- package/src/rn-commands/bundle/types.ts +22 -0
- package/src/rn-commands/index.ts +1 -0
- package/src/transformer/babel-transformer.ts +18 -3
- package/src/transformer/types.ts +18 -0
- package/types/babel-plugins/import-meta-env-plugin.d.ts +7 -0
- package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -0
- package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +4 -0
- package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -0
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts +5 -0
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -0
- package/types/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts +5 -0
- package/types/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts.map +1 -0
- package/types/metro-config/types.d.ts +9 -0
- package/types/metro-config/types.d.ts.map +1 -0
- package/types/plugins/metroPlugin.d.ts +1 -1
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/rn-commands/bundle/assetCatalogIOS.d.ts +21 -0
- package/types/rn-commands/bundle/assetCatalogIOS.d.ts.map +1 -0
- package/types/rn-commands/bundle/assetPathUtils.d.ts +27 -0
- package/types/rn-commands/bundle/assetPathUtils.d.ts.map +1 -0
- package/types/rn-commands/bundle/buildBundle.d.ts +8 -0
- package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -0
- package/types/rn-commands/bundle/buildBundleWithConfig.d.ts +9 -0
- package/types/rn-commands/bundle/buildBundleWithConfig.d.ts.map +1 -0
- package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts +9 -0
- package/types/rn-commands/bundle/filterPlatformAssetScales.d.ts.map +1 -0
- package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts +10 -0
- package/types/rn-commands/bundle/getAssetDestPathAndroid.d.ts.map +1 -0
- package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts +10 -0
- package/types/rn-commands/bundle/getAssetDestPathIOS.d.ts.map +1 -0
- package/types/rn-commands/bundle/getBuildBundleFn.d.ts +7 -0
- package/types/rn-commands/bundle/getBuildBundleFn.d.ts.map +1 -0
- package/types/rn-commands/bundle/index.d.ts +3 -0
- package/types/rn-commands/bundle/index.d.ts.map +1 -0
- package/types/rn-commands/bundle/saveAssets.d.ts +4 -0
- package/types/rn-commands/bundle/saveAssets.d.ts.map +1 -0
- package/types/rn-commands/bundle/types.d.ts +23 -0
- package/types/rn-commands/bundle/types.d.ts.map +1 -0
- package/types/rn-commands/index.d.ts +2 -0
- package/types/rn-commands/index.d.ts.map +1 -0
- package/types/transformer/babel-transformer.d.ts.map +1 -1
- package/types/transformer/types.d.ts +16 -0
- package/types/transformer/types.d.ts.map +1 -0
|
@@ -2,106 +2,22 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { parse } from "node:url";
|
|
4
4
|
import launchEditor from "launch-editor";
|
|
5
|
-
import { projectImport
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
function metroPlugin({
|
|
9
|
-
|
|
10
|
-
defaultConfigOverrides,
|
|
11
|
-
babelConfig,
|
|
12
|
-
mainModuleName
|
|
13
|
-
} = {}) {
|
|
14
|
-
return {
|
|
5
|
+
import { projectImport } from "../utils/projectImport";
|
|
6
|
+
import { getMetroConfigFromViteConfig } from "../metro-config/getMetroConfigFromViteConfig";
|
|
7
|
+
import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions";
|
|
8
|
+
function metroPlugin(options = {}) {
|
|
9
|
+
return globalThis.__viteMetroPluginOptions__ = options, {
|
|
15
10
|
name: "metro",
|
|
16
11
|
// configResolved(config) {
|
|
17
12
|
// projectRoot = config.root
|
|
18
13
|
// },
|
|
19
14
|
async configureServer(server) {
|
|
20
|
-
const { logger, root: projectRoot } = server.config, { default: Metro
|
|
21
|
-
if (mainModuleName) {
|
|
22
|
-
const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl, resolveMainModuleName = await (async () => {
|
|
23
|
-
const ExpoGoManifestHandlerMiddleware = (await projectImport(
|
|
24
|
-
projectRoot,
|
|
25
|
-
"@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js"
|
|
26
|
-
)).default.ExpoGoManifestHandlerMiddleware, manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
|
|
27
|
-
return patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(
|
|
28
|
-
manifestHandlerMiddleware,
|
|
29
|
-
mainModuleName
|
|
30
|
-
), (p) => manifestHandlerMiddleware.resolveMainModuleName({
|
|
31
|
-
pkg: { main: mainModuleName },
|
|
32
|
-
platform: p.platform
|
|
33
|
-
});
|
|
34
|
-
})();
|
|
35
|
-
_defaultConfig.server.rewriteRequestUrl = (url) => {
|
|
36
|
-
if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
|
|
37
|
-
const resolvedMainModulePath = resolveMainModuleName({
|
|
38
|
-
platform: "ios"
|
|
39
|
-
// we probably need to handle android here, but currently in our use case this won't affect the result
|
|
40
|
-
});
|
|
41
|
-
return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
|
|
42
|
-
}
|
|
43
|
-
return origRewriteRequestUrl(url);
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
const defaultConfig = {
|
|
47
|
-
..._defaultConfig,
|
|
48
|
-
resolver: {
|
|
49
|
-
..._defaultConfig?.resolver,
|
|
50
|
-
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
51
|
-
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
52
|
-
resolveRequest: (context, moduleName, platform) => {
|
|
53
|
-
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
54
|
-
if (moduleName.startsWith("@babel/runtime")) {
|
|
55
|
-
const contextOverride = {
|
|
56
|
-
...context,
|
|
57
|
-
unstable_conditionNames: context.unstable_conditionNames.filter(
|
|
58
|
-
(c) => c !== "import"
|
|
59
|
-
)
|
|
60
|
-
};
|
|
61
|
-
return origResolveRequestFn(contextOverride, moduleName, platform);
|
|
62
|
-
}
|
|
63
|
-
return origResolveRequestFn(context, moduleName, platform);
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
transformer: {
|
|
67
|
-
..._defaultConfig?.transformer,
|
|
68
|
-
babelTransformerPath: projectResolve(
|
|
69
|
-
projectRoot,
|
|
70
|
-
"@vxrn/vite-plugin-metro/babel-transformer"
|
|
71
|
-
),
|
|
72
|
-
// TODO: This is what Expo is doing, but do we really need this?
|
|
73
|
-
publicPath: "/assets/?unstable_path=."
|
|
74
|
-
},
|
|
75
|
-
reporter: await getTerminalReporter(projectRoot)
|
|
76
|
-
}, config = await loadConfig(
|
|
77
|
-
{
|
|
78
|
-
cwd: projectRoot,
|
|
79
|
-
projectRoot,
|
|
80
|
-
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
81
|
-
...argv
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
...defaultConfig,
|
|
85
|
-
...typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides
|
|
86
|
-
}
|
|
87
|
-
), { middleware, end, metroServer } = await Metro.createConnectMiddleware(config, {
|
|
15
|
+
const { logger, root: projectRoot } = server.config, { default: Metro } = await projectImport(projectRoot, "metro"), { default: MetroHmrServer } = await projectImport(projectRoot, "metro/src/HmrServer"), { default: createWebsocketServer } = await projectImport(projectRoot, "metro/src/lib/createWebsocketServer"), { createDevMiddleware } = await projectImport(projectRoot, "@react-native/dev-middleware"), config = await getMetroConfigFromViteConfig(server.config, options), { middleware, end, metroServer } = await Metro.createConnectMiddleware(config, {
|
|
88
16
|
// Force enable file watching, even on CI.
|
|
89
17
|
// This is needed for HMR tests to work on CI.
|
|
90
18
|
watch: !0
|
|
91
|
-
})
|
|
92
|
-
metroServer
|
|
93
|
-
filePath,
|
|
94
|
-
{
|
|
95
|
-
...transformOptions,
|
|
96
|
-
customTransformOptions: {
|
|
97
|
-
...transformOptions.customTransformOptions,
|
|
98
|
-
vite: {
|
|
99
|
-
babelConfig
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
fileBuffer
|
|
104
|
-
);
|
|
19
|
+
});
|
|
20
|
+
patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, server.config, options);
|
|
105
21
|
const hmrServer = new MetroHmrServer(
|
|
106
22
|
metroServer.getBundler(),
|
|
107
23
|
metroServer.getCreateModuleId(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugins/metroPlugin.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAEtB,OAAO,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -2,16 +2,11 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { parse } from "node:url";
|
|
4
4
|
import launchEditor from "launch-editor";
|
|
5
|
-
import { projectImport
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
function metroPlugin({
|
|
9
|
-
|
|
10
|
-
defaultConfigOverrides,
|
|
11
|
-
babelConfig,
|
|
12
|
-
mainModuleName
|
|
13
|
-
} = {}) {
|
|
14
|
-
return {
|
|
5
|
+
import { projectImport } from "../utils/projectImport.mjs";
|
|
6
|
+
import { getMetroConfigFromViteConfig } from "../metro-config/getMetroConfigFromViteConfig.mjs";
|
|
7
|
+
import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs";
|
|
8
|
+
function metroPlugin(options = {}) {
|
|
9
|
+
return globalThis.__viteMetroPluginOptions__ = options, {
|
|
15
10
|
name: "metro",
|
|
16
11
|
// configResolved(config) {
|
|
17
12
|
// projectRoot = config.root
|
|
@@ -22,8 +17,7 @@ function metroPlugin({
|
|
|
22
17
|
root: projectRoot
|
|
23
18
|
} = server.config,
|
|
24
19
|
{
|
|
25
|
-
default: Metro
|
|
26
|
-
loadConfig
|
|
20
|
+
default: Metro
|
|
27
21
|
} = await projectImport(projectRoot, "metro"),
|
|
28
22
|
{
|
|
29
23
|
default: MetroHmrServer
|
|
@@ -31,71 +25,10 @@ function metroPlugin({
|
|
|
31
25
|
{
|
|
32
26
|
default: createWebsocketServer
|
|
33
27
|
} = await projectImport(projectRoot, "metro/src/lib/createWebsocketServer"),
|
|
34
|
-
{
|
|
35
|
-
getDefaultConfig
|
|
36
|
-
} = await projectImport(projectRoot, "@expo/metro-config"),
|
|
37
28
|
{
|
|
38
29
|
createDevMiddleware
|
|
39
30
|
} = await projectImport(projectRoot, "@react-native/dev-middleware"),
|
|
40
|
-
|
|
41
|
-
if (mainModuleName) {
|
|
42
|
-
const origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl,
|
|
43
|
-
resolveMainModuleName = await (async () => {
|
|
44
|
-
const ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware,
|
|
45
|
-
manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
|
|
46
|
-
return patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName), p => manifestHandlerMiddleware.resolveMainModuleName({
|
|
47
|
-
pkg: {
|
|
48
|
-
main: mainModuleName
|
|
49
|
-
},
|
|
50
|
-
platform: p.platform
|
|
51
|
-
});
|
|
52
|
-
})();
|
|
53
|
-
_defaultConfig.server.rewriteRequestUrl = url => {
|
|
54
|
-
if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
|
|
55
|
-
const resolvedMainModulePath = resolveMainModuleName({
|
|
56
|
-
platform: "ios"
|
|
57
|
-
// we probably need to handle android here, but currently in our use case this won't affect the result
|
|
58
|
-
});
|
|
59
|
-
return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
|
|
60
|
-
}
|
|
61
|
-
return origRewriteRequestUrl(url);
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
const defaultConfig = {
|
|
65
|
-
..._defaultConfig,
|
|
66
|
-
resolver: {
|
|
67
|
-
..._defaultConfig?.resolver,
|
|
68
|
-
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
69
|
-
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
70
|
-
resolveRequest: (context, moduleName, platform) => {
|
|
71
|
-
const origResolveRequestFn = _defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
|
|
72
|
-
if (moduleName.startsWith("@babel/runtime")) {
|
|
73
|
-
const contextOverride = {
|
|
74
|
-
...context,
|
|
75
|
-
unstable_conditionNames: context.unstable_conditionNames.filter(c => c !== "import")
|
|
76
|
-
};
|
|
77
|
-
return origResolveRequestFn(contextOverride, moduleName, platform);
|
|
78
|
-
}
|
|
79
|
-
return origResolveRequestFn(context, moduleName, platform);
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
transformer: {
|
|
83
|
-
..._defaultConfig?.transformer,
|
|
84
|
-
babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer"),
|
|
85
|
-
// TODO: This is what Expo is doing, but do we really need this?
|
|
86
|
-
publicPath: "/assets/?unstable_path=."
|
|
87
|
-
},
|
|
88
|
-
reporter: await getTerminalReporter(projectRoot)
|
|
89
|
-
},
|
|
90
|
-
config = await loadConfig({
|
|
91
|
-
cwd: projectRoot,
|
|
92
|
-
projectRoot,
|
|
93
|
-
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
94
|
-
...argv
|
|
95
|
-
}, {
|
|
96
|
-
...defaultConfig,
|
|
97
|
-
...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
98
|
-
}),
|
|
31
|
+
config = await getMetroConfigFromViteConfig(server.config, options),
|
|
99
32
|
{
|
|
100
33
|
middleware,
|
|
101
34
|
end,
|
|
@@ -104,17 +37,8 @@ function metroPlugin({
|
|
|
104
37
|
// Force enable file watching, even on CI.
|
|
105
38
|
// This is needed for HMR tests to work on CI.
|
|
106
39
|
watch: !0
|
|
107
|
-
})
|
|
108
|
-
|
|
109
|
-
metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => originalTransformFile(filePath, {
|
|
110
|
-
...transformOptions,
|
|
111
|
-
customTransformOptions: {
|
|
112
|
-
...transformOptions.customTransformOptions,
|
|
113
|
-
vite: {
|
|
114
|
-
babelConfig
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}, fileBuffer);
|
|
40
|
+
});
|
|
41
|
+
patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, server.config, options);
|
|
118
42
|
const hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config),
|
|
119
43
|
reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`,
|
|
120
44
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","
|
|
1
|
+
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroPlugin","options","globalThis","__viteMetroPluginOptions__","name","configureServer","server","logger","root","projectRoot","config","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","middleware","end","metroServer","createConnectMiddleware","watch","hmrServer","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","rnDevtoolsMiddleware","websocketEndpoints","rnDevtoolsWebsocketEndpoints","serverBaseUrl","console","middlewares","use","req","res","next","url","includes","VITE_METRO_DEBUG_BUNDLE","process","env","info","content","setHeader","headers","statusCode","method","body","on","chunk","toString","frame","JSON","file","e","error","websocketServer","httpServer","request","socket","head","pathname","handleUpgrade","ws","emit"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,17 +2,12 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { parse } from "node:url";
|
|
4
4
|
import launchEditor from "launch-editor";
|
|
5
|
-
import { projectImport
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { projectImport } from "../utils/projectImport.native.js";
|
|
6
|
+
import { getMetroConfigFromViteConfig } from "../metro-config/getMetroConfigFromViteConfig.native.js";
|
|
7
|
+
import { patchMetroServerWithViteConfigAndMetroPluginOptions } from "../metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js";
|
|
8
8
|
function metroPlugin() {
|
|
9
|
-
var {
|
|
10
|
-
|
|
11
|
-
defaultConfigOverrides,
|
|
12
|
-
babelConfig,
|
|
13
|
-
mainModuleName
|
|
14
|
-
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
15
|
-
return {
|
|
9
|
+
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
10
|
+
return globalThis.__viteMetroPluginOptions__ = options, {
|
|
16
11
|
name: "metro",
|
|
17
12
|
// configResolved(config) {
|
|
18
13
|
// projectRoot = config.root
|
|
@@ -24,8 +19,7 @@ function metroPlugin() {
|
|
|
24
19
|
root: projectRoot
|
|
25
20
|
} = server.config,
|
|
26
21
|
{
|
|
27
|
-
default: Metro
|
|
28
|
-
loadConfig
|
|
22
|
+
default: Metro
|
|
29
23
|
} = await projectImport(projectRoot, "metro"),
|
|
30
24
|
{
|
|
31
25
|
default: MetroHmrServer
|
|
@@ -33,75 +27,10 @@ function metroPlugin() {
|
|
|
33
27
|
{
|
|
34
28
|
default: createWebsocketServer
|
|
35
29
|
} = await projectImport(projectRoot, "metro/src/lib/createWebsocketServer"),
|
|
36
|
-
{
|
|
37
|
-
getDefaultConfig
|
|
38
|
-
} = await projectImport(projectRoot, "@expo/metro-config"),
|
|
39
30
|
{
|
|
40
31
|
createDevMiddleware
|
|
41
32
|
} = await projectImport(projectRoot, "@react-native/dev-middleware"),
|
|
42
|
-
|
|
43
|
-
if (mainModuleName) {
|
|
44
|
-
var origRewriteRequestUrl = _defaultConfig.server.rewriteRequestUrl,
|
|
45
|
-
resolveMainModuleName = await async function () {
|
|
46
|
-
var ExpoGoManifestHandlerMiddleware = (await projectImport(projectRoot, "@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js")).default.ExpoGoManifestHandlerMiddleware,
|
|
47
|
-
manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {});
|
|
48
|
-
return patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName), function (p) {
|
|
49
|
-
return manifestHandlerMiddleware.resolveMainModuleName({
|
|
50
|
-
pkg: {
|
|
51
|
-
main: mainModuleName
|
|
52
|
-
},
|
|
53
|
-
platform: p.platform
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
}();
|
|
57
|
-
_defaultConfig.server.rewriteRequestUrl = function (url) {
|
|
58
|
-
if (url.includes("/.expo/.virtual-metro-entry.bundle?")) {
|
|
59
|
-
var resolvedMainModulePath = resolveMainModuleName({
|
|
60
|
-
platform: "ios"
|
|
61
|
-
});
|
|
62
|
-
return url.replace(".expo/.virtual-metro-entry", resolvedMainModulePath);
|
|
63
|
-
}
|
|
64
|
-
return origRewriteRequestUrl(url);
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
var defaultConfig = {
|
|
68
|
-
..._defaultConfig,
|
|
69
|
-
resolver: {
|
|
70
|
-
..._defaultConfig?.resolver,
|
|
71
|
-
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
72
|
-
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
73
|
-
resolveRequest: function (context, moduleName, platform) {
|
|
74
|
-
var _defaultConfig_resolver,
|
|
75
|
-
origResolveRequestFn = (_defaultConfig == null || (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.resolveRequest) || context.resolveRequest;
|
|
76
|
-
if (moduleName.startsWith("@babel/runtime")) {
|
|
77
|
-
var contextOverride = {
|
|
78
|
-
...context,
|
|
79
|
-
unstable_conditionNames: context.unstable_conditionNames.filter(function (c) {
|
|
80
|
-
return c !== "import";
|
|
81
|
-
})
|
|
82
|
-
};
|
|
83
|
-
return origResolveRequestFn(contextOverride, moduleName, platform);
|
|
84
|
-
}
|
|
85
|
-
return origResolveRequestFn(context, moduleName, platform);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
transformer: {
|
|
89
|
-
..._defaultConfig?.transformer,
|
|
90
|
-
babelTransformerPath: projectResolve(projectRoot, "@vxrn/vite-plugin-metro/babel-transformer"),
|
|
91
|
-
// TODO: This is what Expo is doing, but do we really need this?
|
|
92
|
-
publicPath: "/assets/?unstable_path=."
|
|
93
|
-
},
|
|
94
|
-
reporter: await getTerminalReporter(projectRoot)
|
|
95
|
-
},
|
|
96
|
-
config = await loadConfig({
|
|
97
|
-
cwd: projectRoot,
|
|
98
|
-
projectRoot,
|
|
99
|
-
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
100
|
-
...argv
|
|
101
|
-
}, {
|
|
102
|
-
...defaultConfig,
|
|
103
|
-
...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
104
|
-
}),
|
|
33
|
+
config = await getMetroConfigFromViteConfig(server.config, options),
|
|
105
34
|
{
|
|
106
35
|
middleware,
|
|
107
36
|
end,
|
|
@@ -110,19 +39,8 @@ function metroPlugin() {
|
|
|
110
39
|
// Force enable file watching, even on CI.
|
|
111
40
|
// This is needed for HMR tests to work on CI.
|
|
112
41
|
watch: !0
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
metroServer.getBundler().getBundler().transformFile = async function (filePath, transformOptions, fileBuffer) {
|
|
116
|
-
return originalTransformFile(filePath, {
|
|
117
|
-
...transformOptions,
|
|
118
|
-
customTransformOptions: {
|
|
119
|
-
...transformOptions.customTransformOptions,
|
|
120
|
-
vite: {
|
|
121
|
-
babelConfig
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}, fileBuffer);
|
|
125
|
-
};
|
|
42
|
+
});
|
|
43
|
+
patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, server.config, options);
|
|
126
44
|
var hmrServer = new MetroHmrServer(metroServer.getBundler(), metroServer.getCreateModuleId(), config),
|
|
127
45
|
reactNativeDevToolsUrl = `http://${typeof server.config.server.host == "boolean" ? "localhost" : server.config.server.host}:${server.config.server.port}`,
|
|
128
46
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","
|
|
1
|
+
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroPlugin","options","arguments","length","globalThis","__viteMetroPluginOptions__","name","configureServer","server","_server_httpServer","logger","root","projectRoot","config","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","middleware","end","metroServer","createConnectMiddleware","watch","hmrServer","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","rnDevtoolsMiddleware","websocketEndpoints","rnDevtoolsWebsocketEndpoints","serverBaseUrl","console","middlewares","use","req","res","next","_req_url","_req_headers_useragent","url","includes","VITE_METRO_DEBUG_BUNDLE","process","env","info","content","setHeader","headers","statusCode","method","body","on","chunk","toString","frame","JSON","file","e","error","websocketServer","httpServer","request","socket","head","pathname","handleUpgrade","ws","emit"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
|
@@ -0,0 +1,6 @@
|
|
|
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,GACX,YAAY,UAAU,EACtB,OAAO,UAAQ,KAAK,SAAS,WAAW,CAAC;AAC5C,aAAW,QAAQ;AACjB,OAAG,OAAO,KAAK,KAAK,YAAY,IAAI,GAAG,EAAC,WAAW,IAAM,OAAO,GAAI,CAAC;AAEzE;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,EAAC,WAAW,GAAI,CAAC;AAEjD,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,WAAS;AAAA,QAClC,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
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import assetPathUtils from "./assetPathUtils.mjs";
|
|
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) fs.rmSync(path.join(catalogDir, file), {
|
|
7
|
+
recursive: !0,
|
|
8
|
+
force: !0
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function getImageSet(catalogDir, asset, scales) {
|
|
12
|
+
const fileName = assetPathUtils.getResourceIdentifier(asset);
|
|
13
|
+
return {
|
|
14
|
+
basePath: path.join(catalogDir, `${fileName}.imageset`),
|
|
15
|
+
files: scales.map((scale, idx) => {
|
|
16
|
+
const suffix = scale === 1 ? "" : `@${scale}x`;
|
|
17
|
+
return {
|
|
18
|
+
name: `${fileName + suffix}.${asset.type}`,
|
|
19
|
+
scale,
|
|
20
|
+
src: asset.files[idx]
|
|
21
|
+
};
|
|
22
|
+
})
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function isCatalogAsset(asset) {
|
|
26
|
+
return asset.type === "png" || asset.type === "jpg" || asset.type === "jpeg";
|
|
27
|
+
}
|
|
28
|
+
function writeImageSet(imageSet) {
|
|
29
|
+
fs.mkdirSync(imageSet.basePath, {
|
|
30
|
+
recursive: !0
|
|
31
|
+
});
|
|
32
|
+
for (const file of imageSet.files) {
|
|
33
|
+
const dest = path.join(imageSet.basePath, file.name);
|
|
34
|
+
fs.copyFileSync(file.src, dest);
|
|
35
|
+
}
|
|
36
|
+
fs.writeFileSync(path.join(imageSet.basePath, "Contents.json"), JSON.stringify({
|
|
37
|
+
images: imageSet.files.map(file => ({
|
|
38
|
+
filename: file.name,
|
|
39
|
+
idiom: "universal",
|
|
40
|
+
scale: `${file.scale}x`
|
|
41
|
+
})),
|
|
42
|
+
info: {
|
|
43
|
+
author: "xcode",
|
|
44
|
+
version: 1
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
export { cleanAssetCatalog, getImageSet, isCatalogAsset, writeImageSet };
|
|
49
|
+
//# sourceMappingURL=assetCatalogIOS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["assetPathUtils","fs","path","cleanAssetCatalog","catalogDir","files","readdirSync","filter","file","endsWith","rmSync","join","recursive","force","getImageSet","asset","scales","fileName","getResourceIdentifier","basePath","map","scale","idx","suffix","name","type","src","isCatalogAsset","writeImageSet","imageSet","mkdirSync","dest","copyFileSync","writeFileSync","JSON","stringify","images","filename","idiom","info","author","version"],"sources":["../../../../src/rn-commands/bundle/assetCatalogIOS.ts"],"sourcesContent":[null],"mappings":"AASA,OAAOA,cAAA,MAAoB;AAC3B,OAAOC,EAAA,MAAQ;AACf,OAAOC,IAAA,MAAU;AAEV,SAASC,kBAAkBC,UAAA,EAA0B;EAC1D,MAAMC,KAAA,GAAQJ,EAAA,CACXK,WAAA,CAAYF,UAAU,EACtBG,MAAA,CAAOC,IAAA,IAAQA,IAAA,CAAKC,QAAA,CAAS,WAAW,CAAC;EAC5C,WAAWD,IAAA,IAAQH,KAAA,EACjBJ,EAAA,CAAGS,MAAA,CAAOR,IAAA,CAAKS,IAAA,CAAKP,UAAA,EAAYI,IAAI,GAAG;IAACI,SAAA,EAAW;IAAMC,KAAA,EAAO;EAAI,CAAC;AAEzE;AAOO,SAASC,YACdV,UAAA,EACAW,KAAA,EACAC,MAAA,EACU;EACV,MAAMC,QAAA,GAAWjB,cAAA,CAAekB,qBAAA,CAAsBH,KAAK;EAC3D,OAAO;IACLI,QAAA,EAAUjB,IAAA,CAAKS,IAAA,CAAKP,UAAA,EAAY,GAAGa,QAAQ,WAAW;IACtDZ,KAAA,EAAOW,MAAA,CAAOI,GAAA,CAAI,CAACC,KAAA,EAAOC,GAAA,KAAQ;MAChC,MAAMC,MAAA,GAASF,KAAA,KAAU,IAAI,KAAK,IAAIA,KAAK;MAC3C,OAAO;QACLG,IAAA,EAAM,GAAGP,QAAA,GAAWM,MAAM,IAAIR,KAAA,CAAMU,IAAI;QACxCJ,KAAA;QACAK,GAAA,EAAKX,KAAA,CAAMV,KAAA,CAAMiB,GAAG;MACtB;IACF,CAAC;EACH;AACF;AAEO,SAASK,eAAeZ,KAAA,EAA2B;EACxD,OAAOA,KAAA,CAAMU,IAAA,KAAS,SAASV,KAAA,CAAMU,IAAA,KAAS,SAASV,KAAA,CAAMU,IAAA,KAAS;AACxE;AAEO,SAASG,cAAcC,QAAA,EAA0B;EACtD5B,EAAA,CAAG6B,SAAA,CAAUD,QAAA,CAASV,QAAA,EAAU;IAACP,SAAA,EAAW;EAAI,CAAC;EAEjD,WAAWJ,IAAA,IAAQqB,QAAA,CAASxB,KAAA,EAAO;IACjC,MAAM0B,IAAA,GAAO7B,IAAA,CAAKS,IAAA,CAAKkB,QAAA,CAASV,QAAA,EAAUX,IAAA,CAAKgB,IAAI;IACnDvB,EAAA,CAAG+B,YAAA,CAAaxB,IAAA,CAAKkB,GAAA,EAAKK,IAAI;EAChC;EAEA9B,EAAA,CAAGgC,aAAA,CACD/B,IAAA,CAAKS,IAAA,CAAKkB,QAAA,CAASV,QAAA,EAAU,eAAe,GAC5Ce,IAAA,CAAKC,SAAA,CAAU;IACbC,MAAA,EAAQP,QAAA,CAASxB,KAAA,CAAMe,GAAA,CAAIZ,IAAA,KAAS;MAClC6B,QAAA,EAAU7B,IAAA,CAAKgB,IAAA;MACfc,KAAA,EAAO;MACPjB,KAAA,EAAO,GAAGb,IAAA,CAAKa,KAAK;IACtB,EAAE;IACFkB,IAAA,EAAM;MACJC,MAAA,EAAQ;MACRC,OAAA,EAAS;IACX;EACF,CAAC,CACH;AACF","ignoreList":[]}
|