mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-02-01 05:16:10 +01:00
40 lines
1013 B
JavaScript
40 lines
1013 B
JavaScript
|
const { resolve } = require('path')
|
||
|
const { existsSync } = require('fs')
|
||
|
const program = require('commander')
|
||
|
|
||
|
program
|
||
|
.option('-g, --grep []', 'Add grep pattern to filter running benchmarks')
|
||
|
.option('-c, --config [file]', 'Add config to filter running benchmarks')
|
||
|
.parse(process.argv)
|
||
|
|
||
|
const { grep } = program
|
||
|
|
||
|
if (grep) {
|
||
|
const pattern = new RegExp(grep)
|
||
|
|
||
|
module.exports.include = {
|
||
|
slate: pattern,
|
||
|
'slate-html-serializer': pattern,
|
||
|
'slate-plain-serializer': pattern,
|
||
|
'slate-react': pattern,
|
||
|
}
|
||
|
} else {
|
||
|
let { config = 'tmp/benchmark-config.js' } = program
|
||
|
config = resolve(config)
|
||
|
|
||
|
const userConfig = existsSync(config) ? require(config) : {}
|
||
|
|
||
|
if (userConfig.include) {
|
||
|
module.exports.include = userConfig.include
|
||
|
} else if (userConfig.default) {
|
||
|
module.exports.inlcude = userConfig.default
|
||
|
} else {
|
||
|
module.exports.include = {
|
||
|
slate: /^/,
|
||
|
'slate-html-serializer': /^/,
|
||
|
'slate-plain-serializer': /^/,
|
||
|
'slate-react': /^/,
|
||
|
}
|
||
|
}
|
||
|
}
|