@nrwl/workspace 12.9.0-rc.0 → 12.10.0-beta.3

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.
Files changed (71) hide show
  1. package/package.json +9 -6
  2. package/src/command-line/dep-graph.d.ts +1 -0
  3. package/src/command-line/dep-graph.js +6 -4
  4. package/src/command-line/dep-graph.js.map +1 -1
  5. package/src/command-line/examples.d.ts +5 -0
  6. package/src/command-line/examples.js +303 -0
  7. package/src/command-line/examples.js.map +1 -0
  8. package/src/command-line/nx-commands.d.ts +1 -1
  9. package/src/command-line/nx-commands.js +42 -24
  10. package/src/command-line/nx-commands.js.map +1 -1
  11. package/src/core/dep-graph/main.es5.js +1 -1
  12. package/src/core/dep-graph/main.esm.js +1 -1
  13. package/src/core/dep-graph/styles.css +1 -1
  14. package/src/core/file-graph/project-file-map.js +1 -1
  15. package/src/core/file-graph/project-file-map.js.map +1 -1
  16. package/src/core/file-utils.js +1 -1
  17. package/src/core/file-utils.js.map +1 -1
  18. package/src/core/hasher/file-hasher.d.ts +20 -3
  19. package/src/core/hasher/file-hasher.js +39 -6
  20. package/src/core/hasher/file-hasher.js.map +1 -1
  21. package/src/core/hasher/git-hasher.d.ts +24 -1
  22. package/src/core/hasher/git-hasher.js +47 -22
  23. package/src/core/hasher/git-hasher.js.map +1 -1
  24. package/src/core/hasher/spawn-process.d.ts +6 -0
  25. package/src/core/hasher/spawn-process.js +22 -0
  26. package/src/core/hasher/spawn-process.js.map +1 -0
  27. package/src/core/project-graph/daemon/exec/index.js +9 -9
  28. package/src/core/project-graph/daemon/exec/index.js.map +1 -1
  29. package/src/core/project-graph/daemon/server.d.ts +9 -1
  30. package/src/core/project-graph/daemon/server.js +189 -43
  31. package/src/core/project-graph/daemon/server.js.map +1 -1
  32. package/src/core/project-graph/project-graph.js +7 -6
  33. package/src/core/project-graph/project-graph.js.map +1 -1
  34. package/src/core/target-project-locator.js +2 -1
  35. package/src/core/target-project-locator.js.map +1 -1
  36. package/src/executors/run-commands/run-commands.impl.js +2 -1
  37. package/src/executors/run-commands/run-commands.impl.js.map +1 -1
  38. package/src/executors/run-script/schema.json +4 -3
  39. package/src/generators/convert-to-nx-project/convert-to-nx-project.js +1 -1
  40. package/src/generators/convert-to-nx-project/convert-to-nx-project.js.map +1 -1
  41. package/src/generators/init/init.js +2 -1
  42. package/src/generators/init/init.js.map +1 -1
  43. package/src/generators/init/schema.json +1 -2
  44. package/src/generators/new/new.js +12 -3
  45. package/src/generators/new/new.js.map +1 -1
  46. package/src/generators/new/schema.json +1 -2
  47. package/src/generators/workspace/schema.json +1 -2
  48. package/src/generators/workspace/workspace.js +6 -0
  49. package/src/generators/workspace/workspace.js.map +1 -1
  50. package/src/tasks-runner/cache.d.ts +4 -4
  51. package/src/tasks-runner/cache.js +108 -72
  52. package/src/tasks-runner/cache.js.map +1 -1
  53. package/src/tasks-runner/forked-process-task-runner.d.ts +6 -2
  54. package/src/tasks-runner/forked-process-task-runner.js +31 -17
  55. package/src/tasks-runner/forked-process-task-runner.js.map +1 -1
  56. package/src/tasks-runner/task-orchestrator.js +20 -32
  57. package/src/tasks-runner/task-orchestrator.js.map +1 -1
  58. package/src/tslint/nxEnforceModuleBoundariesRule.js +6 -2
  59. package/src/tslint/nxEnforceModuleBoundariesRule.js.map +1 -1
  60. package/src/utilities/assets.d.ts +1 -0
  61. package/src/utilities/assets.js +4 -2
  62. package/src/utilities/assets.js.map +1 -1
  63. package/src/utilities/default-base.d.ts +2 -0
  64. package/src/utilities/default-base.js +27 -0
  65. package/src/utilities/default-base.js.map +1 -0
  66. package/src/utils/cli-config-utils.js +1 -0
  67. package/src/utils/cli-config-utils.js.map +1 -1
  68. package/src/utils/graph-utils.d.ts +1 -0
  69. package/src/utils/graph-utils.js +13 -1
  70. package/src/utils/graph-utils.js.map +1 -1
  71. package/src/utils/versions.js +1 -1
@@ -1 +1 @@
1
- .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}*{box-sizing:border-box}html{line-height:1.6;font-size:14px;font-family:Montserrat,"Helvetica Neue",sans-serif}button{padding:.5em 1em;border-radius:4px;border:1px solid transparent;font-size:1em;line-height:1;text-align:center;transition:opacity .2s ease;text-decoration:none;transform:scale(1);display:inline-block;cursor:pointer;background-color:#143055;color:#fff}button:hover{opacity:.8}button.icon{width:1.5em;height:1.5em;padding:0;text-align:center;line-height:50%}button.icon svg{width:1.25em;height:1.25em}.form-line{display:flex;align-items:center;justify-content:center}.form-line label{flex:1}.flex{display:flex}.flex button{flex:1}.flex button:not(:last-child){margin-right:1.5em}label{display:inline-block;margin:.5em 0}h4,h5{margin-top:0;margin-bottom:.5em}.form-group{margin-bottom:1em}.sidebar{min-width:260px;max-width:calc(50% - 10px);z-index:1;position:relative;height:100%;box-shadow:2px 0 2px rgba(51,51,51,.1);transition:margin-left .5s}.sidebar.hidden .sidebar-hide-button:after{content:"»"}.sidebar .sidebar-hide-button{content:"<<";background-color:#fff;border-top:1px solid;border-right:1px solid;border-bottom:1px solid;border-color:rgba(51,51,51,.3);color:rgba(51,51,51,.6);position:absolute;top:10px;text-decoration:none;padding:10px;border-radius:0 5px 5px 0;box-shadow:2px 0 2px rgba(51,51,51,.1)}.sidebar .sidebar-hide-button:after{content:"«"}.sidebar>.sidebar-content{box-sizing:border-box;height:100%;overflow-y:auto;padding:1.5em;width:100%}.sidebar>.sidebar-content>.sidebar-section{margin-bottom:1em}.sidebar>.sidebar-content h5{color:#086c9f}.sidebar>.sidebar-content .form-line{display:flex}.sidebar>.sidebar-content .form-line label{flex:1}#main-content{flex:1;overflow:hidden}#debugger-panel{display:none;width:100%;background-color:#96d8e9;padding:1.5em;align-items:baseline}#debugger-panel>*{margin-right:1em}#debugger-panel p{margin:0}#apps,#e2e,#libs{padding:0;list-style:none}#apps,#e2e input,#libs{padding-right:8px}#app,body,html{height:100%;margin:0;overflow:hidden;padding:0;width:100%}#app{display:flex}.tippy-box[data-theme~=nx]{background-color:#086c9f}.tippy-box[data-theme~=nx] .tippy-content{padding:1.5em}.tippy-box[data-theme~=nx][data-placement^=top]>.tippy-arrow::before{border-top-color:#086c9f}.tippy-box[data-theme~=nx][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:#086c9f}.tippy-box[data-theme~=nx][data-placement^=left]>.tippy-arrow::before{border-left-color:#086c9f}.tippy-box[data-theme~=nx][data-placement^=right]>.tippy-arrow::before{border-right-color:#086c9f}.tag{padding:.5rem;font-size:.75em;display:inline-block;border:1px solid #96d8e9;text-transform:uppercase;color:#fff;line-height:1;letter-spacing:.5px;margin-right:.4em}#no-projects-chosen{display:flex;width:100%;height:100%;align-items:center;justify-content:center}#graph-container{width:100%;height:100%}
1
+ .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}*{box-sizing:border-box}html{line-height:1.6;font-size:14px;font-family:Montserrat,"Helvetica Neue",sans-serif}button{padding:.5em 1em;border-radius:4px;border:1px solid transparent;font-size:1em;line-height:1;text-align:center;transition:opacity .2s ease;text-decoration:none;transform:scale(1);display:inline-block;cursor:pointer;background-color:#143055;color:#fff}button:hover{opacity:.8}button.icon{width:1.5em;height:1.5em;padding:0;text-align:center;line-height:50%}button.icon svg{width:1.25em;height:1.25em}.form-line{display:flex;align-items:center;justify-content:center}.form-line label{flex:1}.flex{display:flex}.flex button{flex:1}.flex button:not(:last-child){margin-right:1.5em}label{margin:.5em 0;display:block}h4,h5{margin-top:0;margin-bottom:.5em}.form-group{margin-bottom:1em}.sidebar{min-width:260px;max-width:calc(50% - 10px);z-index:1;position:relative;height:100%;box-shadow:2px 0 2px rgba(51,51,51,.1);transition:margin-left .5s}.sidebar.hidden .sidebar-hide-button:after{content:"»"}.sidebar .sidebar-hide-button{content:"<<";background-color:#fff;border-top:1px solid;border-right:1px solid;border-bottom:1px solid;border-color:rgba(51,51,51,.3);color:rgba(51,51,51,.6);position:absolute;top:10px;text-decoration:none;padding:10px;border-radius:0 5px 5px 0;box-shadow:2px 0 2px rgba(51,51,51,.1)}.sidebar .sidebar-hide-button:after{content:"«"}.sidebar>.sidebar-content{box-sizing:border-box;height:100%;overflow-y:auto;padding:1.5em;width:100%}.sidebar>.sidebar-content>.sidebar-section{margin-bottom:1em}.sidebar>.sidebar-content h5{color:#086c9f}.sidebar>.sidebar-content .form-line{display:flex}.sidebar>.sidebar-content .form-line label{flex:1}#main-content{flex:1;overflow:hidden}#debugger-panel{display:none;width:100%;background-color:#96d8e9;padding:1.5em;align-items:baseline}#debugger-panel>*{margin-right:1em}#debugger-panel p{margin:0}#apps,#e2e,#libs{padding:0;list-style:none}#apps,#e2e input,#libs{padding-right:8px}#app,body,html{height:100%;margin:0;overflow:hidden;padding:0;width:100%}#app{display:flex}.tippy-box[data-theme~=nx]{background-color:#086c9f}.tippy-box[data-theme~=nx] .tippy-content{padding:1.5em}.tippy-box[data-theme~=nx][data-placement^=top]>.tippy-arrow::before{border-top-color:#086c9f}.tippy-box[data-theme~=nx][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:#086c9f}.tippy-box[data-theme~=nx][data-placement^=left]>.tippy-arrow::before{border-left-color:#086c9f}.tippy-box[data-theme~=nx][data-placement^=right]>.tippy-arrow::before{border-right-color:#086c9f}.tag{padding:.5rem;font-size:.75em;display:inline-block;border:1px solid #96d8e9;text-transform:uppercase;color:#fff;line-height:1;letter-spacing:.5px;margin-right:.4em}#no-projects-chosen{display:flex;width:100%;height:100%;align-items:center;justify-content:center}#graph-container{width:100%;height:100%}input[type=number],input[type=text]{padding:.5em 1em;border-radius:4px;border:1px solid #231f20}span.search-depth{display:inline-block;width:2em;text-align:center}
@@ -23,7 +23,7 @@ function createProjectFileMap(workspaceJson, files) {
23
23
  if (seen.has(f.file)) {
24
24
  return;
25
25
  }
26
- if (f.file.startsWith(p.root)) {
26
+ if (f.file.startsWith(p.root || p.sourceRoot)) {
27
27
  fileMap[projectName].push(f);
28
28
  seen.add(f.file);
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-file-map.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/file-graph/project-file-map.ts"],"names":[],"mappings":";;;AAEA,SAAgB,oBAAoB,CAClC,aAAkB,EAClB,KAAiB;IAEjB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,uEAAuE;IACvE,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACpB,OAAO;aACR;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC;AACjB,CAAC;AA9BD,oDA8BC"}
1
+ {"version":3,"file":"project-file-map.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/file-graph/project-file-map.ts"],"names":[],"mappings":";;;AAEA,SAAgB,oBAAoB,CAClC,aAAkB,EAClB,KAAiB;IAEjB,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,uEAAuE;IACvE,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACpB,OAAO;aACR;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC7C,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACL,OAAO,OAAO,CAAC;AACjB,CAAC;AA9BD,oDA8BC"}
@@ -228,7 +228,7 @@ function readWorkspaceFiles(projectGraphVersion = '3.0') {
228
228
  perf_hooks_1.performance.mark('read workspace files:start');
229
229
  if (file_hasher_1.defaultFileHasher.usesGitForHashing) {
230
230
  const ignoredGlobs = getIgnoredGlobs();
231
- const r = file_hasher_1.defaultFileHasher.workspaceFiles
231
+ const r = Array.from(file_hasher_1.defaultFileHasher.workspaceFiles)
232
232
  .filter((f) => !ignoredGlobs.ignores(f))
233
233
  .map((f) => project_graph_1.projectFileDataCompatAdapter(getFileData(`${app_root_1.appRootPath}/${f}`), projectGraphVersion));
234
234
  perf_hooks_1.performance.mark('read workspace files:end');
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/core/file-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/core/file-utils.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,32 @@ export declare class FileHasher {
4
4
  fileHashes: {
5
5
  [path: string]: string;
6
6
  };
7
- workspaceFiles: string[];
7
+ workspaceFiles: Set<string>;
8
8
  usesGitForHashing: boolean;
9
9
  private isInitialized;
10
10
  constructor(hashing: HashingImpl);
11
11
  clear(): void;
12
- init(): void;
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(): Map<string, string>;
18
+ /**
19
+ * This method is used in cases where we do not want to fully tear down the
20
+ * known state of file hashes, and instead only want to hash the currently
21
+ * uncommitted (both staged and unstaged) non-deleted files.
22
+ *
23
+ * For example, the daemon server can cache the last known commit SHA in
24
+ * memory and avoid calling init() by using this method instead when that
25
+ * SHA is unchanged.
26
+ *
27
+ * @returns The Map of filenames to hashes returned by getUntrackedAndUncommittedFileHashes()
28
+ */
29
+ incrementalUpdate(): Map<string, string>;
13
30
  hashFile(path: string): string;
14
31
  ensureInitialized(): void;
15
- private getHashesFromGit;
32
+ private applyFileHashes;
16
33
  private processPath;
17
34
  }
18
35
  export declare const defaultFileHasher: FileHasher;
@@ -9,23 +9,56 @@ class FileHasher {
9
9
  constructor(hashing) {
10
10
  this.hashing = hashing;
11
11
  this.fileHashes = {};
12
- this.workspaceFiles = [];
12
+ this.workspaceFiles = new Set();
13
13
  this.usesGitForHashing = false;
14
14
  this.isInitialized = false;
15
15
  }
16
16
  clear() {
17
17
  this.fileHashes = {};
18
- this.workspaceFiles = [];
18
+ this.workspaceFiles = new Set();
19
19
  this.usesGitForHashing = false;
20
20
  }
21
+ /**
22
+ * For the project graph daemon server use-case we can potentially skip expensive work
23
+ * by leveraging knowledge of the uncommitted and untracked files, so the init() method
24
+ * returns a Map containing this data.
25
+ */
21
26
  init() {
22
27
  perf_hooks_1.performance.mark('init hashing:start');
23
28
  this.clear();
24
- this.getHashesFromGit();
29
+ const getFileHashesResult = git_hasher_1.getFileHashes(app_root_1.appRootPath);
30
+ this.applyFileHashes(getFileHashesResult.allFiles);
25
31
  this.usesGitForHashing = Object.keys(this.fileHashes).length > 0;
26
32
  this.isInitialized = true;
27
33
  perf_hooks_1.performance.mark('init hashing:end');
28
34
  perf_hooks_1.performance.measure('init hashing', 'init hashing:start', 'init hashing:end');
35
+ return getFileHashesResult.untrackedUncommittedFiles;
36
+ }
37
+ /**
38
+ * This method is used in cases where we do not want to fully tear down the
39
+ * known state of file hashes, and instead only want to hash the currently
40
+ * uncommitted (both staged and unstaged) non-deleted files.
41
+ *
42
+ * For example, the daemon server can cache the last known commit SHA in
43
+ * memory and avoid calling init() by using this method instead when that
44
+ * SHA is unchanged.
45
+ *
46
+ * @returns The Map of filenames to hashes returned by getUntrackedAndUncommittedFileHashes()
47
+ */
48
+ incrementalUpdate() {
49
+ perf_hooks_1.performance.mark('incremental hashing:start');
50
+ const untrackedAndUncommittedFileHashes = git_hasher_1.getUntrackedAndUncommittedFileHashes(app_root_1.appRootPath);
51
+ untrackedAndUncommittedFileHashes.forEach((hash, filename) => {
52
+ this.fileHashes[filename] = hash;
53
+ /**
54
+ * we have to store it separately because fileHashes can be modified
55
+ * later on and can contain files that do not exist in the workspace
56
+ */
57
+ this.workspaceFiles.add(filename);
58
+ });
59
+ perf_hooks_1.performance.mark('incremental hashing:end');
60
+ perf_hooks_1.performance.measure('incremental hashing', 'incremental hashing:start', 'incremental hashing:end');
61
+ return untrackedAndUncommittedFileHashes;
29
62
  }
30
63
  hashFile(path) {
31
64
  this.ensureInitialized();
@@ -42,15 +75,15 @@ class FileHasher {
42
75
  this.init();
43
76
  }
44
77
  }
45
- getHashesFromGit() {
78
+ applyFileHashes(allFiles) {
46
79
  const sliceIndex = app_root_1.appRootPath.length + 1;
47
- git_hasher_1.getFileHashes(app_root_1.appRootPath).forEach((hash, filename) => {
80
+ allFiles.forEach((hash, filename) => {
48
81
  this.fileHashes[filename.substr(sliceIndex)] = hash;
49
82
  /**
50
83
  * we have to store it separately because fileHashes can be modified
51
84
  * later on and can contain files that do not exist in the workspace
52
85
  */
53
- this.workspaceFiles.push(filename.substr(sliceIndex));
86
+ this.workspaceFiles.add(filename.substr(sliceIndex));
54
87
  });
55
88
  }
56
89
  processPath(path) {
@@ -1 +1 @@
1
- {"version":3,"file":"file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/file-hasher.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAC3D,2CAAyC;AACzC,6CAA6C;AAC7C,iDAA6D;AAE7D,MAAa,UAAU;IAMrB,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QALjD,eAAU,GAA+B,EAAE,CAAC;QAC5C,mBAAc,GAAa,EAAE,CAAC;QAC9B,sBAAiB,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,KAAK,CAAC;IAEsB,CAAC;IAErD,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAI;QACF,wBAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,wBAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrC,wBAAW,CAAC,OAAO,CACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,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,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,UAAU,GAAG,sBAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,0BAAa,CAAC,sBAAW,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;YACpD;;;eAGG;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,IAAI;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACpC;QAAC,WAAM;YACN,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AAjED,gCAiEC;AAEY,QAAA,iBAAiB,GAAG,IAAI,UAAU,CAAC,6BAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/file-hasher.ts"],"names":[],"mappings":"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"}
@@ -1 +1,24 @@
1
- export declare function getFileHashes(path: string): Map<string, string>;
1
+ export declare function gitRevParseHead(path: string): string;
2
+ /**
3
+ * getFileHashes() figures out both committed changes to the git tree as well as untracked
4
+ * and uncommitted file changes.
5
+ *
6
+ * For some utilities the origin of a file hash (i.e. was it committed or not) is unimportant,
7
+ * but for other tooling like the project graph daemon server it can leverage this distinction
8
+ * when figuring out what expensive work to skip during project graph construction.
9
+ *
10
+ * We therefore return both a Map of all filenames to their hashes, as well as a Map of just
11
+ * the uncommitted/untracked filenames to hashes.
12
+ */
13
+ export declare function getFileHashes(path: string): {
14
+ allFiles: Map<string, string>;
15
+ untrackedUncommittedFiles: Map<string, string>;
16
+ };
17
+ /**
18
+ * This utility is used to return a Map of filenames to hashes, where those filenames come from
19
+ * git's knowledge of:
20
+ *
21
+ * - files which are untracked (newly created)
22
+ * - files which are modified in some way (but NOT deleted) and either staged or unstaged
23
+ */
24
+ export declare function getUntrackedAndUncommittedFileHashes(path: string): Map<string, string>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFileHashes = void 0;
4
- const child_process_1 = require("child_process");
5
- const path_1 = require("path");
3
+ exports.getUntrackedAndUncommittedFileHashes = exports.getFileHashes = exports.gitRevParseHead = void 0;
6
4
  const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const spawn_process_1 = require("./spawn-process");
7
7
  function parseGitLsTree(output) {
8
8
  const changes = new Map();
9
9
  if (output) {
@@ -25,15 +25,15 @@ function parseGitLsTree(output) {
25
25
  return changes;
26
26
  }
27
27
  function parseGitStatus(path) {
28
- const output = spawnProcess('git', ['status', '-s', '-u', '-z', '.'], path);
28
+ const output = spawn_process_1.spawnProcess('git', ['status', '-s', '-u', '-z', '.'], path);
29
29
  const changes = new Map();
30
30
  if (!output) {
31
31
  return changes;
32
32
  }
33
33
  // Because `-z` doesn't respect the relative paths configuration,
34
34
  // we need to manually strip the root path from the filenames.
35
- const prefix = spawnProcess('git', ['rev-parse', '--show-prefix'], path);
36
- var chunks = output.split('\0');
35
+ const prefix = spawn_process_1.spawnProcess('git', ['rev-parse', '--show-prefix'], path);
36
+ const chunks = output.split('\0');
37
37
  for (let i = 0; i < chunks.length; i++) {
38
38
  const chunk = chunks[i];
39
39
  if (chunk.length) {
@@ -51,17 +51,10 @@ function parseGitStatus(path) {
51
51
  }
52
52
  return changes;
53
53
  }
54
- function spawnProcess(command, args, cwd) {
55
- const r = child_process_1.spawnSync(command, args, { cwd, maxBuffer: 50 * 1024 * 1024 });
56
- if (r.status !== 0) {
57
- throw new Error(`Failed to run ${command} ${args.join(' ')}.\n${r.stdout}\n${r.stderr}`);
58
- }
59
- return r.stdout.toString().trimEnd();
60
- }
61
54
  function getGitHashForFiles(filesToHash, path) {
62
55
  const changes = new Map();
63
56
  if (filesToHash.length) {
64
- const hashStdout = spawnProcess('git', ['hash-object', ...filesToHash], path);
57
+ const hashStdout = spawn_process_1.spawnProcess('git', ['hash-object', ...filesToHash], path);
65
58
  const hashes = hashStdout.split('\n');
66
59
  if (hashes.length !== filesToHash.length) {
67
60
  throw new Error(`Passed ${filesToHash.length} file paths to Git to hash, but received ${hashes.length} hashes.`);
@@ -75,8 +68,12 @@ function getGitHashForFiles(filesToHash, path) {
75
68
  return changes;
76
69
  }
77
70
  function gitLsTree(path) {
78
- return parseGitLsTree(spawnProcess('git', ['ls-tree', 'HEAD', '-r', '-z'], path));
71
+ return parseGitLsTree(spawn_process_1.spawnProcess('git', ['ls-tree', 'HEAD', '-r', '-z'], path));
79
72
  }
73
+ function gitRevParseHead(path) {
74
+ return spawn_process_1.spawnProcess('git', ['rev-parse', 'HEAD'], path);
75
+ }
76
+ exports.gitRevParseHead = gitRevParseHead;
80
77
  function gitStatus(path) {
81
78
  const deletedFiles = [];
82
79
  const filesToHash = [];
@@ -107,26 +104,39 @@ function checkForDeletedFiles(path, files, deletedFiles) {
107
104
  filesToHash.push(f);
108
105
  }
109
106
  catch (_a) {
110
- console.warn(`Warning: Fell back to using 'fs' to identify ${f} as deleted. Please open an issue at https://github.com/nrwl/nx so we can investigate.`);
111
- deletedFiles.push(f);
107
+ throw new Error(`Error: Fell back to using 'fs' to identify ${f} as deleted. Please open an issue at https://github.com/nrwl/nx so we can investigate.`);
112
108
  }
113
109
  });
114
110
  return { filesToHash, deletedFiles };
115
111
  }
112
+ /**
113
+ * getFileHashes() figures out both committed changes to the git tree as well as untracked
114
+ * and uncommitted file changes.
115
+ *
116
+ * For some utilities the origin of a file hash (i.e. was it committed or not) is unimportant,
117
+ * but for other tooling like the project graph daemon server it can leverage this distinction
118
+ * when figuring out what expensive work to skip during project graph construction.
119
+ *
120
+ * We therefore return both a Map of all filenames to their hashes, as well as a Map of just
121
+ * the uncommitted/untracked filenames to hashes.
122
+ */
116
123
  function getFileHashes(path) {
117
- const res = new Map();
124
+ const allFiles = new Map();
118
125
  try {
119
126
  const { deletedFiles, status } = gitStatus(path);
120
127
  const m1 = gitLsTree(path);
121
128
  m1.forEach((hash, filename) => {
122
129
  if (deletedFiles.indexOf(filename) === -1) {
123
- res.set(`${path}/${filename}`, hash);
130
+ allFiles.set(`${path}/${filename}`, hash);
124
131
  }
125
132
  });
126
133
  status.forEach((hash, filename) => {
127
- res.set(`${path}/${filename}`, hash);
134
+ allFiles.set(`${path}/${filename}`, hash);
128
135
  });
129
- return res;
136
+ return {
137
+ allFiles,
138
+ untrackedUncommittedFiles: status,
139
+ };
130
140
  }
131
141
  catch (e) {
132
142
  // this strategy is only used for speeding things up.
@@ -135,8 +145,23 @@ function getFileHashes(path) {
135
145
  console.error(`Internal error:`);
136
146
  console.error(e);
137
147
  }
138
- return new Map();
148
+ return {
149
+ allFiles: new Map(),
150
+ untrackedUncommittedFiles: new Map(),
151
+ };
139
152
  }
140
153
  }
141
154
  exports.getFileHashes = getFileHashes;
155
+ /**
156
+ * This utility is used to return a Map of filenames to hashes, where those filenames come from
157
+ * git's knowledge of:
158
+ *
159
+ * - files which are untracked (newly created)
160
+ * - files which are modified in some way (but NOT deleted) and either staged or unstaged
161
+ */
162
+ function getUntrackedAndUncommittedFileHashes(path) {
163
+ const { status } = gitStatus(path);
164
+ return status;
165
+ }
166
+ exports.getUntrackedAndUncommittedFileHashes = getUntrackedAndUncommittedFileHashes;
142
167
  //# sourceMappingURL=git-hasher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-hasher.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/git-hasher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-hasher.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/git-hasher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * We separated this out into its own file to make it much easier to unit test
3
+ * and ensure that ANSI escape codes are appropriately stripped so that utilities
4
+ * in git-hasher work as intended in all cases.
5
+ */
6
+ export declare function spawnProcess(command: string, args: string[], cwd: string): string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.spawnProcess = void 0;
4
+ const child_process_1 = require("child_process");
5
+ // We can't use an import for this package because of how it is published
6
+ const stripAnsi = require('strip-ansi');
7
+ /**
8
+ * We separated this out into its own file to make it much easier to unit test
9
+ * and ensure that ANSI escape codes are appropriately stripped so that utilities
10
+ * in git-hasher work as intended in all cases.
11
+ */
12
+ function spawnProcess(command, args, cwd) {
13
+ const r = child_process_1.spawnSync(command, args, { cwd, maxBuffer: 50 * 1024 * 1024 });
14
+ if (r.status !== 0) {
15
+ throw new Error(`Failed to run ${command} ${args.join(' ')}.\n${r.stdout}\n${r.stderr}`);
16
+ }
17
+ const output = r.stdout.toString().trimEnd();
18
+ // We use strip-ansi to prevent issues such as https://github.com/nrwl/nx/issues/7022
19
+ return stripAnsi(output);
20
+ }
21
+ exports.spawnProcess = spawnProcess;
22
+ //# sourceMappingURL=spawn-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn-process.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/core/hasher/spawn-process.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAE1C,yEAAyE;AACzE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAExC;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,IAAc,EACd,GAAW;IAEX,MAAM,CAAC,GAAG,yBAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,iBAAiB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CACxE,CAAC;KACH;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;IAE7C,qFAAqF;IACrF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAfD,oCAeC"}
@@ -17,9 +17,9 @@ function startInBackground() {
17
17
  * starting the server, as well as providing a reference to where any subsequent
18
18
  * log files can be found.
19
19
  */
20
- const tmpDirPrefix = `nx-daemon--${app_root_1.appRootPath.replace(
21
- // Replace the occurrences of / on unix systems, the \ on windows, with a -
22
- new RegExp(escapeRegExp(path_1.sep), 'g'), '-')}`;
20
+ const tmpDirPrefix = `nx-daemon--${devkit_1.normalizePath(app_root_1.appRootPath).replace(
21
+ // Replace the occurrences of / in the unix-style normalized path with a -
22
+ new RegExp(escapeRegExp('/'), 'g'), '-')}`;
23
23
  const serverLogOutputDir = tmp_1.dirSync({
24
24
  prefix: tmpDirPrefix,
25
25
  }).name;
@@ -35,7 +35,7 @@ function startInBackground() {
35
35
  devkit_1.logger.info(`NX Daemon Server - Starting in a background process...`);
36
36
  devkit_1.logger.log(` Logs from the Daemon process can be found here: ${serverLogOutputFile}\n`);
37
37
  try {
38
- const backgroundProcess = child_process_1.spawn('node', ['./start.js', serverLogOutputFile], {
38
+ const backgroundProcess = child_process_1.spawn(process.execPath, ['./start.js', serverLogOutputFile], {
39
39
  cwd: __dirname,
40
40
  stdio: 'ignore',
41
41
  detached: true,
@@ -51,12 +51,12 @@ function startInBackground() {
51
51
  * Ensure the server is actually available to connect to via IPC before resolving
52
52
  */
53
53
  return new Promise((resolve) => {
54
- const id = setInterval(() => {
55
- if (server_1.isServerAvailable()) {
54
+ const id = setInterval(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
55
+ if (yield server_1.isServerAvailable()) {
56
56
  clearInterval(id);
57
57
  resolve();
58
58
  }
59
- }, 500);
59
+ }), 500);
60
60
  });
61
61
  }
62
62
  catch (err) {
@@ -68,7 +68,7 @@ function startInBackground() {
68
68
  exports.startInBackground = startInBackground;
69
69
  function startInCurrentProcess() {
70
70
  devkit_1.logger.info(`NX Daemon Server - Starting in the current process...`);
71
- child_process_1.spawnSync('node', ['./start.js'], {
71
+ child_process_1.spawnSync(process.execPath, ['./start.js'], {
72
72
  cwd: __dirname,
73
73
  stdio: 'inherit',
74
74
  });
@@ -76,7 +76,7 @@ function startInCurrentProcess() {
76
76
  exports.startInCurrentProcess = startInCurrentProcess;
77
77
  function stop() {
78
78
  devkit_1.logger.info(`NX Daemon Server - Stopping...`);
79
- child_process_1.spawnSync('node', ['./stop.js'], {
79
+ child_process_1.spawnSync(process.execPath, ['./stop.js'], {
80
80
  cwd: __dirname,
81
81
  stdio: 'inherit',
82
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/exec/index.ts"],"names":[],"mappings":";;;;AAAA,yCAAsC;AACtC,2DAA2D;AAC3D,iDAAiD;AACjD,uCAA0C;AAC1C,+BAAiC;AACjC,6BAA8B;AAC9B,oCAIkB;AAClB,sCAA8C;AAE9C,SAAsB,iBAAiB;;QACrC;;;;WAIG;QACH,MAAM,YAAY,GAAG,cAAc,sBAAW,CAAC,OAAO;QACpD,2EAA2E;QAC3E,IAAI,MAAM,CAAC,YAAY,CAAC,UAAG,CAAC,EAAE,GAAG,CAAC,EAClC,GAAG,CACJ,EAAE,CAAC;QACJ,MAAM,kBAAkB,GAAG,aAAO,CAAC;YACjC,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC,IAAI,CAAC;QACR,MAAM,mBAAmB,GAAG,WAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACtE,yBAAc,CAAC,mBAAmB,CAAC,CAAC;QAEpC,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,MAAM,2BAAmB,EAAE,CAAC;QACrD,IAAI,gBAAgB,EAAE;YACpB,IAAI,gBAAgB,CAAC,mBAAmB,EAAE;gBACxC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;aACpD;SACF;QAED,eAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,eAAM,CAAC,GAAG,CACR,qDAAqD,mBAAmB,IAAI,CAC7E,CAAC;QAEF,IAAI;YACF,MAAM,iBAAiB,GAAG,qBAAK,CAC7B,MAAM,EACN,CAAC,YAAY,EAAE,mBAAmB,CAAC,EACnC;gBACE,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,IAAI;aACf,CACF,CAAC;YACF,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAE1B,6FAA6F;YAC7F,MAAM,UAAU,GAAe;gBAC7B,mBAAmB,EAAE,iBAAiB,CAAC,GAAG;gBAC1C,mBAAmB,EAAE,mBAAmB;aACzC,CAAC;YACF,MAAM,4BAAoB,CAAC,UAAU,CAAC,CAAC;YAEvC;;eAEG;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC1B,IAAI,0BAAiB,EAAE,EAAE;wBACvB,aAAa,CAAC,EAAE,CAAC,CAAC;wBAClB,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CAAA;AAhED,8CAgEC;AAED,SAAgB,qBAAqB;IACnC,eAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAErE,yBAAS,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE;QAChC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC;AAPD,sDAOC;AAED,SAAgB,IAAI;IAClB,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE9C,yBAAS,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;QAC/B,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC;AAPD,oBAOC;AAED,6FAA6F;AAC7F,SAAS,YAAY,CAAC,MAAM;IAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;AAC5F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/exec/index.ts"],"names":[],"mappings":";;;;AAAA,yCAAqD;AACrD,2DAA2D;AAC3D,iDAAiD;AACjD,uCAA0C;AAC1C,+BAA4B;AAC5B,6BAA8B;AAC9B,oCAIkB;AAClB,sCAA8C;AAE9C,SAAsB,iBAAiB;;QACrC;;;;WAIG;QACH,MAAM,YAAY,GAAG,cAAc,sBAAa,CAAC,sBAAW,CAAC,CAAC,OAAO;QACnE,0EAA0E;QAC1E,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAClC,GAAG,CACJ,EAAE,CAAC;QACJ,MAAM,kBAAkB,GAAG,aAAO,CAAC;YACjC,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC,IAAI,CAAC;QACR,MAAM,mBAAmB,GAAG,WAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACtE,yBAAc,CAAC,mBAAmB,CAAC,CAAC;QAEpC,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,MAAM,2BAAmB,EAAE,CAAC;QACrD,IAAI,gBAAgB,EAAE;YACpB,IAAI,gBAAgB,CAAC,mBAAmB,EAAE;gBACxC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;aACpD;SACF;QAED,eAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,eAAM,CAAC,GAAG,CACR,qDAAqD,mBAAmB,IAAI,CAC7E,CAAC;QAEF,IAAI;YACF,MAAM,iBAAiB,GAAG,qBAAK,CAC7B,OAAO,CAAC,QAAQ,EAChB,CAAC,YAAY,EAAE,mBAAmB,CAAC,EACnC;gBACE,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,IAAI;aACf,CACF,CAAC;YACF,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAE1B,6FAA6F;YAC7F,MAAM,UAAU,GAAe;gBAC7B,mBAAmB,EAAE,iBAAiB,CAAC,GAAG;gBAC1C,mBAAmB,EAAE,mBAAmB;aACzC,CAAC;YACF,MAAM,4BAAoB,CAAC,UAAU,CAAC,CAAC;YAEvC;;eAEG;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAS,EAAE;oBAChC,IAAI,MAAM,0BAAiB,EAAE,EAAE;wBAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;wBAClB,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAA,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CAAA;AAhED,8CAgEC;AAED,SAAgB,qBAAqB;IACnC,eAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAErE,yBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;QAC1C,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC;AAPD,sDAOC;AAED,SAAgB,IAAI;IAClB,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE9C,yBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;QACzC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;AACL,CAAC;AAPD,oBAOC;AAED,6FAA6F;AAC7F,SAAS,YAAY,CAAC,MAAM;IAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;AAC5F,CAAC"}
@@ -7,7 +7,15 @@ interface StartServerOptions {
7
7
  export declare function startServer({ serverLogOutputFile, }: StartServerOptions): Promise<Server>;
8
8
  export declare function stopServer(): Promise<void>;
9
9
  export declare function killSocketOrPath(): void;
10
- export declare function isServerAvailable(): boolean;
10
+ /**
11
+ * As noted in the comments above the createServer() call, in order to reliably (meaning it works
12
+ * cross-platform) check whether or not the server is availabe to request a project graph from we
13
+ * need to actually attempt connecting to it.
14
+ *
15
+ * Because of the behavior of named pipes on Windows, we cannot simply treat them as a file and
16
+ * check for their existence on disk (unlike with Unix Sockets).
17
+ */
18
+ export declare function isServerAvailable(): Promise<boolean>;
11
19
  /**
12
20
  * Establishes a client connection to the daemon server for use in project graph
13
21
  * creation utilities.