diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f8dc415a2..28fa0cbe8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -90,11 +90,12 @@ jobs: env: API_URI: ${{ steps.api_uri.outputs.custom_api_uri || secrets.API_URI }} APP_MOUNT_URI: ${{ secrets.APP_MOUNT_URI }} + CYPRESS_baseUrl: ${{ secrets.CYPRESS_BASEURL }} CYPRESS_USER_NAME: ${{ secrets.CYPRESS_USER_NAME }} CYPRESS_USER_PASSWORD: ${{ secrets.CYPRESS_USER_PASSWORD }} with: build: npm run build - start: npx http-server -a localhost -p 9000 build/dashboard + start: npx local-web-server --spa index.html wait-on: http://localhost:9000/ wait-on-timeout: 120 - uses: actions/upload-artifact@v1 diff --git a/cypress.json b/cypress.json index 68d5704a0..9341eab2a 100644 --- a/cypress.json +++ b/cypress.json @@ -1,5 +1,5 @@ { - "baseUrl": "http://localhost:9000", + "baseUrl": "http://localhost:9000/dashboard/", "defaultCommandTimeout": 15000, "requestTimeout": 15000, "viewportWidth": 1400, diff --git a/cypress/apiRequests/Channels.js b/cypress/apiRequests/Channels.js index 197a709bc..b66c39804 100644 --- a/cypress/apiRequests/Channels.js +++ b/cypress/apiRequests/Channels.js @@ -23,51 +23,47 @@ class Channels { deleteTestChannels(nameStartsWith) { const getChannelsInfoQuery = `query{ - channels{ - name - id - isActive - slug - currencyCode - } - } - `; - cy.sendRequestWithQuery(getChannelsInfoQuery).then(resp => { - const channels = new Set(resp.body.data.channels); - if (channels) { - channels.forEach(element => { - if (element.name.startsWith(nameStartsWith)) { - const targetChannels = Array.from(channels).filter(function( - channel - ) { - return ( - element.currencyCode === channel.currencyCode && - element.id !== channel.id - ); - }); - if (targetChannels[0]) { - this.deleteChannel(element.id, targetChannels[0].id); - channels.delete(element); + channels{ + name + id + isActive + slug + currencyCode } } - }); - } + `; + cy.sendRequestWithQuery(getChannelsInfoQuery).then(resp => { + const channels = new Set(resp.body.data.channels); + channels.forEach(element => { + if (element.name.startsWith(nameStartsWith)) { + const targetChannels = Array.from(channels).filter(function(channel) { + return ( + element.currencyCode === channel.currencyCode && + element.id !== channel.id + ); + }); + if (targetChannels[0]) { + this.deleteChannel(element.id, targetChannels[0].id); + channels.delete(element); + } + } + }); }); } - deleteChannel(channelId, targetChannelId) { + deleteChannel(channelId, targetChennelId) { const deleteChannelMutation = `mutation{ - channelDelete(id: "${channelId}", input:{ - targetChannel: "${targetChannelId}" - }){ - channel{ - name - } - channelErrors{ - message - } + channelDelete(id: "${channelId}", input:{ + targetChannel: "${targetChennelId}" + }){ + channel{ + name } - }`; + channelErrors{ + message + } + } + }`; return cy.sendRequestWithQuery(deleteChannelMutation); } } diff --git a/cypress/elements/account/left-menu/left-menu-selectors.js b/cypress/elements/account/left-menu/left-menu-selectors.js index fb525ee06..6181a5ab0 100644 --- a/cypress/elements/account/left-menu/left-menu-selectors.js +++ b/cypress/elements/account/left-menu/left-menu-selectors.js @@ -1,4 +1,7 @@ -/* eslint-disable sort-keys */ export const LEFT_MENU_SELECTORS = { - catalog: "[data-test-id='catalogue']" + catalog: "[data-test='menu-item-label'][data-test-id='catalogue']", + configuration: "[data-test='menu-item-label'][data-test-id='configure']", + home: "[data-test='menu-item-label'][data-test-id='home']", + orders: "[data-test='menu-item-label'][data-test-id=orders']", + products: "[data-test='submenu-item-label'][data-test-id='products']" }; diff --git a/cypress/elements/catalog/product-selectors.js b/cypress/elements/catalog/product-selectors.js index de68973b0..e2ef305c0 100644 --- a/cypress/elements/catalog/product-selectors.js +++ b/cypress/elements/catalog/product-selectors.js @@ -1,5 +1,6 @@ /* eslint-disable sort-keys */ export const PRODUCTS_SELECTORS = { + productsList: "[data-test-id][data-test='id']", products: "[data-test='submenu-item-label'][data-test-id='products']", createProductBtn: "[data-test='add-product']", productNameInput: "[name='name']", @@ -11,5 +12,10 @@ export const PRODUCTS_SELECTORS = { visibleRadioBtn: "[name='isPublished']", saveBtn: "[data-test='button-bar-confirm']", confirmationMsg: "[data-test='notification-success']", - channelAvailabilityItem: "[data-test='channel-availability-item']" + channelAvailabilityItem: "[data-test='channel-availability-item']", + availableManageButton: + "[data-test-id='channels-availiability-manage-button']", + channelsAvailabilityForm: + "[data-test-id='manage-products-channels-availiability-list']", + emptyProductRow: "[class*='Skeleton']" }; diff --git a/cypress/elements/channels/add-channel-form-selectors.js b/cypress/elements/channels/add-channel-form-selectors.js new file mode 100644 index 000000000..c6364df78 --- /dev/null +++ b/cypress/elements/channels/add-channel-form-selectors.js @@ -0,0 +1,12 @@ +export const ADD_CHANNEL_FORM_SELECTORS = { + channelName: "[name='name']", + slug: "[name='slug']", + currency: "[data-test-id='channel-currency-select-input']", + currencyOptions: "[data-test='singleautocomplete-select-option']", + saveButton: "[data-test='button-bar-confirm']", + backToChannelsList: "[data-test-id='app-header-back-button']", + currencyValidationMessage: "[data-testid='currency-text-input-helper-text']", + slugValidationMessage: "[data-testid='slug-text-input-helper-text']", + currencyAutocompleteDropdown: + "[data-test='singleautocomplete-select-option'][data-test-type='custom']" +}; diff --git a/cypress/elements/channels/channel-form-selectors.js b/cypress/elements/channels/channel-form-selectors.js new file mode 100644 index 000000000..0eb04fc0c --- /dev/null +++ b/cypress/elements/channels/channel-form-selectors.js @@ -0,0 +1,5 @@ +export const CHANNEL_FORM_SELECTORS = { + channelSelect: "[id='mui-component-select-channels']", + channelOption: "[data-test='selectFieldOption']", + confirmButton: "[data-test='submit']" +}; diff --git a/cypress/elements/channels/channels-selectors.js b/cypress/elements/channels/channels-selectors.js new file mode 100644 index 000000000..0f2509d1e --- /dev/null +++ b/cypress/elements/channels/channels-selectors.js @@ -0,0 +1,5 @@ +export const CHANNELS_SELECTORS = { + createChannelButton: "[data-test='add-channel']", + channelsTable: "[class='MuiTableBody-root']", + channelName: "[data-test='name']" +}; diff --git a/cypress/elements/configuration/configuration-selectors.js b/cypress/elements/configuration/configuration-selectors.js new file mode 100644 index 000000000..b1d85c627 --- /dev/null +++ b/cypress/elements/configuration/configuration-selectors.js @@ -0,0 +1,4 @@ +/* eslint-disable sort-keys */ +export const CONFIGURATION_SELECTORS = { + channels: "[data-testid='channels']" +}; diff --git a/cypress/elements/orders/draft-order-selectors.js b/cypress/elements/orders/draft-order-selectors.js new file mode 100644 index 000000000..cc98608c3 --- /dev/null +++ b/cypress/elements/orders/draft-order-selectors.js @@ -0,0 +1,3 @@ +export const DRAFT_ORDER_SELECTORS = { + addProducts: "[data-test-id='add-products-button']" +}; diff --git a/cypress/elements/orders/orders-selectors.js b/cypress/elements/orders/orders-selectors.js new file mode 100644 index 000000000..5effccb99 --- /dev/null +++ b/cypress/elements/orders/orders-selectors.js @@ -0,0 +1,4 @@ +export const ORDERS_SELECTORS = { + orders: "[data-test='submenu-item-label'][data-test-id='orders']", + createOrder: "[data-test-id='create-order-button']" +}; diff --git a/cypress/integration/channels.js b/cypress/integration/channels.js new file mode 100644 index 000000000..31db58232 --- /dev/null +++ b/cypress/integration/channels.js @@ -0,0 +1,139 @@ +// +import faker from "faker"; + +import Channels from "../apiRequests/Channels"; +import { LEFT_MENU_SELECTORS } from "../elements/account/left-menu/left-menu-selectors"; +import { PRODUCTS_SELECTORS } from "../elements/catalog/product-selectors"; +import { ADD_CHANNEL_FORM_SELECTORS } from "../elements/channels/add-channel-form-selectors"; +import { CHANNEL_FORM_SELECTORS } from "../elements/channels/channel-form-selectors"; +import { CHANNELS_SELECTORS } from "../elements/channels/channels-selectors"; +import { CONFIGURATION_SELECTORS } from "../elements/configuration/configuration-selectors"; +import { HEADER_SELECTORS } from "../elements/header/header-selectors"; +import { DRAFT_ORDER_SELECTORS } from "../elements/orders/draft-order-selectors"; +import { ORDERS_SELECTORS } from "../elements/orders/orders-selectors"; +import { BUTTON_SELECTORS } from "../elements/shared/button-selectors"; +import ChannelsSteps from "../steps/channelsSteps"; +import { urlList } from "../url/urlList"; + +describe("Channels", () => { + const channelStartsWith = "Cypress:"; + const currency = "PLN"; + const channels = new Channels(); + const channelsSteps = new ChannelsSteps(); + + before(() => { + cy.clearSessionData().loginUserViaRequest(); + channels.deleteTestChannels(channelStartsWith); + }); + + beforeEach(() => { + cy.clearSessionData().loginUserViaRequest(); + }); + + it("should navigate to channels page", () => { + cy.visit(urlList.homePage) + .get(LEFT_MENU_SELECTORS.configuration) + .click() + .get(CONFIGURATION_SELECTORS.channels) + .click() + .location("pathname") + .should("contain", "channels"); + }); + + it("should create new channel", () => { + const randomChannel = `${channelStartsWith} ${faker.random.number()}`; + cy.visit(urlList.channels).waitForGraph("Channels"); + channelsSteps.createChannelByView(randomChannel, currency); + // New channel should be visible in channels list + cy.waitForGraph("Channel") + .get(ADD_CHANNEL_FORM_SELECTORS.backToChannelsList) + .click() + .get(CHANNELS_SELECTORS.channelsTable) + .contains(randomChannel); + + // new channel should be visible in channel selector + cy.visit(urlList.homePage) + .get(HEADER_SELECTORS.channelSelect) + .click() + .get(HEADER_SELECTORS.channelSelectList) + .contains(randomChannel) + .click(); + + // new channel should be visible at product availability form + cy.visit(urlList.products).waitForGraph("InitialProductFilterData"); + cy.get(PRODUCTS_SELECTORS.productsList) + .first() + .click() + .get(PRODUCTS_SELECTORS.availableManageButton) + .click() + .get(PRODUCTS_SELECTORS.channelsAvailabilityForm) + .contains(randomChannel); + }); + + it("should validate slug name", () => { + const randomChannel = `${channelStartsWith} ${faker.random.number()}`; + channels.createChannel(false, randomChannel, randomChannel, currency); + cy.visit(urlList.channels); + channelsSteps.createChannelByView(randomChannel, currency); + cy.get(ADD_CHANNEL_FORM_SELECTORS.slugValidationMessage).should( + "be.visible" + ); + }); + + it("should validate currency", () => { + const randomChannel = `${channelStartsWith} ${faker.random.number()}`; + cy.visit(urlList.channels); + channelsSteps.createChannelByView( + randomChannel, + currency, + "notExistingCurrency" + ); + cy.get(ADD_CHANNEL_FORM_SELECTORS.currencyValidationMessage).should( + "be.visible" + ); + }); + + it("should delete channel", () => { + const randomChannelToDelete = `${channelStartsWith} ${faker.random.number()}`; + channels.createChannel( + false, + randomChannelToDelete, + randomChannelToDelete, + currency + ); + cy.visit(urlList.channels).waitForGraph("Channels"); + cy.get(CHANNELS_SELECTORS.channelName) + .contains(randomChannelToDelete) + .parentsUntil(CHANNELS_SELECTORS.channelsTable) + .find("button") + .click() + .get(BUTTON_SELECTORS.submit) + .click() + .waitForGraph("Channels"); + cy.get(CHANNELS_SELECTORS.channelName) + .contains(randomChannelToDelete) + .should("not.exist"); + }); + + it("should not be possible to add products to order with inactive channel", () => { + const randomChannel = `${channelStartsWith} ${faker.random.number()}`; + channels.createChannel(false, randomChannel, randomChannel, currency); + cy.visit(urlList.orders) + .get(ORDERS_SELECTORS.createOrder) + .click() + .get(CHANNEL_FORM_SELECTORS.channelSelect) + .click() + .get(CHANNEL_FORM_SELECTORS.channelOption) + .contains(randomChannel) + .click() + .get(CHANNEL_FORM_SELECTORS.confirmButton) + .click(); + cy.location() + .should(loc => { + const urlRegex = new RegExp(`${urlList.orders}.+`, "g"); + expect(loc.pathname).to.match(urlRegex); + }) + .get(DRAFT_ORDER_SELECTORS.addProducts) + .should("not.exist"); + }); +}); diff --git a/cypress/integration/login_form.js b/cypress/integration/login_form.js index e4af3a27a..c970a8855 100644 --- a/cypress/integration/login_form.js +++ b/cypress/integration/login_form.js @@ -1,19 +1,20 @@ -import { LOGIN_SELECTORS } from "../elements/account/login-selectors"; - // +import { LOGIN_SELECTORS } from "../elements/account/login-selectors"; +import { urlList } from "../url/urlList"; + describe("User authorization", () => { beforeEach(() => { cy.clearSessionData(); }); it("should successfully log in an user", () => { - cy.visit("/"); + cy.visit(urlList.homePage); cy.loginUser(); cy.get(LOGIN_SELECTORS.welcomePage); }); it("should fail for wrong password", () => { - cy.visit("/") + cy.visit(urlList.homePage) .get(LOGIN_SELECTORS.emailAddressInput) .type("admin@example.com") .get(LOGIN_SELECTORS.emailPasswordInput) @@ -27,7 +28,7 @@ describe("User authorization", () => { cy.window().then(win => { win.sessionStorage.clear(); }); - cy.visit("/"); + cy.visit(urlList.homePage); cy.loginUser(); cy.get(LOGIN_SELECTORS.userMenu) .click() diff --git a/cypress/integration/products.js b/cypress/integration/products.js index 1d8e38ee8..f1e8f5468 100644 --- a/cypress/integration/products.js +++ b/cypress/integration/products.js @@ -1,18 +1,25 @@ +// import { LEFT_MENU_SELECTORS } from "../elements/account/left-menu/left-menu-selectors"; import { PRODUCTS_SELECTORS } from "../elements/catalog/product-selectors"; +import { urlList } from "../url/urlList"; -// describe("Products", () => { beforeEach(() => { cy.clearSessionData().loginUserViaRequest(); }); - it("should add new visible product", () => { - cy.visit("/") + it("should navigate to channels page", () => { + cy.visit(urlList.homePage) .get(LEFT_MENU_SELECTORS.catalog) .click() - .get(PRODUCTS_SELECTORS.products) + .get(LEFT_MENU_SELECTORS.products) .click() + .location("pathname") + .should("contain", "/products"); + }); + + it("should add new visible product", () => { + cy.visit(urlList.products) .get(PRODUCTS_SELECTORS.createProductBtn) .click() .get(PRODUCTS_SELECTORS.productNameInput) diff --git a/cypress/integration/warehouse.js b/cypress/integration/warehouse.js index 208321164..d7d57f79c 100644 --- a/cypress/integration/warehouse.js +++ b/cypress/integration/warehouse.js @@ -1,11 +1,13 @@ // +import { urlList } from "../url/urlList"; + describe("Warehouse settings", () => { beforeEach(() => { cy.clearSessionData(); }); xit("Warehouse section visible in the configuration", () => { - cy.visit("/configuration/") + cy.visit(urlList.configuration) .loginUser() .get("[data-test-id=warehouses][data-test=settingsSubsection]") .click(); @@ -13,7 +15,7 @@ describe("Warehouse settings", () => { }); xit("Editing warehouse is available", () => { - cy.visit(`/warehouses`) + cy.visit(urlList.warehouses) .loginUser() .get("[data-test=editButton]") .first() diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index 9c5d27c8c..3adf44d66 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -16,7 +16,13 @@ * @type {Cypress.PluginConfig} */ module.exports = (on, config) => { + // make env variables visible for cypress config.env.API_URI = process.env.API_URI; + config.env.APP_MOUNT_URI = process.env.APP_MOUNT_URI; + on("before:browser:launch", (browser = {}, launchOptions) => { + launchOptions.args.push("--proxy-bypass-list=<-loopback>"); + return launchOptions; + }); return config; }; diff --git a/cypress/steps/channelsSteps.js b/cypress/steps/channelsSteps.js new file mode 100644 index 000000000..0993496b1 --- /dev/null +++ b/cypress/steps/channelsSteps.js @@ -0,0 +1,26 @@ +import { ADD_CHANNEL_FORM_SELECTORS } from "../elements/channels/add-channel-form-selectors"; +import { CHANNELS_SELECTORS } from "../elements/channels/channels-selectors"; + +class ChannelsSteps { + createChannelByView(name, currency, otherCurrency, slug = name) { + cy.get(CHANNELS_SELECTORS.createChannelButton) + .click() + .get(ADD_CHANNEL_FORM_SELECTORS.channelName) + .type(name) + .get(ADD_CHANNEL_FORM_SELECTORS.slug) + .type(slug) + .get(ADD_CHANNEL_FORM_SELECTORS.currency) + .click(); + if (!otherCurrency) { + cy.get(ADD_CHANNEL_FORM_SELECTORS.currency).type(currency); + cy.get(`[data-test-value=${currency}]`).click(); + } else { + cy.get(ADD_CHANNEL_FORM_SELECTORS.currency) + .type(otherCurrency) + .get(ADD_CHANNEL_FORM_SELECTORS.currencyAutocompleteDropdown) + .click(); + } + cy.get(ADD_CHANNEL_FORM_SELECTORS.saveButton).click(); + } +} +export default ChannelsSteps; diff --git a/cypress/support/index.js b/cypress/support/index.js index 3cfc0f3cf..7a3af9737 100644 --- a/cypress/support/index.js +++ b/cypress/support/index.js @@ -1,35 +1,55 @@ import "./user"; import "./softAsserations"; +import { urlList } from "../url/urlList"; + Cypress.Commands.add("clearSessionData", () => { // Because of known cypress bug, not all local storage data are cleared. // Here is workaround to ensure tests have no side effects. // Suggested usage: - // beforeEach(() => { // cy.clearSessionData(); // }); cy.clearCookies(); cy.clearLocalStorage(); - cy.visit("/", { + cy.visit(urlList.homePage, { onBeforeLoad: win => { win.sessionStorage.clear(); } }); }); +Cypress.Commands.add("waitForGraph", operationName => { + cy.intercept("POST", urlList.apiUri, req => { + req.statusCode = 200; + const requestBody = req.body; + if (Array.isArray(requestBody)) { + requestBody.forEach(element => { + if (element.operationName === operationName) { + req.alias = operationName; + } + }); + } else { + if (requestBody.operationName === operationName) { + req.alias = operationName; + } + } + }); + cy.wait(`@${operationName}`); +}); + Cypress.Commands.add("sendRequestWithQuery", query => cy.request({ - method: "POST", body: { method: "POST", - url: Cypress.env("API_URI"), - query + query, + url: urlList.apiUri }, headers: { Authorization: `JWT ${window.sessionStorage.getItem("auth")}` }, - url: Cypress.env("API_URI") + method: "POST", + url: urlList.apiUri }) ); diff --git a/cypress/support/user/index.js b/cypress/support/user/index.js index 9edf99e27..3b43e3dfe 100644 --- a/cypress/support/user/index.js +++ b/cypress/support/user/index.js @@ -1,5 +1,5 @@ -/* eslint-disable sort-keys */ import { LOGIN_SELECTORS } from "../../elements/account/login-selectors"; +import { urlList } from "../../url/urlList"; Cypress.Commands.add("loginUser", () => cy @@ -31,16 +31,16 @@ Cypress.Commands.add("loginUserViaRequest", () => { return cy .request({ - method: "POST", - url: Cypress.env("API_URI"), body: { operationName: "TokenAuth", + query: logInMutationQuery, variables: { email: Cypress.env("USER_NAME"), password: Cypress.env("USER_PASSWORD") - }, - query: logInMutationQuery - } + } + }, + method: "POST", + url: urlList.apiUri }) .then(resp => { window.sessionStorage.setItem("auth", resp.body.data.tokenCreate.token); diff --git a/cypress/url/urlList.js b/cypress/url/urlList.js new file mode 100644 index 000000000..2ceb592c5 --- /dev/null +++ b/cypress/url/urlList.js @@ -0,0 +1,9 @@ +export const urlList = { + apiUri: Cypress.env("API_URI"), + channels: "channels/", + configuration: "configuration/", + homePage: "/", + orders: "orders/", + products: "products/", + warehouses: "warehouses/" +}; diff --git a/lws.config.js b/lws.config.js new file mode 100644 index 000000000..2c01a75be --- /dev/null +++ b/lws.config.js @@ -0,0 +1,4 @@ +module.exports = { + directory: "build/dashboard/", + port: 9000 +}; diff --git a/package-lock.json b/package-lock.json index c885d67eb..f457c95da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,14 @@ { "name": "saleor-dashboard", - "version": "3.0.0-a.0", + "version": "3.0.0-a.5", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "3.0.0-a.0", + "version": "3.0.0-a.5", "license": "BSD-3-Clause", "dependencies": { - "@editorjs/editorjs": "^2.19.0", + "@editorjs/editorjs": "^2.19.1", "@editorjs/header": "^2.6.1", "@editorjs/image": "^2.6.0", "@editorjs/list": "^1.6.1", @@ -18,6 +18,7 @@ "@material-ui/styles": "^4.5.2", "@saleor/macaw-ui": "^0.1.1-9", "@types/faker": "^5.1.6", + "@sentry/react": "^6.0.0", "apollo": "^2.21.2", "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.6.8", @@ -33,6 +34,7 @@ "downshift": "^1.31.16", "editorjs-inline-tool": "^0.4.0", "editorjs-undo": "^0.1.4", + "faker": "^5.1.0", "fast-array-diff": "^0.2.0", "fsevents": "^1.2.9", "fuzzaldrin": "^2.1.0", @@ -85,6 +87,7 @@ "@pollyjs/adapter-node-http": "^5.0.0", "@pollyjs/core": "^5.0.0", "@pollyjs/persister-fs": "^5.0.0", + "@sentry/webpack-plugin": "^1.14.0", "@storybook/addon-storyshots": "^5.2.8", "@storybook/react": "^5.1.9", "@testing-library/react-hooks": "^1.1.0", @@ -121,7 +124,7 @@ "codecov": "^3.7.1", "core-js": "^3.7.0", "cross-env": "^6.0.3", - "cypress": "^4.9.0", + "cypress": "^6.4.0", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.5", "enzyme-to-json": "^3.6.1", @@ -2321,9 +2324,15 @@ } }, "node_modules/@editorjs/editorjs": { +<<<<<<< HEAD "version": "2.19.0", "resolved": "https://registry.npmjs.org/@editorjs/editorjs/-/editorjs-2.19.0.tgz", "integrity": "sha512-8PUVaBZx69IrG8dNrE+FZbHSiRTR8ql8L/cmEi1mOdEdTqnOLq5Wv9dgemK00mBWEgNoavMAjtGQpItGknAa8A==", +======= + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/@editorjs/editorjs/-/editorjs-2.19.1.tgz", + "integrity": "sha512-5lN7r5B2NCE8VJdsS3poX3Qg9rNwzpxZ+6Jjif3hAVZTYpQwg5wXEpAHFNbuavS0T5Ji+0ID31DQFotVI4PosA==", +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "dependencies": { "codex-notifier": "^1.1.2", "codex-tooltip": "^1.0.1" @@ -3456,6 +3465,149 @@ "node": ">=6" } }, +<<<<<<< HEAD +======= + "node_modules/@sentry/browser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.1.0.tgz", + "integrity": "sha512-t3y2TLXDWgvfknyH8eKj/9mghJfSEqItFyp74zPu1Src6kOPjkd4Sa7o4+bdkNgA8dIIOrDAhRUbB2sq4sWMCA==", + "dependencies": { + "@sentry/core": "6.1.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/cli": { + "version": "1.62.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.62.0.tgz", + "integrity": "sha512-MCkx+zjetdIWhAVaFuEuoD4MOAFlb3/GLR5B5uFZ1AcegcsggasLo/3rb2gq6jYIic/pubtRjH4ltmOL/s3cag==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "https-proxy-agent": "^5.0.0", + "mkdirp": "^0.5.5", + "node-fetch": "^2.6.0", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0" + }, + "bin": { + "sentry-cli": "bin/sentry-cli" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sentry/cli/node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@sentry/core": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.1.0.tgz", + "integrity": "sha512-57mXkp3NoyxRycXrL+Ec6bYS6UYJZp9tYX0lUp5Ry2M0FxDZ3Q4drkjr8MIQOhBaQXP2ukSX4QTVLGMPm60zMw==", + "dependencies": { + "@sentry/hub": "6.1.0", + "@sentry/minimal": "6.1.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.1.0.tgz", + "integrity": "sha512-JnBSCgNg3VHiMojUl5tCHU8iWPVuE+qqENIzG9A722oJms1kKWBvWl+yQzhWBNdgk5qeAY3F5UzKWJZkbJ6xow==", + "dependencies": { + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.1.0.tgz", + "integrity": "sha512-g6sfNKenL7wnsr/tibp8nFiMv/XRH0s0Pt4p151npmNI+SmjuUz3GGYEXk8ChCyaKldYKilkNOFdVXJxUf5gZw==", + "dependencies": { + "@sentry/hub": "6.1.0", + "@sentry/types": "6.1.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/react": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.1.0.tgz", + "integrity": "sha512-X1Jp1ueHsmHQXBcNWshA43MTdn0B3B06A36yv6mzAznmanpf+7+f7SHrnRFIwuBpTdPsHzolTmSE9VlkZPBgBg==", + "dependencies": { + "@sentry/browser": "6.1.0", + "@sentry/minimal": "6.1.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", + "hoist-non-react-statics": "^3.3.2", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "react": "15.x || 16.x || 17.x", + "react-dom": "15.x || 16.x || 17.x" + } + }, + "node_modules/@sentry/types": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.1.0.tgz", + "integrity": "sha512-kIaN52Fw5K+2mKRaHE2YluJ+F/qMGSUzZXIFDNdC6OUMXQ4TM8gZTrITXs8CLDm7cK8iCqFCtzKOjKK6KyOKAg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.1.0.tgz", + "integrity": "sha512-6JAplzUOS6bEwfX0PDRZBbYRvn9EN22kZfcL0qGHtM9L0QQ5ybjbbVwOpbXgRkiZx++dQbzLFtelxnDhsbFG+Q==", + "dependencies": { + "@sentry/types": "6.1.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/webpack-plugin": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.14.0.tgz", + "integrity": "sha512-1cS99mnHqASYtMlHi2J107p6x3lfC5NmLOgA0iI6avaaFes8RTQMlW8YT2CyrvhtQod1bViPZOlh3NOVC8vnOA==", + "dev": true, + "dependencies": { + "@sentry/cli": "^1.58.0" + }, + "engines": { + "node": ">= 8" + } + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/@sindresorhus/fnv1a": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@sindresorhus/fnv1a/-/fnv1a-1.2.0.tgz", @@ -4385,11 +4537,14 @@ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", "dev": true }, +<<<<<<< HEAD "node_modules/@types/faker": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/@types/faker/-/faker-5.1.6.tgz", "integrity": "sha512-D+gfFWR/YCvlrYL8lgNZO1jKgIUW+cfhxsgMOqUMYwCI+tl0htD7vCCXp/oJsIxJpxuI7zqmo3gpVQBkFCM4iA==" }, +======= +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/@types/fuzzaldrin": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@types/fuzzaldrin/-/fuzzaldrin-2.1.2.tgz", @@ -6633,6 +6788,18 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, +<<<<<<< HEAD +======= + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -8119,6 +8286,15 @@ "file-uri-to-path": "1.0.0" } }, +<<<<<<< HEAD +======= + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/bluebird": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", @@ -9170,9 +9346,15 @@ "integrity": "sha512-DCp6xe/LGueJ1N5sXEwcBc3r3PyVkEEDNWCVigfvywAkeXcZMk9K41a31tkEFBW0Ptlwji6/JlAb49E3Yrxbtg==" }, "node_modules/codex-tooltip": { +<<<<<<< HEAD "version": "1.0.1", "resolved": "https://registry.npmjs.org/codex-tooltip/-/codex-tooltip-1.0.1.tgz", "integrity": "sha512-1xLb1NZbxguNtf02xBRhDphq/EXvMMeEbY0ievjQTHqf8UjXsD41evGk9rqcbjpl+JOjNgtwnp1OaU/X/h6fhQ==" +======= + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/codex-tooltip/-/codex-tooltip-1.0.2.tgz", + "integrity": "sha512-oC+Bu5X/zyhbPydgMSLWKoM/+vkJMqaLWu3Dt/jZgXS3MWK23INwC5DMBrVXZSufAFk0i0SUni38k9rLMyZn/w==" +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad }, "node_modules/collapse-white-space": { "version": "1.0.6", @@ -9923,6 +10105,7 @@ "dev": true }, "node_modules/cypress": { +<<<<<<< HEAD "version": "4.9.0", "resolved": "https://registry.npmjs.org/cypress/-/cypress-4.9.0.tgz", "integrity": "sha512-qGxT5E0j21FPryzhb0OBjCdhoR/n1jXtumpFFSBPYWsaZZhNaBvc3XlBUDEZKkkXPsqUFYiyhWdHN/zo0t5FcA==", @@ -9966,12 +10149,87 @@ "untildify": "4.0.0", "url": "0.11.0", "yauzl": "2.10.0" +======= + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-6.4.0.tgz", + "integrity": "sha512-SrsPsZ4IBterudkoFYBvkQmXOVxclh1/+ytbzpV8AH/D2FA+s2Qy5ISsaRzOFsbQa4KZWoi3AKwREmF1HucYkg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/listr-verbose-renderer": "^0.4.1", + "@cypress/request": "^2.88.5", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "^6.0.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.1.2", + "blob-util": "2.0.2", + "bluebird": "^3.7.2", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-table3": "~0.6.0", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.9.3", + "debug": "^4.1.1", + "eventemitter2": "^6.4.2", + "execa": "^4.0.2", + "executable": "^4.1.1", + "extract-zip": "^1.7.0", + "fs-extra": "^9.0.1", + "getos": "^3.2.1", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.2", + "lazy-ass": "^1.6.0", + "listr": "^0.14.3", + "lodash": "^4.17.19", + "log-symbols": "^4.0.0", + "minimist": "^1.2.5", + "moment": "^2.29.1", + "ospath": "^1.2.2", + "pretty-bytes": "^5.4.1", + "ramda": "~0.26.1", + "request-progress": "^3.0.0", + "supports-color": "^7.2.0", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "url": "^0.11.0", + "yauzl": "^2.10.0" +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad }, "bin": { "cypress": "bin/cypress" }, "engines": { +<<<<<<< HEAD "node": ">=8.0.0" +======= + "node": ">=10.0.0" + } + }, + "node_modules/cypress/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad } }, "node_modules/cypress/node_modules/bluebird": { @@ -9980,15 +10238,74 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, +<<<<<<< HEAD "node_modules/cypress/node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", +======= + "node_modules/cypress/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cypress/node_modules/cli-table3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", + "dev": true, + "dependencies": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/cypress/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cypress/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cypress/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "dev": true, "engines": { "node": ">= 6" } }, +<<<<<<< HEAD "node_modules/cypress/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -10001,6 +10318,79 @@ }, "engines": { "node": ">=6 <7 || >=8" +======= + "node_modules/cypress/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cypress/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/cypress/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cypress/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad } }, "node_modules/cypress/node_modules/has-flag": { @@ -10012,6 +10402,7 @@ "node": ">=8" } }, +<<<<<<< HEAD "node_modules/cypress/node_modules/lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", @@ -10034,17 +10425,106 @@ "version": "2.26.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==", +======= + "node_modules/cypress/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/cypress/node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cypress/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cypress/node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "dev": true, "engines": { "node": "*" } }, +<<<<<<< HEAD +======= + "node_modules/cypress/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cypress/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/cypress/node_modules/ramda": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", "dev": true }, +<<<<<<< HEAD "node_modules/cypress/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -10061,6 +10541,59 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", +======= + "node_modules/cypress/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "dev": true, "dependencies": { "has-flag": "^4.0.0" @@ -10070,6 +10603,7 @@ } }, "node_modules/cypress/node_modules/tmp": { +<<<<<<< HEAD "version": "0.1.0", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", @@ -10079,6 +10613,41 @@ }, "engines": { "node": ">=6" +======= + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/cypress/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/cypress/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad } }, "node_modules/dashdash": { @@ -10120,6 +10689,15 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" }, +<<<<<<< HEAD +======= + "node_modules/dayjs": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz", + "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==", + "dev": true + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -13079,6 +13657,14 @@ "node >=0.6.0" ] }, +<<<<<<< HEAD +======= + "node_modules/faker": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/faker/-/faker-5.2.0.tgz", + "integrity": "sha512-UlrF1NNRIdzEPtBcy5l8JTlnXQZdz+4pQc3v2TAVocW39nnczCNQ0g0CBKgPGISJPzA2DqJVN1kdr+FCRFdN5g==" + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/fast-array-diff": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/fast-array-diff/-/fast-array-diff-0.2.0.tgz", @@ -15384,9 +15970,15 @@ } }, "node_modules/hoist-non-react-statics": { +<<<<<<< HEAD "version": "3.3.0", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", +======= + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "dependencies": { "react-is": "^16.7.0" } @@ -21607,12 +22199,24 @@ } }, "node_modules/pretty-bytes": { +<<<<<<< HEAD "version": "5.3.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", "dev": true, "engines": { "node": ">=6" +======= + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz", + "integrity": "sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad } }, "node_modules/pretty-error": { @@ -21812,6 +22416,15 @@ "node": ">= 0.10" } }, +<<<<<<< HEAD +======= + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -22483,6 +23096,7 @@ "mkdirp": "^0.5.1" } }, +<<<<<<< HEAD "node_modules/react-intl/node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -22491,6 +23105,8 @@ "react-is": "^16.7.0" } }, +======= +>>>>>>> 7bb3efa65dfa659880f2c8bebd7a3c2a3cf68fad "node_modules/react-intl/node_modules/shallow-equal": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", @@ -31111,20 +31727,20 @@ } }, "@sentry/browser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.0.0.tgz", - "integrity": "sha512-R4+MHb5FyVZCz3EVnaquvT1mwOM2MWP4gBqjYEADY5m0XWoHiJf0skFkWt8iEKJanzGbhl4PMb9gHuJj6YfVLw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.1.0.tgz", + "integrity": "sha512-t3y2TLXDWgvfknyH8eKj/9mghJfSEqItFyp74zPu1Src6kOPjkd4Sa7o4+bdkNgA8dIIOrDAhRUbB2sq4sWMCA==", "requires": { - "@sentry/core": "6.0.0", - "@sentry/types": "6.0.0", - "@sentry/utils": "6.0.0", + "@sentry/core": "6.1.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", "tslib": "^1.9.3" } }, "@sentry/cli": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.61.0.tgz", - "integrity": "sha512-pHEhqP1bB4sdO7N5ow/IkRBrPbKT9HZRinq4PhTVIvmG+NW4VVuVZ6k4tlbp+JXmzMcUc/iXynVkTL7zJIlTQw==", + "version": "1.62.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.62.0.tgz", + "integrity": "sha512-MCkx+zjetdIWhAVaFuEuoD4MOAFlb3/GLR5B5uFZ1AcegcsggasLo/3rb2gq6jYIic/pubtRjH4ltmOL/s3cag==", "dev": true, "requires": { "https-proxy-agent": "^5.0.0", @@ -31147,71 +31763,61 @@ } }, "@sentry/core": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.0.0.tgz", - "integrity": "sha512-afAiOachs/WfGWc9LsJBFnJMhqQVENyzfSMnf7sLRvxPAw8n7IrXY0R09MKmG0SlAnTKN2pWoQFzFF+J3NuHBA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.1.0.tgz", + "integrity": "sha512-57mXkp3NoyxRycXrL+Ec6bYS6UYJZp9tYX0lUp5Ry2M0FxDZ3Q4drkjr8MIQOhBaQXP2ukSX4QTVLGMPm60zMw==", "requires": { - "@sentry/hub": "6.0.0", - "@sentry/minimal": "6.0.0", - "@sentry/types": "6.0.0", - "@sentry/utils": "6.0.0", + "@sentry/hub": "6.1.0", + "@sentry/minimal": "6.1.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", "tslib": "^1.9.3" } }, "@sentry/hub": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.0.0.tgz", - "integrity": "sha512-s8IsW6LvEH7ACnniQcxxb/9uEyjmoQ/TAoryTJN2qyPzzrHTw8NCyMuJvK+8ivUvRViz5AvtuOFf8AJlh9lzeA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.1.0.tgz", + "integrity": "sha512-JnBSCgNg3VHiMojUl5tCHU8iWPVuE+qqENIzG9A722oJms1kKWBvWl+yQzhWBNdgk5qeAY3F5UzKWJZkbJ6xow==", "requires": { - "@sentry/types": "6.0.0", - "@sentry/utils": "6.0.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", "tslib": "^1.9.3" } }, "@sentry/minimal": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.0.0.tgz", - "integrity": "sha512-daYdEzTr+ERMwViu6RpWHOfk0oZrSNqdx+7bejTqmFHqO4pt+9ZrMiw3vinL+MWQcKXwD95uXBz6O/ryrVdPtg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.1.0.tgz", + "integrity": "sha512-g6sfNKenL7wnsr/tibp8nFiMv/XRH0s0Pt4p151npmNI+SmjuUz3GGYEXk8ChCyaKldYKilkNOFdVXJxUf5gZw==", "requires": { - "@sentry/hub": "6.0.0", - "@sentry/types": "6.0.0", + "@sentry/hub": "6.1.0", + "@sentry/types": "6.1.0", "tslib": "^1.9.3" } }, "@sentry/react": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.0.0.tgz", - "integrity": "sha512-GYX110NSodd8wGUbnyxemndTijM+U7dI/WjFSPOyJdLB2hzzPjJ9kUqtuobT/JlGzbWE2278WysAuySne6bUGw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.1.0.tgz", + "integrity": "sha512-X1Jp1ueHsmHQXBcNWshA43MTdn0B3B06A36yv6mzAznmanpf+7+f7SHrnRFIwuBpTdPsHzolTmSE9VlkZPBgBg==", "requires": { - "@sentry/browser": "6.0.0", - "@sentry/minimal": "6.0.0", - "@sentry/types": "6.0.0", - "@sentry/utils": "6.0.0", + "@sentry/browser": "6.1.0", + "@sentry/minimal": "6.1.0", + "@sentry/types": "6.1.0", + "@sentry/utils": "6.1.0", "hoist-non-react-statics": "^3.3.2", "tslib": "^1.9.3" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - } } }, "@sentry/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.0.0.tgz", - "integrity": "sha512-yueRSRGPCahuju/UMdtOt8LIIncbpwLINQd9Q8E4OXtoPpMHR6Oun8sMKCPd+Wq3piI5yRDzKkGCl+sH7mHVrA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.1.0.tgz", + "integrity": "sha512-kIaN52Fw5K+2mKRaHE2YluJ+F/qMGSUzZXIFDNdC6OUMXQ4TM8gZTrITXs8CLDm7cK8iCqFCtzKOjKK6KyOKAg==" }, "@sentry/utils": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.0.0.tgz", - "integrity": "sha512-dMMWOT69bQ4CF1R33dOnXIOyiHRWsUAON3nFVljV1JNNTDA69YwaF9f5FIT0DKpO4qhgTlElsm8WgHI9prAVEQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.1.0.tgz", + "integrity": "sha512-6JAplzUOS6bEwfX0PDRZBbYRvn9EN22kZfcL0qGHtM9L0QQ5ybjbbVwOpbXgRkiZx++dQbzLFtelxnDhsbFG+Q==", "requires": { - "@sentry/types": "6.0.0", + "@sentry/types": "6.1.0", "tslib": "^1.9.3" } }, @@ -34097,6 +34703,12 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -35437,6 +36049,12 @@ "file-uri-to-path": "1.0.0" } }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, "bluebird": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", @@ -37013,71 +37631,168 @@ "dev": true }, "cypress": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-4.9.0.tgz", - "integrity": "sha512-qGxT5E0j21FPryzhb0OBjCdhoR/n1jXtumpFFSBPYWsaZZhNaBvc3XlBUDEZKkkXPsqUFYiyhWdHN/zo0t5FcA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-6.4.0.tgz", + "integrity": "sha512-SrsPsZ4IBterudkoFYBvkQmXOVxclh1/+ytbzpV8AH/D2FA+s2Qy5ISsaRzOFsbQa4KZWoi3AKwREmF1HucYkg==", "dev": true, "requires": { - "@cypress/listr-verbose-renderer": "0.4.1", - "@cypress/request": "2.88.5", - "@cypress/xvfb": "1.2.4", - "@types/sinonjs__fake-timers": "6.0.1", - "@types/sizzle": "2.3.2", - "arch": "2.1.2", - "bluebird": "3.7.2", - "cachedir": "2.3.0", - "chalk": "2.4.2", - "check-more-types": "2.24.0", - "cli-table3": "0.5.1", - "commander": "4.1.1", - "common-tags": "1.8.0", - "debug": "4.1.1", - "eventemitter2": "6.4.2", - "execa": "1.0.0", - "executable": "4.1.1", - "extract-zip": "1.7.0", - "fs-extra": "8.1.0", - "getos": "3.2.1", - "is-ci": "2.0.0", - "is-installed-globally": "0.3.2", - "lazy-ass": "1.6.0", - "listr": "0.14.3", - "lodash": "4.17.15", - "log-symbols": "3.0.0", - "minimist": "1.2.5", - "moment": "2.26.0", - "ospath": "1.2.2", - "pretty-bytes": "5.3.0", - "ramda": "0.26.1", - "request-progress": "3.0.0", - "supports-color": "7.1.0", - "tmp": "0.1.0", - "untildify": "4.0.0", - "url": "0.11.0", - "yauzl": "2.10.0" + "@cypress/listr-verbose-renderer": "^0.4.1", + "@cypress/request": "^2.88.5", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "^6.0.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.1.2", + "blob-util": "2.0.2", + "bluebird": "^3.7.2", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-table3": "~0.6.0", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.9.3", + "debug": "^4.1.1", + "eventemitter2": "^6.4.2", + "execa": "^4.0.2", + "executable": "^4.1.1", + "extract-zip": "^1.7.0", + "fs-extra": "^9.0.1", + "getos": "^3.2.1", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.2", + "lazy-ass": "^1.6.0", + "listr": "^0.14.3", + "lodash": "^4.17.19", + "log-symbols": "^4.0.0", + "minimist": "^1.2.5", + "moment": "^2.29.1", + "ospath": "^1.2.2", + "pretty-bytes": "^5.4.1", + "ramda": "~0.26.1", + "request-progress": "^3.0.0", + "supports-color": "^7.2.0", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "url": "^0.11.0", + "yauzl": "^2.10.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-table3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" } }, "has-flag": { @@ -37086,25 +37801,65 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "chalk": "^2.4.2" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, "moment": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", - "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "ramda": { @@ -37113,31 +37868,72 @@ "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", "dev": true }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "glob": "^7.1.3" + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" } }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } }, "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "requires": { - "rimraf": "^2.6.3" + "rimraf": "^3.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" } } } @@ -37180,6 +37976,12 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" }, + "dayjs": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz", + "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==", + "dev": true + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -39654,6 +40456,11 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, + "faker": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/faker/-/faker-5.2.0.tgz", + "integrity": "sha512-UlrF1NNRIdzEPtBcy5l8JTlnXQZdz+4pQc3v2TAVocW39nnczCNQ0g0CBKgPGISJPzA2DqJVN1kdr+FCRFdN5g==" + }, "fast-array-diff": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/fast-array-diff/-/fast-array-diff-0.2.0.tgz", @@ -41508,9 +42315,9 @@ } }, "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "requires": { "react-is": "^16.7.0" } @@ -46660,9 +47467,9 @@ "dev": true }, "pretty-bytes": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", - "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz", + "integrity": "sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==", "dev": true }, "pretty-error": { @@ -47412,14 +48219,6 @@ "tslib": "^2.0.1" }, "dependencies": { - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, "shallow-equal": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", diff --git a/package.json b/package.json index d902a4611..bd58a5648 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saleor-dashboard", - "version": "3.0.0-a.0", + "version": "3.0.0-a.5", "main": "src/index.tsx", "repository": { "type": "git", @@ -43,6 +43,7 @@ "downshift": "^1.31.16", "editorjs-inline-tool": "^0.4.0", "editorjs-undo": "^0.1.4", + "faker": "^5.1.0", "fast-array-diff": "^0.2.0", "fsevents": "^1.2.9", "fuzzaldrin": "^2.1.0", @@ -132,7 +133,7 @@ "codecov": "^3.7.1", "core-js": "^3.7.0", "cross-env": "^6.0.3", - "cypress": "^4.9.0", + "cypress": "^6.4.0", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.5", "enzyme-to-json": "^3.6.1",