From e06f9f41fd9a84fd21ded7d6c888545843b49be4 Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Thu, 7 Feb 2019 20:22:53 -0500 Subject: [PATCH] Set up CI with Azure Pipelines (#1) * #2: azure pipelines, more formatting, etc * Set up CI with Azure Pipelines * #2: try node 10 on windows * #2: install kernels, return rc from run * #2: some more fixes for windows, chrome * #2: utf-8 all the things * #2: try updating conda on windows * #2: apparently have a local PR, so can just test before actual PR * #2: force re-install of pyzmq on windows * #2: only do zmq stuff in windows * #2: try defaults first * #2: try pip for zmq on windows * #2: more chromedriver shenanigans, fix conda invocation * #2: try more conda and completion stuff * #2: more conda stuff * #2: force jupyter_server * #2: give up on linting on windows * #2: normalize some browser stuff * #2: linting * #2: keep tightening up scripts, etc * #2: fix more scripts * #2: in, not == * #2: back to defaults for windows * #2: bring back the zmq hack * #2: add win envs * move bootstrap * #2: more windows * #2: win test env extends test * #2: skip more win * typo * longer timeout * #2: on empty test, test everything, but fail on any * add fast fail -x to full test * #2: combine tests and combine * #2: normalize more things for windows * oh, windows npm * more verbose output * #2: clean up more build stuff * just use jlpm * more win stuff * try moving packages * no src in packages * peering * errant output * linting * get more specific with tsc call * more work on shutdown * further simplify js stuff for win * more error weirdness on windows * try more tsconfig tricks * move tsconfig back up * lint first * more un-nesting * lint first * invoking scripts * wheeling * build once * install once * naming * move chromedriver import * don't run unit tests in build * combine needs nbformat * publish naming * naming, some conditions * try cobertura * lint actual src * gah, build, not b * enter the matrix * update test outputs for py version * doesn't like test * maybe in variables? * variables get uppercased? * drop py altogether on names * fix variable typo * maybe just os name * try conditions * re-combine some steps * always with the variables * more parameters * more parameters * condition can't see params? * always can be in if * bigger ifs * display name last? * try different variables * back to conditions * move import of nbformat to appropriate linter * remove python3 refs * split up build * fix artifact names * try using wheels/sdist * pytest whole module * accept jinja2 as a dependency, for now... use vdom if possible, later, or offer plain text (ick) * gah, missed jinja on non-win * wow, bad at this * add environment for testing in windows with python 3.7 * bump the npm tools * try old lts * add command for now * more verbose * move stuff back * execution_count normalizing * try win37 a couple times --- .gitignore | 2 + README.md | 32 +- anaconda-project.yml | 108 +- atest/acceptance/00_Smoke.robot | 2 +- atest/acceptance/01_Python.robot | 4 +- atest/acceptance/02_Robot/00_Basic.robot | 6 +- atest/acceptance/02_Robot/01_Settings.robot | 7 +- atest/resources/Browser.robot | 1 - atest/resources/CodeMirror.robot | 2 +- atest/resources/Lab.robot | 11 +- atest/resources/LabRobot.robot | 2 +- azure-pipelines.yml | 40 + ci/job.build.yml | 13 + ci/job.combine.yml | 12 + ci/job.test.acceptance.yml | 35 + ci/job.test.unit.yml | 32 + ci/steps.build.js.yml | 21 + ci/steps.build.py.yml | 15 + ci/steps.combine.yml | 47 + ci/steps.conda.build.js.yml | 11 + ci/steps.conda.build.py.yml | 13 + ci/steps.conda.combine.yml | 11 + ci/steps.conda.test.yml | 80 + ci/steps.platform.yml | 22 + ci/steps.test.yml | 54 + lerna.json | 6 +- package.json | 17 +- scripts/__init__.py | 30 +- scripts/bootstrap.py | 49 + scripts/build.py | 124 + scripts/copyright.py | 4 +- scripts/nblint.py | 30 - scripts/release_check.py | 17 +- scripts/test.py | 208 ++ scripts/watch.py | 28 + setup.cfg | 7 +- setup.py | 18 +- src/irobotframework/completer.py | 15 +- src/irobotframework/completion_finders.py | 2 +- src/irobotframework/docs.py | 7 +- src/irobotframework/irobot.py | 8 +- src/irobotframework/kernel.py | 35 +- src/irobotframework/magic/ipython.py | 7 +- src/irobotframework/magic/robot.py | 10 +- src/irobotframework/patches.py | 5 +- src/irobotframework/reporter.py | 13 +- src/irobotframework/runner.py | 6 +- src/irobotframework/tests/test_completion.py | 2 + src/irobotframework/tests/test_inspect.py | 1 + src/irobotframework/tests/test_kernel.py | 1 + src/irobotframework/tests/test_magic.py | 43 +- src/irobotframework/tests/test_report.py | 15 +- src/irobotframework/tests/utils.py | 25 +- .../jupyterlab-robotframework/package.json | 12 +- .../jupyterlab-robotframework/tsconfig.json | 12 +- tsconfigbase.json | 18 + yarn.lock | 3169 ++++++++++++++--- 57 files changed, 3724 insertions(+), 803 deletions(-) create mode 100644 azure-pipelines.yml create mode 100644 ci/job.build.yml create mode 100644 ci/job.combine.yml create mode 100644 ci/job.test.acceptance.yml create mode 100644 ci/job.test.unit.yml create mode 100644 ci/steps.build.js.yml create mode 100644 ci/steps.build.py.yml create mode 100644 ci/steps.combine.yml create mode 100644 ci/steps.conda.build.js.yml create mode 100644 ci/steps.conda.build.py.yml create mode 100644 ci/steps.conda.combine.yml create mode 100644 ci/steps.conda.test.yml create mode 100644 ci/steps.platform.yml create mode 100644 ci/steps.test.yml create mode 100644 scripts/bootstrap.py create mode 100644 scripts/build.py delete mode 100644 scripts/nblint.py create mode 100644 scripts/test.py create mode 100644 scripts/watch.py create mode 100644 tsconfigbase.json diff --git a/.gitignore b/.gitignore index 2466a5e..1edc07b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ envs/ lib/ node_modules/ Untitled*.ipynb +.coverage +.coverage* diff --git a/README.md b/README.md index 3be0ca4..51689fe 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ > _Interactive Acceptance Test-Driven Development and Robot Process Automation, > powered by [IPython](http://ipython.org) and [Robot Framework](https://robotframework.org)_ - irobotframework is a Jupyter Kernel that provides provides Robot Framework: + - test **execution** with **rich output** from Robot notebooks - ...and IPython with `%%robot` - code **completion** and **inspection** in notebooks and consoles @@ -13,23 +13,19 @@ irobotframework is a Jupyter Kernel that provides provides Robot Framework: Learn more in the documentation: -| Interactive | HTML | Notebooks | GitHub | -|-|-|-|-| -| [Binder](https://mybinder.org/v2/gh/gtri/irobotframework/master?urlpath=lab%2Ftree%2Fdocs%2Findex.ipynb) | [readthedocs](https://irobotframework.readthedocs.org) | [nbviewer](https://github.com/gtri/irobotframework/docs/index.ipynb) | [GitHub](https://github.com/gtri/irobotframework/docs/index.ipynb) - +| Interactive | HTML | Notebooks | GitHub | +| -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------ | +| [Binder](https://mybinder.org/v2/gh/gtri/irobotframework/master?urlpath=lab%2Ftree%2Fdocs%2Findex.ipynb) | [readthedocs](https://irobotframework.readthedocs.org) | [nbviewer](https://github.com/gtri/irobotframework/docs/index.ipynb) | [GitHub](https://github.com/gtri/irobotframework/docs/index.ipynb) | ## Features -| Feature | Screenshot | -|---------|------------| -| _Launch Robot Framework as a Notebook, Console or edit Robot files_ | [![][screenshot_launcher]][screenshot_launcher] -| _Get rich completion of Robot language features, Libraries, Keywords and Variables_ | [![][screenshot_complete]][screenshot_complete] -| _Inspect Libraries and Keywords... even ones you're writing_ | [![][screenshot_inspect]][screenshot_inspect] -| _Work with Robot in IPython as an extension_ | [![][screenshot_magic]][screenshot_magic] -| _Use Console and Rich display_ | [![][screenshot_console]][screenshot_console] - - - +| Feature | Screenshot | +| ----------------------------------------------------------------------------------- | ----------------------------------------------- | +| _Launch Robot Framework as a Notebook, Console or edit Robot files_ | [![][screenshot_launcher]][screenshot_launcher] | +| _Get rich completion of Robot language features, Libraries, Keywords and Variables_ | [![][screenshot_complete]][screenshot_complete] | +| _Inspect Libraries and Keywords... even ones you're writing_ | [![][screenshot_inspect]][screenshot_inspect] | +| _Work with Robot in IPython as an extension_ | [![][screenshot_magic]][screenshot_magic] | +| _Use Console and Rich display_ | [![][screenshot_console]][screenshot_console] | [screenshot_complete]: ./docs/_static/screenshots/screenshot_complete.png [screenshot_console]: ./docs/_static/screenshots/screenshot_console.png @@ -37,7 +33,6 @@ Learn more in the documentation: [screenshot_launcher]: ./docs/_static/screenshots/screenshot_launcher.png [screenshot_magic]: ./docs/_static/screenshots/screenshot_magic.png - ## Install ```bash @@ -62,17 +57,20 @@ anaconda-project run bootstrap ``` Now launch JupyterLab + ```bash anaconda-project run lab ``` Live develop by running the following in two prompts: + ```bash anaconda-project run jlpm watch anaconda-project run lab --watch ``` + > Note: Python changes require a kernel restart, TypeScript changes require a - browser reload +> browser reload ## Free Software diff --git a/anaconda-project.yml b/anaconda-project.yml index 6c93431..1174359 100644 --- a/anaconda-project.yml +++ b/anaconda-project.yml @@ -8,87 +8,44 @@ commands: unix: atom . env_spec: test bootstrap: - unix: |- - set -eux \ - && pip install -e . --ignore-installed --no-deps --no-cache-dir \ - && jupyter kernelspec install \ - --name robotframework \ - --sys-prefix \ - src/irobotframework/resources \ - && jupyter kernelspec list \ - && jlpm bootstrap + unix: python -m scripts.bootstrap + windows: python -m scripts.bootstrap env_spec: default - build:docs: - description: build the docs - unix: sphinx-build docs dist/docs - env_spec: docs - build:docs:watch: - description: build the docs - unix: sphinx-autobuild -b html docs dist/docs - env_spec: docs - build:pip:sdist: - description: build a pip sdist - unix: |- - set -eux \ - && python setup.py clean \ - && python setup.py sdist --dist-dir ${PROJECT_DIR}/dist/pip - env_spec: test - build:pip:wheel: - description: build a pip wheel - unix: |- - set -eux \ - && python setup.py clean \ - && python setup.py bdist_wheel --dist-dir ${PROJECT_DIR}/dist/pip - env_spec: test - build:npm: - description: build an npm package - unix: |- - set -eux \ - && mkdir -p dist/npm \ - && cd src/packages/jupyterlab-robotframework \ - && mv $(npm pack) ../../../dist/npm/ - env_spec: test - jlpm: - description: run the yarn bundled with JupyterLab - unix: jlpm + build: + unix: python -m scripts.build + windows: python -m scripts.build env_spec: default + watch: + description: watch the [d]ocs + unix: python -m scripts.watch + windows: python -m scripts.watch + env_spec: docs lab: description: run JupyterLab unix: jupyter lab --no-browser --debug + windows: jupyter lab --no-browser --debug env_spec: default - lab:build: - description: rebuild JupyterLab - unix: jupyter lab build --dev + lab:dist: + description: run JupyterLab in the built dist folder + unix: jupyter lab --no-browser --debug --app-dir dist/lab + windows: jupyter lab --no-browser --debug --app-dir dist\lab env_spec: default ipython: + description: run IRobotFramework in the terminal + windows: ipython --kernel-name robotframework unix: ipython --kernel-name robotframework env_spec: default - test:py: - unix: mkdir -p _testoutput && cd _testoutput && pytest - env_spec: test - test:robot: - unix: set -eux \ - && cd atest/acceptance \ - && python -m robot -d ../../_testoutput --xunit junit_robot.xml . + test: + description: | + run all the tests or specify [l]int, [u]nit, [a]cceptance, [c]ombine. + extra args passed to underlying scripts for unit, acceptance, and combine, + while lint accepts targets + unix: python -m scripts.test + windows: python -m scripts.test env_spec: test test:release: unix: python -m scripts.release_check ${NEXT_RELEASE} env_spec: test - test:lint: - unix: |- - set -eux \ - && python -m scripts.nblint \ - && python -m scripts.copyright \ - && python -m robot.tidy -r atest \ - && rflint \ - --configure TooManyTestSteps:20 \ - --configure TooFewKeywordSteps:0 \ - --configure LineTooLong:200 \ - atest/**/*.robot \ - && black --line-length 88 setup.py ./src/irobotframework/ scripts docs \ - && flake8 --max-line-length=88 \ - && jlpm lint - env_spec: test release:pypi: unix: |- set -eux \ @@ -119,9 +76,15 @@ env_specs: - ipykernel >=5.1 - ipython >=7.2 - jupyterlab >=0.35.4,<0.36 + - jinja2 - nodejs >=8.12,<9 - pillow - robotframework >=3.1 + default-win: + inherit_from: + - default + packages: + - nodejs>=8,<9 test: description: an even-heavier test environment, because browsers inherit_from: @@ -130,6 +93,7 @@ env_specs: - black - flake8 - geckodriver + - isort - jupyter_kernel_test - pylint - pytest @@ -138,6 +102,16 @@ env_specs: - robotframework-lint - robotframework-seleniumlibrary >=3.2.0 - twine + test-win: + inherit_from: + - default-win + - test + test-win37: + inherit_from: + - default-win + - test + packages: + - python>=3.7,<3.8 docs: inherit_from: - default diff --git a/atest/acceptance/00_Smoke.robot b/atest/acceptance/00_Smoke.robot index 328084d..d4c38c2 100644 --- a/atest/acceptance/00_Smoke.robot +++ b/atest/acceptance/00_Smoke.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Some quick tests to see if we broke the build somehow. -Suite Setup Set Screenshot Directory ${OUTPUT_DIR}/${BROWSER}/smoke +Suite Setup Set Screenshot Directory ${OUTPUT_DIR}${/}smoke Resource ../resources/Lab.robot Resource ../resources/Browser.robot diff --git a/atest/acceptance/01_Python.robot b/atest/acceptance/01_Python.robot index 8235314..463675a 100644 --- a/atest/acceptance/01_Python.robot +++ b/atest/acceptance/01_Python.robot @@ -1,7 +1,7 @@ *** Settings *** Documentation Try out the python magics -Suite Setup Set Screenshot Directory ${OUTPUT_DIR}/${BROWSER}/python -Default Tags kernel:python browser:${BROWSER} +Suite Setup Set Screenshot Directory ${OUTPUT_DIR}${/}python +Default Tags kernel:python browser:${BROWSER} py:${PY} Resource ../resources/Lab.robot Resource ../resources/Browser.robot Resource ../resources/Notebook.robot diff --git a/atest/acceptance/02_Robot/00_Basic.robot b/atest/acceptance/02_Robot/00_Basic.robot index e06fac6..7f507a1 100644 --- a/atest/acceptance/02_Robot/00_Basic.robot +++ b/atest/acceptance/02_Robot/00_Basic.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Try out the Robot kernel -Default Tags kernel:robot browser:${BROWSER} +Default Tags kernel:robot browser:${BROWSER} py:${PY} Resource ../../resources/Lab.robot Resource ../../resources/Browser.robot Resource ../../resources/Notebook.robot @@ -10,7 +10,7 @@ Library SeleniumLibrary *** Test Cases *** Robot Test Case Notebook [Documentation] Can we make a simple Robot Test notebook? - Set Screenshot Directory ${OUTPUT_DIR}/${BROWSER}/robot/base + Set Screenshot Directory ${OUTPUT_DIR}${/}robot${/}base Capture Page Screenshot 00_before.png Launch a new Robot Framework Notebook Capture Page Screenshot 01_new.png @@ -21,7 +21,7 @@ Robot Test Case Notebook Robot Task Notebook [Documentation] Can we make a simple Robot Process Automation notebook? - Set Screenshot Directory ${OUTPUT_DIR}/${BROWSER}/robot/rpa + Set Screenshot Directory ${OUTPUT_DIR}${/}robot${/}rpa Capture Page Screenshot 00_before.png Launch a new Robot Framework Notebook Capture Page Screenshot 01_new.png diff --git a/atest/acceptance/02_Robot/01_Settings.robot b/atest/acceptance/02_Robot/01_Settings.robot index 422f51e..703afa1 100644 --- a/atest/acceptance/02_Robot/01_Settings.robot +++ b/atest/acceptance/02_Robot/01_Settings.robot @@ -1,6 +1,6 @@ *** Settings *** Documentation Work with Robot Suite Settings -Default Tags kernel:robot browser:${BROWSER} table:settings +Default Tags kernel:robot browser:${BROWSER} py:${PY} table:settings Resource ../../resources/Lab.robot Resource ../../resources/Browser.robot Resource ../../resources/Notebook.robot @@ -10,7 +10,7 @@ Library SeleniumLibrary *** Test Cases *** Robot Notebook Remembers Settings [Documentation] Will re-running Settings create an error in the logs? - Set Screenshot Directory ${OUTPUT_DIR}/${BROWSER}/robot/settings/cellid + Set Screenshot Directory ${OUTPUT_DIR}${/}robot${/}settings${/}cellid Capture Page Screenshot 00_before.png Launch a new Robot Framework Notebook Capture Page Screenshot 01_new.png @@ -23,7 +23,8 @@ Robot Notebook Remembers Settings Robot Notebook completes Settings [Documentation] Will tabbing complete various Suite Settings? - Set Screenshot Directory ${OUTPUT_DIR}/${BROWSER}/robot/settings/complete + [Tags] skip:chrome skip:windows + Set Screenshot Directory ${OUTPUT_DIR}${/}robot${/}settings${/}complete Launch a new Robot Framework Notebook Add a Cell *** Set Go to End of Cell Source diff --git a/atest/resources/Browser.robot b/atest/resources/Browser.robot index 83446dd..a21400e 100644 --- a/atest/resources/Browser.robot +++ b/atest/resources/Browser.robot @@ -3,4 +3,3 @@ Documentation Some variables for Browser-related things. *** Variables *** ${BROWSER} headlessfirefox -# ${BROWSER} Firefox diff --git a/atest/resources/CodeMirror.robot b/atest/resources/CodeMirror.robot index 2386666..be284b0 100644 --- a/atest/resources/CodeMirror.robot +++ b/atest/resources/CodeMirror.robot @@ -58,4 +58,4 @@ Completions Should Contain [Documentation] Does the completer show the expected completions? [Arguments] @{completions} :FOR ${c} IN @{completions} - \ Page Should Contain Element ${COMPLETE_CSS}\[data-value="${c}"] + \ Wait Until Page Contains Element ${COMPLETE_CSS}\[data-value="${c}"] diff --git a/atest/resources/Lab.robot b/atest/resources/Lab.robot index 8ffcd63..2c17392 100644 --- a/atest/resources/Lab.robot +++ b/atest/resources/Lab.robot @@ -10,7 +10,9 @@ Resource Commands.robot *** Variables *** ${TOKEN} hopelesslyinsecure ${LAB_CMD} jupyter-lab --no-browser --NotebookApp.token=${TOKEN} --port 18888 --debug --ip=0.0.0.0 -${LAB_URL} http://localhost:18888/lab?token=${TOKEN} +${BASE_URL} http://localhost:18888 +${LAB_URL} ${BASE_URL}/lab?token=${TOKEN} +${TREE_URL} ${BASE_URL}/tree?token=${TOKEN} *** Keywords *** Wait for Splash Screen @@ -29,8 +31,8 @@ Launch a new Start JupyterLab [Documentation] Start a Jupyter Notebook Server with JupyterLab - ${notebooks} = Set Variable ${OUTPUT_DIR}${/}${BROWSER}${/}_notebooks - ${log} = Set Variable ${OUTPUT_DIR}${/}${BROWSER}${/}_lab.log + ${notebooks} = Set Variable ${OUTPUT_DIR}${/}_notebooks + ${log} = Set Variable ${OUTPUT_DIR}${/}_lab.log ${cmd} = Set Variable ${LAB_CMD} --notebook-dir=${notebooks} Create Directory ${notebooks} Start Process ${cmd} shell=true stderr=STDOUT stdout=${log} @@ -65,6 +67,9 @@ Reset Application State and Close Clean Up JupyterLab [Documentation] Close all the browsers and stop all processes + Open JupyterLab with ${BROWSER} + Go to ${TREE_URL} + Click Element css:#shutdown Close All Browsers Terminate All Processes kill=True diff --git a/atest/resources/LabRobot.robot b/atest/resources/LabRobot.robot index 5b5b84f..f12a1e3 100644 --- a/atest/resources/LabRobot.robot +++ b/atest/resources/LabRobot.robot @@ -17,7 +17,7 @@ Capture ${criteria} Robot "${document}" Screenshot [Documentation] Verify that documents are clickable and contain expected content ${xpath} = Set Variable //a[text() = '${document}'] ${title} = Set Variable Untitled Test Suite ${document} - Wait Until Page Contains Element ${xpath} + Wait Until Page Contains Element ${xpath} timeout=20s Click Element ${xpath} Sleep 1s Select Window NEW diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..4c16122 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,40 @@ +jobs: + - template: ci/job.build.yml + + - template: ci/job.test.unit.yml + parameters: + name: Linux + vmImage: ubuntu-16.04 + + - template: ci/job.test.unit.yml + parameters: + name: MacOSX + vmImage: macos-10.13 + + - template: ci/job.test.unit.yml + parameters: + name: Windows + vmImage: vs2017-win2016 + + - template: ci/job.test.acceptance.yml + parameters: + name: Linux + vmImage: ubuntu-16.04 + + - template: ci/job.test.acceptance.yml + parameters: + name: MacOSX + vmImage: macos-10.13 + + - template: ci/job.test.acceptance.yml + parameters: + name: Windows + vmImage: vs2017-win2016 + + - template: ci/job.combine.yml + +trigger: + - master + +pr: + - master diff --git a/ci/job.build.yml b/ci/job.build.yml new file mode 100644 index 0000000..ebb404c --- /dev/null +++ b/ci/job.build.yml @@ -0,0 +1,13 @@ +jobs: + - job: Build_JS + pool: + vmImage: ubuntu-16.04 + steps: + - template: steps.conda.build.js.yml + - template: steps.build.js.yml + - job: Build_Py + pool: + vmImage: ubuntu-16.04 + steps: + - template: steps.conda.build.py.yml + - template: steps.build.py.yml diff --git a/ci/job.combine.yml b/ci/job.combine.yml new file mode 100644 index 0000000..b2c9260 --- /dev/null +++ b/ci/job.combine.yml @@ -0,0 +1,12 @@ +jobs: + - job: Combine + condition: always() + pool: + vmImage: ubuntu-16.04 + dependsOn: + - Acceptance_Linux + - Acceptance_MacOSX + - Acceptance_Windows + steps: + - template: steps.conda.combine.yml + - template: steps.combine.yml diff --git a/ci/job.test.acceptance.yml b/ci/job.test.acceptance.yml new file mode 100644 index 0000000..28899ea --- /dev/null +++ b/ci/job.test.acceptance.yml @@ -0,0 +1,35 @@ +parameters: + name: Linux + vmImage: ubuntu-16.04 + +jobs: + - job: Acceptance_${{ parameters.name }} + pool: + vmImage: ${{ parameters.vmImage }} + dependsOn: + - Build_JS + - Build_Py + strategy: + matrix: + Firefox: + PY_VERSION: "36" + PY_SPEC: ">=3.6,<3.7" + TEST_KIND: acceptance + BROWSER: headlessfirefox + Chrome: + PY_VERSION: "37" + PY_SPEC: ">=3.7,<3.8" + TEST_KIND: acceptance + BROWSER: headlesschrome + steps: + - template: steps.conda.test.yml + parameters: + name: ${{ parameters.name }} + + - template: steps.platform.yml + parameters: + name: ${{ parameters.name }} + + - template: steps.test.yml + parameters: + name: ${{ parameters.name }} diff --git a/ci/job.test.unit.yml b/ci/job.test.unit.yml new file mode 100644 index 0000000..11aa047 --- /dev/null +++ b/ci/job.test.unit.yml @@ -0,0 +1,32 @@ +parameters: + name: Linux + vmImage: ubuntu-16.04 + +jobs: + - job: Unit_${{ parameters.name }} + pool: + vmImage: ${{ parameters.vmImage }} + dependsOn: + - Build_Py + strategy: + matrix: + Unit_36: + PY_VERSION: "36" + PY_SPEC: ">=3.6,<3.7" + TEST_KIND: unit + Unit_37: + PY_VERSION: "37" + PY_SPEC: ">=3.7,<3.8" + TEST_KIND: unit + steps: + - template: steps.conda.test.yml + parameters: + name: ${{ parameters.name }} + + - template: steps.platform.yml + parameters: + name: ${{ parameters.name }} + + - template: steps.test.yml + parameters: + name: ${{ parameters.name }} diff --git a/ci/steps.build.js.yml b/ci/steps.build.js.yml new file mode 100644 index 0000000..5c51526 --- /dev/null +++ b/ci/steps.build.js.yml @@ -0,0 +1,21 @@ +steps: + - script: python -m scripts.bootstrap js + displayName: Bootstrap JS + + - script: python -m scripts.test lint ipynb js + displayName: Lint + + - script: python -m scripts.build lerna + displayName: Build JS + + - script: python -m scripts.build npm + displayName: Build npm Package + + - script: python -m scripts.build jupyterlab + displayName: Build Lab + + - task: PublishPipelineArtifact@0 + displayName: Publish Build + inputs: + targetPath: dist + artifactName: JS Dist diff --git a/ci/steps.build.py.yml b/ci/steps.build.py.yml new file mode 100644 index 0000000..f00cad2 --- /dev/null +++ b/ci/steps.build.py.yml @@ -0,0 +1,15 @@ +steps: + - script: python -m scripts.test lint copyright py robot + displayName: Lint + + - script: python -m scripts.build sdist + displayName: Build Python Source + + - script: python -m scripts.build wheel + displayName: Build Python Wheel + + - task: PublishPipelineArtifact@0 + displayName: Publish Build + inputs: + targetPath: dist + artifactName: Py Dist diff --git a/ci/steps.combine.yml b/ci/steps.combine.yml new file mode 100644 index 0000000..727dc55 --- /dev/null +++ b/ci/steps.combine.yml @@ -0,0 +1,47 @@ +steps: + - task: DownloadPipelineArtifact@0 + condition: always() + inputs: + artifactName: Linux headlessfirefox 36 + targetPath: _testoutput/robot + + - task: DownloadPipelineArtifact@0 + condition: always() + inputs: + artifactName: Linux headlesschrome 37 + targetPath: _testoutput/robot + + - task: DownloadPipelineArtifact@0 + condition: always() + inputs: + artifactName: MacOSX headlessfirefox 36 + targetPath: _testoutput/robot + + - task: DownloadPipelineArtifact@0 + condition: always() + inputs: + artifactName: MacOSX headlesschrome 37 + targetPath: _testoutput/robot + + - task: DownloadPipelineArtifact@0 + condition: always() + inputs: + artifactName: Windows headlessfirefox 36 + targetPath: _testoutput/robot + + - task: DownloadPipelineArtifact@0 + condition: always() + inputs: + artifactName: Windows headlesschrome 37 + targetPath: _testoutput/robot + + - script: python -m scripts.test combine + condition: always() + displayName: Rebot + + - task: PublishBuildArtifacts@1 + condition: always() + displayName: Publish Robot Output + inputs: + pathtoPublish: _testoutput + artifactName: Robot Logs diff --git a/ci/steps.conda.build.js.yml b/ci/steps.conda.build.js.yml new file mode 100644 index 0000000..17ba958 --- /dev/null +++ b/ci/steps.conda.build.js.yml @@ -0,0 +1,11 @@ +steps: + - task: CondaEnvironment@1 + inputs: + createOptions: -c defaults -c conda-forge + createCustomEnvironment: true + updateConda: false + environmentName: _buildjs + packageSpecs: > + jupyterlab>=0.35.4,<0.36 + nodejs>=8.12,<9 + python>=3.7,<3.8 diff --git a/ci/steps.conda.build.py.yml b/ci/steps.conda.build.py.yml new file mode 100644 index 0000000..32893db --- /dev/null +++ b/ci/steps.conda.build.py.yml @@ -0,0 +1,13 @@ +steps: + - task: CondaEnvironment@1 + inputs: + createOptions: -c defaults -c conda-forge + createCustomEnvironment: true + updateConda: false + environmentName: _buildpy + packageSpecs: > + black + flake8 + isort + python>=3.7,<3.8 + robotframework-lint diff --git a/ci/steps.conda.combine.yml b/ci/steps.conda.combine.yml new file mode 100644 index 0000000..266f904 --- /dev/null +++ b/ci/steps.conda.combine.yml @@ -0,0 +1,11 @@ +steps: + - task: CondaEnvironment@1 + inputs: + createOptions: -c conda-forge -c defaults + createCustomEnvironment: true + updateConda: false + environmentName: _combine + packageSpecs: > + python>=3.6,<3.7 + robotframework>=3.1 + nbformat diff --git a/ci/steps.conda.test.yml b/ci/steps.conda.test.yml new file mode 100644 index 0000000..90d1c75 --- /dev/null +++ b/ci/steps.conda.test.yml @@ -0,0 +1,80 @@ +parameters: + name: Linux + +steps: + - ${{ if eq(parameters.name, 'Windows') }}: + - task: CondaEnvironment@1 + condition: eq(variables['TEST_KIND'], 'unit') + inputs: + createOptions: -c conda-forge -c defaults + createCustomEnvironment: true + updateConda: true + environmentName: _unit$(PY_VERSION) + packageSpecs: > + importnb>=0.5.2 + ipykernel>=5.1 + ipython>=7.2 + jinja2 + jupyter_kernel_test + pillow + pytest-cov + python$(PY_SPEC) + robotframework>=3.1 + - ${{ if eq(parameters.name, 'Windows') }}: + - task: CondaEnvironment@1 + condition: eq(variables['TEST_KIND'], 'acceptance') + inputs: + createOptions: -c conda-forge -c defaults + createCustomEnvironment: true + updateConda: true + environmentName: _accept$(PY_VERSION) + packageSpecs: > + geckodriver + importnb>=0.5.2 + ipykernel>=5.1 + ipython>=7.2 + jupyterlab>=0.35.4,<0.36 + pillow + python$(PY_SPEC) + python-chromedriver-binary==2.42 + robotframework-seleniumlibrary>=3.2.0 + robotframework>=3.1 + selenium>=3.141.0 + + - ${{ if not(eq(parameters.name, 'Windows')) }}: + - task: CondaEnvironment@1 + condition: eq(variables['TEST_KIND'], 'acceptance') + inputs: + createOptions: -c defaults -c conda-forge + createCustomEnvironment: true + updateConda: false + environmentName: _accept$(PY_VERSION) + packageSpecs: > + geckodriver + importnb>=0.5.2 + ipykernel>=5.1 + ipython>=7.2 + jupyterlab>=0.35.4,<0.36 + pillow + python$(PY_SPEC) + python-chromedriver-binary>=2.45 + robotframework-seleniumlibrary>=3.2.0 + robotframework>=3.1 + selenium>=3.141.0 + - task: CondaEnvironment@1 + condition: eq(variables['TEST_KIND'], 'unit') + inputs: + createOptions: -c defaults -c conda-forge + createCustomEnvironment: true + updateConda: false + environmentName: _unit$(PY_VERSION) + packageSpecs: > + importnb>=0.5.2 + ipykernel>=5.1 + ipython>=7.2 + jinja2 + jupyter_kernel_test + pillow + pytest-cov + python$(PY_SPEC) + robotframework>=3.1 diff --git a/ci/steps.platform.yml b/ci/steps.platform.yml new file mode 100644 index 0000000..55ed09a --- /dev/null +++ b/ci/steps.platform.yml @@ -0,0 +1,22 @@ +parameters: + name: Linux + +steps: + - ${{ if eq(parameters.name, 'Windows') }}: + - script: > + conda uninstall --force zeromq pyzmq + && pip install pyzmq + displayName: zmq hack + - ${{ if eq(parameters.name, 'MacOSX') }}: + - script: | + brew update \ + && brew tap caskroom/cask \ + && brew cask install firefox + condition: and(eq(variables['TEST_KIND'], 'acceptance'), eq(variables['BROWSER'], 'headlessfirefox')) + displayName: Install Firefox + - script: | + brew update \ + && brew tap caskroom/cask \ + && brew cask install google-chrome + condition: and(eq(variables['TEST_KIND'], 'acceptance'), eq(variables['BROWSER'], 'headlesschrome')) + displayName: Install Chrome diff --git a/ci/steps.test.yml b/ci/steps.test.yml new file mode 100644 index 0000000..add31e0 --- /dev/null +++ b/ci/steps.test.yml @@ -0,0 +1,54 @@ +parameters: + name: Linux + +steps: + - task: DownloadPipelineArtifact@0 + inputs: + artifactName: Py Dist + targetPath: dist + + - task: DownloadPipelineArtifact@0 + condition: eq(variables['TEST_KIND'], 'acceptance') + inputs: + artifactName: JS Dist + targetPath: dist + + - script: python -m scripts.bootstrap sdist + condition: eq(variables['TEST_KIND'], 'acceptance') + displayName: Bootstrap Python + + - script: python -m scripts.bootstrap wheel + condition: eq(variables['TEST_KIND'], 'unit') + displayName: Bootstrap Python + + - script: python -m scripts.test acceptance --browser $(BROWSER) + condition: eq(variables['TEST_KIND'], 'acceptance') + displayName: Acceptance Tests + + - script: python -m scripts.test unit + condition: eq(variables['TEST_KIND'], 'unit') + displayName: Unit Tests + + - ${{ if eq(parameters.name, 'MacOSX') }}: + - script: chmod -R 777 _testoutput + displayName: Fix artifact permissions + + - task: PublishTestResults@2 + condition: always() + displayName: Publish Test Results + inputs: + testResultsFiles: _testoutput/xunit/*.xml + + - task: PublishCodeCoverageResults@1 + condition: eq(variables['TEST_KIND'], 'unit') + inputs: + summaryFileLocation: _testoutput/cov/*.xml + codeCoverageTool: cobertura + reportDirectory: _testoutput/cov + + - task: PublishPipelineArtifact@0 + condition: and(always(), eq(variables['TEST_KIND'], 'acceptance')) + displayName: Publish Robot Output + inputs: + targetPath: _testoutput/robot + artifactName: ${{ parameters.name }} $(BROWSER) $(PY_VERSION) diff --git a/lerna.json b/lerna.json index 5778960..7466564 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { - "lerna": "2.11.0", - "version": "independent", + "lerna": "3.10.8", "npmClient": "jlpm", "registry": "https://registry.npmjs.org/", - "useWorkspaces": true + "useWorkspaces": true, + "version": "independent" } diff --git a/package.json b/package.json index 066df60..6f3c676 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,20 @@ { "devDependencies": { - "lerna": "2.11.0", - "prettier": "1.14.0", - "tslint": "~5.10.0", - "tslint-config-prettier": "^1.9.0", - "tslint-plugin-prettier": "^1.3.0" + "lerna": "3.10.8", + "prettier": "1.16.4", + "tslint": "~5.12.1", + "tslint-config-prettier": "^1.18.0", + "tslint-plugin-prettier": "^2.0.1" }, - "name": "_IRobotFramework", + "name": "root", "private": true, "scripts": { - "bootstrap": "jlpm && lerna bootstrap && jlpm build && jlpm lab:link && jlpm lab:build", + "bootstrap": "jlpm && lerna bootstrap", "build": "lerna run build", - "lab:build": "jupyter lab build --dev", - "lab:link": "set -ex && cd src/packages/jupyterlab-robotframework && jupyter labextension install . --no-build", "lint": "jlpm lint:prettier && jlpm lint:tslint", "lint:prettier": "prettier --write src/packages/**/*.{css,json,md,ts} *.{json,md,yml}", "lint:tslint": "lerna exec -- tslint -c ../../../tslint.json --fix ./src/**/*.ts", + "npm:pack": "lerna exec -- npm pack", "watch": "lerna run watch --parallel" }, "version": "0.5.0", diff --git a/scripts/__init__.py b/scripts/__init__.py index 7b4ca8b..36198d9 100644 --- a/scripts/__init__.py +++ b/scripts/__init__.py @@ -2,15 +2,24 @@ # Distributed under the terms of the BSD-3-Clause License from pathlib import Path +import platform +import subprocess +import sys +import json +PLATFORM = platform.system().lower() +PY = "{}{}".format(*list(sys.version_info)[:2]) + ROOT = Path(__file__).parent.parent +PACKAGE = json.loads((ROOT / "package.json").read_text()) + +DIST = ROOT / "dist" SRC = ROOT / "src" SCRIPTS = ROOT / "scripts" DOCS = ROOT / "docs" - COPYRIGHT_RE = r"Copyright \(c\) (\d{4}(\s-\s\d{4})?) Georgia Tech Research Corporation" YEAR = "2018" @@ -35,3 +44,22 @@ VERSIONS = (ROOT / "src").rglob("**/_version.py") RECIPES = (ROOT / "recipes").rglob("**/meta.yaml") HISTORY = ROOT / "docs" / "History.ipynb" + +TEST_OUT = ROOT / "_testoutput" +TEST_DIR = ROOT / "atest" / "acceptance" + + +def run(args, **kwargs): + """ Probably unneccessary "convenience" wrapper + """ + str_args = list(map(str, args)) + print("====\n\n", " ".join(str_args), "\n\n====") + p = subprocess.Popen(str_args, **kwargs) + + try: + p.wait() + except KeyboardInterrupt: + p.terminate() + p.wait() + finally: + return p.returncode diff --git a/scripts/bootstrap.py b/scripts/bootstrap.py new file mode 100644 index 0000000..cdf8cca --- /dev/null +++ b/scripts/bootstrap.py @@ -0,0 +1,49 @@ +# Copyright (c) 2018 Georgia Tech Research Corporation +# Distributed under the terms of the BSD-3-Clause License + +import sys + +from . import DIST, ROOT, run + +RES = ROOT / "src" / "irobotframework" / "resources" +PIP = DIST / "pip" + +PIP_ARGS = "pip install --ignore-installed --no-deps --no-cache-dir" + +COMMANDS = dict( + js="jlpm bootstrap", + lint="python -m scripts.test lint", + build="python -m scripts.build", + sdist=lambda: f"{PIP_ARGS} {sdist()}", + wheel=lambda: f"{PIP_ARGS} {wheel()}", + dev=f"{PIP_ARGS} -e .", + kernel=f"jupyter kernelspec install --name robotframework --sys-prefix {RES}", + test="python -m scripts.test", +) + + +def sdist(): + return list(PIP.glob("*.tar.gz"))[0].resolve() + + +def wheel(): + return list(PIP.glob("*.whl"))[0].resolve() + + +def bootstrap(steps): + rc = 1 + + for name, cmd in COMMANDS.items(): + if steps and name not in steps: + continue + if not isinstance(cmd, str): + cmd = cmd() + rc = run(cmd.split(" ")) + if rc != 0: + break + + return rc + + +if __name__ == "__main__": + sys.exit(bootstrap(sys.argv[1:])) diff --git a/scripts/build.py b/scripts/build.py new file mode 100644 index 0000000..e8301e1 --- /dev/null +++ b/scripts/build.py @@ -0,0 +1,124 @@ +# Copyright (c) 2018 Georgia Tech Research Corporation +# Distributed under the terms of the BSD-3-Clause License + +import shutil +import sys +import tarfile +import tempfile +from pathlib import Path + +from . import DIST, PACKAGE, ROOT, run + + +def sdist(sdist_args): + rc = run(["python", "setup.py", "clean"]) + if rc != 0: + return rc + return run(["python", "setup.py", "sdist", "--dist-dir", DIST / "pip"] + sdist_args) + + +def wheel(wheel_args): + rc = run(["python", "setup.py", "clean"]) + if rc != 0: + return rc + return run( + ["python", "setup.py", "bdist_wheel", "--dist-dir", DIST / "pip"] + wheel_args + ) + + +def lerna(lerna_args): + return run(["jlpm", "build"] + lerna_args) + + +def npm(npm_args): + src_dirs = sum([list(ROOT.glob(ws)) for ws in PACKAGE["workspaces"]], []) + out_dir = DIST / "npm" + + rc = run(["jlpm", "npm:pack"]) + + if rc != 0: + return rc + + out_dir.exists() and shutil.rmtree(out_dir) + out_dir.mkdir(parents=True, exist_ok=True) + + for src_dir in src_dirs: + for tgz in src_dir.glob("*.tgz"): + tgz.rename(out_dir / tgz.name) + + return 0 + + +def jupyterlab(extra_args): + with tempfile.TemporaryDirectory() as td: + tdp = Path(td) + + lab_dir = tdp / "lab" + ext_dir = lab_dir / "extensions" + ext_dir.mkdir(parents=True) + ext = list((DIST / "npm").glob("*.tgz"))[0] + shutil.copy(ext, ext_dir) + + rc = run(["jupyter", "lab", "build", "--app-dir", lab_dir]) + if rc != 0: + return rc + + lab_out = DIST / "lab" + lab_out.exists() and shutil.rmtree(lab_out) + lab_out.mkdir() + + with tarfile.open(lab_out / "lab.tar.gz", "w:gz") as tarball: + for path in ["static", "themes", "schemas", "extensions"]: + tarball.add(lab_dir / path, arcname=path) + + with tarfile.open(lab_out / "lab.tar.gz", "r") as tarball: + tarball.extractall(lab_out) + + +def docs(extra_args): + try: + import sphinx + + print(sphinx.__version__) + except Exception as error: + print(error) + print("skipping docs build, run in `--env-spec docs`") + return 0 + return run(["sphinx-build", ROOT / "docs", DIST / "docs"]) + + +BUILDS = [ + [sdist, []], + [wheel, []], + [lerna, []], + [npm, []], + [jupyterlab, []], + [docs, []], +] + + +if __name__ == "__main__": + rc = 0 + args = list(sys.argv[1:]) + if not args: + DIST.exists() and shutil.rmtree(DIST) + + for test, extra_args in BUILDS: + rc = test(extra_args) or rc + if "-x" in args: + if rc != 0: + break + elif args[0] in ["sdist", "s"]: + rc = sdist(args[1:]) + elif args[0] in ["wheel", "w"]: + rc = wheel(args[1:]) + elif args[0] in ["npm", "n"]: + rc = npm(args[1:]) + elif args[0] in ["lerna", "l"]: + rc = lerna(args[1:]) + elif args[0] in ["jupyterlab", "j"]: + rc = jupyterlab(args[1:]) + elif args[0] in ["docs", "d"]: + rc = docs(args[1:]) + + sys.exit(rc) diff --git a/scripts/copyright.py b/scripts/copyright.py index 080302e..caae7dd 100644 --- a/scripts/copyright.py +++ b/scripts/copyright.py @@ -4,7 +4,7 @@ import re import sys -from . import SRC, YEAR, COPYRIGHT_RE, PY_HEADER, WEB_HEADER, SCRIPTS, DOCS +from . import COPYRIGHT_RE, DOCS, PY_HEADER, SCRIPTS, SRC, WEB_HEADER, YEAR def update_patterns(root, patterns, header, ignores=None) -> int: @@ -26,7 +26,7 @@ def update_patterns(root, patterns, header, ignores=None) -> int: if ignored: continue - txt = path.read_text() + txt = path.read_text(encoding="utf-8") years = re.findall(COPYRIGHT_RE, txt) diff --git a/scripts/nblint.py b/scripts/nblint.py deleted file mode 100644 index cc11504..0000000 --- a/scripts/nblint.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2018 Georgia Tech Research Corporation -# Distributed under the terms of the BSD-3-Clause License - -from nbformat import reads, write, NO_CONVERT - -from . import DOCS - - -def strip(): - """ Remove outputs and execution counts from notebook files, as robot - notebooks are _really_ huge and unreproducible. - """ - for ipynb_file in DOCS.rglob("*.ipynb"): - nbf = reads(ipynb_file.read_text(), NO_CONVERT) - changed = False - for cell in nbf.cells: - if cell.cell_type == "code": - if cell.outputs: - cell.outputs = [] - changed = True - if cell.execution_count: - cell.execution_count = None - changed = True - if changed: - print(f"remove outputs/execution counts from {ipynb_file}") - write(nbf, str(ipynb_file)) - - -if __name__ == "__main__": - strip() diff --git a/scripts/release_check.py b/scripts/release_check.py index 1e4b3a5..81fc0f4 100644 --- a/scripts/release_check.py +++ b/scripts/release_check.py @@ -1,10 +1,10 @@ # Copyright (c) 2018 Georgia Tech Research Corporation # Distributed under the terms of the BSD-3-Clause License -import sys import json +import sys -from . import PACKAGES, VERSIONS, RECIPES, HISTORY, ROOT +from . import HISTORY, PACKAGES, ROOT, VERSIONS def release_check(version): @@ -13,31 +13,24 @@ def release_check(version): print(f"\n*** READY TO RELEASE {version}? ***\n") version_comp = f"""__version__ = "{version}" """.strip() - recipe_comp = f"""set version = "{version}" """.strip() history_comp = f"""## {version}""" outdated = [] for package in PACKAGES: print(f"- {package.relative_to(ROOT)}...") - if json.loads(package.read_text())["version"] != version: + if json.loads(package.read_text(encoding="utf-8"))["version"] != version: print(f""" - NOPE""") outdated += [package] for py_version in VERSIONS: print(f"- {py_version.relative_to(ROOT)}...") - if version_comp not in py_version.read_text(): + if version_comp not in py_version.read_text(encoding="utf-8"): print(f""" - NOPE""") outdated += [py_version] - for recipe in RECIPES: - print(f"- {recipe.relative_to(ROOT)}...") - if recipe_comp not in recipe.read_text(): - print(f""" - NOPE""") - outdated += [recipe] - print(f"- {HISTORY.relative_to(ROOT)}...") - if history_comp not in HISTORY.read_text(): + if history_comp not in HISTORY.read_text(encoding="utf-8"): print(f""" - NOPE""") outdated += [HISTORY] diff --git a/scripts/test.py b/scripts/test.py new file mode 100644 index 0000000..01face5 --- /dev/null +++ b/scripts/test.py @@ -0,0 +1,208 @@ +# Copyright (c) 2018 Georgia Tech Research Corporation +# Distributed under the terms of the BSD-3-Clause License + +import os +import shutil +import sys +from pathlib import Path +from subprocess import check_call +from tempfile import TemporaryDirectory + +from . import DIST, PLATFORM, PY, TEST_DIR, TEST_OUT, run + +BROWSER = os.environ.get("BROWSER", "headlessfirefox") + +XUNIT = TEST_OUT / "xunit" +COV = TEST_OUT / "cov" +PY_SRC = ["src", "setup.py", "scripts", "docs"] +RF_SRC = [os.path.join("atest", "resources"), os.path.join("atest", "acceptance")] + + +def lint(targets=[]): + if PLATFORM == "windows": + return 0 + + if not targets or "copyright" in targets: + check_call([sys.executable, "-m", "scripts.copyright"]) + + if not targets or "py" in targets: + check_call(["isort", "-rc"] + PY_SRC) + check_call(["black"] + PY_SRC) + check_call(["flake8"] + PY_SRC) + + if not targets or "robot" in targets: + for src in RF_SRC: + check_call(["python", "-m", "robot.tidy", "-r", src]) + check_call( + [ + "rflint", + "--configure", + "TooManyTestSteps:200", + "--configure", + "TooFewKeywordSteps:0", + "--configure", + "LineTooLong:200", + src, + ] + ) + + if not targets or "ipynb" in targets: + from nbformat import NO_CONVERT, read, write + + for nbp in (Path(__file__).parent.parent / "docs").rglob("*.ipynb"): + nbf = read(str(nbp), NO_CONVERT) + changed = False + for cell in nbf.cells: + if cell.cell_type == "code": + if cell.outputs: + cell.outputs = [] + changed = True + if cell.execution_count: + cell.execution_count = None + changed = True + if changed: + print(f"Overwriting {nbp}") + write(nbf, str(nbp)) + + if not targets or "js" in targets: + check_call(["jlpm"]) + check_call(["jlpm", "lint"]) + + return 0 + + +def unit(pytest_args): + attempts = 3 if PY == "37" and PLATFORM == "windows" else 1 + for i in range(attempts): + rc = run( + [ + "pytest", + "--cov-report", + f"xml:{COV / PLATFORM}.{PY}.py.xml", + "--cov-report", + f"html:{COV / PLATFORM}.{PY}", + "--junitxml", + f"{XUNIT / PLATFORM}.{PY}.py.xml", + ] + + list(pytest_args) + ) + if rc == 0: + break + return rc + + +def acceptance(robot_args): + import chromedriver_binary # noqa + + global BROWSER + env = dict(**os.environ) + + with TemporaryDirectory() as td: + tdp = Path(td) + (tdp / "home").mkdir() + shutil.copytree(DIST / "lab", tdp / "lab") + + if "--browser" in robot_args: + browser_index = robot_args.index("--browser") + BROWSER = robot_args[browser_index + 1] + robot_args.remove("--browser") + robot_args.remove(BROWSER) + os.environ["BROWSER"] = BROWSER + + env.update( + PATH=os.pathsep.join( + [os.path.dirname(chromedriver_binary.__file__), os.environ["PATH"]] + ), + JUPYTERLAB_DIR=str(tdp / "lab"), + JUPYTERLAB_SETTINGS_DIR=str(tdp / "lab" / "settings"), + JUPYTERLAB_WORKSPACES_DIR=str(tdp / "lab" / "workspaces"), + HOME=str(tdp / "home"), + ) + + robot_out = TEST_OUT / "robot" + out_dir = robot_out / PLATFORM / BROWSER / PY + out_dir.mkdir(parents=True, exist_ok=True) + + args = ( + [ + sys.executable, + "-m", + "robot", + "--name", + f"{BROWSER} on {PLATFORM} on {PY}", + "--outputdir", + out_dir, + "--output", + f"{robot_out / PLATFORM}.{BROWSER}.{PY}.xml", + "--log", + f"{robot_out / PLATFORM}.{BROWSER}.{PY}.log.html", + "--report", + f"{robot_out / PLATFORM}.{BROWSER}.{PY}.report.html", + "--xunit", + f"""{XUNIT / PLATFORM}.{BROWSER}.{PY}.robot.xml""", + "--variable", + f"OS:{PLATFORM}", + "--variable", + f"BROWSER:{BROWSER}", + "--variable", + f"PY:{PY}", + "--exclude", + f"""skip:{BROWSER.replace("headless", "")}""", + "--exclude", + f"""skip:{PLATFORM}""", + ] + + list(robot_args) + + [str(TEST_DIR)] + ) + return run(args, env=env) + + +def combine(rebot_args): + args = ( + [ + "python", + "-m", + "robot.rebot", + "--name", + "IRobotFramework", + "--outputdir", + str(TEST_OUT / "robot"), + "--output", + "index.xml", + ] + + rebot_args + + list(map(str, (TEST_OUT / "robot").glob("*.xml"))) + ) + + return run(args) + + +TESTS = [ + [lint, []], + [unit, []], + [acceptance, ["--browser", "headlessfirefox"]], + [acceptance, ["--browser", "headlesschrome"]], + [combine, []], +] + +if __name__ == "__main__": + rc = 0 + args = list(sys.argv[1:]) + if not args: + TEST_OUT.exists() and shutil.rmtree(TEST_OUT) + + for test, extra_args in TESTS: + rc = test(extra_args) or rc + if "-x" in args: + if rc != 0: + break + elif args[0] in ["lint", "l"]: + rc = lint(args[1:]) + elif args[0] in ["unit", "u"]: + rc = unit(args[1:]) + elif args[0] in ["acceptance", "a"]: + rc = acceptance(args[1:]) + elif args[0] in ["combine", "c"]: + rc = combine(args[1:]) + + sys.exit(rc) diff --git a/scripts/watch.py b/scripts/watch.py new file mode 100644 index 0000000..6894e2f --- /dev/null +++ b/scripts/watch.py @@ -0,0 +1,28 @@ +# Copyright (c) 2018 Georgia Tech Research Corporation +# Distributed under the terms of the BSD-3-Clause License + +import sys + +from . import DIST, ROOT, run + + +def docs(extra_args): + return run(["sphinx-autobuild", "-b", "html", ROOT / "docs", DIST / "docs"]) + + +WATCHES = [[docs, []]] + + +if __name__ == "__main__": + rc = 0 + args = list(sys.argv[1:]) + if not args: + for watch, extra_args in WATCHES: + rc = watch(extra_args) or rc + if "-x" in args: + if rc != 0: + break + elif args[0] in ["docs", "d"]: + rc = docs(args[1:]) + + sys.exit(rc) diff --git a/setup.cfg b/setup.cfg index 524bf04..b6ebbd2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,6 +2,7 @@ max-line-length = 88 ignore = E203 + W503 exclude = envs/ node_modules/ @@ -13,13 +14,9 @@ exclude = addopts = -p no:pytest-importnb -p no:nbsource - --pyargs irobotframework.tests - --junitxml junit.xml + --pyargs irobotframework --cov irobotframework - --cov-report term-missing --cov-report term-missing:skip-covered - --cov-report xml - --cov-report html norecursedirs = .git envs diff --git a/setup.py b/setup.py index 8899d16..351670a 100644 --- a/setup.py +++ b/setup.py @@ -2,10 +2,10 @@ Automagically installs kernelspecs, probably more later... """ -import setuptools -from pathlib import Path import re +from pathlib import Path +import setuptools NAME = "irobotframework" HERE = Path(__file__).parent.resolve() @@ -16,10 +16,12 @@ setup_args = dict( name=NAME, - version=re.findall(VERSION_RE, (SRC / "_version.py").read_text())[0][1], + version=re.findall(VERSION_RE, (SRC / "_version.py").read_text(encoding="utf-8"))[ + 0 + ][1], description="Jupyter integration for Robot Framework", license="BSD-3-Clause", - long_description=(HERE / "README.md").read_text(), + long_description=(HERE / "README.md").read_text(encoding="utf-8"), long_description_content_type="text/markdown", url="https://github.com/gtri/irobotframework", author="Georgia Tech Research Corporation", @@ -34,20 +36,24 @@ package_dir={"": "src"}, packages=setuptools.find_packages("src"), install_requires=[ + "importnb>=0.5.2", "ipykernel>=5.1", "IPython>=7.2", + "jinja2", "robotframework>=3.1", - "importnb>=0.5.2", ], tests_require=["jupyter_kernel_test", "robotframework-seleniumlibrary", "pytest"], keywords=["Interactive", "Interpreter", "Shell", "Testing", "Web"], classifiers=[ + "Framework :: IPython", "Framework :: Jupyter", + "Framework :: Robot Framework :: Tool", + "Framework :: Robot Framework", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: BSD License", - "Programming Language :: Python", "Programming Language :: Python :: 3", + "Programming Language :: Python", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing", ], diff --git a/src/irobotframework/completer.py b/src/irobotframework/completer.py index fe715f0..50e8969 100644 --- a/src/irobotframework/completer.py +++ b/src/irobotframework/completer.py @@ -3,27 +3,22 @@ """ Completion and Inspection for Robot Framework Keywords """ -from typing import List, Callable import re from pathlib import Path from tempfile import TemporaryDirectory - -from traitlets.config import LoggingConfigurable +from typing import Callable, List from IPython import get_ipython - -from robot.utils.robotpath import find_file - from robot.libdocpkg import LibraryDocumentation -from robot.libdocpkg.htmlwriter import JsonConverter, DocFormatter - +from robot.libdocpkg.htmlwriter import DocFormatter, JsonConverter from robot.parsing.datarow import DataRow from robot.parsing.robotreader import RobotReader +from robot.utils.robotpath import find_file +from traitlets.config import LoggingConfigurable -from .doc_template import LIB_TEMPLATE, KW_TEMPLATE, DOC_CONTEXT +from .doc_template import DOC_CONTEXT, KW_TEMPLATE, LIB_TEMPLATE from .util import find_line - SKIP_LIBS = ["Remote"] RE_IMPORT = r"^\|?\s*(library|resource) ( +|\|)\s*([^ \n]+)" diff --git a/src/irobotframework/completion_finders.py b/src/irobotframework/completion_finders.py index c22e939..9cb840e 100644 --- a/src/irobotframework/completion_finders.py +++ b/src/irobotframework/completion_finders.py @@ -6,8 +6,8 @@ # pylint: disable=W0613,C0330,R0913,W0703,R0914 -from typing import List, Tuple import re +from typing import List, Tuple from IPython.core.completerlib import get_root_modules from robot.libraries import STDLIBS diff --git a/src/irobotframework/docs.py b/src/irobotframework/docs.py index fe27407..0aeb63d 100644 --- a/src/irobotframework/docs.py +++ b/src/irobotframework/docs.py @@ -4,15 +4,14 @@ """ Documentation-related features for irobotframework """ import sys -import IPython -import ipykernel -from .util import url_path_join as ujoin +import ipykernel +import IPython import robot from robot.libraries import STDLIBS from ._version import __version__ - +from .util import url_path_join as ujoin HAS_NO_DOC = ["Remote"] PY_DOCS = "https://docs.python.org/%i.%i" % sys.version_info[:2] diff --git a/src/irobotframework/irobot.py b/src/irobotframework/irobot.py index 52c97b8..e4b90dd 100644 --- a/src/irobotframework/irobot.py +++ b/src/irobotframework/irobot.py @@ -9,20 +9,20 @@ """ Interactive implementations of Robot Framework primitives """ import inspect -from io import BytesIO, StringIO import os +from io import BytesIO, StringIO from pathlib import Path from robot.errors import DataError from robot.output import LOGGER from robot.parsing import TestCaseFile -from robot.parsing.model import _TestData, KeywordTable, TestCaseFileSettingTable +from robot.parsing.model import KeywordTable, TestCaseFileSettingTable, _TestData from robot.parsing.populators import FromFilePopulator +from robot.parsing.robotreader import RobotReader from robot.parsing.settings import Fixture from robot.parsing.tablepopulators import NullPopulator -from robot.parsing.robotreader import RobotReader -from robot.utils import get_error_message from robot.tidy import Tidy +from robot.utils import get_error_message class EventListener(object): diff --git a/src/irobotframework/kernel.py b/src/irobotframework/kernel.py index 6a0fa64..fed1fc8 100644 --- a/src/irobotframework/kernel.py +++ b/src/irobotframework/kernel.py @@ -9,28 +9,28 @@ """ import json import re -from pathlib import Path -from collections import OrderedDict import uuid -from typing import List, Text, Dict +from collections import OrderedDict +from pathlib import Path +from typing import Dict, List, Text from ipykernel.ipkernel import IPythonKernel from ipykernel.kernelapp import IPKernelApp +from . import docs, util from ._version import __version__ -from . import util, docs -from .runner import KernelRunner -from .reporter import KernelReporter from .completer import Completer from .completion_finders import get_default_completion_finders - from .magic.robot import PY_MAGIC_RE, default_robot_cell_magics - +from .reporter import KernelReporter +from .runner import KernelRunner __all__ = ["RobotKernel"] HERE = Path(__file__).parent.resolve() -KERNEL_JSON = json.loads((HERE / "resources" / "kernel.json").read_text()) +KERNEL_JSON = json.loads( + (HERE / "resources" / "kernel.json").read_text(encoding="utf-8") +) LANGUAGE_INFO = { **{k: v for k, v in KERNEL_JSON.items() if k not in ["argv"]}, "version": __version__, @@ -123,6 +123,10 @@ def do_execute( magic_response = None magicked = False + self.execution_count += 1 + + reply = dict(execution_count=self.execution_count) + try: for magic_def in self.robot_magics["cell"].values(): pattern = magic_def["pattern"] @@ -141,13 +145,12 @@ def do_execute( if magicked: if isinstance(magic_response, dict): - if "execution_count" not in magic_response: - magic_response["execution_count"] = self.execution_count if "user_expressions" not in magic_response: magic_response[ "user_expressions" ] = self.shell.user_expressions(user_expressions or {}) - return magic_response + reply.update(magic_response) + return reply if isinstance(magic_response, str): code = magic_response @@ -162,6 +165,7 @@ def do_execute( # pylint: disable=W0703 except Exception as err: err_spec = util.format_error(err) + if not silent: self.send_response(self.iopub_socket, "error", err_spec) return dict(status="error", **err_spec) @@ -173,10 +177,9 @@ def do_execute( if runner.suite.tests: # actually run! runner.run() - self.execution_count += 1 - reply = KernelReporter(runner, silent=silent).report() + reply.update(KernelReporter(runner, silent=silent).report()) else: - reply = dict(status="ok", execution_count=self.execution_count) + reply.update(status="ok") self.completer.imports = runner.imports @@ -184,11 +187,9 @@ def do_execute( if reply["status"] == "ok": self.robot_history[cell_id] = code reply.update( - execution_count=self.execution_count, payload=[], user_expressions=self.shell.user_expressions(user_expressions or {}), ) - return reply def do_complete(self, code: Text, cursor_pos: int) -> Dict: diff --git a/src/irobotframework/magic/ipython.py b/src/irobotframework/magic/ipython.py index 730c528..f10ca91 100644 --- a/src/irobotframework/magic/ipython.py +++ b/src/irobotframework/magic/ipython.py @@ -5,16 +5,17 @@ """ import argparse -from IPython.core.magic import Magics, magics_class, cell_magic from IPython import get_ipython +from IPython.core.magic import Magics, cell_magic, magics_class + +from ..reporter import KernelReporter +from ..runner import KernelRunner try: from jinja2 import Template except ImportError: Template = None -from ..runner import KernelRunner -from ..reporter import KernelReporter # magic placeholder for default jinja value USER_NS = "" diff --git a/src/irobotframework/magic/robot.py b/src/irobotframework/magic/robot.py index 440ac66..6d793b9 100644 --- a/src/irobotframework/magic/robot.py +++ b/src/irobotframework/magic/robot.py @@ -2,16 +2,14 @@ # Distributed under the terms of the BSD-3-Clause License import re -from typing import Text, Callable +from typing import Callable, Text -from tornado.concurrent import Future - -from IPython import get_ipython from ipykernel.ipkernel import IPythonKernel +from IPython import get_ipython +from tornado.concurrent import Future -from ..irobot import StringTidy from .. import patches - +from ..irobot import StringTidy __all__ = ["register_robot_cell_magic", "default_robot_cell_magics"] diff --git a/src/irobotframework/patches.py b/src/irobotframework/patches.py index 132259a..83658db 100644 --- a/src/irobotframework/patches.py +++ b/src/irobotframework/patches.py @@ -7,11 +7,10 @@ """ Various dirty patches """ -import sys -import types - # from warnings import warn import asyncio +import sys +import types class ScopedCodeRunner(object): diff --git a/src/irobotframework/reporter.py b/src/irobotframework/reporter.py index dff2525..9c842e1 100644 --- a/src/irobotframework/reporter.py +++ b/src/irobotframework/reporter.py @@ -8,13 +8,12 @@ """ (Aspirationally) configurable outputs for interactive Robot Framework runs. """ -from base64 import b64encode import json import re - -from traitlets.config import LoggingConfigurable +from base64 import b64encode from robot.reporting import ResultWriter +from traitlets.config import LoggingConfigurable from . import util @@ -80,9 +79,11 @@ def report_robot_error(reporter): """ if reporter.runner.failed and not reporter.silent: kernel = reporter.runner.kernel - kernel.send_response( - kernel.iopub_socket, "error", clean_robot_error(reporter.runner.stdout) + err_spec = dict( + execution_count=reporter.runner.kernel.execution_count, + **clean_robot_error(reporter.runner.stdout) ) + kernel.send_response(kernel.iopub_socket, "error", err_spec) def report_last_json(reporter): @@ -104,7 +105,7 @@ def report_images(reporter): path = reporter.runner.path output_path = path / "output.xml" - xml = output_path.read_text() + xml = output_path.read_text(encoding="utf-8") images = [ name for name in re.findall('img src="([^"]+)', xml) if (path / name).exists() ] diff --git a/src/irobotframework/runner.py b/src/irobotframework/runner.py index 00a6b74..1a605eb 100644 --- a/src/irobotframework/runner.py +++ b/src/irobotframework/runner.py @@ -13,11 +13,9 @@ from tempfile import TemporaryDirectory from uuid import uuid4 -from traitlets.config import LoggingConfigurable - -from robot.running import TestSuiteBuilder - import importnb +from robot.running import TestSuiteBuilder +from traitlets.config import LoggingConfigurable from . import irobot diff --git a/src/irobotframework/tests/test_completion.py b/src/irobotframework/tests/test_completion.py index 069b46b..f542edc 100644 --- a/src/irobotframework/tests/test_completion.py +++ b/src/irobotframework/tests/test_completion.py @@ -4,7 +4,9 @@ """ Pure python tests of completion behavior """ import jupyter_kernel_test + from irobotframework.completion_finders import TABLE_NAMES + from . import RobotBase from .utils import taskify diff --git a/src/irobotframework/tests/test_inspect.py b/src/irobotframework/tests/test_inspect.py index 9cb99f5..79631db 100644 --- a/src/irobotframework/tests/test_inspect.py +++ b/src/irobotframework/tests/test_inspect.py @@ -4,6 +4,7 @@ """ Pure python tests of kernel behavior """ import jupyter_kernel_test + from . import RobotBase diff --git a/src/irobotframework/tests/test_kernel.py b/src/irobotframework/tests/test_kernel.py index 6e23c30..faf410b 100644 --- a/src/irobotframework/tests/test_kernel.py +++ b/src/irobotframework/tests/test_kernel.py @@ -4,6 +4,7 @@ """ Pure python tests of kernel behavior """ import jupyter_kernel_test + from . import RobotBase diff --git a/src/irobotframework/tests/test_magic.py b/src/irobotframework/tests/test_magic.py index 310e164..a966662 100644 --- a/src/irobotframework/tests/test_magic.py +++ b/src/irobotframework/tests/test_magic.py @@ -2,15 +2,14 @@ # Distributed under the terms of the BSD-3-Clause License from unittest.mock import patch -import pytest import jupyter_kernel_test +import pytest from irobotframework.magic.robot import cell_magic_tidy -from . import RobotBase, IPythonMagicBase +from . import IPythonMagicBase, RobotBase from .utils import fake_validate - TIDY = "%%tidy\n" @@ -64,18 +63,16 @@ def test_irobotframework_register_magic(self): assert not reply["content"]["payload"] assert outputs - reply, outputs = self.execute_helper(code=REGISTER_MAGIC) - assert reply["content"]["status"] == "ok" + reply, outputs = self.execute_helper(code=REGISTER_MAGIC) + assert reply["content"]["status"] == "ok" - with patch("jupyter_kernel_test.validate_message", fake_validate): reply, outputs = self.execute_helper(code=USE_MAGIC) assert reply["content"]["status"] == "ok" assert USE_MAGIC.upper() in reply["content"]["payload"][0]["text"] - reply, outputs = self.execute_helper(code=UNREGISTER_MAGIC) - assert reply["content"]["status"] == "ok" + reply, outputs = self.execute_helper(code=UNREGISTER_MAGIC) + assert reply["content"]["status"] == "ok" - with patch("jupyter_kernel_test.validate_message", fake_validate): reply, outputs = self.execute_helper(code=USE_MAGIC) assert reply["content"]["status"] == "ok" assert not reply["content"]["payload"] @@ -115,9 +112,10 @@ def execute_magic(self, body, args=""): def test_ipython_robot_magic_fail_noargs(self): """ does failing work? """ - self.activate_magic() with patch("jupyter_kernel_test.validate_message", fake_validate): + self.activate_magic() + reply, outputs = self.execute_magic(FAIL_TEST) assert reply["content"]["status"] != "ok" assert outputs @@ -125,9 +123,9 @@ def test_ipython_robot_magic_fail_noargs(self): def test_ipython_robot_magic_win_noargs(self): """ does winning work? """ - self.activate_magic() - with patch("jupyter_kernel_test.validate_message", fake_validate): + self.activate_magic() + reply, outputs = self.execute_magic(WIN_TEST) assert reply["content"]["status"] == "ok" assert len(outputs) == 4 @@ -135,23 +133,22 @@ def test_ipython_robot_magic_win_noargs(self): def test_ipython_robot_magic_win_assign(self): """ does assigning to a local variable work? """ - self.activate_magic() - with patch("jupyter_kernel_test.validate_message", fake_validate): + self.activate_magic() reply, outputs = self.execute_magic(WIN_TEST, "-a foo") assert reply["content"]["status"] == "ok", reply assert outputs - reply, outputs = self.execute_magic(PRINT_FOO) - print(reply) - assert reply["content"]["status"] == "ok", [reply, outputs] + reply, outputs = self.execute_magic(PRINT_FOO) + print(reply) + assert reply["content"]["status"] == "ok", [reply, outputs] def test_ipython_robot_magic_fail_noraise(self): """ does failing not raise an exception when specified? """ - self.activate_magic() - with patch("jupyter_kernel_test.validate_message", fake_validate): + self.activate_magic() + reply, outputs = self.execute_magic(FAIL_TEST, "-x") assert reply["content"]["status"] == "ok", reply assert outputs @@ -159,12 +156,12 @@ def test_ipython_robot_magic_fail_noraise(self): def test_ipython_robot_magic_win_jinja(self): """ does jinja work? """ - self.activate_magic() + with patch("jupyter_kernel_test.validate_message", fake_validate): + self.activate_magic() - self.execute_helper(code=USE_MAGIC) - self.execute_helper(code=SET_TEST_COUNT) + self.execute_helper(code=USE_MAGIC) + self.execute_helper(code=SET_TEST_COUNT) - with patch("jupyter_kernel_test.validate_message", fake_validate): reply, outputs = self.execute_magic(SO_MUCH_WIN_TEST, "-j") assert reply["content"]["status"] == "ok", reply assert len(outputs) == 22 diff --git a/src/irobotframework/tests/test_report.py b/src/irobotframework/tests/test_report.py index 396f028..4ef01f7 100644 --- a/src/irobotframework/tests/test_report.py +++ b/src/irobotframework/tests/test_report.py @@ -1,16 +1,19 @@ # Copyright (c) 2018 Georgia Tech Research Corporation # Distributed under the terms of the BSD-3-Clause License -from pathlib import Path -from unittest.mock import patch +import platform import subprocess import sys +from pathlib import Path +from unittest.mock import patch import jupyter_kernel_test -from . import RobotBase, IPythonMagicBase +from . import IPythonMagicBase, RobotBase from .utils import fake_validate +PLATFORM = platform.system().lower() + KERNELS = Path(sys.prefix) / "share" / "jupyter" / "kernels" LOGO = KERNELS / "robotframework" / "logo-64x64.png" @@ -59,6 +62,9 @@ class ReportTests(ServerBase, RobotBase, jupyter_kernel_test.KernelTests): def test_irobotframework_report_image(self): """ does the image reporter work? """ + if PLATFORM == "windows": + return + with patch("jupyter_kernel_test.validate_message", fake_validate): reply, outputs = self.execute_helper(code=IMAGE_TASK, timeout=60) assert reply["content"]["status"] == "ok" @@ -117,6 +123,9 @@ def test_ipython_robot_report_json(self): def test_ipython_robot_report_image(self): """ does the image reporter work? """ + if PLATFORM == "windows": + return + self.activate_magic() with patch("jupyter_kernel_test.validate_message", fake_validate): diff --git a/src/irobotframework/tests/utils.py b/src/irobotframework/tests/utils.py index f4a7906..060400b 100644 --- a/src/irobotframework/tests/utils.py +++ b/src/irobotframework/tests/utils.py @@ -3,6 +3,27 @@ import re +import nose.tools as nt +from jupyter_kernel_test import messagespec_common as msc +from jupyter_kernel_test import validate_message as _validate_message + + +def _data_changed(self, change): + if isinstance(change, msc.string_types): + return + for k, v in change["new"].items(): + assert msc.mime_pat.match(k) + if "json" in k: + if v is not None: + nt.assert_is_instance( + v, msc.string_types + (dict, list, bool, int, float) + ) + else: + nt.assert_is_instance(v, msc.string_types) + + +msc.MimeBundle._data_changed = _data_changed + def taskify(robot_text): """ Make a test case into a task @@ -13,4 +34,6 @@ def taskify(robot_text): def fake_validate(msg, msg_type=None, parent_id=None): """ You might need to skip validating some messages """ - pass + if msg["msg_type"] == "update_display_data": + return + return _validate_message(msg, msg_type, parent_id) diff --git a/src/packages/jupyterlab-robotframework/package.json b/src/packages/jupyterlab-robotframework/package.json index 1e38892..09f1ca6 100644 --- a/src/packages/jupyterlab-robotframework/package.json +++ b/src/packages/jupyterlab-robotframework/package.json @@ -3,14 +3,10 @@ "bugs": { "url": "https://github.com/gtri/irobotframework/issues" }, - "dependencies": { - "@jupyterlab/application": "^0.19.1" - }, - "peerDependencies": { - "codemirror": "~5.39.0" - }, "description": "Write and run Robot Framework tests in JupyterLab", "devDependencies": { + "@jupyterlab/application": "^0.19.1", + "codemirror": "~5.39.0", "rimraf": "~2.6.2", "typescript": "~3.1.1" }, @@ -29,6 +25,10 @@ "license": "BSD-3-Clause", "main": "lib/index.js", "name": "jupyterlab-robotframework", + "peerDependencies": { + "@jupyterlab/application": "^0.19.1", + "codemirror": "~5.39.0" + }, "repository": { "type": "git", "url": "https://github.com/gtri/irobotframework.git" diff --git a/src/packages/jupyterlab-robotframework/tsconfig.json b/src/packages/jupyterlab-robotframework/tsconfig.json index c7e62f2..12ecd0e 100644 --- a/src/packages/jupyterlab-robotframework/tsconfig.json +++ b/src/packages/jupyterlab-robotframework/tsconfig.json @@ -1,14 +1,8 @@ { + "extends": "../../../tsconfigbase", "compilerOptions": { - "lib": ["es6", "dom"], - "module": "commonjs", - "moduleResolution": "node", - "noEmitOnError": true, - "noImplicitAny": true, - "noUnusedLocals": true, "outDir": "./lib", - "target": "ES5", - "allowJs": true + "rootDir": "./src" }, - "include": ["src/*"] + "include": ["./src/**/*"] } diff --git a/tsconfigbase.json b/tsconfigbase.json new file mode 100644 index 0000000..76d3c72 --- /dev/null +++ b/tsconfigbase.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "noImplicitAny": true, + "noEmitOnError": true, + "noUnusedLocals": true, + "esModuleInterop": true, + "preserveWatchOutput": true, + "module": "commonjs", + "moduleResolution": "node", + "skipLibCheck": true, + "target": "es2015", + "types": [], + "lib": ["dom", "es2015"], + "jsx": "react" + } +} diff --git a/yarn.lock b/yarn.lock index f8e8e56..a932f07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -151,6 +151,558 @@ "@phosphor/disposable" "^1.1.2" "@phosphor/signaling" "^1.2.2" +"@lerna/add@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.10.6.tgz#6f2c6b26eb905c40fef4180f3ffa34ad9dbb860b" + dependencies: + "@lerna/bootstrap" "3.10.6" + "@lerna/command" "3.10.6" + "@lerna/filter-options" "3.10.6" + "@lerna/npm-conf" "3.7.0" + "@lerna/validation-error" "3.6.0" + dedent "^0.7.0" + libnpm "^2.0.1" + p-map "^1.2.0" + semver "^5.5.0" + +"@lerna/batch-packages@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/batch-packages/-/batch-packages-3.10.6.tgz#2d6dfc9be13ea4da49244dd84bfcd46c3d62f4d0" + dependencies: + "@lerna/package-graph" "3.10.6" + "@lerna/validation-error" "3.6.0" + libnpm "^2.0.1" + +"@lerna/bootstrap@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.10.6.tgz#d250baa9cfe9026c4f78e6cf7c9761a90b24e363" + dependencies: + "@lerna/batch-packages" "3.10.6" + "@lerna/command" "3.10.6" + "@lerna/filter-options" "3.10.6" + "@lerna/has-npm-version" "3.10.0" + "@lerna/npm-install" "3.10.0" + "@lerna/package-graph" "3.10.6" + "@lerna/pulse-till-done" "3.7.1" + "@lerna/rimraf-dir" "3.10.0" + "@lerna/run-lifecycle" "3.10.5" + "@lerna/run-parallel-batches" "3.0.0" + "@lerna/symlink-binary" "3.10.0" + "@lerna/symlink-dependencies" "3.10.0" + "@lerna/validation-error" "3.6.0" + dedent "^0.7.0" + get-port "^3.2.0" + libnpm "^2.0.1" + multimatch "^2.1.0" + p-finally "^1.0.0" + p-map "^1.2.0" + p-map-series "^1.0.0" + p-waterfall "^1.0.0" + read-package-tree "^5.1.6" + semver "^5.5.0" + +"@lerna/changed@3.10.8": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.10.8.tgz#7ed17a00c4ca0f6437ce9f7d4925d5e779b8553c" + dependencies: + "@lerna/collect-updates" "3.10.1" + "@lerna/command" "3.10.6" + "@lerna/listable" "3.10.6" + "@lerna/output" "3.6.0" + "@lerna/version" "3.10.8" + +"@lerna/check-working-tree@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.10.0.tgz#5ed9f2c5c942bee92afcd8cb5361be44ed0251e3" + dependencies: + "@lerna/describe-ref" "3.10.0" + "@lerna/validation-error" "3.6.0" + +"@lerna/child-process@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-3.3.0.tgz#71184a763105b6c8ece27f43f166498d90fe680f" + dependencies: + chalk "^2.3.1" + execa "^1.0.0" + strong-log-transformer "^2.0.0" + +"@lerna/clean@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.10.6.tgz#31e4a12a722e57ca7adc0c9bc30ba70d55572bb8" + dependencies: + "@lerna/command" "3.10.6" + "@lerna/filter-options" "3.10.6" + "@lerna/prompt" "3.6.0" + "@lerna/pulse-till-done" "3.7.1" + "@lerna/rimraf-dir" "3.10.0" + p-map "^1.2.0" + p-map-series "^1.0.0" + p-waterfall "^1.0.0" + +"@lerna/cli@3.10.7": + version "3.10.7" + resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-3.10.7.tgz#2f88ae4a3c53fa4d3a4f61b5f447bbbcc69546e2" + dependencies: + "@lerna/global-options" "3.10.6" + dedent "^0.7.0" + libnpm "^2.0.1" + yargs "^12.0.1" + +"@lerna/collect-updates@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.10.1.tgz#3ad60aa31826c0c0cfdf8bf41e58e6c5c86aeb3a" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/describe-ref" "3.10.0" + libnpm "^2.0.1" + minimatch "^3.0.4" + slash "^1.0.0" + +"@lerna/command@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.10.6.tgz#709bd1c66220da67f65dbe1fc88bb7ba5bb85446" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/package-graph" "3.10.6" + "@lerna/project" "3.10.0" + "@lerna/validation-error" "3.6.0" + "@lerna/write-log-file" "3.6.0" + dedent "^0.7.0" + execa "^1.0.0" + is-ci "^1.0.10" + libnpm "^2.0.1" + lodash "^4.17.5" + +"@lerna/conventional-commits@3.10.8": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.10.8.tgz#b9f6dd8a09bc679f6afbb8296456de59e268fe3e" + dependencies: + "@lerna/validation-error" "3.6.0" + conventional-changelog-angular "^5.0.2" + conventional-changelog-core "^3.1.5" + conventional-recommended-bump "^4.0.4" + fs-extra "^7.0.0" + get-stream "^4.0.0" + libnpm "^2.0.1" + pify "^3.0.0" + semver "^5.5.0" + +"@lerna/create-symlink@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-3.6.0.tgz#f1815cde2fc9d8d2315dfea44ee880f2f1bc65f1" + dependencies: + cmd-shim "^2.0.2" + fs-extra "^7.0.0" + libnpm "^2.0.1" + +"@lerna/create@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.10.6.tgz#85c7398cad912516c0ac6054a5c0c4145ab6cadb" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/command" "3.10.6" + "@lerna/npm-conf" "3.7.0" + "@lerna/validation-error" "3.6.0" + camelcase "^4.1.0" + dedent "^0.7.0" + fs-extra "^7.0.0" + globby "^8.0.1" + init-package-json "^1.10.3" + libnpm "^2.0.1" + p-reduce "^1.0.0" + pify "^3.0.0" + semver "^5.5.0" + slash "^1.0.0" + validate-npm-package-license "^3.0.3" + validate-npm-package-name "^3.0.0" + whatwg-url "^7.0.0" + +"@lerna/describe-ref@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-3.10.0.tgz#266380feece6013ab9674f52bd35bf0be5b0460d" + dependencies: + "@lerna/child-process" "3.3.0" + libnpm "^2.0.1" + +"@lerna/diff@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.10.6.tgz#b4c5a50d8c7e79619376e2c913ec1c627dfd0cdf" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/command" "3.10.6" + "@lerna/validation-error" "3.6.0" + libnpm "^2.0.1" + +"@lerna/exec@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.10.6.tgz#5564b614b7e39c1f034f5e0736c9e020945f2f12" + dependencies: + "@lerna/batch-packages" "3.10.6" + "@lerna/child-process" "3.3.0" + "@lerna/command" "3.10.6" + "@lerna/filter-options" "3.10.6" + "@lerna/run-parallel-batches" "3.0.0" + "@lerna/validation-error" "3.6.0" + +"@lerna/filter-options@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.10.6.tgz#e05a8b8de6efc16c47c83f0ac58291008efba4b8" + dependencies: + "@lerna/collect-updates" "3.10.1" + "@lerna/filter-packages" "3.10.0" + dedent "^0.7.0" + +"@lerna/filter-packages@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-3.10.0.tgz#75f9a08184fc4046da2057e0218253cd6f493f05" + dependencies: + "@lerna/validation-error" "3.6.0" + libnpm "^2.0.1" + multimatch "^2.1.0" + +"@lerna/get-npm-exec-opts@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.6.0.tgz#ea595eb28d1f34ba61a92ee8391f374282b4b76e" + dependencies: + libnpm "^2.0.1" + +"@lerna/get-packed@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-3.7.0.tgz#549c7738f7be5e3b1433e82ed9cda9123bcd1ed5" + dependencies: + fs-extra "^7.0.0" + ssri "^6.0.1" + tar "^4.4.8" + +"@lerna/global-options@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-3.10.6.tgz#c491a64b0be47eca4ffc875011958a5ee70a9a3e" + +"@lerna/has-npm-version@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-3.10.0.tgz#d3a73c0fedd2f2e9c6fbe166c41809131dc939d2" + dependencies: + "@lerna/child-process" "3.3.0" + semver "^5.5.0" + +"@lerna/import@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.10.6.tgz#36b65854857e8ab5dfd98a1caea4d365ecc06578" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/command" "3.10.6" + "@lerna/prompt" "3.6.0" + "@lerna/pulse-till-done" "3.7.1" + "@lerna/validation-error" "3.6.0" + dedent "^0.7.0" + fs-extra "^7.0.0" + p-map-series "^1.0.0" + +"@lerna/init@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.10.6.tgz#b5c5166b2ddf00ea0f2742a1f53f59221478cf9a" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/command" "3.10.6" + fs-extra "^7.0.0" + p-map "^1.2.0" + write-json-file "^2.3.0" + +"@lerna/link@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.10.6.tgz#4201cabbfc27bebaf1a400f8cfbd238f285dd3c7" + dependencies: + "@lerna/command" "3.10.6" + "@lerna/package-graph" "3.10.6" + "@lerna/symlink-dependencies" "3.10.0" + p-map "^1.2.0" + slash "^1.0.0" + +"@lerna/list@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.10.6.tgz#7c43c09301ea01528f4dab3b22666f021e8ba9a5" + dependencies: + "@lerna/command" "3.10.6" + "@lerna/filter-options" "3.10.6" + "@lerna/listable" "3.10.6" + "@lerna/output" "3.6.0" + +"@lerna/listable@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.10.6.tgz#cea92de89d9f293c6d63e00be662bed03f85c496" + dependencies: + "@lerna/batch-packages" "3.10.6" + chalk "^2.3.1" + columnify "^1.5.4" + +"@lerna/log-packed@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-3.6.0.tgz#bed96c2bdd47f076d9957d0c6069b2edc1518145" + dependencies: + byte-size "^4.0.3" + columnify "^1.5.4" + has-unicode "^2.0.1" + libnpm "^2.0.1" + +"@lerna/npm-conf@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-3.7.0.tgz#f101d4fdf07cefcf1161bcfaf3c0f105b420a450" + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + +"@lerna/npm-dist-tag@3.8.5": + version "3.8.5" + resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.8.5.tgz#5ce22a72576badc8cb6baf85550043d63e66ea44" + dependencies: + figgy-pudding "^3.5.1" + libnpm "^2.0.1" + +"@lerna/npm-install@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-3.10.0.tgz#fcd6688a3a2cd0e702a03c54c22eb7ae8b3dacb0" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/get-npm-exec-opts" "3.6.0" + fs-extra "^7.0.0" + libnpm "^2.0.1" + signal-exit "^3.0.2" + write-pkg "^3.1.0" + +"@lerna/npm-publish@3.10.7": + version "3.10.7" + resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.10.7.tgz#9326b747b905a7f0e69d4be3f557859c3e359649" + dependencies: + "@lerna/run-lifecycle" "3.10.5" + figgy-pudding "^3.5.1" + fs-extra "^7.0.0" + libnpm "^2.0.1" + +"@lerna/npm-run-script@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-3.10.0.tgz#49a9204eddea136da15a8d8d9eba2c3175b77ddd" + dependencies: + "@lerna/child-process" "3.3.0" + "@lerna/get-npm-exec-opts" "3.6.0" + libnpm "^2.0.1" + +"@lerna/output@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/output/-/output-3.6.0.tgz#a69384bc685cf3b21aa1bfc697eb2b9db3333d0b" + dependencies: + libnpm "^2.0.1" + +"@lerna/pack-directory@3.10.5": + version "3.10.5" + resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.10.5.tgz#9bdabceacb74e1f54e47bae925e193978f2aae51" + dependencies: + "@lerna/get-packed" "3.7.0" + "@lerna/package" "3.7.2" + "@lerna/run-lifecycle" "3.10.5" + figgy-pudding "^3.5.1" + libnpm "^2.0.1" + npm-packlist "^1.1.12" + tar "^4.4.8" + temp-write "^3.4.0" + +"@lerna/package-graph@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.10.6.tgz#8940d1ed7003100117cb1b618f7690585c00db81" + dependencies: + "@lerna/validation-error" "3.6.0" + libnpm "^2.0.1" + semver "^5.5.0" + +"@lerna/package@3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@lerna/package/-/package-3.7.2.tgz#03c69fd7fb965c372c8c969165a2f7d6dfe2dfcb" + dependencies: + libnpm "^2.0.1" + load-json-file "^4.0.0" + write-pkg "^3.1.0" + +"@lerna/project@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.10.0.tgz#98272bf2eb93e9b21850edae568d696bf7fdebda" + dependencies: + "@lerna/package" "3.7.2" + "@lerna/validation-error" "3.6.0" + cosmiconfig "^5.0.2" + dedent "^0.7.0" + dot-prop "^4.2.0" + glob-parent "^3.1.0" + globby "^8.0.1" + libnpm "^2.0.1" + load-json-file "^4.0.0" + p-map "^1.2.0" + resolve-from "^4.0.0" + write-json-file "^2.3.0" + +"@lerna/prompt@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.6.0.tgz#b17cc464dec9d830619723e879dc747367378217" + dependencies: + inquirer "^6.2.0" + libnpm "^2.0.1" + +"@lerna/publish@3.10.8": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.10.8.tgz#fcf73ab2468807f5a8f3339234c2f66f0f65b088" + dependencies: + "@lerna/batch-packages" "3.10.6" + "@lerna/check-working-tree" "3.10.0" + "@lerna/child-process" "3.3.0" + "@lerna/collect-updates" "3.10.1" + "@lerna/command" "3.10.6" + "@lerna/describe-ref" "3.10.0" + "@lerna/log-packed" "3.6.0" + "@lerna/npm-conf" "3.7.0" + "@lerna/npm-dist-tag" "3.8.5" + "@lerna/npm-publish" "3.10.7" + "@lerna/output" "3.6.0" + "@lerna/pack-directory" "3.10.5" + "@lerna/prompt" "3.6.0" + "@lerna/pulse-till-done" "3.7.1" + "@lerna/run-lifecycle" "3.10.5" + "@lerna/run-parallel-batches" "3.0.0" + "@lerna/validation-error" "3.6.0" + "@lerna/version" "3.10.8" + figgy-pudding "^3.5.1" + fs-extra "^7.0.0" + libnpm "^2.0.1" + p-finally "^1.0.0" + p-map "^1.2.0" + p-pipe "^1.2.0" + p-reduce "^1.0.0" + semver "^5.5.0" + +"@lerna/pulse-till-done@3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-3.7.1.tgz#a9e55380fa18f6896a3e5b23621a4227adfb8f85" + dependencies: + libnpm "^2.0.1" + +"@lerna/resolve-symlink@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-3.6.0.tgz#985344796b704ff32afa923901e795e80741b86e" + dependencies: + fs-extra "^7.0.0" + libnpm "^2.0.1" + read-cmd-shim "^1.0.1" + +"@lerna/rimraf-dir@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-3.10.0.tgz#2d9435054ab7bbc5519db0a2654c5d8cacd27f98" + dependencies: + "@lerna/child-process" "3.3.0" + libnpm "^2.0.1" + path-exists "^3.0.0" + rimraf "^2.6.2" + +"@lerna/run-lifecycle@3.10.5": + version "3.10.5" + resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-3.10.5.tgz#ea4422bb70c0f8d4382ecb2a626c8ba0ca88550b" + dependencies: + "@lerna/npm-conf" "3.7.0" + figgy-pudding "^3.5.1" + libnpm "^2.0.1" + +"@lerna/run-parallel-batches@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@lerna/run-parallel-batches/-/run-parallel-batches-3.0.0.tgz#468704934084c74991d3124d80607857d4dfa840" + dependencies: + p-map "^1.2.0" + p-map-series "^1.0.0" + +"@lerna/run@3.10.6": + version "3.10.6" + resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.10.6.tgz#4c159a719b0ec010409dfe8f9535c9a3c3f3e06a" + dependencies: + "@lerna/batch-packages" "3.10.6" + "@lerna/command" "3.10.6" + "@lerna/filter-options" "3.10.6" + "@lerna/npm-run-script" "3.10.0" + "@lerna/output" "3.6.0" + "@lerna/run-parallel-batches" "3.0.0" + "@lerna/timer" "3.5.0" + "@lerna/validation-error" "3.6.0" + p-map "^1.2.0" + +"@lerna/symlink-binary@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.10.0.tgz#5acdde86dfd50c9270d7d2a93bade203cff41b3d" + dependencies: + "@lerna/create-symlink" "3.6.0" + "@lerna/package" "3.7.2" + fs-extra "^7.0.0" + p-map "^1.2.0" + +"@lerna/symlink-dependencies@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.10.0.tgz#a20226e8e97af6a6bc4b416bfc28c0c5e3ba9ddd" + dependencies: + "@lerna/create-symlink" "3.6.0" + "@lerna/resolve-symlink" "3.6.0" + "@lerna/symlink-binary" "3.10.0" + fs-extra "^7.0.0" + p-finally "^1.0.0" + p-map "^1.2.0" + p-map-series "^1.0.0" + +"@lerna/timer@3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-3.5.0.tgz#8dee6acf002c55de64678c66ef37ca52143f1b9b" + +"@lerna/validation-error@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-3.6.0.tgz#550cf66bb2ef88edc02e36017b575a7a9100d5d8" + dependencies: + libnpm "^2.0.1" + +"@lerna/version@3.10.8": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.10.8.tgz#14a645724b0369f84a0bf4c1eb093e8e96a219f1" + dependencies: + "@lerna/batch-packages" "3.10.6" + "@lerna/check-working-tree" "3.10.0" + "@lerna/child-process" "3.3.0" + "@lerna/collect-updates" "3.10.1" + "@lerna/command" "3.10.6" + "@lerna/conventional-commits" "3.10.8" + "@lerna/output" "3.6.0" + "@lerna/prompt" "3.6.0" + "@lerna/run-lifecycle" "3.10.5" + "@lerna/validation-error" "3.6.0" + chalk "^2.3.1" + dedent "^0.7.0" + libnpm "^2.0.1" + minimatch "^3.0.4" + p-map "^1.2.0" + p-pipe "^1.2.0" + p-reduce "^1.0.0" + p-waterfall "^1.0.0" + semver "^5.5.0" + slash "^1.0.0" + temp-write "^3.4.0" + +"@lerna/write-log-file@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-3.6.0.tgz#b8d5a7efc84fa93cbd67d724d11120343b2a849a" + dependencies: + libnpm "^2.0.1" + write-file-atomic "^2.3.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + "@phosphor/algorithm@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@phosphor/algorithm/-/algorithm-1.1.2.tgz#fd1de9104c9a7f34e92864586ddf2e7f2e7779e8" @@ -245,26 +797,47 @@ "@phosphor/virtualdom" "^1.1.2" "@types/prop-types@*": - version "15.5.6" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.6.tgz#9c03d3fed70a8d517c191b7734da2879b50ca26c" + version "15.5.8" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.8.tgz#8ae4e0ea205fe95c3901a5a1df7f66495e3a56ce" "@types/react@~16.4.13": - version "16.4.16" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.16.tgz#99f91b1200ae8c2062030402006d3b3c3a177043" + version "16.4.18" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.18.tgz#2e28a2e7f92d3fa7d6a65f2b73275c3e3138a13d" dependencies: "@types/prop-types" "*" csstype "^2.2.0" -JSONStream@^1.0.4: +JSONStream@^1.0.4, JSONStream@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" dependencies: jsonparse "^1.2.0" through ">=2.2.7 <3" -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +agent-base@4, agent-base@^4.1.0, agent-base@~4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" + dependencies: + es6-promisify "^5.0.0" + +agentkeepalive@^3.4.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + dependencies: + humanize-ms "^1.2.1" + +ajv@^6.5.5: + version "6.8.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.8.1.tgz#0890b93742985ebf8973cd365c5b23920ce3cb20" + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" ajv@~5.1.6: version "5.1.6" @@ -274,9 +847,9 @@ ajv@~5.1.6: json-schema-traverse "^0.3.0" json-stable-stringify "^1.0.1" -ansi-escapes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" ansi-regex@^2.0.0: version "2.1.1" @@ -286,6 +859,10 @@ ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" +ansi-regex@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -300,10 +877,14 @@ ansi_up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-3.0.0.tgz#27f45d8f457d9ceff59e4ea03c8e6f13c1a303e8" -aproba@^1.0.3: +aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" +"aproba@^1.1.2 || 2", aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -317,6 +898,22 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -335,17 +932,31 @@ array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" -arrify@^1.0.1: +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@~2.0.3: +asap@^2.0.0, asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" -async@^1.5.0: - version "1.5.2" - resolved "http://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" async@^2.5.0: version "2.6.1" @@ -353,6 +964,22 @@ async@^2.5.0: dependencies: lodash "^4.17.10" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + babel-code-frame@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -365,6 +992,44 @@ balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +bin-links@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.2.tgz#fb74bd54bae6b7befc6c6221f25322ac830d9757" + dependencies: + bluebird "^3.5.0" + cmd-shim "^2.0.2" + gentle-fs "^2.0.0" + graceful-fs "^4.1.11" + write-file-atomic "^2.3.0" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -372,18 +1037,94 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" -builtin-modules@^1.0.0, builtin-modules@^1.1.1: +builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + byline@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" +byte-size@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz#29d381709f41aae0d89c631f1c81aec88cd40b23" + +cacache@^11.0.1, cacache@^11.3.2: + version "11.3.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" + dependencies: + bluebird "^3.5.3" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.3" + graceful-fs "^4.1.15" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -407,13 +1148,17 @@ camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" +camelcase@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" chalk@^1.1.3: version "1.1.3" - resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -421,22 +1166,35 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" +chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" ci-info@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -447,12 +1205,12 @@ cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" + string-width "^2.1.1" + strip-ansi "^4.0.0" wrap-ansi "^2.0.0" clone@^1.0.2: @@ -478,6 +1236,13 @@ codemirror@~5.39.0: version "5.39.2" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.39.2.tgz#778aa13b55ebf280745c309cb1b148e3fc06f698" +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -495,9 +1260,11 @@ columnify@^1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -command-join@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + dependencies: + delayed-stream "~1.0.0" commander@^2.12.1: version "2.19.0" @@ -520,11 +1287,15 @@ compare-func@^1.3.1: array-ify "^1.0.0" dot-prop "^3.0.0" +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.10: +concat-stream@^1.5.0, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: @@ -533,104 +1304,52 @@ concat-stream@^1.4.10: readable-stream "^2.2.2" typedarray "^0.0.6" +config-chain@^1.1.11: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -conventional-changelog-angular@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" +conventional-changelog-angular@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.2.tgz#39d945635e03b6d0c9d4078b1df74e06163dc66a" dependencies: compare-func "^1.3.1" q "^1.5.1" -conventional-changelog-atom@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz#8037693455990e3256f297320a45fa47ee553a14" +conventional-changelog-core@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.1.5.tgz#c2edf928539308b54fe1b90a2fc731abc021852c" dependencies: - q "^1.5.1" - -conventional-changelog-cli@^1.3.13: - version "1.3.22" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.22.tgz#13570fe1728f56f013ff7a88878ff49d5162a405" - dependencies: - add-stream "^1.0.0" - conventional-changelog "^1.1.24" - lodash "^4.2.1" - meow "^4.0.0" - tempfile "^1.1.1" - -conventional-changelog-codemirror@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz#a1982c8291f4ee4d6f2f62817c6b2ecd2c4b7b47" - dependencies: - q "^1.5.1" - -conventional-changelog-core@^2.0.11: - version "2.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz#19b5fbd55a9697773ed6661f4e32030ed7e30287" - dependencies: - conventional-changelog-writer "^3.0.9" - conventional-commits-parser "^2.1.7" + conventional-changelog-writer "^4.0.2" + conventional-commits-parser "^3.0.1" dateformat "^3.0.0" get-pkg-repo "^1.0.0" - git-raw-commits "^1.3.6" + git-raw-commits "2.0.0" git-remote-origin-url "^2.0.0" - git-semver-tags "^1.3.6" + git-semver-tags "^2.0.2" lodash "^4.2.1" normalize-package-data "^2.3.5" q "^1.5.1" - read-pkg "^1.1.0" - read-pkg-up "^1.0.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" through2 "^2.0.0" -conventional-changelog-ember@^0.3.12: - version "0.3.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz#b7d31851756d0fcb49b031dffeb6afa93b202400" - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz#b13cc7e4b472c819450ede031ff1a75c0e3d07d3" - dependencies: - q "^1.5.1" - -conventional-changelog-express@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz#4a6295cb11785059fb09202180d0e59c358b9c2c" - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" - dependencies: - q "^1.4.1" - -conventional-changelog-jscs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" - dependencies: - q "^1.4.1" - -conventional-changelog-jshint@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz#9051c1ac0767abaf62a31f74d2fe8790e8acc6c8" - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-preset-loader@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz#40bb0f142cd27d16839ec6c74ee8db418099b373" +conventional-changelog-preset-loader@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.2.tgz#81d1a07523913f3d17da3a49f0091f967ad345b0" -conventional-changelog-writer@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz#4aecdfef33ff2a53bb0cf3b8071ce21f0e994634" +conventional-changelog-writer@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.2.tgz#eb493ed84269e7a663da36e49af51c54639c9a67" dependencies: compare-func "^1.3.1" - conventional-commits-filter "^1.1.6" + conventional-commits-filter "^2.0.1" dateformat "^3.0.0" handlebars "^4.0.2" json-stringify-safe "^5.0.1" @@ -640,32 +1359,16 @@ conventional-changelog-writer@^3.0.9: split "^1.0.0" through2 "^2.0.0" -conventional-changelog@^1.1.24: - version "1.1.24" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.24.tgz#3d94c29c960f5261c002678315b756cdd3d7d1f0" - dependencies: - conventional-changelog-angular "^1.6.6" - conventional-changelog-atom "^0.2.8" - conventional-changelog-codemirror "^0.3.8" - conventional-changelog-core "^2.0.11" - conventional-changelog-ember "^0.3.12" - conventional-changelog-eslint "^1.0.9" - conventional-changelog-express "^0.3.6" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.3.8" - conventional-changelog-preset-loader "^1.1.8" - -conventional-commits-filter@^1.1.1, conventional-commits-filter@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831" +conventional-commits-filter@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.1.tgz#55a135de1802f6510b6758e0a6aa9e0b28618db3" dependencies: is-subset "^0.1.1" modify-values "^1.0.0" -conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e" +conventional-commits-parser@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz#fe1c49753df3f98edb2285a5e485e11ffa7f2e4c" dependencies: JSONStream "^1.0.4" is-text-path "^1.0.0" @@ -675,43 +1378,64 @@ conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.7: through2 "^2.0.0" trim-off-newlines "^1.0.0" -conventional-recommended-bump@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz#1b7137efb5091f99fe009e2fe9ddb7cc490e9375" +conventional-recommended-bump@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-4.0.4.tgz#05540584641d3da758c8863c09788fcaeb586872" dependencies: - concat-stream "^1.4.10" - conventional-commits-filter "^1.1.1" - conventional-commits-parser "^2.1.1" - git-raw-commits "^1.3.0" - git-semver-tags "^1.3.0" - meow "^3.3.0" - object-assign "^4.0.1" + concat-stream "^1.6.0" + conventional-changelog-preset-loader "^2.0.2" + conventional-commits-filter "^2.0.1" + conventional-commits-parser "^3.0.1" + git-raw-commits "2.0.0" + git-semver-tags "^2.0.2" + meow "^4.0.0" + q "^1.5.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" +cosmiconfig@^5.0.2: + version "5.0.7" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" dependencies: - capture-stack-trace "^1.0.0" + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.9.0" + parse-json "^4.0.0" -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" dependencies: - lru-cache "^4.0.1" + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" csstype@^2.2.0: - version "2.5.7" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.7.tgz#bf9235d5872141eccfb2d16d82993c6b149179ff" + version "2.6.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.2.tgz#3043d5e065454579afc7478a18de41909c8a2f01" currently-unhandled@^0.4.1: version "0.4.1" @@ -719,16 +1443,48 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + dargs@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" dependencies: number-is-nan "^1.0.0" +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" +debug@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + dependencies: + ms "^2.1.1" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -736,24 +1492,47 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" dependencies: clone "^1.0.2" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -762,10 +1541,24 @@ detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" +dezalgo@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + dependencies: + asap "^2.0.0" + wrappy "1" + diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + dom-serializer@0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" @@ -774,8 +1567,8 @@ dom-serializer@0: entities "~1.1.1" domelementtype@1, domelementtype@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" domelementtype@~1.1.1: version "1.1.3" @@ -800,13 +1593,31 @@ dot-prop@^3.0.0: dependencies: is-obj "^1.0.0" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +dot-prop@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + dependencies: + is-obj "^1.0.0" duplexer@^0.1.1: version "0.1.1" - resolved "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" encoding@^0.1.11: version "0.1.12" @@ -814,9 +1625,19 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + entities@^1.1.1, entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + +err-code@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" @@ -824,6 +1645,16 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es6-promise@^4.0.3: + version "4.2.5" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054" + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + dependencies: + es6-promise "^4.0.3" + escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -847,42 +1678,99 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" + cross-spawn "^6.0.0" + get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" -external-editor@^2.0.4: - version "2.2.0" - resolved "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +external-editor@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + fast-diff@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" +fast-glob@^2.0.2: + version "2.2.6" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +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" + fbjs@^0.8.16: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" @@ -895,12 +1783,29 @@ fbjs@^0.8.16: setimmediate "^1.0.5" ua-parser-js "^0.7.18" +figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" dependencies: escape-string-regexp "^1.0.5" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-npm-prefix@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -914,18 +1819,92 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -fs-extra@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + dependencies: + locate-path "^3.0.0" + +flush-write-stream@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.0.tgz#2e89a8bd5eee42f8ec97e43aae81e3d5099c2ddc" + dependencies: + inherits "^2.0.3" + readable-stream "^3.1.1" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.1.0" +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs-vacuum@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" + dependencies: + graceful-fs "^4.1.2" + path-is-inside "^1.0.1" + rimraf "^2.5.2" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" +fstream@^1.0.0, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -939,6 +1918,23 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +genfun@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" + +gentle-fs@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.0.1.tgz#585cfd612bfc5cd52471fdb42537f016a5ce3687" + dependencies: + aproba "^1.1.2" + fs-vacuum "^1.2.10" + graceful-fs "^4.1.11" + iferr "^0.1.5" + mkdirp "^0.5.1" + path-is-inside "^1.0.2" + read-cmd-shim "^1.0.1" + slide "^1.1.6" + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -961,13 +1957,25 @@ get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" -get-stream@^3.0.0: - version "3.0.0" - resolved "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" -git-raw-commits@^1.3.0, git-raw-commits@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff" +git-raw-commits@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" dependencies: dargs "^4.0.1" lodash.template "^4.0.2" @@ -982,9 +1990,9 @@ git-remote-origin-url@^2.0.0: gitconfiglocal "^1.0.0" pify "^2.3.0" -git-semver-tags@^1.3.0, git-semver-tags@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.6.tgz#357ea01f7280794fe0927f2806bee6414d2caba5" +git-semver-tags@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.2.tgz#f506ec07caade191ac0c8d5a21bdb8131b4934e3" dependencies: meow "^4.0.0" semver "^5.5.0" @@ -1002,7 +2010,11 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" dependencies: @@ -1013,35 +2025,21 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" +globby@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" dependencies: array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^6.7.1: - version "6.7.1" - resolved "http://registry.npmjs.org/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" handlebars@^4.0.2: version "4.0.12" @@ -1053,6 +2051,17 @@ handlebars@^4.0.2: optionalDependencies: uglify-js "^3.1.4" +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -1063,31 +2072,118 @@ has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" -has-unicode@^2.0.0: +has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -hosted-git-info@^2.1.4, hosted-git-info@^2.5.0: +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" -htmlparser2@^3.9.0: - version "3.9.2" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" +htmlparser2@^3.9.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.0.6" + +http-cache-semantics@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + +http-proxy-agent@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + dependencies: + agent-base "4" + debug "3.1.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-proxy-agent@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" + dependencies: + agent-base "^4.1.0" + debug "^3.1.0" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" dependencies: - domelementtype "^1.3.0" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^2.0.2" + ms "^2.0.0" -iconv-lite@^0.4.17, iconv-lite@~0.4.13: +iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" dependencies: safer-buffer ">= 2.1.2 < 3" +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -1109,46 +2205,72 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -ini@^1.3.2, ini@~1.3.0: +ini@^1.3.2, ini@^1.3.4, ini@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -inquirer@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" +init-package-json@^1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" + dependencies: + glob "^7.1.1" + npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "1 || 2" + semver "2.x || 3.x || 4 || 5" + validate-npm-package-license "^3.0.1" + validate-npm-package-name "^3.0.0" + +inquirer@^6.2.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" + rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.0.0" through "^2.3.6" -invert-kv@^1.0.0: +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + +ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" is-ci@^1.0.10: version "1.2.1" @@ -1156,7 +2278,49 @@ is-ci@^1.0.10: dependencies: ci-info "^1.5.0" -is-extglob@^2.1.0: +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1182,27 +2346,37 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + is-obj@^1.0.0: version "1.0.1" - resolved "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -1216,11 +2390,19 @@ is-text-path@^1.0.0: dependencies: text-extensions "^1.0.0" +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -isarray@~1.0.0: +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -1228,6 +2410,16 @@ isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + isomorphic-fetch@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" @@ -1235,6 +2427,10 @@ isomorphic-fetch@^2.1.1: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" @@ -1247,14 +2443,18 @@ js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.7.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" +js-yaml@^3.7.0, js-yaml@^3.9.0: + version "3.12.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" dependencies: argparse "^1.0.7" esprima "^4.0.0" -json-parse-better-errors@^1.0.1: +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -1268,13 +2468,21 @@ json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: jsonify "~0.0.0" -json-stringify-safe@^5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -1292,59 +2500,161 @@ jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" dependencies: - invert-kv "^1.0.0" + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" -lerna@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.11.0.tgz#89b5681e286d388dda5bbbdbbf6b84c8094eff65" +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: - async "^1.5.0" - chalk "^2.1.0" - cmd-shim "^2.0.2" - columnify "^1.5.4" - command-join "^2.0.0" - conventional-changelog-cli "^1.3.13" - conventional-recommended-bump "^1.2.1" - dedent "^0.7.0" - execa "^0.8.0" - find-up "^2.1.0" - fs-extra "^4.0.1" - get-port "^3.2.0" - glob "^7.1.2" - glob-parent "^3.1.0" - globby "^6.1.0" - graceful-fs "^4.1.11" - hosted-git-info "^2.5.0" - inquirer "^3.2.2" - is-ci "^1.0.10" - load-json-file "^4.0.0" - lodash "^4.17.4" - minimatch "^3.0.4" + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + dependencies: + invert-kv "^2.0.0" + +lerna@3.10.8: + version "3.10.8" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.10.8.tgz#89e04b5e29f7d6acb3cec7ce59cec2d4343e5cf4" + dependencies: + "@lerna/add" "3.10.6" + "@lerna/bootstrap" "3.10.6" + "@lerna/changed" "3.10.8" + "@lerna/clean" "3.10.6" + "@lerna/cli" "3.10.7" + "@lerna/create" "3.10.6" + "@lerna/diff" "3.10.6" + "@lerna/exec" "3.10.6" + "@lerna/import" "3.10.6" + "@lerna/init" "3.10.6" + "@lerna/link" "3.10.6" + "@lerna/list" "3.10.6" + "@lerna/publish" "3.10.8" + "@lerna/run" "3.10.6" + "@lerna/version" "3.10.8" + import-local "^1.0.0" + libnpm "^2.0.1" + +libnpm@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/libnpm/-/libnpm-2.0.1.tgz#a48fcdee3c25e13c77eb7c60a0efe561d7fb0d8f" + dependencies: + bin-links "^1.1.2" + bluebird "^3.5.3" + find-npm-prefix "^1.0.2" + libnpmaccess "^3.0.1" + libnpmconfig "^1.2.1" + libnpmhook "^5.0.2" + libnpmorg "^1.0.0" + libnpmpublish "^1.1.0" + libnpmsearch "^2.0.0" + libnpmteam "^1.0.1" + lock-verify "^2.0.2" + npm-lifecycle "^2.1.0" + npm-logical-tree "^1.2.1" + npm-package-arg "^6.1.0" + npm-profile "^4.0.1" + npm-registry-fetch "^3.8.0" npmlog "^4.1.2" - p-finally "^1.0.0" - package-json "^4.0.1" - path-exists "^3.0.0" - read-cmd-shim "^1.0.1" - read-pkg "^3.0.0" - rimraf "^2.6.1" - safe-buffer "^5.1.1" - semver "^5.4.1" - signal-exit "^3.0.2" - slash "^1.0.0" - strong-log-transformer "^1.0.6" - temp-write "^3.3.0" - write-file-atomic "^2.3.0" - write-json-file "^2.2.0" - write-pkg "^3.1.0" - yargs "^8.0.2" + pacote "^9.2.3" + read-package-json "^2.0.13" + stringify-package "^1.0.0" + +libnpmaccess@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.1.tgz#5b3a9de621f293d425191aa2e779102f84167fa8" + dependencies: + aproba "^2.0.0" + get-stream "^4.0.0" + npm-package-arg "^6.1.0" + npm-registry-fetch "^3.8.0" + +libnpmconfig@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0" + dependencies: + figgy-pudding "^3.5.1" + find-up "^3.0.0" + ini "^1.3.5" + +libnpmhook@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-5.0.2.tgz#d12817b0fb893f36f1d5be20017f2aea25825d94" + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.4.1" + get-stream "^4.0.0" + npm-registry-fetch "^3.8.0" + +libnpmorg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-1.0.0.tgz#979b868c48ba28c5820e3bb9d9e73c883c16a232" + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.4.1" + get-stream "^4.0.0" + npm-registry-fetch "^3.8.0" + +libnpmpublish@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-1.1.1.tgz#ff0c6bb0b4ad2bda2ad1f5fba6760a4af37125f0" + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.5.1" + get-stream "^4.0.0" + lodash.clonedeep "^4.5.0" + normalize-package-data "^2.4.0" + npm-package-arg "^6.1.0" + npm-registry-fetch "^3.8.0" + semver "^5.5.1" + ssri "^6.0.1" + +libnpmsearch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-2.0.0.tgz#de05af47ada81554a5f64276a69599070d4a5685" + dependencies: + figgy-pudding "^3.5.1" + get-stream "^4.0.0" + npm-registry-fetch "^3.8.0" + +libnpmteam@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-1.0.1.tgz#ff704b1b6c06ea674b3b1101ac3e305f5114f213" + dependencies: + aproba "^2.0.0" + figgy-pudding "^3.4.1" + get-stream "^4.0.0" + npm-registry-fetch "^3.8.0" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" load-json-file@^1.0.0: version "1.1.0" - resolved "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -1352,15 +2662,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -1377,6 +2678,20 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lock-verify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.0.2.tgz#148e4f85974915c9e3c34d694b7de9ecb18ee7a8" + dependencies: + npm-package-arg "^5.1.2 || 6" + semver "^5.4.1" + lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -1401,6 +2716,10 @@ lodash.mergewith@^4.6.0: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + lodash.template@^4.0.2: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" @@ -1414,7 +2733,7 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "~3.0.0" -lodash@^4.17.10, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.5, lodash@^4.2.1: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" @@ -1431,23 +2750,51 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - -lru-cache@^4.0.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" +lru-cache@^4.1.2, lru-cache@^4.1.3: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" dependencies: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + dependencies: + yallist "^3.0.2" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" dependencies: pify "^3.0.0" +make-fetch-happen@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083" + dependencies: + agentkeepalive "^3.4.1" + cacache "^11.0.1" + http-cache-semantics "^3.8.1" + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.1" + lru-cache "^4.1.2" + mississippi "^3.0.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^4.0.0" + ssri "^6.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -1456,15 +2803,23 @@ map-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + marked@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/marked/-/marked-0.4.0.tgz#9ad2c2a7a1791f10a852e0112f77b571dce10c66" -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" +mem@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" dependencies: + map-age-cleaner "^0.1.1" mimic-fn "^1.0.0" + p-is-promise "^2.0.0" meow@^3.3.0: version "3.7.0" @@ -1495,11 +2850,43 @@ meow@^4.0.0: redent "^2.0.0" trim-newlines "^2.0.0" +merge2@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" + +micromatch@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + dependencies: + mime-db "~1.37.0" + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" -minimatch@^3.0.4: +minimatch@^3.0.0, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -1514,23 +2901,54 @@ minimist-options@^3.0.1: minimist@0.0.8: version "0.0.8" - resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^0.1.0: - version "0.1.0" - resolved "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0: version "1.2.0" - resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" minimist@~0.0.1: version "0.0.10" - resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + dependencies: + minipass "^2.2.1" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" -mkdirp@~0.5.0: +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" - resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" @@ -1538,18 +2956,74 @@ modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" -moment@^2.6.0: - version "2.22.2" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" - moment@~2.21.0: version "2.21.0" - resolved "http://registry.npmjs.org/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +ms@^2.0.0, ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + +multimatch@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" +mute-stream@~0.0.4: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + +node-fetch-npm@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" + dependencies: + encoding "^0.1.11" + json-parse-better-errors "^1.0.0" + safe-buffer "^5.1.1" + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -1557,22 +3031,109 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" dependencies: hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" + resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +npm-bundled@^1.0.1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" + +npm-lifecycle@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz#1eda2eedb82db929e3a0c50341ab0aad140ed569" + dependencies: + byline "^5.0.0" + graceful-fs "^4.1.11" + node-gyp "^3.8.0" + resolve-from "^4.0.0" + slide "^1.1.6" + uid-number "0.0.6" + umask "^1.1.0" + which "^1.3.1" + +npm-logical-tree@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz#44610141ca24664cad35d1e607176193fd8f5b88" + +"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", "npm-package-arg@^5.1.2 || 6", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" + dependencies: + hosted-git-info "^2.6.0" + osenv "^0.1.5" + semver "^5.5.0" + validate-npm-package-name "^3.0.0" + +npm-packlist@^1.1.12: + version "1.3.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.3.0.tgz#7f01e8e44408341379ca98cfd756e7b29bd2626c" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-pick-manifest@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" + dependencies: + figgy-pudding "^3.5.1" + npm-package-arg "^6.0.0" + semver "^5.4.1" + +npm-profile@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.1.tgz#d350f7a5e6b60691c7168fbb8392c3603583f5aa" + dependencies: + aproba "^1.1.2 || 2" + figgy-pudding "^3.4.1" + npm-registry-fetch "^3.8.0" + +npm-registry-fetch@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.9.0.tgz#44d841780e2833f06accb34488f8c7450d1a6856" + dependencies: + JSONStream "^1.3.4" + bluebird "^3.5.1" + figgy-pudding "^3.4.1" + lru-cache "^4.1.3" + make-fetch-happen "^4.0.1" + npm-package-arg "^6.1.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: path-key "^2.0.0" -npmlog@^4.1.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -1585,11 +3146,35 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -once@^1.3.0: +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -1608,46 +3193,136 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +osenv@0, osenv@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" +p-is-promise@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" dependencies: p-try "^1.0.0" +p-limit@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" + dependencies: + p-try "^2.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" dependencies: - p-limit "^1.1.0" + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + dependencies: + p-limit "^2.0.0" + +p-map-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" + dependencies: + p-reduce "^1.0.0" + +p-map@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +p-pipe@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" -package-json@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + +p-waterfall@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00" + dependencies: + p-reduce "^1.0.0" + +pacote@^9.2.3: + version "9.4.1" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.4.1.tgz#f0af2a52d241bce523d39280ac810c671db62279" + dependencies: + bluebird "^3.5.3" + cacache "^11.3.2" + figgy-pudding "^3.5.1" + get-stream "^4.1.0" + glob "^7.1.3" + lru-cache "^5.1.1" + make-fetch-happen "^4.0.1" + minimatch "^3.0.4" + minipass "^2.3.5" + mississippi "^3.0.0" + mkdirp "^0.5.1" + normalize-package-data "^2.4.0" + npm-package-arg "^6.1.0" + npm-packlist "^1.1.12" + npm-pick-manifest "^2.2.3" + npm-registry-fetch "^3.8.0" + osenv "^0.1.5" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^5.0.1" + rimraf "^2.6.2" + safe-buffer "^5.1.2" + semver "^5.6.0" + ssri "^6.0.1" + tar "^4.4.8" + unique-filename "^1.1.1" + which "^1.3.1" + +parallel-transform@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" + cyclist "~0.2.2" + inherits "^2.0.3" + readable-stream "^2.1.5" parse-github-repo-url@^1.3.0: version "1.4.1" @@ -1666,6 +3341,10 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -1684,11 +3363,15 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-key@^2.0.0: +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" -path-parse@^1.0.5: +path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -1704,18 +3387,16 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" dependencies: pify "^3.0.0" +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -1734,6 +3415,16 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + postcss@^6.0.14: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" @@ -1742,24 +3433,37 @@ postcss@^6.0.14: source-map "^0.6.1" supports-color "^5.4.0" -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -prettier@1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.0.tgz#847c235522035fd988100f1f43cf20a7d24f9372" +prettier@1.16.4: + version "1.16.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + +promise-retry@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" + dependencies: + err-code "^1.0.0" + retry "^0.10.0" + promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" dependencies: asap "~2.0.3" +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + dependencies: + read "1" + prop-types@^15.6.0: version "15.6.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" @@ -1767,14 +3471,62 @@ prop-types@^15.6.0: loose-envify "^1.3.1" object-assign "^4.1.1" +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + +protoduck@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" + dependencies: + genfun "^5.0.0" + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -q@^1.4.1, q@^1.5.1: +psl@^1.1.24: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + +q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + querystringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" @@ -1783,15 +3535,6 @@ quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" -rc@^1.0.1, rc@^1.1.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-dom@~16.4.2: version "16.4.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.2.tgz#4afed569689f2c561d2b8da0b819669c38a0bda4" @@ -1816,6 +3559,27 @@ read-cmd-shim@^1.0.1: dependencies: graceful-fs "^4.1.2" +"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" + dependencies: + glob "^7.1.1" + json-parse-better-errors "^1.0.1" + normalize-package-data "^2.0.0" + slash "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.2" + +read-package-tree@^5.1.6: + version "5.2.1" + resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.1.tgz#6218b187d6fac82289ce4387bbbaf8eef536ad63" + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + once "^1.3.0" + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -1823,13 +3587,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -1837,7 +3594,7 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" -read-pkg@^1.0.0, read-pkg@^1.1.0: +read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" dependencies: @@ -1845,14 +3602,6 @@ read-pkg@^1.0.0, read-pkg@^1.1.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -1861,9 +3610,15 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: +read@1, read@~1.0.1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + dependencies: + mute-stream "~0.0.4" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.6" - resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -1873,6 +3628,23 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.0.6, readable-stream@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06" + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdir-scoped-modules@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -1887,18 +3659,20 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" -registry-auth-token@^3.0.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" + extend-shallow "^3.0.2" + safe-regex "^1.1.0" -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" repeating@^2.0.0: version "2.0.1" @@ -1906,6 +3680,31 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +request@^2.87.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -1918,11 +3717,29 @@ requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" -resolve@^1.3.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@^1.10.0, resolve@^1.3.2: + version "1.10.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" dependencies: - path-parse "^1.0.5" + path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" @@ -1931,11 +3748,19 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" -rimraf@^2.6.1, rimraf@~2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + +rimraf@2, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" dependencies: - glob "^7.0.5" + glob "^7.1.3" run-async@^2.2.0: version "2.3.0" @@ -1943,21 +3768,29 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" dependencies: - rx-lite "*" + aproba "^1.1.1" -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" +rxjs@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" + dependencies: + tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" -"safer-buffer@>= 2.1.2 < 3": +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -1976,14 +3809,36 @@ sanitize-html@~1.18.2: srcset "^1.0.0" xtend "^4.0.0" -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -2006,19 +3861,86 @@ slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" +slide@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +smart-buffer@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +socks-proxy-agent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz#5936bf8b707a993079c6f37db2091821bffa6473" + dependencies: + agent-base "~4.2.0" + socks "~2.2.0" + +socks@~2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.3.tgz#7399ce11e19b2a997153c983a9ccb6306721f2dc" + dependencies: + ip "^1.1.5" + smart-buffer "4.0.2" + sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" dependencies: is-plain-obj "^1.0.0" +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" spdx-correct@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e" + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" @@ -2035,8 +3957,14 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" + version "3.0.3" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" split2@^2.0.0: version "2.2.0" @@ -2061,6 +3989,44 @@ srcset@^1.0.0: array-uniq "^1.0.2" number-is-nan "^1.0.0" +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.0, ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + dependencies: + figgy-pudding "^3.5.1" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -2069,22 +4035,32 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string_decoder@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + dependencies: + safe-buffer "~5.1.0" + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" dependencies: safe-buffer "~5.1.0" +stringify-package@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.0.tgz#e02828089333d7d45cd8c287c30aa9a13375081b" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" @@ -2094,6 +4070,12 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" + dependencies: + ansi-regex "^4.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -2118,18 +4100,12 @@ strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -strong-log-transformer@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-1.0.6.tgz#f7fb93758a69a571140181277eea0c2eb1301fa3" +strong-log-transformer@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" dependencies: - byline "^5.0.0" duplexer "^0.1.1" - minimist "^0.1.0" - moment "^2.6.0" + minimist "^1.2.0" through "^2.3.4" supports-color@^2.0.0: @@ -2142,11 +4118,31 @@ supports-color@^5.3.0, supports-color@^5.4.0: dependencies: has-flag "^3.0.0" +tar@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tar@^4.4.8: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" -temp-write@^3.3.0: +temp-write@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492" dependencies: @@ -2157,31 +4153,20 @@ temp-write@^3.3.0: temp-dir "^1.0.0" uuid "^3.0.1" -tempfile@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" - dependencies: - os-tmpdir "^1.0.0" - uuid "^2.0.1" - text-extensions@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" through2@^2.0.0, through2@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" dependencies: - readable-stream "^2.1.5" + readable-stream "~2.3.6" xtend "~4.0.1" through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" - resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" tmp@^0.0.33: version "0.0.33" @@ -2189,6 +4174,41 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -2201,24 +4221,25 @@ trim-off-newlines@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" -tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1: +tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" -tslint-config-prettier@^1.9.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.15.0.tgz#76b9714399004ab6831fdcf76d89b73691c812cf" +tslint-config-prettier@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" -tslint-plugin-prettier@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-1.3.0.tgz#7eb65d19ea786a859501a42491b78c5de2031a3f" +tslint-plugin-prettier@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-2.0.1.tgz#95b6a3b766622ffc44375825d7760225c50c3680" dependencies: eslint-plugin-prettier "^2.2.0" + lines-and-columns "^1.1.6" tslib "^1.7.1" -tslint@~5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.10.0.tgz#11e26bccb88afa02dd0d9956cae3d4540b5f54c3" +tslint@~5.12.1: + version "5.12.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.12.1.tgz#8cec9d454cf8a1de9b0a26d7bdbad6de362e52c1" dependencies: babel-code-frame "^6.22.0" builtin-modules "^1.1.1" @@ -2231,25 +4252,35 @@ tslint@~5.10.0: resolve "^1.3.2" semver "^5.3.0" tslib "^1.8.0" - tsutils "^2.12.1" + tsutils "^2.27.2" -tsutils@^2.12.1: +tsutils@^2.27.2: version "2.29.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" dependencies: tslib "^1.8.1" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" typescript@~3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.3.tgz#01b70247a6d3c2467f70c45795ef5ea18ce191d5" + version "3.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68" ua-parser-js@^0.7.18: - version "0.7.18" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" + version "0.7.19" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" uglify-js@^3.1.4: version "3.4.9" @@ -2258,61 +4289,123 @@ uglify-js@^3.1.4: commander "~2.17.1" source-map "~0.6.1" +uid-number@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +umask@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" + dependencies: + imurmurhash "^0.1.4" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - -url-parse-lax@^1.0.0: +unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" dependencies: - prepend-http "^1.0.1" + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" url-parse@~1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.3.tgz#bfaee455c889023219d757e045fa6a684ec36c15" + version "1.4.4" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" dependencies: querystringify "^2.0.0" requires-port "^1.0.0" -util-deprecate@~1.0.1: +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -uuid@^2.0.1: - version "2.0.3" - resolved "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.1: +uuid@^3.0.1, uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + dependencies: + builtins "^1.0.3" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + wcwidth@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" dependencies: defaults "^1.0.3" +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + whatwg-fetch@>=0.10.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" +whatwg-url@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.9: +which@1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: @@ -2330,7 +4423,7 @@ wordwrap@~0.0.2: wrap-ansi@^2.0.0: version "2.1.0" - resolved "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -2340,14 +4433,14 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^2.0.0, write-file-atomic@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + version "2.4.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-json-file@^2.2.0: +write-json-file@^2.2.0, write-json-file@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" dependencies: @@ -2369,34 +4462,38 @@ xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" dependencies: - camelcase "^4.1.0" + camelcase "^5.0.0" + decamelize "^1.2.0" -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" +yargs@^12.0.1: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" + os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1"