diff --git a/.changeset/calm-cobras-reflect.md b/.changeset/calm-cobras-reflect.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/calm-cobras-reflect.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/packages/components/package.json b/packages/components/package.json index 69aafddb0f4..b4e9fa99fe2 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -99,7 +99,7 @@ "react-day-picker": "Version locked until a11y gets fixed (https://github.com/gpbl/react-day-picker/pull/1708)" }, "devDependencies": { - "@cultureamp/frontend-apis": "^11.0.0", + "@cultureamp/frontend-apis": "^11.1.0", "@cultureamp/i18n-react-intl": "^2.7.1", "@kaizen/design-tokens": "workspace:*", "@kaizen/package-bundler": "workspace:*", @@ -124,7 +124,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-highlight": "^0.15.0", - "react-intl": "^6.8.4", + "react-intl": "^6.8.9", "rollup": "^4.27.2", "sass": "1.79.6", "serialize-query-params": "^2.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 96a0a1503dc..eac7cf85782 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -399,11 +399,11 @@ importers: version: 11.0.3 devDependencies: '@cultureamp/frontend-apis': - specifier: ^11.0.0 - version: 11.0.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4) + specifier: ^11.1.0 + version: 11.1.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4) '@cultureamp/i18n-react-intl': specifier: ^2.7.1 - version: 2.7.1(@cultureamp/frontend-apis@11.0.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4))(encoding@0.1.13)(eslint@9.16.0(jiti@1.21.6))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.7.5)(ts-node@10.9.2(@swc/core@1.7.10(@swc/helpers@0.5.11))(@types/node@22.7.5)(typescript@5.5.4)))(typescript@5.5.4))(typescript@5.5.4) + version: 2.7.1(@cultureamp/frontend-apis@11.1.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4))(encoding@0.1.13)(eslint@9.16.0(jiti@1.21.6))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.7.5)(ts-node@10.9.2(@swc/core@1.7.10(@swc/helpers@0.5.11))(@types/node@22.7.5)(typescript@5.5.4)))(typescript@5.5.4))(typescript@5.5.4) '@kaizen/design-tokens': specifier: workspace:* version: link:../design-tokens @@ -474,8 +474,8 @@ importers: specifier: ^0.15.0 version: 0.15.0 react-intl: - specifier: ^6.8.4 - version: 6.8.4(react@18.3.1)(typescript@5.5.4) + specifier: ^6.8.9 + version: 6.8.9(react@18.3.1)(typescript@5.5.4) rollup: specifier: ^4.27.2 version: 4.27.2 @@ -1202,8 +1202,8 @@ packages: '@cultureamp/changelog-github@0.1.1': resolution: {integrity: sha512-ltEtiffLwLoqNs23vylsKPPVtBy4j+4lzHtigXrC3VMoUQNKf2uLFE0O5a2DUKK64VGdGA3pIn6dUtT+SQGDQQ==, tarball: https://npm.pkg.github.com/download/@cultureamp/changelog-github/0.1.1/932fbf1df1d9841f3551100b75483f24b3ad2117} - '@cultureamp/frontend-apis@11.0.0': - resolution: {integrity: sha512-m3AG9x0ptOlBWAzMB7Ixk8DPp5j+Rs9DYVNTDHOUNSqTIqrXs1EgsBgZg4FoVmWnb0pvJx5CDX+jgKIlFxEZ1g==, tarball: https://npm.pkg.github.com/download/@cultureamp/frontend-apis/11.0.0/8a8afb5646e72a59dd96cd6c0e6c82d5e21b0706} + '@cultureamp/frontend-apis@11.1.0': + resolution: {integrity: sha512-I8aY/CEcfR7CgKr+9nhNjm9JMn5OCiFb9DEmuT1JcVut7AblPmH1T45Hz4H3pQMAiaEnHuhsunFj2eTLOpj1fw==, tarball: https://npm.pkg.github.com/download/@cultureamp/frontend-apis/11.1.0/4c720d441de4bb4948835711d09da7af122e82f7} engines: {node: '>=18.0.0'} hasBin: true peerDependencies: @@ -1828,26 +1828,38 @@ packages: '@formatjs/ecma402-abstract@2.2.1': resolution: {integrity: sha512-O4ywpkdJybrjFc9zyL8qK5aklleIAi5O4nYhBVJaOFtCkNrnU+lKFeJOFC48zpsZQmR8Aok2V79hGpHnzbmFpg==} + '@formatjs/ecma402-abstract@2.2.4': + resolution: {integrity: sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg==} + '@formatjs/fast-memoize@2.2.2': resolution: {integrity: sha512-mzxZcS0g1pOzwZTslJOBTmLzDXseMLLvnh25ymRilCm8QLMObsQ7x/rj9GNrH0iUhZMlFisVOD6J1n6WQqpKPQ==} + '@formatjs/fast-memoize@2.2.3': + resolution: {integrity: sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==} + '@formatjs/icu-messageformat-parser@2.7.8': resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} '@formatjs/icu-messageformat-parser@2.9.1': resolution: {integrity: sha512-7AYk4tjnLi5wBkxst2w7qFj38JLMJoqzj7BhdEl7oTlsWMlqwgx4p9oMmmvpXWTSDGNwOKBRc1SfwMh5MOHeNg==} + '@formatjs/icu-messageformat-parser@2.9.4': + resolution: {integrity: sha512-Tbvp5a9IWuxUcpWNIW6GlMQYEc4rwNHR259uUFoKWNN1jM9obf9Ul0e+7r7MvFOBNcN+13K7NuKCKqQiAn1QEg==} + '@formatjs/icu-skeleton-parser@1.8.2': resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} '@formatjs/icu-skeleton-parser@1.8.5': resolution: {integrity: sha512-zRZ/e3B5qY2+JCLs7puTzWS1Jb+t/K+8Jur/gEZpA2EjWeLDE17nsx8thyo9P48Mno7UmafnPupV2NCJXX17Dg==} - '@formatjs/intl-displaynames@6.8.1': - resolution: {integrity: sha512-nyWfJk4BZ1+GzLq9a40BgVPSRpBkRAVzrSpql+92i0i+lX11m9eS1trSRf/h3j/XcQ+h1h+ntA4Ra4jETK7nNg==} + '@formatjs/icu-skeleton-parser@1.8.8': + resolution: {integrity: sha512-vHwK3piXwamFcx5YQdCdJxUQ1WdTl6ANclt5xba5zLGDv5Bsur7qz8AD7BevaKxITwpgDeU0u8My3AIibW9ywA==} + + '@formatjs/intl-displaynames@6.8.5': + resolution: {integrity: sha512-85b+GdAKCsleS6cqVxf/Aw/uBd+20EM0wDpgaxzHo3RIR3bxF4xCJqH/Grbzx8CXurTgDDZHPdPdwJC+May41w==} - '@formatjs/intl-listformat@7.7.1': - resolution: {integrity: sha512-bjBxWaUhYAbJFUlFSMWZGn3r2mglXwk+BLyGRu8dY8Q83ZPsqmmVQzjQKENHE3lV6eoQGHT2oZHxUaVndJlk6Q==} + '@formatjs/intl-listformat@7.7.5': + resolution: {integrity: sha512-Wzes10SMNeYgnxYiKsda4rnHP3Q3II4XT2tZyOgnH5fWuHDtIkceuWlRQNsvrI3uiwP4hLqp2XdQTCsfkhXulg==} '@formatjs/intl-localematcher@0.5.4': resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} @@ -1855,8 +1867,11 @@ packages: '@formatjs/intl-localematcher@0.5.6': resolution: {integrity: sha512-roz1+Ba5e23AHX6KUAWmLEyTRZegM5YDuxuvkHCyK3RJddf/UXB2f+s7pOMm9ktfPGla0g+mQXOn5vsuYirnaA==} - '@formatjs/intl@2.10.11': - resolution: {integrity: sha512-FNLZjzE1QRlv1Wf0oinnM97AbvZU1zQnQMHI0Oza2F7PxzrPf6bYFRs0ugapq/O4FrvNwDt9F9nyRNwsMM118g==} + '@formatjs/intl-localematcher@0.5.8': + resolution: {integrity: sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg==} + + '@formatjs/intl@2.10.15': + resolution: {integrity: sha512-i6+xVqT+6KCz7nBfk4ybMXmbKO36tKvbMKtgFz9KV+8idYFyFbfwKooYk8kGjyA5+T5f1kEPQM5IDLXucTAQ9g==} peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: @@ -6116,6 +6131,9 @@ packages: intl-messageformat@10.7.3: resolution: {integrity: sha512-AAo/3oyh7ROfPhDuh7DxTTydh97OC+lv7h1Eq5LuHWuLsUMKOhtzTYuyXlUReuwZ9vANDHo4CS1bGRrn7TZRtg==} + intl-messageformat@10.7.7: + resolution: {integrity: sha512-F134jIoeYMro/3I0h08D0Yt4N9o9pjddU/4IIxMMURqbAtI2wu70X8hvG1V48W49zXHXv3RKSF/po+0fDfsGjA==} + invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -8472,8 +8490,8 @@ packages: react-highlight@0.15.0: resolution: {integrity: sha512-5uV/b/N4Z421GSVVe05fz+OfTsJtFzx/fJBdafZyw4LS70XjIZwgEx3Lrkfc01W/RzZ2Dtfb0DApoaJFAIKBtA==} - react-intl@6.8.4: - resolution: {integrity: sha512-UKYrCIztyvSiZCpvHjDwAHlXT735fDioABVP+uhRAOhDSBS9NQ2vVbxiUikvVEBdr2b0cTe1tUfOfvhbmSPi/A==} + react-intl@6.8.9: + resolution: {integrity: sha512-TUfj5E7lyUDvz/GtovC9OMh441kBr08rtIbgh3p0R8iF3hVY+V2W9Am7rb8BpJ/29BH1utJOqOOhmvEVh3GfZg==} peerDependencies: react: ^16.6.0 || 17 || 18 typescript: ^4.7 || 5 @@ -10979,7 +10997,7 @@ snapshots: transitivePeerDependencies: - encoding - '@cultureamp/frontend-apis@11.0.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4)': + '@cultureamp/frontend-apis@11.1.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4)': dependencies: '@cultureamp/frontend-env': 2.1.2 '@cultureamp/redirect-to-login': 2.0.3 @@ -11015,10 +11033,10 @@ snapshots: dependencies: chromatic: 9.1.0 - '@cultureamp/i18n-react-intl@2.7.1(@cultureamp/frontend-apis@11.0.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4))(encoding@0.1.13)(eslint@9.16.0(jiti@1.21.6))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.7.5)(ts-node@10.9.2(@swc/core@1.7.10(@swc/helpers@0.5.11))(@types/node@22.7.5)(typescript@5.5.4)))(typescript@5.5.4))(typescript@5.5.4)': + '@cultureamp/i18n-react-intl@2.7.1(@cultureamp/frontend-apis@11.1.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4))(encoding@0.1.13)(eslint@9.16.0(jiti@1.21.6))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.7.5)(ts-node@10.9.2(@swc/core@1.7.10(@swc/helpers@0.5.11))(@types/node@22.7.5)(typescript@5.5.4)))(typescript@5.5.4))(typescript@5.5.4)': dependencies: '@calm/eslint-plugin-react-intl': 1.4.1 - '@cultureamp/frontend-apis': 11.0.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4) + '@cultureamp/frontend-apis': 11.1.0(@cultureamp/next-head-hook@1.1.11(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6)))(next@14.2.3(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.79.6))(react@18.3.1)(typescript@5.5.4) '@cultureamp/frontend-env': 2.1.2 '@formatjs/cli': 6.2.12 '@formatjs/cli-lib': 6.4.2(ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.7.5)(ts-node@10.9.2(@swc/core@1.7.10(@swc/helpers@0.5.11))(@types/node@22.7.5)(typescript@5.5.4)))(typescript@5.5.4)) @@ -11032,7 +11050,7 @@ snapshots: json-stable-stringify: 1.1.1 limiter-es6-compat: 2.1.2 react: 18.3.1 - react-intl: 6.8.4(react@18.3.1)(typescript@5.5.4) + react-intl: 6.8.9(react@18.3.1)(typescript@5.5.4) smartling-api-sdk-nodejs: 2.11.0(encoding@0.1.13) yargs: 17.7.2 optionalDependencies: @@ -11429,10 +11447,20 @@ snapshots: '@formatjs/intl-localematcher': 0.5.6 tslib: 2.8.0 + '@formatjs/ecma402-abstract@2.2.4': + dependencies: + '@formatjs/fast-memoize': 2.2.3 + '@formatjs/intl-localematcher': 0.5.8 + tslib: 2.8.0 + '@formatjs/fast-memoize@2.2.2': dependencies: tslib: 2.8.0 + '@formatjs/fast-memoize@2.2.3': + dependencies: + tslib: 2.8.0 + '@formatjs/icu-messageformat-parser@2.7.8': dependencies: '@formatjs/ecma402-abstract': 2.0.0 @@ -11445,6 +11473,12 @@ snapshots: '@formatjs/icu-skeleton-parser': 1.8.5 tslib: 2.8.0 + '@formatjs/icu-messageformat-parser@2.9.4': + dependencies: + '@formatjs/ecma402-abstract': 2.2.4 + '@formatjs/icu-skeleton-parser': 1.8.8 + tslib: 2.8.0 + '@formatjs/icu-skeleton-parser@1.8.2': dependencies: '@formatjs/ecma402-abstract': 2.0.0 @@ -11455,16 +11489,21 @@ snapshots: '@formatjs/ecma402-abstract': 2.2.1 tslib: 2.8.0 - '@formatjs/intl-displaynames@6.8.1': + '@formatjs/icu-skeleton-parser@1.8.8': dependencies: - '@formatjs/ecma402-abstract': 2.2.1 - '@formatjs/intl-localematcher': 0.5.6 + '@formatjs/ecma402-abstract': 2.2.4 tslib: 2.8.0 - '@formatjs/intl-listformat@7.7.1': + '@formatjs/intl-displaynames@6.8.5': dependencies: - '@formatjs/ecma402-abstract': 2.2.1 - '@formatjs/intl-localematcher': 0.5.6 + '@formatjs/ecma402-abstract': 2.2.4 + '@formatjs/intl-localematcher': 0.5.8 + tslib: 2.8.0 + + '@formatjs/intl-listformat@7.7.5': + dependencies: + '@formatjs/ecma402-abstract': 2.2.4 + '@formatjs/intl-localematcher': 0.5.8 tslib: 2.8.0 '@formatjs/intl-localematcher@0.5.4': @@ -11475,14 +11514,18 @@ snapshots: dependencies: tslib: 2.8.0 - '@formatjs/intl@2.10.11(typescript@5.5.4)': + '@formatjs/intl-localematcher@0.5.8': dependencies: - '@formatjs/ecma402-abstract': 2.2.1 - '@formatjs/fast-memoize': 2.2.2 - '@formatjs/icu-messageformat-parser': 2.9.1 - '@formatjs/intl-displaynames': 6.8.1 - '@formatjs/intl-listformat': 7.7.1 - intl-messageformat: 10.7.3 + tslib: 2.8.0 + + '@formatjs/intl@2.10.15(typescript@5.5.4)': + dependencies: + '@formatjs/ecma402-abstract': 2.2.4 + '@formatjs/fast-memoize': 2.2.3 + '@formatjs/icu-messageformat-parser': 2.9.4 + '@formatjs/intl-displaynames': 6.8.5 + '@formatjs/intl-listformat': 7.7.5 + intl-messageformat: 10.7.7 tslib: 2.8.0 optionalDependencies: typescript: 5.5.4 @@ -17035,6 +17078,13 @@ snapshots: '@formatjs/icu-messageformat-parser': 2.9.1 tslib: 2.8.0 + intl-messageformat@10.7.7: + dependencies: + '@formatjs/ecma402-abstract': 2.2.4 + '@formatjs/fast-memoize': 2.2.3 + '@formatjs/icu-messageformat-parser': 2.9.4 + tslib: 2.8.0 + invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -20314,17 +20364,17 @@ snapshots: dependencies: highlight.js: 10.7.3 - react-intl@6.8.4(react@18.3.1)(typescript@5.5.4): + react-intl@6.8.9(react@18.3.1)(typescript@5.5.4): dependencies: - '@formatjs/ecma402-abstract': 2.2.1 - '@formatjs/icu-messageformat-parser': 2.9.1 - '@formatjs/intl': 2.10.11(typescript@5.5.4) - '@formatjs/intl-displaynames': 6.8.1 - '@formatjs/intl-listformat': 7.7.1 + '@formatjs/ecma402-abstract': 2.2.4 + '@formatjs/icu-messageformat-parser': 2.9.4 + '@formatjs/intl': 2.10.15(typescript@5.5.4) + '@formatjs/intl-displaynames': 6.8.5 + '@formatjs/intl-listformat': 7.7.5 '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.3.12 + '@types/react': 18.3.13 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.7.3 + intl-messageformat: 10.7.7 react: 18.3.1 tslib: 2.8.0 optionalDependencies: