@nrwl/workspace 13.4.5-beta.3 → 13.4.5
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +6 -5
- package/src/command-line/affected.js +4 -4
- package/src/command-line/affected.js.map +1 -1
- package/src/command-line/dep-graph.js +2 -1
- package/src/command-line/dep-graph.js.map +1 -1
- package/src/command-line/reset.d.ts +1 -1
- package/src/command-line/reset.js +12 -8
- package/src/command-line/reset.js.map +1 -1
- package/src/command-line/run-many.js +2 -2
- package/src/command-line/run-many.js.map +1 -1
- package/src/command-line/run-one.js +2 -2
- package/src/command-line/run-one.js.map +1 -1
- package/src/core/file-utils.d.ts +11 -2
- package/src/core/file-utils.js +177 -19
- package/src/core/file-utils.js.map +1 -1
- package/src/core/hasher/file-hasher.d.ts +24 -2
- package/src/core/hasher/file-hasher.js +86 -12
- package/src/core/hasher/file-hasher.js.map +1 -1
- package/src/core/hasher/git-hasher.d.ts +24 -6
- package/src/core/hasher/git-hasher.js +147 -89
- package/src/core/hasher/git-hasher.js.map +1 -1
- package/src/core/hasher/spawn-process.d.ts +6 -0
- package/src/core/hasher/spawn-process.js +27 -0
- package/src/core/hasher/spawn-process.js.map +1 -0
- package/src/core/nx-deps/nx-deps-cache.d.ts +1 -0
- package/src/core/nx-deps/nx-deps-cache.js +8 -6
- package/src/core/nx-deps/nx-deps-cache.js.map +1 -1
- package/src/core/project-graph/build-project-graph.js +1 -3
- package/src/core/project-graph/build-project-graph.js.map +1 -1
- package/src/core/project-graph/daemon/client/client.js +0 -3
- package/src/core/project-graph/daemon/client/client.js.map +1 -1
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js +44 -49
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js.map +1 -1
- package/src/core/project-graph/daemon/server/server.js +1 -3
- package/src/core/project-graph/daemon/server/server.js.map +1 -1
- package/src/core/project-graph/daemon/tmp-dir.d.ts +4 -0
- package/src/core/project-graph/daemon/tmp-dir.js +45 -2
- package/src/core/project-graph/daemon/tmp-dir.js.map +1 -1
- package/src/core/project-graph/project-graph.js +0 -2
- package/src/core/project-graph/project-graph.js.map +1 -1
- package/src/generators/convert-to-nx-project/convert-to-nx-project.js +1 -3
- package/src/generators/convert-to-nx-project/convert-to-nx-project.js.map +1 -1
- package/src/generators/convert-to-nx-project/schema.d.ts +0 -1
- package/src/generators/convert-to-nx-project/schema.json +0 -5
- package/src/generators/workspace/files/package.json__tmpl__ +1 -1
- package/src/tasks-runner/cache.js +3 -2
- package/src/tasks-runner/cache.js.map +1 -1
- package/src/utilities/cache-directory.d.ts +2 -1
- package/src/utilities/cache-directory.js +3 -3
- package/src/utilities/cache-directory.js.map +1 -1
- package/src/utilities/is_ci.js +0 -1
- package/src/utilities/is_ci.js.map +1 -1
- package/src/utilities/perf-logging.js +1 -1
- package/src/utilities/perf-logging.js.map +1 -1
- package/src/utils/perf-logging.js +1 -1
- package/src/utils/perf-logging.js.map +1 -1
- package/src/utils/versions.js +1 -1
- package/src/core/file-map-utils.d.ts +0 -10
- package/src/core/file-map-utils.js +0 -94
- package/src/core/file-map-utils.js.map +0 -1
- package/src/core/hasher/file-hasher-base.d.ts +0 -12
- package/src/core/hasher/file-hasher-base.js +0 -63
- package/src/core/hasher/file-hasher-base.js.map +0 -1
- package/src/core/hasher/git-based-file-hasher.d.ts +0 -10
- package/src/core/hasher/git-based-file-hasher.js +0 -50
- package/src/core/hasher/git-based-file-hasher.js.map +0 -1
- package/src/core/hasher/node-based-file-hasher.d.ts +0 -7
- package/src/core/hasher/node-based-file-hasher.js +0 -78
- package/src/core/hasher/node-based-file-hasher.js.map +0 -1
@@ -1,94 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.updateProjectFileMap = exports.createProjectFileMap = void 0;
|
4
|
-
const ignore = require('ignore');
|
5
|
-
function sortProjects(workspaceJson) {
|
6
|
-
// Sorting here so `apps/client-e2e` comes before `apps/client` and has
|
7
|
-
// a chance to match prefix first.
|
8
|
-
return Object.keys(workspaceJson.projects).sort((a, b) => {
|
9
|
-
const projectA = workspaceJson.projects[a];
|
10
|
-
const projectB = workspaceJson.projects[b];
|
11
|
-
if (!projectA.root)
|
12
|
-
return -1;
|
13
|
-
if (!projectB.root)
|
14
|
-
return -1;
|
15
|
-
return projectA.root.length > projectB.root.length ? -1 : 1;
|
16
|
-
});
|
17
|
-
}
|
18
|
-
function createProjectFileMap(workspaceJson, allWorkspaceFiles) {
|
19
|
-
const projectFileMap = {};
|
20
|
-
const sortedProjects = sortProjects(workspaceJson);
|
21
|
-
const seen = new Set();
|
22
|
-
for (const projectName of sortedProjects) {
|
23
|
-
projectFileMap[projectName] = [];
|
24
|
-
}
|
25
|
-
for (const f of allWorkspaceFiles) {
|
26
|
-
if (seen.has(f.file))
|
27
|
-
continue;
|
28
|
-
seen.add(f.file);
|
29
|
-
for (const projectName of sortedProjects) {
|
30
|
-
const p = workspaceJson.projects[projectName];
|
31
|
-
if (f.file.startsWith(p.root || p.sourceRoot)) {
|
32
|
-
projectFileMap[projectName].push(f);
|
33
|
-
break;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
}
|
37
|
-
return { projectFileMap, allWorkspaceFiles };
|
38
|
-
}
|
39
|
-
exports.createProjectFileMap = createProjectFileMap;
|
40
|
-
function updateProjectFileMap(workspaceJson, projectFileMap, allWorkspaceFiles, updatedFiles, deletedFiles) {
|
41
|
-
const sortedProjects = sortProjects(workspaceJson);
|
42
|
-
for (let projectName of sortedProjects) {
|
43
|
-
if (!projectFileMap[projectName]) {
|
44
|
-
projectFileMap[projectName] = [];
|
45
|
-
}
|
46
|
-
}
|
47
|
-
for (const f of updatedFiles.keys()) {
|
48
|
-
for (const projectName of sortedProjects) {
|
49
|
-
const p = workspaceJson.projects[projectName];
|
50
|
-
if (f.startsWith(p.root || p.sourceRoot)) {
|
51
|
-
const fileData = projectFileMap[projectName].find((t) => t.file === f);
|
52
|
-
if (fileData) {
|
53
|
-
fileData.hash = updatedFiles.get(f);
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
projectFileMap[projectName].push({
|
57
|
-
file: f,
|
58
|
-
hash: updatedFiles.get(f),
|
59
|
-
});
|
60
|
-
}
|
61
|
-
break;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
const fileData = allWorkspaceFiles.find((t) => t.file === f);
|
65
|
-
if (fileData) {
|
66
|
-
fileData.hash = updatedFiles.get(f);
|
67
|
-
}
|
68
|
-
else {
|
69
|
-
allWorkspaceFiles.push({
|
70
|
-
file: f,
|
71
|
-
hash: updatedFiles.get(f),
|
72
|
-
});
|
73
|
-
}
|
74
|
-
}
|
75
|
-
for (const f of deletedFiles) {
|
76
|
-
for (const projectName of sortedProjects) {
|
77
|
-
const p = workspaceJson.projects[projectName];
|
78
|
-
if (f.startsWith(p.root || p.sourceRoot)) {
|
79
|
-
const index = projectFileMap[projectName].findIndex((t) => t.file === f);
|
80
|
-
if (index > -1) {
|
81
|
-
projectFileMap[projectName].splice(index, 1);
|
82
|
-
}
|
83
|
-
break;
|
84
|
-
}
|
85
|
-
}
|
86
|
-
const index = allWorkspaceFiles.findIndex((t) => t.file === f);
|
87
|
-
if (index > -1) {
|
88
|
-
allWorkspaceFiles.splice(index, 1);
|
89
|
-
}
|
90
|
-
}
|
91
|
-
return { projectFileMap, allWorkspaceFiles };
|
92
|
-
}
|
93
|
-
exports.updateProjectFileMap = updateProjectFileMap;
|
94
|
-
//# sourceMappingURL=file-map-utils.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"file-map-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/core/file-map-utils.ts"],"names":[],"mappings":"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"}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { FileData } from '@nrwl/tao/src/shared/project-graph';
|
2
|
-
export declare abstract class FileHasherBase {
|
3
|
-
protected fileHashes: Map<string, string>;
|
4
|
-
protected isInitialized: boolean;
|
5
|
-
clear(): void;
|
6
|
-
abstract init(): Promise<void>;
|
7
|
-
abstract hashFiles(files: string[]): Promise<Map<string, string>>;
|
8
|
-
ensureInitialized(): Promise<void>;
|
9
|
-
allFileData(): FileData[];
|
10
|
-
incrementalUpdate(updatedFiles: Map<string, string>, deletedFiles?: string[]): void;
|
11
|
-
hashFile(path: string): string;
|
12
|
-
}
|
@@ -1,63 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.FileHasherBase = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const app_root_1 = require("@nrwl/tao/src/utils/app-root");
|
6
|
-
const perf_hooks_1 = require("perf_hooks");
|
7
|
-
const hashing_impl_1 = require("./hashing-impl");
|
8
|
-
class FileHasherBase {
|
9
|
-
constructor() {
|
10
|
-
this.isInitialized = false;
|
11
|
-
}
|
12
|
-
clear() {
|
13
|
-
this.fileHashes = new Map();
|
14
|
-
this.isInitialized = false;
|
15
|
-
}
|
16
|
-
ensureInitialized() {
|
17
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
18
|
-
if (!this.isInitialized) {
|
19
|
-
yield this.init();
|
20
|
-
}
|
21
|
-
});
|
22
|
-
}
|
23
|
-
allFileData() {
|
24
|
-
const res = [];
|
25
|
-
this.fileHashes.forEach((hash, file) => {
|
26
|
-
res.push({
|
27
|
-
file,
|
28
|
-
hash,
|
29
|
-
});
|
30
|
-
});
|
31
|
-
res.sort((x, y) => x.file.localeCompare(y.file));
|
32
|
-
return res;
|
33
|
-
}
|
34
|
-
incrementalUpdate(updatedFiles, deletedFiles = []) {
|
35
|
-
perf_hooks_1.performance.mark('incremental hashing:start');
|
36
|
-
updatedFiles.forEach((hash, filename) => {
|
37
|
-
this.fileHashes.set(filename, hash);
|
38
|
-
});
|
39
|
-
for (const deletedFile of deletedFiles) {
|
40
|
-
this.fileHashes.delete(deletedFile);
|
41
|
-
}
|
42
|
-
perf_hooks_1.performance.mark('incremental hashing:end');
|
43
|
-
perf_hooks_1.performance.measure('incremental hashing', 'incremental hashing:start', 'incremental hashing:end');
|
44
|
-
}
|
45
|
-
hashFile(path) {
|
46
|
-
const relativePath = path.startsWith(app_root_1.appRootPath)
|
47
|
-
? path.substr(app_root_1.appRootPath.length + 1)
|
48
|
-
: path;
|
49
|
-
if (this.fileHashes[relativePath]) {
|
50
|
-
return this.fileHashes[relativePath];
|
51
|
-
}
|
52
|
-
else {
|
53
|
-
try {
|
54
|
-
return hashing_impl_1.defaultHashing.hashFile(path);
|
55
|
-
}
|
56
|
-
catch (_a) {
|
57
|
-
return '';
|
58
|
-
}
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
62
|
-
exports.FileHasherBase = FileHasherBase;
|
63
|
-
//# sourceMappingURL=file-hasher-base.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"file-hasher-base.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/file-hasher-base.ts"],"names":[],"mappings":";;;;AAAA,2DAA2D;AAC3D,2CAAyC;AAEzC,iDAAgD;AAIhD,MAAsB,cAAc;IAApC;QAEY,kBAAa,GAAG,KAAK,CAAC;IAiElC,CAAC;IA/DC,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAMK,iBAAiB;;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;aACnB;QACH,CAAC;KAAA;IAED,WAAW;QACT,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CACf,YAAiC,EACjC,eAAyB,EAAE;QAE3B,wBAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE9C,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACrC;QAED,wBAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,wBAAW,CAAC,OAAO,CACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAW,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACtC;aAAM;YACL,IAAI;gBACF,OAAO,6BAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACtC;YAAC,WAAM;gBACN,OAAO,EAAE,CAAC;aACX;SACF;IACH,CAAC;CACF;AAnED,wCAmEC"}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { FileHasherBase } from './file-hasher-base';
|
2
|
-
export declare class GitBasedFileHasher extends FileHasherBase {
|
3
|
-
/**
|
4
|
-
* For the project graph daemon server use-case we can potentially skip expensive work
|
5
|
-
* by leveraging knowledge of the uncommitted and untracked files, so the init() method
|
6
|
-
* returns a Map containing this data.
|
7
|
-
*/
|
8
|
-
init(): Promise<void>;
|
9
|
-
hashFiles(files: string[]): Promise<Map<string, string>>;
|
10
|
-
}
|
@@ -1,50 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.GitBasedFileHasher = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const app_root_1 = require("@nrwl/tao/src/utils/app-root");
|
6
|
-
const perf_hooks_1 = require("perf_hooks");
|
7
|
-
const git_hasher_1 = require("./git-hasher");
|
8
|
-
const fs_1 = require("fs");
|
9
|
-
const file_hasher_base_1 = require("./file-hasher-base");
|
10
|
-
const ignore = require('ignore');
|
11
|
-
class GitBasedFileHasher extends file_hasher_base_1.FileHasherBase {
|
12
|
-
/**
|
13
|
-
* For the project graph daemon server use-case we can potentially skip expensive work
|
14
|
-
* by leveraging knowledge of the uncommitted and untracked files, so the init() method
|
15
|
-
* returns a Map containing this data.
|
16
|
-
*/
|
17
|
-
init() {
|
18
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
19
|
-
perf_hooks_1.performance.mark('init hashing:start');
|
20
|
-
this.clear();
|
21
|
-
const gitResult = yield (0, git_hasher_1.getFileHashes)(app_root_1.appRootPath);
|
22
|
-
const ignore = getIgnoredGlobs();
|
23
|
-
gitResult.allFiles.forEach((hash, filename) => {
|
24
|
-
if (!ignore.ignores(filename)) {
|
25
|
-
this.fileHashes.set(filename, hash);
|
26
|
-
}
|
27
|
-
});
|
28
|
-
this.isInitialized = true;
|
29
|
-
perf_hooks_1.performance.mark('init hashing:end');
|
30
|
-
perf_hooks_1.performance.measure('init hashing', 'init hashing:start', 'init hashing:end');
|
31
|
-
});
|
32
|
-
}
|
33
|
-
hashFiles(files) {
|
34
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
35
|
-
return (yield (0, git_hasher_1.getGitHashForFiles)(files, app_root_1.appRootPath)).hashes;
|
36
|
-
});
|
37
|
-
}
|
38
|
-
}
|
39
|
-
exports.GitBasedFileHasher = GitBasedFileHasher;
|
40
|
-
function getIgnoredGlobs() {
|
41
|
-
if ((0, fs_1.existsSync)(`${app_root_1.appRootPath}/.nxignore`)) {
|
42
|
-
const ig = ignore();
|
43
|
-
ig.add((0, fs_1.readFileSync)(`${app_root_1.appRootPath}/.nxignore`, 'utf-8'));
|
44
|
-
return ig;
|
45
|
-
}
|
46
|
-
else {
|
47
|
-
return { ignores: (file) => false };
|
48
|
-
}
|
49
|
-
}
|
50
|
-
//# sourceMappingURL=git-based-file-hasher.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"git-based-file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/git-based-file-hasher.ts"],"names":[],"mappings":";;;;AAAA,2DAA2D;AAC3D,2CAAyC;AACzC,6CAAiE;AACjE,2BAA8C;AAC9C,yDAAoD;AAEpD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,MAAa,kBAAmB,SAAQ,iCAAc;IACpD;;;;OAIG;IACG,IAAI;;YACR,wBAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAa,EAAC,sBAAW,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,wBAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,wBAAW,CAAC,OAAO,CACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;QACJ,CAAC;KAAA;IAEK,SAAS,CAAC,KAAe;;YAC7B,OAAO,CAAC,MAAM,IAAA,+BAAkB,EAAC,KAAK,EAAE,sBAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,CAAC;KAAA;CACF;AA7BD,gDA6BC;AAED,SAAS,eAAe;IACtB,IAAI,IAAA,eAAU,EAAC,GAAG,sBAAW,YAAY,CAAC,EAAE;QAC1C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAY,EAAC,GAAG,sBAAW,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;KACX;SAAM;QACL,OAAO,EAAE,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;KAC7C;AACH,CAAC"}
|
@@ -1,78 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.NodeBasedFileHasher = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const app_root_1 = require("@nrwl/tao/src/utils/app-root");
|
6
|
-
const perf_hooks_1 = require("perf_hooks");
|
7
|
-
const path_1 = require("path");
|
8
|
-
const fs_1 = require("fs");
|
9
|
-
const file_hasher_base_1 = require("./file-hasher-base");
|
10
|
-
const devkit_1 = require("@nrwl/devkit");
|
11
|
-
const ignore = require('ignore');
|
12
|
-
class NodeBasedFileHasher extends file_hasher_base_1.FileHasherBase {
|
13
|
-
constructor() {
|
14
|
-
super(...arguments);
|
15
|
-
this.ignoredGlobs = getIgnoredGlobs();
|
16
|
-
}
|
17
|
-
init() {
|
18
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
19
|
-
perf_hooks_1.performance.mark('init hashing:start');
|
20
|
-
this.clear();
|
21
|
-
this.allFilesInDir(app_root_1.appRootPath, true);
|
22
|
-
perf_hooks_1.performance.mark('init hashing:end');
|
23
|
-
perf_hooks_1.performance.measure('init hashing', 'init hashing:start', 'init hashing:end');
|
24
|
-
});
|
25
|
-
}
|
26
|
-
hashFiles(files) {
|
27
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
28
|
-
const r = new Map();
|
29
|
-
for (let f of files) {
|
30
|
-
r.set(f, this.hashFile(f));
|
31
|
-
}
|
32
|
-
return r;
|
33
|
-
});
|
34
|
-
}
|
35
|
-
allFilesInDir(absoluteDirName, recurse = true) {
|
36
|
-
const relDirName = (0, path_1.relative)(app_root_1.appRootPath, absoluteDirName);
|
37
|
-
if (relDirName && this.ignoredGlobs.ignores(relDirName)) {
|
38
|
-
return;
|
39
|
-
}
|
40
|
-
try {
|
41
|
-
(0, fs_1.readdirSync)(absoluteDirName).forEach((c) => {
|
42
|
-
const absoluteChild = (0, path_1.join)(absoluteDirName, c);
|
43
|
-
const relChild = (0, path_1.relative)(app_root_1.appRootPath, absoluteChild);
|
44
|
-
if (this.ignoredGlobs.ignores(relChild)) {
|
45
|
-
return;
|
46
|
-
}
|
47
|
-
try {
|
48
|
-
const s = (0, fs_1.statSync)(absoluteChild);
|
49
|
-
if (!s.isDirectory()) {
|
50
|
-
this.fileHashes.set(relChild, this.hashFile(relChild));
|
51
|
-
}
|
52
|
-
else if (s.isDirectory() && recurse) {
|
53
|
-
this.allFilesInDir(absoluteChild, true);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
catch (e) { }
|
57
|
-
});
|
58
|
-
}
|
59
|
-
catch (e) { }
|
60
|
-
}
|
61
|
-
}
|
62
|
-
exports.NodeBasedFileHasher = NodeBasedFileHasher;
|
63
|
-
function getIgnoredGlobs() {
|
64
|
-
const ig = ignore();
|
65
|
-
ig.add(readFileIfExisting(`${app_root_1.appRootPath}/.gitignore`));
|
66
|
-
ig.add(readFileIfExisting(`${app_root_1.appRootPath}/.nxignore`));
|
67
|
-
ig.add((0, devkit_1.stripIndents) `
|
68
|
-
node_modules
|
69
|
-
tmp
|
70
|
-
dist
|
71
|
-
build
|
72
|
-
`);
|
73
|
-
return ig;
|
74
|
-
}
|
75
|
-
function readFileIfExisting(path) {
|
76
|
-
return (0, fs_1.existsSync)(path) ? (0, fs_1.readFileSync)(path, 'utf-8') : '';
|
77
|
-
}
|
78
|
-
//# sourceMappingURL=node-based-file-hasher.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"node-based-file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/node-based-file-hasher.ts"],"names":[],"mappings":";;;;AAAA,2DAA2D;AAC3D,2CAAyC;AAEzC,+BAAsC;AACtC,2BAAqE;AACrE,yDAAoD;AACpD,yCAA4C;AAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,MAAa,mBAAoB,SAAQ,iCAAc;IAAvD;;QACE,iBAAY,GAAG,eAAe,EAAE,CAAC;IAkDnC,CAAC;IAhDO,IAAI;;YACR,wBAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,CAAC,aAAa,CAAC,sBAAW,EAAE,IAAI,CAAC,CAAC;YAEtC,wBAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,wBAAW,CAAC,OAAO,CACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;QACJ,CAAC;KAAA;IAEK,SAAS,CAAC,KAAe;;YAC7B,MAAM,CAAC,GAAG,IAAI,GAAG,EAAkB,CAAC;YACpC,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;gBACnB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B;YACD,OAAO,CAAC,CAAC;QACX,CAAC;KAAA;IAEO,aAAa,CACnB,eAAuB,EACvB,UAAmB,IAAI;QAEvB,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,sBAAW,EAAE,eAAe,CAAC,CAAC;QAC1D,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACvD,OAAO;SACR;QACD,IAAI;YACF,IAAA,gBAAW,EAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,sBAAW,EAAE,aAAa,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACvC,OAAO;iBACR;gBACD,IAAI;oBACF,MAAM,CAAC,GAAG,IAAA,aAAQ,EAAC,aAAa,CAAC,CAAC;oBAClC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;wBACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;qBACxD;yBAAM,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE;wBACrC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;qBACzC;iBACF;gBAAC,OAAO,CAAC,EAAE,GAAE;YAChB,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE,GAAE;IAChB,CAAC;CACF;AAnDD,kDAmDC;AAED,SAAS,eAAe;IACtB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,sBAAW,aAAa,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,sBAAW,YAAY,CAAC,CAAC,CAAC;IACvD,EAAE,CAAC,GAAG,CAAC,IAAA,qBAAY,EAAA;;;;;KAKhB,CAAC,CAAC;IACL,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC"}
|