@lage-run/cache 0.1.22 → 0.1.23

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 CHANGED
@@ -2,7 +2,22 @@
2
2
  "name": "@lage-run/cache",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 24 Oct 2022 21:39:49 GMT",
5
+ "date": "Tue, 25 Oct 2022 00:06:34 GMT",
6
+ "tag": "@lage-run/cache_v0.1.23",
7
+ "version": "0.1.23",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "kchau@microsoft.com",
12
+ "package": "@lage-run/cache",
13
+ "commit": "1f0d69225e193de2c9495d9fe7a6e331ea8a3284",
14
+ "comment": "recover the cache check to not bombard with file reads"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Mon, 24 Oct 2022 21:40:05 GMT",
6
21
  "tag": "@lage-run/cache_v0.1.22",
7
22
  "version": "0.1.22",
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 Mon, 24 Oct 2022 21:39:49 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 25 Oct 2022 00:06:34 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.1.23
8
+
9
+ Tue, 25 Oct 2022 00:06:34 GMT
10
+
11
+ ### Patches
12
+
13
+ - recover the cache check to not bombard with file reads (kchau@microsoft.com)
14
+
7
15
  ## 0.1.22
8
16
 
9
- Mon, 24 Oct 2022 21:39:49 GMT
17
+ Mon, 24 Oct 2022 21:40:05 GMT
10
18
 
11
19
  ### Patches
12
20
 
package/lib/salt.js CHANGED
@@ -29,6 +29,8 @@ const crypto = __importStar(require("crypto"));
29
29
  const fg = __importStar(require("fast-glob"));
30
30
  const fs = __importStar(require("fs/promises"));
31
31
  let envHashes = {};
32
+ // A promise to guarantee the getEnvHashes is done one at a time
33
+ let oneAtATime = Promise.resolve();
32
34
  function _testResetEnvHash() {
33
35
  envHashes = {};
34
36
  }
@@ -43,9 +45,18 @@ function envHashKey(environmentGlobFiles) {
43
45
  }
44
46
  async function getEnvHash(environmentGlobFiles, repoRoot) {
45
47
  const key = envHashKey(environmentGlobFiles);
46
- if (envHashes[key]) {
47
- return envHashes[key];
48
- }
48
+ // We want to make sure that we only call getEnvHashOneAtTime one at a time
49
+ // to avoid having many concurrent calls to read files again and again
50
+ oneAtATime = oneAtATime.then(() => {
51
+ // we may already have it by time we get to here
52
+ if (envHashes[key]) {
53
+ return envHashes[key];
54
+ }
55
+ return getEnvHashOneAtTime(environmentGlobFiles, repoRoot);
56
+ });
57
+ return oneAtATime;
58
+ }
59
+ async function getEnvHashOneAtTime(environmentGlobFiles, repoRoot) {
49
60
  const envHash = [];
50
61
  const newline = /\r\n|\r|\n/g;
51
62
  const LF = "\n";
@@ -61,6 +72,7 @@ async function getEnvHash(environmentGlobFiles, repoRoot) {
61
72
  hasher.update(data);
62
73
  envHash.push(hasher.digest("hex"));
63
74
  }
75
+ const key = envHashKey(environmentGlobFiles);
64
76
  envHashes[key] = envHash;
65
77
  return envHash;
66
78
  }
package/lib/salt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"salt.js","sourceRoot":"","sources":["../src/salt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,+CAAiC;AACjC,8CAAgC;AAChC,gDAAkC;AAMlC,IAAI,SAAS,GAAsB,EAAE,CAAC;AAEtC,SAAgB,iBAAiB;IAC/B,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC;AAFD,8CAEC;AAEM,KAAK,UAAU,IAAI,CAAC,oBAA8B,EAAE,OAAe,EAAE,QAAgB,EAAE,SAAS,GAAG,EAAE;IAC1G,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD,CAAC;AAHD,oBAGC;AAED,SAAS,UAAU,CAAC,oBAA8B;IAChD,OAAO,oBAAoB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,oBAA8B,EAAE,QAAgB;IACxE,MAAM,GAAG,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAE7C,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;KACvB;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,aAAa,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,CAAC;IAChB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE;QAC1C,GAAG,EAAE,QAAQ;KACd,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACpC;IAED,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,OAA0B;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"salt.js","sourceRoot":"","sources":["../src/salt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lage-run/cache",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "description": "Cache for Lage",
5
5
  "repository": {
6
6
  "url": "https://github.com/microsoft/lage"