-
Notifications
You must be signed in to change notification settings - Fork 0
/
generate-abi.js
30 lines (26 loc) · 984 Bytes
/
generate-abi.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
const fs = require('fs')
const path = require('path')
const { exec } = require('child_process')
const directoryPath = path.join(__dirname, 'nabla-abi')
fs.readdir(directoryPath, (err, files) => {
if (err) {
console.error('Error reading directory:', err)
return
}
files.forEach((file) => {
if (path.extname(file) === '.json') {
const fileNameWithoutExt = path.basename(file, '.json')
const command = `npx squid-ink-typegen --abi nabla-abi/${file} --output src/abi/${fileNameWithoutExt}.ts`
exec(command, (error, stdout, stderr) => {
if (error) {
console.error(`Error executing command: ${error}`)
return
}
if (stderr) {
console.error(`Error in command output: ${stderr}`)
}
console.log(`ABI file generated for ${fileNameWithoutExt}`)
})
}
})
})