mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
Merge pull request #4552 from spalger/eslint
Switch to babel on the server and use eslint
This commit is contained in:
commit
a86a40a640
311 changed files with 727 additions and 852 deletions
82
.eslintrc
Normal file
82
.eslintrc
Normal file
|
@ -0,0 +1,82 @@
|
|||
---
|
||||
env:
|
||||
es6: true
|
||||
amd: true
|
||||
node: true
|
||||
mocha: true
|
||||
browser: true
|
||||
|
||||
rules:
|
||||
block-scoped-var: 2
|
||||
camelcase:
|
||||
- 2
|
||||
- { "properties": "never" }
|
||||
comma-style:
|
||||
- 2
|
||||
- "last"
|
||||
comma-dangle: 0
|
||||
consistent-return: 0
|
||||
curly:
|
||||
- 2
|
||||
- "multi-line"
|
||||
dot-notation:
|
||||
- 2
|
||||
- { "allowKeywords": true }
|
||||
eqeqeq:
|
||||
- 2
|
||||
- "allow-null"
|
||||
global-strict:
|
||||
- 2
|
||||
- "never"
|
||||
guard-for-in: 2
|
||||
no-multi-spaces: 0
|
||||
key-spacing:
|
||||
- 0
|
||||
- { align: "value" }
|
||||
new-cap:
|
||||
- 2
|
||||
- { "capIsNewExceptions": ["Private"] }
|
||||
no-underscore-dangle: 0
|
||||
no-bitwise: 0
|
||||
no-caller: 2
|
||||
no-cond-assign: 0
|
||||
no-debugger: 2
|
||||
no-empty: 2
|
||||
no-eval: 2
|
||||
no-extend-native: 2
|
||||
no-extra-parens: 0
|
||||
no-irregular-whitespace: 2
|
||||
no-iterator: 2
|
||||
no-loop-func: 2
|
||||
no-multi-str: 2
|
||||
no-new: 0
|
||||
no-proto: 2
|
||||
no-return-assign: 0
|
||||
no-script-url: 2
|
||||
no-sequences: 2
|
||||
no-shadow: 0
|
||||
no-undef: 2
|
||||
no-unused-vars: 0
|
||||
no-unused-expressions: 0
|
||||
no-path-concat: 0
|
||||
no-use-before-define:
|
||||
- 2
|
||||
- "nofunc"
|
||||
no-with: 2
|
||||
quotes:
|
||||
- 2
|
||||
- "single"
|
||||
semi:
|
||||
- 2
|
||||
- "always"
|
||||
semi-spacing:
|
||||
- 2
|
||||
- { before: false, after: true }
|
||||
strict:
|
||||
- 2
|
||||
- "never"
|
||||
valid-typeof: 2
|
||||
wrap-iife:
|
||||
- 2
|
||||
- "outside"
|
||||
yoda: 0
|
43
.jshintrc
43
.jshintrc
|
@ -1,43 +0,0 @@
|
|||
{
|
||||
// for files at project root
|
||||
"node": true,
|
||||
"browser": true,
|
||||
"mocha": true,
|
||||
|
||||
"predef": {
|
||||
"inject": true,
|
||||
"module": true,
|
||||
"define": true,
|
||||
"console": false,
|
||||
"-event": true,
|
||||
"-name": true,
|
||||
"-Promise": true,
|
||||
"-Worker": true,
|
||||
"-status": true,
|
||||
"-fetch": true
|
||||
},
|
||||
|
||||
// shared with .jshintrc files for browser and node
|
||||
"unused": false,
|
||||
"bitwise": false,
|
||||
"eqnull": true,
|
||||
"eqeqeq": true,
|
||||
"forin": true,
|
||||
"immed": true,
|
||||
"expr": true,
|
||||
"latedef": "nofunc",
|
||||
"noarg": true,
|
||||
"noempty": true,
|
||||
"undef": true,
|
||||
"quotmark": "single",
|
||||
"plusplus": false,
|
||||
"boss": true,
|
||||
"laxbreak": true,
|
||||
"laxcomma": true,
|
||||
"validthis": true,
|
||||
"sub": true,
|
||||
"-W084": true,
|
||||
"scripturl": true,
|
||||
"evil": true,
|
||||
"esnext": true
|
||||
}
|
|
@ -43,16 +43,16 @@ Please make sure you have signed the [Contributor License Agreement](http://www.
|
|||
|
||||
#### Linting
|
||||
|
||||
A note about linting: We use both [jshint](http://jshint.com/) and [jscs](http://jscs.info/) to check that the [styleguide](STYLEGUIDE.md) is being followed. They run in a pre-commit hook and as a part of the tests, but most contributors integrate these linters with their code editors for real-time feedback.
|
||||
A note about linting: We use [eslint](http://eslint.org) to check that the [styleguide](STYLEGUIDE.md) is being followed. It runs in a pre-commit hook and as a part of the tests, but most contributors integrate it with their code editors for real-time feedback.
|
||||
|
||||
Here are some hints for setting up the linters in your favorite editor:
|
||||
Here are some hints for getting eslint setup in your favorite editor:
|
||||
|
||||
| Editor | JSHint | JSCS |
|
||||
| Editor | Plugin |
|
||||
| --- | --- | --- |
|
||||
| Sublime | [SublimeLinter-jshint](https://github.com/SublimeLinter/SublimeLinter-jshint#installation) | [SublimeLinter-jscs](https://github.com/SublimeLinter/SublimeLinter-jscs#installation) |
|
||||
| Atom | [linter-jshint](https://github.com/AtomLinter/linter-jshint#installation) | [linter-jscs](https://github.com/AtomLinter/linter-jscs#installation) |
|
||||
| IntelliJ | Settings » Languages & Frameworks » JavaScript » Code Quality Tools » JSHint (be sure to check "Use config files") | « |
|
||||
| vi | ask @simianhacker | « |
|
||||
| Sublime | [SublimeLinter-eslint](https://github.com/SublimeLinter/SublimeLinter-eslint#installation) |
|
||||
| Atom | [linter-eslint](https://github.com/AtomLinter/linter-eslint#installation) |
|
||||
| IntelliJ | Settings » Languages & Frameworks » JavaScript » Code Quality Tools » ESLint |
|
||||
| vi | [scrooloose/syntastic](https://github.com/scrooloose/syntastic) |
|
||||
|
||||
|
||||
### Testing and building
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
require('babel/register');
|
||||
|
||||
module.exports = function (grunt) {
|
||||
// set the config once before calling load-grunt-config
|
||||
// and once during so that we have access to it via
|
||||
|
@ -26,7 +28,12 @@ module.exports = function (grunt) {
|
|||
|
||||
nodeVersion: '0.10.35',
|
||||
platforms: ['darwin-x64', 'linux-x64', 'linux-x86', 'windows'],
|
||||
services: [ [ 'launchd', '10.9'], [ 'upstart', '1.5'], [ 'systemd', 'default'], [ 'sysv', 'lsb-3.1' ] ],
|
||||
services: [
|
||||
['launchd', '10.9'],
|
||||
['upstart', '1.5'],
|
||||
['systemd', 'default'],
|
||||
['sysv', 'lsb-3.1']
|
||||
],
|
||||
|
||||
devPlugins: 'devMode',
|
||||
|
||||
|
|
|
@ -21,5 +21,5 @@ if [ ! -x "$NODE" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
exec "${NODE}" "${DIR}/src/cli/cli" ${@}
|
||||
exec "${NODE}" "${DIR}/src/cli" ${@}
|
||||
|
||||
|
|
|
@ -18,8 +18,8 @@ If Not Exist "%NODE%" (
|
|||
)
|
||||
|
||||
TITLE Kibana Server
|
||||
"%NODE%" "%DIR%\src\cli\cli" %*
|
||||
"%NODE%" "%DIR%\src\cli" %*
|
||||
|
||||
:finally
|
||||
|
||||
ENDLOCAL
|
||||
ENDLOCAL
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
"auto-preload-rjscommon-deps-loader": "^1.0.4",
|
||||
"autoprefixer": "^5.2.0",
|
||||
"autoprefixer-loader": "^2.0.0",
|
||||
"babel": "^5.8.19",
|
||||
"babel-core": "^5.8.19",
|
||||
"babel-loader": "^5.3.2",
|
||||
"babel-runtime": "^5.8.19",
|
||||
|
@ -126,9 +127,8 @@
|
|||
"grunt-contrib-clean": "^0.6.0",
|
||||
"grunt-contrib-compress": "^0.13.0",
|
||||
"grunt-contrib-copy": "^0.8.0",
|
||||
"grunt-contrib-jshint": "^0.11",
|
||||
"grunt-contrib-eslint": "0.0.5",
|
||||
"grunt-esvm": "^1.0.1",
|
||||
"grunt-jscs": "^1.8.0",
|
||||
"grunt-karma": "^0.12.0",
|
||||
"grunt-replace": "^0.7.9",
|
||||
"grunt-run": "spalger/grunt-run#master",
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let Command = require('commander').Command;
|
||||
|
||||
|
@ -18,7 +16,7 @@ ${help(this, ' ')}
|
|||
`
|
||||
);
|
||||
|
||||
process.exit(64);
|
||||
process.exit(64); // eslint-disable-line no-process-exit
|
||||
};
|
||||
|
||||
Command.prototype.defaultHelp = function () {
|
||||
|
@ -29,7 +27,7 @@ ${help(this, ' ')}
|
|||
`
|
||||
);
|
||||
|
||||
process.exit(64);
|
||||
process.exit(64); // eslint-disable-line no-process-exit
|
||||
};
|
||||
|
||||
Command.prototype.unknownArgv = function (argv) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let ansicolors = require('ansicolors');
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
|
||||
let utils = require('requirefrom')('src/utils');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
var _ = require('lodash');
|
||||
|
||||
module.exports = function (command, spaces) {
|
||||
|
|
2
src/cli/index.js
Normal file
2
src/cli/index.js
Normal file
|
@ -0,0 +1,2 @@
|
|||
require('babel/register');
|
||||
require('./cli');
|
|
@ -3,7 +3,7 @@ var nock = require('nock');
|
|||
var glob = require('glob');
|
||||
var rimraf = require('rimraf');
|
||||
var fs = require('fs');
|
||||
var join = require('path').join;
|
||||
var { join } = require('path');
|
||||
var sinon = require('sinon');
|
||||
|
||||
var pluginLogger = require('../pluginLogger');
|
||||
|
|
|
@ -65,7 +65,7 @@ describe('kibana cli', function () {
|
|||
throw error;
|
||||
});
|
||||
|
||||
var errorStub = sinon.stub();
|
||||
errorStub = sinon.stub();
|
||||
return cleaner.cleanPrevious(logger)
|
||||
.catch(errorStub)
|
||||
.then(function () {
|
||||
|
@ -90,7 +90,7 @@ describe('kibana cli', function () {
|
|||
throw new Error('I am an error thrown by rimraf');
|
||||
});
|
||||
|
||||
var errorStub = sinon.stub();
|
||||
errorStub = sinon.stub();
|
||||
return cleaner.cleanPrevious(logger)
|
||||
.catch(errorStub)
|
||||
.then(function () {
|
||||
|
|
|
@ -3,7 +3,7 @@ var sinon = require('sinon');
|
|||
var nock = require('nock');
|
||||
var glob = require('glob');
|
||||
var rimraf = require('rimraf');
|
||||
var join = require('path').join;
|
||||
var { join } = require('path');
|
||||
|
||||
var pluginLogger = require('../pluginLogger');
|
||||
var pluginDownloader = require('../pluginDownloader');
|
||||
|
|
|
@ -4,7 +4,7 @@ var nock = require('nock');
|
|||
var glob = require('glob');
|
||||
var rimraf = require('rimraf');
|
||||
var fs = require('fs');
|
||||
var join = require('path').join;
|
||||
var { join } = require('path');
|
||||
var Promise = require('bluebird');
|
||||
|
||||
var pluginLogger = require('../pluginLogger');
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var Promise = require('bluebird');
|
||||
var Promise = require('bluebird');
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var exec = require('child_process').exec;
|
||||
|
@ -10,8 +10,7 @@ module.exports = function (dest, logger) {
|
|||
var packageFile = path.join(dest, 'package.json');
|
||||
fs.statSync(packageFile);
|
||||
} catch (e) {
|
||||
if (e.code !== 'ENOENT')
|
||||
throw e;
|
||||
if (e.code !== 'ENOENT') throw e;
|
||||
|
||||
return reject(new Error('Plugin does not contain package.json file'));
|
||||
}
|
||||
|
@ -33,4 +32,4 @@ module.exports = function (dest, logger) {
|
|||
logger.error(child.stderr);
|
||||
logger.log(child.stdout);
|
||||
});
|
||||
};
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@ module.exports = function (program) {
|
|||
} catch (ex) {
|
||||
//The logger has not yet been initialized.
|
||||
console.error(ex.message);
|
||||
process.exit(64);
|
||||
process.exit(64); // eslint-disable-line no-process-exit
|
||||
}
|
||||
|
||||
var logger = pluginLogger(settings);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var rimraf = require('rimraf');
|
||||
var rimraf = require('rimraf');
|
||||
var fs = require('fs');
|
||||
var Promise = require('bluebird');
|
||||
|
||||
|
@ -17,8 +17,7 @@ module.exports = function (settings, logger) {
|
|||
}
|
||||
return resolve();
|
||||
} catch (e) {
|
||||
if (e.code !== 'ENOENT')
|
||||
return reject(e);
|
||||
if (e.code !== 'ENOENT') return reject(e);
|
||||
|
||||
return resolve();
|
||||
}
|
||||
|
@ -26,15 +25,15 @@ module.exports = function (settings, logger) {
|
|||
}
|
||||
|
||||
function cleanError() {
|
||||
//delete the working directory.
|
||||
//At this point we're bailing, so swallow any errors on delete.
|
||||
try {
|
||||
rimraf.sync(settings.workingPath);
|
||||
} catch (e) { }
|
||||
// delete the working directory.
|
||||
// At this point we're bailing, so swallow any errors on delete.
|
||||
|
||||
try { rimraf.sync(settings.workingPath); }
|
||||
catch (e) {} // eslint-disable-line no-empty
|
||||
}
|
||||
|
||||
return {
|
||||
cleanPrevious: cleanPrevious,
|
||||
cleanError: cleanError
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,7 +46,7 @@ module.exports = function (settings, logger) {
|
|||
//Attempts to download a single url
|
||||
function downloadSingle(source, dest, timeout) {
|
||||
var gunzip = zlib.createGunzip();
|
||||
var tarExtract = tar.Extract({ path: dest, strip: 1 });
|
||||
var tarExtract = new tar.Extract({ path: dest, strip: 1 });
|
||||
|
||||
var requestOptions = { url: source };
|
||||
if (timeout !== 0) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var pluginDownloader = require('./pluginDownloader');
|
||||
var pluginDownloader = require('./pluginDownloader');
|
||||
var pluginCleaner = require('./pluginCleaner');
|
||||
var npmInstall = require('./npmInstall');
|
||||
var fs = require('fs');
|
||||
|
@ -8,16 +8,15 @@ module.exports = {
|
|||
};
|
||||
|
||||
function install(settings, logger) {
|
||||
logger.log('installing ' + settings.package);
|
||||
logger.log(`installing ${settings.package}`);
|
||||
|
||||
try {
|
||||
fs.statSync(settings.pluginPath);
|
||||
|
||||
logger.error('Plugin ' + settings.package + ' already exists. Please remove before installing a new version.');
|
||||
process.exit(70);
|
||||
logger.error(`Plugin ${settings.package} already exists. Please remove before installing a new version.`);
|
||||
process.exit(70); // eslint-disable-line no-process-exit
|
||||
} catch (e) {
|
||||
if (e.code !== 'ENOENT')
|
||||
throw e;
|
||||
if (e.code !== 'ENOENT') throw e;
|
||||
}
|
||||
|
||||
var cleaner = pluginCleaner(settings, logger);
|
||||
|
@ -35,8 +34,8 @@ function install(settings, logger) {
|
|||
logger.log('Plugin installation complete!');
|
||||
})
|
||||
.catch(function (e) {
|
||||
logger.error('Plugin installation was unsuccessful due to error "' + e.message + '"');
|
||||
logger.error(`Plugin installation was unsuccessful due to error "${e.message}"`);
|
||||
cleaner.cleanError();
|
||||
process.exit(70);
|
||||
process.exit(70); // eslint-disable-line no-process-exit
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
module.exports = function (settings) {
|
||||
module.exports = function (settings) {
|
||||
var previousLineEnded = true;
|
||||
var silent = !!settings.silent;
|
||||
var quiet = !!settings.quiet;
|
||||
|
@ -41,4 +41,4 @@
|
|||
log: log,
|
||||
error: error
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var fs = require('fs');
|
||||
var fs = require('fs');
|
||||
var rimraf = require('rimraf');
|
||||
|
||||
module.exports = {
|
||||
|
@ -9,18 +9,15 @@ function remove(settings, logger) {
|
|||
try {
|
||||
try {
|
||||
fs.statSync(settings.pluginPath);
|
||||
}
|
||||
catch (e) {
|
||||
logger.log('Plugin ' + settings.package + ' does not exist.');
|
||||
} catch (e) {
|
||||
logger.log(`Plugin ${settings.package} does not exist.`);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.log('Removing ' + settings.package + '...');
|
||||
|
||||
logger.log(`Removing ${settings.package}...`);
|
||||
rimraf.sync(settings.pluginPath);
|
||||
} catch (err) {
|
||||
var message = 'Unable to remove plugin "' + settings.package + '" because of error: "' + err.message + '"';
|
||||
logger.error(message);
|
||||
process.exit(74);
|
||||
logger.error(`Unable to remove plugin "${settings.package}" because of error: "${err.message}"`);
|
||||
process.exit(74); // eslint-disable-line no-process-exit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var Promise = require('bluebird');
|
||||
var Promise = require('bluebird');
|
||||
|
||||
/*
|
||||
Responsible for reporting the progress of the file request stream
|
||||
|
@ -47,7 +47,7 @@ module.exports = function (logger, request) {
|
|||
runningTotal += buffer.length;
|
||||
var dotCount = Math.round(runningTotal / totalSize * 100 / 5);
|
||||
if (dotCount > 20) dotCount = 20;
|
||||
for (var i = 0; i < (dotCount - oldDotCount) ; i++) {
|
||||
for (var i = 0; i < (dotCount - oldDotCount); i++) {
|
||||
logger.log('.', true);
|
||||
}
|
||||
oldDotCount = dotCount;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var resolve = require('path').resolve;
|
||||
var { resolve } = require('path');
|
||||
var expiry = require('expiry-js');
|
||||
|
||||
module.exports = function (options) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let fs = require('fs');
|
||||
let yaml = require('js-yaml');
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let isWorker = require('cluster').isWorker;
|
||||
let resolve = require('path').resolve;
|
||||
let { isWorker } = require('cluster');
|
||||
let { resolve } = require('path');
|
||||
|
||||
let cwd = process.cwd();
|
||||
let readYamlConfig = require('./readYamlConfig');
|
||||
|
@ -88,7 +86,7 @@ module.exports = function (program) {
|
|||
|
||||
server.ready().catch(function (err) {
|
||||
console.error(err.stack);
|
||||
process.exit(1);
|
||||
process.exit(1); // eslint-disable-line no-process-exit
|
||||
});
|
||||
|
||||
return server;
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let cluster = require('cluster');
|
||||
let resolve = require('path').resolve;
|
||||
let EventEmitter = require('events').EventEmitter;
|
||||
let { resolve } = require('path');
|
||||
let { EventEmitter } = require('events');
|
||||
|
||||
let fromRoot = require('../../utils/fromRoot');
|
||||
|
||||
let cliPath = fromRoot('src/cli/cli.js');
|
||||
let cliPath = fromRoot('src/cli');
|
||||
let baseArgs = _.difference(process.argv.slice(2), ['--no-watch']);
|
||||
let baseArgv = [process.execPath, cliPath].concat(baseArgs);
|
||||
|
||||
|
@ -83,7 +81,7 @@ module.exports = class Worker extends EventEmitter {
|
|||
flushChangeBuffer() {
|
||||
let files = _.unique(this.changes.splice(0));
|
||||
let prefix = files.length > 1 ? '\n - ' : '';
|
||||
return files.reduce(function (list, file, i, files) {
|
||||
return files.reduce(function (list, file) {
|
||||
return `${list || ''}${prefix}"${file}"`;
|
||||
}, '');
|
||||
}
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
'use strict';
|
||||
|
||||
let cluster = require('cluster');
|
||||
let join = require('path').join;
|
||||
let { join } = require('path');
|
||||
let _ = require('lodash');
|
||||
var chokidar = require('chokidar');
|
||||
|
||||
|
@ -83,7 +81,7 @@ module.exports = function (opts) {
|
|||
|
||||
function onError(err) {
|
||||
log.bad('Failed to watch files!\n', err.stack);
|
||||
process.exit(1);
|
||||
process.exit(1); // eslint-disable-line no-process-exit
|
||||
}
|
||||
|
||||
watcher.on('add', onAddBeforeReady);
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
let EventEmitter = require('events').EventEmitter;
|
||||
let inherits = require('util').inherits;
|
||||
let { EventEmitter } = require('events');
|
||||
let { inherits } = require('util');
|
||||
let _ = require('lodash');
|
||||
let join = require('path').join;
|
||||
let { join } = require('path');
|
||||
let write = require('fs').writeFileSync;
|
||||
let webpack = require('webpack');
|
||||
let DirectoryNameAsMain = require('webpack-directory-name-as-main');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let webpack = require('webpack');
|
||||
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let join = require('path').join;
|
||||
let promify = require('bluebird').promisify;
|
||||
let { join } = require('path');
|
||||
let { promisify } = require('bluebird');
|
||||
let webpack = require('webpack');
|
||||
let MemoryFileSystem = require('memory-fs');
|
||||
let BaseOptimizer = require('./BaseOptimizer');
|
||||
let writeFileSync = require('fs').writeFileSync;
|
||||
|
||||
module.exports = class LiveOptimizer extends BaseOptimizer {
|
||||
constructor(opts) {
|
||||
|
@ -20,7 +17,7 @@ module.exports = class LiveOptimizer extends BaseOptimizer {
|
|||
|
||||
_.bindAll(this, 'get', 'init');
|
||||
|
||||
this.compile = promify(this.compiler.run, this.compiler);
|
||||
this.compile = promisify(this.compiler.run, this.compiler);
|
||||
}
|
||||
|
||||
init() {
|
||||
|
@ -46,8 +43,6 @@ module.exports = class LiveOptimizer extends BaseOptimizer {
|
|||
return null;
|
||||
}
|
||||
|
||||
// writeFileSync('liveBuildStats.json', JSON.stringify(stats.toJson()));
|
||||
|
||||
return {
|
||||
bundle: fs.readFileSync(filename),
|
||||
sourceMap: self.sourceMaps ? fs.readFileSync(mapFilename) : false,
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let join = require('path').join;
|
||||
let resolve = require('bluebird').resolve;
|
||||
let promify = require('bluebird').promisify;
|
||||
let rimraf = promify(require('rimraf'));
|
||||
let mkdirp = promify(require('mkdirp'));
|
||||
|
||||
let stat = promify(require('fs').stat);
|
||||
let read = promify(require('fs').readFile);
|
||||
let write = promify(require('fs').writeFile);
|
||||
let unlink = promify(require('fs').unlink);
|
||||
let readdir = promify(require('fs').readdir);
|
||||
let { join } = require('path');
|
||||
let { resolve, promisify } = require('bluebird');
|
||||
let rimraf = promisify(require('rimraf'));
|
||||
let mkdirp = promisify(require('mkdirp'));
|
||||
let stat = promisify(require('fs').stat);
|
||||
let read = promisify(require('fs').readFile);
|
||||
let write = promisify(require('fs').writeFile);
|
||||
let unlink = promisify(require('fs').unlink);
|
||||
let readdir = promisify(require('fs').readdir);
|
||||
let readSync = require('fs').readFileSync;
|
||||
|
||||
let entryFileTemplate = _.template(readSync(join(__dirname, 'entry.js.tmpl')));
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let webpack = require('webpack');
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let resolve = require('path').resolve;
|
||||
let readFileSync = require('fs').readFileSync;
|
||||
let { resolve } = require('path');
|
||||
let { readFileSync } = require('fs');
|
||||
|
||||
let src = require('requirefrom')('src');
|
||||
let fromRoot = src('utils/fromRoot');
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let resolve = require('path').resolve;
|
||||
let promify = require('bluebird').promisify;
|
||||
let all = require('bluebird').all;
|
||||
let glob = promify(require('glob'));
|
||||
let { resolve } = require('path');
|
||||
let { promisify } = require('bluebird');
|
||||
let { all } = require('bluebird');
|
||||
let glob = promisify(require('glob'));
|
||||
|
||||
module.exports = function (path, patterns) {
|
||||
return all([].concat(patterns || []))
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server, config) {
|
||||
if (!config.get('env.dev')) return;
|
||||
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server, config) {
|
||||
if (!config.get('optimize.enabled')) return;
|
||||
|
||||
var _ = require('lodash');
|
||||
var resolve = require('path').resolve;
|
||||
var { resolve } = require('path');
|
||||
var fromRoot = require('../utils/fromRoot');
|
||||
|
||||
var CachedOptimizer = require('./CachedOptimizer');
|
||||
|
@ -61,19 +59,13 @@ module.exports = function (kbnServer, server, config) {
|
|||
let optmzr = kbnServer.optimizer = new Optimizer({
|
||||
sourceMaps: config.get('optimize.sourceMaps'),
|
||||
bundleDir: bundleDir,
|
||||
entries: _.map(
|
||||
[].concat(
|
||||
kbnServer.uiExports.apps,
|
||||
kbnServer.uiExports.apps.hidden
|
||||
),
|
||||
function (app) {
|
||||
return {
|
||||
id: app.id,
|
||||
deps: app.getRelatedPlugins(),
|
||||
modules: app.getModules()
|
||||
};
|
||||
}
|
||||
),
|
||||
entries: _.map(kbnServer.uiExports.allApps(), function (app) {
|
||||
return {
|
||||
id: app.id,
|
||||
deps: app.getRelatedPlugins(),
|
||||
modules: app.getModules()
|
||||
};
|
||||
}),
|
||||
plugins: kbnServer.plugins
|
||||
});
|
||||
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kibana) {
|
||||
let _ = require('lodash');
|
||||
let resolve = require('path').resolve;
|
||||
let basename = require('path').basename;
|
||||
let readdir = require('fs').readdirSync;
|
||||
let fromRoot = require('../../utils/fromRoot');
|
||||
let { readdirSync } = require('fs');
|
||||
let { resolve, basename } = require('path');
|
||||
|
||||
let modules = {};
|
||||
let metaLibs = resolve(__dirname, 'metaLibs');
|
||||
readdir(metaLibs).forEach(function (file) {
|
||||
readdirSync(metaLibs).forEach(function (file) {
|
||||
if (file[0] === '.') return;
|
||||
let name = basename(file, '.js') + '$';
|
||||
modules[name] = resolve(metaLibs, file);
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kibana) {
|
||||
if (!kibana.config.get('env.dev')) return;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ var SetupError = require('../setup_error');
|
|||
describe('plugins/elasticsearch', function () {
|
||||
describe('lib/create_kibana_index', function () {
|
||||
|
||||
var server, client, config;
|
||||
var server, client;
|
||||
beforeEach(function () {
|
||||
server = {};
|
||||
client = {};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let expect = require('expect.js');
|
||||
let sinon = require('sinon');
|
||||
|
|
|
@ -62,7 +62,7 @@ describe('plugins/elasticsearch', function () {
|
|||
payload: body
|
||||
});
|
||||
pass = true;
|
||||
} catch (e) {}
|
||||
} catch (e) {} // eslint-disable-line no-empty
|
||||
|
||||
if (pass !== Boolean(valid)) {
|
||||
var msg = 'Expected ' + method + ' ' +
|
||||
|
|
|
@ -9,19 +9,19 @@ module.exports = function (server) {
|
|||
var uri = url.parse(config.get('elasticsearch.url'));
|
||||
var username = config.get('elasticsearch.username');
|
||||
var password = config.get('elasticsearch.password');
|
||||
var verify_ssl = config.get('elasticsearch.ssl.verify');
|
||||
var client_crt = config.get('elasticsearch.ssl.cert');
|
||||
var client_key = config.get('elasticsearch.ssl.key');
|
||||
var verifySsl = config.get('elasticsearch.ssl.verify');
|
||||
var clientCrt = config.get('elasticsearch.ssl.cert');
|
||||
var clientKey = config.get('elasticsearch.ssl.key');
|
||||
var ca = config.get('elasticsearch.ssl.ca');
|
||||
|
||||
if (username && password) {
|
||||
uri.auth = util.format('%s:%s', username, password);
|
||||
}
|
||||
|
||||
var ssl = { rejectUnauthorized: verify_ssl };
|
||||
if (client_crt && client_key) {
|
||||
ssl.cert = fs.readFileSync(client_crt, 'utf8');
|
||||
ssl.key = fs.readFileSync(client_key, 'utf8');
|
||||
var ssl = { rejectUnauthorized: verifySsl };
|
||||
if (clientCrt && clientKey) {
|
||||
ssl.cert = fs.readFileSync(clientCrt, 'utf8');
|
||||
ssl.key = fs.readFileSync(clientKey, 'utf8');
|
||||
}
|
||||
if (ca) {
|
||||
ssl.ca = fs.readFileSync(ca, 'utf8');
|
||||
|
@ -31,7 +31,7 @@ module.exports = function (server) {
|
|||
host: url.format(uri),
|
||||
ssl: ssl,
|
||||
apiVersion: '1.4',
|
||||
log: function (config) {
|
||||
log: function () {
|
||||
this.error = function (err) {
|
||||
server.log(['error', 'elasticsearch'], err);
|
||||
};
|
||||
|
|
|
@ -90,17 +90,17 @@ function validate(server, req) {
|
|||
throw new validate.Fail(config.get('kibana.index'));
|
||||
}
|
||||
|
||||
function validateBulkBody(body) {
|
||||
while (body.length) {
|
||||
var header = body.shift();
|
||||
var req = body.shift();
|
||||
function validateBulkBody(toValidate) {
|
||||
while (toValidate.length) {
|
||||
let header = toValidate.shift();
|
||||
let body = toValidate.shift();
|
||||
|
||||
var op = _.keys(header).join('');
|
||||
var meta = header[op];
|
||||
let op = _.keys(header).join('');
|
||||
let meta = header[op];
|
||||
|
||||
if (!meta) throw new validate.Fail(config.get('kibana.index'));
|
||||
|
||||
var index = meta._index || maybeIndex;
|
||||
let index = meta._index || maybeIndex;
|
||||
if (index !== config.get('kibana.index')) {
|
||||
throw new validate.BadIndex(index);
|
||||
}
|
||||
|
|
|
@ -31,10 +31,11 @@ define(function (require) {
|
|||
var $state = $scope.state;
|
||||
|
||||
// receives $scope.panel from the dashboard grid directive, seems like should be isolate?
|
||||
$scope.$watch('id', function (id) {
|
||||
$scope.$watch('id', function () {
|
||||
if (!$scope.panel.id || !$scope.panel.type) return;
|
||||
|
||||
loadPanel($scope.panel, $scope).then(function (panelConfig) {
|
||||
loadPanel($scope.panel, $scope)
|
||||
.then(function (panelConfig) {
|
||||
// These could be done in loadPanel, putting them here to make them more explicit
|
||||
$scope.savedObj = panelConfig.savedObj;
|
||||
$scope.editUrl = panelConfig.editUrl;
|
||||
|
@ -44,7 +45,8 @@ define(function (require) {
|
|||
var index = $scope.savedObj.searchSource.get('index').id;
|
||||
filterManager.add(field, value, operator, index);
|
||||
};
|
||||
}).catch(function (e) {
|
||||
})
|
||||
.catch(function (e) {
|
||||
$scope.error = e.message;
|
||||
|
||||
// If the savedObjectType matches the panel type, this means the object itself has been deleted,
|
||||
|
|
|
@ -30,7 +30,10 @@ define(function (require) {
|
|||
// pixels used by all of the spacers (gridster puts have a spacer on the ends)
|
||||
var spacerSize = SPACER * COLS;
|
||||
|
||||
var init = function () {
|
||||
// debounced layout function is safe to call as much as possible
|
||||
var safeLayout = _.debounce(layout, 200);
|
||||
|
||||
function init() {
|
||||
$el.addClass('gridster');
|
||||
|
||||
gridster = $el.gridster({
|
||||
|
@ -90,36 +93,37 @@ define(function (require) {
|
|||
makePanelSerializeable(panel);
|
||||
});
|
||||
});
|
||||
|
||||
safeLayout();
|
||||
$window.on('resize', safeLayout);
|
||||
$scope.$on('ready:vis', safeLayout);
|
||||
};
|
||||
}
|
||||
|
||||
// return the panel object for an element.
|
||||
//
|
||||
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
// ALWAYS CALL makePanelSerializeable AFTER YOU ARE DONE WITH IT
|
||||
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
var getPanelFor = function (el) {
|
||||
var $el = el.jquery ? el : $(el);
|
||||
var panel = $el.data('panel');
|
||||
function getPanelFor(el) {
|
||||
var $panel = el.jquery ? el : $(el);
|
||||
var panel = $panel.data('panel');
|
||||
|
||||
panel.$el = $el;
|
||||
panel.$scope = $el.data('$scope');
|
||||
panel.$el = $panel;
|
||||
panel.$scope = $panel.data('$scope');
|
||||
|
||||
return panel;
|
||||
};
|
||||
}
|
||||
|
||||
// since the $el and $scope are circular structures, they need to be
|
||||
// removed from panel before it can be serialized (we also wouldn't
|
||||
// want them to show up in the url)
|
||||
var makePanelSerializeable = function (panel) {
|
||||
function makePanelSerializeable(panel) {
|
||||
delete panel.$el;
|
||||
delete panel.$scope;
|
||||
};
|
||||
}
|
||||
|
||||
// tell gridster to remove the panel, and cleanup our metadata
|
||||
var removePanel = function (panel) {
|
||||
function removePanel(panel) {
|
||||
// remove from grister 'silently' (don't reorganize after)
|
||||
gridster.remove_widget(panel.$el);
|
||||
|
||||
|
@ -128,10 +132,10 @@ define(function (require) {
|
|||
|
||||
panel.$el.removeData('panel');
|
||||
panel.$el.removeData('$scope');
|
||||
};
|
||||
}
|
||||
|
||||
// tell gridster to add the panel, and create additional meatadata like $scope
|
||||
var addPanel = function (panel) {
|
||||
function addPanel(panel) {
|
||||
_.defaults(panel, {
|
||||
size_x: 3,
|
||||
size_y: 2
|
||||
|
@ -163,19 +167,19 @@ define(function (require) {
|
|||
// stash the panel and it's scope in the element's data
|
||||
panel.$el.data('panel', panel);
|
||||
panel.$el.data('$scope', panel.$scope);
|
||||
};
|
||||
}
|
||||
|
||||
// ensure that the panel object has the latest size/pos info
|
||||
var refreshPanelStats = function (panel) {
|
||||
function refreshPanelStats(panel) {
|
||||
var data = panel.$el.coords().grid;
|
||||
panel.size_x = data.size_x;
|
||||
panel.size_y = data.size_y;
|
||||
panel.col = data.col;
|
||||
panel.row = data.row;
|
||||
};
|
||||
}
|
||||
|
||||
// when gridster tell us it made a change, update each of the panel objects
|
||||
var readGridsterChangeHandler = function (e, ui, $widget) {
|
||||
function readGridsterChangeHandler(e, ui, $widget) {
|
||||
// ensure that our panel objects keep their size in sync
|
||||
gridster.$widgets.each(function (i, el) {
|
||||
var panel = getPanelFor(el);
|
||||
|
@ -184,12 +188,12 @@ define(function (require) {
|
|||
makePanelSerializeable(panel);
|
||||
$scope.$root.$broadcast('change:vis');
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
// calculate the position and sizing of the gridster el, and the columns within it
|
||||
// then tell gridster to "reflow" -- which is definitely not supported.
|
||||
// we may need to consider using a different library
|
||||
var reflowGridster = function () {
|
||||
function reflowGridster() {
|
||||
// https://github.com/gcphost/gridster-responsive/blob/97fe43d4b312b409696b1d702e1afb6fbd3bba71/jquery.gridster.js#L1208-L1235
|
||||
var g = gridster;
|
||||
|
||||
|
@ -212,16 +216,14 @@ define(function (require) {
|
|||
// https://github.com/elastic/kibana4/issues/390
|
||||
if (gridster.gridmap.length > 0) g.set_dom_grid_height();
|
||||
g.drag_api.set_limits(COLS * g.min_widget_width);
|
||||
};
|
||||
}
|
||||
|
||||
var layout = function () {
|
||||
function layout() {
|
||||
var complete = notify.event('reflow dashboard');
|
||||
reflowGridster();
|
||||
readGridsterChangeHandler();
|
||||
complete();
|
||||
};
|
||||
|
||||
var safeLayout = _.debounce(layout, 200);
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ describe('discoverField', function () {
|
|||
field: indexPattern.fields.byName.extension,
|
||||
increaseFieldCounter: sinon.spy(),
|
||||
toggle: function (field) {
|
||||
indexPattern.fields.byName[field].display = !!!indexPattern.fields.byName[field].display;
|
||||
indexPattern.fields.byName[field].display = !indexPattern.fields.byName[field].display;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -132,7 +132,7 @@ describe('discover field chooser directives', function () {
|
|||
// Re-init
|
||||
destroy();
|
||||
|
||||
_.each(indexPattern.fields, function (field) { field.$$spec.count = 0;}); // Reset the popular fields
|
||||
_.each(indexPattern.fields, function (field) { field.$$spec.count = 0; }); // Reset the popular fields
|
||||
init($elem, {
|
||||
columns: [],
|
||||
toggle: sinon.spy(),
|
||||
|
|
|
@ -23,7 +23,7 @@ describe('hit sort function', function () {
|
|||
});
|
||||
var sortOptLength = sortOpts.length;
|
||||
|
||||
for (var i = 0; i < hits.length; i++) {
|
||||
for (let i = 0; i < hits.length; i++) {
|
||||
hits[i] = {
|
||||
_source: {},
|
||||
sort: sortOpts[i % sortOptLength]
|
||||
|
@ -31,7 +31,7 @@ describe('hit sort function', function () {
|
|||
}
|
||||
|
||||
hits.sort(createHitSortFn(dir))
|
||||
.forEach(function (hit, i, hits) {
|
||||
.forEach(function (hit, i) {
|
||||
var group = Math.floor(i / groupSize);
|
||||
expect(hit.sort).to.eql(sortOpts[group]);
|
||||
});
|
||||
|
|
|
@ -63,4 +63,4 @@ define(function () {
|
|||
};
|
||||
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
define(function (require) {
|
||||
var _ = require('lodash');
|
||||
|
||||
var getFieldValues = function (hits, field) {
|
||||
function getFieldValues(hits, field) {
|
||||
var name = field.name;
|
||||
var flattenHit = field.indexPattern.flattenHit;
|
||||
return _.map(hits, function (hit) {
|
||||
return flattenHit(hit)[name];
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
var getFieldValueCounts = function (params) {
|
||||
function getFieldValueCounts(params) {
|
||||
params = _.defaults(params, {
|
||||
count: 5,
|
||||
grouped: false
|
||||
|
@ -57,15 +57,15 @@ define(function (require) {
|
|||
return { error: e.message };
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
// returns a count of fields in the array that are undefined or null
|
||||
var _countMissing = function (array) {
|
||||
function _countMissing(array) {
|
||||
return array.length - _.without(array, undefined, null).length;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
var _groupValues = function (allValues, params) {
|
||||
function _groupValues(allValues, params) {
|
||||
var groups = {};
|
||||
var k;
|
||||
|
||||
|
@ -93,7 +93,7 @@ define(function (require) {
|
|||
});
|
||||
|
||||
return groups;
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
_groupValues: _groupValues,
|
||||
|
|
|
@ -37,9 +37,10 @@ define(function (require) {
|
|||
return courier.indexPatterns.getIds()
|
||||
.then(function (list) {
|
||||
var stateRison = $location.search()._a;
|
||||
|
||||
var state;
|
||||
try { state = rison.decode(stateRison); } catch (e) {}
|
||||
state = state || {};
|
||||
try { state = rison.decode(stateRison); }
|
||||
catch (e) { state = {}; }
|
||||
|
||||
var specified = !!state.index;
|
||||
var exists = _.contains(list, state.index);
|
||||
|
@ -444,7 +445,7 @@ define(function (require) {
|
|||
};
|
||||
|
||||
var loadingVis;
|
||||
var setupVisualization = function () {
|
||||
function setupVisualization() {
|
||||
// If we're not setting anything up we need to return an empty promise
|
||||
if (!$scope.opts.timefield) return Promise.resolve();
|
||||
if (loadingVis) return loadingVis;
|
||||
|
@ -509,7 +510,7 @@ define(function (require) {
|
|||
});
|
||||
|
||||
return loadingVis;
|
||||
};
|
||||
}
|
||||
|
||||
function resolveIndexPatternLoading() {
|
||||
var props = $route.current.locals.ip;
|
||||
|
|
|
@ -34,4 +34,4 @@ describe('Settings', function () {
|
|||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -19,4 +19,4 @@ define(function (require) {
|
|||
display: 'About',
|
||||
url: '#/settings/about'
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
|
@ -7,4 +7,4 @@ define(function (require) {
|
|||
require('plugins/kibana/settings/sections/objects/index'),
|
||||
require('plugins/kibana/settings/sections/about/index')
|
||||
];
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
define(function (require) {
|
||||
var _ = require('lodash');
|
||||
var moment = require('moment');
|
||||
var errors = require('ui/errors');
|
||||
var { IndexPatternMissingIndices } = require('ui/errors');
|
||||
|
||||
require('ui/directives/validate_index_name');
|
||||
require('ui/directives/auto_select_if_only_one');
|
||||
|
@ -14,7 +14,6 @@ define(function (require) {
|
|||
require('ui/modules').get('apps/settings')
|
||||
.controller('settingsIndicesCreate', function ($scope, kbnUrl, Private, Notifier, indexPatterns, es, config, Promise) {
|
||||
var notify = new Notifier();
|
||||
var MissingIndices = errors.IndexPatternMissingIndices;
|
||||
var refreshKibanaIndex = Private(require('plugins/kibana/settings/sections/indices/_refresh_kibana_index'));
|
||||
var intervals = indexPatterns.intervals;
|
||||
var samplePromise;
|
||||
|
@ -69,7 +68,7 @@ define(function (require) {
|
|||
// .then(function () { indexPattern.save(); })
|
||||
})
|
||||
.catch(function (err) {
|
||||
if (err instanceof MissingIndices) {
|
||||
if (err instanceof IndexPatternMissingIndices) {
|
||||
notify.error('Could not locate any indices matching that pattern. Please add the index to Elasticsearch');
|
||||
}
|
||||
else notify.fatal(err);
|
||||
|
@ -209,7 +208,7 @@ define(function (require) {
|
|||
return indexPatterns.mapper.getFieldsForIndexPattern(pattern, true)
|
||||
.catch(function (err) {
|
||||
// TODO: we should probably display a message of some kind
|
||||
if (err instanceof MissingIndices) {
|
||||
if (err instanceof IndexPatternMissingIndices) {
|
||||
fetchFieldsError = 'Unable to fetch mapping. Do you have indices matching the pattern?';
|
||||
return [];
|
||||
}
|
||||
|
|
|
@ -25,4 +25,4 @@ define(function (require) {
|
|||
|
||||
return dateScripts;
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
|
@ -23,4 +23,4 @@ define(function (require) {
|
|||
}];
|
||||
};
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
|
@ -143,7 +143,8 @@ define(function (require) {
|
|||
} else {
|
||||
$scope.aceInvalidEditors = _.without($scope.aceInvalidEditors, fieldName);
|
||||
}
|
||||
$rootScope.$$phase || $scope.$apply();
|
||||
|
||||
if ($rootScope.$$phase) $scope.$apply();
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -25,4 +25,4 @@ define(function (require) {
|
|||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -7,4 +7,4 @@ define(function (require) {
|
|||
.filter('aggFilter', function () {
|
||||
return propFilter('name');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
var _ = require('lodash');
|
||||
|
||||
define(function (require) {
|
||||
require('ui/modules')
|
||||
.get('app/visualize')
|
||||
|
@ -33,15 +35,7 @@ define(function (require) {
|
|||
});
|
||||
|
||||
$scope.availableSchema = $scope.schemas.filter(function (schema) {
|
||||
var count = 0;
|
||||
|
||||
if ($scope.group) {
|
||||
count = $scope.group.reduce(function (count, aggConfig) {
|
||||
if (aggConfig.schema === schema) count += 1;
|
||||
return count;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
var count = _.where($scope.group, { schema }).length;
|
||||
if (count < schema.max) return true;
|
||||
});
|
||||
});
|
||||
|
@ -49,4 +43,4 @@ define(function (require) {
|
|||
};
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -28,4 +28,4 @@ define(function (require) {
|
|||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -47,7 +47,6 @@ define(function (require) {
|
|||
])
|
||||
.controller('VisEditor', function ($scope, $route, timefilter, AppState, $location, kbnUrl, $timeout, courier, Private, Promise) {
|
||||
|
||||
var _ = require('lodash');
|
||||
var angular = require('angular');
|
||||
var ConfigTemplate = require('ui/ConfigTemplate');
|
||||
var Notifier = require('ui/notify/Notifier');
|
||||
|
@ -92,7 +91,7 @@ define(function (require) {
|
|||
vis: savedVisState
|
||||
};
|
||||
|
||||
var $state = new AppState(stateDefaults);
|
||||
$state = new AppState(stateDefaults);
|
||||
|
||||
if (!angular.equals($state.vis, savedVisState)) {
|
||||
Promise.try(function () {
|
||||
|
|
|
@ -21,7 +21,7 @@ define(function (require) {
|
|||
var bars = $scope.list.slice(0, index + 1);
|
||||
var colors = getColors(bars.length);
|
||||
|
||||
$el.html(bars.map(function (item, i) {
|
||||
$el.html(bars.map(function (bar, i) {
|
||||
return $(document.createElement('span'))
|
||||
.css('background-color', colors[i]);
|
||||
}));
|
||||
|
@ -29,4 +29,4 @@ define(function (require) {
|
|||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -22,4 +22,4 @@ define(function (require) {
|
|||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -101,10 +101,12 @@ define(function (require) {
|
|||
self.visState = Vis.convertOldState(self.typeName, JSON.parse(self.stateJSON));
|
||||
}
|
||||
|
||||
return self.vis = new Vis(
|
||||
self.vis = new Vis(
|
||||
self.searchSource.get('index'),
|
||||
self.visState
|
||||
);
|
||||
|
||||
return self.vis;
|
||||
};
|
||||
|
||||
SavedVis.prototype._updateVis = function () {
|
||||
|
|
|
@ -68,4 +68,4 @@ define(function (require) {
|
|||
kbnUrl.change('/visualize/create?type={{type}}&indexPattern={{pattern}}', {type: type, pattern: pattern});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -23,4 +23,4 @@ describe('markdown vis controller', function () {
|
|||
expect($scope).to.have.property('html');
|
||||
expect($scope.html.toString().indexOf('<a href')).to.be.greaterThan(-1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -12,4 +12,4 @@ define(function (require) {
|
|||
$scope.html = $sce.trustAsHtml(marked(html));
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -90,7 +90,7 @@ describe('Integration', function () {
|
|||
}
|
||||
|
||||
it('passes the table groups to the kbnAggTableGroup directive', function () {
|
||||
init(OneRangeVis(), fixtures.oneRangeBucket);
|
||||
init(new OneRangeVis(), fixtures.oneRangeBucket);
|
||||
|
||||
var $atg = $el.find('kbn-agg-table-group').first();
|
||||
expect($atg.size()).to.be(1);
|
||||
|
@ -99,7 +99,7 @@ describe('Integration', function () {
|
|||
});
|
||||
|
||||
it('displays an error if the search had no hits', function () {
|
||||
init(OneRangeVis(), { hits: { total: 0, hits: [] }});
|
||||
init(new OneRangeVis(), { hits: { total: 0, hits: [] }});
|
||||
|
||||
expect($el.find('kbn-agg-table-group').size()).to.be(0);
|
||||
|
||||
|
@ -122,7 +122,7 @@ describe('Integration', function () {
|
|||
});
|
||||
});
|
||||
|
||||
init(ThreeTermVis(visParams), resp);
|
||||
init(new ThreeTermVis(visParams), resp);
|
||||
|
||||
expect($el.find('kbn-agg-table-group').size()).to.be(0);
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ describe('Controller', function () {
|
|||
}
|
||||
|
||||
it('exposes #tableGroups and #hasSomeRows when a response is attached to scope', function () {
|
||||
initController(OneRangeVis());
|
||||
initController(new OneRangeVis());
|
||||
|
||||
expect(!$scope.tableGroups).to.be.ok();
|
||||
expect(!$scope.hasSomeRows).to.be.ok();
|
||||
|
@ -90,7 +90,7 @@ describe('Controller', function () {
|
|||
});
|
||||
|
||||
it('clears #tableGroups and #hasSomeRows when the response is removed', function () {
|
||||
initController(OneRangeVis());
|
||||
initController(new OneRangeVis());
|
||||
|
||||
attachEsResponseToScope(fixtures.oneRangeBucket);
|
||||
removeEsResponseFromScope();
|
||||
|
@ -100,7 +100,7 @@ describe('Controller', function () {
|
|||
});
|
||||
|
||||
it('sets #hasSomeRows properly if the table group is empty', function () {
|
||||
initController(OneRangeVis());
|
||||
initController(new OneRangeVis());
|
||||
|
||||
// modify the data to not have any buckets
|
||||
var resp = _.cloneDeep(fixtures.oneRangeBucket);
|
||||
|
@ -118,7 +118,7 @@ describe('Controller', function () {
|
|||
var spiedTabify = sinon.spy(Private(tabifyPm));
|
||||
Private.stub(tabifyPm, spiedTabify);
|
||||
|
||||
var vis = OneRangeVis({ showPartialRows: true });
|
||||
var vis = new OneRangeVis({ showPartialRows: true });
|
||||
initController(vis);
|
||||
attachEsResponseToScope(fixtures.oneRangeBucket);
|
||||
|
||||
|
@ -132,7 +132,7 @@ describe('Controller', function () {
|
|||
var spiedTabify = sinon.spy(Private(tabifyPm));
|
||||
Private.stub(tabifyPm, spiedTabify);
|
||||
|
||||
var vis = OneRangeVis({ showPartialRows: false });
|
||||
var vis = new OneRangeVis({ showPartialRows: false });
|
||||
initController(vis);
|
||||
attachEsResponseToScope(fixtures.oneRangeBucket);
|
||||
|
||||
|
@ -146,7 +146,7 @@ describe('Controller', function () {
|
|||
var spiedTabify = sinon.spy(Private(tabifyPm));
|
||||
Private.stub(tabifyPm, spiedTabify);
|
||||
|
||||
var vis = OneRangeVis({ showPartialRows: true });
|
||||
var vis = new OneRangeVis({ showPartialRows: true });
|
||||
initController(vis);
|
||||
attachEsResponseToScope(fixtures.oneRangeBucket);
|
||||
|
||||
|
@ -160,7 +160,7 @@ describe('Controller', function () {
|
|||
var spiedTabify = sinon.spy(Private(tabifyPm));
|
||||
Private.stub(tabifyPm, spiedTabify);
|
||||
|
||||
var vis = OneRangeVis({ showPartialRows: false });
|
||||
var vis = new OneRangeVis({ showPartialRows: false });
|
||||
initController(vis);
|
||||
attachEsResponseToScope(fixtures.oneRangeBucket);
|
||||
|
||||
|
|
|
@ -23,4 +23,4 @@ define(function (require) {
|
|||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let EventEmitter = require('events').EventEmitter;
|
||||
let promify = require('bluebird').promisify;
|
||||
let resolve = require('bluebird').resolve;
|
||||
let fromNode = require('bluebird').fromNode;
|
||||
let { EventEmitter } = require('events');
|
||||
let { promisify, resolve, fromNode } = require('bluebird');
|
||||
let Hapi = require('hapi');
|
||||
|
||||
let utils = require('requirefrom')('src/utils');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let Promise = require('bluebird');
|
||||
let Joi = require('joi');
|
||||
let _ = require('lodash');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server, config) {
|
||||
let _ = require('lodash');
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ module.exports = function (dot, flatObject) {
|
|||
if (!memo[_key]) memo[_key] = {};
|
||||
walk(memo[_key], keys, value);
|
||||
}
|
||||
})(fullObject, keys, value);
|
||||
}(fullObject, keys, value));
|
||||
});
|
||||
return fullObject;
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let get = require('lodash').get;
|
||||
let Joi = require('joi');
|
||||
let fs = require('fs');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server) {
|
||||
let Config = require('./Config');
|
||||
let schema = require('./schema');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
|
||||
module.exports = _.once(function (kbnServer) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server, config) {
|
||||
let _ = require('lodash');
|
||||
let Boom = require('boom');
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
module.exports = function (program) {
|
||||
module.exports = function (program) {
|
||||
function isCommand(val) {
|
||||
return typeof val === 'object' && val._name;
|
||||
}
|
||||
|
@ -6,4 +6,4 @@
|
|||
program.isCommandSpecified = function () {
|
||||
return program.args.some(isCommand);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let Stream = require('stream');
|
||||
let moment = require('moment');
|
||||
let _ = require('lodash');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let LogFormat = require('./LogFormat');
|
||||
let stringify = require('json-stringify-safe');
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let ansicolors = require('ansicolors');
|
||||
let moment = require('moment');
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let Squeeze = require('good-squeeze').Squeeze;
|
||||
let writeStr = require('fs').createWriteStream;
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let fromNode = require('bluebird').fromNode;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ module.exports = Promise.method(function (kbnServer, server, config) {
|
|||
|
||||
if (config.get('pid.exclusive')) {
|
||||
server.log(['pid', 'fatal'], log);
|
||||
process.exit(1);
|
||||
process.exit(1); // eslint-disable-line no-process-exit
|
||||
} else {
|
||||
server.log(['pid', 'warning'], log);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let inherits = require('util').inherits;
|
||||
let Joi = require('joi');
|
||||
let Promise = require('bluebird');
|
||||
let resolve = require('path').resolve;
|
||||
let { resolve } = require('path');
|
||||
let { inherits } = require('util');
|
||||
|
||||
const defaultConfigSchema = Joi.object({
|
||||
enabled: Joi.boolean().default(true)
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let Plugin = require('./Plugin');
|
||||
let basename = require('path').basename;
|
||||
let join = require('path').join;
|
||||
let { basename, join } = require('path');
|
||||
|
||||
module.exports = class PluginApi {
|
||||
constructor(kibana, pluginPath) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let inspect = require('util').inspect;
|
||||
let PluginApi = require('./PluginApi');
|
||||
|
|
|
@ -2,7 +2,7 @@ module.exports = function (kbnServer, server, config) {
|
|||
var _ = require('lodash');
|
||||
var Promise = require('bluebird');
|
||||
var Boom = require('boom');
|
||||
var join = require('path').join;
|
||||
var { join } = require('path');
|
||||
|
||||
server.exposeStaticDir('/plugins/{id}/{path*}', function (req) {
|
||||
var id = req.params.id;
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server, config) {
|
||||
let _ = require('lodash');
|
||||
let resolve = require('bluebird').resolve;
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = function (kbnServer, server, config) {
|
||||
let _ = require('lodash');
|
||||
let Promise = require('bluebird');
|
||||
|
@ -47,7 +45,8 @@ module.exports = function (kbnServer, server, config) {
|
|||
})
|
||||
.filter(function (dir) {
|
||||
let path;
|
||||
try { path = require.resolve(dir); } catch (e) {}
|
||||
try { path = require.resolve(dir); }
|
||||
catch (e) { path = false; }
|
||||
|
||||
if (!path) {
|
||||
warning({ tmpl: 'Skipping non-plugin directory at <%= dir %>', dir: dir });
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
|
||||
let states = require('./states');
|
||||
|
@ -62,7 +60,7 @@ module.exports = class ServerStatus {
|
|||
|
||||
toString() {
|
||||
var overall = this.overall();
|
||||
return `${overall.title} – ${overall.nickname}`;
|
||||
return `${overall.title} – ${overall.nickname}`;
|
||||
}
|
||||
|
||||
toJSON() {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
let EventEmitter = require('events').EventEmitter;
|
||||
let states = require('./states');
|
||||
|
|
|
@ -2,7 +2,7 @@ module.exports = function (kbnServer) {
|
|||
var _ = require('lodash');
|
||||
var Samples = require('./Samples');
|
||||
var ServerStatus = require('./ServerStatus');
|
||||
var join = require('path').join;
|
||||
var { join } = require('path');
|
||||
|
||||
var server = kbnServer.server;
|
||||
var config = server.config();
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('lodash');
|
||||
|
||||
exports.all = [
|
||||
|
|
|
@ -99,7 +99,8 @@ define(function (require) {
|
|||
if (type === 'keyup') setModifier(key, false);
|
||||
|
||||
var $target = _.isFunction($el) ? $el() : $el;
|
||||
$target.trigger($.Event(type, _.defaults({ keyCode: keyCode }, modifierState)));
|
||||
var $event = new $.Event(type, _.defaults({ keyCode: keyCode }, modifierState));
|
||||
$target.trigger($event);
|
||||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue