diff --git a/.eslintignore b/.eslintignore index 51d0fb62e7..bca24df585 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,9 +3,9 @@ scripts/htm.js scripts/acdl tools/picker tools/pdp-metadata -scripts/dropins scripts/__dropins__ scripts/commerce-events-collector.js scripts/commerce-events-sdk.js scripts/widgets plugins/ +cypress/ \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 34c6b71107..d8d2e468ad 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,5 +14,13 @@ module.exports = { 'import/extensions': ['error', { js: 'always' }], // require js file extensions in imports 'linebreak-style': ['error', 'unix'], // enforce unix linebreaks 'no-param-reassign': [2, { props: false }], // allow modifying properties of param + 'no-use-before-define': [2, { functions: false }], + 'no-console': [ + 'error', + { + allow: ['warn', 'error', 'info', 'debug'], + }, + ], + 'no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], }, }; diff --git a/.github/workflows/run-e2e-tests.yaml b/.github/workflows/run-e2e-tests.yaml new file mode 100644 index 0000000000..5d7ad5e26b --- /dev/null +++ b/.github/workflows/run-e2e-tests.yaml @@ -0,0 +1,25 @@ +name: Cypress E2E Tests +on: push +jobs: + cypress-run: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install root dependencies + run: npm ci + - name: Start server in the background + run: npm start & + + - name: Install Cypress and run tests + uses: cypress-io/github-action@v6 + with: + working-directory: cypress + browser: chrome + wait-on: 'http://localhost:3000' + config: baseUrl=http://localhost:3000 + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: cypress-screenshots + path: cypress/screenshots + if-no-files-found: ignore \ No newline at end of file diff --git a/.gitignore b/.gitignore index a840bb9670..080e4ef3bb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,4 @@ helix-importer-ui *.bak .idea # Ignore .map files in scripts/__dropins__/ directory and all its subdirectories -scripts/__dropins__/**/*.map \ No newline at end of file +scripts/__dropins__/**/*.map diff --git a/.hlxignore b/.hlxignore index a630daae5a..b9f27314f7 100644 --- a/.hlxignore +++ b/.hlxignore @@ -1,10 +1,13 @@ .* *.md +*.d.ts karma.config.js LICENSE package.json package-lock.json test/* postinstall.js +build.mjs tools/picker/src/* +cypress/ tools/pdp-metadata/* diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000000..1a1231825f --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +; force @adobe namespaced packages to be installed from npmjs.org +@adobe:registry=https://registry.npmjs.org diff --git a/404.html b/404.html index 0061e2de42..94288e04da 100644 --- a/404.html +++ b/404.html @@ -7,7 +7,8 @@ { "imports": { "@dropins/tools/": "/scripts/__dropins__/tools/", - "@dropins/storefront-pdp/": "/scripts/__dropins__/storefront-pdp/" + "@dropins/storefront-cart/": "/scripts/__dropins__/storefront-cart/", + "@dropins/storefront-auth/": "/scripts/__dropins__/storefront-auth/" } } @@ -41,9 +42,13 @@