@expo/fingerprint 0.21.5 → 0.21.6
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.
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A helper script to load the Expo config and loaded plugins from a project
|
|
3
3
|
*/
|
|
4
|
+
import module from 'module';
|
|
4
5
|
/**
|
|
5
|
-
* A
|
|
6
|
+
* A module observed while `installModuleCaptureHook()` was active.
|
|
6
7
|
*/
|
|
7
8
|
export interface CapturedModule {
|
|
8
|
-
/** The
|
|
9
|
+
/** The CommonJS cache key, or an ES module's filename. May diverge from `filename` if virtual. */
|
|
9
10
|
id: string;
|
|
10
11
|
/** The filename Node compiled the module under. Authoritative even for transpiled sources. */
|
|
11
12
|
filename: string;
|
|
12
|
-
/** The source content Node
|
|
13
|
+
/** The source content Node received for the module, before Node strips any types. */
|
|
13
14
|
content: string;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
@@ -27,15 +28,24 @@ export type LoadedModuleSource = {
|
|
|
27
28
|
contents: string;
|
|
28
29
|
};
|
|
29
30
|
/**
|
|
30
|
-
* Observe
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
31
|
+
* Observe the JavaScript and TypeScript modules that `require()` evaluates while the hook is
|
|
32
|
+
* installed.
|
|
33
|
+
* We hook `Module.prototype._compile` to keep each CommonJS module's authoritative filename and
|
|
34
|
+
* source content. Every argument is forwarded: Node 22.18+ passes a `format` argument that tells it
|
|
35
|
+
* to strip types from a `.ts` file.
|
|
36
|
+
* The ES modules that an ES module imports never reach `_compile`, so a `module.registerHooks`
|
|
37
|
+
* load hook (Node 22.15+) records each ES module file that Node's loader evaluates.
|
|
34
38
|
*/
|
|
35
39
|
export declare function installModuleCaptureHook(): {
|
|
36
40
|
getCapturedModules: () => CapturedModule[];
|
|
37
41
|
uninstall: () => void;
|
|
38
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* A `module.registerHooks` load hook that records each ES module loaded from a file.
|
|
45
|
+
* CommonJS is left to the `_compile` hook, which also sees a module that a transpiler compiles
|
|
46
|
+
* from a string.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createESModuleLoadHook(capturedModules: CapturedModule[]): module.LoadHookSync;
|
|
39
49
|
/**
|
|
40
50
|
* Turn captured modules into config-plugin sources, dropping ignored paths.
|
|
41
51
|
* A real file becomes a `file` source; a module with no file on disk (virtual / compiled from a
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
0 && (module.exports = {
|
|
8
|
+
createESModuleLoadHook: null,
|
|
8
9
|
getExpoConfigLoaderPath: null,
|
|
9
10
|
installModuleCaptureHook: null,
|
|
10
11
|
resolveLoadedModuleSourcesAsync: null
|
|
@@ -16,6 +17,9 @@ function _export(target, all) {
|
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
_export(exports, {
|
|
20
|
+
get createESModuleLoadHook () {
|
|
21
|
+
return createESModuleLoadHook;
|
|
22
|
+
},
|
|
19
23
|
get getExpoConfigLoaderPath () {
|
|
20
24
|
return getExpoConfigLoaderPath;
|
|
21
25
|
},
|
|
@@ -68,6 +72,13 @@ function _resolvefrom() {
|
|
|
68
72
|
};
|
|
69
73
|
return data;
|
|
70
74
|
}
|
|
75
|
+
function _url() {
|
|
76
|
+
const data = require("url");
|
|
77
|
+
_url = function() {
|
|
78
|
+
return data;
|
|
79
|
+
};
|
|
80
|
+
return data;
|
|
81
|
+
}
|
|
71
82
|
const _Options = require("./Options");
|
|
72
83
|
const _Path = require("./utils/Path");
|
|
73
84
|
function _interop_require_default(obj) {
|
|
@@ -154,8 +165,11 @@ if (require.main?.filename === __filename) {
|
|
|
154
165
|
return ignorePaths;
|
|
155
166
|
}
|
|
156
167
|
function installModuleCaptureHook() {
|
|
157
|
-
const moduleProto = _module().default.prototype;
|
|
158
168
|
const capturedModules = [];
|
|
169
|
+
const loadHooks = typeof _module().default.registerHooks === 'function' ? _module().default.registerHooks({
|
|
170
|
+
load: createESModuleLoadHook(capturedModules)
|
|
171
|
+
}) : null;
|
|
172
|
+
const moduleProto = _module().default.prototype;
|
|
159
173
|
const originalCompile = moduleProto._compile;
|
|
160
174
|
moduleProto._compile = function(content, filename, ...rest) {
|
|
161
175
|
capturedModules.push({
|
|
@@ -169,7 +183,24 @@ function installModuleCaptureHook() {
|
|
|
169
183
|
getCapturedModules: ()=>capturedModules,
|
|
170
184
|
uninstall: ()=>{
|
|
171
185
|
moduleProto._compile = originalCompile;
|
|
186
|
+
loadHooks?.deregister();
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function createESModuleLoadHook(capturedModules) {
|
|
191
|
+
return (url, context, nextLoad)=>{
|
|
192
|
+
const result = nextLoad(url, context);
|
|
193
|
+
const isESModule = result.format === 'module' || result.format === 'module-typescript';
|
|
194
|
+
if (isESModule && url.startsWith('file:') && result.source != null) {
|
|
195
|
+
const filename = (0, _url().fileURLToPath)(url);
|
|
196
|
+
const content = typeof result.source === 'string' ? result.source : new TextDecoder().decode(result.source);
|
|
197
|
+
capturedModules.push({
|
|
198
|
+
id: filename,
|
|
199
|
+
filename,
|
|
200
|
+
content
|
|
201
|
+
});
|
|
172
202
|
}
|
|
203
|
+
return result;
|
|
173
204
|
};
|
|
174
205
|
}
|
|
175
206
|
async function resolveLoadedModuleSourcesAsync(capturedModules, projectRoot, ignoredPaths) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ExpoConfigLoader.ts"],"sourcesContent":[null],"names":["getExpoConfigLoaderPath","installModuleCaptureHook","resolveLoadedModuleSourcesAsync","runAsync","programName","args","console","log","projectRoot","path","resolve","skipPlugins","includes","ignoredFileArg","startsWith","ignoredFile","modeFlagIndex","indexOf","mode","undefined","Error","consumeConfigEnvMode","globalThis","__DEV__","loadProjectEnv","getCapturedModules","uninstall","config","getConfig","require","resolveFrom","skipSDKVersionRequirement","ignoredPaths","DEFAULT_CONFIG_LOADING_IGNORE_PATHS","loadIgnoredPathsAsync","loadedModules","result","JSON","stringify","process","send","main","filename","__filename","programIndex","argv","findIndex","arg","slice","e","error","exit","DEFAULT_IGNORE_PATHS","ignorePaths","fingerprintIgnore","fs","readFile","fingerprintIgnoreLines","split","line","trimmedLine","trim","push","
|
|
1
|
+
{"version":3,"sources":["ExpoConfigLoader.ts"],"sourcesContent":[null],"names":["createESModuleLoadHook","getExpoConfigLoaderPath","installModuleCaptureHook","resolveLoadedModuleSourcesAsync","runAsync","programName","args","console","log","projectRoot","path","resolve","skipPlugins","includes","ignoredFileArg","startsWith","ignoredFile","modeFlagIndex","indexOf","mode","undefined","Error","consumeConfigEnvMode","globalThis","__DEV__","loadProjectEnv","getCapturedModules","uninstall","config","getConfig","require","resolveFrom","skipSDKVersionRequirement","ignoredPaths","DEFAULT_CONFIG_LOADING_IGNORE_PATHS","loadIgnoredPathsAsync","loadedModules","result","JSON","stringify","process","send","main","filename","__filename","programIndex","argv","findIndex","arg","slice","e","error","exit","DEFAULT_IGNORE_PATHS","ignorePaths","fingerprintIgnore","fs","readFile","fingerprintIgnoreLines","split","line","trimmedLine","trim","push","capturedModules","loadHooks","module","registerHooks","load","moduleProto","prototype","originalCompile","_compile","content","rest","id","call","deregister","url","context","nextLoad","isESModule","format","source","fileURLToPath","TextDecoder","decode","seen","Set","ignoredPathMatchObjects","buildPathMatchObjects","candidates","map","relativePath","toPosixPath","relative","filter","has","isIgnoredPathWithMatchObjects","add","sources","Promise","all","stat","isFile","type","code","contents","join","__dirname"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/fingerprint",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.6",
|
|
4
4
|
"description": "A library to generate a fingerprint from a React Native project",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"expo",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"main": "build/index.js",
|
|
32
32
|
"types": "build/index.d.ts",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@expo/env": "^2.5.
|
|
34
|
+
"@expo/env": "^2.5.3",
|
|
35
35
|
"@expo/spawn-async": "^1.8.0",
|
|
36
36
|
"arg": "^5.0.2",
|
|
37
37
|
"chalk": "^4.1.2",
|
|
@@ -44,15 +44,15 @@
|
|
|
44
44
|
"semver": "^7.7.4"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@expo/config": "~58.0.
|
|
48
|
-
"@expo/internal-scripts": "58.0.
|
|
49
|
-
"@expo/require-utils": "~58.0.
|
|
47
|
+
"@expo/config": "~58.0.7",
|
|
48
|
+
"@expo/internal-scripts": "58.0.4",
|
|
49
|
+
"@expo/require-utils": "~58.0.4",
|
|
50
50
|
"@types/debug": "^4.1.5",
|
|
51
51
|
"@types/getenv": "^1.0.3",
|
|
52
52
|
"@types/node": "^22.14.0",
|
|
53
53
|
"@types/require-from-string": "^1.2.3",
|
|
54
54
|
"@types/semver": "^7.7.1",
|
|
55
|
-
"expo-splash-screen": "58.0.
|
|
55
|
+
"expo-splash-screen": "58.0.11",
|
|
56
56
|
"memfs": "^3.6.0",
|
|
57
57
|
"require-from-string": "^2.0.2",
|
|
58
58
|
"temp-dir": "^2.0.0"
|