build(desktop): fix typescript error (#1013)

This commit is contained in:
Himself65
2023-02-14 23:25:30 -06:00
committed by GitHub
parent 5c505807b4
commit 6906d6ba7a
3 changed files with 187 additions and 1 deletions

View File

@@ -15,12 +15,14 @@
"build:app": "tauri build" "build:app": "tauri build"
}, },
"dependencies": { "dependencies": {
"@blocksuite/icons": "^2.0.14",
"@blocksuite/store": "0.4.0-20230212194855-047e1b9", "@blocksuite/store": "0.4.0-20230212194855-047e1b9",
"@emotion/react": "^11.10.5", "@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5", "@emotion/styled": "^11.10.5",
"@tauri-apps/api": "^1.2.0", "@tauri-apps/api": "^1.2.0",
"json-schema-to-typescript": "^11.0.2", "json-schema-to-typescript": "^11.0.2",
"lib0": "^0.2.58", "lib0": "^0.2.58",
"next": "^13.1.6",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-is": "^18.2.0", "react-is": "^18.2.0",

View File

@@ -21,7 +21,12 @@
"experimentalDecorators": true, "experimentalDecorators": true,
"isolatedModules": true, "isolatedModules": true,
"skipLibCheck": true, "skipLibCheck": true,
"noImplicitReturns": true "noImplicitReturns": true,
"paths": {
"@/*": ["../web/src/*"],
"@affine/component": ["../../packages/component/src/index"],
"@affine/i18n": ["../../packages/i18n/src/index"]
}
}, },
"include": ["./src"], "include": ["./src"],
"exclude": ["node_modules"] "exclude": ["node_modules"]

179
pnpm-lock.yaml generated
View File

@@ -54,6 +54,7 @@ importers:
apps/desktop: apps/desktop:
specifiers: specifiers:
'@blocksuite/icons': ^2.0.14
'@blocksuite/store': 0.4.0-20230212194855-047e1b9 '@blocksuite/store': 0.4.0-20230212194855-047e1b9
'@emotion/react': ^11.10.5 '@emotion/react': ^11.10.5
'@emotion/styled': ^11.10.5 '@emotion/styled': ^11.10.5
@@ -89,6 +90,7 @@ importers:
eslint-plugin-unused-imports: 2.0.0 eslint-plugin-unused-imports: 2.0.0
json-schema-to-typescript: ^11.0.2 json-schema-to-typescript: ^11.0.2
lib0: ^0.2.58 lib0: ^0.2.58
next: ^13.1.6
prettier: 2.8.1 prettier: 2.8.1
react: ^18.2.0 react: ^18.2.0
react-dom: ^18.2.0 react-dom: ^18.2.0
@@ -103,12 +105,14 @@ importers:
yjs: ^13.5.43 yjs: ^13.5.43
zx: ^7.1.1 zx: ^7.1.1
dependencies: dependencies:
'@blocksuite/icons': 2.0.14_3stiutgnnbnfnf3uowm5cip22i
'@blocksuite/store': 0.4.0-20230212194855-047e1b9_yjs@13.5.45 '@blocksuite/store': 0.4.0-20230212194855-047e1b9_yjs@13.5.45
'@emotion/react': 11.10.5_3stiutgnnbnfnf3uowm5cip22i '@emotion/react': 11.10.5_3stiutgnnbnfnf3uowm5cip22i
'@emotion/styled': 11.10.5_jrh5enlbqfbnumycmktdqgd6se '@emotion/styled': 11.10.5_jrh5enlbqfbnumycmktdqgd6se
'@tauri-apps/api': 1.2.0_nb4isgkwd3sres4g7j7rgtldsu '@tauri-apps/api': 1.2.0_nb4isgkwd3sres4g7j7rgtldsu
json-schema-to-typescript: 11.0.3 json-schema-to-typescript: 11.0.3
lib0: 0.2.62 lib0: 0.2.62
next: 13.1.6_biqbaboplfbrettd7655fr4n2y
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0_react@18.2.0 react-dom: 18.2.0_react@18.2.0
react-is: 18.2.0 react-is: 18.2.0
@@ -2708,6 +2712,16 @@ packages:
zod: 3.20.6 zod: 3.20.6
dev: false dev: false
/@blocksuite/icons/2.0.14_3stiutgnnbnfnf3uowm5cip22i:
resolution: {integrity: sha512-1uStOtcn13ncC+/ne51Aywwo1er0a6IKFhC84B8mqUXxFdmJkYEQ1NLSxHW/HktwwWgMQYNE//ohKFnAPe5YGg==}
peerDependencies:
'@types/react': ^18.0.25
react: ^18.2.0
dependencies:
'@types/react': 18.0.27
react: 18.2.0
dev: false
/@blocksuite/icons/2.0.14_w5j4k42lgipnm43s3brx6h3c34: /@blocksuite/icons/2.0.14_w5j4k42lgipnm43s3brx6h3c34:
resolution: {integrity: sha512-1uStOtcn13ncC+/ne51Aywwo1er0a6IKFhC84B8mqUXxFdmJkYEQ1NLSxHW/HktwwWgMQYNE//ohKFnAPe5YGg==} resolution: {integrity: sha512-1uStOtcn13ncC+/ne51Aywwo1er0a6IKFhC84B8mqUXxFdmJkYEQ1NLSxHW/HktwwWgMQYNE//ohKFnAPe5YGg==}
peerDependencies: peerDependencies:
@@ -4561,6 +4575,10 @@ packages:
/@next/env/13.1.0: /@next/env/13.1.0:
resolution: {integrity: sha512-6iNixFzCndH+Bl4FetQzOMjxCJqg8fs0LAlZviig1K6mIjOWH2m2oPcHcOg1Ta5VCe7Bx5KG1Hs+NrWDUkBt9A==} resolution: {integrity: sha512-6iNixFzCndH+Bl4FetQzOMjxCJqg8fs0LAlZviig1K6mIjOWH2m2oPcHcOg1Ta5VCe7Bx5KG1Hs+NrWDUkBt9A==}
/@next/env/13.1.6:
resolution: {integrity: sha512-s+W9Fdqh5MFk6ECrbnVmmAOwxKQuhGMT7xXHrkYIBMBcTiOqNWhv5KbJIboKR5STXxNXl32hllnvKaffzFaWQg==}
dev: false
/@next/eslint-plugin-next/12.3.1: /@next/eslint-plugin-next/12.3.1:
resolution: {integrity: sha512-sw+lTf6r6P0j+g/n9y4qdWWI2syPqZx+uc0+B/fRENqfR3KpSid6MIKqc9gNwGhJASazEQ5b3w8h4cAET213jw==} resolution: {integrity: sha512-sw+lTf6r6P0j+g/n9y4qdWWI2syPqZx+uc0+B/fRENqfR3KpSid6MIKqc9gNwGhJASazEQ5b3w8h4cAET213jw==}
dependencies: dependencies:
@@ -4584,6 +4602,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-android-arm-eabi/13.1.6:
resolution: {integrity: sha512-F3/6Z8LH/pGlPzR1AcjPFxx35mPqjE5xZcf+IL+KgbW9tMkp7CYi1y7qKrEWU7W4AumxX/8OINnDQWLiwLasLQ==}
engines: {node: '>= 10'}
cpu: [arm]
os: [android]
requiresBuild: true
dev: false
optional: true
/@next/swc-android-arm64/12.3.1: /@next/swc-android-arm64/12.3.1:
resolution: {integrity: sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==} resolution: {integrity: sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4601,6 +4628,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-android-arm64/13.1.6:
resolution: {integrity: sha512-cMwQjnB8vrYkWyK/H0Rf2c2pKIH4RGjpKUDvbjVAit6SbwPDpmaijLio0LWFV3/tOnY6kvzbL62lndVA0mkYpw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: false
optional: true
/@next/swc-darwin-arm64/12.3.1: /@next/swc-darwin-arm64/12.3.1:
resolution: {integrity: sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==} resolution: {integrity: sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4618,6 +4654,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-darwin-arm64/13.1.6:
resolution: {integrity: sha512-KKRQH4DDE4kONXCvFMNBZGDb499Hs+xcFAwvj+rfSUssIDrZOlyfJNy55rH5t2Qxed1e4K80KEJgsxKQN1/fyw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
/@next/swc-darwin-x64/12.3.1: /@next/swc-darwin-x64/12.3.1:
resolution: {integrity: sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==} resolution: {integrity: sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4635,6 +4680,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-darwin-x64/13.1.6:
resolution: {integrity: sha512-/uOky5PaZDoaU99ohjtNcDTJ6ks/gZ5ykTQDvNZDjIoCxFe3+t06bxsTPY6tAO6uEAw5f6vVFX5H5KLwhrkZCA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
/@next/swc-freebsd-x64/12.3.1: /@next/swc-freebsd-x64/12.3.1:
resolution: {integrity: sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==} resolution: {integrity: sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4652,6 +4706,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-freebsd-x64/13.1.6:
resolution: {integrity: sha512-qaEALZeV7to6weSXk3Br80wtFQ7cFTpos/q+m9XVRFggu+8Ib895XhMWdJBzew6aaOcMvYR6KQ6JmHA2/eMzWw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-arm-gnueabihf/12.3.1: /@next/swc-linux-arm-gnueabihf/12.3.1:
resolution: {integrity: sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==} resolution: {integrity: sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4669,6 +4732,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm-gnueabihf/13.1.6:
resolution: {integrity: sha512-OybkbC58A1wJ+JrJSOjGDvZzrVEQA4sprJejGqMwiZyLqhr9Eo8FXF0y6HL+m1CPCpPhXEHz/2xKoYsl16kNqw==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-arm64-gnu/12.3.1: /@next/swc-linux-arm64-gnu/12.3.1:
resolution: {integrity: sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==} resolution: {integrity: sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4686,6 +4758,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm64-gnu/13.1.6:
resolution: {integrity: sha512-yCH+yDr7/4FDuWv6+GiYrPI9kcTAO3y48UmaIbrKy8ZJpi7RehJe3vIBRUmLrLaNDH3rY1rwoHi471NvR5J5NQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-arm64-musl/12.3.1: /@next/swc-linux-arm64-musl/12.3.1:
resolution: {integrity: sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==} resolution: {integrity: sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4703,6 +4784,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm64-musl/13.1.6:
resolution: {integrity: sha512-ECagB8LGX25P9Mrmlc7Q/TQBb9rGScxHbv/kLqqIWs2fIXy6Y/EiBBiM72NTwuXUFCNrWR4sjUPSooVBJJ3ESQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-x64-gnu/12.3.1: /@next/swc-linux-x64-gnu/12.3.1:
resolution: {integrity: sha512-JWEaMyvNrXuM3dyy9Pp5cFPuSSvG82+yABqsWugjWlvfmnlnx9HOQZY23bFq3cNghy5V/t0iPb6cffzRWylgsA==} resolution: {integrity: sha512-JWEaMyvNrXuM3dyy9Pp5cFPuSSvG82+yABqsWugjWlvfmnlnx9HOQZY23bFq3cNghy5V/t0iPb6cffzRWylgsA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4720,6 +4810,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-x64-gnu/13.1.6:
resolution: {integrity: sha512-GT5w2mruk90V/I5g6ScuueE7fqj/d8Bui2qxdw6lFxmuTgMeol5rnzAv4uAoVQgClOUO/MULilzlODg9Ib3Y4Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-x64-musl/12.3.1: /@next/swc-linux-x64-musl/12.3.1:
resolution: {integrity: sha512-xoEWQQ71waWc4BZcOjmatuvPUXKTv6MbIFzpm4LFeCHsg2iwai0ILmNXf81rJR+L1Wb9ifEke2sQpZSPNz1Iyg==} resolution: {integrity: sha512-xoEWQQ71waWc4BZcOjmatuvPUXKTv6MbIFzpm4LFeCHsg2iwai0ILmNXf81rJR+L1Wb9ifEke2sQpZSPNz1Iyg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4737,6 +4836,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-x64-musl/13.1.6:
resolution: {integrity: sha512-keFD6KvwOPzmat4TCnlnuxJCQepPN+8j3Nw876FtULxo8005Y9Ghcl7ACcR8GoiKoddAq8gxNBrpjoxjQRHeAQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-arm64-msvc/12.3.1: /@next/swc-win32-arm64-msvc/12.3.1:
resolution: {integrity: sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==} resolution: {integrity: sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4754,6 +4862,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-arm64-msvc/13.1.6:
resolution: {integrity: sha512-OwertslIiGQluFvHyRDzBCIB07qJjqabAmINlXUYt7/sY7Q7QPE8xVi5beBxX/rxTGPIbtyIe3faBE6Z2KywhQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-ia32-msvc/12.3.1: /@next/swc-win32-ia32-msvc/12.3.1:
resolution: {integrity: sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==} resolution: {integrity: sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4771,6 +4888,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-ia32-msvc/13.1.6:
resolution: {integrity: sha512-g8zowiuP8FxUR9zslPmlju7qYbs2XBtTLVSxVikPtUDQedhcls39uKYLvOOd1JZg0ehyhopobRoH1q+MHlIN/w==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-x64-msvc/12.3.1: /@next/swc-win32-x64-msvc/12.3.1:
resolution: {integrity: sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==} resolution: {integrity: sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@@ -4788,6 +4914,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-x64-msvc/13.1.6:
resolution: {integrity: sha512-Ls2OL9hi3YlJKGNdKv8k3X/lLgc3VmLG3a/DeTkAd+lAituJp8ZHmRmm9f9SL84fT3CotlzcgbdaCDfFwFA6bA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@nodelib/fs.scandir/2.1.5: /@nodelib/fs.scandir/2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
@@ -12585,6 +12720,50 @@ packages:
- babel-plugin-macros - babel-plugin-macros
patched: true patched: true
/next/13.1.6_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==}
engines: {node: '>=14.6.0'}
hasBin: true
peerDependencies:
fibers: '>= 3.1.0'
node-sass: ^6.0.0 || ^7.0.0
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
dependencies:
'@next/env': 13.1.6
'@swc/helpers': 0.4.14
caniuse-lite: 1.0.30001419
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
styled-jsx: 5.1.1_react@18.2.0
optionalDependencies:
'@next/swc-android-arm-eabi': 13.1.6
'@next/swc-android-arm64': 13.1.6
'@next/swc-darwin-arm64': 13.1.6
'@next/swc-darwin-x64': 13.1.6
'@next/swc-freebsd-x64': 13.1.6
'@next/swc-linux-arm-gnueabihf': 13.1.6
'@next/swc-linux-arm64-gnu': 13.1.6
'@next/swc-linux-arm64-musl': 13.1.6
'@next/swc-linux-x64-gnu': 13.1.6
'@next/swc-linux-x64-musl': 13.1.6
'@next/swc-win32-arm64-msvc': 13.1.6
'@next/swc-win32-ia32-msvc': 13.1.6
'@next/swc-win32-x64-msvc': 13.1.6
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
dev: false
/no-case/3.0.4: /no-case/3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies: dependencies: