UNPKG

1.11 kBJavaScriptView Raw
1const instrumentSource = require('./instrument-source')
2const fs = require('fs')
3const debug = require('debug')('comment-value')
4
5function instrumentFile (filename, outputFilename) {
6 debug('instrumenting file %s', filename)
7 const source = fs.readFileSync(filename, 'utf8')
8 const instrumented = instrumentSource(source, filename)
9 // TODO move outside
10 function saveResults () {
11 /* global __instrumenter */
12 const fs = require('fs')
13 process.on('exit', function writeResults () {
14 fs.writeFileSync('./results.json',
15 JSON.stringify(__instrumenter, null, 2) + '\n', 'utf8')
16 })
17 }
18 const save = '(' + saveResults.toString() + '())\n'
19 const sep = ';\n'
20 fs.writeFileSync(outputFilename, instrumented + sep + save, 'utf8')
21}
22
23module.exports = instrumentFile
24
25if (!module.parent) {
26 const path = require('path')
27 const sourceFilename = process.argv[2]
28 console.log('updating comment values in', sourceFilename)
29 const fullFilename = path.join(process.cwd(), sourceFilename)
30 const outputFilename = './instrumented.js'
31 instrumentFile(fullFilename, outputFilename)
32}
33