@expo/metro-config 0.7.0 → 0.8.0
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/build/ExpoMetroConfig.d.ts +16 -8
- package/build/ExpoMetroConfig.js +157 -103
- package/build/ExpoMetroConfig.js.map +1 -1
- package/build/customizeFrame.d.ts +10 -0
- package/build/customizeFrame.js +85 -0
- package/build/customizeFrame.js.map +1 -0
- package/build/env.d.ts +16 -0
- package/build/env.js +47 -0
- package/build/env.js.map +1 -0
- package/build/getModulesPaths.d.ts +1 -0
- package/build/getModulesPaths.js +12 -0
- package/build/getModulesPaths.js.map +1 -1
- package/build/getWatchFolders.js.map +1 -1
- package/build/rewriteRequestUrl.d.ts +1 -0
- package/build/rewriteRequestUrl.js +88 -0
- package/build/rewriteRequestUrl.js.map +1 -0
- package/build/serializer/environmentVariableSerializerPlugin.d.ts +11 -0
- package/build/serializer/environmentVariableSerializerPlugin.js +116 -0
- package/build/serializer/environmentVariableSerializerPlugin.js.map +1 -0
- package/build/serializer/getCssDeps.d.ts +31 -0
- package/build/serializer/getCssDeps.js +107 -0
- package/build/serializer/getCssDeps.js.map +1 -0
- package/build/serializer/serializerAssets.d.ts +7 -0
- package/build/serializer/serializerAssets.js +2 -0
- package/build/serializer/serializerAssets.js.map +1 -0
- package/build/serializer/withExpoSerializers.d.ts +15 -0
- package/build/serializer/withExpoSerializers.js +135 -0
- package/build/serializer/withExpoSerializers.js.map +1 -0
- package/build/transform-worker/css-modules.d.ts +20 -0
- package/build/transform-worker/css-modules.js +93 -0
- package/build/transform-worker/css-modules.js.map +1 -0
- package/build/transform-worker/css.d.ts +7 -0
- package/build/transform-worker/css.js +49 -0
- package/build/transform-worker/css.js.map +1 -0
- package/build/transform-worker/postcss.d.ts +17 -0
- package/build/transform-worker/postcss.js +253 -0
- package/build/transform-worker/postcss.js.map +1 -0
- package/build/transform-worker/sass.d.ts +9 -0
- package/build/transform-worker/sass.js +49 -0
- package/build/transform-worker/sass.js.map +1 -0
- package/build/transform-worker/transform-worker.d.ts +3 -0
- package/build/transform-worker/transform-worker.js +180 -0
- package/build/transform-worker/transform-worker.js.map +1 -0
- package/build/transform-worker/utils/require.d.ts +2 -0
- package/build/transform-worker/utils/require.js +38 -0
- package/build/transform-worker/utils/require.js.map +1 -0
- package/build/transformer/createExoticTransformer.js.map +1 -1
- package/build/transformer/createMatcher.js +1 -1
- package/build/transformer/createMatcher.js.map +1 -1
- package/build/transformer/createMultiRuleTransformer.js +2 -2
- package/build/transformer/createMultiRuleTransformer.js.map +1 -1
- package/build/transformer/generateFunctionMap.d.ts +3 -1
- package/build/transformer/generateFunctionMap.js +6 -6
- package/build/transformer/generateFunctionMap.js.map +1 -1
- package/build/transformer/getBabelConfig.js.map +1 -1
- package/build/transformer/getCacheKey.js.map +1 -1
- package/build/transformer/index.js.map +1 -1
- package/build/transformer/metro-expo-babel-transformer.js.map +1 -1
- package/build/transformer/metro-expo-exotic-babel-transformer.js.map +1 -1
- package/build/traveling/metro-config.d.ts +1 -0
- package/build/traveling/metro-config.js +25 -0
- package/build/traveling/metro-config.js.map +1 -0
- package/build/utils/hash.d.ts +1 -0
- package/build/utils/hash.js +18 -0
- package/build/utils/hash.js.map +1 -0
- package/package.json +9 -7
- package/build/importMetroFromProject.d.ts +0 -4
- package/build/importMetroFromProject.js +0 -40
- package/build/importMetroFromProject.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/transformer/index.ts"],"sourcesContent":["export { createExoticTransformer } from './createExoticTransformer';\nexport { getCacheKey } from './getCacheKey';\nexport { loaders, createMultiRuleTransformer } from './createMultiRuleTransformer';\nexport { createModuleMatcher } from './createMatcher';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["_createExoticTransformer","data","require","_getCacheKey","_createMultiRuleTransformer","_createMatcher"],"sources":["../../src/transformer/index.ts"],"sourcesContent":["export { createExoticTransformer } from './createExoticTransformer';\nexport { getCacheKey } from './getCacheKey';\nexport { loaders, createMultiRuleTransformer } from './createMultiRuleTransformer';\nexport { createModuleMatcher } from './createMatcher';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,yBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,wBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,4BAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,2BAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,eAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,cAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro-expo-babel-transformer.js","names":["transformer","resolveTransformer","projectRoot","resolvedPath","resolveFrom","silent","Error","
|
|
1
|
+
{"version":3,"file":"metro-expo-babel-transformer.js","names":["_resolveFrom","data","_interopRequireDefault","require","_getCacheKey","obj","__esModule","default","transformer","resolveTransformer","projectRoot","resolvedPath","resolveFrom","silent","Error","transform","props","options","extendsBabelConfigPath","module","exports","getCacheKey"],"sources":["../../src/transformer/metro-expo-babel-transformer.ts"],"sourcesContent":["// Copyright 2021-present 650 Industries (Expo). All rights reserved.\n\nimport resolveFrom from 'resolve-from';\n\nimport { getCacheKey } from './getCacheKey';\n\nlet transformer: any = null;\n\nfunction resolveTransformer(projectRoot: string) {\n if (transformer) {\n return transformer;\n }\n const resolvedPath = resolveFrom.silent(projectRoot, 'metro-react-native-babel-transformer');\n if (!resolvedPath) {\n throw new Error(\n 'Missing package \"metro-react-native-babel-transformer\" in the project. ' +\n 'This usually means `react-native` is not installed. ' +\n 'Please verify that dependencies in package.json include \"react-native\" ' +\n 'and run `yarn` or `npm install`.'\n );\n }\n transformer = require(resolvedPath);\n return transformer;\n}\n\n/**\n * Extends the default `metro-react-native-babel-transformer`\n * and uses babel-preset-expo as the default instead of metro-react-native-babel-preset.\n * This enables users to safely transpile an Expo project without\n * needing to explicitly define a `babel.config.js`\n *\n * @param filename string\n * @param options BabelTransformerOptions\n * @param plugins $PropertyType<BabelCoreOptions, 'plugins'>\n * @param src string\n *\n * @returns\n */\nfunction transform(props: {\n filename: string;\n options: Record<string, any> & { projectRoot: string };\n plugins?: unknown;\n src: string;\n}) {\n // Use babel-preset-expo by default if available...\n props.options.extendsBabelConfigPath = resolveFrom.silent(\n props.options.projectRoot,\n 'babel-preset-expo'\n );\n return resolveTransformer(props.options.projectRoot).transform(props);\n}\n\nmodule.exports = {\n getCacheKey,\n transform,\n};\n"],"mappings":";;AAEA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAJ5C;;AAMA,IAAIG,WAAgB,GAAG,IAAI;AAE3B,SAASC,kBAAkBA,CAACC,WAAmB,EAAE;EAC/C,IAAIF,WAAW,EAAE;IACf,OAAOA,WAAW;EACpB;EACA,MAAMG,YAAY,GAAGC,sBAAW,CAACC,MAAM,CAACH,WAAW,EAAE,sCAAsC,CAAC;EAC5F,IAAI,CAACC,YAAY,EAAE;IACjB,MAAM,IAAIG,KAAK,CACb,yEAAyE,GACvE,sDAAsD,GACtD,yEAAyE,GACzE,kCAAkC,CACrC;EACH;EACAN,WAAW,GAAGL,OAAO,CAACQ,YAAY,CAAC;EACnC,OAAOH,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,SAASA,CAACC,KAKlB,EAAE;EACD;EACAA,KAAK,CAACC,OAAO,CAACC,sBAAsB,GAAGN,sBAAW,CAACC,MAAM,CACvDG,KAAK,CAACC,OAAO,CAACP,WAAW,EACzB,mBAAmB,CACpB;EACD,OAAOD,kBAAkB,CAACO,KAAK,CAACC,OAAO,CAACP,WAAW,CAAC,CAACK,SAAS,CAACC,KAAK,CAAC;AACvE;AAEAG,MAAM,CAACC,OAAO,GAAG;EACfC,WAAW,EAAXA,0BAAW;EACXN;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro-expo-exotic-babel-transformer.js","names":["module","exports","createExoticTransformer","nodeModulesPaths"],"sources":["../../src/transformer/metro-expo-exotic-babel-transformer.ts"],"sourcesContent":["// Copyright 2021-present 650 Industries (Expo). All rights reserved.\n\nimport { createExoticTransformer } from './createExoticTransformer';\n\nmodule.exports = createExoticTransformer({ nodeModulesPaths: ['node_modules'] });\n"],"mappings":";;AAEA;EAAA;
|
|
1
|
+
{"version":3,"file":"metro-expo-exotic-babel-transformer.js","names":["_createExoticTransformer","data","require","module","exports","createExoticTransformer","nodeModulesPaths"],"sources":["../../src/transformer/metro-expo-exotic-babel-transformer.ts"],"sourcesContent":["// Copyright 2021-present 650 Industries (Expo). All rights reserved.\n\nimport { createExoticTransformer } from './createExoticTransformer';\n\nmodule.exports = createExoticTransformer({ nodeModulesPaths: ['node_modules'] });\n"],"mappings":";;AAEA,SAAAA,yBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,wBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAFA;;AAIAE,MAAM,CAACC,OAAO,GAAG,IAAAC,kDAAuB,EAAC;EAAEC,gBAAgB,EAAE,CAAC,cAAc;AAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function importMetroConfig(projectRoot: string): typeof import('metro-config');
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.importMetroConfig = importMetroConfig;
|
|
7
|
+
function _resolveFrom() {
|
|
8
|
+
const data = _interopRequireDefault(require("resolve-from"));
|
|
9
|
+
_resolveFrom = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
// This package needs to be imported from within the project to
|
|
16
|
+
|
|
17
|
+
// ensure that Metro can bundle the project's assets (see: `watchFolders`).
|
|
18
|
+
function importMetroConfig(projectRoot) {
|
|
19
|
+
const modulePath = _resolveFrom().default.silent(projectRoot, 'metro-config');
|
|
20
|
+
if (!modulePath) {
|
|
21
|
+
return require('metro-config');
|
|
22
|
+
}
|
|
23
|
+
return require(modulePath);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=metro-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metro-config.js","names":["_resolveFrom","data","_interopRequireDefault","require","obj","__esModule","default","importMetroConfig","projectRoot","modulePath","resolveFrom","silent"],"sources":["../../src/traveling/metro-config.ts"],"sourcesContent":["// This package needs to be imported from within the project to\n\nimport resolveFrom from 'resolve-from';\n\n// ensure that Metro can bundle the project's assets (see: `watchFolders`).\nexport function importMetroConfig(projectRoot: string): typeof import('metro-config') {\n const modulePath = resolveFrom.silent(projectRoot, 'metro-config');\n\n if (!modulePath) {\n return require('metro-config');\n }\n return require(modulePath);\n}\n"],"mappings":";;;;;;AAEA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuC,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAFvC;;AAIA;AACO,SAASG,iBAAiBA,CAACC,WAAmB,EAAiC;EACpF,MAAMC,UAAU,GAAGC,sBAAW,CAACC,MAAM,CAACH,WAAW,EAAE,cAAc,CAAC;EAElE,IAAI,CAACC,UAAU,EAAE;IACf,OAAON,OAAO,CAAC,cAAc,CAAC;EAChC;EACA,OAAOA,OAAO,CAACM,UAAU,CAAC;AAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function hashString(str: string): string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hashString = hashString;
|
|
7
|
+
function _crypto() {
|
|
8
|
+
const data = _interopRequireDefault(require("crypto"));
|
|
9
|
+
_crypto = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
function hashString(str) {
|
|
16
|
+
return _crypto().default.createHash('md5').update(str).digest('hex');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","names":["_crypto","data","_interopRequireDefault","require","obj","__esModule","default","hashString","str","crypto","createHash","update","digest"],"sources":["../../src/utils/hash.ts"],"sourcesContent":["import crypto from 'crypto';\n\nexport function hashString(str: string) {\n return crypto.createHash('md5').update(str).digest('hex');\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAErB,SAASG,UAAUA,CAACC,GAAW,EAAE;EACtC,OAAOC,iBAAM,CAACC,UAAU,CAAC,KAAK,CAAC,CAACC,MAAM,CAACH,GAAG,CAAC,CAACI,MAAM,CAAC,KAAK,CAAC;AAC3D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/metro-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "A Metro config for running React Native projects with the Metro bundler",
|
|
5
5
|
"main": "build/ExpoMetroConfig.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,10 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"keywords": [
|
|
20
20
|
"expo",
|
|
21
|
-
"
|
|
22
|
-
"react",
|
|
23
|
-
"metro",
|
|
24
|
-
"metro-config"
|
|
21
|
+
"metro"
|
|
25
22
|
],
|
|
26
23
|
"license": "MIT",
|
|
27
24
|
"bugs": {
|
|
@@ -34,18 +31,23 @@
|
|
|
34
31
|
],
|
|
35
32
|
"dependencies": {
|
|
36
33
|
"@expo/config": "~8.0.0",
|
|
34
|
+
"@expo/env": "~0.0.2",
|
|
35
|
+
"@expo/json-file": "~8.2.37",
|
|
37
36
|
"chalk": "^4.1.0",
|
|
38
37
|
"debug": "^4.3.2",
|
|
39
38
|
"find-yarn-workspace-root": "~2.0.0",
|
|
40
39
|
"getenv": "^1.0.0",
|
|
40
|
+
"lightningcss": "~1.19.0",
|
|
41
|
+
"postcss": "~8.4.21",
|
|
41
42
|
"resolve-from": "^5.0.0",
|
|
42
43
|
"sucrase": "^3.20.0"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
|
-
"@babel/core": "^7.15.5"
|
|
46
|
+
"@babel/core": "^7.15.5",
|
|
47
|
+
"sass": "^1.60.0"
|
|
46
48
|
},
|
|
47
49
|
"publishConfig": {
|
|
48
50
|
"access": "public"
|
|
49
51
|
},
|
|
50
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "4ba50c428c8369bb6b3a51a860d4898ad4ccbe78"
|
|
51
53
|
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type MetroConfig from 'metro-config';
|
|
2
|
-
import type MetroSourceMap from 'metro-source-map';
|
|
3
|
-
export declare function importMetroConfigFromProject(projectRoot: string): typeof MetroConfig;
|
|
4
|
-
export declare function importMetroSourceMapFromProject(projectRoot: string): typeof MetroSourceMap;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.importMetroConfigFromProject = importMetroConfigFromProject;
|
|
7
|
-
exports.importMetroSourceMapFromProject = importMetroSourceMapFromProject;
|
|
8
|
-
function _resolveFrom() {
|
|
9
|
-
const data = _interopRequireDefault(require("resolve-from"));
|
|
10
|
-
_resolveFrom = function () {
|
|
11
|
-
return data;
|
|
12
|
-
};
|
|
13
|
-
return data;
|
|
14
|
-
}
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
class MetroImportError extends Error {
|
|
17
|
-
constructor(projectRoot, moduleId) {
|
|
18
|
-
super(`Missing package "${moduleId}" in the project at: ${projectRoot}\n` + 'This usually means `react-native` is not installed. ' + 'Please verify that dependencies in package.json include "react-native" ' + 'and run `yarn` or `npm install`.');
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
function resolveFromProject(projectRoot, moduleId) {
|
|
22
|
-
const resolvedPath = _resolveFrom().default.silent(projectRoot, moduleId);
|
|
23
|
-
if (!resolvedPath) {
|
|
24
|
-
throw new MetroImportError(projectRoot, moduleId);
|
|
25
|
-
}
|
|
26
|
-
return resolvedPath;
|
|
27
|
-
}
|
|
28
|
-
function importFromProject(projectRoot, moduleId) {
|
|
29
|
-
return require(resolveFromProject(projectRoot, moduleId));
|
|
30
|
-
}
|
|
31
|
-
function importMetroConfigFromProject(projectRoot) {
|
|
32
|
-
return importFromProject(projectRoot, 'metro-config');
|
|
33
|
-
}
|
|
34
|
-
let metroSourceMap;
|
|
35
|
-
function importMetroSourceMapFromProject(projectRoot) {
|
|
36
|
-
if (metroSourceMap) return metroSourceMap;
|
|
37
|
-
metroSourceMap = importFromProject(projectRoot, 'metro-source-map');
|
|
38
|
-
return metroSourceMap;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=importMetroFromProject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importMetroFromProject.js","names":["MetroImportError","Error","constructor","projectRoot","moduleId","resolveFromProject","resolvedPath","resolveFrom","silent","importFromProject","require","importMetroConfigFromProject","metroSourceMap","importMetroSourceMapFromProject"],"sources":["../src/importMetroFromProject.ts"],"sourcesContent":["import type MetroConfig from 'metro-config';\nimport type MetroSourceMap from 'metro-source-map';\nimport resolveFrom from 'resolve-from';\n\nclass MetroImportError extends Error {\n constructor(projectRoot: string, moduleId: string) {\n super(\n `Missing package \"${moduleId}\" in the project at: ${projectRoot}\\n` +\n 'This usually means `react-native` is not installed. ' +\n 'Please verify that dependencies in package.json include \"react-native\" ' +\n 'and run `yarn` or `npm install`.'\n );\n }\n}\n\nfunction resolveFromProject(projectRoot: string, moduleId: string) {\n const resolvedPath = resolveFrom.silent(projectRoot, moduleId);\n if (!resolvedPath) {\n throw new MetroImportError(projectRoot, moduleId);\n }\n return resolvedPath;\n}\n\nfunction importFromProject<T = any>(projectRoot: string, moduleId: string): T {\n return require(resolveFromProject(projectRoot, moduleId));\n}\n\nexport function importMetroConfigFromProject(projectRoot: string): typeof MetroConfig {\n return importFromProject(projectRoot, 'metro-config');\n}\n\nlet metroSourceMap: typeof MetroSourceMap | undefined;\n\nexport function importMetroSourceMapFromProject(projectRoot: string): typeof MetroSourceMap {\n if (metroSourceMap) return metroSourceMap;\n metroSourceMap = importFromProject<typeof MetroSourceMap>(projectRoot, 'metro-source-map');\n return metroSourceMap;\n}\n"],"mappings":";;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAuC;AAEvC,MAAMA,gBAAgB,SAASC,KAAK,CAAC;EACnCC,WAAW,CAACC,WAAmB,EAAEC,QAAgB,EAAE;IACjD,KAAK,CACF,oBAAmBA,QAAS,wBAAuBD,WAAY,IAAG,GACjE,sDAAsD,GACtD,yEAAyE,GACzE,kCAAkC,CACrC;EACH;AACF;AAEA,SAASE,kBAAkB,CAACF,WAAmB,EAAEC,QAAgB,EAAE;EACjE,MAAME,YAAY,GAAGC,sBAAW,CAACC,MAAM,CAACL,WAAW,EAAEC,QAAQ,CAAC;EAC9D,IAAI,CAACE,YAAY,EAAE;IACjB,MAAM,IAAIN,gBAAgB,CAACG,WAAW,EAAEC,QAAQ,CAAC;EACnD;EACA,OAAOE,YAAY;AACrB;AAEA,SAASG,iBAAiB,CAAUN,WAAmB,EAAEC,QAAgB,EAAK;EAC5E,OAAOM,OAAO,CAACL,kBAAkB,CAACF,WAAW,EAAEC,QAAQ,CAAC,CAAC;AAC3D;AAEO,SAASO,4BAA4B,CAACR,WAAmB,EAAsB;EACpF,OAAOM,iBAAiB,CAACN,WAAW,EAAE,cAAc,CAAC;AACvD;AAEA,IAAIS,cAAiD;AAE9C,SAASC,+BAA+B,CAACV,WAAmB,EAAyB;EAC1F,IAAIS,cAAc,EAAE,OAAOA,cAAc;EACzCA,cAAc,GAAGH,iBAAiB,CAAwBN,WAAW,EAAE,kBAAkB,CAAC;EAC1F,OAAOS,cAAc;AACvB"}
|