Merge pull request #386 from Jyyjy/rollup

Bump rollup to 3.27.2 with old loading behavoir
diff --git a/README.md b/README.md
index 214812c..dd4b81e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # Apache Flagon UserALE.js
 
 ![Node.js CI](https://github.com/apache/flagon-useralejs/workflows/Node.js%20CI/badge.svg)
-![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/flagon-userale)
+[![Known Vulnerabilities](https://snyk.io/test/npm/flagon-userale/badge.svg)](https://snyk.io/test/npm/flagon-userale)
 ![Maintenance](https://img.shields.io/maintenance/yes/2023)
 ![npm](https://img.shields.io/npm/v/flagon-userale)
 [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
diff --git a/cypress.config.js b/cypress.config.js
new file mode 100644
index 0000000..f269aed
--- /dev/null
+++ b/cypress.config.js
@@ -0,0 +1,9 @@
+const { defineConfig } = require('cypress')
+
+module.exports = defineConfig({
+  video: false,
+  e2e: {
+    specPattern: 'journey/**/*.cy.{js,jsx,ts,tsx}',
+    supportFile: false
+  },
+})
\ No newline at end of file
diff --git a/cypress.json b/cypress.json
deleted file mode 100644
index d040953..0000000
--- a/cypress.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "integrationFolder": "journey",
-  "video": false
-}
diff --git a/journey/userale.journey.js b/journey/userale.journey.cy.js
similarity index 100%
rename from journey/userale.journey.js
rename to journey/userale.journey.cy.js
diff --git a/package-lock.json b/package-lock.json
index 185352d..cf6ccf7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
         "@rollup/plugin-terser": "^0.4.0",
         "body-parser": "^1.20.1",
         "chai": "^4.3.7",
-        "cypress": "^9.7.0",
+        "cypress": "^12.17.3",
         "detect-browser": "^5.3.0",
         "dom-storage": "^2.1.0",
         "eslint": "^8.46.0",
@@ -2310,9 +2310,9 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "14.18.36",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
-      "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==",
+      "version": "16.18.40",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz",
+      "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==",
       "dev": true
     },
     "node_modules/@types/resolve": {
@@ -3197,9 +3197,9 @@
       }
     },
     "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==",
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+      "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
       "dev": true,
       "engines": {
         "node": ">= 6"
@@ -3320,15 +3320,15 @@
       }
     },
     "node_modules/cypress": {
-      "version": "9.7.0",
-      "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz",
-      "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==",
+      "version": "12.17.3",
+      "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.17.3.tgz",
+      "integrity": "sha512-/R4+xdIDjUSLYkiQfwJd630S81KIgicmQOLXotFxVXkl+eTeVO+3bHXxdi5KBh/OgC33HWN33kHX+0tQR/ZWpg==",
       "dev": true,
       "hasInstallScript": true,
       "dependencies": {
-        "@cypress/request": "^2.88.10",
+        "@cypress/request": "^2.88.11",
         "@cypress/xvfb": "^1.2.4",
-        "@types/node": "^14.14.31",
+        "@types/node": "^16.18.39",
         "@types/sinonjs__fake-timers": "8.1.1",
         "@types/sizzle": "^2.3.2",
         "arch": "^2.2.0",
@@ -3340,12 +3340,12 @@
         "check-more-types": "^2.24.0",
         "cli-cursor": "^3.1.0",
         "cli-table3": "~0.6.1",
-        "commander": "^5.1.0",
+        "commander": "^6.2.1",
         "common-tags": "^1.8.0",
         "dayjs": "^1.10.4",
-        "debug": "^4.3.2",
+        "debug": "^4.3.4",
         "enquirer": "^2.3.6",
-        "eventemitter2": "^6.4.3",
+        "eventemitter2": "6.4.7",
         "execa": "4.1.0",
         "executable": "^4.1.1",
         "extract-zip": "2.0.1",
@@ -3358,12 +3358,12 @@
         "listr2": "^3.8.3",
         "lodash": "^4.17.21",
         "log-symbols": "^4.0.0",
-        "minimist": "^1.2.6",
+        "minimist": "^1.2.8",
         "ospath": "^1.2.2",
         "pretty-bytes": "^5.6.0",
         "proxy-from-env": "1.0.0",
         "request-progress": "^3.0.0",
-        "semver": "^7.3.2",
+        "semver": "^7.5.3",
         "supports-color": "^8.1.1",
         "tmp": "~0.2.1",
         "untildify": "^4.0.0",
@@ -3373,7 +3373,7 @@
         "cypress": "bin/cypress"
       },
       "engines": {
-        "node": ">=12.0.0"
+        "node": "^14.0.0 || ^16.0.0 || >=18.0.0"
       }
     },
     "node_modules/cypress/node_modules/ansi-styles": {
@@ -4143,9 +4143,9 @@
       }
     },
     "node_modules/eventemitter2": {
-      "version": "6.4.9",
-      "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
-      "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
+      "version": "6.4.7",
+      "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
+      "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
       "dev": true
     },
     "node_modules/execa": {
@@ -5861,9 +5861,9 @@
       }
     },
     "node_modules/minimist": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
-      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
       "dev": true,
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
diff --git a/package.json b/package.json
index 1244142..8adad0f 100644
--- a/package.json
+++ b/package.json
@@ -61,7 +61,7 @@
     "@rollup/plugin-terser": "^0.4.0",
     "body-parser": "^1.20.1",
     "chai": "^4.3.7",
-    "cypress": "^9.7.0",
+    "cypress": "^12.17.3",
     "detect-browser": "^5.3.0",
     "dom-storage": "^2.1.0",
     "eslint": "^8.46.0",
diff --git a/test/packageLogs_spec.js b/test/packageLogs_spec.js
index 32c443d..26680fe 100644
--- a/test/packageLogs_spec.js
+++ b/test/packageLogs_spec.js
@@ -261,16 +261,19 @@
             new JSDOM(``);
             const document = window.document;
             const ele = document.createElement('div');
+            // Create a click in the top left corner of the viewport
             const evt = new window.MouseEvent('click', {
                 'view': window,
                 'bubbles': true,
-                'cancelable': true
+                'cancelable': true,
+                'clientX': 0,
+                'clientY': 0,
             });
             document.body.appendChild(ele);
             ele.addEventListener('click', (e) => {
-                e.pageX = 0;
-                e.pageY = 0;
-                expect(getLocation(e)).to.deep.equal({x: 0, y: 0});
+                // Expect the click location to be the top left corner of the viewport
+                let expectedLocation = {'x': window.scrollX, 'y': window.scrollY};
+                expect(getLocation(e)).to.deep.equal(expectedLocation);
             });
             ele.dispatchEvent(evt);
         });
diff --git a/test/sendLogs_spec.js b/test/sendLogs_spec.js
index cb64bcf..35686e6 100644
--- a/test/sendLogs_spec.js
+++ b/test/sendLogs_spec.js
@@ -97,7 +97,7 @@
         };
         sendOnClose([], {on: true, url: 'test'})
         sendOnClose([{foo: 'bar'}], {on: true, url: 'test'});
-        global.window.dispatchEvent(new CustomEvent('pagehide'))
+        global.window.dispatchEvent(new window.CustomEvent('pagehide'))
         sinon.assert.calledOnce(sendBeaconSpy)
     });
 
@@ -107,7 +107,7 @@
             sendBeacon: sendBeaconSpy
         };
         sendOnClose([{foo: 'bar'}], {on: false, url: 'test'});
-        global.window.dispatchEvent(new CustomEvent('pagehide'))
+        global.window.dispatchEvent(new window.CustomEvent('pagehide'))
         sinon.assert.notCalled(sendBeaconSpy)
     });
 });