@expo/fingerprint
Advanced tools
Comparing version 0.0.1-canary-20240228-7cee619 to 0.0.1-canary-20240305-e60019e
@@ -13,8 +13,21 @@ "use strict"; | ||
exports.FINGERPRINT_IGNORE_FILENAME, | ||
// Android | ||
'**/android/build/**/*', | ||
'**/android/.cxx/**/*', | ||
'**/android/app/build/**/*', | ||
'**/android/app/.cxx/**/*', | ||
'**/android-annotation/build/**/*', | ||
'**/android-annotation/.cxx/**/*', | ||
'**/android-annotation-processor/build/**/*', | ||
'**/android-annotation-processor/.cxx/**/*', | ||
// Android gradle plugins | ||
'**/*-gradle-plugin/build/**/*', | ||
'**/*-gradle-plugin/.gradle/**/*', | ||
'**/*-gradle-plugin/.cxx/**/*', | ||
// iOS | ||
'**/ios/Pods/**/*', | ||
'**/ios/build/**/*', | ||
'**/ios/*.xcworkspace/xcuserdata/**/*', | ||
// System files that differ from machine to machine | ||
'**/.DS_Store', | ||
// Ignore all expo configs because we will read expo config in a HashSourceContents already | ||
@@ -21,0 +34,0 @@ 'app.config.ts', |
@@ -13,2 +13,3 @@ "use strict"; | ||
const resolve_from_1 = __importDefault(require("resolve-from")); | ||
const semver_1 = __importDefault(require("semver")); | ||
const ExpoConfigLoader_1 = require("./ExpoConfigLoader"); | ||
@@ -89,3 +90,14 @@ const Utils_1 = require("./Utils"); | ||
const normalizedConfig = JSON.parse(JSON.stringify(config)); | ||
delete normalizedConfig.runtimeVersion; | ||
if (typeof normalizedConfig.runtimeVersion === 'string') { | ||
delete normalizedConfig.runtimeVersion; | ||
} | ||
if (typeof normalizedConfig.android?.runtimeVersion === 'string') { | ||
delete normalizedConfig.android.runtimeVersion; | ||
} | ||
if (typeof normalizedConfig.ios?.runtimeVersion === 'string') { | ||
delete normalizedConfig.ios.runtimeVersion; | ||
} | ||
if (typeof normalizedConfig.web?.runtimeVersion === 'string') { | ||
delete normalizedConfig.web.runtimeVersion; | ||
} | ||
delete normalizedConfig._internal; | ||
@@ -131,2 +143,10 @@ return (0, Utils_1.stringifyJsonSorted)(normalizedConfig); | ||
} | ||
if (module.plugins) { | ||
for (const plugin of module.plugins) { | ||
const filePath = path_1.default.relative(projectRoot, plugin.sourceDir); | ||
plugin.sourceDir = filePath; // use relative path for the dir | ||
debug(`Adding expo-modules-autolinking android dir - ${chalk_1.default.dim(filePath)}`); | ||
results.push({ type: 'dir', filePath, reasons }); | ||
} | ||
} | ||
} | ||
@@ -150,6 +170,7 @@ results.push({ | ||
} | ||
const platform = getIosAutolinkingPlatformParam(projectRoot); | ||
try { | ||
const reasons = ['expoAutolinkingIos']; | ||
const results = []; | ||
const { stdout } = await (0, spawn_async_1.default)('npx', ['expo-modules-autolinking', 'resolve', '-p', 'ios', '--json'], { cwd: projectRoot }); | ||
const { stdout } = await (0, spawn_async_1.default)('npx', ['expo-modules-autolinking', 'resolve', '-p', platform, '--json'], { cwd: projectRoot }); | ||
const config = JSON.parse(stdout); | ||
@@ -188,2 +209,20 @@ for (const module of config.modules) { | ||
exports.sortExpoAutolinkingAndroidConfig = sortExpoAutolinkingAndroidConfig; | ||
/** | ||
* Get the platform parameter for expo-modules-autolinking. | ||
* | ||
* Older autolinking uses `ios` and newer autolinking uses `apple`. | ||
*/ | ||
function getIosAutolinkingPlatformParam(projectRoot) { | ||
let platformParam = 'apple'; | ||
const expoPackageRoot = resolve_from_1.default.silent(projectRoot, 'expo/package.json'); | ||
const autolinkingPackageJsonPath = resolve_from_1.default.silent(expoPackageRoot ?? projectRoot, 'expo-modules-autolinking/package.json'); | ||
if (autolinkingPackageJsonPath) { | ||
const autolinkingPackageJson = require(autolinkingPackageJsonPath); | ||
// expo-modules-autolinking 1.10.0 added support for apple platform | ||
if (semver_1.default.lt(autolinkingPackageJson.version, '1.10.0')) { | ||
platformParam = 'ios'; | ||
} | ||
} | ||
return platformParam; | ||
} | ||
//# sourceMappingURL=Expo.js.map |
{ | ||
"name": "@expo/fingerprint", | ||
"version": "0.0.1-canary-20240228-7cee619", | ||
"version": "0.0.1-canary-20240305-e60019e", | ||
"description": "A library to generate a fingerprint from a React Native project", | ||
@@ -50,11 +50,12 @@ "main": "build/index.js", | ||
"p-limit": "^3.1.0", | ||
"resolve-from": "^5.0.0" | ||
"resolve-from": "^5.0.0", | ||
"semver": "^7.5.4" | ||
}, | ||
"devDependencies": { | ||
"@types/find-up": "^4.0.0", | ||
"expo-module-scripts": "0.0.1-canary-20240228-7cee619", | ||
"expo-module-scripts": "0.0.1-canary-20240305-e60019e", | ||
"glob": "^7.1.7", | ||
"temp-dir": "^2.0.0" | ||
}, | ||
"gitHead": "7cee6192338de34ad301922c0cd6f4a4645c0fa9" | ||
"gitHead": "e60019e11a6d46e330b57b18c64468a58d589875" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
95280
1270
8
13
+ Addedsemver@^7.5.4
+ Addedsemver@7.7.0(transitive)