/ scripts / clone-repos.js
clone-repos.js
 1  #! /usr/bin/env node
 2  
 3  import { simpleGit as buildGitClient } from 'simple-git';
 4  
 5  const projectPath = (path = '') => new URL(`../repos/${path}`, import.meta.url);
 6  
 7  const gitClient = buildGitClient({ baseDir: projectPath() });
 8  const repos = [
 9    'git@github.com:bablr-lang/agast-helpers.git',
10    'git@github.com:bablr-lang/agast-vm.git',
11    'git@github.com:bablr-lang/agast-vm-helpers.git',
12    'git@github.com:bablr-lang/io-vm-node.git',
13    'git@github.com:bablr-lang/bablr.git',
14    'git@github.com:bablr-lang/bablr-cli.git',
15    'git@github.com:bablr-lang/bablr-helpers.git',
16    'git@github.com:bablr-lang/bablr-vm.git',
17    'git@github.com:bablr-lang/bablr-vm-strategy-parse.git',
18    'git@github.com:bablr-lang/boot.git',
19    'git@github.com:bablr-lang/boot-helpers.git',
20    'git@github.com:bablr-lang/coroutine.git',
21    'git@github.com:bablr-lang/eslint-config-base.git',
22    'git@github.com:bablr-lang/language-en-bablr-cli-verbose-output.git',
23    'git@github.com:bablr-lang/language-en-bablr-vm-instruction.git',
24    'git@github.com:bablr-lang/language-en-blank-space.git',
25    'git@github.com:bablr-lang/language-en-c-comments.git',
26    'git@github.com:bablr-lang/language-en-cstml.git',
27    'git@github.com:bablr-lang/language-en-json.git',
28    'git@github.com:bablr-lang/language-en-regex-vm-pattern.git',
29    'git@github.com:bablr-lang/language-en-spamex.git',
30    'git@github.com:bablr-lang/language_enhancer-debug-log.git',
31    'git@github.com:bablr-lang/macrome.git',
32    'git@github.com:bablr-lang/macrome-generator-bablr.git',
33    'git@github.com:bablr-lang/paneditor.git',
34    'git@github.com:bablr-lang/regex-vm.git',
35    'git@github.com:bablr-lang/strategy_enhancer-debug-log.git',
36    'git@github.com:bablr-lang/weak-stack.git',
37    'git@github.com:bablr-lang/language-uiua.git',
38    'git@github.com:bablr-lang/errawr.git',
39  ];
40  
41  let count = 0;
42  repos.forEach((repo) => {
43    try {
44      gitClient.clone(repo);
45      console.log(`cloning ${repo.split(':')[1]} into ${projectPath()}`);
46      count++;
47    } catch (error) {
48      throw new Error(error);
49    }
50  });
51  
52  console.log(`Successfully cloned ${count} repos`);