105 lines
2.8 KiB
JavaScript
105 lines
2.8 KiB
JavaScript
|
/**
|
||
|
* @type {Config}
|
||
|
*
|
||
|
* @typedef Config
|
||
|
* @property {ConfigOptions} options
|
||
|
* @property {ConfigRemote[]} remotes
|
||
|
* @property {Object<string, ConfigCase>} cases
|
||
|
*
|
||
|
* @typedef ConfigOptions
|
||
|
* @property {'tokenize' | 'highlight'} testFunction
|
||
|
* @property {number} maxTime in seconds
|
||
|
* @property {string} [language] An optional comma separated list of languages than, if defined, will be the only
|
||
|
* languages for which the benchmark will be run.
|
||
|
* @property {boolean} [remotesOnly=false] Whether the benchmark will only run with remotes. If `true`, the local
|
||
|
* project will be ignored
|
||
|
*
|
||
|
* @typedef ConfigRemote
|
||
|
* @property {string} repo
|
||
|
* @property {string} [branch='master']
|
||
|
*
|
||
|
* @typedef ConfigCase
|
||
|
* @property {string | string[]} [extends]
|
||
|
* @property {string | string[]} [files]
|
||
|
*/
|
||
|
const config = {
|
||
|
options: {
|
||
|
testFunction: 'tokenize',
|
||
|
maxTime: 3,
|
||
|
remotesOnly: false
|
||
|
},
|
||
|
|
||
|
remotes: [
|
||
|
/**
|
||
|
* This will checkout a specific branch from a given repo.
|
||
|
*
|
||
|
* If no branch is specified, the master branch will be used.
|
||
|
*/
|
||
|
|
||
|
{
|
||
|
repo: 'https://github.com/PrismJS/prism.git'
|
||
|
},
|
||
|
/*{
|
||
|
repo: 'https://github.com/<Your user name>/prism.git',
|
||
|
branch: 'some-brach-you-want-to-test'
|
||
|
},*/
|
||
|
],
|
||
|
|
||
|
cases: {
|
||
|
'css': {
|
||
|
files: [
|
||
|
'../assets/style.css'
|
||
|
]
|
||
|
},
|
||
|
'css!+css-extras': { extends: 'css' },
|
||
|
'javascript': {
|
||
|
extends: 'json',
|
||
|
files: [
|
||
|
'https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.js',
|
||
|
'https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js',
|
||
|
'https://code.jquery.com/jquery-3.4.1.js',
|
||
|
'https://code.jquery.com/jquery-3.4.1.min.js',
|
||
|
'../assets/vendor/utopia.js'
|
||
|
]
|
||
|
},
|
||
|
'json': {
|
||
|
files: [
|
||
|
'../components.json',
|
||
|
'../package-lock.json'
|
||
|
]
|
||
|
},
|
||
|
'markup': {
|
||
|
files: [
|
||
|
'../download.html',
|
||
|
'../index.html',
|
||
|
'https://github.com/PrismJS/prism', // the PrismJS/prism GitHub page
|
||
|
]
|
||
|
},
|
||
|
'markup!+css+javascript': { extends: 'markup' },
|
||
|
'c': {
|
||
|
files: [
|
||
|
'https://raw.githubusercontent.com/git/git/master/remote.h',
|
||
|
'https://raw.githubusercontent.com/git/git/master/remote.c',
|
||
|
'https://raw.githubusercontent.com/git/git/master/mergesort.c',
|
||
|
'https://raw.githubusercontent.com/git/git/master/mergesort.h'
|
||
|
]
|
||
|
},
|
||
|
'ruby': {
|
||
|
files: [
|
||
|
'https://raw.githubusercontent.com/rails/rails/master/actionview/lib/action_view/base.rb',
|
||
|
'https://raw.githubusercontent.com/rails/rails/master/actionview/lib/action_view/layouts.rb',
|
||
|
'https://raw.githubusercontent.com/rails/rails/master/actionview/lib/action_view/template.rb',
|
||
|
]
|
||
|
},
|
||
|
'rust': {
|
||
|
files: [
|
||
|
'https://raw.githubusercontent.com/rust-lang/regex/master/src/utf8.rs',
|
||
|
'https://raw.githubusercontent.com/rust-lang/regex/master/src/compile.rs',
|
||
|
'https://raw.githubusercontent.com/rust-lang/regex/master/src/lib.rs'
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
module.exports = config;
|