/ scripts / fetch-repos.js
fetch-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  
 9  const repos = [
10    'git@github.com:bablr-lang/agast-helpers.git',
11    'git@github.com:bablr-lang/agast-vm.git',
12    'git@github.com:bablr-lang/agast-vm-helpers.git',
13    'git@github.com:bablr-lang/io-vm-node.git',
14    'git@github.com:bablr-lang/bablr.git',
15    'git@github.com:bablr-lang/bablr-cli.git',
16    'git@github.com:bablr-lang/bablr-helpers.git',
17    'git@github.com:bablr-lang/bablr-vm.git',
18    'git@github.com:bablr-lang/bablr-vm-strategy-parse.git',
19    'git@github.com:bablr-lang/boot.git',
20    'git@github.com:bablr-lang/boot-helpers.git',
21    'git@github.com:bablr-lang/coroutine.git',
22    'git@github.com:bablr-lang/eslint-config-base.git',
23    'git@github.com:bablr-lang/language-en-bablr-cli-verbose-output.git',
24    'git@github.com:bablr-lang/language-en-bablr-vm-instruction.git',
25    'git@github.com:bablr-lang/language-en-blank-space.git',
26    'git@github.com:bablr-lang/language-en-c-comments.git',
27    'git@github.com:bablr-lang/language-en-cstml.git',
28    'git@github.com:bablr-lang/language-en-json.git',
29    'git@github.com:bablr-lang/language-en-regex-vm-pattern.git',
30    'git@github.com:bablr-lang/language-en-spamex.git',
31    'git@github.com:bablr-lang/language_enhancer-debug-log.git',
32    'git@github.com:bablr-lang/macrome.git',
33    'git@github.com:bablr-lang/macrome-generator-bablr.git',
34    'git@github.com:bablr-lang/paneditor.git',
35    'git@github.com:bablr-lang/regex-vm.git',
36    'git@github.com:bablr-lang/strategy_enhancer-debug-log.git',
37    'git@github.com:bablr-lang/weak-stack.git',
38    'git@github.com:bablr-lang/language-uiua.git',
39    'git@github.com:bablr-lang/errawr.git',
40  ];
41  
42  let count = 0;
43  repos.forEach((repo) => {
44    try {
45      gitClient.fetch(repo, 'trunk');
46      console.log(`fetching ${repo.split(':')[1]}`);
47      count++;
48    } catch (error) {
49      throw new Error(error);
50    }
51  });
52  
53  console.log(`Successfully fetched ${count} repos`);