@lage-run/cache 0.2.0 → 0.2.1
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.
- package/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/TargetHasher.js +16 -17
- package/lib/backfillWrapper.js +67 -44
- package/lib/index.js +17 -9
- package/lib/providers/BackfillCacheProvider.js +95 -74
- package/lib/providers/RemoteFallbackCacheProvider.js +14 -17
- package/lib/salt.js +76 -44
- package/lib/types/CacheOptions.js +3 -2
- package/lib/types/CacheProvider.js +3 -2
- package/package.json +2 -2
- package/lib/TargetHasher.js.map +0 -1
- package/lib/backfillWrapper.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/providers/BackfillCacheProvider.js.map +0 -1
- package/lib/providers/RemoteFallbackCacheProvider.js.map +0 -1
- package/lib/salt.js.map +0 -1
- package/lib/types/CacheOptions.js.map +0 -1
- package/lib/types/CacheProvider.js.map +0 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@lage-run/cache",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Thu, 10 Nov 2022 20:20:28 GMT",
|
|
6
|
+
"tag": "@lage-run/cache_v0.2.1",
|
|
7
|
+
"version": "0.2.1",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "beachball",
|
|
12
|
+
"package": "@lage-run/cache",
|
|
13
|
+
"comment": "Bump @lage-run/target-graph to v0.6.0",
|
|
14
|
+
"commit": "b1a42cb963a5fc680e4c59b1e705acbc964f0804"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Wed, 02 Nov 2022 06:27:27 GMT",
|
|
6
21
|
"tag": "@lage-run/cache_v0.2.0",
|
|
7
22
|
"version": "0.2.0",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @lage-run/cache
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 10 Nov 2022 20:20:28 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.2.1
|
|
8
|
+
|
|
9
|
+
Thu, 10 Nov 2022 20:20:28 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Bump @lage-run/target-graph to v0.6.0
|
|
14
|
+
|
|
7
15
|
## 0.2.0
|
|
8
16
|
|
|
9
|
-
Wed, 02 Nov 2022 06:27:
|
|
17
|
+
Wed, 02 Nov 2022 06:27:27 GMT
|
|
10
18
|
|
|
11
19
|
### Minor changes
|
|
12
20
|
|
package/lib/TargetHasher.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TargetHasher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>TargetHasher
|
|
8
|
+
});
|
|
9
|
+
const _hasher = require("@lage-run/hasher");
|
|
10
|
+
const _saltJs = require("./salt.js");
|
|
11
11
|
class TargetHasher {
|
|
12
|
-
constructor(options) {
|
|
13
|
-
this.options = options;
|
|
14
|
-
}
|
|
15
12
|
async hash(target) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
const hashKey = await (0, _saltJs.salt)(target.environmentGlob ?? this.options.environmentGlob ?? [
|
|
14
|
+
"lage.config.js"
|
|
15
|
+
], `${target.id}|${JSON.stringify(this.options.cliArgs)}`, this.options.root, this.options.cacheKey || "");
|
|
16
|
+
const hasher = new _hasher.Hasher(target.cwd);
|
|
19
17
|
return hasher.createPackageHash(hashKey);
|
|
20
18
|
}
|
|
19
|
+
constructor(options){
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
21
22
|
}
|
|
22
|
-
exports.TargetHasher = TargetHasher;
|
|
23
|
-
//# sourceMappingURL=TargetHasher.js.map
|
package/lib/backfillWrapper.js
CHANGED
|
@@ -1,60 +1,83 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Backfill wrappers: some functions that uses the `backfill` library that doesn't require them to be inside a class
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
-
}) : function(o, v) {
|
|
19
|
-
o["default"] = v;
|
|
3
|
+
*/ "use strict";
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
function _export(target, all) {
|
|
8
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: all[name]
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
_export(exports, {
|
|
14
|
+
createBackfillLogger: ()=>createBackfillLogger,
|
|
15
|
+
createBackfillCacheConfig: ()=>createBackfillCacheConfig
|
|
20
16
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
const _os = /*#__PURE__*/ _interopRequireWildcard(require("os"));
|
|
18
|
+
const _backfillConfig = require("backfill-config");
|
|
19
|
+
const _backfillLogger = require("backfill-logger");
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
21
|
+
if (typeof WeakMap !== "function") return null;
|
|
22
|
+
var cacheBabelInterop = new WeakMap();
|
|
23
|
+
var cacheNodeInterop = new WeakMap();
|
|
24
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
25
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
26
|
+
})(nodeInterop);
|
|
27
|
+
}
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
29
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
32
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
33
|
+
return {
|
|
34
|
+
default: obj
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
38
|
+
if (cache && cache.has(obj)) {
|
|
39
|
+
return cache.get(obj);
|
|
40
|
+
}
|
|
41
|
+
var newObj = {};
|
|
42
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
43
|
+
for(var key in obj){
|
|
44
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
45
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
46
|
+
if (desc && (desc.get || desc.set)) {
|
|
47
|
+
Object.defineProperty(newObj, key, desc);
|
|
48
|
+
} else {
|
|
49
|
+
newObj[key] = obj[key];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
newObj.default = obj;
|
|
54
|
+
if (cache) {
|
|
55
|
+
cache.set(obj, newObj);
|
|
56
|
+
}
|
|
57
|
+
return newObj;
|
|
58
|
+
}
|
|
33
59
|
function createBackfillLogger() {
|
|
34
60
|
const stdout = process.stdout;
|
|
35
61
|
const stderr = process.stderr;
|
|
36
|
-
return (0,
|
|
62
|
+
return (0, _backfillLogger.makeLogger)("error", {
|
|
37
63
|
console: {
|
|
38
|
-
info(...args) {
|
|
39
|
-
stdout.write(args.join(" ") +
|
|
40
|
-
},
|
|
41
|
-
warn(...args) {
|
|
42
|
-
stderr.write(args.join(" ") + os.EOL);
|
|
64
|
+
info (...args) {
|
|
65
|
+
stdout.write(args.join(" ") + _os.EOL);
|
|
43
66
|
},
|
|
44
|
-
|
|
45
|
-
stderr.write(args.join(" ") +
|
|
67
|
+
warn (...args) {
|
|
68
|
+
stderr.write(args.join(" ") + _os.EOL);
|
|
46
69
|
},
|
|
47
|
-
|
|
70
|
+
error (...args) {
|
|
71
|
+
stderr.write(args.join(" ") + _os.EOL);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
48
74
|
});
|
|
49
75
|
}
|
|
50
|
-
exports.createBackfillLogger = createBackfillLogger;
|
|
51
76
|
function createBackfillCacheConfig(cwd, cacheOptions = {}, backfillLogger) {
|
|
52
|
-
const envConfig = (0,
|
|
77
|
+
const envConfig = (0, _backfillConfig.getEnvConfig)(backfillLogger);
|
|
53
78
|
return {
|
|
54
|
-
...(0,
|
|
79
|
+
...(0, _backfillConfig.createDefaultConfig)(cwd),
|
|
55
80
|
...cacheOptions,
|
|
56
|
-
...envConfig
|
|
81
|
+
...envConfig
|
|
57
82
|
};
|
|
58
83
|
}
|
|
59
|
-
exports.createBackfillCacheConfig = createBackfillCacheConfig;
|
|
60
|
-
//# sourceMappingURL=backfillWrapper.js.map
|
package/lib/index.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
BackfillCacheProvider: ()=>_backfillCacheProviderJs.BackfillCacheProvider,
|
|
13
|
+
RemoteFallbackCacheProvider: ()=>_remoteFallbackCacheProviderJs.RemoteFallbackCacheProvider,
|
|
14
|
+
TargetHasher: ()=>_targetHasherJs.TargetHasher
|
|
15
|
+
});
|
|
16
|
+
const _backfillCacheProviderJs = require("./providers/BackfillCacheProvider.js");
|
|
17
|
+
const _remoteFallbackCacheProviderJs = require("./providers/RemoteFallbackCacheProvider.js");
|
|
18
|
+
const _targetHasherJs = require("./TargetHasher.js");
|
|
@@ -1,100 +1,118 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "BackfillCacheProvider", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>BackfillCacheProvider
|
|
17
8
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
9
|
+
const _backfillWrapperJs = require("../backfillWrapper.js");
|
|
10
|
+
const _backfillCache = require("backfill-cache");
|
|
11
|
+
const _workspaceTools = require("workspace-tools");
|
|
12
|
+
const _util = require("util");
|
|
13
|
+
const _fs = /*#__PURE__*/ _interopRequireWildcard(require("fs"));
|
|
14
|
+
const _path = /*#__PURE__*/ _interopRequireWildcard(require("path"));
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
16
|
+
if (typeof WeakMap !== "function") return null;
|
|
17
|
+
var cacheBabelInterop = new WeakMap();
|
|
18
|
+
var cacheNodeInterop = new WeakMap();
|
|
19
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
20
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
21
|
+
})(nodeInterop);
|
|
22
|
+
}
|
|
23
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
24
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
25
|
+
return obj;
|
|
26
|
+
}
|
|
27
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
28
|
+
return {
|
|
29
|
+
default: obj
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
33
|
+
if (cache && cache.has(obj)) {
|
|
34
|
+
return cache.get(obj);
|
|
35
|
+
}
|
|
36
|
+
var newObj = {};
|
|
37
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
38
|
+
for(var key in obj){
|
|
39
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
40
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
41
|
+
if (desc && (desc.get || desc.set)) {
|
|
42
|
+
Object.defineProperty(newObj, key, desc);
|
|
43
|
+
} else {
|
|
44
|
+
newObj[key] = obj[key];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
newObj.default = obj;
|
|
49
|
+
if (cache) {
|
|
50
|
+
cache.set(obj, newObj);
|
|
51
|
+
}
|
|
52
|
+
return newObj;
|
|
53
|
+
}
|
|
54
|
+
const rmdir = (0, _util.promisify)(_fs.rmdir);
|
|
55
|
+
const rm = (0, _util.promisify)(_fs.unlink);
|
|
56
|
+
const readdir = (0, _util.promisify)(_fs.readdir);
|
|
57
|
+
const stat = (0, _util.promisify)(_fs.stat);
|
|
37
58
|
const MS_IN_A_DAY = 1000 * 60 * 60 * 24;
|
|
38
59
|
class BackfillCacheProvider {
|
|
39
|
-
constructor(options) {
|
|
40
|
-
this.options = options;
|
|
41
|
-
this.backfillLogger = (0, backfillWrapper_js_1.createBackfillLogger)();
|
|
42
|
-
}
|
|
43
60
|
getTargetCacheStorageProvider(cwd) {
|
|
44
|
-
const { cacheOptions
|
|
45
|
-
const { cacheStorageConfig, internalCacheFolder, incrementalCaching
|
|
46
|
-
return (0,
|
|
61
|
+
const { cacheOptions } = this.options;
|
|
62
|
+
const { cacheStorageConfig , internalCacheFolder , incrementalCaching } = (0, _backfillWrapperJs.createBackfillCacheConfig)(cwd, cacheOptions, this.backfillLogger);
|
|
63
|
+
return (0, _backfillCache.getCacheStorageProvider)(cacheStorageConfig ?? {
|
|
64
|
+
provider: "local"
|
|
65
|
+
}, internalCacheFolder, this.backfillLogger, cwd, incrementalCaching);
|
|
47
66
|
}
|
|
48
67
|
async fetch(hash, target) {
|
|
49
|
-
const { logger
|
|
68
|
+
const { logger } = this.options;
|
|
50
69
|
if (!hash) {
|
|
51
70
|
return false;
|
|
52
71
|
}
|
|
53
72
|
const cacheStorage = this.getTargetCacheStorageProvider(target.cwd);
|
|
54
73
|
try {
|
|
55
74
|
return await cacheStorage.fetch(hash);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
75
|
+
} catch (error) {
|
|
58
76
|
let message;
|
|
59
77
|
if (error instanceof Error) {
|
|
60
78
|
message = error.message;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
79
|
+
} else message = String(error);
|
|
80
|
+
logger.silly(`Cache fetch failed: ${message}`, {
|
|
81
|
+
target
|
|
82
|
+
});
|
|
65
83
|
// backfill fetch can error, but we should simply ignore and continue
|
|
66
84
|
return false;
|
|
67
85
|
}
|
|
68
86
|
}
|
|
69
87
|
async put(hash, target) {
|
|
70
|
-
|
|
71
|
-
const { logger } = this.options;
|
|
88
|
+
const { logger } = this.options;
|
|
72
89
|
if (!hash) {
|
|
73
90
|
return;
|
|
74
91
|
}
|
|
75
92
|
const cacheStorage = this.getTargetCacheStorageProvider(target.cwd);
|
|
76
93
|
try {
|
|
77
|
-
await cacheStorage.put(hash,
|
|
78
|
-
|
|
79
|
-
|
|
94
|
+
await cacheStorage.put(hash, target.outputs ?? this.options.cacheOptions.outputGlob ?? [
|
|
95
|
+
"**/*"
|
|
96
|
+
]);
|
|
97
|
+
} catch (error) {
|
|
80
98
|
let message;
|
|
81
99
|
if (error instanceof Error) {
|
|
82
100
|
message = error.message;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
101
|
+
} else message = String(error);
|
|
102
|
+
logger.silly(`Cache fetch failed: ${message}`, {
|
|
103
|
+
target
|
|
104
|
+
});
|
|
105
|
+
// backfill throws an error if outputGlob doesn't match any files, we will skip this error
|
|
88
106
|
}
|
|
89
107
|
}
|
|
90
108
|
async clear() {
|
|
91
|
-
const allPackages = (0,
|
|
92
|
-
for (const info of Object.values(allPackages))
|
|
109
|
+
const allPackages = (0, _workspaceTools.getPackageInfos)(this.options.root);
|
|
110
|
+
for (const info of Object.values(allPackages)){
|
|
93
111
|
const cachePath = getCachePath(info, this.options.cacheOptions.internalCacheFolder);
|
|
94
|
-
if (
|
|
112
|
+
if (_fs.existsSync(cachePath)) {
|
|
95
113
|
const entries = await readdir(cachePath);
|
|
96
|
-
for (const entry of entries)
|
|
97
|
-
const entryPath =
|
|
114
|
+
for (const entry of entries){
|
|
115
|
+
const entryPath = _path.join(cachePath, entry);
|
|
98
116
|
const entryStat = await stat(entryPath);
|
|
99
117
|
await removeCache(entryPath, entryStat);
|
|
100
118
|
}
|
|
@@ -104,13 +122,13 @@ class BackfillCacheProvider {
|
|
|
104
122
|
async purge(sinceDays) {
|
|
105
123
|
const prunePeriod = sinceDays || 30;
|
|
106
124
|
const now = new Date();
|
|
107
|
-
const allPackages = (0,
|
|
108
|
-
for (const info of Object.values(allPackages))
|
|
125
|
+
const allPackages = (0, _workspaceTools.getPackageInfos)(this.options.root);
|
|
126
|
+
for (const info of Object.values(allPackages)){
|
|
109
127
|
const cachePath = getCachePath(info, this.options.cacheOptions.internalCacheFolder);
|
|
110
|
-
if (
|
|
128
|
+
if (_fs.existsSync(cachePath)) {
|
|
111
129
|
const entries = await readdir(cachePath);
|
|
112
|
-
for (const entry of entries)
|
|
113
|
-
const entryPath =
|
|
130
|
+
for (const entry of entries){
|
|
131
|
+
const entryPath = _path.join(cachePath, entry);
|
|
114
132
|
const entryStat = await stat(entryPath);
|
|
115
133
|
if (now.getTime() - entryStat.mtime.getTime() > prunePeriod * MS_IN_A_DAY) {
|
|
116
134
|
await removeCache(entryPath, entryStat);
|
|
@@ -119,17 +137,20 @@ class BackfillCacheProvider {
|
|
|
119
137
|
}
|
|
120
138
|
}
|
|
121
139
|
}
|
|
140
|
+
constructor(options){
|
|
141
|
+
this.options = options;
|
|
142
|
+
this.backfillLogger = (0, _backfillWrapperJs.createBackfillLogger)();
|
|
143
|
+
}
|
|
122
144
|
}
|
|
123
|
-
exports.BackfillCacheProvider = BackfillCacheProvider;
|
|
124
145
|
function getCachePath(info, internalCacheFolder) {
|
|
125
|
-
return
|
|
146
|
+
return _path.resolve(_path.dirname(info.packageJsonPath), internalCacheFolder ?? "node_modules/.cache/backfill");
|
|
126
147
|
}
|
|
127
148
|
async function removeCache(cachePath, entryStat) {
|
|
128
149
|
if (entryStat.isDirectory()) {
|
|
129
|
-
rmdir(cachePath, {
|
|
130
|
-
|
|
131
|
-
|
|
150
|
+
rmdir(cachePath, {
|
|
151
|
+
recursive: true
|
|
152
|
+
});
|
|
153
|
+
} else {
|
|
132
154
|
rm(cachePath);
|
|
133
155
|
}
|
|
134
156
|
}
|
|
135
|
-
//# sourceMappingURL=BackfillCacheProvider.js.map
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RemoteFallbackCacheProvider", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>RemoteFallbackCacheProvider
|
|
8
|
+
});
|
|
10
9
|
class RemoteFallbackCacheProvider {
|
|
11
|
-
constructor(options) {
|
|
12
|
-
this.options = options;
|
|
13
|
-
}
|
|
14
10
|
async fetch(hash, target) {
|
|
15
|
-
const { logger, remoteCacheProvider, localCacheProvider
|
|
11
|
+
const { logger , remoteCacheProvider , localCacheProvider } = this.options;
|
|
16
12
|
if (localCacheProvider) {
|
|
17
13
|
RemoteFallbackCacheProvider.localHits[hash] = await localCacheProvider.fetch(hash, target);
|
|
18
14
|
logger.silly(`local cache fetch: ${hash} ${RemoteFallbackCacheProvider.localHits[hash]}`);
|
|
@@ -30,7 +26,7 @@ class RemoteFallbackCacheProvider {
|
|
|
30
26
|
return RemoteFallbackCacheProvider.localHits[hash];
|
|
31
27
|
}
|
|
32
28
|
async put(hash, target) {
|
|
33
|
-
const { logger, remoteCacheProvider, localCacheProvider, writeRemoteCache
|
|
29
|
+
const { logger , remoteCacheProvider , localCacheProvider , writeRemoteCache } = this.options;
|
|
34
30
|
const putPromises = [];
|
|
35
31
|
// Write local cache if it doesn't already exist, or if the the hash isn't in the localHits
|
|
36
32
|
const shouldWriteLocalCache = !this.isLocalHit(hash) && !!localCacheProvider;
|
|
@@ -54,19 +50,20 @@ class RemoteFallbackCacheProvider {
|
|
|
54
50
|
return hash in RemoteFallbackCacheProvider.localHits && RemoteFallbackCacheProvider.localHits[hash];
|
|
55
51
|
}
|
|
56
52
|
async clear() {
|
|
57
|
-
const { localCacheProvider
|
|
53
|
+
const { localCacheProvider } = this.options;
|
|
58
54
|
if (localCacheProvider) {
|
|
59
55
|
return localCacheProvider.clear();
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
58
|
async purge(sinceDays) {
|
|
63
|
-
const { localCacheProvider
|
|
59
|
+
const { localCacheProvider } = this.options;
|
|
64
60
|
if (localCacheProvider) {
|
|
65
61
|
return localCacheProvider.purge(sinceDays);
|
|
66
62
|
}
|
|
67
63
|
}
|
|
64
|
+
constructor(options){
|
|
65
|
+
this.options = options;
|
|
66
|
+
}
|
|
68
67
|
}
|
|
69
|
-
exports.RemoteFallbackCacheProvider = RemoteFallbackCacheProvider;
|
|
70
68
|
RemoteFallbackCacheProvider.localHits = {};
|
|
71
69
|
RemoteFallbackCacheProvider.remoteHits = {};
|
|
72
|
-
//# sourceMappingURL=RemoteFallbackCacheProvider.js.map
|
package/lib/salt.js
CHANGED
|
@@ -1,45 +1,74 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
"_testResetEnvHash": ()=>_testResetEnvHash,
|
|
13
|
+
salt: ()=>salt
|
|
17
14
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
const _path = /*#__PURE__*/ _interopRequireWildcard(require("path"));
|
|
16
|
+
const _crypto = /*#__PURE__*/ _interopRequireWildcard(require("crypto"));
|
|
17
|
+
const _fastGlob = /*#__PURE__*/ _interopRequireWildcard(require("fast-glob"));
|
|
18
|
+
const _promises = /*#__PURE__*/ _interopRequireWildcard(require("fs/promises"));
|
|
19
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
20
|
+
if (typeof WeakMap !== "function") return null;
|
|
21
|
+
var cacheBabelInterop = new WeakMap();
|
|
22
|
+
var cacheNodeInterop = new WeakMap();
|
|
23
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
24
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
25
|
+
})(nodeInterop);
|
|
26
|
+
}
|
|
27
|
+
function _interopRequireWildcard(obj, nodeInterop) {
|
|
28
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
29
|
+
return obj;
|
|
30
|
+
}
|
|
31
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
32
|
+
return {
|
|
33
|
+
default: obj
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
37
|
+
if (cache && cache.has(obj)) {
|
|
38
|
+
return cache.get(obj);
|
|
39
|
+
}
|
|
40
|
+
var newObj = {};
|
|
41
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
42
|
+
for(var key in obj){
|
|
43
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
44
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
45
|
+
if (desc && (desc.get || desc.set)) {
|
|
46
|
+
Object.defineProperty(newObj, key, desc);
|
|
47
|
+
} else {
|
|
48
|
+
newObj[key] = obj[key];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
newObj.default = obj;
|
|
53
|
+
if (cache) {
|
|
54
|
+
cache.set(obj, newObj);
|
|
55
|
+
}
|
|
56
|
+
return newObj;
|
|
57
|
+
}
|
|
31
58
|
let envHashes = {};
|
|
32
59
|
// A promise to guarantee the getEnvHashes is done one at a time
|
|
33
60
|
let oneAtATime = Promise.resolve();
|
|
34
61
|
function _testResetEnvHash() {
|
|
35
62
|
envHashes = {};
|
|
36
63
|
}
|
|
37
|
-
exports._testResetEnvHash = _testResetEnvHash;
|
|
38
64
|
async function salt(environmentGlobFiles, command, repoRoot, customKey = "") {
|
|
39
65
|
const envHash = await getEnvHash(environmentGlobFiles, repoRoot);
|
|
40
|
-
return hashStrings([
|
|
66
|
+
return hashStrings([
|
|
67
|
+
...envHash,
|
|
68
|
+
command,
|
|
69
|
+
customKey
|
|
70
|
+
]);
|
|
41
71
|
}
|
|
42
|
-
exports.salt = salt;
|
|
43
72
|
function envHashKey(environmentGlobFiles) {
|
|
44
73
|
return environmentGlobFiles.sort().join("|");
|
|
45
74
|
}
|
|
@@ -47,7 +76,7 @@ async function getEnvHash(environmentGlobFiles, repoRoot) {
|
|
|
47
76
|
const key = envHashKey(environmentGlobFiles);
|
|
48
77
|
// We want to make sure that we only call getEnvHashOneAtTime one at a time
|
|
49
78
|
// to avoid having many concurrent calls to read files again and again
|
|
50
|
-
oneAtATime = oneAtATime.then(()
|
|
79
|
+
oneAtATime = oneAtATime.then(()=>{
|
|
51
80
|
// we may already have it by time we get to here
|
|
52
81
|
if (envHashes[key]) {
|
|
53
82
|
return envHashes[key];
|
|
@@ -60,14 +89,14 @@ async function getEnvHashOneAtTime(environmentGlobFiles, repoRoot) {
|
|
|
60
89
|
const envHash = [];
|
|
61
90
|
const newline = /\r\n|\r|\n/g;
|
|
62
91
|
const LF = "\n";
|
|
63
|
-
const files =
|
|
64
|
-
cwd: repoRoot
|
|
92
|
+
const files = _fastGlob.sync(environmentGlobFiles, {
|
|
93
|
+
cwd: repoRoot
|
|
65
94
|
});
|
|
66
|
-
files.sort((a, b)
|
|
67
|
-
for (const file of files)
|
|
68
|
-
const hasher =
|
|
95
|
+
files.sort((a, b)=>a.localeCompare(b));
|
|
96
|
+
for (const file of files){
|
|
97
|
+
const hasher = _crypto.createHash("sha1");
|
|
69
98
|
hasher.update(file);
|
|
70
|
-
const fileBuffer = await
|
|
99
|
+
const fileBuffer = await _promises.readFile(_path.join(repoRoot, file), "utf-8");
|
|
71
100
|
const data = fileBuffer.replace(newline, LF);
|
|
72
101
|
hasher.update(data);
|
|
73
102
|
envHash.push(hasher.digest("hex"));
|
|
@@ -77,11 +106,14 @@ async function getEnvHashOneAtTime(environmentGlobFiles, repoRoot) {
|
|
|
77
106
|
return envHash;
|
|
78
107
|
}
|
|
79
108
|
function hashStrings(strings) {
|
|
80
|
-
const hasher =
|
|
81
|
-
const anArray = typeof strings === "string" ? [
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
elements
|
|
109
|
+
const hasher = _crypto.createHash("sha1");
|
|
110
|
+
const anArray = typeof strings === "string" ? [
|
|
111
|
+
strings
|
|
112
|
+
] : strings;
|
|
113
|
+
const elements = [
|
|
114
|
+
...anArray
|
|
115
|
+
];
|
|
116
|
+
elements.sort((a, b)=>a.localeCompare(b));
|
|
117
|
+
elements.forEach((element)=>hasher.update(element));
|
|
85
118
|
return hasher.digest("hex");
|
|
86
119
|
}
|
|
87
|
-
//# sourceMappingURL=salt.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lage-run/cache",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Cache for Lage",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/microsoft/lage"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@lage-run/hasher": "^0.1.1",
|
|
19
|
-
"@lage-run/target-graph": "^0.
|
|
19
|
+
"@lage-run/target-graph": "^0.6.0",
|
|
20
20
|
"@lage-run/logger": "^1.2.2",
|
|
21
21
|
"backfill-config": "^6.3.0",
|
|
22
22
|
"backfill-cache": "^5.6.1",
|
package/lib/TargetHasher.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetHasher.js","sourceRoot":"","sources":["../src/TargetHasher.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AACxD,uCAAiC;AAUjC;;;;GAIG;AACH,MAAa,YAAY;IACvB,YAAoB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,MAAc;;QACvB,MAAM,OAAO,GAAG,MAAM,IAAA,cAAI,EACxB,MAAA,MAAA,MAAM,CAAC,eAAe,mCAAI,IAAI,CAAC,OAAO,CAAC,eAAe,mCAAI,CAAC,gBAAgB,CAAC,EAC5E,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACtD,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAC5B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,eAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAbD,oCAaC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backfillWrapper.js","sourceRoot":"","sources":["../src/backfillWrapper.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,qDAAoE;AACpE,qDAA6C;AAI7C,SAAgB,oBAAoB;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,OAAO,IAAA,4BAAU,EAAC,OAAO,EAAE;QACzB,OAAO,EAAE;YACP,IAAI,CAAC,GAAG,IAAI;gBACV,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,GAAG,IAAI;gBACV,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,GAAG,IAAI;gBACX,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAhBD,oDAgBC;AAED,SAAgB,yBAAyB,CAAC,GAAW,EAAE,eAAsC,EAAE,EAAE,cAA8B;IAC7H,MAAM,SAAS,GAAG,IAAA,8BAAY,EAAC,cAAc,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG,IAAA,qCAAmB,EAAC,GAAG,CAAC;QAC3B,GAAG,YAAY;QACf,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAPD,8DAOC"}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iFAA6E;AAApE,iIAAA,qBAAqB,OAAA;AAC9B,6FAAyF;AAAhF,6IAAA,2BAA2B,OAAA;AACpC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BackfillCacheProvider.js","sourceRoot":"","sources":["../../src/providers/BackfillCacheProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteFallbackCacheProvider.js","sourceRoot":"","sources":["../../src/providers/RemoteFallbackCacheProvider.ts"],"names":[],"mappings":"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"}
|
package/lib/salt.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"salt.js","sourceRoot":"","sources":["../src/salt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheOptions.js","sourceRoot":"","sources":["../../src/types/CacheOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheProvider.js","sourceRoot":"","sources":["../../src/types/CacheProvider.ts"],"names":[],"mappings":""}
|