@expo/fingerprint
Advanced tools
Comparing version 0.11.8-canary-20250122-166c2cb to 0.11.8-canary-20250124-42fe332
@@ -61,15 +61,15 @@ /// <reference types="node" /> | ||
/** | ||
* Limit native files to those for specified platforms. Default is `['android', 'ios']`. | ||
* Only get native files from the given platforms. Default is `['android', 'ios']`. | ||
*/ | ||
platforms?: Platform[]; | ||
/** | ||
* I/O concurrency limit. Default is the number of CPU cores. | ||
* I/O concurrent limit. Default is the number of CPU core. | ||
*/ | ||
concurrentIoLimit?: number; | ||
/** | ||
* The algorithm to use for `crypto.createHash()`. Default is `'sha1'`. | ||
* The algorithm passing to `crypto.createHash()`. Default is `'sha1'`. | ||
*/ | ||
hashAlgorithm?: string; | ||
/** | ||
* Exclude specified directories from hashing. The supported pattern is the same as `glob()`. | ||
* Excludes directories from hashing. This supported pattern is as `glob()`. | ||
* Default is `['android/build', 'android/app/build', 'android/app/.cxx', 'ios/Pods']`. | ||
@@ -80,9 +80,9 @@ * @deprecated Use `ignorePaths` instead. | ||
/** | ||
* Ignore files and directories from hashing. The supported pattern is the same as `glob()`. | ||
* Ignore files and directories from hashing. This supported pattern is as `glob()`. | ||
* | ||
* Please note that the pattern matching is slightly different from gitignore. Partial matching is unsupported. For example, `build` does not match `android/build`; instead, use `'**' + '/build'`. | ||
* @see [minimatch implementations](https://github.com/isaacs/minimatch#comparisons-to-other-fnmatchglob-implementations) for further reference. | ||
* Please note that the pattern matching is slightly different from gitignore. For example, we don't support partial matching where `build` does not match `android/build`. You should use `'**' + '/build'` instead. | ||
* @see [minimatch implementations](https://github.com/isaacs/minimatch#comparisons-to-other-fnmatchglob-implementations) for more reference. | ||
* | ||
* Fingerprint comes with implicit default ignorePaths defined in `Options.DEFAULT_IGNORE_PATHS`. | ||
* If you want to override the default ignorePaths, use `!` prefix in `ignorePaths`. | ||
* Besides this `ignorePaths`, fingerprint comes with implicit default ignorePaths defined in `Options.DEFAULT_IGNORE_PATHS`. | ||
* If you want to override the default ignorePaths, use `!` prefix. | ||
*/ | ||
@@ -95,3 +95,3 @@ ignorePaths?: string[]; | ||
/** | ||
* Skips some sources from fingerprint. Value is the result of bitwise-OR'ing desired values of SourceSkips. | ||
* Skips some sources from fingerprint. | ||
* @default DEFAULT_SOURCE_SKIPS | ||
@@ -98,0 +98,0 @@ */ |
@@ -70,3 +70,3 @@ #!/usr/bin/env node | ||
{bold Usage} | ||
{dim $} npx @expo/fingerprint <command> | ||
{dim $} npx @expo/fingeprint <command> | ||
@@ -73,0 +73,0 @@ {bold Commands} |
@@ -41,7 +41,3 @@ "use strict"; | ||
'--help': Boolean, | ||
'--platform': [String], | ||
'--concurrent-io-limit': Number, | ||
'--hash-algorithm': String, | ||
'--ignore-path': [String], | ||
'--source-skips': Number, | ||
'--platform': String, | ||
'--debug': Boolean, | ||
@@ -60,7 +56,3 @@ // Aliases | ||
Options | ||
--platform <string[]> Limit native files to those for specified platforms. Default is ['android', 'ios']. | ||
--concurrent-io-limit <number> I/O concurrent limit. Default is the number of CPU cores. | ||
--hash-algorithm <string> The algorithm to use for crypto.createHash(). Default is 'sha1'. | ||
--ignore-path <string[]> Ignore files and directories from hashing. The supported pattern is the same as glob(). | ||
--source-skips <number> Skips some sources from fingerprint. Value is the result of bitwise-OR'ing desired values of SourceSkips. Default is DEFAULT_SOURCE_SKIPS. | ||
--platform <string> Platform to generate a fingerprint for | ||
--debug Whether to include verbose debug information in output | ||
@@ -70,43 +62,13 @@ -h, --help Output usage information | ||
} | ||
const platforms = args['--platform']; | ||
if (platforms) { | ||
if (!Array.isArray(platforms)) { | ||
throw new errors_1.CommandError(`Invalid value for --platform`); | ||
} | ||
if (!platforms.every((elem) => ['ios', 'android'].includes(elem))) { | ||
throw new errors_1.CommandError(`Invalid value for --platform: ${platforms}`); | ||
} | ||
const platform = args['--platform']; | ||
if (platform && !['ios', 'android'].includes(platform)) { | ||
throw new errors_1.CommandError(`Invalid platform argument: ${platform}`); | ||
} | ||
const concurrentIoLimit = args['--concurrent-io-limit']; | ||
if (concurrentIoLimit && !Number.isInteger(concurrentIoLimit)) { | ||
throw new errors_1.CommandError(`Invalid value for --concurrent-io-limit argument: ${concurrentIoLimit}`); | ||
} | ||
const hashAlgorithm = args['--hash-algorithm']; | ||
if (hashAlgorithm && typeof hashAlgorithm !== 'string') { | ||
throw new errors_1.CommandError(`Invalid value for --hash-algorithm: ${hashAlgorithm}`); | ||
} | ||
const ignorePaths = args['--ignore-path']; | ||
if (ignorePaths) { | ||
if (!Array.isArray(ignorePaths)) { | ||
throw new errors_1.CommandError(`Invalid value for --ignore-path`); | ||
} | ||
if (!ignorePaths.every((elem) => typeof elem === 'string')) { | ||
throw new errors_1.CommandError(`Invalid value for --ignore-path: ${ignorePaths}`); | ||
} | ||
} | ||
const sourceSkips = args['--source-skips']; | ||
if (sourceSkips && !Number.isInteger(sourceSkips)) { | ||
throw new errors_1.CommandError(`Invalid value for --source-skips argument: ${sourceSkips}`); | ||
} | ||
const options = { | ||
debug: !!process.env.DEBUG || args['--debug'], | ||
silent: true, | ||
useRNCoreAutolinkingFromExpo: process.env['USE_RNCORE_AUTOLINKING_FROM_EXPO'] | ||
? (0, getenv_1.boolish)('USE_RNCORE_AUTOLINKING_FROM_EXPO') | ||
: undefined, | ||
...(platforms ? { platforms } : null), | ||
...(concurrentIoLimit ? { concurrentIoLimit } : null), | ||
...(hashAlgorithm ? { hashAlgorithm } : null), | ||
...(ignorePaths ? { ignorePaths } : null), | ||
...(sourceSkips ? { sourceSkips } : null), | ||
...(platform ? { platforms: [platform] } : null), | ||
silent: true, | ||
}; | ||
@@ -113,0 +75,0 @@ const projectRoot = (0, args_1.getProjectRoot)(args); |
{ | ||
"name": "@expo/fingerprint", | ||
"version": "0.11.8-canary-20250122-166c2cb", | ||
"version": "0.11.8-canary-20250124-42fe332", | ||
"description": "A library to generate a fingerprint from a React Native project", | ||
@@ -59,7 +59,8 @@ "main": "build/index.js", | ||
"@types/find-up": "^4.0.0", | ||
"expo-module-scripts": "4.0.4-canary-20250122-166c2cb", | ||
"expo-module-scripts": "4.0.4-canary-20250124-42fe332", | ||
"glob": "^10.4.2", | ||
"require-from-string": "^2.0.2", | ||
"temp-dir": "^2.0.0" | ||
} | ||
}, | ||
"gitHead": "42fe3321395867f7bacba1ea4dc90db1692f119e" | ||
} |
Unstable ownership
Supply chain riskA new collaborator has begun publishing package versions. Package stability and security risk may be elevated.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
0
0
206711
3301