forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdedupe.js
32 lines (24 loc) · 839 Bytes
/
dedupe.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//@ts-check
var fs = require('fs')
var cp = require('child_process')
var path = require('path')
var jscompDir = path.join(__dirname,'..','jscomp')
var sourceDirs = ['stubs', 'ext', 'common', 'syntax', 'depends', 'core', 'super_errors', 'outcome_printer', 'bsb', 'ounit', 'ounit_tests', 'main']
var files = cp.execSync(`git ls-files ${sourceDirs.join(' ')}`, {cwd : jscompDir, encoding : 'utf8'})
var filesPath =
files.split('\n')
/**
* @type {Map<string,string>}
*/
var collection = new Map
for (let file of filesPath){
let base = path.basename(file)
if(collection.has(base)){
if(base.endsWith('.ml') && !file.includes('templates')){
console.log(`duplicate ${base} : ${collection.get(base)} vs ${file}`)
}
} else {
collection.set(base,file)
}
}
debugger