@roots/bud-cache 6.11.0 → 6.12.0

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/lib/index.d.ts CHANGED
@@ -3,8 +3,6 @@
3
3
  *
4
4
  * @see {@link https://bud.js.org}
5
5
  * @see {@link https://github.com/roots/bud}
6
- *
7
- * @packageDocumentation
8
6
  */
9
7
  import './types.js';
10
8
  import Cache from './service/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,YAAY,CAAA;AAEnB,OAAO,KAAK,MAAM,oBAAoB,CAAA;AAEtC,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,OAAO,YAAY,CAAA;AAEnB,OAAO,KAAK,MAAM,oBAAoB,CAAA;AAEtC,eAAe,KAAK,CAAA"}
package/lib/index.js CHANGED
@@ -5,8 +5,6 @@
5
5
  *
6
6
  * @see {@link https://bud.js.org}
7
7
  * @see {@link https://github.com/roots/bud}
8
- *
9
- * @packageDocumentation
10
8
  */
11
9
  import './types.js';
12
10
  import Cache from './service/index.js';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,kCAAkC;AAElC;;;;;;;GAOG;AAEH,OAAO,YAAY,CAAA;AAEnB,OAAO,KAAK,MAAM,oBAAoB,CAAA;AAEtC,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,kCAAkC;AAElC;;;;;GAKG;AAEH,OAAO,YAAY,CAAA;AAEnB,OAAO,KAAK,MAAM,oBAAoB,CAAA;AAEtC,eAAe,KAAK,CAAA"}
@@ -15,7 +15,7 @@ export default class InvalidateCacheExtension extends Extension {
15
15
  */
16
16
  get invalidationFile(): string;
17
17
  /**
18
- * `register` callback
18
+ * {@link Extension.register}
19
19
  */
20
20
  register(bud: Bud): Promise<void>;
21
21
  }
@@ -20,11 +20,11 @@ let InvalidateCacheExtension = class InvalidateCacheExtension extends Extension
20
20
  return join(this.app.cache.cacheDirectory, `error.json`);
21
21
  }
22
22
  /**
23
- * `register` callback
23
+ * {@link Extension.register}
24
24
  */
25
25
  async register(bud) {
26
26
  const invalidate = await bud.fs?.exists(this.invalidationFile);
27
- if (invalidate || (bud.isCLI() && bud.context.args.flush)) {
27
+ if (invalidate || (bud.isCLI() && bud.context.args.force)) {
28
28
  await bud.fs.remove(this.invalidationFile);
29
29
  await bud.fs.remove(bud.cache.cacheDirectory);
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AACpD,OAAO,KAAK,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAI9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAI7D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,KACnB,SAAQ,OACR,YAAW,QAAQ,CAAC,KAAK,CAAC,OAAO;IAEjC;;OAEG;IACI,OAAO,EAAE,OAAO,CAAO;IAE9B;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IACD,IAAW,IAAI,CAAC,IAAI,EAAE,MAAM,EAE3B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,QAAQ,GAAG,YAAY,CAOzC;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,EAE5C;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAc3B;IACD,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAEjC;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAKlC;IACD,IAAW,cAAc,CAAC,SAAS,EAAE,MAAM,EAE1C;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,CAejD;IAED;;OAEG;IAEmB,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG;IAKtC;;OAEG;IAEU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AACpD,OAAO,KAAK,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAI9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAA;AAI7D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,KACnB,SAAQ,OACR,YAAW,QAAQ,CAAC,KAAK,CAAC,OAAO;IAEjC;;OAEG;IACI,OAAO,EAAE,OAAO,CAAO;IAE9B;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAKxB;IACD,IAAW,IAAI,CAAC,IAAI,EAAE,MAAM,EAE3B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,QAAQ,GAAG,YAAY,CAOzC;IAED,IAAW,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,EAE5C;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAY3B;IAED,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAEjC;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAKlC;IACD,IAAW,cAAc,CAAC,SAAS,EAAE,MAAM,EAE1C;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,CAkBjD;IAED;;OAEG;IAEmB,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG;IAKtC;;OAEG;IAEU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
@@ -1,9 +1,10 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { createHash } from 'node:crypto';
3
+ import { join } from 'node:path';
3
4
  import { Service } from '@roots/bud-framework/service';
4
5
  import { bind } from '@roots/bud-support/decorators';
5
6
  import isString from '@roots/bud-support/lodash/isString';
6
- import join from '@roots/bud-support/lodash/join';
7
+ import { hash } from '@roots/bud-support/utilities/args';
7
8
  import InvalidateCacheExtension from '../invalidate-cache/index.js';
8
9
  /**
9
10
  * Cache service class
@@ -20,7 +21,7 @@ export default class Cache extends Service {
20
21
  * Type
21
22
  */
22
23
  get name() {
23
- return this.app.hooks.filter(`build.cache.name`, this.app.hooks.filter(`build.name`, this.app.context.label));
24
+ return this.app.hooks.filter(`build.cache.name`, this.app.hooks.filter(`build.name`, join(`webpack`, this.app.mode)));
24
25
  }
25
26
  set name(name) {
26
27
  this.app.hooks.on(`build.cache.name`, name);
@@ -40,11 +41,12 @@ export default class Cache extends Service {
40
41
  * version
41
42
  */
42
43
  get version() {
43
- const args = this.app.fs.json.stringify(this.app.isCLI() ? this.app.context.args : {});
44
- const files = Object.values(this.app.context.config ?? {}).filter(file => file?.bud && file.sha1);
45
- return this.app.hooks.filter(`build.cache.version`, createHash(`sha1`)
46
- .update(join(args, ...files.map(({ module: { sha1 } }) => sha1)))
47
- .digest(`base64`));
44
+ const version = createHash(`sha1`);
45
+ version.update(hash);
46
+ Object.values(this.app.context.files ?? {})
47
+ .filter(file => file?.bud || file?.name?.includes(`package.json`))
48
+ .map(({ sha1 }) => version.update(sha1));
49
+ return this.app.hooks.filter(`build.cache.version`, version.digest(`base64`));
48
50
  }
49
51
  set version(version) {
50
52
  this.app.hooks.on(`build.cache.version`, version);
@@ -53,7 +55,7 @@ export default class Cache extends Service {
53
55
  * Cache directory
54
56
  */
55
57
  get cacheDirectory() {
56
- return this.app.hooks.filter(`build.cache.cacheDirectory`, this.app.path(`@storage`, this.app.label, `cache`, this.app.mode));
58
+ return this.app.hooks.filter(`build.cache.cacheDirectory`, this.app.path(`@storage`, this.app.label, `cache`));
57
59
  }
58
60
  set cacheDirectory(directory) {
59
61
  this.app.hooks.on(`build.cache.cacheDirectory`, directory);
@@ -74,8 +76,8 @@ export default class Cache extends Service {
74
76
  cacheDirectory: this.cacheDirectory,
75
77
  idleTimeout: 10000,
76
78
  idleTimeoutForInitialStore: 0,
77
- profile: true,
78
- version: this.version,
79
+ profile: false,
80
+ version: this.app.hooks.filter(`build.cache.version`, this.version),
79
81
  };
80
82
  }
81
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAG9B,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAA;AAEpD,OAAO,EAAC,IAAI,EAAC,MAAM,+BAA+B,CAAA;AAClD,OAAO,QAAQ,MAAM,oCAAoC,CAAA;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,mCAAmC,CAAA;AAGtD,OAAO,wBAAwB,MAAM,8BAA8B,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,KACnB,SAAQ,OAAO;IADjB;;QAIE;;WAEG;QACI,YAAO,GAAY,IAAI,CAAA;IAwGhC,CAAC;IAtGC;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAC1B,kBAAkB,EAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACpE,CAAA;IACH,CAAC;IACD,IAAW,IAAI,CAAC,IAAY;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAC1B,kBAAkB,EAClB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;YAC7B,CAAC,CAAC,YAAY,CACjB,CAAA;IACH,CAAC;IAED,IAAW,IAAI,CAAC,IAA6B;QAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;aACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;aACjE,GAAG,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAExC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAC1B,qBAAqB,EACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CACzB,CAAA;IACH,CAAC;IAED,IAAW,OAAO,CAAC,OAAe;QAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAC1B,4BAA4B,EAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CACnD,CAAA;IACH,CAAC;IACD,IAAW,cAAc,CAAC,SAAiB;QACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QACvC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,MAAgB;gBACvB,qBAAqB,EAAE,IAAI;gBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,WAAW,EAAE,KAAK;gBAClB,0BAA0B,EAAE,CAAC;gBAC7B,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAC5B,qBAAqB,EACrB,IAAI,CAAC,OAAO,CACb;aACF,CAAA;IACP,CAAC;IAED;;OAEG;IAEmB,AAAN,KAAK,CAAC,MAAM,CAAE,GAAQ;QACpC,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IAEU,AAAN,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC;CACF;AAZuB;IADrB,IAAI;;;;mCAIJ;AAMY;IADZ,IAAI;;;;kCAGJ"}
package/lib/types.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @package @roots/bud-cache
3
+ */
1
4
  import type InvalidateCacheExtension from './invalidate-cache/index.js';
2
5
  declare module '@roots/bud-framework' {
3
6
  interface Modules {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,wBAAwB,MAAM,6BAA6B,CAAA;AAEvE,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,OAAO;QACf,mCAAmC,EAAE,wBAAwB,CAAA;KAC9D;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,wBAAwB,MAAM,6BAA6B,CAAA;AAEvE,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,OAAO;QACf,mCAAmC,EAAE,wBAAwB,CAAA;KAC9D;CACF"}
package/lib/types.js CHANGED
@@ -1,2 +1,5 @@
1
+ /**
2
+ * @package @roots/bud-cache
3
+ */
1
4
  export {};
2
5
  //# sourceMappingURL=types.js.map
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,12 +1,9 @@
1
1
  {
2
2
  "name": "@roots/bud-cache",
3
+ "version": "6.12.0",
3
4
  "description": "Config caching",
4
- "version": "6.11.0",
5
- "homepage": "https://roots.io/bud",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/roots/bud.git",
9
- "directory": "sources/@roots/bud-cache"
5
+ "engines": {
6
+ "node": ">=16"
10
7
  },
11
8
  "contributors": [
12
9
  {
@@ -25,20 +22,21 @@
25
22
  }
26
23
  ],
27
24
  "license": "MIT",
28
- "bugs": {
29
- "url": "https://github.com/roots/bud/issues"
30
- },
25
+ "homepage": "https://roots.io/bud",
31
26
  "funding": {
32
27
  "type": "github sponsors",
33
28
  "url": "https://github.com/sponsors/roots"
34
29
  },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/roots/bud.git",
33
+ "directory": "sources/@roots/bud-cache"
34
+ },
35
+ "bugs": "https://github.com/roots/bud/issues",
35
36
  "keywords": [
36
37
  "bud",
37
38
  "bud-framework"
38
39
  ],
39
- "engines": {
40
- "node": ">=16"
41
- },
42
40
  "files": [
43
41
  "docs",
44
42
  "lib",
@@ -47,20 +45,20 @@
47
45
  "type": "module",
48
46
  "exports": {
49
47
  ".": {
50
- "types": "./lib/index.d.ts",
51
- "import": "./lib/index.js"
48
+ "import": "./lib/index.js",
49
+ "default": "./lib/index.js"
52
50
  },
53
51
  "./service": {
54
- "types": "./lib/service/index.js",
55
- "import": "./lib/service.js"
52
+ "import": "./lib/service.js",
53
+ "default": "./lib/service.js"
56
54
  },
57
55
  "./invalidate-cache": {
58
- "types": "./lib/invalidate-cache/index.d.ts",
59
- "import": "./lib/invalidate-cache/index.js"
56
+ "import": "./lib/invalidate-cache/index.js",
57
+ "default": "./lib/invalidate-cache/index.js"
60
58
  },
61
59
  "./types": {
62
- "types": "./lib/types.d.ts",
63
- "import": "./lib/types.js"
60
+ "import": "./lib/types.js",
61
+ "default": "./lib/types.js"
64
62
  }
65
63
  },
66
64
  "typesVersions": {
@@ -68,23 +66,24 @@
68
66
  ".": [
69
67
  "./lib/index.d.ts"
70
68
  ],
71
- "./service": [
69
+ "service": [
72
70
  "./lib/service.d.ts"
73
71
  ],
74
- "./types": [
72
+ "types": [
75
73
  "./lib/types.d.ts"
76
74
  ]
77
75
  }
78
76
  },
79
- "module": "./lib/index.js",
80
77
  "types": "./lib/index.d.ts",
78
+ "module": "./lib/index.js",
81
79
  "devDependencies": {
82
80
  "@skypack/package-check": "0.2.2"
83
81
  },
84
82
  "dependencies": {
85
- "@roots/bud-framework": "6.11.0",
86
- "@roots/bud-support": "6.11.0",
87
- "strip-ansi": "7.0.1"
83
+ "@roots/bud-framework": "6.12.0",
84
+ "@roots/bud-support": "6.12.0",
85
+ "strip-ansi": "7.0.1",
86
+ "tslib": "2.5.0"
88
87
  },
89
88
  "volta": {
90
89
  "extends": "../../../package.json"
package/src/index.ts CHANGED
@@ -6,8 +6,6 @@
6
6
  *
7
7
  * @see {@link https://bud.js.org}
8
8
  * @see {@link https://github.com/roots/bud}
9
- *
10
- * @packageDocumentation
11
9
  */
12
10
 
13
11
  import './types.js'
@@ -24,13 +24,13 @@ export default class InvalidateCacheExtension extends Extension {
24
24
  }
25
25
 
26
26
  /**
27
- * `register` callback
27
+ * {@link Extension.register}
28
28
  */
29
29
  @bind
30
30
  public override async register(bud: Bud) {
31
31
  const invalidate = await bud.fs?.exists(this.invalidationFile)
32
32
 
33
- if (invalidate || (bud.isCLI() && bud.context.args.flush)) {
33
+ if (invalidate || (bud.isCLI() && bud.context.args.force)) {
34
34
  await bud.fs.remove(this.invalidationFile)
35
35
  await bud.fs.remove(bud.cache.cacheDirectory)
36
36
  }
@@ -1,11 +1,12 @@
1
1
  import {createHash} from 'node:crypto'
2
+ import {join} from 'node:path'
2
3
 
3
4
  import type {Bud} from '@roots/bud-framework'
4
5
  import {Service} from '@roots/bud-framework/service'
5
6
  import type * as Services from '@roots/bud-framework/services'
6
7
  import {bind} from '@roots/bud-support/decorators'
7
8
  import isString from '@roots/bud-support/lodash/isString'
8
- import join from '@roots/bud-support/lodash/join'
9
+ import {hash} from '@roots/bud-support/utilities/args'
9
10
  import type {Configuration} from '@roots/bud-support/webpack'
10
11
 
11
12
  import InvalidateCacheExtension from '../invalidate-cache/index.js'
@@ -28,7 +29,7 @@ export default class Cache
28
29
  public get name(): string {
29
30
  return this.app.hooks.filter(
30
31
  `build.cache.name`,
31
- this.app.hooks.filter(`build.name`, this.app.context.label),
32
+ this.app.hooks.filter(`build.name`, join(`webpack`, this.app.mode)),
32
33
  )
33
34
  }
34
35
  public set name(name: string) {
@@ -55,20 +56,19 @@ export default class Cache
55
56
  * version
56
57
  */
57
58
  public get version(): string {
58
- const args = this.app.fs.json.stringify(
59
- this.app.isCLI() ? this.app.context.args : {},
60
- )
61
- const files = Object.values(this.app.context.config ?? {}).filter(
62
- file => file?.bud && file.sha1,
63
- )
59
+ const version = createHash(`sha1`)
60
+ version.update(hash)
61
+
62
+ Object.values(this.app.context.files ?? {})
63
+ .filter(file => file?.bud || file?.name?.includes(`package.json`))
64
+ .map(({sha1}) => version.update(sha1))
64
65
 
65
66
  return this.app.hooks.filter(
66
67
  `build.cache.version`,
67
- createHash(`sha1`)
68
- .update(join(args, ...files.map(({module: {sha1}}) => sha1)))
69
- .digest(`base64`),
68
+ version.digest(`base64`),
70
69
  )
71
70
  }
71
+
72
72
  public set version(version: string) {
73
73
  this.app.hooks.on(`build.cache.version`, version)
74
74
  }
@@ -79,7 +79,7 @@ export default class Cache
79
79
  public get cacheDirectory(): string {
80
80
  return this.app.hooks.filter(
81
81
  `build.cache.cacheDirectory`,
82
- this.app.path(`@storage`, this.app.label, `cache`, this.app.mode),
82
+ this.app.path(`@storage`, this.app.label, `cache`),
83
83
  )
84
84
  }
85
85
  public set cacheDirectory(directory: string) {
@@ -101,8 +101,11 @@ export default class Cache
101
101
  cacheDirectory: this.cacheDirectory,
102
102
  idleTimeout: 10000,
103
103
  idleTimeoutForInitialStore: 0,
104
- profile: true,
105
- version: this.version,
104
+ profile: false,
105
+ version: this.app.hooks.filter(
106
+ `build.cache.version`,
107
+ this.version,
108
+ ),
106
109
  }
107
110
  }
108
111
 
package/src/types.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @package @roots/bud-cache
3
+ */
4
+
1
5
  import type InvalidateCacheExtension from './invalidate-cache/index.js'
2
6
 
3
7
  declare module '@roots/bud-framework' {