From 3d9ea24c413e6927dd07f34e6b5cfb4c41a97234 Mon Sep 17 00:00:00 2001 From: ssube Date: Sat, 7 Sep 2019 19:50:15 -0500 Subject: [PATCH] fix(tests): fiddle with rollup chunks until tests work --- .gitlab-ci.yml | 3 ++ Makefile | 2 +- config/rollup.js | 16 ++++++-- docs/.isolex.yml | 1 + package.json | 5 ++- src/BaseService.ts | 2 +- src/config/index.ts | 1 + src/controller/github/PRController.ts | 2 +- src/controller/kubernetes/AppsController.ts | 2 +- src/controller/kubernetes/BaseController.ts | 2 +- src/controller/kubernetes/CoreController.ts | 2 +- src/listener/GithubListener.ts | 2 +- src/locale/index.ts | 13 +++++-- src/parser/LexParser.ts | 2 +- src/schema/graph/index.ts | 2 +- src/schema/index.ts | 12 ++++-- src/schema/keyword/Regexp.ts | 2 +- src/utils/BunyanLogger.ts | 3 +- src/utils/JsonPath.ts | 2 +- src/utils/Math.ts | 2 +- src/utils/TemplateCompiler.ts | 2 +- src/version.ts | 23 +++++------- test/harness.ts | 14 ++----- test/module/TestServiceModule.ts | 5 ++- test/utils/TestBunyanLogger.ts | 2 +- vendor/schema/index.d.ts | 3 ++ yarn.lock | 41 +++++++++++++++++++-- 27 files changed, 114 insertions(+), 54 deletions(-) create mode 120000 docs/.isolex.yml create mode 100644 vendor/schema/index.d.ts diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2dbe393bd..b211e328f 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,5 @@ stages: + # @retain - status-pre - build - image @@ -177,8 +178,10 @@ sonar-success: stage: status-post when: on_success dependencies: + # @retain - build-node script: + # @retain - make node_modules - sonar-scanner -Dsonar.projectKey=ssube_isolex diff --git a/Makefile b/Makefile index 91e3d35eb..9569dd78c 100755 --- a/Makefile +++ b/Makefile @@ -102,7 +102,7 @@ test: test-cover test-check: ## run mocha unit tests with coverage reports #$(NODE_BIN)/nyc $(COVER_OPTS) - $(NODE_BIN)/mocha $(MOCHA_OPTS) $(TARGET_PATH)/test.js + ISOLEX_HOME=$(ROOT_PATH)/docs $(NODE_BIN)/mocha $(MOCHA_OPTS) $(TARGET_PATH)/test.js test-cover: ## run mocha unit tests with coverage reports test-cover: test-check diff --git a/config/rollup.js b/config/rollup.js index 5e8eb9681..bc3e39abc 100644 --- a/config/rollup.js +++ b/config/rollup.js @@ -5,6 +5,7 @@ import multiEntry from 'rollup-plugin-multi-entry'; import replace from 'rollup-plugin-replace'; import resolve from 'rollup-plugin-node-resolve'; import typescript from 'rollup-plugin-typescript2'; +import yaml from 'rollup-plugin-yaml'; const debug = process.env['DEBUG'] === 'TRUE'; const passStub = 'require("pass-stub")' @@ -13,6 +14,14 @@ const metadata = require('../package.json'); const bundle = { external: [ 'async_hooks', + 'aws-sdk', + 'chai', + 'discord.js', + 'ecc-jsbn', + 'shelljs', + 'snekfetch', + 'sshpk', + 'xmlbuilder', ], input: { include: [ @@ -30,7 +39,7 @@ const bundle = { return 'vendor'; } - if (id.match(/commonjs/i) || id.match(/rollup/i) || id.includes('noicejs') || id.includes('pass-stub')) { + if (id.match(/commonjs-external/i) || id.match(/commonjsHelpers/) || id.includes('noicejs') || id.includes('pass-stub')) { if (debug) { console.log('==vendor', id); } @@ -38,7 +47,7 @@ const bundle = { return 'vendor'; } - if (id.includes('/src/')) { + if (id.includes('/isolex/src/') && !id.match(/src\/index.ts$/)) { if (debug) { console.log('==main', id); } @@ -68,6 +77,7 @@ const bundle = { plugins: [ multiEntry(), json(), + yaml(), externals({ builtins: true, deps: true, @@ -120,7 +130,7 @@ const bundle = { namedExports: { 'node_modules/chai/index.js': [ 'expect', - 'use', + //'use', ], 'node_modules/cron/lib/cron.js': [ 'CronJob', diff --git a/docs/.isolex.yml b/docs/.isolex.yml new file mode 120000 index 000000000..f348611cb --- /dev/null +++ b/docs/.isolex.yml @@ -0,0 +1 @@ +isolex.yml \ No newline at end of file diff --git a/package.json b/package.json index fa4d6014a..fc3298117 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "private": false, "dependencies": { "jsonpath": "1.0.2", - "sqlite3": "4.0.9" + "sqlite3": "4.0.9", + "typeorm": "0.2.18" }, "devDependencies": { "@kubernetes/client-node": "0.10.2", @@ -85,6 +86,7 @@ "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-replace": "^2.2.0", "rollup-plugin-typescript2": "^0.24.0", + "rollup-plugin-yaml": "^1.1.0", "rxjs": "6.5.2", "rxjs-tslint-rules": "4.24.3", "shiro-trie": "0.4.8", @@ -100,7 +102,6 @@ "tslint-microsoft-contrib": "6.2.0", "tslint-sonarts": "1.9.0", "typedoc": "0.14.2", - "typeorm": "0.2.18", "typescript": "3.5.3", "utf-8-validate": "5.0.2", "uuid": "3.3.2", diff --git a/src/BaseService.ts b/src/BaseService.ts index edb6b2c04..25aeb9392 100644 --- a/src/BaseService.ts +++ b/src/BaseService.ts @@ -1,6 +1,6 @@ import { BaseOptions, Inject, Logger, MissingValueError } from 'noicejs'; import { Registry } from 'prom-client'; -import * as uuid from 'uuid'; +import uuid from 'uuid'; import { SchemaError } from './error/SchemaError'; import { ServiceModule } from './module/ServiceModule'; diff --git a/src/config/index.ts b/src/config/index.ts index 487370c21..7f862d4d9 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -56,6 +56,7 @@ export async function loadConfig(name: string, ...extras: Array): Promis const paths = completePaths(name, extras); for (const p of paths) { + console.log('reading config from', p); const data = await readConfig(p); if (doesExist(data)) { return safeLoad(data, { diff --git a/src/controller/github/PRController.ts b/src/controller/github/PRController.ts index 23f4d8928..f19431e0d 100644 --- a/src/controller/github/PRController.ts +++ b/src/controller/github/PRController.ts @@ -1,4 +1,4 @@ -import * as Octokit from '@octokit/rest'; +import Octokit from '@octokit/rest'; import { Inject } from 'noicejs'; import { CheckRBAC, Controller, ControllerData, Handler } from '..'; diff --git a/src/controller/kubernetes/AppsController.ts b/src/controller/kubernetes/AppsController.ts index 31dc51830..773399db0 100644 --- a/src/controller/kubernetes/AppsController.ts +++ b/src/controller/kubernetes/AppsController.ts @@ -1,4 +1,4 @@ -import * as k8s from '@kubernetes/client-node'; +import k8s from '@kubernetes/client-node'; import { Inject } from 'noicejs'; import { CheckRBAC, Controller, Handler } from '..'; diff --git a/src/controller/kubernetes/BaseController.ts b/src/controller/kubernetes/BaseController.ts index 0466f64a2..60535ffd1 100644 --- a/src/controller/kubernetes/BaseController.ts +++ b/src/controller/kubernetes/BaseController.ts @@ -1,4 +1,4 @@ -import * as k8s from '@kubernetes/client-node'; +import k8s from '@kubernetes/client-node'; import { Inject } from 'noicejs'; import { Controller, ControllerData } from '..'; diff --git a/src/controller/kubernetes/CoreController.ts b/src/controller/kubernetes/CoreController.ts index b0bd34747..d86cbbb34 100644 --- a/src/controller/kubernetes/CoreController.ts +++ b/src/controller/kubernetes/CoreController.ts @@ -1,4 +1,4 @@ -import * as k8s from '@kubernetes/client-node'; +import k8s from '@kubernetes/client-node'; import { Inject } from 'noicejs'; import { CheckRBAC, Controller, Handler } from '..'; diff --git a/src/listener/GithubListener.ts b/src/listener/GithubListener.ts index 47ffedbaa..8bdc4a8f8 100644 --- a/src/listener/GithubListener.ts +++ b/src/listener/GithubListener.ts @@ -1,4 +1,4 @@ -import * as Octokit from '@octokit/rest'; +import Octokit from '@octokit/rest'; import { Inject } from 'noicejs'; import { Repository } from 'typeorm'; diff --git a/src/locale/index.ts b/src/locale/index.ts index efdf1a359..661763aa7 100644 --- a/src/locale/index.ts +++ b/src/locale/index.ts @@ -1,4 +1,7 @@ import i18next from 'i18next'; +import { readFileSync } from 'fs'; +import { safeLoad } from 'js-yaml'; +import { isNil } from 'lodash'; import { Container, Inject, Logger } from 'noicejs'; import { BaseService, BaseServiceOptions, INJECT_LOGGER } from '../BaseService'; @@ -7,6 +10,12 @@ import { mustExist } from '../utils'; import { classLogger } from '../utils/logger'; import { LocaleLogger } from '../utils/logger/LocaleLogger'; +const LOCALE_STRING = readFileSync('./src/locale/en.yml', 'utf-8'); +if (isNil(LOCALE_STRING)) { + throw new Error('unable to load schema from file'); +} +const LOCALE_GLOBAL = safeLoad(LOCALE_STRING); + export interface LocaleData { lang: string; } @@ -42,9 +51,7 @@ export class Locale extends BaseService implements ServiceLifecycle debug: true, lng: this.data.lang, resources: { - /* tslint:disable:no-var-requires */ - en: require('src/locale/en.yml'), - /* tslint:enable:no-var-requires */ + en: LOCALE_GLOBAL, }, }); } diff --git a/src/parser/LexParser.ts b/src/parser/LexParser.ts index e265c9cbd..ee5c0f6aa 100644 --- a/src/parser/LexParser.ts +++ b/src/parser/LexParser.ts @@ -1,4 +1,4 @@ -import * as AWS from 'aws-sdk'; +import AWS from 'aws-sdk'; import { isNil, isString, kebabCase } from 'lodash'; import { MissingValueError } from 'noicejs'; diff --git a/src/schema/graph/index.ts b/src/schema/graph/index.ts index ab43ca522..181133341 100644 --- a/src/schema/graph/index.ts +++ b/src/schema/graph/index.ts @@ -1,4 +1,4 @@ -import * as express from 'express'; +import express from 'express'; import { GraphQLList, GraphQLObjectType, GraphQLSchema, GraphQLString } from 'graphql'; import { isNil } from 'lodash'; import { Inject } from 'noicejs'; diff --git a/src/schema/index.ts b/src/schema/index.ts index 30b182c30..7bb343d2a 100644 --- a/src/schema/index.ts +++ b/src/schema/index.ts @@ -1,10 +1,16 @@ -import * as Ajv from 'ajv'; +import Ajv from 'ajv'; +import { readFileSync } from 'fs'; +import { safeLoad } from 'js-yaml'; +import { isNil } from 'lodash'; import { InvalidArgumentError } from '../error/InvalidArgumentError'; import { SCHEMA_KEYWORD_REGEXP } from './keyword/Regexp'; -/* tslint:disable-next-line:no-var-requires */ -export const SCHEMA_GLOBAL = require('src/schema/schema.yml'); +const SCHEMA_STRING = readFileSync('./src/schema/schema.yml', 'utf-8'); +if (isNil(SCHEMA_STRING)) { + throw new Error('unable to load schema from file'); +} +const SCHEMA_GLOBAL = safeLoad(SCHEMA_STRING); export interface SchemaResult { errors: Array; diff --git a/src/schema/keyword/Regexp.ts b/src/schema/keyword/Regexp.ts index 481f97326..4eb2d7723 100644 --- a/src/schema/keyword/Regexp.ts +++ b/src/schema/keyword/Regexp.ts @@ -1,4 +1,4 @@ -import * as Ajv from 'ajv'; +import Ajv from 'ajv'; import { isBoolean } from 'lodash'; export const SCHEMA_KEYWORD_REGEXP: Ajv.KeywordDefinition = { diff --git a/src/utils/BunyanLogger.ts b/src/utils/BunyanLogger.ts index f3d7692b8..1e956676e 100644 --- a/src/utils/BunyanLogger.ts +++ b/src/utils/BunyanLogger.ts @@ -1,4 +1,4 @@ -import * as bunyan from 'bunyan'; +import bunyan from 'bunyan'; import { Logger } from 'noicejs'; import { prototypeName } from '.'; @@ -12,6 +12,7 @@ export class BunyanLogger { ...options, serializers: { ...bunyan.stdSerializers, + container: prototypeName, logger: prototypeName, module: prototypeName, }, diff --git a/src/utils/JsonPath.ts b/src/utils/JsonPath.ts index 4a51f2472..e79064f23 100644 --- a/src/utils/JsonPath.ts +++ b/src/utils/JsonPath.ts @@ -1,4 +1,4 @@ -import * as jp from 'jsonpath'; +import jp from 'jsonpath'; import { TemplateScope } from './Template'; diff --git a/src/utils/Math.ts b/src/utils/Math.ts index 527833d18..c8aeaaaab 100644 --- a/src/utils/Math.ts +++ b/src/utils/Math.ts @@ -1,5 +1,5 @@ import { isNil } from 'lodash'; -import * as mathjs from 'mathjs'; +import mathjs from 'mathjs'; import { TemplateScope } from './Template'; diff --git a/src/utils/TemplateCompiler.ts b/src/utils/TemplateCompiler.ts index efa3b96d5..df6e58dc1 100644 --- a/src/utils/TemplateCompiler.ts +++ b/src/utils/TemplateCompiler.ts @@ -1,4 +1,4 @@ -import * as Handlebars from 'handlebars'; +import Handlebars from 'handlebars'; import { BaseOptions, Inject, Logger } from 'noicejs'; import { mustExist } from '.'; diff --git a/src/version.ts b/src/version.ts index 14c2ea28e..6c949a3ec 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1,20 +1,15 @@ -// webpack environment defines -declare const BUILD_JOB: string; -declare const BUILD_RUNNER: string; -declare const GIT_BRANCH: string; -declare const GIT_COMMIT: string; -declare const NODE_VERSION: string; -declare const WEBPACK_VERSION: string; - export const VERSION_INFO = { + app: { + name: '{{ APP_NAME }}', + version: '{{ APP_VERSION }}', + }, build: { - job: BUILD_JOB, - node: NODE_VERSION, - runner: BUILD_RUNNER, - webpack: WEBPACK_VERSION, + job: '{{ BUILD_JOB }}', + node: '{{ NODE_VERSION }}', + runner: '{{ BUILD_RUNNER }}', }, git: { - branch: GIT_BRANCH, - commit: GIT_COMMIT, + branch: '{{ GIT_BRANCH }}', + commit: '{{ GIT_COMMIT }}', }, }; diff --git a/test/harness.ts b/test/harness.ts index 56e0dd7d3..05addeb16 100644 --- a/test/harness.ts +++ b/test/harness.ts @@ -1,8 +1,8 @@ -import * as chai from 'chai'; -import * as chaiAsPromised from 'chai-as-promised'; +import chai from 'chai'; +import chaiAsPromised from 'chai-as-promised'; import { ineeda } from 'ineeda'; -import * as sinonChai from 'sinon-chai'; -import * as sourceMapSupport from 'source-map-support'; +import sinonChai from 'sinon-chai'; +import sourceMapSupport from 'source-map-support'; import { BotModule } from '../src/module/BotModule'; import { EntityModule } from '../src/module/EntityModule'; @@ -54,9 +54,3 @@ const modules = [ ServiceModule, TransformModule, ]; - -// tslint:disable-next-line:no-any -const testContext = (require as any).context('../test', true, /Test.*$/); -testContext.keys().forEach(testContext); -// tslint:disable-next-line:no-default-export -export default testContext; diff --git a/test/module/TestServiceModule.ts b/test/module/TestServiceModule.ts index 80d67512b..732178cdf 100644 --- a/test/module/TestServiceModule.ts +++ b/test/module/TestServiceModule.ts @@ -4,6 +4,7 @@ import { spy } from 'sinon'; import { ServiceModule } from '../../src/module/ServiceModule'; import { Service, ServiceEvent } from '../../src/Service'; +import { defer } from '../../src/utils/Async'; import { describeAsync, itAsync } from '../helpers/async'; import { createContainer } from '../helpers/container'; @@ -17,7 +18,7 @@ async function createModule() { const testSvc = ineeda(metadata); const module = new ServiceModule({ - timeout: 100, + timeout: 10, }); module.bind(TEST_SERVICE_NAME).toInstance(testSvc); @@ -55,6 +56,8 @@ describeAsync('DI modules', async () => { await module.stop(); expect(start).to.have.callCount(1); expect(stop).to.have.callCount(1); + + await defer(50); }); itAsync('should create and save child services', async () => { diff --git a/test/utils/TestBunyanLogger.ts b/test/utils/TestBunyanLogger.ts index 92994bd25..fadd4e44f 100644 --- a/test/utils/TestBunyanLogger.ts +++ b/test/utils/TestBunyanLogger.ts @@ -1,4 +1,4 @@ -import * as bunyan from 'bunyan'; +import bunyan from 'bunyan'; import { expect } from 'chai'; import { BunyanLogger } from '../../src/utils/BunyanLogger'; diff --git a/vendor/schema/index.d.ts b/vendor/schema/index.d.ts new file mode 100644 index 000000000..4253641a9 --- /dev/null +++ b/vendor/schema/index.d.ts @@ -0,0 +1,3 @@ +declare module "./schema.yml" { + export = {}; +} diff --git a/yarn.lock b/yarn.lock index f6166aa07..0ad5e86ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1806,6 +1806,11 @@ estraverse@^4.0.0, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4= + estree-walker@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" @@ -2697,7 +2702,7 @@ js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" -js-yaml@3.13.1, js-yaml@^3.13.1, js-yaml@~3.13.1: +js-yaml@3.13.1, js-yaml@^3.13.1, js-yaml@^3.8.4, js-yaml@~3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -3179,7 +3184,7 @@ mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -4171,6 +4176,13 @@ rollup-plugin-ignore@^1.0.5: resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-ignore/-/rollup-plugin-ignore-1.0.5.tgz#fc16b321b29d054d728dafde808a8a52ec39f024" integrity sha512-fGDl4eRMpEeSNqZ9WFR3piK47rrFgVzAIFRsJhTc9/P5t1qsScuFeEBfbXbHDnv6yh5OUth8dti+f+dswebV+Q== +rollup-plugin-json@^2.0.1: + version "2.3.1" + resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-json/-/rollup-plugin-json-2.3.1.tgz#9759d27f33dcd2c896de18b6235df162b88edd77" + integrity sha512-alQQQVPo2z9pl6LSK8QqyDlWwCH5KeE8YxgQv7fa/SeTxz+gQe36jBjcha7hQW68MrVh9Ms71EQaMZDAG3w2yw== + dependencies: + rollup-pluginutils "^2.0.1" + rollup-plugin-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz#a18da0a4b30bf5ca1ee76ddb1422afbb84ae2b9e" @@ -4220,13 +4232,31 @@ rollup-plugin-typescript2@^0.24.0: rollup-pluginutils "2.8.1" tslib "1.10.0" -rollup-pluginutils@2.8.1, rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1: +rollup-plugin-yaml@^1.1.0: + version "1.1.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-yaml/-/rollup-plugin-yaml-1.1.0.tgz#8b55fd8bc6a483018abedfc7192dde0fdc65666b" + integrity sha512-R7d7M9P4VdOTPYfPlazA81niCF5ezDBm3QOTYkUwDYMGUXHKwWybDClO8Je1QnUQy8d3DBpe0kphWQs6o55yIg== + dependencies: + js-yaml "^3.8.4" + rollup-plugin-json "^2.0.1" + rollup-pluginutils "^1.5.1" + tosource "^1.0.0" + +rollup-pluginutils@2.8.1, rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== dependencies: estree-walker "^0.6.1" +rollup-pluginutils@^1.5.1: + version "1.5.2" + resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg= + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" + rollup@^1.20.3: version "1.20.3" resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.20.3.tgz#6243f6c118ca05f56b2d9433112400cd834a1eb8" @@ -4707,6 +4737,11 @@ toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" +tosource@^1.0.0: + version "1.0.0" + resolved "https://artifacts.apextoaster.com/repository/group-npm/tosource/-/tosource-1.0.0.tgz#42d88dd116618bcf00d6106dd5446f3427902ff1" + integrity sha1-QtiN0RZhi88A1hBt1URvNCeQL/E= + tough-cookie@^2.3.3: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"