@nx/shared-fs-cache 1.3.0-beta.3 → 1.3.0-beta.4
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/package.json +2 -2
- package/src/generators/init/generator.d.ts +3 -0
- package/src/generators/init/generator.js +46 -1
- package/src/generators/init/generator.js.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +16 -1
- package/src/index.js.map +1 -0
- package/src/remote-cache.d.ts +7 -0
- package/src/remote-cache.js +29 -1
- package/src/remote-cache.js.map +1 -0
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nx/shared-fs-cache",
|
3
|
-
"version": "1.3.0-beta.
|
3
|
+
"version": "1.3.0-beta.4",
|
4
4
|
"description": "A Nx plugin to enable you to use a shared file system directory",
|
5
5
|
"type": "commonjs",
|
6
6
|
"main": "src/index.js",
|
@@ -21,7 +21,7 @@
|
|
21
21
|
],
|
22
22
|
"dependencies": {
|
23
23
|
"@nx/devkit": ">= 19 < 21",
|
24
|
-
"@nx/key": "1.3.0-beta.
|
24
|
+
"@nx/key": "1.3.0-beta.4",
|
25
25
|
"semver": "7.5.4"
|
26
26
|
}
|
27
27
|
}
|
@@ -1 +1,46 @@
|
|
1
|
-
|
1
|
+
import { formatFiles, installPackagesTask, NX_VERSION, readNxJson, updateJson, updateNxJson, workspaceRoot, } from '@nx/devkit';
|
2
|
+
import { autoRegisterNxKey } from '@nx/key';
|
3
|
+
import { gte } from 'semver';
|
4
|
+
import { name as PACKAGE_NAME } from '../../../package.json';
|
5
|
+
export async function initGenerator(tree) {
|
6
|
+
if (!(await autoRegisterNxKey(workspaceRoot))) {
|
7
|
+
return;
|
8
|
+
}
|
9
|
+
enableDbCache(tree);
|
10
|
+
const task = tree.exists('package.json')
|
11
|
+
? updateDependencies(tree)
|
12
|
+
: () => {
|
13
|
+
// noop
|
14
|
+
};
|
15
|
+
await formatFiles(tree);
|
16
|
+
return task;
|
17
|
+
}
|
18
|
+
export default initGenerator;
|
19
|
+
function enableDbCache(tree) {
|
20
|
+
if (gte(NX_VERSION, '20.0.0')) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
const nxJson = readNxJson(tree);
|
24
|
+
nxJson.enableDbCache = true;
|
25
|
+
updateNxJson(tree, nxJson);
|
26
|
+
}
|
27
|
+
function updateDependencies(tree) {
|
28
|
+
let wasUpdated = false;
|
29
|
+
updateJson(tree, 'package.json', (packageJson) => {
|
30
|
+
packageJson.dependencies = packageJson.dependencies || {};
|
31
|
+
packageJson.devDependencies = packageJson.devDependencies || {};
|
32
|
+
if (packageJson.dependencies[PACKAGE_NAME]) {
|
33
|
+
packageJson.devDependencies[PACKAGE_NAME] =
|
34
|
+
packageJson.dependencies[PACKAGE_NAME];
|
35
|
+
delete packageJson.dependencies[PACKAGE_NAME];
|
36
|
+
wasUpdated = true;
|
37
|
+
}
|
38
|
+
return packageJson;
|
39
|
+
});
|
40
|
+
return wasUpdated
|
41
|
+
? () => installPackagesTask(tree)
|
42
|
+
: () => {
|
43
|
+
/* noop */
|
44
|
+
};
|
45
|
+
}
|
46
|
+
//# sourceMappingURL=generator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/nx-packages/shared-fs-cache/src/generators/init/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,UAAU,EAEV,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAU;IAC5C,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACtC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,GAAG,EAAE;YACH,OAAO;QACT,CAAC,CAAC;IAEN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,aAAa,CAAC;AAE7B,SAAS,aAAa,CAAC,IAAU;IAC/B,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAQ,CAAC;IACvC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;IAE5B,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE;QAC/C,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QAC1D,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;QAEhE,IAAI,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC;gBACvC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzC,OAAO,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU;QACf,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,GAAG,EAAE;YACH,UAAU;QACZ,CAAC,CAAC;AACR,CAAC"}
|
package/src/index.d.ts
ADDED
package/src/index.js
CHANGED
@@ -1 +1,16 @@
|
|
1
|
-
|
1
|
+
import { workspaceRoot } from '@nx/devkit';
|
2
|
+
import { assertFeaturePermission, FeaturePermission, getNxKeyInformationAsync, } from '@nx/key';
|
3
|
+
import { isCI } from 'nx/src/utils/is-ci';
|
4
|
+
import { SharedFsCache } from './remote-cache';
|
5
|
+
export async function getRemoteCache() {
|
6
|
+
const key = await getNxKeyInformationAsync(workspaceRoot);
|
7
|
+
if (!isCI() || !key) {
|
8
|
+
return null;
|
9
|
+
}
|
10
|
+
assertFeaturePermission(key, FeaturePermission.SelfHostedCache);
|
11
|
+
/**
|
12
|
+
* This is the same cache that is used by Nx but with a different database which is within the cache directory.
|
13
|
+
*/
|
14
|
+
return new SharedFsCache();
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/nx-packages/shared-fs-cache/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAEhE;;OAEG;IACH,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { CachedResult } from 'nx/src/native';
|
2
|
+
import { RemoteCacheV2 } from 'nx/src/tasks-runner/default-tasks-runner';
|
3
|
+
export declare class SharedFsCache implements RemoteCacheV2 {
|
4
|
+
private cache;
|
5
|
+
retrieve(hash: string): Promise<CachedResult | null>;
|
6
|
+
store(hash: string, _: string, terminalOutput: string, code: number): Promise<boolean>;
|
7
|
+
}
|
package/src/remote-cache.js
CHANGED
@@ -1 +1,29 @@
|
|
1
|
-
|
1
|
+
import { cacheDir, workspaceRoot } from '@nx/devkit';
|
2
|
+
import { renameSync, rmdirSync } from 'fs';
|
3
|
+
import { NxCache } from 'nx/src/native';
|
4
|
+
import { getDbConnection } from 'nx/src/utils/db-connection';
|
5
|
+
import { join } from 'path';
|
6
|
+
export class SharedFsCache {
|
7
|
+
cache = new NxCache(workspaceRoot, cacheDir, getDbConnection({
|
8
|
+
directory: cacheDir,
|
9
|
+
dbName: 'shared',
|
10
|
+
}), false);
|
11
|
+
async retrieve(hash) {
|
12
|
+
return this.cache.get(hash);
|
13
|
+
}
|
14
|
+
async store(hash, _, terminalOutput, code) {
|
15
|
+
try {
|
16
|
+
const hashPath = join(this.cache.cacheDirectory, hash);
|
17
|
+
const tmpBackup = hashPath + '-backup';
|
18
|
+
renameSync(hashPath, tmpBackup);
|
19
|
+
this.cache.put(hash, terminalOutput, [], code);
|
20
|
+
rmdirSync(hashPath, { recursive: true });
|
21
|
+
renameSync(tmpBackup, hashPath);
|
22
|
+
return true;
|
23
|
+
}
|
24
|
+
catch (e) {
|
25
|
+
return false;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
//# sourceMappingURL=remote-cache.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"remote-cache.js","sourceRoot":"","sources":["../../../../../libs/nx-packages/shared-fs-cache/src/remote-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAgB,OAAO,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,OAAO,aAAa;IAChB,KAAK,GAAG,IAAI,OAAO,CACzB,aAAa,EACb,QAAQ,EACR,eAAe,CAAC;QACd,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;KACjB,CAAC,EACF,KAAK,CACN,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,CAAS,EACT,cAAsB,EACtB,IAAY;QAEZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;YACvC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|