1 | const instrumentSource = require('./instrument-source')
|
2 | const fs = require('fs')
|
3 | const debug = require('debug')('comment-value')
|
4 |
|
5 | function instrumentFile (filename, outputFilename) {
|
6 | debug('instrumenting file %s', filename)
|
7 | const source = fs.readFileSync(filename, 'utf8')
|
8 | const instrumented = instrumentSource(source, filename)
|
9 |
|
10 | function saveResults () {
|
11 |
|
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 |
|
23 | module.exports = instrumentFile
|
24 |
|
25 | if (!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 |
|