@lage-run/cache 1.3.11 → 1.3.13
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 +46 -1
- package/CHANGELOG.md +18 -2
- package/lib/backfillWrapper.d.ts +2 -3
- package/lib/backfillWrapper.js +3 -2
- package/lib/backfillWrapper.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -1
- package/lib/providers/BackfillCacheProvider.d.ts +3 -2
- package/lib/providers/BackfillCacheProvider.js.map +1 -1
- package/lib/types/CacheProvider.d.ts +0 -2
- package/package.json +8 -7
- package/lib/types/CacheOptions.d.ts +0 -22
- package/lib/types/CacheOptions.js +0 -4
- package/lib/types/CacheOptions.js.map +0 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,52 @@
|
|
|
2
2
|
"name": "@lage-run/cache",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Tue, 29 Apr 2025 08:09:46 GMT",
|
|
6
|
+
"version": "1.3.13",
|
|
7
|
+
"tag": "@lage-run/cache_v1.3.13",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "elcraig@microsoft.com",
|
|
12
|
+
"package": "@lage-run/cache",
|
|
13
|
+
"commit": "8cd955ef4910abb9fff6f0de40255fe842847a79",
|
|
14
|
+
"comment": "Remove duplicate CacheOptions interface (re-export from config package)"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Thu, 17 Apr 2025 08:10:01 GMT",
|
|
21
|
+
"version": "1.3.12",
|
|
22
|
+
"tag": "@lage-run/cache_v1.3.12",
|
|
23
|
+
"comments": {
|
|
24
|
+
"patch": [
|
|
25
|
+
{
|
|
26
|
+
"author": "renovate@whitesourcesoftware.com",
|
|
27
|
+
"package": "@lage-run/cache",
|
|
28
|
+
"commit": "00e45954e48cdddcb3fa4b68a6e732a43ec7bd57",
|
|
29
|
+
"comment": "Update backfill monorepo"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Sat, 29 Mar 2025 02:16:38 GMT",
|
|
36
|
+
"version": "1.3.11",
|
|
37
|
+
"tag": "@lage-run/cache_v1.3.11",
|
|
38
|
+
"comments": {
|
|
39
|
+
"none": [
|
|
40
|
+
{
|
|
41
|
+
"author": "elcraig@microsoft.com",
|
|
42
|
+
"package": "@lage-run/cache",
|
|
43
|
+
"commit": "a680ab60dcddd84808f223a1b5f38a16e868b66f",
|
|
44
|
+
"comment": "Sync versions, and use workspace:^ versions for local deps"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Wed, 15 Jan 2025 16:56:22 GMT",
|
|
6
51
|
"version": "1.3.11",
|
|
7
52
|
"tag": "@lage-run/cache_v1.3.11",
|
|
8
53
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
# Change Log - @lage-run/cache
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on
|
|
3
|
+
<!-- This log was last generated on Tue, 29 Apr 2025 08:09:46 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.3.13
|
|
8
|
+
|
|
9
|
+
Tue, 29 Apr 2025 08:09:46 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Remove duplicate CacheOptions interface (re-export from config package) (elcraig@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 1.3.12
|
|
16
|
+
|
|
17
|
+
Thu, 17 Apr 2025 08:10:01 GMT
|
|
18
|
+
|
|
19
|
+
### Patches
|
|
20
|
+
|
|
21
|
+
- Update backfill monorepo (renovate@whitesourcesoftware.com)
|
|
22
|
+
|
|
7
23
|
## 1.3.11
|
|
8
24
|
|
|
9
|
-
Wed, 15 Jan 2025 16:
|
|
25
|
+
Wed, 15 Jan 2025 16:56:22 GMT
|
|
10
26
|
|
|
11
27
|
### Patches
|
|
12
28
|
|
package/lib/backfillWrapper.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Backfill wrappers: some functions that uses the `backfill` library that doesn't require them to be inside a class
|
|
3
3
|
*/
|
|
4
|
-
import { CacheStorageConfig } from "backfill-config";
|
|
5
4
|
import type { Logger as BackfillLogger } from "backfill-logger";
|
|
6
|
-
import type { CacheOptions } from "
|
|
5
|
+
import type { CacheOptions } from "@lage-run/config";
|
|
7
6
|
export declare function createBackfillLogger(): BackfillLogger;
|
|
8
7
|
export declare function createBackfillCacheConfig(cwd: string, cacheOptions: Partial<CacheOptions> | undefined, backfillLogger: BackfillLogger): {
|
|
9
|
-
cacheStorageConfig: CacheStorageConfig;
|
|
8
|
+
cacheStorageConfig: import("backfill-config").CacheStorageConfig;
|
|
10
9
|
clearOutput: boolean;
|
|
11
10
|
internalCacheFolder: string;
|
|
12
11
|
logFolder: string;
|
package/lib/backfillWrapper.js
CHANGED
|
@@ -88,8 +88,9 @@ function createBackfillCacheConfig(cwd, cacheOptions = {}, backfillLogger) {
|
|
|
88
88
|
...envConfig
|
|
89
89
|
};
|
|
90
90
|
if (mergedConfig.cacheStorageConfig.provider === "azure-blob") {
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
const azureOptions = mergedConfig.cacheStorageConfig.options;
|
|
92
|
+
if ("connectionString" in azureOptions && !isTokenConnectionString(azureOptions.connectionString)) {
|
|
93
|
+
azureOptions.credential = _CredentialCache.CredentialCache.getInstance();
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
return mergedConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/backfillWrapper.ts"],"sourcesContent":["/**\n * Backfill wrappers: some functions that uses the `backfill` library that doesn't require them to be inside a class\n */\n\nimport * as os from \"os\";\nimport { createDefaultConfig, getEnvConfig } from \"backfill-config\";\nimport { makeLogger } from \"backfill-logger\";\nimport
|
|
1
|
+
{"version":3,"sources":["../src/backfillWrapper.ts"],"sourcesContent":["/**\n * Backfill wrappers: some functions that uses the `backfill` library that doesn't require them to be inside a class\n */\n\nimport * as os from \"os\";\nimport { createDefaultConfig, getEnvConfig } from \"backfill-config\";\nimport { makeLogger } from \"backfill-logger\";\nimport type { Logger as BackfillLogger } from \"backfill-logger\";\nimport type { CacheOptions } from \"@lage-run/config\";\nimport { CredentialCache } from \"./CredentialCache.js\";\n\nexport function createBackfillLogger() {\n const stdout = process.stdout;\n const stderr = process.stderr;\n return makeLogger(\"error\", {\n console: {\n info(...args) {\n stdout.write(args.join(\" \") + os.EOL);\n },\n warn(...args) {\n stderr.write(args.join(\" \") + os.EOL);\n },\n error(...args) {\n stderr.write(args.join(\" \") + os.EOL);\n },\n },\n });\n}\n\nexport function createBackfillCacheConfig(cwd: string, cacheOptions: Partial<CacheOptions> = {}, backfillLogger: BackfillLogger) {\n const envConfig = getEnvConfig(backfillLogger);\n const mergedConfig = {\n ...createDefaultConfig(cwd),\n ...cacheOptions,\n ...envConfig,\n };\n\n if (mergedConfig.cacheStorageConfig.provider === \"azure-blob\") {\n const azureOptions = mergedConfig.cacheStorageConfig.options;\n if (\"connectionString\" in azureOptions && !isTokenConnectionString(azureOptions.connectionString)) {\n azureOptions.credential = CredentialCache.getInstance();\n }\n }\n\n return mergedConfig;\n}\n\nfunction isTokenConnectionString(connectionString: string) {\n return connectionString.includes(\"SharedAccessSignature\");\n}\n"],"names":["createBackfillCacheConfig","createBackfillLogger","stdout","process","stderr","makeLogger","console","info","args","write","join","os","EOL","warn","error","cwd","cacheOptions","backfillLogger","envConfig","getEnvConfig","mergedConfig","createDefaultConfig","cacheStorageConfig","provider","azureOptions","options","isTokenConnectionString","connectionString","credential","CredentialCache","getInstance","includes"],"mappings":"AAAA;;CAEC;;;;;;;;;;;IA2BeA,yBAAyB;eAAzBA;;IAlBAC,oBAAoB;eAApBA;;;4DAPI;gCAC8B;gCACvB;iCAGK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzB,SAASA;IACd,MAAMC,SAASC,QAAQD,MAAM;IAC7B,MAAME,SAASD,QAAQC,MAAM;IAC7B,OAAOC,IAAAA,0BAAU,EAAC,SAAS;QACzBC,SAAS;YACPC,MAAK,GAAGC,IAAI;gBACVN,OAAOO,KAAK,CAACD,KAAKE,IAAI,CAAC,OAAOC,IAAGC,GAAG;YACtC;YACAC,MAAK,GAAGL,IAAI;gBACVJ,OAAOK,KAAK,CAACD,KAAKE,IAAI,CAAC,OAAOC,IAAGC,GAAG;YACtC;YACAE,OAAM,GAAGN,IAAI;gBACXJ,OAAOK,KAAK,CAACD,KAAKE,IAAI,CAAC,OAAOC,IAAGC,GAAG;YACtC;QACF;IACF;AACF;AAEO,SAASZ,0BAA0Be,GAAW,EAAEC,eAAsC,CAAC,CAAC,EAAEC,cAA8B;IAC7H,MAAMC,YAAYC,IAAAA,4BAAY,EAACF;IAC/B,MAAMG,eAAe;QACnB,GAAGC,IAAAA,mCAAmB,EAACN,IAAI;QAC3B,GAAGC,YAAY;QACf,GAAGE,SAAS;IACd;IAEA,IAAIE,aAAaE,kBAAkB,CAACC,QAAQ,KAAK,cAAc;QAC7D,MAAMC,eAAeJ,aAAaE,kBAAkB,CAACG,OAAO;QAC5D,IAAI,sBAAsBD,gBAAgB,CAACE,wBAAwBF,aAAaG,gBAAgB,GAAG;YACjGH,aAAaI,UAAU,GAAGC,gCAAe,CAACC,WAAW;QACvD;IACF;IAEA,OAAOV;AACT;AAEA,SAASM,wBAAwBC,gBAAwB;IACvD,OAAOA,iBAAiBI,QAAQ,CAAC;AACnC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { BackfillCacheProvider } from "./providers/BackfillCacheProvider.js";
|
|
2
2
|
export { RemoteFallbackCacheProvider } from "./providers/RemoteFallbackCacheProvider.js";
|
|
3
|
-
export type { CacheOptions } from "
|
|
3
|
+
export type { CacheOptions } from "@lage-run/config";
|
|
4
4
|
export type { CacheProvider } from "./types/CacheProvider.js";
|
|
5
5
|
export { getCacheDirectory, getLogsCacheDirectory, getCacheDirectoryRoot } from "./getCacheDirectory.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { BackfillCacheProvider } from \"./providers/BackfillCacheProvider.js\";\nexport { RemoteFallbackCacheProvider } from \"./providers/RemoteFallbackCacheProvider.js\";\nexport type { CacheOptions } from \"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { BackfillCacheProvider } from \"./providers/BackfillCacheProvider.js\";\nexport { RemoteFallbackCacheProvider } from \"./providers/RemoteFallbackCacheProvider.js\";\nexport type { CacheOptions } from \"@lage-run/config\";\nexport type { CacheProvider } from \"./types/CacheProvider.js\";\n\nexport { getCacheDirectory, getLogsCacheDirectory, getCacheDirectoryRoot } from \"./getCacheDirectory.js\";\n"],"names":["BackfillCacheProvider","RemoteFallbackCacheProvider","getCacheDirectory","getCacheDirectoryRoot","getLogsCacheDirectory"],"mappings":";;;;;;;;;;;IAASA,qBAAqB;eAArBA,4CAAqB;;IACrBC,2BAA2B;eAA3BA,wDAA2B;;IAI3BC,iBAAiB;eAAjBA,oCAAiB;;IAAyBC,qBAAqB;eAArBA,wCAAqB;;IAA5CC,qBAAqB;eAArBA,wCAAqB;;;uCALX;6CACM;mCAIoC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { CacheProvider
|
|
1
|
+
import type { CacheProvider } from "../types/CacheProvider.js";
|
|
2
|
+
import type { CacheOptions } from "@lage-run/config";
|
|
2
3
|
import type { Target } from "@lage-run/target-graph";
|
|
3
4
|
import type { Logger } from "@lage-run/logger";
|
|
4
5
|
export interface BackfillCacheProviderOptions {
|
|
5
6
|
root: string;
|
|
6
7
|
logger: Logger;
|
|
7
|
-
cacheOptions: Partial<
|
|
8
|
+
cacheOptions: Partial<CacheOptions>;
|
|
8
9
|
}
|
|
9
10
|
export declare class BackfillCacheProvider implements CacheProvider {
|
|
10
11
|
private options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/providers/BackfillCacheProvider.ts"],"sourcesContent":["import { createBackfillCacheConfig, createBackfillLogger } from \"../backfillWrapper.js\";\nimport { getCacheStorageProvider } from \"backfill-cache\";\nimport { promisify } from \"util\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport type { CacheProvider
|
|
1
|
+
{"version":3,"sources":["../../src/providers/BackfillCacheProvider.ts"],"sourcesContent":["import { createBackfillCacheConfig, createBackfillLogger } from \"../backfillWrapper.js\";\nimport { getCacheStorageProvider } from \"backfill-cache\";\nimport { promisify } from \"util\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport type { CacheProvider } from \"../types/CacheProvider.js\";\nimport type { CacheOptions } from \"@lage-run/config\";\nimport type { Logger as BackfillLogger } from \"backfill-logger\";\nimport type { Target } from \"@lage-run/target-graph\";\nimport type { Logger } from \"@lage-run/logger\";\nimport { getCacheDirectory, getCacheDirectoryRoot } from \"../getCacheDirectory.js\";\nimport { chunkPromise } from \"../chunkPromise.js\";\n\nconst rm = promisify(fs.rm);\nconst readdir = promisify(fs.readdir);\nconst stat = promisify(fs.stat);\n\nconst MS_IN_A_DAY = 1000 * 60 * 60 * 24;\n\nexport interface BackfillCacheProviderOptions {\n root: string;\n logger: Logger;\n cacheOptions: Partial<CacheOptions>;\n}\n\nexport class BackfillCacheProvider implements CacheProvider {\n /**\n * logger for backfill\n */\n private backfillLogger: BackfillLogger;\n\n private getTargetCacheStorageProvider(cwd: string, hash: string) {\n const { cacheOptions } = this.options;\n const { cacheStorageConfig, incrementalCaching } = createBackfillCacheConfig(cwd, cacheOptions, this.backfillLogger);\n\n const cachePath = this.getCachePath(cwd, hash);\n\n return getCacheStorageProvider(cacheStorageConfig ?? { provider: \"local\" }, cachePath, this.backfillLogger, cwd, incrementalCaching);\n }\n\n constructor(private options: BackfillCacheProviderOptions) {\n this.backfillLogger = createBackfillLogger();\n }\n\n async fetch(hash: string, target: Target): Promise<boolean> {\n const { logger } = this.options;\n\n if (!hash) {\n return false;\n }\n\n const cacheStorage = this.getTargetCacheStorageProvider(target.cwd, hash);\n\n try {\n return await cacheStorage.fetch(hash);\n } catch (error) {\n let message;\n\n if (error instanceof Error) {\n message = error.message;\n } else message = String(error);\n\n logger.silly(`Cache fetch failed: ${message}`, { target });\n\n // backfill fetch can error, but we should simply ignore and continue\n return false;\n }\n }\n\n async put(hash: string, target: Target): Promise<void> {\n const { logger } = this.options;\n\n if (!hash) {\n return;\n }\n\n const cacheStorage = this.getTargetCacheStorageProvider(target.cwd, hash);\n\n try {\n await cacheStorage.put(hash, target.outputs ?? this.options.cacheOptions.outputGlob ?? [\"**/*\"]);\n } catch (error) {\n let message;\n\n if (error instanceof Error) {\n message = error.message;\n } else message = String(error);\n\n logger.silly(`Cache fetch failed: ${message}`, { target });\n\n // backfill throws an error if outputGlob doesn't match any files, we will skip this error\n }\n }\n\n async clear(concurrency = 10): Promise<void> {\n return this.purge(0, concurrency);\n }\n\n async purge(prunePeriod = 30, concurrency = 10): Promise<void> {\n const now = new Date();\n\n const cacheTypes = [\"cache\", \"logs\"];\n const entries: string[] = [];\n\n for (const cacheType of cacheTypes) {\n const cacheTypeDirectory = path.join(getCacheDirectoryRoot(this.options.root), cacheType);\n if (fs.existsSync(cacheTypeDirectory)) {\n const hashPrefixes = await readdir(cacheTypeDirectory);\n for (const prefix of hashPrefixes) {\n const cachePath = path.join(cacheTypeDirectory, prefix);\n entries.push(cachePath);\n }\n }\n }\n\n await chunkPromise(\n entries.map((entry) => {\n return async () => {\n const entryPath = entry;\n const entryStat = await stat(entryPath);\n\n if (now.getTime() - entryStat.mtime.getTime() > prunePeriod * MS_IN_A_DAY) {\n await removeCache(entryPath, entryStat);\n }\n };\n }),\n concurrency\n );\n }\n\n getCachePath(packagePath: string, hash: string) {\n return path.relative(packagePath, getCacheDirectory(this.options.root, hash));\n }\n}\n\nasync function removeCache(cachePath: string, entryStat: fs.Stats) {\n if (entryStat.isDirectory()) {\n return rm(cachePath, { recursive: true });\n } else {\n return rm(cachePath);\n }\n}\n"],"names":["BackfillCacheProvider","rm","promisify","fs","readdir","stat","MS_IN_A_DAY","getTargetCacheStorageProvider","cwd","hash","cacheOptions","options","cacheStorageConfig","incrementalCaching","createBackfillCacheConfig","backfillLogger","cachePath","getCachePath","getCacheStorageProvider","provider","fetch","target","logger","cacheStorage","error","message","Error","String","silly","put","outputs","outputGlob","clear","concurrency","purge","prunePeriod","now","Date","cacheTypes","entries","cacheType","cacheTypeDirectory","path","join","getCacheDirectoryRoot","root","existsSync","hashPrefixes","prefix","push","chunkPromise","map","entry","entryPath","entryStat","getTime","mtime","removeCache","packagePath","relative","getCacheDirectory","constructor","createBackfillLogger","isDirectory","recursive"],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type { Target } from "@lage-run/target-graph";
|
|
2
|
-
import type { Config as BackfillCacheOptions } from "backfill-config";
|
|
3
|
-
export type CacheProviderOptions = BackfillCacheOptions;
|
|
4
2
|
export interface CacheProvider {
|
|
5
3
|
fetch(hash: string, target: Target): Promise<boolean>;
|
|
6
4
|
put(hash: string, target: Target): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lage-run/cache",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.13",
|
|
4
4
|
"description": "Cache for Lage",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,16 +18,17 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@azure/identity": "^4.0.1",
|
|
21
|
+
"@lage-run/config": "^0.4.15",
|
|
21
22
|
"@lage-run/logger": "^1.3.1",
|
|
22
|
-
"@lage-run/target-graph": "^0.11.
|
|
23
|
-
"backfill-cache": "5.
|
|
24
|
-
"backfill-config": "6.
|
|
25
|
-
"backfill-logger": "5.
|
|
23
|
+
"@lage-run/target-graph": "^0.11.2",
|
|
24
|
+
"backfill-cache": "5.10.0",
|
|
25
|
+
"backfill-config": "6.6.0",
|
|
26
|
+
"backfill-logger": "5.3.0",
|
|
26
27
|
"glob-hasher": "^1.4.2"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
|
-
"@lage-run/monorepo-fixture": "
|
|
30
|
-
"@lage-run/monorepo-scripts": "
|
|
30
|
+
"@lage-run/monorepo-fixture": "^0.1.0",
|
|
31
|
+
"@lage-run/monorepo-scripts": "^1.0.0"
|
|
31
32
|
},
|
|
32
33
|
"publishConfig": {
|
|
33
34
|
"access": "public"
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { CacheProviderOptions } from "./CacheProvider.js";
|
|
2
|
-
export interface CacheOptions extends CacheProviderOptions {
|
|
3
|
-
/**
|
|
4
|
-
* Whether to write to the remote cache - useful for continuous integration systems to provide build-over-build cache.
|
|
5
|
-
* It is recommended to turn this OFF for local development, turning remote cache to be a build acceleration through remote cache downloads.
|
|
6
|
-
*/
|
|
7
|
-
writeRemoteCache?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Skips local cache entirely - useful for continous integration systems that only relies on a remote cache.
|
|
10
|
-
*/
|
|
11
|
-
skipLocalCache?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* A list of globs to match files whose contents will determine the cache key in addition to the package file contents
|
|
14
|
-
* The globs are relative to the root of the project.
|
|
15
|
-
*/
|
|
16
|
-
environmentGlob?: string[];
|
|
17
|
-
/**
|
|
18
|
-
* The cache key is a custom string that will be concatenated with the package file contents and the environment glob contents
|
|
19
|
-
* to generate the cache key.
|
|
20
|
-
*/
|
|
21
|
-
cacheKey?: string;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|