@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.
Files changed (69) hide show
  1. package/package.json +6 -5
  2. package/src/command-line/affected.js +4 -4
  3. package/src/command-line/affected.js.map +1 -1
  4. package/src/command-line/dep-graph.js +2 -1
  5. package/src/command-line/dep-graph.js.map +1 -1
  6. package/src/command-line/reset.d.ts +1 -1
  7. package/src/command-line/reset.js +12 -8
  8. package/src/command-line/reset.js.map +1 -1
  9. package/src/command-line/run-many.js +2 -2
  10. package/src/command-line/run-many.js.map +1 -1
  11. package/src/command-line/run-one.js +2 -2
  12. package/src/command-line/run-one.js.map +1 -1
  13. package/src/core/file-utils.d.ts +11 -2
  14. package/src/core/file-utils.js +177 -19
  15. package/src/core/file-utils.js.map +1 -1
  16. package/src/core/hasher/file-hasher.d.ts +24 -2
  17. package/src/core/hasher/file-hasher.js +86 -12
  18. package/src/core/hasher/file-hasher.js.map +1 -1
  19. package/src/core/hasher/git-hasher.d.ts +24 -6
  20. package/src/core/hasher/git-hasher.js +147 -89
  21. package/src/core/hasher/git-hasher.js.map +1 -1
  22. package/src/core/hasher/spawn-process.d.ts +6 -0
  23. package/src/core/hasher/spawn-process.js +27 -0
  24. package/src/core/hasher/spawn-process.js.map +1 -0
  25. package/src/core/nx-deps/nx-deps-cache.d.ts +1 -0
  26. package/src/core/nx-deps/nx-deps-cache.js +8 -6
  27. package/src/core/nx-deps/nx-deps-cache.js.map +1 -1
  28. package/src/core/project-graph/build-project-graph.js +1 -3
  29. package/src/core/project-graph/build-project-graph.js.map +1 -1
  30. package/src/core/project-graph/daemon/client/client.js +0 -3
  31. package/src/core/project-graph/daemon/client/client.js.map +1 -1
  32. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js +44 -49
  33. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js.map +1 -1
  34. package/src/core/project-graph/daemon/server/server.js +1 -3
  35. package/src/core/project-graph/daemon/server/server.js.map +1 -1
  36. package/src/core/project-graph/daemon/tmp-dir.d.ts +4 -0
  37. package/src/core/project-graph/daemon/tmp-dir.js +45 -2
  38. package/src/core/project-graph/daemon/tmp-dir.js.map +1 -1
  39. package/src/core/project-graph/project-graph.js +0 -2
  40. package/src/core/project-graph/project-graph.js.map +1 -1
  41. package/src/generators/convert-to-nx-project/convert-to-nx-project.js +1 -3
  42. package/src/generators/convert-to-nx-project/convert-to-nx-project.js.map +1 -1
  43. package/src/generators/convert-to-nx-project/schema.d.ts +0 -1
  44. package/src/generators/convert-to-nx-project/schema.json +0 -5
  45. package/src/generators/workspace/files/package.json__tmpl__ +1 -1
  46. package/src/tasks-runner/cache.js +3 -2
  47. package/src/tasks-runner/cache.js.map +1 -1
  48. package/src/utilities/cache-directory.d.ts +2 -1
  49. package/src/utilities/cache-directory.js +3 -3
  50. package/src/utilities/cache-directory.js.map +1 -1
  51. package/src/utilities/is_ci.js +0 -1
  52. package/src/utilities/is_ci.js.map +1 -1
  53. package/src/utilities/perf-logging.js +1 -1
  54. package/src/utilities/perf-logging.js.map +1 -1
  55. package/src/utils/perf-logging.js +1 -1
  56. package/src/utils/perf-logging.js.map +1 -1
  57. package/src/utils/versions.js +1 -1
  58. package/src/core/file-map-utils.d.ts +0 -10
  59. package/src/core/file-map-utils.js +0 -94
  60. package/src/core/file-map-utils.js.map +0 -1
  61. package/src/core/hasher/file-hasher-base.d.ts +0 -12
  62. package/src/core/hasher/file-hasher-base.js +0 -63
  63. package/src/core/hasher/file-hasher-base.js.map +0 -1
  64. package/src/core/hasher/git-based-file-hasher.d.ts +0 -10
  65. package/src/core/hasher/git-based-file-hasher.js +0 -50
  66. package/src/core/hasher/git-based-file-hasher.js.map +0 -1
  67. package/src/core/hasher/node-based-file-hasher.d.ts +0 -7
  68. package/src/core/hasher/node-based-file-hasher.js +0 -78
  69. 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,7 +0,0 @@
1
- import { FileHasherBase } from './file-hasher-base';
2
- export declare class NodeBasedFileHasher extends FileHasherBase {
3
- ignoredGlobs: any;
4
- init(): Promise<void>;
5
- hashFiles(files: string[]): Promise<Map<string, string>>;
6
- private allFilesInDir;
7
- }
@@ -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"}