mirror of
https://github.com/status-im/metro.git
synced 2025-02-28 10:40:32 +00:00
[react-packager] Hash cache file name information to avoid long names
This commit is contained in:
parent
566a177464
commit
2e2f3b3d9b
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-native-cli",
|
"name": "react-native-cli",
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"description": "Build native apps with React!",
|
"description": "Build native apps with React!",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
29
react-packager/src/JSTransformer/Cache.js
vendored
29
react-packager/src/JSTransformer/Cache.js
vendored
@ -1,13 +1,14 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var path = require('path');
|
var _ = require('underscore');
|
||||||
var version = require('../../../../package.json').version;
|
var crypto = require('crypto');
|
||||||
var tmpdir = require('os').tmpDir();
|
|
||||||
var isAbsolutePath = require('absolute-path');
|
|
||||||
var declareOpts = require('../lib/declareOpts');
|
var declareOpts = require('../lib/declareOpts');
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var _ = require('underscore');
|
var isAbsolutePath = require('absolute-path');
|
||||||
|
var path = require('path');
|
||||||
var q = require('q');
|
var q = require('q');
|
||||||
|
var tmpdir = require('os').tmpDir();
|
||||||
|
var version = require('../../../../package.json').version;
|
||||||
|
|
||||||
var Promise = q.Promise;
|
var Promise = q.Promise;
|
||||||
|
|
||||||
@ -146,15 +147,15 @@ function loadCacheSync(cachePath) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function cacheFilePath(options) {
|
function cacheFilePath(options) {
|
||||||
|
var hash = crypto.createHash('md5');
|
||||||
|
hash.update(version);
|
||||||
|
|
||||||
var roots = options.projectRoots.join(',').split(path.sep).join('-');
|
var roots = options.projectRoots.join(',').split(path.sep).join('-');
|
||||||
|
hash.update(roots);
|
||||||
|
|
||||||
var cacheVersion = options.cacheVersion || '0';
|
var cacheVersion = options.cacheVersion || '0';
|
||||||
return path.join(
|
hash.update(cacheVersion);
|
||||||
tmpdir,
|
|
||||||
[
|
var name = 'react-packager-cache-' + hash.digest('hex');
|
||||||
'react-packager-cache',
|
return path.join(tmpdir, name);
|
||||||
version,
|
|
||||||
cacheVersion,
|
|
||||||
roots,
|
|
||||||
].join('-')
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ jest
|
|||||||
.dontMock('underscore')
|
.dontMock('underscore')
|
||||||
.dontMock('path')
|
.dontMock('path')
|
||||||
.dontMock('absolute-path')
|
.dontMock('absolute-path')
|
||||||
|
.dontMock('crypto')
|
||||||
.dontMock('../Cache');
|
.dontMock('../Cache');
|
||||||
|
|
||||||
var q = require('q');
|
var q = require('q');
|
||||||
@ -19,7 +20,7 @@ describe('JSTransformer Cache', function() {
|
|||||||
Cache = require('../Cache');
|
Cache = require('../Cache');
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getting/settig', function() {
|
describe('getting/setting', function() {
|
||||||
it('calls loader callback for uncached file', function() {
|
it('calls loader callback for uncached file', function() {
|
||||||
var cache = new Cache({projectRoots: ['/rootDir']});
|
var cache = new Cache({projectRoots: ['/rootDir']});
|
||||||
var loaderCb = jest.genMockFn().mockImpl(function() {
|
var loaderCb = jest.genMockFn().mockImpl(function() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user