| 560 | const { spawnSync } = require('child_process'); |
| 561 | |
| 562 | function setupFakeGlobalInstall() { |
| 563 | // Layout mirroring `npm install -g @evomap/evolver` on macOS Homebrew: |
| 564 | // <root>/.git/ ← outer git that |
| 565 | // must NOT be picked |
| 566 | // <root>/lib/node_modules/@evomap/evolver/ ← fake install |
| 567 | // <root>/lib/node_modules/@evomap/evolver/src/gep/paths.js |
| 568 | const root = fs.mkdtempSync(path.join(os.tmpdir(), 'evolver-541-global-')); |
| 569 | fs.mkdirSync(path.join(root, '.git')); |
| 570 | const installDir = path.join(root, 'lib', 'node_modules', '@evomap', 'evolver'); |
| 571 | const gepDir = path.join(installDir, 'src', 'gep'); |
| 572 | fs.mkdirSync(gepDir, { recursive: true }); |
| 573 | fs.copyFileSync( |
| 574 | path.resolve(__dirname, '..', 'src', 'gep', 'paths.js'), |
| 575 | path.join(gepDir, 'paths.js') |
| 576 | ); |
| 577 | return { root, installDir }; |
| 578 | } |
| 579 | |
| 580 | function setupFakeLocalInstall() { |
| 581 | // Layout mirroring local `npm install @evomap/evolver` in a user project: |