diff --git a/x-pack/package.json b/x-pack/package.json
index c38e8ee876f83..cae3563f6ed31 100644
--- a/x-pack/package.json
+++ b/x-pack/package.json
@@ -30,7 +30,7 @@
"@kbn/plugin-helpers": "9.0.2",
"@kbn/test": "1.0.0",
"@types/angular": "1.6.50",
- "@types/boom": "7.2.0",
+ "@types/boom": "^7.2.0",
"@types/d3-array": "^1.2.1",
"@types/d3-scale": "^2.0.0",
"@types/d3-shape": "^1.2.2",
@@ -47,7 +47,7 @@
"@types/history": "^4.6.2",
"@types/jest": "^23.3.1",
"@types/joi": "^13.4.2",
- "@types/js-yaml": "^3.11.2",
+ "@types/js-yaml": "^3.11.1",
"@types/jsonwebtoken": "^7.2.7",
"@types/lodash": "^3.10.1",
"@types/mocha": "^5.2.5",
@@ -128,7 +128,7 @@
"supertest-as-promised": "^4.0.2",
"tmp": "0.0.31",
"tree-kill": "^1.1.0",
- "ts-jest": "^23.1.3",
+ "ts-jest": "^23.1.4",
"ts-loader": "^5.2.2",
"tslint": "^5.11.0",
"typescript": "^3.0.3",
@@ -220,7 +220,6 @@
"joi": "^13.5.2",
"jquery": "^3.3.1",
"jsonwebtoken": "^8.3.0",
- "language-detect": "^1.1.0",
"lodash": "npm:@elastic/lodash@3.10.1-kibana1",
"lodash.keyby": "^4.6.0",
"lodash.lowercase": "^4.3.0",
diff --git a/x-pack/plugins/code/public/actions/file.ts b/x-pack/plugins/code/public/actions/file.ts
index 828f094bc28a1..2ddfb417d0050 100644
--- a/x-pack/plugins/code/public/actions/file.ts
+++ b/x-pack/plugins/code/public/actions/file.ts
@@ -20,6 +20,7 @@ export interface FetchFilePayload extends FetchRepoPayloadWithRevision {
}
export interface FetchRepoTreePayload extends FetchFilePayload {
limit?: number;
+ parents?: boolean;
}
export interface FetchFileResponse {
diff --git a/x-pack/plugins/code/public/components/file_tree/__snapshots__/file_tree.test.tsx.snap b/x-pack/plugins/code/public/components/file_tree/__snapshots__/file_tree.test.tsx.snap
index a43bf6512af50..089549b3ca639 100644
--- a/x-pack/plugins/code/public/components/file_tree/__snapshots__/file_tree.test.tsx.snap
+++ b/x-pack/plugins/code/public/components/file_tree/__snapshots__/file_tree.test.tsx.snap
@@ -82,6 +82,9 @@ exports[`render correctly 1`] = `
className="fileNode"
onClick={[Function]}
>
+
- android/
+
+ android/
+
+
- futures/
+
+ futures/
+
+
- guava/
+
+ guava/
+
+
- javadoc-link/
+
+ javadoc-link/
+
- pom.xml
+
+
+ pom.xml
+
+
- src/com/google/
+
+ src/com/google/
+
+
- common/
+
+ common/
+
+
- thirdparty/publicsuffix/
+
+ thirdparty/publicsuffix/
+
@@ -347,10 +363,38 @@ exports[`render correctly 1`] = `
className="euiSideNavItem euiSideNavItem--trunk"
>
- guava-bom/pom.xml
+
+
+ guava-bom/pom.xml
+
+
- guava-gwt/
+
+ guava-gwt/
+
+
- guava-testlib/
+
+ guava-testlib/
+
+
- guava-tests/
+
+ guava-tests/
+
+
- refactorings/
+
+ refactorings/
+
+
- util/
+
+ util/
+
- .gitattributes
+
+
+ .gitattributes
+
- .gitignore
+
+
+ .gitignore
+
- .travis.yml
+
+
+ .travis.yml
+
- CONTRIBUTING.md
+
+
+ CONTRIBUTING.md
+
- CONTRIBUTORS
+
+
+ CONTRIBUTORS
+
- COPYING
+
+
+ COPYING
+
- README.md
+
+
+ README.md
+
- cycle_whitelist.txt
+
+
+ cycle_whitelist.txt
+
- javadoc-stylesheet.css
+
+
+ javadoc-stylesheet.css
+
- pom.xml
+
+
+ pom.xml
+
diff --git a/x-pack/plugins/code/public/components/file_tree/file_tree.scss b/x-pack/plugins/code/public/components/file_tree/file_tree.scss
index cf5cffa8869b6..a801c73578c45 100644
--- a/x-pack/plugins/code/public/components/file_tree/file_tree.scss
+++ b/x-pack/plugins/code/public/components/file_tree/file_tree.scss
@@ -1,7 +1,8 @@
%fileNode {
- padding: 4px;
+ padding: 4px 4px 4px 16px;
cursor: pointer;
white-space: nowrap;
+ margin-left: 5px;
}
.fileNode {
@@ -10,5 +11,9 @@
.activeFileNode {
@extend %fileNode;
- background: #0079a5;
+ background: #D9D9D9;;
}
+
+.fileTreeFile {
+ margin-left: 20px;
+}
\ No newline at end of file
diff --git a/x-pack/plugins/code/public/components/file_tree/file_tree.tsx b/x-pack/plugins/code/public/components/file_tree/file_tree.tsx
index cb4e4a7fd95ed..68d1047ed66ae 100644
--- a/x-pack/plugins/code/public/components/file_tree/file_tree.tsx
+++ b/x-pack/plugins/code/public/components/file_tree/file_tree.tsx
@@ -6,13 +6,44 @@
import React from 'react';
import { EuiIcon, EuiSideNav } from '@elastic/eui';
+import classes from 'classnames';
import { connect } from 'react-redux';
import { RouteComponentProps, withRouter } from 'react-router-dom';
+import styled from 'styled-components';
import { FileTree as Tree, FileTreeItemType } from '../../../model';
import { closeTreePath, fetchRepoTree, FetchRepoTreePayload } from '../../actions';
import { EuiSideNavItem, MainRouteParams, PathTypes } from '../../common/types';
import { RootState } from '../../reducers';
+
+const FolderClosedTriangle = styled.span`
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-right: 4px;
+ border: 6px solid transparent;
+ border-left: 6px solid grey;
+ border-right: 6px solid transparent;
+ vertical-align: middle;
+`;
+
+const FolderOpenTriangle = styled.span`
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-right: 4px;
+ margin-top: 3px;
+ border: 6px solid transparent;
+ border-top: 6px solid grey;
+ border-bottom: none;
+ vertical-align: middle;
+`;
+
+const DirectoryNode = styled.span`
+ margin-left: 4px;
+ vertical-align: middle;
+`;
+
interface Props extends RouteComponentProps {
node?: Tree;
closeTreePath: (path: string) => void;
@@ -69,8 +100,9 @@ export class CodeFileTree extends React.Component {
};
return (
-
- {`${node.name}/`}
+ {forceOpen ? : }
+
+ {`${node.name}/`}
);
}
@@ -83,8 +115,9 @@ export class CodeFileTree extends React.Component {
}
case FileTreeItemType.File: {
return (
-
- {node.name}
+
+
+ {node.name}
);
}
diff --git a/x-pack/plugins/code/public/components/file_tree/override_eui_side_nav_styles.scss b/x-pack/plugins/code/public/components/file_tree/override_eui_side_nav_styles.scss
index b65c47d5e23dc..736aac561e200 100644
--- a/x-pack/plugins/code/public/components/file_tree/override_eui_side_nav_styles.scss
+++ b/x-pack/plugins/code/public/components/file_tree/override_eui_side_nav_styles.scss
@@ -1,3 +1,11 @@
.euiSideNavItem--root + .euiSideNavItem--root {
margin-top: 1rem;
+}
+
+.euiSideNavItem__items:after {
+ width: 0;
+}
+
+.euiSideNavItem--trunk > .euiSideNavItem__items {
+ margin-left: 18px;
}
\ No newline at end of file
diff --git a/x-pack/plugins/code/public/reducers/file.ts b/x-pack/plugins/code/public/reducers/file.ts
index c59633f6444c8..36441dc498ad8 100644
--- a/x-pack/plugins/code/public/reducers/file.ts
+++ b/x-pack/plugins/code/public/reducers/file.ts
@@ -42,6 +42,7 @@ export interface FileState {
isNotFound: boolean;
treeCommits: { [path: string]: CommitInfo[] };
currentPath: string;
+ requestedPaths: string[];
}
const initialState: FileState = {
@@ -59,19 +60,18 @@ const initialState: FileState = {
treeCommits: {},
isNotFound: false,
currentPath: '',
+ requestedPaths: [],
};
function mergeTree(draft: FileState, tree: FileTree, path: string) {
const pathSegments = path.split('/');
let current = draft.tree;
- let node = tree;
+ const node = tree;
if (path && current.children != null) {
const pLastIndex = pathSegments.length - 1;
- pathSegments.forEach((p, pidx, arr) => {
+ pathSegments.forEach((p, pidx) => {
const idx = current.children!.findIndex(child => child.name === p);
- const index = node.children!.findIndex(child => child.name === p);
- if (idx >= 0 && index >= 0) {
- node = node.children![index];
+ if (idx >= 0) {
if (pidx === pLastIndex) {
current.children![idx!] = node;
}
@@ -99,6 +99,7 @@ export const file = handleActions(
if (draft.openedPaths.indexOf(path) < 0) {
draft.openedPaths.push(path);
}
+ draft.requestedPaths.push(path);
}),
[String(resetRepoTree)]: (state: FileState) =>
produce
(state, draft => {
diff --git a/x-pack/plugins/code/public/sagas/editor.ts b/x-pack/plugins/code/public/sagas/editor.ts
index 06cf2f23a04c5..aac63d8385c96 100644
--- a/x-pack/plugins/code/public/sagas/editor.ts
+++ b/x-pack/plugins/code/public/sagas/editor.ts
@@ -170,6 +170,7 @@ function* handleMainRouteChange(action: Action) {
uri: repoUri,
revision,
path: file || '',
+ parents: true,
})
);
if (file && pathType === PathTypes.blob) {
diff --git a/x-pack/plugins/code/public/sagas/file.ts b/x-pack/plugins/code/public/sagas/file.ts
index d184fb444ca12..e39fc073f4b92 100644
--- a/x-pack/plugins/code/public/sagas/file.ts
+++ b/x-pack/plugins/code/public/sagas/file.ts
@@ -4,8 +4,9 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import { some } from 'lodash';
import { Action } from 'redux-actions';
-import { call, put, takeEvery, takeLatest } from 'redux-saga/effects';
+import { call, put, select, takeEvery, takeLatest } from 'redux-saga/effects';
import { kfetch } from 'ui/kfetch';
import { FileTree } from '../../model';
import {
@@ -37,13 +38,18 @@ import {
openTreePath,
setNotFound,
} from '../actions';
+import { requestedPathsSelector } from '../selectors';
import { repoRoutePattern } from './patterns';
function* handleFetchRepoTree(action: Action) {
try {
const { uri, revision, path } = action.payload!;
if (path) {
- yield call(fetchPath, { uri, revision, path });
+ const requestedPaths: string[] = yield select(requestedPathsSelector);
+ const shouldFetch = !some(requestedPaths, p => p.startsWith(path));
+ if (shouldFetch) {
+ yield call(fetchPath, { uri, revision, path });
+ }
const pathSegments = path.split('/');
let currentPath = '';
// open all directories on the path
@@ -74,10 +80,26 @@ function* fetchPath(payload: FetchRepoTreePayload) {
return update;
}
-function requestRepoTree({ uri, revision, path, limit = 50 }: FetchRepoTreePayload) {
+interface FileTreeQuery {
+ parents?: boolean;
+ limit: number;
+ flatten: boolean;
+}
+
+function requestRepoTree({
+ uri,
+ revision,
+ path,
+ limit = 50,
+ parents = false,
+}: FetchRepoTreePayload) {
+ const query: FileTreeQuery = { limit, flatten: true };
+ if (parents) {
+ query.parents = true;
+ }
return kfetch({
pathname: `../api/code/repo/${uri}/tree/${revision}/${path}`,
- query: { parents: true, limit, flatten: true },
+ query,
});
}
diff --git a/x-pack/plugins/code/public/selectors/index.ts b/x-pack/plugins/code/public/selectors/index.ts
index cdb7c2444d2d3..ab7dd5a05560d 100644
--- a/x-pack/plugins/code/public/selectors/index.ts
+++ b/x-pack/plugins/code/public/selectors/index.ts
@@ -57,3 +57,5 @@ export const treeCommitsSelector = (state: RootState) => {
return state.file.treeCommits[path];
}
};
+
+export const requestedPathsSelector = (state: RootState) => state.file.requestedPaths;
diff --git a/x-pack/plugins/code/server/indexer/index_creator.ts b/x-pack/plugins/code/server/indexer/index_creator.ts
index a69e9e73fa6af..6c2e6a8314e14 100644
--- a/x-pack/plugins/code/server/indexer/index_creator.ts
+++ b/x-pack/plugins/code/server/indexer/index_creator.ts
@@ -6,8 +6,8 @@
import { EsClient } from '@code/esqueue';
-import pkg from '../../package.json';
import { IndexCreationRequest } from './index_creation_request';
+import pkg from './schema/version.json';
/*
* This IndexCreator deals with anything with elasticsearch index creation.
diff --git a/x-pack/plugins/code/server/indexer/index_migrator.ts b/x-pack/plugins/code/server/indexer/index_migrator.ts
index 09ef14641ced8..40f6eeb66a96a 100644
--- a/x-pack/plugins/code/server/indexer/index_migrator.ts
+++ b/x-pack/plugins/code/server/indexer/index_migrator.ts
@@ -14,9 +14,9 @@ import {
IndexVersionController,
} from '.';
import { Repository } from '../../model';
-import pkg from '../../package.json';
import { Log } from '../../server/log';
import { RepositoryObjectClient } from '../../server/search';
+import pkg from './schema/version.json';
export class IndexMigrator {
private version: number;
diff --git a/x-pack/plugins/code/server/indexer/index_version_controller.test.ts b/x-pack/plugins/code/server/indexer/index_version_controller.test.ts
index da0f8f3b3b9d1..6f3ee99fea7da 100644
--- a/x-pack/plugins/code/server/indexer/index_version_controller.test.ts
+++ b/x-pack/plugins/code/server/indexer/index_version_controller.test.ts
@@ -7,11 +7,11 @@
import { AnyObject, EsClient } from '@code/esqueue';
import sinon from 'sinon';
-import pkg from '../../package.json';
import { Log } from '../log';
import { ConsoleLoggerFactory } from '../utils/console_logger_factory';
import { IndexCreationRequest } from './index_creation_request';
import { IndexVersionController } from './index_version_controller';
+import pkg from './schema/version.json';
const log: Log = (new ConsoleLoggerFactory().getLogger(['test']) as any) as Log;
diff --git a/x-pack/plugins/code/server/indexer/index_version_controller.ts b/x-pack/plugins/code/server/indexer/index_version_controller.ts
index 2123608939989..238e16f2ee6f6 100644
--- a/x-pack/plugins/code/server/indexer/index_version_controller.ts
+++ b/x-pack/plugins/code/server/indexer/index_version_controller.ts
@@ -8,9 +8,9 @@ import { EsClient } from '@code/esqueue';
import _ from 'lodash';
import { IndexMigrator } from '.';
-import pkg from '../../package.json';
import { Log } from '../log';
import { IndexCreationRequest } from './index_creation_request';
+import pkg from './schema/version.json';
export class IndexVersionController {
private version: number;
diff --git a/x-pack/plugins/code/package.json b/x-pack/plugins/code/server/indexer/schema/version.json
similarity index 93%
rename from x-pack/plugins/code/package.json
rename to x-pack/plugins/code/server/indexer/schema/version.json
index 68d0923668573..00198abef978d 100644
--- a/x-pack/plugins/code/package.json
+++ b/x-pack/plugins/code/server/indexer/schema/version.json
@@ -1,3 +1,3 @@
{
"codeIndexVersion": "1"
-}
+}
\ No newline at end of file
diff --git a/x-pack/plugins/code/server/utils/detect_language.ts b/x-pack/plugins/code/server/utils/detect_language.ts
index 051409304dfeb..bdff6486361fa 100644
--- a/x-pack/plugins/code/server/utils/detect_language.ts
+++ b/x-pack/plugins/code/server/utils/detect_language.ts
@@ -3,43 +3,54 @@
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
-import fs from 'fs';
-// @ts-ignore
-import * as detect from 'language-detect';
+import path from 'path';
+
+import * as extensions from './extensions.json';
+
+const languageMap: { [key: string]: string } = extensions;
// patch the lib
-detect.extensions['.ts'] = 'typescript';
-detect.extensions['.tsx'] = 'typescript';
+languageMap['.ts'] = 'typescript';
+languageMap['.tsx'] = 'typescript';
-function readFile(file: string) {
- return new Promise((resolve, reject) =>
- fs.readFile(file, 'utf8', (err, content) => {
- if (err) {
- reject(err);
- } else {
- resolve(content);
- }
- })
- );
+function detectByFilename(file: string): string {
+ const ext = path.extname(file);
+ if (ext) {
+ return languageMap[ext];
+ }
+ return 'other'; // TODO: if how should we deal with other types?
}
+// function readFile(file: string) {
+// return new Promise((resolve, reject) =>
+// fs.readFile(file, 'utf8', (err, content) => {
+// if (err) {
+// reject(err);
+// } else {
+// resolve(content);
+// }
+// })
+// );
+// }
+
export function detectLanguageByFilename(filename: string) {
- const lang = detect.filename(filename);
+ const lang = detectByFilename(filename);
return lang && lang.toLowerCase();
}
export async function detectLanguage(file: string, fileContent?: Buffer | string) {
- let lang = detect.filename(file);
- if (!lang) {
- let content: string;
- if (fileContent) {
- content = typeof fileContent === 'string' ? fileContent : fileContent.toString('utf8');
- } else {
- content = await readFile(file);
- }
- lang = detect.contents(file, content);
- return lang ? lang.toLowerCase() : null;
- } else {
- return Promise.resolve(lang.toLowerCase());
- }
+ const lang = detectByFilename(file);
+ return Promise.resolve(lang.toLowerCase());
+ // if (!lang) {
+ // let content: string;
+ // if (fileContent) {
+ // content = typeof fileContent === 'string' ? fileContent : fileContent.toString('utf8');
+ // } else {
+ // content = await readFile(file);
+ // }
+ // lang = detect.contents(file, content);
+ // return lang ? lang.toLowerCase() : null;
+ // } else {
+ // return Promise.resolve(lang.toLowerCase());
+ // }
}
diff --git a/x-pack/plugins/code/server/utils/extensions.json b/x-pack/plugins/code/server/utils/extensions.json
new file mode 100644
index 0000000000000..903ba4e18d4a2
--- /dev/null
+++ b/x-pack/plugins/code/server/utils/extensions.json
@@ -0,0 +1,846 @@
+{
+ ".abap": "ABAP",
+ ".asc": "Public Key",
+ ".ash": "AGS Script",
+ ".ampl": "AMPL",
+ ".mod": "XML",
+ ".g4": "ANTLR",
+ ".apib": "API Blueprint",
+ ".apl": "APL",
+ ".dyalog": "APL",
+ ".asp": "ASP",
+ ".asax": "ASP",
+ ".ascx": "ASP",
+ ".ashx": "ASP",
+ ".asmx": "ASP",
+ ".aspx": "ASP",
+ ".axd": "ASP",
+ ".dats": "ATS",
+ ".hats": "ATS",
+ ".sats": "ATS",
+ ".as": "ActionScript",
+ ".adb": "Ada",
+ ".ada": "Ada",
+ ".ads": "Ada",
+ ".agda": "Agda",
+ ".als": "Alloy",
+ ".apacheconf": "ApacheConf",
+ ".vhost": "Nginx",
+ ".cls": "Visual Basic",
+ ".applescript": "AppleScript",
+ ".scpt": "AppleScript",
+ ".arc": "Arc",
+ ".ino": "Arduino",
+ ".asciidoc": "AsciiDoc",
+ ".adoc": "AsciiDoc",
+ ".aj": "AspectJ",
+ ".asm": "Assembly",
+ ".a51": "Assembly",
+ ".inc": "SourcePawn",
+ ".nasm": "Assembly",
+ ".aug": "Augeas",
+ ".ahk": "AutoHotkey",
+ ".ahkl": "AutoHotkey",
+ ".au3": "AutoIt",
+ ".awk": "Awk",
+ ".auk": "Awk",
+ ".gawk": "Awk",
+ ".mawk": "Awk",
+ ".nawk": "Awk",
+ ".bat": "Batchfile",
+ ".cmd": "Batchfile",
+ ".befunge": "Befunge",
+ ".bison": "Bison",
+ ".bb": "BlitzBasic",
+ ".decls": "BlitzBasic",
+ ".bmx": "BlitzMax",
+ ".bsv": "Bluespec",
+ ".boo": "Boo",
+ ".b": "Limbo",
+ ".bf": "HyPhy",
+ ".brs": "Brightscript",
+ ".bro": "Bro",
+ ".c": "C",
+ ".cats": "C",
+ ".h": "Objective-C",
+ ".idc": "C",
+ ".w": "C",
+ ".cs": "Smalltalk",
+ ".cshtml": "C#",
+ ".csx": "C#",
+ ".cpp": "C++",
+ ".c++": "C++",
+ ".cc": "C++",
+ ".cp": "Component Pascal",
+ ".cxx": "C++",
+ ".h++": "C++",
+ ".hh": "Hack",
+ ".hpp": "C++",
+ ".hxx": "C++",
+ ".inl": "C++",
+ ".ipp": "C++",
+ ".tcc": "C++",
+ ".tpp": "C++",
+ ".c-objdump": "C-ObjDump",
+ ".chs": "C2hs Haskell",
+ ".clp": "CLIPS",
+ ".cmake": "CMake",
+ ".cmake.in": "CMake",
+ ".cob": "COBOL",
+ ".cbl": "COBOL",
+ ".ccp": "COBOL",
+ ".cobol": "COBOL",
+ ".cpy": "COBOL",
+ ".css": "CSS",
+ ".capnp": "Cap'n Proto",
+ ".mss": "CartoCSS",
+ ".ceylon": "Ceylon",
+ ".chpl": "Chapel",
+ ".ch": "xBase",
+ ".ck": "ChucK",
+ ".cirru": "Cirru",
+ ".clw": "Clarion",
+ ".icl": "Clean",
+ ".dcl": "Clean",
+ ".clj": "Clojure",
+ ".boot": "Clojure",
+ ".cl2": "Clojure",
+ ".cljc": "Clojure",
+ ".cljs": "Clojure",
+ ".cljs.hl": "Clojure",
+ ".cljscm": "Clojure",
+ ".cljx": "Clojure",
+ ".hic": "Clojure",
+ ".coffee": "CoffeeScript",
+ "._coffee": "CoffeeScript",
+ ".cjsx": "CoffeeScript",
+ ".cson": "CoffeeScript",
+ ".iced": "CoffeeScript",
+ ".cfm": "ColdFusion",
+ ".cfml": "ColdFusion",
+ ".cfc": "ColdFusion CFC",
+ ".lisp": "NewLisp",
+ ".asd": "Common Lisp",
+ ".cl": "OpenCL",
+ ".l": "PicoLisp",
+ ".lsp": "NewLisp",
+ ".ny": "Common Lisp",
+ ".podsl": "Common Lisp",
+ ".sexp": "Common Lisp",
+ ".cps": "Component Pascal",
+ ".coq": "Coq",
+ ".v": "Verilog",
+ ".cppobjdump": "Cpp-ObjDump",
+ ".c++-objdump": "Cpp-ObjDump",
+ ".c++objdump": "Cpp-ObjDump",
+ ".cpp-objdump": "Cpp-ObjDump",
+ ".cxx-objdump": "Cpp-ObjDump",
+ ".creole": "Creole",
+ ".cr": "Crystal",
+ ".feature": "Cucumber",
+ ".cu": "Cuda",
+ ".cuh": "Cuda",
+ ".cy": "Cycript",
+ ".pyx": "Cython",
+ ".pxd": "Cython",
+ ".pxi": "Cython",
+ ".d": "Makefile",
+ ".di": "D",
+ ".d-objdump": "D-ObjDump",
+ ".com": "DIGITAL Command Language",
+ ".dm": "DM",
+ ".zone": "DNS Zone",
+ ".arpa": "DNS Zone",
+ ".darcspatch": "Darcs Patch",
+ ".dpatch": "Darcs Patch",
+ ".dart": "Dart",
+ ".diff": "Diff",
+ ".patch": "Diff",
+ ".dockerfile": "Dockerfile",
+ ".djs": "Dogescript",
+ ".dylan": "Dylan",
+ ".dyl": "Dylan",
+ ".intr": "Dylan",
+ ".lid": "Dylan",
+ ".e": "Eiffel",
+ ".ecl": "ECLiPSe",
+ ".eclxml": "ECL",
+ ".sch": "KiCad",
+ ".brd": "Eagle",
+ ".epj": "Ecere Projects",
+ ".ex": "Elixir",
+ ".exs": "Elixir",
+ ".elm": "Elm",
+ ".el": "Emacs Lisp",
+ ".emacs": "Emacs Lisp",
+ ".emacs.desktop": "Emacs Lisp",
+ ".em": "EmberScript",
+ ".emberscript": "EmberScript",
+ ".erl": "Erlang",
+ ".es": "Erlang",
+ ".escript": "Erlang",
+ ".hrl": "Erlang",
+ ".fs": "GLSL",
+ ".fsi": "F#",
+ ".fsx": "F#",
+ ".fx": "FLUX",
+ ".flux": "FLUX",
+ ".f90": "FORTRAN",
+ ".f": "Forth",
+ ".f03": "FORTRAN",
+ ".f08": "FORTRAN",
+ ".f77": "FORTRAN",
+ ".f95": "FORTRAN",
+ ".for": "Forth",
+ ".fpp": "FORTRAN",
+ ".factor": "Factor",
+ ".fy": "Fancy",
+ ".fancypack": "Fancy",
+ ".fan": "Fantom",
+ ".fth": "Forth",
+ ".4th": "Forth",
+ ".forth": "Forth",
+ ".fr": "Text",
+ ".frt": "Forth",
+ ".g": "GAP",
+ ".gco": "G-code",
+ ".gcode": "G-code",
+ ".gms": "GAMS",
+ ".gap": "GAP",
+ ".gd": "GDScript",
+ ".gi": "GAP",
+ ".tst": "Scilab",
+ ".s": "GAS",
+ ".ms": "Groff",
+ ".glsl": "GLSL",
+ ".fp": "GLSL",
+ ".frag": "JavaScript",
+ ".frg": "GLSL",
+ ".fshader": "GLSL",
+ ".geo": "GLSL",
+ ".geom": "GLSL",
+ ".glslv": "GLSL",
+ ".gshader": "GLSL",
+ ".shader": "GLSL",
+ ".vert": "GLSL",
+ ".vrx": "GLSL",
+ ".vshader": "GLSL",
+ ".gml": "XML",
+ ".kid": "Genshi",
+ ".ebuild": "Gentoo Ebuild",
+ ".eclass": "Gentoo Eclass",
+ ".po": "Gettext Catalog",
+ ".pot": "Gettext Catalog",
+ ".glf": "Glyph",
+ ".gp": "Gnuplot",
+ ".gnu": "Gnuplot",
+ ".gnuplot": "Gnuplot",
+ ".plot": "Gnuplot",
+ ".plt": "Gnuplot",
+ ".go": "Go",
+ ".golo": "Golo",
+ ".gs": "JavaScript",
+ ".gst": "Gosu",
+ ".gsx": "Gosu",
+ ".vark": "Gosu",
+ ".grace": "Grace",
+ ".gradle": "Gradle",
+ ".gf": "Grammatical Framework",
+ ".dot": "Graphviz (DOT)",
+ ".gv": "Graphviz (DOT)",
+ ".man": "Groff",
+ ".1": "Groff",
+ ".1in": "Groff",
+ ".1m": "Groff",
+ ".1x": "Groff",
+ ".2": "Groff",
+ ".3": "Groff",
+ ".3in": "Groff",
+ ".3m": "Groff",
+ ".3qt": "Groff",
+ ".3x": "Groff",
+ ".4": "Groff",
+ ".5": "Groff",
+ ".6": "Groff",
+ ".7": "Groff",
+ ".8": "Groff",
+ ".9": "Groff",
+ ".n": "Nemerle",
+ ".rno": "Groff",
+ ".roff": "Groff",
+ ".groovy": "Groovy",
+ ".grt": "Groovy",
+ ".gtpl": "Groovy",
+ ".gvy": "Groovy",
+ ".gsp": "Groovy Server Pages",
+ ".hcl": "HCL",
+ ".tf": "HCL",
+ ".html": "HTML",
+ ".htm": "HTML",
+ ".html.hl": "HTML",
+ ".st": "Smalltalk",
+ ".xht": "HTML",
+ ".xhtml": "HTML",
+ ".mustache": "HTML+Django",
+ ".jinja": "HTML+Django",
+ ".erb": "HTML+ERB",
+ ".erb.deface": "HTML+ERB",
+ ".phtml": "HTML+PHP",
+ ".http": "HTTP",
+ ".php": "PHP",
+ ".haml": "Haml",
+ ".haml.deface": "Haml",
+ ".handlebars": "Handlebars",
+ ".hbs": "Handlebars",
+ ".hb": "Harbour",
+ ".hs": "Haskell",
+ ".hsc": "Haskell",
+ ".hx": "Haxe",
+ ".hxsl": "Haxe",
+ ".hy": "Hy",
+ ".pro": "QMake",
+ ".dlm": "IDL",
+ ".ipf": "IGOR Pro",
+ ".ini": "INI",
+ ".cfg": "INI",
+ ".prefs": "INI",
+ ".properties": "INI",
+ ".irclog": "IRC log",
+ ".weechatlog": "IRC log",
+ ".idr": "Idris",
+ ".lidr": "Idris",
+ ".ni": "Inform 7",
+ ".i7x": "Inform 7",
+ ".iss": "Inno Setup",
+ ".io": "Io",
+ ".ik": "Ioke",
+ ".thy": "Isabelle",
+ ".ijs": "J",
+ ".flex": "JFlex",
+ ".jflex": "JFlex",
+ ".json": "JSON",
+ ".lock": "JSON",
+ ".json5": "JSON5",
+ ".jsonld": "JSONLD",
+ ".jq": "JSONiq",
+ ".jade": "Jade",
+ ".j": "Objective-J",
+ ".java": "Java",
+ ".jsp": "Java Server Pages",
+ ".js": "JavaScript",
+ "._js": "JavaScript",
+ ".bones": "JavaScript",
+ ".es6": "JavaScript",
+ ".jake": "JavaScript",
+ ".jsb": "JavaScript",
+ ".jsfl": "JavaScript",
+ ".jsm": "JavaScript",
+ ".jss": "JavaScript",
+ ".jsx": "JavaScript",
+ ".njs": "JavaScript",
+ ".pac": "JavaScript",
+ ".sjs": "JavaScript",
+ ".ssjs": "JavaScript",
+ ".sublime-build": "JavaScript",
+ ".sublime-commands": "JavaScript",
+ ".sublime-completions": "JavaScript",
+ ".sublime-keymap": "JavaScript",
+ ".sublime-macro": "JavaScript",
+ ".sublime-menu": "JavaScript",
+ ".sublime-mousemap": "JavaScript",
+ ".sublime-project": "JavaScript",
+ ".sublime-settings": "JavaScript",
+ ".sublime-theme": "JavaScript",
+ ".sublime-workspace": "JavaScript",
+ ".sublime_metrics": "JavaScript",
+ ".sublime_session": "JavaScript",
+ ".xsjs": "JavaScript",
+ ".xsjslib": "JavaScript",
+ ".jl": "Julia",
+ ".krl": "KRL",
+ ".kicad_pcb": "KiCad",
+ ".kit": "Kit",
+ ".kt": "Kotlin",
+ ".ktm": "Kotlin",
+ ".kts": "Kotlin",
+ ".lfe": "LFE",
+ ".ll": "LLVM",
+ ".lol": "LOLCODE",
+ ".lsl": "LSL",
+ ".lvproj": "LabVIEW",
+ ".lasso": "Lasso",
+ ".las": "Lasso",
+ ".lasso8": "Lasso",
+ ".lasso9": "Lasso",
+ ".ldml": "Lasso",
+ ".latte": "Latte",
+ ".lean": "Lean",
+ ".hlean": "Lean",
+ ".less": "Less",
+ ".lex": "Lex",
+ ".ly": "LilyPond",
+ ".ily": "LilyPond",
+ ".m": "Objective-C",
+ ".ld": "Linker Script",
+ ".lds": "Linker Script",
+ ".liquid": "Liquid",
+ ".lagda": "Literate Agda",
+ ".litcoffee": "Literate CoffeeScript",
+ ".lhs": "Literate Haskell",
+ ".ls": "LoomScript",
+ "._ls": "LiveScript",
+ ".xm": "Logos",
+ ".x": "Logos",
+ ".xi": "Logos",
+ ".lgt": "Logtalk",
+ ".logtalk": "Logtalk",
+ ".lookml": "LookML",
+ ".lua": "Lua",
+ ".fcgi": "Shell",
+ ".nse": "Lua",
+ ".pd_lua": "Lua",
+ ".rbxs": "Lua",
+ ".wlua": "Lua",
+ ".mumps": "M",
+ ".mtml": "MTML",
+ ".muf": "MUF",
+ ".mak": "Makefile",
+ ".mk": "Makefile",
+ ".mako": "Mako",
+ ".mao": "Mako",
+ ".md": "Markdown",
+ ".markdown": "Markdown",
+ ".mkd": "Markdown",
+ ".mkdn": "Markdown",
+ ".mkdown": "Markdown",
+ ".ron": "Markdown",
+ ".mask": "Mask",
+ ".mathematica": "Mathematica",
+ ".cdf": "Mathematica",
+ ".ma": "Mathematica",
+ ".nb": "Mathematica",
+ ".nbp": "Mathematica",
+ ".wl": "Mathematica",
+ ".wlt": "Mathematica",
+ ".matlab": "Matlab",
+ ".maxpat": "Max",
+ ".maxhelp": "Max",
+ ".maxproj": "Max",
+ ".mxt": "Max",
+ ".pat": "Max",
+ ".mediawiki": "MediaWiki",
+ ".moo": "Moocode",
+ ".minid": "MiniD",
+ ".druby": "Mirah",
+ ".duby": "Mirah",
+ ".mir": "Mirah",
+ ".mirah": "Mirah",
+ ".mo": "Modelica",
+ ".mms": "Module Management System",
+ ".mmk": "Module Management System",
+ ".monkey": "Monkey",
+ ".moon": "MoonScript",
+ ".myt": "Myghty",
+ ".ncl": "Text",
+ ".nl": "NewLisp",
+ ".nsi": "NSIS",
+ ".nsh": "NSIS",
+ ".axs": "NetLinx",
+ ".axi": "NetLinx",
+ ".axs.erb": "NetLinx+ERB",
+ ".axi.erb": "NetLinx+ERB",
+ ".nlogo": "NetLogo",
+ ".nginxconf": "Nginx",
+ ".nim": "Nimrod",
+ ".nimrod": "Nimrod",
+ ".ninja": "Ninja",
+ ".nit": "Nit",
+ ".nix": "Nix",
+ ".nu": "Nu",
+ ".numpy": "NumPy",
+ ".numpyw": "NumPy",
+ ".numsc": "NumPy",
+ ".ml": "Standard ML",
+ ".eliom": "OCaml",
+ ".eliomi": "OCaml",
+ ".ml4": "OCaml",
+ ".mli": "OCaml",
+ ".mll": "OCaml",
+ ".mly": "OCaml",
+ ".objdump": "ObjDump",
+ ".mm": "XML",
+ ".sj": "Objective-J",
+ ".omgrofl": "Omgrofl",
+ ".opa": "Opa",
+ ".opal": "Opal",
+ ".opencl": "OpenCL",
+ ".p": "OpenEdge ABL",
+ ".scad": "OpenSCAD",
+ ".org": "Org",
+ ".ox": "Ox",
+ ".oxh": "Ox",
+ ".oxo": "Ox",
+ ".oxygene": "Oxygene",
+ ".oz": "Oz",
+ ".pwn": "PAWN",
+ ".aw": "PHP",
+ ".ctp": "PHP",
+ ".php3": "PHP",
+ ".php4": "PHP",
+ ".php5": "PHP",
+ ".phpt": "PHP",
+ ".pls": "PLSQL",
+ ".pkb": "PLSQL",
+ ".pks": "PLSQL",
+ ".plb": "PLSQL",
+ ".plsql": "PLSQL",
+ ".sql": "SQLPL",
+ ".pan": "Pan",
+ ".psc": "Papyrus",
+ ".parrot": "Parrot",
+ ".pasm": "Parrot Assembly",
+ ".pir": "Parrot Internal Representation",
+ ".pas": "Pascal",
+ ".dfm": "Pascal",
+ ".dpr": "Pascal",
+ ".lpr": "Pascal",
+ ".pp": "Puppet",
+ ".pl": "Prolog",
+ ".al": "Perl",
+ ".cgi": "Shell",
+ ".perl": "Perl",
+ ".ph": "Perl",
+ ".plx": "Perl",
+ ".pm": "Perl6",
+ ".pod": "Pod",
+ ".psgi": "Perl",
+ ".t": "Turing",
+ ".6pl": "Perl6",
+ ".6pm": "Perl6",
+ ".nqp": "Perl6",
+ ".p6": "Perl6",
+ ".p6l": "Perl6",
+ ".p6m": "Perl6",
+ ".pl6": "Perl6",
+ ".pm6": "Perl6",
+ ".pig": "PigLatin",
+ ".pike": "Pike",
+ ".pmod": "Pike",
+ ".pogo": "PogoScript",
+ ".ps": "PostScript",
+ ".eps": "PostScript",
+ ".ps1": "PowerShell",
+ ".psd1": "PowerShell",
+ ".psm1": "PowerShell",
+ ".pde": "Processing",
+ ".prolog": "Prolog",
+ ".spin": "Propeller Spin",
+ ".proto": "Protocol Buffer",
+ ".pub": "Public Key",
+ ".pd": "Pure Data",
+ ".pb": "PureBasic",
+ ".pbi": "PureBasic",
+ ".purs": "PureScript",
+ ".py": "Python",
+ ".gyp": "Python",
+ ".lmi": "Python",
+ ".pyde": "Python",
+ ".pyp": "Python",
+ ".pyt": "Python",
+ ".pyw": "Python",
+ ".tac": "Python",
+ ".wsgi": "Python",
+ ".xpy": "Python",
+ ".pytb": "Python traceback",
+ ".qml": "QML",
+ ".qbs": "QML",
+ ".pri": "QMake",
+ ".r": "Rebol",
+ ".rd": "R",
+ ".rsx": "R",
+ ".raml": "RAML",
+ ".rdoc": "RDoc",
+ ".rbbas": "REALbasic",
+ ".rbfrm": "REALbasic",
+ ".rbmnu": "REALbasic",
+ ".rbres": "REALbasic",
+ ".rbtbar": "REALbasic",
+ ".rbuistate": "REALbasic",
+ ".rhtml": "RHTML",
+ ".rmd": "RMarkdown",
+ ".rkt": "Racket",
+ ".rktd": "Racket",
+ ".rktl": "Racket",
+ ".scrbl": "Racket",
+ ".rl": "Ragel in Ruby Host",
+ ".raw": "Raw token data",
+ ".reb": "Rebol",
+ ".r2": "Rebol",
+ ".r3": "Rebol",
+ ".rebol": "Rebol",
+ ".red": "Red",
+ ".reds": "Red",
+ ".cw": "Redcode",
+ ".rs": "Rust",
+ ".rsh": "RenderScript",
+ ".robot": "RobotFramework",
+ ".rg": "Rouge",
+ ".rb": "Ruby",
+ ".builder": "Ruby",
+ ".gemspec": "Ruby",
+ ".god": "Ruby",
+ ".irbrc": "Ruby",
+ ".jbuilder": "Ruby",
+ ".mspec": "Ruby",
+ ".pluginspec": "XML",
+ ".podspec": "Ruby",
+ ".rabl": "Ruby",
+ ".rake": "Ruby",
+ ".rbuild": "Ruby",
+ ".rbw": "Ruby",
+ ".rbx": "Ruby",
+ ".ru": "Ruby",
+ ".ruby": "Ruby",
+ ".thor": "Ruby",
+ ".watchr": "Ruby",
+ ".sas": "SAS",
+ ".scss": "SCSS",
+ ".smt2": "SMT",
+ ".smt": "SMT",
+ ".sparql": "SPARQL",
+ ".rq": "SPARQL",
+ ".sqf": "SQF",
+ ".hqf": "SQF",
+ ".cql": "SQL",
+ ".ddl": "SQL",
+ ".prc": "SQL",
+ ".tab": "SQL",
+ ".udf": "SQL",
+ ".viw": "SQL",
+ ".db2": "SQLPL",
+ ".ston": "STON",
+ ".svg": "SVG",
+ ".sage": "Sage",
+ ".sagews": "Sage",
+ ".sls": "Scheme",
+ ".sass": "Sass",
+ ".scala": "Scala",
+ ".sbt": "Scala",
+ ".sc": "SuperCollider",
+ ".scaml": "Scaml",
+ ".scm": "Scheme",
+ ".sld": "Scheme",
+ ".sps": "Scheme",
+ ".ss": "Scheme",
+ ".sci": "Scilab",
+ ".sce": "Scilab",
+ ".self": "Self",
+ ".sh": "Shell",
+ ".bash": "Shell",
+ ".bats": "Shell",
+ ".command": "Shell",
+ ".ksh": "Shell",
+ ".tmux": "Shell",
+ ".tool": "Shell",
+ ".zsh": "Shell",
+ ".sh-session": "ShellSession",
+ ".shen": "Shen",
+ ".sl": "Slash",
+ ".slim": "Slim",
+ ".smali": "Smali",
+ ".tpl": "Smarty",
+ ".sp": "SourcePawn",
+ ".sma": "SourcePawn",
+ ".nut": "Squirrel",
+ ".fun": "Standard ML",
+ ".sig": "Standard ML",
+ ".sml": "Standard ML",
+ ".do": "Stata",
+ ".ado": "Stata",
+ ".doh": "Stata",
+ ".ihlp": "Stata",
+ ".mata": "Stata",
+ ".matah": "Stata",
+ ".sthlp": "Stata",
+ ".styl": "Stylus",
+ ".scd": "SuperCollider",
+ ".swift": "Swift",
+ ".sv": "SystemVerilog",
+ ".svh": "SystemVerilog",
+ ".vh": "SystemVerilog",
+ ".toml": "TOML",
+ ".txl": "TXL",
+ ".tcl": "Tcl",
+ ".adp": "Tcl",
+ ".tm": "Tcl",
+ ".tcsh": "Tcsh",
+ ".csh": "Tcsh",
+ ".tex": "TeX",
+ ".aux": "TeX",
+ ".bbx": "TeX",
+ ".bib": "TeX",
+ ".cbx": "TeX",
+ ".dtx": "TeX",
+ ".ins": "TeX",
+ ".lbx": "TeX",
+ ".ltx": "TeX",
+ ".mkii": "TeX",
+ ".mkiv": "TeX",
+ ".mkvi": "TeX",
+ ".sty": "TeX",
+ ".toc": "TeX",
+ ".tea": "Tea",
+ ".txt": "Text",
+ ".textile": "Textile",
+ ".thrift": "Thrift",
+ ".tu": "Turing",
+ ".ttl": "Turtle",
+ ".twig": "Twig",
+ ".ts": "XML",
+ ".upc": "Unified Parallel C",
+ ".anim": "Unity3D Asset",
+ ".asset": "Unity3D Asset",
+ ".mat": "Unity3D Asset",
+ ".meta": "Unity3D Asset",
+ ".prefab": "Unity3D Asset",
+ ".unity": "Unity3D Asset",
+ ".uc": "UnrealScript",
+ ".vcl": "VCL",
+ ".vhdl": "VHDL",
+ ".vhd": "VHDL",
+ ".vhf": "VHDL",
+ ".vhi": "VHDL",
+ ".vho": "VHDL",
+ ".vhs": "VHDL",
+ ".vht": "VHDL",
+ ".vhw": "VHDL",
+ ".vala": "Vala",
+ ".vapi": "Vala",
+ ".veo": "Verilog",
+ ".vim": "VimL",
+ ".vb": "Visual Basic",
+ ".bas": "Visual Basic",
+ ".frm": "Visual Basic",
+ ".frx": "Visual Basic",
+ ".vba": "Visual Basic",
+ ".vbhtml": "Visual Basic",
+ ".vbs": "Visual Basic",
+ ".volt": "Volt",
+ ".vue": "Vue",
+ ".owl": "Web Ontology Language",
+ ".webidl": "WebIDL",
+ ".xc": "XC",
+ ".xml": "XML",
+ ".ant": "XML",
+ ".axml": "XML",
+ ".ccxml": "XML",
+ ".clixml": "XML",
+ ".cproject": "XML",
+ ".csproj": "XML",
+ ".ct": "XML",
+ ".dita": "XML",
+ ".ditamap": "XML",
+ ".ditaval": "XML",
+ ".dll.config": "XML",
+ ".filters": "XML",
+ ".fsproj": "XML",
+ ".fxml": "XML",
+ ".glade": "XML",
+ ".grxml": "XML",
+ ".iml": "XML",
+ ".ivy": "XML",
+ ".jelly": "XML",
+ ".kml": "XML",
+ ".launch": "XML",
+ ".mdpolicy": "XML",
+ ".mxml": "XML",
+ ".nproj": "XML",
+ ".nuspec": "XML",
+ ".odd": "XML",
+ ".osm": "XML",
+ ".plist": "XML",
+ ".ps1xml": "XML",
+ ".psc1": "XML",
+ ".pt": "XML",
+ ".rdf": "XML",
+ ".rss": "XML",
+ ".scxml": "XML",
+ ".srdf": "XML",
+ ".storyboard": "XML",
+ ".sttheme": "XML",
+ ".sublime-snippet": "XML",
+ ".targets": "XML",
+ ".tmcommand": "XML",
+ ".tml": "XML",
+ ".tmlanguage": "XML",
+ ".tmpreferences": "XML",
+ ".tmsnippet": "XML",
+ ".tmtheme": "XML",
+ ".ui": "XML",
+ ".urdf": "XML",
+ ".vbproj": "XML",
+ ".vcxproj": "XML",
+ ".vxml": "XML",
+ ".wsdl": "XML",
+ ".wsf": "XML",
+ ".wxi": "XML",
+ ".wxl": "XML",
+ ".wxs": "XML",
+ ".x3d": "XML",
+ ".xacro": "XML",
+ ".xaml": "XML",
+ ".xib": "XML",
+ ".xlf": "XML",
+ ".xliff": "XML",
+ ".xmi": "XML",
+ ".xml.dist": "XML",
+ ".xsd": "XML",
+ ".xul": "XML",
+ ".zcml": "XML",
+ ".xsp-config": "XPages",
+ ".xsp.metadata": "XPages",
+ ".xpl": "XProc",
+ ".xproc": "XProc",
+ ".xquery": "XQuery",
+ ".xq": "XQuery",
+ ".xql": "XQuery",
+ ".xqm": "XQuery",
+ ".xqy": "XQuery",
+ ".xs": "XS",
+ ".xslt": "XSLT",
+ ".xsl": "XSLT",
+ ".xojo_code": "Xojo",
+ ".xojo_menu": "Xojo",
+ ".xojo_report": "Xojo",
+ ".xojo_script": "Xojo",
+ ".xojo_toolbar": "Xojo",
+ ".xojo_window": "Xojo",
+ ".xtend": "Xtend",
+ ".yml": "YAML",
+ ".reek": "YAML",
+ ".rviz": "YAML",
+ ".syntax": "YAML",
+ ".yaml": "YAML",
+ ".yaml-tmlanguage": "YAML",
+ ".y": "Yacc",
+ ".yacc": "Yacc",
+ ".yy": "Yacc",
+ ".zep": "Zephir",
+ ".zimpl": "Zimpl",
+ ".zmpl": "Zimpl",
+ ".zpl": "Zimpl",
+ ".desktop": "desktop",
+ ".desktop.in": "desktop",
+ ".ec": "eC",
+ ".eh": "eC",
+ ".edn": "edn",
+ ".fish": "fish",
+ ".mu": "mupad",
+ ".nc": "nesC",
+ ".ooc": "ooc",
+ ".rst": "reStructuredText",
+ ".rest": "reStructuredText",
+ ".wisp": "wisp",
+ ".prg": "xBase",
+ ".prw": "xBase"
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index fe50f3710c6b1..f5c6447fb0a93 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1536,7 +1536,7 @@
resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.6.tgz#5932ead926307ca21e5b36808257f7c926b06565"
integrity sha512-403D4wN95Mtzt2EoQHARf5oe/jEPhzBOBNrunk+ydQGW8WmkQ/E8rViRAEB1qEt/vssfGfNVD6ujP4FVeegrLg==
-"@types/js-yaml@^3.11.1", "@types/js-yaml@^3.11.2":
+"@types/js-yaml@^3.11.1":
version "3.11.2"
resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.11.2.tgz#699ad86054cc20043c30d66a6fcde30bbf5d3d5e"
integrity sha512-JRDtMPEqXrzfuYAdqbxLot1GvAr/QvicIZAnOAigZaj8xVMhuSJTg/xsv9E1TvyL+wujYhRLx9ZsQ0oFOSmwyA==
@@ -4642,13 +4642,6 @@ browserslist@~1.4.0:
dependencies:
caniuse-db "^1.0.30000539"
-bs-logger@0.x:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
- integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
- dependencies:
- fast-json-stable-stringify "2.x"
-
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -4699,7 +4692,7 @@ buffer-fill@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
-buffer-from@1.x, buffer-from@^1.0.0, buffer-from@^1.1.0:
+buffer-from@^1.0.0, buffer-from@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
@@ -5403,14 +5396,6 @@ class-utils@^0.3.5:
lazy-cache "^2.0.2"
static-extend "^0.1.1"
-classifier@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/classifier/-/classifier-0.1.0.tgz#e2b185bba63bbf927cf7770eea1eb70aeb3f9596"
- integrity sha1-4rGFu6Y7v5J893cO6h63Cus/lZY=
- dependencies:
- redis ">=0.7.0"
- underscore ">=1.1.0"
-
classnames@2.2.5, classnames@2.x, classnames@^2.1.2, classnames@^2.2.4:
version "2.2.5"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
@@ -7480,11 +7465,6 @@ dotenv@2.0.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-2.0.0.tgz#bd759c357aaa70365e01c96b7b0bec08a6e0d949"
integrity sha1-vXWcNXqqcDZeAclrewvsCKbg2Uk=
-double-ended-queue@^2.1.0-0:
- version "2.1.0-0"
- resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
- integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=
-
downgrade-root@^1.0.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/downgrade-root/-/downgrade-root-1.2.2.tgz#531319715b0e81ffcc22eb28478ba27643e12c6c"
@@ -8905,7 +8885,7 @@ fast-json-patch@^2.0.2:
dependencies:
deep-equal "^1.0.1"
-fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
+fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
@@ -13181,13 +13161,6 @@ json3@3.3.2, json3@^3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=
-json5@2.x:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
- integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
- dependencies:
- minimist "^1.2.0"
-
json5@^0.5.0, json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@@ -13473,20 +13446,6 @@ kuler@1.0.x:
dependencies:
colornames "^1.1.1"
-language-classifier@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/language-classifier/-/language-classifier-0.0.1.tgz#b0c44cab331948e68a879cd63d5c1da68936774b"
- integrity sha1-sMRMqzMZSOaKh5zWPVwdpok2d0s=
- dependencies:
- classifier "~0.1.0"
-
-language-detect@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/language-detect/-/language-detect-1.1.0.tgz#274bb8f58bec499cef2a8cfdb1028124eebb18e1"
- integrity sha1-J0u49YvsSZzvKoz9sQKBJO67GOE=
- dependencies:
- language-classifier "0.0.1"
-
latest-version@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb"
@@ -14558,11 +14517,6 @@ make-dir@^1.0.0:
dependencies:
pify "^3.0.0"
-make-error@1.x:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
- integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
-
make-error@^1.1.1:
version "1.3.4"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535"
@@ -15129,7 +15083,7 @@ mkdirp@0.5.0:
dependencies:
minimist "0.0.8"
-mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@@ -18550,25 +18504,6 @@ redent@^2.0.0:
indent-string "^3.0.0"
strip-indent "^2.0.0"
-redis-commands@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.4.0.tgz#52f9cf99153efcce56a8f86af986bd04e988602f"
- integrity sha512-cu8EF+MtkwI4DLIT0x9P8qNTLFhQD4jLfxLR0cCNkeGzs87FN6879JOJwNQR/1zD7aSYNbU0hgsV9zGY71Itvw==
-
-redis-parser@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b"
- integrity sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=
-
-redis@>=0.7.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02"
- integrity sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==
- dependencies:
- double-ended-queue "^2.1.0-0"
- redis-commands "^1.2.0"
- redis-parser "^2.6.0"
-
reduce-reducers@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.2.tgz#fa1b4718bc5292a71ddd1e5d839c9bea9770f14b"
@@ -19121,13 +19056,6 @@ resolve@1.1.7, resolve@1.1.x, resolve@~1.1.0, resolve@~1.1.7:
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
-resolve@1.x, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.6.0, resolve@^1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
- integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
- dependencies:
- path-parse "^1.0.5"
-
resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7:
version "1.5.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
@@ -19135,6 +19063,13 @@ resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7:
dependencies:
path-parse "^1.0.5"
+resolve@^1.3.2, resolve@^1.4.0, resolve@^1.6.0, resolve@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
+ integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
+ dependencies:
+ path-parse "^1.0.5"
+
resolve@^1.5.0, resolve@^1.7.1:
version "1.7.1"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
@@ -19571,7 +19506,7 @@ semver@5.1.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.0.tgz#85f2cf8550465c4df000cf7d86f6b054106ab9e5"
integrity sha1-hfLPhVBGXE3wAM99hvawVBBqueU=
-semver@5.6.0, semver@^5.5:
+semver@5.6.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
@@ -21488,21 +21423,6 @@ trunc-text@1.0.2:
resolved "https://registry.yarnpkg.com/trunc-text/-/trunc-text-1.0.2.tgz#b582bb3ddea9c9adc25017d737c48ebdd2157406"
integrity sha1-tYK7Pd6pya3CUBfXN8SOvdIVdAY=
-ts-jest@^23.1.3:
- version "23.10.5"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.10.5.tgz#cdb550df4466a30489bf70ba867615799f388dd5"
- integrity sha512-MRCs9qnGoyKgFc8adDEntAOP64fWK1vZKnOYU1o2HxaqjdJvGqmkLCPCnVq1/If4zkUmEjKPnCiUisTrlX2p2A==
- dependencies:
- bs-logger "0.x"
- buffer-from "1.x"
- fast-json-stable-stringify "2.x"
- json5 "2.x"
- make-error "1.x"
- mkdirp "0.x"
- resolve "1.x"
- semver "^5.5"
- yargs-parser "10.x"
-
ts-jest@^23.1.4:
version "23.1.4"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.1.4.tgz#66ac1d8d3fbf8f9a98432b11aa377aa850664b2b"
@@ -21816,11 +21736,6 @@ underscore.string@~3.3.4:
sprintf-js "^1.0.3"
util-deprecate "^1.0.2"
-underscore@>=1.1.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
- integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
-
underscore@~1.4.4:
version "1.4.4"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
@@ -23462,7 +23377,7 @@ yallist@^3.0.0, yallist@^3.0.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=
-yargs-parser@10.x, yargs-parser@^10.0.0, yargs-parser@^10.1.0:
+yargs-parser@^10.0.0, yargs-parser@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==