mirror of
https://github.com/status-im/react-native.git
synced 2025-01-28 18:25:06 +00:00
packager: TransformCache: include UID + do not use base64
Summary: Two things in there: * Using `base64` was kinda broken, as it can contain slashes, invalid in file names. It would still work however because it would just create a second level folder when doing `mkdirp`. Still I think it's better to fix that correctness. * Include the UID in the hash, so that different users have different folders for sure, and that we reduce potiential permissions issues. `tmpdir()` already returns a folder that's user-specific on OS X, but this is not a guarantee on all platforms. Reviewed By: cpojer Differential Revision: D4969856 fbshipit-source-id: 4a9be35104ac9698edf2c84c58d395ee171ce2a8
This commit is contained in:
parent
eb72d5091a
commit
1e6bca22db
@ -39,16 +39,17 @@ const CACHE_SUB_DIR = 'cache';
|
|||||||
const getCacheDirPath = (function() {
|
const getCacheDirPath = (function() {
|
||||||
let dirPath;
|
let dirPath;
|
||||||
return function() {
|
return function() {
|
||||||
if (dirPath == null) {
|
if (dirPath != null) {
|
||||||
dirPath = path.join(
|
return dirPath;
|
||||||
require('os').tmpdir(),
|
|
||||||
CACHE_NAME + '-' + crypto.createHash('sha1')
|
|
||||||
.update(__dirname).digest('base64'),
|
|
||||||
);
|
|
||||||
require('debug')('RNP:TransformCache:Dir')(
|
|
||||||
`transform cache directory: ${dirPath}`
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
const hash = crypto.createHash('sha1').update(__dirname);
|
||||||
|
if (process.getuid != null) {
|
||||||
|
hash.update(process.getuid().toString());
|
||||||
|
}
|
||||||
|
dirPath = path.join(require('os').tmpdir(), CACHE_NAME + '-' + hash.digest('hex'));
|
||||||
|
require('debug')('RNP:TransformCache:Dir')(
|
||||||
|
`transform cache directory: ${dirPath}`
|
||||||
|
);
|
||||||
return dirPath;
|
return dirPath;
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user