diff --git a/app/client/cypress.json b/app/client/cypress.json index 3c75281b43..5f84ec8125 100644 --- a/app/client/cypress.json +++ b/app/client/cypress.json @@ -1,11 +1,13 @@ { "baseUrl":"http://dev.appsmith.com:3000/", + "defaultCommandTimeout": 5000, + "pageLoadTimeout": 30000, "reporter": "mochawesome", "reporterOptions": { "reportDir": "results", "overwrite": false, - "html": false, - "json": true + "html": true, + "json": false } } \ No newline at end of file diff --git a/app/client/cypress/fixtures/inputdata.json b/app/client/cypress/fixtures/inputdata.json new file mode 100644 index 0000000000..fee8bc9415 --- /dev/null +++ b/app/client/cypress/fixtures/inputdata.json @@ -0,0 +1,4 @@ +{ + "appname": "Test App", + +} \ No newline at end of file diff --git a/app/client/cypress/fixtures/user.json b/app/client/cypress/fixtures/user.json index 9d5a67368d..7d95e02603 100644 --- a/app/client/cypress/fixtures/user.json +++ b/app/client/cypress/fixtures/user.json @@ -1,6 +1,6 @@ { "username": "testowner@appsmith.com", - "password": "own3rT3st1ng", + "password": "own3rT3st1ng" } \ No newline at end of file diff --git a/app/client/cypress/integration/CommonWidgets/Button_spec.js b/app/client/cypress/integration/CommonWidgets/Button_spec.js new file mode 100644 index 0000000000..486f77ec52 --- /dev/null +++ b/app/client/cypress/integration/CommonWidgets/Button_spec.js @@ -0,0 +1,15 @@ +var widgetsPage= require('../../locators/Widgets.json') +var loginPage= require('../../locators/LoginPage.json') +const loginData=require('../../fixtures/user.json') +var commonlocators = require('../../locators/commonlocators.json') + +context('Cypress test',function() { + + it('Button Widget Functionality',function(){ + + cy.get(widgetsPage.buttonWidget).click({ force: true }) + //Checking the edit props for Button + cy.get('.CodeMirror textarea').focus().type("{meta}a").clear({ force: true }).type("{{Text4.text}}", {parseSpecialCharSequences: false}) + cy.get(commonlocators.editPropCrossButton).click() + }) +}) \ No newline at end of file diff --git a/app/client/cypress/integration/CommonWidgets/Container_spec.js b/app/client/cypress/integration/CommonWidgets/Container_spec.js new file mode 100644 index 0000000000..23ef0e1873 --- /dev/null +++ b/app/client/cypress/integration/CommonWidgets/Container_spec.js @@ -0,0 +1,17 @@ +var widgetsPage= require('../../locators/Widgets.json') +var loginPage= require('../../locators/LoginPage.json') +const loginData=require('../../fixtures/user.json') +var commonlocators = require('../../locators/commonlocators.json') + +context('Cypress test',function() { + + it('Container Widget Functionality',function(){ + + cy.get(widgetsPage.containerWidget).first().trigger('mouseover',{force:true}) + cy.get(widgetsPage.containerWidget).children(commonlocators.editIcon).first().click() + //Checking the edit props for container and also the properties of container + cy.get('.CodeMirror textarea').focus().type("{meta}a").clear({ force: true }).type('#C0C0C0') + cy.get('.CodeMirror textarea').should('have.value', '#C0C0C0') + cy.get(commonlocators.editPropCrossButton).click() + }) +}) \ No newline at end of file diff --git a/app/client/cypress/integration/CommonWidgets/Input_spec.js b/app/client/cypress/integration/CommonWidgets/Input_spec.js new file mode 100644 index 0000000000..126a46aac1 --- /dev/null +++ b/app/client/cypress/integration/CommonWidgets/Input_spec.js @@ -0,0 +1,18 @@ +var widgetsPage= require('../../locators/Widgets.json') +var loginPage= require('../../locators/LoginPage.json') +const loginData=require('../../fixtures/user.json') +var commonlocators = require('../../locators/commonlocators.json') + +context('Cypress test',function() { + + it('Input Widget Functionality',function(){ + + cy.get(widgetsPage.inputWidget).first().trigger('mouseover') + cy.get(widgetsPage.inputWidget).children(commonlocators.editicon).first().click() + //Checking the edit props for container and also the properties of container + cy.get('.CodeMirror textarea').first().focus().type("{meta}a").clear({ force: true }).type('Test Input Label') + cy.get('.CodeMirror textarea').first().should('have.value', 'Test Input Label') + cy.get(commonlocators.editPropCrossButton).click() + + }) +}) \ No newline at end of file diff --git a/app/client/cypress/integration/CommonWidgets/Table_spec.js b/app/client/cypress/integration/CommonWidgets/Table_spec.js new file mode 100644 index 0000000000..0ffbfe238c --- /dev/null +++ b/app/client/cypress/integration/CommonWidgets/Table_spec.js @@ -0,0 +1,15 @@ +var widgetsPage= require('../../locators/Widgets.json') +var loginPage= require('../../locators/LoginPage.json') +const loginData=require('../../fixtures/user.json') +var commonlocators = require('../../locators/commonlocators.json') + +context('Cypress test',function() { + + it('Table Widget Functionality',function(){ + + cy.get(widgetsPage.tableWidget).first().trigger('mouseover',{force:true}) + cy.get(widgetsPage.tableWidget).children(commonlocators.editicon).first().click() + cy.get('.CodeMirror textarea').focus().type("{meta}a").clear({ force: true }).type("{{MockUsersApi.data}}",{parseSpecialCharSequences: false}) + cy.get(commonlocators.editPropCrossButton).click() + }) +}) \ No newline at end of file diff --git a/app/client/cypress/integration/CommonWidgets/Text_spec.js b/app/client/cypress/integration/CommonWidgets/Text_spec.js new file mode 100644 index 0000000000..58a8992e96 --- /dev/null +++ b/app/client/cypress/integration/CommonWidgets/Text_spec.js @@ -0,0 +1,16 @@ +var widgetsPage= require('../../locators/Widgets.json') +var loginPage= require('../../locators/LoginPage.json') +const loginData=require('../../fixtures/user.json') +var commonlocators = require('../../locators/commonlocators.json') + +context('Cypress test',function() { + + it('Text Widget Functionality',function(){ + + cy.get(widgetsPage.textWidget).first().trigger('mouseover') + cy.get(widgetsPage.textWidget).children(commonlocators.editIcon).first().click() + cy.get('.CodeMirror textarea').first().focus().type("{meta}a").clear({ force: true }).type('Test text') + cy.get(commonlocators.editPropCrossButton).click() + + }) +}) \ No newline at end of file diff --git a/app/client/cypress/integration/OnBoarding/Login_spec.js b/app/client/cypress/integration/OnBoarding/Login_spec.js index ba0cb7ea2c..18558bfc2d 100644 --- a/app/client/cypress/integration/OnBoarding/Login_spec.js +++ b/app/client/cypress/integration/OnBoarding/Login_spec.js @@ -1,20 +1,16 @@ var loginPage= require('../../locators/LoginPage.json') -const loginData=require('../../fixtures/user.json') +var homePage = require('../../locators/HomePage.json') +var commonlocators = require('../../locators/commonlocators.json') +var widgetsPage= require('../../locators/Widgets.json') + + context('Cypress test',function() { it('Login functionality',function(){ - - cy.LogintoApp(loginData.username,loginData.password) - cy.get('input[type="text"]').type('Test app') - cy.wait(3000) - cy.get('.t--application-edit-link').click() - cy.wait(5000) - cy.get('.t--draggable-buttonwidget').click({ force: true }) - cy.wait(2000) - cy.get('textarea').first().click({ force: true }).clear({ force: true }).type('Test', { force: true }) - cy.wait(5000) - cy.get('.t--application-publish-btn').click() - + + cy.get(widgetsPage.buttonWidget).click({ force: true }) + cy.get('.CodeMirror textarea').focus().type("{meta}a").clear({ force: true }).type('Test', { force: true }) + cy.get(commonlocators.editPropCrossButton).click() }) }) \ No newline at end of file diff --git a/app/client/cypress/integration/test.js b/app/client/cypress/integration/test.js deleted file mode 100644 index 7ef2207c9e..0000000000 --- a/app/client/cypress/integration/test.js +++ /dev/null @@ -1,43 +0,0 @@ -describe("My First Test", function() { - it("Visits the Kitchen Sink", function() { - cy.visit( - "http://localhost:3000/applications/5d807e45795dc6000482bc74/pages/5df08f966ccd2400049dde1a/edit", - ); - // cy.contains("Enter your Netlify Site URL"); - // cy.get(); - // Main button pressed (usually the left button) - // cy.get(".TABLE_WIDGET") - // .first() - // .trigger("mousedown") - // .trigger("mousemove", { which: 1, clientX: 400, clientY: 100 }) - // .trigger("mouseup"); - - // cy.contains("Submit").click(); - // cy.contains("Barbra", { timeout: 1000000 }).click(); - // // cy.contains("{{fetchUsers2}}"); - // cy.get('input[value="{{fetchUsers2}}"]') - // // .first() - // .clear() - // .type( - // "{{}{{}fetchUsers2.map(user => {{}return {{}'name': user.name}})}}", - // { - // force: true, - // }, - // ); - - // .then(function($input) { - // $input[0].setAttribute( - // "value", - // "{{fetchUsers2.map(user => {return {'name': user.name}})}}", - // ); - // }); - - // .invoke( - // "attr", - // "value", - // "{{fetchUsers2.map(user => {return {'name': user.name}})}}", - // ); - - expect(true).to.eq(true); - }); -}); diff --git a/app/client/cypress/locators/HomePage.json b/app/client/cypress/locators/HomePage.json new file mode 100644 index 0000000000..2a51f315ca --- /dev/null +++ b/app/client/cypress/locators/HomePage.json @@ -0,0 +1,7 @@ +{ + "searchInput": "input[type='text']", + "appEditIcon": ".t--application-edit-link", + "publishButton":".t--application-publish-btn", + "publishCrossButton":"span[icon='small-cross']" + +} \ No newline at end of file diff --git a/app/client/cypress/locators/LoginPage.json b/app/client/cypress/locators/LoginPage.json index d212984269..18c060c394 100644 --- a/app/client/cypress/locators/LoginPage.json +++ b/app/client/cypress/locators/LoginPage.json @@ -2,4 +2,4 @@ "username":"input[name='username']", "password":"input[name='password']", "submitBtn":"button[type='submit']" -} \ No newline at end of file +} diff --git a/app/client/cypress/locators/Widgets.json b/app/client/cypress/locators/Widgets.json new file mode 100644 index 0000000000..5b461110b4 --- /dev/null +++ b/app/client/cypress/locators/Widgets.json @@ -0,0 +1,13 @@ +{ + "containerWidget":".t--draggable-containerwidget", + "inputWidget":".t--draggable-inputwidget", + "togglebutton":"input[type='checkbox']", + "inputPropsDataType":".t--property-control-datatype", + "inputdatatypedropdownicon": "./html/body/div[6]/div/div[3]/div[2]/div[2]/div[2]/span/span/div/button/span[2]", + "inputdatatypeplaceholder":".t--property-control-placeholder", + "buttonWidget":".t--draggable-buttonwidget", + "textWidget":".t--draggable-textwidget", + "tableWidget":".t--draggable-tablewidget" + + +} \ No newline at end of file diff --git a/app/client/cypress/locators/commonlocators.json b/app/client/cypress/locators/commonlocators.json new file mode 100644 index 0000000000..dca3ed8731 --- /dev/null +++ b/app/client/cypress/locators/commonlocators.json @@ -0,0 +1,4 @@ +{ + "editIcon":".t--widget-propertypane-toggle", + "editPropCrossButton":"span[icon='cross']" +} \ No newline at end of file diff --git a/app/client/cypress/support/commands.js b/app/client/cypress/support/commands.js index 3caea750bd..a48f9903c3 100644 --- a/app/client/cypress/support/commands.js +++ b/app/client/cypress/support/commands.js @@ -1,9 +1,31 @@ var loginPage= require('../locators/LoginPage.json') +var homePage = require('../locators/HomePage.json') Cypress.Commands.add("LogintoApp",(uname,pword)=>{ cy.visit('/') - cy.wait(6000) + cy.get(loginPage.username).should('be.visible') cy.get(loginPage.username).type(uname) cy.get(loginPage.password).type(pword) cy.get(loginPage.submitBtn).click() -}) \ No newline at end of file +}) +Cypress.Commands.add("SearchApp",(appname)=>{ + cy.get(homePage.searchInput).type(appname) + cy.get(homePage.appEditIcon).should('have.length', 1) + cy.get(homePage.appEditIcon).click() + cy.get('#loading').should('not.exist') +}) + + +Cypress.Commands.add("PublishtheApp",()=>{ + cy.wait(4000) + cy.get(homePage.publishButton).click() + cy.window() + .then((win) => { + cy.get(homePage.publishCrossButton).click() + + }) + +}) + + + diff --git a/app/client/cypress/support/index.js b/app/client/cypress/support/index.js index d68db96df2..7971e94231 100644 --- a/app/client/cypress/support/index.js +++ b/app/client/cypress/support/index.js @@ -13,8 +13,26 @@ // https://on.cypress.io/configuration // *********************************************************** +const loginData=require('../fixtures/user.json') +const inputData=require('../fixtures/inputdata.json') + // Import commands.js using ES2015 syntax: import './commands' +before(function () { + + cy.LogintoApp(loginData.username,loginData.password) + cy.SearchApp(inputData.appname) + }) + + beforeEach(function () { + + Cypress.Cookies.preserveOnce('session_id', 'remember_token') + + }) // Alternatively you can use CommonJS syntax: // require('./commands') +after(function() { + + cy.PublishtheApp() +}) diff --git a/app/client/cypress/test.sh b/app/client/cypress/test.sh index 4e6f4ad9af..5f8c5f44aa 100755 --- a/app/client/cypress/test.sh +++ b/app/client/cypress/test.sh @@ -1 +1 @@ -$(npm bin)/cypress run CYPRESS_BASE_URL='http://dev.appsmith.com:3000/' --spec "cypress/integration/OnBoarding/Login_spec.js" \ No newline at end of file +$(npm bin)/cypress run CYPRESS_BASE_URL='http://dev.appsmith.com:3000/' --spec "cypress/integration/*/*" \ No newline at end of file diff --git a/app/client/package.json b/app/client/package.json index cac338ee4d..f2c495950d 100644 --- a/app/client/package.json +++ b/app/client/package.json @@ -138,7 +138,7 @@ "@typescript-eslint/eslint-plugin": "^2.0.0", "@typescript-eslint/parser": "^2.0.0", "babel-loader": "^8.0.6", - "cypress": "^3.7.0", + "cypress": "^4.1.0", "cypress-multi-reporters": "^1.2.4", "dotenv": "^8.1.0", "eslint": "^6.4.0", @@ -162,6 +162,7 @@ "husky": { "hooks": { "pre-commit": "lint-staged" + } } } diff --git a/app/client/yarn.lock b/app/client/yarn.lock index fa47aaf497..2c7e101dd7 100644 --- a/app/client/yarn.lock +++ b/app/client/yarn.lock @@ -3027,10 +3027,6 @@ ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" -ansi-escapes@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -3291,18 +3287,17 @@ async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" -async@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" - dependencies: - lodash "^4.17.10" - async@^2.1.4, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" dependencies: lodash "^4.17.14" +async@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" + integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3772,11 +3767,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" - -bluebird@^3.3.5, bluebird@^3.5.5: +bluebird@3.7.2, bluebird@^3.3.5, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -4045,11 +4036,10 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cachedir@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-1.3.0.tgz#5e01928bf2d95b5edd94b0942188246740e0dbc4" - dependencies: - os-homedir "^1.0.1" +cachedir@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== call-me-maybe@^1.0.1: version "1.0.1" @@ -4274,10 +4264,6 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -4334,10 +4320,6 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - cli-table3@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" @@ -4507,9 +4489,10 @@ comma-separated-tokens@^1.0.0: version "1.0.8" resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" -commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" +commander@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.0.tgz#545983a0603fe425bc672d66c9e3c89c42121a83" + integrity sha512-NIQrwvv9V39FHgGFm36+U9SMQzbiHvU79k+iADraJTpmrFFfx7Ds0IvDoAdZsDrknlkRk14OYoWXb57uTh7/sw== commander@^2.11.0, commander@^2.19.0, commander@^2.20.0: version "2.20.3" @@ -5009,41 +4992,44 @@ cypress-multi-reporters@^1.2.4: debug "^4.1.1" lodash "^4.17.11" -cypress@^3.7.0: - version "3.8.3" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-3.8.3.tgz#e921f5482f1cbe5814891c878f26e704bbffd8f4" +cypress@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-4.1.0.tgz#295f115d2e8a08fff2760ab49d94d876f5877aee" + integrity sha512-FFV8pS9iuriSX4M9rna6awJUhiqozZD1D5z5BprCUJoho1ctbcgpkEUIUnqxli2OwjQqVz07egO+iqoGL+tw7g== dependencies: "@cypress/listr-verbose-renderer" "0.4.1" "@cypress/xvfb" "1.2.4" "@types/sizzle" "2.3.2" arch "2.1.1" - bluebird "3.5.0" - cachedir "1.3.0" + bluebird "3.7.2" + cachedir "2.3.0" chalk "2.4.2" check-more-types "2.24.0" - commander "2.15.1" + commander "4.1.0" common-tags "1.8.0" - debug "3.2.6" + debug "4.1.1" eventemitter2 "4.1.2" - execa "0.10.0" + execa "1.0.0" executable "4.1.1" extract-zip "1.6.7" - fs-extra "5.0.0" - getos "3.1.1" - is-ci "1.2.1" + fs-extra "8.1.0" + getos "3.1.4" + is-ci "2.0.0" is-installed-globally "0.1.0" lazy-ass "1.6.0" - listr "0.12.0" + listr "0.14.3" lodash "4.17.15" - log-symbols "2.2.0" + log-symbols "3.0.0" minimist "1.2.0" moment "2.24.0" - ramda "0.24.1" + ospath "1.2.2" + pretty-bytes "5.3.0" + ramda "0.26.1" request "2.88.0" request-progress "3.0.0" - supports-color "5.5.0" + supports-color "7.1.0" tmp "0.1.0" - untildify "3.0.3" + untildify "4.0.0" url "0.11.0" yauzl "2.10.0" @@ -5096,7 +5082,7 @@ debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: dependencies: ms "^2.1.1" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@4, debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" dependencies: @@ -5911,19 +5897,7 @@ exec-sh@^0.3.2: version "0.3.4" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" -execa@0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - dependencies: - cross-spawn "^6.0.0" - 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" - -execa@^1.0.0: +execa@1.0.0, execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" dependencies: @@ -6440,11 +6414,11 @@ fs-copy-file-sync@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz#11bf32c096c10d126e5f6b36d06eece776062918" -fs-extra@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" +fs-extra@8.1.0, fs-extra@^8.0.1, fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.2.0" jsonfile "^4.0.0" universalify "^0.1.0" @@ -6474,14 +6448,6 @@ fs-extra@^7.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^8.0.1, fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -6614,10 +6580,6 @@ get-stdin@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -6634,11 +6596,12 @@ 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" -getos@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.1.tgz#967a813cceafee0156b0483f7cffa5b3eff029c5" +getos@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.4.tgz#29cdf240ed10a70c049add7b6f8cb08c81876faf" + integrity sha512-UORPzguEB/7UG5hqiZai8f0vQ7hzynMQyJLxStoQ8dPGAcmgsfXOPA4iE/fGtweHYkK+z4zc9V0g+CIFRf5HYw== dependencies: - async "2.6.1" + async "^3.1.0" getpass@^0.1.1: version "0.1.7" @@ -7490,13 +7453,7 @@ is-callable@^1.1.4, is-callable@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" -is-ci@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - dependencies: - ci-info "^1.5.0" - -is-ci@^2.0.0: +is-ci@2.0.0, is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" dependencies: @@ -8580,19 +8537,6 @@ listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" -listr-update-renderer@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - strip-ansi "^3.0.1" - listr-update-renderer@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" @@ -8606,15 +8550,6 @@ listr-update-renderer@^0.5.0: log-update "^2.3.0" strip-ansi "^3.0.1" -listr-verbose-renderer@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" - dependencies: - chalk "^1.1.3" - cli-cursor "^1.0.2" - date-fns "^1.27.2" - figures "^1.7.0" - listr-verbose-renderer@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" @@ -8624,28 +8559,7 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" -listr@0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - figures "^1.7.0" - indent-string "^2.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.2.0" - listr-verbose-renderer "^0.4.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - ora "^0.2.3" - p-map "^1.1.1" - rxjs "^5.0.0-beta.11" - stream-to-observable "^0.1.0" - strip-ansi "^3.0.1" - -listr@^0.14.3: +listr@0.14.3, listr@^0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" dependencies: @@ -8797,16 +8711,10 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: +lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" -log-symbols@2.2.0, log-symbols@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - dependencies: - chalk "^2.0.1" - log-symbols@3.0.0, log-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" @@ -8819,12 +8727,11 @@ log-symbols@^1.0.2: dependencies: chalk "^1.0.0" -log-update@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" +log-symbols@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" dependencies: - ansi-escapes "^1.0.0" - cli-cursor "^1.0.2" + chalk "^2.0.1" log-update@^2.3.0: version "2.3.0" @@ -9828,15 +9735,6 @@ optionator@^0.8.1, optionator@^0.8.3: type-check "~0.3.2" word-wrap "~1.2.3" -ora@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" - dependencies: - chalk "^1.1.1" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - object-assign "^4.0.1" - original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -9847,7 +9745,7 @@ os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" -os-homedir@^1.0.0, os-homedir@^1.0.1: +os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -9876,6 +9774,11 @@ osenv@0: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +ospath@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs= + p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -9928,10 +9831,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -10880,7 +10779,7 @@ prettier@^1.16.4, prettier@^1.18.2: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" -pretty-bytes@^5.1.0: +pretty-bytes@5.3.0, pretty-bytes@^5.1.0: version "5.3.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" @@ -11201,9 +11100,10 @@ raf@^3.4.1: dependencies: performance-now "^2.1.0" -ramda@0.24.1: - version "0.24.1" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" +ramda@0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" + integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== ramda@^0.21.0: version "0.21.0" @@ -12364,12 +12264,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^5.0.0-beta.11: - version "5.5.12" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" - dependencies: - symbol-observable "1.0.1" - rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" @@ -12998,10 +12892,6 @@ stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" -stream-to-observable@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -13240,34 +13130,35 @@ stylis@^3.5.0: version "3.5.4" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" -supports-color@5.5.0, supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - dependencies: - has-flag "^3.0.0" - supports-color@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" dependencies: has-flag "^3.0.0" +supports-color@7.1.0, supports-color@^7.0.0, supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" +supports-color@^5.3.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + supports-color@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - dependencies: - has-flag "^4.0.0" - svg-parser@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.3.tgz#a38f2e4e5442986f7ecb554c11f1411cfcf8c2b9" @@ -13290,10 +13181,6 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - symbol-observable@^1.0.2, symbol-observable@^1.1.0, symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -13874,9 +13761,10 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" +untildify@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== upath@^1.1.1: version "1.2.0"