Browse Source

chore: update dependencies and output to build/

tags/v2.1.1
Bauke 2 years ago
parent
commit
32fa5f5afb
Signed by: Bauke <me@bauke.xyz> GPG Key ID: C1C0F29952BCF558
8 changed files with 97 additions and 239 deletions
  1. +3
    -0
      .gitignore
  2. +0
    -9
      .npmignore
  3. +0
    -31
      lib/main.d.ts
  4. +0
    -101
      lib/main.js
  5. +17
    -14
      package.json
  6. +9
    -11
      test/main.test.ts
  7. +1
    -1
      tsconfig.json
  8. +67
    -72
      yarn.lock

+ 3
- 0
.gitignore View File

@@ -75,3 +75,6 @@ jspm_packages/

# DynamoDB Local files
.dynamodb/

# TypeScript output
build/

+ 0
- 9
.npmignore View File

@@ -1,9 +0,0 @@
# Source folder
src/

# Gulpfile
gulpfile.js

# TypeScript Configs
tsconfig.json
tslint.json

+ 0
- 31
lib/main.d.ts View File

@@ -1,31 +0,0 @@
export declare enum SafeSearchEnum {
'OFF' = -2,
'MODERATE' = -1,
'ON' = 1
}
export interface Result {
body: string;
title: string;
url: string;
}
export interface SearchOptions {
maxResults?: number;
query: string;
safeSearch?: SafeSearchEnum;
secure?: boolean;
}
export interface Protocols {
http: string;
https: string;
}
/**
* @function search
* @description Returns the title, body and link of searched queries from DuckDuckGo.
* @param options Search options
* @param options.maxResults Max results to return, defaults to `5`
* @param options.query Search query, required
* @param options.safeSearch Safe Search setting as defined in https://duckduckgo.com/params, defaults to `MODERATE`
* @param options.secure Whether to use HTTPS or HTTP, defaults to `true`
* @license MIT
*/
export declare function search(options: SearchOptions): Promise<Result[]>;

+ 0
- 101
lib/main.js View File

@@ -1,101 +0,0 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cheerio_1 = __importDefault(require("cheerio"));
const puppeteer_1 = __importDefault(require("puppeteer"));
const query_string_1 = __importDefault(require("query-string"));
var SafeSearchEnum;
(function (SafeSearchEnum) {
SafeSearchEnum[SafeSearchEnum["OFF"] = -2] = "OFF";
SafeSearchEnum[SafeSearchEnum["MODERATE"] = -1] = "MODERATE";
SafeSearchEnum[SafeSearchEnum["ON"] = 1] = "ON";
})(SafeSearchEnum = exports.SafeSearchEnum || (exports.SafeSearchEnum = {}));
// Init default options
const defaultOptions = {
maxResults: 5,
query: null,
safeSearch: SafeSearchEnum.MODERATE,
secure: true
};
// Init protocols
const protocols = {
http: 'http://',
https: 'https://'
};
// Init the endpoint
const endpoint = 'www.duckduckgo.com/?';
/**
* @function search
* @description Returns the title, body and link of searched queries from DuckDuckGo.
* @param options Search options
* @param options.maxResults Max results to return, defaults to `5`
* @param options.query Search query, required
* @param options.safeSearch Safe Search setting as defined in https://duckduckgo.com/params, defaults to `MODERATE`
* @param options.secure Whether to use HTTPS or HTTP, defaults to `true`
* @license MIT
*/
async function search(options) {
// Make sure there is a query to search for
if (options.query === null ||
options.query.length === 0) {
return Promise.reject(new Error('The search query cannot be empty.'));
}
// Init the options with the default options and then the passed through options
const opts = Object.assign({}, defaultOptions, options);
// For parameter explanations, see https://duckduckgo.com/params
const parameters = query_string_1.default.stringify({
kd: -1,
kp: opts.safeSearch,
kz: -1,
q: opts.query
});
// Create a new Browser and a Page
const browser = await puppeteer_1.default.launch({ args: ['--no-sandbox'] });
const page = await browser.newPage();
// Create the url and go to it
const searchUrl = `${opts.secure ? protocols.https : protocols.http}${endpoint}${parameters}`;
await page.goto(searchUrl);
// Wait for web content wrapper to load
await page.waitFor('#web_content_wrapper');
// Get the results HTML, we tell Istanbul/Jest's Codecov to ignore the function inside page.evaluate
// because Istanbul can't access it as Puppeteer is going to execute it outside Node
const html = await page.evaluate(
/* istanbul ignore next */ () => {
// eslint-disable-next-line no-undef
return [...document.querySelectorAll('#links')].map((val) => val.innerHTML);
});
// If there's no results found reject with the appropriate error
if (html[0].indexOf('No results found for') > 0) {
if (options.safeSearch === SafeSearchEnum.ON) {
await browser.close();
return Promise.reject(new Error('No results were found because SafeSearch is enabled.'));
}
await browser.close();
return Promise.reject(new Error(`No results were found with query: ${opts.query}`));
}
// Init the results array
const results = [];
// Iterate through results found in the HTML
for (const result of html) {
// Load the HTML into Cheerio (jQuery but for Node)
const $ = cheerio_1.default.load(result, { normalizeWhitespace: true });
// Iterate through each element found inside specified selector and assign the title/body/url, pushing them
// into the results array
$('.result>.result__body').each((index, element) => {
if (index >= opts.maxResults) {
return;
}
const title = cheerio_1.default(element).find('.result__a').html().replace(/(<b>|<\/b>)/g, '**').trim();
const body = cheerio_1.default(element).find('.result__snippet').html().replace(/(<b>|<\/b>)/g, '**').trim();
const url = cheerio_1.default(element).find('.result__url').attr('href').trim();
results.push({ body, title, url });
});
}
// Before we resolve the results, make sure to close the browser
await browser.close();
return Promise.resolve(results);
}
exports.search = search;
exports.default = search;

+ 17
- 14
package.json View File

@@ -1,36 +1,39 @@
{
"name": "node-ddg",
"version": "2.1.0",
"main": "lib/main.js",
"author": "Bauke <me@bauke.xyz>",
"repository": "https://gitlab.com/Bauke/node-ddg",
"homepage": "https://gitlab.com/Bauke/node-ddg/blob/master/README.md",
"license": "MIT",
"types": "lib/main.d.ts",
"main": "build/main.js",
"types": "build/main.d.ts",
"files": [
"build/"
],
"scripts": {
"build": "tsc -p tsconfig.json",
"test": "xo && nyc ava -v"
"build": "tsc",
"test": "yarn build && xo && nyc ava -v",
"prepublishOnly": "yarn test"
},
"dependencies": {
"cheerio": "^1.0.0-rc.2",
"node-fetch": "^2.3.0",
"puppeteer": "^1.17.0",
"query-string": "^6.2.0"
"puppeteer": "^1.18.1",
"query-string": "^6.8.1"
},
"devDependencies": {
"@types/cheerio": "^0.22.10",
"@types/node": "^12.0.3",
"@types/node": "^12.0.10",
"@types/puppeteer": "^1.11.1",
"@typescript-eslint/eslint-plugin": "^1.9.0",
"@typescript-eslint/eslint-plugin": "^1.11.0",
"@typescript-eslint/parser": "^1.11.0",
"ava": "^1.4.1",
"codecov": "^3.1.0",
"eslint": "^5.16.0",
"eslint-config-xo": "^0.26.0",
"eslint-config-xo-typescript": "^0.12.0",
"eslint-config-xo-typescript": "^0.15.0",
"nyc": "^14.1.1",
"terser": "^4.0.0",
"ts-node": "^8.2.0",
"typescript": "^3.5.0",
"ts-node": "^8.3.0",
"typescript": "^3.5.2",
"xo": "^0.24.0"
},
"keywords": [
@@ -55,7 +58,7 @@
"ts"
],
"ignores": [
"lib/**"
"build/**"
],
"rules": {
"@typescript-eslint/indent": [


+ 9
- 11
test/main.test.ts View File

@@ -1,32 +1,30 @@
import test, {ExecutionContext} from 'ava';
import {Result, SafeSearchEnum, search} from '../src/main';

test('Searching for "duckduckgo" should return correct result', (t: ExecutionContext) => {
test('Searching for "duckduckgo" should return correct result', async (t: ExecutionContext) => {
return search({maxResults: 1, query: 'duckduckgo'}).then((results: Result[]) => {
const expectedResult: Result = {
body: 'The Internet privacy company that empowers you to seamlessly take ' +
'control of your personal information online, without any tradeoffs.',
title: '**DuckDuckGo** &#x2014; Privacy, simplified.',
url: 'https://duckduckgo.com/'
body: 'The site owner hides the web page description.',
title: 'i.**duckduckgo**.com',
url: 'https://i.duckduckgo.com/'
};
t.deepEqual(results[0], expectedResult);
});
});

test('Specifying "secure: false" should return correct result', (t: ExecutionContext) => {
test('Specifying "secure: false" should return correct result', async (t: ExecutionContext) => {
const secure = false;
return search({maxResults: 1, query: 'duckduckgo', secure}).then((results: Result[]) => {
const expectedResult: Result = {
body: 'The Internet privacy company that empowers you to seamlessly take ' +
'control of your personal information online, without any tradeoffs.',
title: '**DuckDuckGo** &#x2014; Privacy, simplified.',
url: 'https://duckduckgo.com/'
body: 'The site owner hides the web page description.',
title: 'i.**duckduckgo**.com',
url: 'https://i.duckduckgo.com/'
};
t.deepEqual(results[0], expectedResult);
});
});

test('Specifying X results should return X results', (t: ExecutionContext) => {
test('Specifying X results should return X results', async (t: ExecutionContext) => {
const maxResults = 3;
return search({maxResults, query: 'duckduckgo'}).then((results: Result[]) => {
t.is(results.length, maxResults);


+ 1
- 1
tsconfig.json View File

@@ -4,7 +4,7 @@
"declaration": true,
"esModuleInterop": true,
"module": "commonjs",
"outDir": "lib/",
"outDir": "build/",
"rootDir": "src/",
"target": "es2017",
},


+ 67
- 72
yarn.lock View File

@@ -345,6 +345,11 @@
dependencies:
"@types/node" "*"

"@types/eslint-visitor-keys@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==

"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -364,11 +369,16 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==

"@types/node@*", "@types/node@^12.0.3":
"@types/node@*":
version "12.0.3"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.3.tgz#5d8d24e0033fc6393efadc85cb59c1f638095c9a"
integrity sha512-zkOxCS/fA+3SsdA+9Yun0iANxzhQRiNwTvJSr6N95JhuJ/x27z9G2URx1Jpt3zYFfCGUXZGL5UDxt5eyLE7wgw==

"@types/node@^12.0.10":
version "12.0.10"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.10.tgz#51babf9c7deadd5343620055fc8aff7995c8b031"
integrity sha512-LcsGbPomWsad6wmMNv7nBLw7YYYyfdYcz6xryKYQhx89c3XXan+8Q6AJ43G5XDIaklaVkK3mE4fCb0SBvMiPSQ==

"@types/puppeteer@^1.11.1":
version "1.12.4"
resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.12.4.tgz#8388efdb0b30a54a7e7c4831ca0d709191d77ff1"
@@ -376,40 +386,39 @@
dependencies:
"@types/node" "*"

"@typescript-eslint/eslint-plugin@^1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.9.0.tgz#29d73006811bf2563b88891ceeff1c5ea9c8d9c6"
integrity sha512-FOgfBorxjlBGpDIw+0LaZIXRX6GEEUfzj8LXwaQIUCp+gDOvkI+1WgugJ7SmWiISqK9Vj5r8S7NDKO/LB+6X9A==
"@typescript-eslint/eslint-plugin@^1.11.0":
version "1.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.11.0.tgz#870f752c520db04db6d3668af7479026a6f2fb9a"
integrity sha512-mXv9ccCou89C8/4avKHuPB2WkSZyY/XcTQUXd5LFZAcLw1I3mWYVjUu6eS9Ja0QkP/ClolbcW9tb3Ov/pMdcqw==
dependencies:
"@typescript-eslint/experimental-utils" "1.9.0"
"@typescript-eslint/parser" "1.9.0"
"@typescript-eslint/experimental-utils" "1.11.0"
eslint-utils "^1.3.1"
functional-red-black-tree "^1.0.1"
regexpp "^2.0.1"
requireindex "^1.2.0"
tsutils "^3.7.0"

"@typescript-eslint/experimental-utils@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.9.0.tgz#a92777d0c92d7bc8627abd7cdb06cdbcaf2b39e8"
integrity sha512-1s2dY9XxBwtS9IlSnRIlzqILPyeMly5tz1bfAmQ84Ul687xBBve5YsH5A5EKeIcGurYYqY2w6RkHETXIwnwV0A==
"@typescript-eslint/experimental-utils@1.11.0":
version "1.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.11.0.tgz#594abe47091cbeabac1d6f9cfed06d0ad99eb7e3"
integrity sha512-7LbfaqF6B8oa8cp/315zxKk8FFzosRzzhF8Kn/ZRsRsnpm7Qcu25cR/9RnAQo5utZ2KIWVgaALr+ZmcbG47ruw==
dependencies:
"@typescript-eslint/typescript-estree" "1.9.0"
"@typescript-eslint/typescript-estree" "1.11.0"
eslint-scope "^4.0.0"

"@typescript-eslint/parser@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.9.0.tgz#5796cbfcb9a3a5757aeb671c1ac88d7a94a95962"
integrity sha512-CWgC1XrQ34H/+LwAU7vY5xteZDkNqeAkeidEpJnJgkKu0yqQ3ZhQ7S+dI6MX4vmmM1TKRbOrKuXc6W0fIHhdbA==
"@typescript-eslint/parser@^1.11.0":
version "1.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.11.0.tgz#2f6d4f7e64eeb1e7c25b422f8df14d0c9e508e36"
integrity sha512-5xBExyXaxVyczrZvbRKEXvaTUFFq7gIM9BynXukXZE0zF3IQP/FxF4mPmmh3gJ9egafZFqByCpPTFm3dk4SY7Q==
dependencies:
"@typescript-eslint/experimental-utils" "1.9.0"
"@typescript-eslint/typescript-estree" "1.9.0"
eslint-scope "^4.0.0"
"@types/eslint-visitor-keys" "^1.0.0"
"@typescript-eslint/experimental-utils" "1.11.0"
"@typescript-eslint/typescript-estree" "1.11.0"
eslint-visitor-keys "^1.0.0"

"@typescript-eslint/typescript-estree@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.9.0.tgz#5d6d49be936e96fb0f859673480f89b070a5dd9b"
integrity sha512-7Eg0TEQpCkTsEwsl1lIzd6i7L3pJLQFWesV08dS87bNz0NeSjbL78gNAP1xCKaCejkds4PhpLnZkaAjx9SU8OA==
"@typescript-eslint/typescript-estree@1.11.0":
version "1.11.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.11.0.tgz#b7b5782aab22e4b3b6d84633652c9f41e62d37d5"
integrity sha512-fquUHF5tAx1sM2OeRCC7wVxFd1iMELWMGCzOSmJ3pLzArj9+kRixdlC4d5MncuzXpjEqc6045p3KwM0o/3FuUA==
dependencies:
lodash.unescape "4.0.1"
semver "5.5.0"
@@ -1058,7 +1067,7 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=

commander@^2.19.0, commander@~2.20.0:
commander@~2.20.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
@@ -1566,10 +1575,10 @@ eslint-config-prettier@^3.3.0:
dependencies:
get-stdin "^6.0.0"

eslint-config-xo-typescript@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.12.0.tgz#15ff94a6e578b5e3a36acd55a3a211873ed70d6e"
integrity sha512-gC7fr9x8IHchAdyvnsxjibdWedsqQ55NC4uqUT/f13MzPlzxev4Tcd5srnyh4ZRxNHHgmqtoBksirp/GCFvXUA==
eslint-config-xo-typescript@^0.15.0:
version "0.15.0"
resolved "https://registry.yarnpkg.com/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.15.0.tgz#95d765ff6eed0de72929315da71957f1510aae82"
integrity sha512-VDZj8JogA2qzgLQfp4nWPotJfO84dSkcze7n/3xiIpPIfa8oAdxGYv6N6RRdG2A4trMPQEiFESxFSIf/0155/A==

eslint-config-xo@^0.26.0:
version "0.26.0"
@@ -3271,7 +3280,7 @@ minimist@~0.0.1:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=

minipass@^2.2.1, minipass@^2.3.4:
minipass@^2.2.1, minipass@^2.3.5:
version "2.3.5"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
@@ -3279,7 +3288,7 @@ minipass@^2.2.1, minipass@^2.3.4:
safe-buffer "^5.1.2"
yallist "^3.0.0"

minizlib@^1.1.1:
minizlib@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==
@@ -3444,9 +3453,9 @@ npm-bundled@^1.0.1:
integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==

npm-packlist@^1.1.6:
version "1.4.1"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc"
integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==
version "1.4.2"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.2.tgz#a9d63153d4fb0547e6d4342e4102ba6c3bd2b2c7"
integrity sha512-pyJclkNoBBckB6K/XPcMp8fP60MaqSZBPQVsNY7Yyc9VP1TUnPMYwck5YaBejf0L7xYr8f4l16+IENeZ0by+yw==
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
@@ -3955,10 +3964,10 @@ punycode@^2.1.0:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==

puppeteer@^1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.17.0.tgz#371957d227a2f450fa74b78e78a2dadb2be7f14f"
integrity sha512-3EXZSximCzxuVKpIHtyec8Wm2dWZn1fc5tQi34qWfiUgubEVYHjUvr0GOJojqf3mifI6oyKnCdrGxaOI+lWReA==
puppeteer@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.18.1.tgz#4a66f3bdab01115ededf70443ec904c99917a815"
integrity sha512-luUy0HPSuWPsPZ1wAp6NinE0zgetWtudf5zwZ6dHjMWfYpTQcmKveFRox7VBNhQ98OjNA9PQ9PzQyX8k/KrxTg==
dependencies:
debug "^4.1.0"
extract-zip "^1.6.6"
@@ -3969,10 +3978,10 @@ puppeteer@^1.17.0:
rimraf "^2.6.1"
ws "^6.1.0"

query-string@^6.2.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.5.0.tgz#2e1a70125af01f6f04573692d02c09302a1d8bfc"
integrity sha512-TYC4hDjZSvVxLMEucDMySkuAS9UIzSbAiYGyA9GWCjLKB8fQpviFbjd20fD7uejCDxZS+ftSdBKE6DS+xucJFg==
query-string@^6.8.1:
version "6.8.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26"
integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q==
dependencies:
decode-uri-component "^0.2.0"
split-on-first "^1.0.0"
@@ -4180,11 +4189,6 @@ require-precompiled@^0.1.0:
resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa"
integrity sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=

requireindex@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef"
integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==

resolve-cwd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
@@ -4425,7 +4429,7 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"

source-map-support@^0.5.11, source-map-support@^0.5.6, source-map-support@~0.5.10:
source-map-support@^0.5.11, source-map-support@^0.5.6:
version "0.5.12"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
@@ -4663,17 +4667,17 @@ table@^5.2.3:
string-width "^3.0.0"

tar@^4:
version "4.4.8"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==
version "4.4.10"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1"
integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==
dependencies:
chownr "^1.1.1"
fs-minipass "^1.2.5"
minipass "^2.3.4"
minizlib "^1.1.1"
minipass "^2.3.5"
minizlib "^1.2.1"
mkdirp "^0.5.0"
safe-buffer "^5.1.2"
yallist "^3.0.2"
yallist "^3.0.3"

teeny-request@^3.11.3:
version "3.11.3"
@@ -4691,15 +4695,6 @@ term-size@^1.2.0:
dependencies:
execa "^0.7.0"

terser@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.0.0.tgz#ef356f6f359a963e2cc675517f21c1c382877374"
integrity sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA==
dependencies:
commander "^2.19.0"
source-map "~0.6.1"
source-map-support "~0.5.10"

test-exclude@^5.2.3:
version "5.2.3"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0"
@@ -4787,10 +4782,10 @@ trim-right@^1.0.1:
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=

ts-node@^8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.2.0.tgz#4a89754b00560bb24cd54526e1685fa38c45f240"
integrity sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==
ts-node@^8.3.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.3.0.tgz#e4059618411371924a1fb5f3b125915f324efb57"
integrity sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==
dependencies:
arg "^4.1.0"
diff "^4.0.1"
@@ -4827,10 +4822,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=

typescript@^3.5.0:
version "3.5.1"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202"
integrity sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==
typescript@^3.5.2:
version "3.5.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.2.tgz#a09e1dc69bc9551cadf17dba10ee42cf55e5d56c"
integrity sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==

uglify-js@^3.1.4:
version "3.5.15"
@@ -5152,7 +5147,7 @@ yallist@^2.1.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=

yallist@^3.0.0, yallist@^3.0.2:
yallist@^3.0.0, yallist@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==


Loading…
Cancel
Save