/ scripts / link-packages.js
link-packages.js
 1  #! /usr/bin/env node
 2  
 3  import { readFile, readdir, stat, unlink } from 'fs/promises';
 4  import { local } from './utils/path.js';
 5  
 6  for (const repo of await readdir(local`repos`)) {
 7    const stats = await stat(local`repos/${repo}`);
 8  
 9    if (!repo.startsWith('.') && stats.isDirectory()) {
10      let pkg;
11  
12      try {
13        pkg = JSON.parse(await readFile(local`repos/${repo}/package.json`, 'utf-8'));
14      } catch (e) {}
15  
16      if (pkg?.name) {
17        let modules = [];
18  
19        try {
20          modules = await readdir(local`repos/${repo}/node_modules/@bablr`);
21        } catch (e) {}
22  
23        for (const module_ of modules) {
24          await unlink(local`repos/${repo}/node_modules/@bablr/${module_}`);
25        }
26  
27        try {
28          await unlink(local`repos/${repo}/node_modules/bablr`);
29        } catch (e) {}
30  
31        try {
32          await unlink(local`repos/${repo}/node_modules/.bin/bablr`);
33        } catch (e) {}
34  
35        try {
36          await unlink(local`repos/${repo}/node_modules/.bin/macrome`);
37        } catch (e) {}
38      }
39    }
40  }