diff --git a/.github/workflows/prbot.yml b/.github/workflows/prbot.yml index 08d32a043b9..2736a5771be 100644 --- a/.github/workflows/prbot.yml +++ b/.github/workflows/prbot.yml @@ -91,7 +91,6 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - uses: ./.github/actions/setup - run: npm run build - - run: cat packages/atomic/dist/atomic/atomic.esm.js - uses: ./.github/actions/playwright-atomic with: shardIndex: ${{ matrix.shardIndex }} @@ -107,7 +106,6 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - uses: ./.github/actions/setup - run: npm run build - - run: cat packages/atomic/dist/atomic/atomic.esm.js - uses: ./.github/actions/merge-playwright-reports - name: Generate a token if: ${{ always() && github.event_name == 'pull_request'}} diff --git a/.prettierignore b/.prettierignore index 26b8de76282..6603d0cf302 100644 --- a/.prettierignore +++ b/.prettierignore @@ -20,7 +20,8 @@ packages/atomic/dist-storybook/**/* packages/atomic/src/components/search/atomic-search-interface/lang/*.json packages/atomic/src/external-builds/**/* packages/atomic/src/generated/** +packages/headless/src/external-builds/**/* packages/quantic/docs/out/quantic-docs.json packages/samples/headless-react/build/**/* packages/samples/angular/src/lang/*.json -packages/samples/vuejs/public/lang/*.json \ No newline at end of file +packages/samples/vuejs/public/lang/*.json diff --git a/package-lock.json b/package-lock.json index 5bb374818e2..58c9d8ee55e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4935,6 +4935,12 @@ "resolved": "packages/bueno", "link": true }, + "node_modules/@coveo/explorer-messenger": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@coveo/explorer-messenger/-/explorer-messenger-0.4.0.tgz", + "integrity": "sha512-nVxwn+4Z+SZe6K94evxPaIeJWJq7hATNaUrTKznnauVptFMYcujts/nnhMplddm9ePg7NgZQjvcHwbi5kqw/EA==", + "license": "Apache-2.0" + }, "node_modules/@coveo/headless": { "resolved": "packages/headless", "link": true @@ -4975,6 +4981,29 @@ "resolved": "packages/quantic", "link": true }, + "node_modules/@coveo/relay": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@coveo/relay/-/relay-0.7.10.tgz", + "integrity": "sha512-d/4Vf8wwj746M0RV9xAek7SV/rZhv3ERoQoZo6I2IKAqzMxX8r0Vyrau+UZG1sdxybd6zzo8AVIzvRFHGXxvnA==", + "license": "Apache-2.0", + "dependencies": { + "@coveo/explorer-messenger": "^0.4.0", + "uuid": "^9.0.1" + } + }, + "node_modules/@coveo/relay/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@coveo/release": { "resolved": "utils/release", "link": true @@ -10635,6 +10664,30 @@ } } }, + "node_modules/@reduxjs/toolkit": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.7.tgz", + "integrity": "sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==", + "license": "MIT", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@remix-run/router": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.0.tgz", @@ -10938,9 +10991,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", - "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "cpu": [ "arm" ], @@ -25467,6 +25520,17 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/core-js": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -28571,6 +28635,36 @@ "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", "dev": true }, + "node_modules/esbuild-plugin-alias-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esbuild-plugin-alias-path/-/esbuild-plugin-alias-path-2.0.2.tgz", + "integrity": "sha512-YK8H9bzx6/CG6YBV11XjoNLjRhNZP0Ta4xZ3ATHhPn7pN8ljQGg+zne4d47DpIzF8/sX2qM+xQWev0CvaD2rSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "5.0.0", + "fs-extra": "^10.1.0", + "jsonfile": "^6.1.0" + }, + "peerDependencies": { + "esbuild": ">= 0.14.0" + } + }, + "node_modules/esbuild-plugin-alias-path/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/esbuild-plugin-umd-wrapper": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esbuild-plugin-umd-wrapper/-/esbuild-plugin-umd-wrapper-2.0.3.tgz", @@ -33987,6 +34081,38 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/i18next": { + "version": "23.12.2", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.12.2.tgz", + "integrity": "sha512-XIeh5V+bi8SJSWGL3jqbTEBW5oD6rbP5L+E7dVQh1MNTxxYef0x15rhJVcRb7oiuq4jLtgy2SD8eFlf6P2cmqg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-http-backend": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.5.2.tgz", + "integrity": "sha512-+K8HbDfrvc1/2X8jpb7RLhI9ZxBDpx3xogYkQwGKlWAUXLSEGXzgdt3EcUjLlBCdMwdQY+K+EUF6oh8oB6rwHw==", + "license": "MIT", + "dependencies": { + "cross-fetch": "4.0.0" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -34049,6 +34175,16 @@ "node": ">=10" } }, + "node_modules/immer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/immutable": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", @@ -45312,6 +45448,21 @@ "balanced-match": "^1.0.0" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, "node_modules/reflect-metadata": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", @@ -45707,6 +45858,12 @@ "lodash": "^4.17.21" } }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -49093,6 +49250,12 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-debounce": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz", + "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==", + "license": "MIT" + }, "node_modules/ts-dedent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", @@ -51958,11 +52121,11 @@ }, "packages/atomic": { "name": "@coveo/atomic", - "version": "3.1.1", + "version": "3.2.3", "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "1.0.0", - "@coveo/headless": "3.0.0", + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3", "@popperjs/core": "^2.11.6", "@salesforce-ux/design-system": "^2.16.1", "@stencil/store": "2.0.16", @@ -52043,6 +52206,7 @@ "postcss-nested": "6.2.0", "puppeteer": "22.14.0", "react": "18.3.1", + "rollup": "4.22.4", "rollup-plugin-html": "0.2.1", "shadow-dom-testing-library": "1.11.2", "storybook": "8.1.2", @@ -52058,7 +52222,8 @@ "node": "^20.9.0" }, "peerDependencies": { - "@coveo/headless": "3.0.0" + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3" } }, "packages/atomic-angular": { @@ -52073,14 +52238,14 @@ "@angular/platform-browser": "17.3.12", "@angular/platform-browser-dynamic": "17.3.12", "@angular/router": "17.3.12", - "@coveo/atomic": "3.1.1", + "@coveo/atomic": "3.2.3", "rxjs": "7.8.1" }, "devDependencies": { "@angular-devkit/build-angular": "17.3.9", "@angular/cli": "17.3.9", "@angular/compiler-cli": "17.3.12", - "@coveo/headless": "3.0.0", + "@coveo/headless": "3.1.3", "@types/node": "20.14.12", "jasmine-core": "5.2.0", "karma": "6.4.3", @@ -52096,7 +52261,7 @@ "node": "^20.9.0" }, "peerDependencies": { - "@coveo/headless": "3.0.0" + "@coveo/headless": "3.1.3" } }, "packages/atomic-angular/node_modules/jasmine-core": { @@ -52125,10 +52290,10 @@ }, "packages/atomic-angular/projects/atomic-angular": { "name": "@coveo/atomic-angular", - "version": "3.0.2", + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { - "@coveo/atomic": "3.1.1", + "@coveo/atomic": "3.2.3", "tslib": "2.6.3" }, "engines": { @@ -52137,16 +52302,16 @@ "peerDependencies": { "@angular/common": "14 - 17", "@angular/core": "14 - 17", - "@coveo/headless": "3.0.0" + "@coveo/headless": "3.1.3" } }, "packages/atomic-hosted-page": { "name": "@coveo/atomic-hosted-page", - "version": "1.0.0", + "version": "1.0.4", "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "1.0.0", - "@coveo/headless": "3.0.0", + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3", "@stencil/core": "4.20.0" }, "devDependencies": { @@ -52228,9 +52393,9 @@ }, "packages/atomic-react": { "name": "@coveo/atomic-react", - "version": "3.0.2", + "version": "3.1.3", "dependencies": { - "@coveo/atomic": "3.1.1" + "@coveo/atomic": "3.2.3" }, "devDependencies": { "@coveo/release": "1.0.0", @@ -52255,7 +52420,7 @@ "node": "^20.9.0" }, "peerDependencies": { - "@coveo/headless": "3.0.0", + "@coveo/headless": "3.1.3", "react": ">=18.0.0", "react-dom": ">=18.0.0" } @@ -53313,195 +53478,210 @@ } }, "packages/atomic/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", - "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "packages/atomic/node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", - "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "packages/atomic/node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", - "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "packages/atomic/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", - "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", - "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", - "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", - "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", - "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", - "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", - "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", - "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", - "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "packages/atomic/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", - "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "packages/atomic/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", - "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "packages/atomic/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", - "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -53725,16 +53905,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "packages/atomic/node_modules/core-js": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", - "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "packages/atomic/node_modules/cosmiconfig": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", @@ -53937,36 +54107,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/atomic/node_modules/i18next": { - "version": "23.12.2", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.12.2.tgz", - "integrity": "sha512-XIeh5V+bi8SJSWGL3jqbTEBW5oD6rbP5L+E7dVQh1MNTxxYef0x15rhJVcRb7oiuq4jLtgy2SD8eFlf6P2cmqg==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "dependencies": { - "@babel/runtime": "^7.23.2" - } - }, - "packages/atomic/node_modules/i18next-http-backend": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.5.2.tgz", - "integrity": "sha512-+K8HbDfrvc1/2X8jpb7RLhI9ZxBDpx3xogYkQwGKlWAUXLSEGXzgdt3EcUjLlBCdMwdQY+K+EUF6oh8oB6rwHw==", - "dependencies": { - "cross-fetch": "4.0.0" - } - }, "packages/atomic/node_modules/js-yaml": { "name": "@zkochan/js-yaml", "version": "0.0.7", @@ -54344,10 +54484,11 @@ } }, "packages/atomic/node_modules/rollup": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", - "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -54359,22 +54500,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.0", - "@rollup/rollup-android-arm64": "4.18.0", - "@rollup/rollup-darwin-arm64": "4.18.0", - "@rollup/rollup-darwin-x64": "4.18.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", - "@rollup/rollup-linux-arm-musleabihf": "4.18.0", - "@rollup/rollup-linux-arm64-gnu": "4.18.0", - "@rollup/rollup-linux-arm64-musl": "4.18.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", - "@rollup/rollup-linux-riscv64-gnu": "4.18.0", - "@rollup/rollup-linux-s390x-gnu": "4.18.0", - "@rollup/rollup-linux-x64-gnu": "4.18.0", - "@rollup/rollup-linux-x64-musl": "4.18.0", - "@rollup/rollup-win32-arm64-msvc": "4.18.0", - "@rollup/rollup-win32-ia32-msvc": "4.18.0", - "@rollup/rollup-win32-x64-msvc": "4.18.0", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, @@ -54555,11 +54696,6 @@ "streamx": "^2.15.0" } }, - "packages/atomic/node_modules/ts-debounce": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz", - "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==" - }, "packages/atomic/node_modules/tsconfig-paths": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", @@ -54761,7 +54897,7 @@ }, "packages/auth": { "name": "@coveo/auth", - "version": "2.0.0", + "version": "2.0.1", "license": "Apache-2.0", "devDependencies": { "@coveo/release": "1.0.0", @@ -55361,7 +55497,7 @@ }, "packages/bueno": { "name": "@coveo/bueno", - "version": "1.0.0", + "version": "1.0.1", "license": "Apache-2.0", "devDependencies": { "@coveo/release": "1.0.0", @@ -55422,10 +55558,10 @@ }, "packages/headless": { "name": "@coveo/headless", - "version": "3.0.0", + "version": "3.1.3", "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "1.0.0", + "@coveo/bueno": "1.0.1", "@coveo/relay": "0.7.10", "@coveo/relay-event-types": "9.4.0", "@microsoft/fetch-event-source": "2.0.1", @@ -55446,6 +55582,7 @@ "@microsoft/api-extractor": "7.47.3", "@microsoft/api-extractor-model": "7.29.3", "@microsoft/tsdoc": "0.15.0", + "esbuild-plugin-alias-path": "2.0.2", "eslint-plugin-canonical": "4.18.0", "execa": "8.0.1", "install": "0.13.0", @@ -55462,10 +55599,10 @@ }, "packages/headless-react": { "name": "@coveo/headless-react", - "version": "2.0.0", + "version": "2.0.4", "license": "Apache-2.0", "dependencies": { - "@coveo/headless": "3.0.0" + "@coveo/headless": "3.1.3" }, "devDependencies": { "@coveo/release": "1.0.0", @@ -55848,20 +55985,6 @@ "node": ">=8" } }, - "packages/headless/node_modules/@coveo/explorer-messenger": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@coveo/explorer-messenger/-/explorer-messenger-0.4.0.tgz", - "integrity": "sha512-nVxwn+4Z+SZe6K94evxPaIeJWJq7hATNaUrTKznnauVptFMYcujts/nnhMplddm9ePg7NgZQjvcHwbi5kqw/EA==" - }, - "packages/headless/node_modules/@coveo/relay": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@coveo/relay/-/relay-0.7.10.tgz", - "integrity": "sha512-d/4Vf8wwj746M0RV9xAek7SV/rZhv3ERoQoZo6I2IKAqzMxX8r0Vyrau+UZG1sdxybd6zzo8AVIzvRFHGXxvnA==", - "dependencies": { - "@coveo/explorer-messenger": "^0.4.0", - "uuid": "^9.0.1" - } - }, "packages/headless/node_modules/@coveo/relay-event-types": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/@coveo/relay-event-types/-/relay-event-types-9.2.0.tgz", @@ -55920,30 +56043,6 @@ "resolve": "~1.22.2" } }, - "packages/headless/node_modules/@reduxjs/toolkit": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.7.tgz", - "integrity": "sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==", - "license": "MIT", - "dependencies": { - "immer": "^10.0.3", - "redux": "^5.0.1", - "redux-thunk": "^3.1.0", - "reselect": "^5.1.0" - }, - "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", - "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-redux": { - "optional": true - } - } - }, "packages/headless/node_modules/@rushstack/node-core-library": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.5.0.tgz", @@ -56209,15 +56308,6 @@ "node": ">=6 <7 || >=8" } }, - "packages/headless/node_modules/immer": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.3.tgz", - "integrity": "sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, "packages/headless/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -56294,24 +56384,6 @@ "node": ">= 14.16" } }, - "packages/headless/node_modules/redux": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", - "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" - }, - "packages/headless/node_modules/redux-thunk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", - "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", - "peerDependencies": { - "redux": "^5.0.0" - } - }, - "packages/headless/node_modules/reselect": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz", - "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==" - }, "packages/headless/node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -56351,11 +56423,6 @@ "node": ">=14.0.0" } }, - "packages/headless/node_modules/ts-debounce": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz", - "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==" - }, "packages/headless/node_modules/typescript": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", @@ -56378,18 +56445,6 @@ "node": ">= 4.0.0" } }, - "packages/headless/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, "packages/headless/node_modules/vite-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", @@ -56499,12 +56554,12 @@ }, "packages/quantic": { "name": "@coveo/quantic", - "version": "3.0.0", + "version": "3.0.4", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@coveo/bueno": "1.0.0", - "@coveo/headless": "3.0.0", + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3", "dompurify": "3.1.6", "marked": "12.0.2" }, @@ -58444,7 +58499,7 @@ "@angular/platform-browser": "17.3.12", "@angular/platform-browser-dynamic": "17.3.12", "@angular/router": "17.3.12", - "@coveo/atomic-angular": "3.0.2", + "@coveo/atomic-angular": "3.1.3", "rxjs": "7.8.1", "tslib": "2.6.3", "zone.js": "0.14.8" @@ -58744,9 +58799,9 @@ "name": "@coveo/atomic-next-samples", "version": "0.0.0", "dependencies": { - "@coveo/atomic": "3.1.1", - "@coveo/atomic-react": "3.0.2", - "@coveo/headless": "3.0.0", + "@coveo/atomic": "3.2.3", + "@coveo/atomic-react": "3.1.3", + "@coveo/headless": "3.1.3", "next": "14.2.5", "react": "18.3.1", "react-dom": "18.3.1" @@ -58809,9 +58864,9 @@ "name": "@coveo/atomic-react-samples", "version": "0.0.0", "dependencies": { - "@coveo/atomic": "3.1.1", - "@coveo/atomic-react": "3.0.2", - "@coveo/headless": "3.0.0", + "@coveo/atomic": "3.2.3", + "@coveo/atomic-react": "3.1.3", + "@coveo/headless": "3.1.3", "react": "18.3.1", "react-dom": "18.3.1" }, @@ -59299,7 +59354,7 @@ "name": "@coveo/headless-commerce-react-samples", "version": "0.1.0", "dependencies": { - "@coveo/headless": "3.0.0", + "@coveo/headless": "3.1.3", "react": "18.3.1", "react-dom": "18.3.1" }, @@ -60525,8 +60580,8 @@ "name": "@coveo/headless-react-samples", "version": "0.0.0", "dependencies": { - "@coveo/auth": "2.0.0", - "@coveo/headless": "3.0.0", + "@coveo/auth": "2.0.1", + "@coveo/headless": "3.1.3", "@testing-library/jest-dom": "6.4.8", "@testing-library/react": "14.3.1", "@testing-library/user-event": "14.5.2", @@ -61917,8 +61972,8 @@ "name": "@coveo/headless-ssr-samples-common", "version": "0.0.0", "dependencies": { - "@coveo/headless": "3.0.0", - "@coveo/headless-react": "2.0.0", + "@coveo/headless": "3.1.3", + "@coveo/headless-react": "2.0.4", "next": "14.2.5", "react": "^18.2.0", "react-dom": "^18.2.0" @@ -61939,7 +61994,7 @@ "name": "@coveo/headless-ssr-commerce-samples", "version": "0.0.0", "dependencies": { - "@coveo/headless": "3.0.0", + "@coveo/headless": "3.1.3", "next": "14.2.5", "react": "^18.2.0", "react-dom": "^18.2.0" @@ -62058,10 +62113,10 @@ "version": "0.1.0", "dependencies": { "@babel/standalone": "7.25.0", - "@coveo/atomic": "3.1.1", - "@coveo/atomic-hosted-page": "1.0.0", - "@coveo/atomic-react": "3.0.2", - "@coveo/headless": "3.0.0", + "@coveo/atomic": "3.2.3", + "@coveo/atomic-hosted-page": "1.0.4", + "@coveo/atomic-react": "3.1.3", + "@coveo/headless": "3.1.3", "react": "18.3.1", "react-dom": "18.3.1" }, @@ -62130,8 +62185,9 @@ "name": "@coveo/atomic-stencil-samples", "version": "0.0.0", "dependencies": { - "@coveo/atomic": "3.1.1", - "@coveo/headless": "3.0.0", + "@coveo/atomic": "3.2.3", + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3", "@stencil/core": "4.20.0", "stencil-router-v2": "0.6.0" }, @@ -62414,7 +62470,7 @@ "name": "@coveo/atomic-vuejs-samples", "version": "0.0.0", "dependencies": { - "@coveo/atomic": "3.1.1", + "@coveo/atomic": "3.2.3", "vue": "^3.4.15" }, "devDependencies": { diff --git a/packages/atomic-angular/package.json b/packages/atomic-angular/package.json index 1724aab8d20..8189d0e5cef 100644 --- a/packages/atomic-angular/package.json +++ b/packages/atomic-angular/package.json @@ -20,17 +20,17 @@ "@angular/platform-browser": "17.3.12", "@angular/platform-browser-dynamic": "17.3.12", "@angular/router": "17.3.12", - "@coveo/atomic": "3.1.1", + "@coveo/atomic": "3.2.3", "rxjs": "7.8.1" }, "peerDependencies": { - "@coveo/headless": "3.0.0" + "@coveo/headless": "3.1.3" }, "devDependencies": { "@angular-devkit/build-angular": "17.3.9", "@angular/cli": "17.3.9", "@angular/compiler-cli": "17.3.12", - "@coveo/headless": "3.0.0", + "@coveo/headless": "3.1.3", "@types/node": "20.14.12", "jasmine-core": "5.2.0", "karma": "6.4.3", diff --git a/packages/atomic-angular/projects/atomic-angular/CHANGELOG.md b/packages/atomic-angular/projects/atomic-angular/CHANGELOG.md index 0fee5f31241..8f76c184370 100644 --- a/packages/atomic-angular/projects/atomic-angular/CHANGELOG.md +++ b/packages/atomic-angular/projects/atomic-angular/CHANGELOG.md @@ -1,3 +1,8 @@ +## 3.1.0 (2024-09-24) + +- feat(atomic): add tab support for atomic-generated-answer (#4285) ([744fb61](https://github.com/coveo/ui-kit/commits/744fb61)), closes [#4285](https://github.com/coveo/ui-kit/issues/4285) +- feat(atomic): atomic insight user actions toggle component created (#4298) ([bad4ff5](https://github.com/coveo/ui-kit/commits/bad4ff5)), closes [#4298](https://github.com/coveo/ui-kit/issues/4298) + ## 3.0.0 (2024-09-18) - chore!: update node engine definition in all exported packages (#4330) ([d6d8a1a](https://github.com/coveo/ui-kit/commits/d6d8a1a)), closes [#4330](https://github.com/coveo/ui-kit/issues/4330) diff --git a/packages/atomic-angular/projects/atomic-angular/package.json b/packages/atomic-angular/projects/atomic-angular/package.json index 298c7411e44..85739caa6dc 100644 --- a/packages/atomic-angular/projects/atomic-angular/package.json +++ b/packages/atomic-angular/projects/atomic-angular/package.json @@ -1,6 +1,6 @@ { "name": "@coveo/atomic-angular", - "version": "3.0.2", + "version": "3.1.3", "license": "Apache-2.0", "repository": { "url": "https://github.com/coveo/ui-kit" @@ -8,10 +8,10 @@ "peerDependencies": { "@angular/common": "14 - 17", "@angular/core": "14 - 17", - "@coveo/headless": "3.0.0" + "@coveo/headless": "3.1.3" }, "dependencies": { - "@coveo/atomic": "3.1.1", + "@coveo/atomic": "3.2.3", "tslib": "2.6.3" }, "engines": { diff --git a/packages/atomic-hosted-page/package.json b/packages/atomic-hosted-page/package.json index 4948c30cbc9..5eb4fb78187 100644 --- a/packages/atomic-hosted-page/package.json +++ b/packages/atomic-hosted-page/package.json @@ -1,7 +1,7 @@ { "name": "@coveo/atomic-hosted-page", "description": "Web Component used to inject a Coveo Hosted Search Page in the DOM.", - "version": "1.0.0", + "version": "1.0.4", "repository": { "type": "git", "url": "git+https://github.com/coveo/ui-kit.git", @@ -30,8 +30,8 @@ "promote:npm:latest": "node ../../scripts/deploy/update-npm-tag.mjs latest" }, "dependencies": { - "@coveo/bueno": "1.0.0", - "@coveo/headless": "3.0.0", + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3", "@stencil/core": "4.20.0" }, "devDependencies": { diff --git a/packages/atomic-react/CHANGELOG.md b/packages/atomic-react/CHANGELOG.md index c000123f70a..ec24eb5e323 100644 --- a/packages/atomic-react/CHANGELOG.md +++ b/packages/atomic-react/CHANGELOG.md @@ -1,3 +1,14 @@ +## 3.1.1 (2024-09-24) + +- docs: document headless, atomic, and atomic-react entry points (#4455) ([3853bdc](https://github.com/coveo/ui-kit/commits/3853bdc)), closes [#4455](https://github.com/coveo/ui-kit/issues/4455) + +## 3.1.0 (2024-09-24) + +- chore(atomic, headless): make bueno external (#4433) ([e1f7f2d](https://github.com/coveo/ui-kit/commits/e1f7f2d)), closes [#4433](https://github.com/coveo/ui-kit/issues/4433) +- chore(headless,atomic): add type "module" to atomic, atomic-react and headless (#4442) ([21896c3](https://github.com/coveo/ui-kit/commits/21896c3)), closes [#4442](https://github.com/coveo/ui-kit/issues/4442) [/github.com/coveo/ui-kit/pull/4449/files#diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87](https://github.com//github.com/coveo/ui-kit/pull/4449/files/issues/diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87) +- feat(atomic): atomic insight user actions toggle component created (#4298) ([bad4ff5](https://github.com/coveo/ui-kit/commits/bad4ff5)), closes [#4298](https://github.com/coveo/ui-kit/issues/4298) +- docs(atomic-react): update examples in readme (#4432) ([037b2ca](https://github.com/coveo/ui-kit/commits/037b2ca)), closes [#4432](https://github.com/coveo/ui-kit/issues/4432) + ## 3.0.1 (2024-09-18) - fix(atomic, atomic-react): use root-relative URL for CDN (#4431) ([39313ea](https://github.com/coveo/ui-kit/commits/39313ea)), closes [#4431](https://github.com/coveo/ui-kit/issues/4431) diff --git a/packages/atomic-react/README.md b/packages/atomic-react/README.md index 2fcc1819c79..889123eba3e 100644 --- a/packages/atomic-react/README.md +++ b/packages/atomic-react/README.md @@ -24,6 +24,14 @@ Since Atomic React is built on top of the core [Atomic](https://docs.coveo.com/e However, there are still some special considerations. +## Entry points + +The `@coveo/atomic-react` package exposes the following entry points: + +- `@coveo/atomic-react`: exports the components and utilities for building non-commerce search interfaces with Atomic React. +- `@coveo/atomic-react/recommendation`: exports the components and utilities for building non-commerce recommendation interfaces with Atomic React. +- `@coveo/atomic-react/commerce`: exports the components and utilities for building commerce applications with Atomic React. + ## Static Assets - Languages and SVGs For performance reasons, the generated JavaScript bundle does not automatically include static assets that are loaded on demand. This impacts language support, as well as the use of included SVG icons. diff --git a/packages/atomic-react/package.json b/packages/atomic-react/package.json index 3513af42b9d..e6aa2ac4d07 100644 --- a/packages/atomic-react/package.json +++ b/packages/atomic-react/package.json @@ -2,7 +2,7 @@ "name": "@coveo/atomic-react", "sideEffects": false, "type": "module", - "version": "3.0.2", + "version": "3.1.3", "description": "React specific wrapper for the Atomic component library", "repository": { "type": "git", @@ -30,7 +30,7 @@ "commerce/" ], "dependencies": { - "@coveo/atomic": "3.1.1" + "@coveo/atomic": "3.2.3" }, "devDependencies": { "@coveo/release": "1.0.0", @@ -52,7 +52,7 @@ "rollup-plugin-polyfill-node": "^0.13.0" }, "peerDependencies": { - "@coveo/headless": "3.0.0", + "@coveo/headless": "3.1.3", "react": ">=18.0.0", "react-dom": ">=18.0.0" }, diff --git a/packages/atomic-react/rollup.config.mjs b/packages/atomic-react/rollup.config.mjs index c525b9a58bd..cc4e9596f95 100644 --- a/packages/atomic-react/rollup.config.mjs +++ b/packages/atomic-react/rollup.config.mjs @@ -52,9 +52,6 @@ const packageMappings = { '@coveo/headless/insight': { cdn: `/headless/${headlessVersion}/insight/headless.esm.js`, }, - '@coveo/headless/product-recommendation': { - cdn: `/headless/${headlessVersion}/product-recommendation/headless.esm.js`, - }, '@coveo/headless/recommendation': { cdn: `/headless/${headlessVersion}/recommendation/headless.esm.js`, }, diff --git a/packages/atomic/.storybook/main.mts b/packages/atomic/.storybook/main.mts index e0c55e0ca9c..91c3af17e60 100644 --- a/packages/atomic/.storybook/main.mts +++ b/packages/atomic/.storybook/main.mts @@ -1,9 +1,37 @@ import {nxViteTsPaths} from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import type {StorybookConfig} from '@storybook/web-components-vite'; -import path from 'node:path'; +import path from 'path'; +import {PluginImpl} from 'rollup'; import {mergeConfig} from 'vite'; -import headlessJson from '../../../packages/headless/package.json'; +import {generateExternalPackageMappings} from '../scripts/externalPackageMappings'; +const externalizeDependencies: PluginImpl = () => { + return { + name: 'externalize-dependencies', + enforce: 'pre', + resolveId(source, _importer, _options) { + if (/^\/(headless|bueno)/.test(source)) { + return false; + } + + const packageMappings = generateExternalPackageMappings(__dirname); + const packageMapping = packageMappings[source]; + + if (packageMapping) { + if (!isCDN) { + return false; + } + + return { + id: packageMapping.cdn, + external: 'absolute', + }; + } + + return null; + }, + }; +}; const isCDN = process.env.DEPLOYMENT_ENVIRONMENT === 'CDN'; const config: StorybookConfig = { @@ -33,10 +61,10 @@ const config: StorybookConfig = { }), }; -function resolveStorybookUtils() { +const resolveStorybookUtils: PluginImpl = () => { return { name: 'resolve-storybook-utils', - async resolveId(source: string, importer: unknown, options: unknown) { + async resolveId(source: string, importer, options) { if (source.startsWith('@coveo/atomic-storybook-utils')) { return this.resolve( source.replace( @@ -49,84 +77,6 @@ function resolveStorybookUtils() { } }, }; -} - -function externalizeDependencies() { - return { - name: 'externalize-dependencies', - enforce: 'pre', - resolveId: (id: string) => { - if (id.startsWith('/headless')) { - return false; - } - if (packageMappings[id]) { - if (!isCDN) { - return false; - } - - return { - id: packageMappings[id].cdn, - external: 'absolute', - }; - } - }, - }; -} - -let headlessVersion: string; -if (isCDN) { - console.log('Building for CDN'); - headlessVersion = 'v' + headlessJson.version; -} - -const packageMappings: {[key: string]: {devWatch: string; cdn: string}} = { - '@coveo/headless/commerce': { - devWatch: path.resolve( - __dirname, - '../src/external-builds/commerce/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/commerce/headless.esm.js`, - }, - '@coveo/headless/insight': { - devWatch: path.resolve( - __dirname, - '../src/external-builds/insight/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/insight/headless.esm.js`, - }, - '@coveo/headless/product-recommendation': { - devWatch: path.resolve( - __dirname, - '../src/external-builds/product-recommendation/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/product-recommendation/headless.esm.js`, - }, - '@coveo/headless/recommendation': { - devWatch: path.resolve( - __dirname, - '../src/external-builds/recommendation/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/recommendation/headless.esm.js`, - }, - '@coveo/headless/case-assist': { - devWatch: path.resolve( - __dirname, - '../src/external-builds/case-assist/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/case-assist/headless.esm.js`, - }, - '@coveo/headless': { - devWatch: path.resolve(__dirname, '../src/external-builds/headless.esm.js'), - cdn: `/headless/${headlessVersion}/headless.esm.js`, - }, - /* '@coveo/bueno': { - devWatch: path.resolve(__dirname, './src/external-builds/bueno.esm.js'), - cdn: `/bueno/${headlessVersion}/bueno.esm.js`, - }, */ }; export default config; - -// To customize your Vite configuration you can use the viteFinal field. -// Check https://storybook.js.org/docs/react/builders/vite#configuration -// and https://nx.dev/recipes/storybook/custom-builder-configs diff --git a/packages/atomic/CHANGELOG.md b/packages/atomic/CHANGELOG.md index 51d198be6ab..dc1b64a16ac 100644 --- a/packages/atomic/CHANGELOG.md +++ b/packages/atomic/CHANGELOG.md @@ -1,3 +1,25 @@ +## 3.2.3 (2024-09-25) + +- chore(atomic): fix tsconfig resolution for the e2e folders (#4462) ([2a037ff](https://github.com/coveo/ui-kit/commits/2a037ff)), closes [#4462](https://github.com/coveo/ui-kit/issues/4462) + +## 3.2.1 (2024-09-24) + +- docs: document headless, atomic, and atomic-react entry points (#4455) ([3853bdc](https://github.com/coveo/ui-kit/commits/3853bdc)), closes [#4455](https://github.com/coveo/ui-kit/issues/4455) +- fix: use correct pjson for bueno version replacement (#4454) ([bab0883](https://github.com/coveo/ui-kit/commits/bab0883)), closes [#4454](https://github.com/coveo/ui-kit/issues/4454) + +## 3.2.0 (2024-09-24) + +- chore(atomic, headless): make bueno external (#4433) ([e1f7f2d](https://github.com/coveo/ui-kit/commits/e1f7f2d)), closes [#4433](https://github.com/coveo/ui-kit/issues/4433) +- chore(headless,atomic): add type "module" to atomic, atomic-react and headless (#4442) ([21896c3](https://github.com/coveo/ui-kit/commits/21896c3)), closes [#4442](https://github.com/coveo/ui-kit/issues/4442) [/github.com/coveo/ui-kit/pull/4449/files#diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87](https://github.com//github.com/coveo/ui-kit/pull/4449/files/issues/diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87) +- feat: add answer configuration id to atomic-insight-generated-answer (#4451) ([6b7c2bd](https://github.com/coveo/ui-kit/commits/6b7c2bd)), closes [#4451](https://github.com/coveo/ui-kit/issues/4451) +- feat(atomic): add tab support for atomic-generated-answer (#4285) ([744fb61](https://github.com/coveo/ui-kit/commits/744fb61)), closes [#4285](https://github.com/coveo/ui-kit/issues/4285) +- feat(atomic): atomic insight user actions toggle component created (#4298) ([bad4ff5](https://github.com/coveo/ui-kit/commits/bad4ff5)), closes [#4298](https://github.com/coveo/ui-kit/issues/4298) +- test(atomic): add tests for atomic-product-rating (#4440) ([498beff](https://github.com/coveo/ui-kit/commits/498beff)), closes [#4440](https://github.com/coveo/ui-kit/issues/4440) +- test(atomic): add tests for product link (#4203) ([b62f3c7](https://github.com/coveo/ui-kit/commits/b62f3c7)), closes [#4203](https://github.com/coveo/ui-kit/issues/4203) +- fix(atomic): bad search box layout when removing textarea prop (#4435) ([70d9378](https://github.com/coveo/ui-kit/commits/70d9378)), closes [#4435](https://github.com/coveo/ui-kit/issues/4435) +- fix(atomic): enable/disable facet based on tab with updateActiveTab action (#4313) ([08fe92a](https://github.com/coveo/ui-kit/commits/08fe92a)), closes [#4313](https://github.com/coveo/ui-kit/issues/4313) [#4311](https://github.com/coveo/ui-kit/issues/4311) +- fix(atomic): remove unnecessary css (#4397) ([1ee2897](https://github.com/coveo/ui-kit/commits/1ee2897)), closes [#4397](https://github.com/coveo/ui-kit/issues/4397) + ## 3.1.1 (2024-09-18) - chore: ensure absolute paths are not resolved as local when building for the CDN (#4434) ([b9ee6e1](https://github.com/coveo/ui-kit/commits/b9ee6e1)), closes [#4434](https://github.com/coveo/ui-kit/issues/4434) diff --git a/packages/atomic/README.md b/packages/atomic/README.md index 61813c5622a..c2334b43922 100644 --- a/packages/atomic/README.md +++ b/packages/atomic/README.md @@ -7,6 +7,16 @@ A web-component library for building modern UIs interfacing with the Coveo platf Using the library: [Coveo Atomic Library Official Documentation](https://docs.coveo.com/en/atomic/latest/). +## Entry points + +The `@coveo/atomic` package exposes the following entry points: + +- `@coveo/atomic`: exports various types and utilities used by Coveo Atomic. +- `@coveo/atomic/loader`: exports the Coveo Atomic components types, as well as the `defineCustomElements` and `setNonce` utilities. +- `@coveo/atomic/themes`: exports the sample Coveo Atomic themes. +- `@coveo/atomic/assets`: exports the SVG icons used by Coveo Atomic. +- `@coveo/atomic/lang`: exports the localization files used by Coveo Atomic. + ## Getting Started Once you have cloned the repo, follow the instructions in the top-level [README.md](../../README.md) to install dependencies and link packages. diff --git a/packages/atomic/package.json b/packages/atomic/package.json index 349dc6a9229..41f2232b7de 100644 --- a/packages/atomic/package.json +++ b/packages/atomic/package.json @@ -1,7 +1,7 @@ { "name": "@coveo/atomic", "type": "module", - "version": "3.1.1", + "version": "3.2.3", "description": "A web-component library for building modern UIs interfacing with the Coveo platform", "homepage": "https://docs.coveo.com/en/atomic/latest/", "repository": { @@ -43,7 +43,7 @@ "loader/" ], "scripts": { - "clean": "rimraf -rf dist/*", + "clean": "rimraf -rf dist/* dist-storybook/* www/* docs/* loader/* playwright-report/*", "build": "nx build", "build:locales": "npx nx build:locales atomic", "start": "nx dev atomic", @@ -66,8 +66,8 @@ "validate:definitions": "tsc --noEmit --esModuleInterop --skipLibCheck ./dist/types/components.d.ts" }, "dependencies": { - "@coveo/bueno": "1.0.0", - "@coveo/headless": "3.0.0", + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3", "@popperjs/core": "^2.11.6", "@salesforce-ux/design-system": "^2.16.1", "@stencil/store": "2.0.16", @@ -148,6 +148,7 @@ "postcss-nested": "6.2.0", "puppeteer": "22.14.0", "react": "18.3.1", + "rollup": "4.22.4", "rollup-plugin-html": "0.2.1", "shadow-dom-testing-library": "1.11.2", "storybook": "8.1.2", @@ -160,7 +161,8 @@ "wait-on": "7.2.0" }, "peerDependencies": { - "@coveo/headless": "3.0.0" + "@coveo/bueno": "1.0.1", + "@coveo/headless": "3.1.3" }, "license": "Apache-2.0", "engines": { diff --git a/packages/atomic/project.json b/packages/atomic/project.json index ade80b95fca..1b1eb78f69a 100644 --- a/packages/atomic/project.json +++ b/packages/atomic/project.json @@ -117,9 +117,16 @@ "command": "wait-on dist/atomic" } }, + "wait-on:stencil-ping": { + "executor": "nx:run-commands", + "options": { + "cwd": "{projectRoot}", + "command": "wait-on http://localhost:3333/ping" + } + }, "storybook": { "executor": "nx:run-commands", - "dependsOn": ["wait-on:dist"], + "dependsOn": ["wait-on:stencil-ping"], "options": { "cwd": "{projectRoot}", "command": "npx storybook dev -p 4400" diff --git a/packages/atomic/scripts/externalPackageMappings.ts b/packages/atomic/scripts/externalPackageMappings.ts new file mode 100644 index 00000000000..6d1892678e9 --- /dev/null +++ b/packages/atomic/scripts/externalPackageMappings.ts @@ -0,0 +1,49 @@ +import path from 'node:path'; +import buenoJson from '../../bueno/package.json'; +import headlessJson from '../../headless/package.json'; + +const headlessVersion = 'v' + headlessJson.version; +const buenoVersion = 'v' + buenoJson.version; + +export function generateExternalPackageMappings(basePath: string): { + [key: string]: {devWatch: string; cdn: string}; +} { + return { + '@coveo/headless/commerce': { + devWatch: path.resolve( + basePath, + 'src/external-builds/commerce/headless.esm.js' + ), + cdn: `/headless/${headlessVersion}/commerce/headless.esm.js`, + }, + '@coveo/headless/insight': { + devWatch: path.resolve( + basePath, + 'src/external-builds/insight/headless.esm.js' + ), + cdn: `/headless/${headlessVersion}/insight/headless.esm.js`, + }, + '@coveo/headless/recommendation': { + devWatch: path.resolve( + basePath, + 'src/external-builds/recommendation/headless.esm.js' + ), + cdn: `/headless/${headlessVersion}/recommendation/headless.esm.js`, + }, + '@coveo/headless/case-assist': { + devWatch: path.resolve( + basePath, + 'src/external-builds/case-assist/headless.esm.js' + ), + cdn: `/headless/${headlessVersion}/case-assist/headless.esm.js`, + }, + '@coveo/headless': { + devWatch: path.resolve(basePath, 'src/external-builds/headless.esm.js'), + cdn: `/headless/${headlessVersion}/headless.esm.js`, + }, + '@coveo/bueno': { + devWatch: path.resolve(basePath, 'src/external-builds/bueno.esm.js'), + cdn: `/bueno/${buenoVersion}/bueno.esm.js`, + }, + }; +} diff --git a/packages/atomic/stencil.config.ts b/packages/atomic/stencil.config.ts index b8301d1a236..5cdfddbaf5c 100644 --- a/packages/atomic/stencil.config.ts +++ b/packages/atomic/stencil.config.ts @@ -6,73 +6,23 @@ import {Config} from '@stencil/core'; import {reactOutputTarget as react} from '@stencil/react-output-target'; import autoprefixer from 'autoprefixer'; import {readFileSync, readdirSync} from 'fs'; -import path from 'path'; import focusVisible from 'postcss-focus-visible'; import atImport from 'postcss-import'; import postcssMap from 'postcss-map'; import mixins from 'postcss-mixins'; import postcssNesting from 'postcss-nested'; +import {PluginImpl} from 'rollup'; import html from 'rollup-plugin-html'; import {inlineSvg} from 'stencil-inline-svg'; import tailwind from 'tailwindcss'; import tailwindNesting from 'tailwindcss/nesting'; -import headlessJson from '../../packages/headless/package.json'; +import {generateExternalPackageMappings} from './scripts/externalPackageMappings'; import {generateAngularModuleDefinition as angularModule} from './stencil-plugin/atomic-angular-module'; const isProduction = process.env.BUILD === 'production'; const isCDN = process.env.DEPLOYMENT_ENVIRONMENT === 'CDN'; -let headlessVersion: string = ''; -if (isCDN) { - console.log('Building for CDN'); - headlessVersion = 'v' + headlessJson.version; -} - -const packageMappings: {[key: string]: {devWatch: string; cdn: string}} = { - '@coveo/headless/commerce': { - devWatch: path.resolve( - __dirname, - './src/external-builds/commerce/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/commerce/headless.esm.js`, - }, - '@coveo/headless/insight': { - devWatch: path.resolve( - __dirname, - './src/external-builds/insight/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/insight/headless.esm.js`, - }, - '@coveo/headless/product-recommendation': { - devWatch: path.resolve( - __dirname, - './src/external-builds/product-recommendation/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/product-recommendation/headless.esm.js`, - }, - '@coveo/headless/recommendation': { - devWatch: path.resolve( - __dirname, - './src/external-builds/recommendation/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/recommendation/headless.esm.js`, - }, - '@coveo/headless/case-assist': { - devWatch: path.resolve( - __dirname, - './src/external-builds/case-assist/headless.esm.js' - ), - cdn: `/headless/${headlessVersion}/case-assist/headless.esm.js`, - }, - '@coveo/headless': { - devWatch: path.resolve(__dirname, './src/external-builds/headless.esm.js'), - cdn: `/headless/${headlessVersion}/headless.esm.js`, - }, - /* '@coveo/bueno': { - devWatch: path.resolve(__dirname, './src/external-builds/bueno.esm.js'), - cdn: `/bueno/${buenoVersion}/bueno.esm.js`, - }, */ -}; +const packageMappings = generateExternalPackageMappings(__dirname); function generateAliasEntries() { return Object.entries(packageMappings).map(([find, paths]) => ({ @@ -125,12 +75,35 @@ function replace() { }); } +const externalizeDependenciesPlugin: PluginImpl = () => { + return { + name: 'externalize-dependencies', + resolveId: (source, _importer, _options) => { + const packageMapping = packageMappings[source]; + + if (packageMapping) { + if (!isCDN) { + return false; + } + + return { + id: packageMapping.cdn, + external: 'absolute', + }; + } + + return null; + }, + }; +}; + const isDevWatch: boolean = process.argv && process.argv.indexOf('--dev') > -1 && process.argv.indexOf('--watch') > -1; export const config: Config = { + tsconfig: 'tsconfig.stencil.json', namespace: 'atomic', taskQueue: 'async', sourceMap: true, @@ -261,22 +234,3 @@ export const config: Config = { enableImportInjection: true, }, }; -function externalizeDependenciesPlugin() { - return { - name: 'externalize-dependencies', - resolveId(source: string) { - if (packageMappings[source]) { - if (!isCDN) { - return false; - } - - return { - id: packageMappings[source].cdn, - external: 'absolute', - }; - } - - return null; - }, - }; -} diff --git a/packages/atomic/tsconfig.json b/packages/atomic/tsconfig.json index a0896969c23..3d5942e2885 100644 --- a/packages/atomic/tsconfig.json +++ b/packages/atomic/tsconfig.json @@ -1,32 +1,10 @@ { - "extends": "../../tsconfig.json", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "declaration": false, - "experimentalDecorators": true, - "lib": ["dom", "ES2023", "ESNext.Collection"], - "moduleResolution": "Bundler", - "module": "ES2022", - "target": "ES2021", - "resolveJsonModule": true, - "useDefineForClassFields": false, - "noUnusedLocals": true, - "noUnusedParameters": true, - "jsx": "react", - "jsxFactory": "h" - }, - "references": [ - { - "path": "./tsconfig.storybook.json" - } - ], - "include": ["src", "types/jsx.d.ts"], + "extends": "./tsconfig.stencil.json", "exclude": [ "node_modules", "src/external-builds", "**/*.stories.tsx", "**/*.stories.ts", - "**/*.stories.js", - "**/e2e/**/*" + "**/*.stories.js" ] } diff --git a/packages/atomic/tsconfig.stencil.json b/packages/atomic/tsconfig.stencil.json new file mode 100644 index 00000000000..a0896969c23 --- /dev/null +++ b/packages/atomic/tsconfig.stencil.json @@ -0,0 +1,32 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "declaration": false, + "experimentalDecorators": true, + "lib": ["dom", "ES2023", "ESNext.Collection"], + "moduleResolution": "Bundler", + "module": "ES2022", + "target": "ES2021", + "resolveJsonModule": true, + "useDefineForClassFields": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "jsx": "react", + "jsxFactory": "h" + }, + "references": [ + { + "path": "./tsconfig.storybook.json" + } + ], + "include": ["src", "types/jsx.d.ts"], + "exclude": [ + "node_modules", + "src/external-builds", + "**/*.stories.tsx", + "**/*.stories.ts", + "**/*.stories.js", + "**/e2e/**/*" + ] +} diff --git a/packages/atomic/tsconfig.storybook.json b/packages/atomic/tsconfig.storybook.json index 30d5ba207d2..204c4760d5b 100644 --- a/packages/atomic/tsconfig.storybook.json +++ b/packages/atomic/tsconfig.storybook.json @@ -21,6 +21,7 @@ ".storybook/*.tsx", ".storybook/*.jsx", ".storybook/register.tsx", - ".storybook/main.mts" + ".storybook/main.mts", + "scripts/externalPackageMappings.ts" ] } diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md index 6c0c83c72ae..06e462e280a 100644 --- a/packages/auth/CHANGELOG.md +++ b/packages/auth/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.1 (2024-09-24) + +- chore(headless,atomic): add type "module" to atomic, atomic-react and headless (#4442) ([21896c3](https://github.com/coveo/ui-kit/commits/21896c3)), closes [#4442](https://github.com/coveo/ui-kit/issues/4442) [/github.com/coveo/ui-kit/pull/4449/files#diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87](https://github.com//github.com/coveo/ui-kit/pull/4449/files/issues/diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87) + ## 2.0.0 (2024-09-18) - chore: update tsconfigs to match node version (#4402) ([e5bf6b8](https://github.com/coveo/ui-kit/commits/e5bf6b8)), closes [#4402](https://github.com/coveo/ui-kit/issues/4402) diff --git a/packages/auth/package.json b/packages/auth/package.json index 5bc37abc098..f57bce0b1b6 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@coveo/auth", - "version": "2.0.0", + "version": "2.0.1", "description": "Functions to help authenticate with the Coveo platform.", "main": "./dist/auth.js", "module": "./dist/auth.esm.js", diff --git a/packages/bueno/CHANGELOG.md b/packages/bueno/CHANGELOG.md index 62ab50cea5f..91806dad8bf 100644 --- a/packages/bueno/CHANGELOG.md +++ b/packages/bueno/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.0.1 (2024-09-24) + +- chore(atomic, headless): make bueno external (#4433) ([e1f7f2d](https://github.com/coveo/ui-kit/commits/e1f7f2d)), closes [#4433](https://github.com/coveo/ui-kit/issues/4433) +- chore(headless,atomic): add type "module" to atomic, atomic-react and headless (#4442) ([21896c3](https://github.com/coveo/ui-kit/commits/21896c3)), closes [#4442](https://github.com/coveo/ui-kit/issues/4442) [/github.com/coveo/ui-kit/pull/4449/files#diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87](https://github.com//github.com/coveo/ui-kit/pull/4449/files/issues/diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87) + ## 1.0.0 (2024-09-18) - chore: update tsconfigs to match node version (#4402) ([e5bf6b8](https://github.com/coveo/ui-kit/commits/e5bf6b8)), closes [#4402](https://github.com/coveo/ui-kit/issues/4402) diff --git a/packages/bueno/esbuild.mjs b/packages/bueno/esbuild.mjs index 92a53cbe190..7ec5d636e38 100644 --- a/packages/bueno/esbuild.mjs +++ b/packages/bueno/esbuild.mjs @@ -44,6 +44,28 @@ function browserEsm() { }); } +function browserEsmForAtomicDevelopment() { + const buildAtomic = build({ + ...base, + platform: 'browser', + outfile: '../atomic/src/external-builds/bueno.esm.js', + format: 'esm', + watch: devMode, + minify: false, + }); + + const buildHeadless = build({ + ...base, + platform: 'browser', + outfile: '../headless/src/external-builds/bueno.esm.js', + format: 'esm', + watch: devMode, + minify: false, + }); + + return Promise.all([buildAtomic, buildHeadless]); +} + function browserUmd() { return build({ ...base, @@ -58,7 +80,13 @@ function browserUmd() { } async function main() { - await Promise.all([nodeCjs(), nodeEsm(), browserEsm(), browserUmd()]); + await Promise.all([ + nodeCjs(), + nodeEsm(), + browserEsm(), + browserUmd(), + browserEsmForAtomicDevelopment(), + ]); } main(); diff --git a/packages/bueno/package.json b/packages/bueno/package.json index f3f6c6aa92f..1cec4261d1b 100644 --- a/packages/bueno/package.json +++ b/packages/bueno/package.json @@ -13,7 +13,7 @@ }, "types": "./dist/definitions/index.d.ts", "license": "Apache-2.0", - "version": "1.0.0", + "version": "1.0.1", "files": [ "dist/" ], diff --git a/packages/bueno/project.json b/packages/bueno/project.json index d3cec81afb3..17a91046d3a 100644 --- a/packages/bueno/project.json +++ b/packages/bueno/project.json @@ -1,10 +1,22 @@ { "name": "bueno", "$schema": "../../node_modules/nx/schemas/project-schema.json", + "namedInputs": { + "negativeBuildOutputs": [ + "!{projectRoot}/dist", + "!{workspaceRoot}/packages/atomic/src/external-builds", + "!{workspaceRoot}/packages/headless/src/external-builds" + ] + }, "targets": { "release:phase1": {}, "cached:build": { "executor": "nx:run-commands", + "outputs": [ + "{projectRoot}/dist", + "{workspaceRoot}/packages/atomic/src/external-builds", + "{workspaceRoot}/packages/headless/src/external-builds" + ], "options": { "commands": ["npm run build:bundles", "npm run build:definitions"], "parallel": true, diff --git a/packages/headless-react/CHANGELOG.md b/packages/headless-react/CHANGELOG.md index 4b5ef7632e5..76cf1470984 100644 --- a/packages/headless-react/CHANGELOG.md +++ b/packages/headless-react/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.0.4 (2024-09-25) + +- chore: eliminate network calls in npm test (#4453) ([c6393a9](https://github.com/coveo/ui-kit/commits/c6393a9)), closes [#4453](https://github.com/coveo/ui-kit/issues/4453) + +## 2.0.1 (2024-09-24) + +- chore(headless,atomic): add type "module" to atomic, atomic-react and headless (#4442) ([21896c3](https://github.com/coveo/ui-kit/commits/21896c3)), closes [#4442](https://github.com/coveo/ui-kit/issues/4442) [/github.com/coveo/ui-kit/pull/4449/files#diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87](https://github.com//github.com/coveo/ui-kit/pull/4449/files/issues/diff-75f80b97846615f5b074710648b8191f74aa4f00fd1536c45bc344b284ca8e87) + ## 2.0.0 (2024-09-18) - chore!: update node engine definition in all exported packages (#4330) ([d6d8a1a](https://github.com/coveo/ui-kit/commits/d6d8a1a)), closes [#4330](https://github.com/coveo/ui-kit/issues/4330) diff --git a/packages/headless-react/package.json b/packages/headless-react/package.json index 8a44829dcd8..235418faf69 100644 --- a/packages/headless-react/package.json +++ b/packages/headless-react/package.json @@ -1,6 +1,6 @@ { "name": "@coveo/headless-react", - "version": "2.0.0", + "version": "2.0.4", "description": "React utilities for SSR (Server Side Rendering) with headless", "homepage": "https://docs.coveo.com/en/headless/latest/", "repository": { @@ -33,7 +33,7 @@ "promote:npm:latest": "node ../../scripts/deploy/update-npm-tag.mjs latest" }, "dependencies": { - "@coveo/headless": "3.0.0" + "@coveo/headless": "3.1.3" }, "devDependencies": { "@coveo/release": "1.0.0", diff --git a/packages/headless-react/src/ssr/search-engine.test.tsx b/packages/headless-react/src/ssr/search-engine.test.tsx index 39e849c2f24..df3b30de4ca 100644 --- a/packages/headless-react/src/ssr/search-engine.test.tsx +++ b/packages/headless-react/src/ssr/search-engine.test.tsx @@ -1,13 +1,16 @@ -import {NavigatorContextProvider} from '@coveo/headless/dist/definitions/app/navigatorContextProvider.js'; import { getSampleSearchEngineConfiguration, InferStaticState, InferHydratedState, defineResultList, defineSearchBox, + Result, + NavigatorContextProvider, } from '@coveo/headless/ssr'; import {act, render, renderHook, screen} from '@testing-library/react'; +import {randomUUID} from 'crypto'; import {PropsWithChildren} from 'react'; +import React from 'react'; import { vi, expect, @@ -106,7 +109,38 @@ describe('Headless react SSR utils', () => { } = engineDefinition; function TestResultList() { + const generateMockResult: () => Result = () => { + return { + absentTerms: [], + clickUri: '', + excerpt: '', + excerptHighlights: [], + firstSentences: '', + firstSentencesHighlights: [], + flags: '', + hasHtmlVersion: false, + isRecommendation: false, + isTopResult: false, + isUserActionView: false, + percentScore: 0, + printableUri: '', + printableUriHighlights: [], + rankingInfo: null, + raw: {urihash: ''}, + score: 0, + searchUid: '', + summary: null, + summaryHighlights: [], + title: '', + titleHighlights: [], + uniqueId: randomUUID(), + uri: '', + }; + }; + const {state} = controllers.useResultList(); + + state.results = Array.from({length: numResults}, generateMockResult); return (