diff --git a/package-lock.json b/package-lock.json
index 1a7694f..9354608 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,9 @@
"name": "directus-extension-meili-sync",
"version": "1.0.0",
"devDependencies": {
- "@directus/extensions-sdk": "16.0.2"
+ "@directus/extensions-sdk": "16.0.2",
+ "typescript": "^5.9.3",
+ "vue": "^3.5.22"
}
},
"node_modules/@babel/code-frame": {
@@ -76,26 +78,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@directus/composables": {
- "version": "11.2.3",
- "resolved": "https://registry.npmjs.org/@directus/composables/-/composables-11.2.3.tgz",
- "integrity": "sha512-1WvDGVKu8rBF0g0IlFAit4rNO/WPcdne+FeQIPmVIa7iR+TR+BX2YUD6II2nDAmOQWxp9E2wjM6DOL3s3pxfCQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@directus/constants": "13.0.3",
- "@directus/utils": "13.0.10",
- "axios": "1.11.0",
- "lodash-es": "4.17.21",
- "nanoid": "5.1.5"
- },
- "funding": {
- "url": "https://github.com/directus/directus?sponsor=1"
- },
- "peerDependencies": {
- "vue": "3.5.18"
- }
- },
"node_modules/@directus/constants": {
"version": "13.0.3",
"resolved": "https://registry.npmjs.org/@directus/constants/-/constants-13.0.3.tgz",
@@ -106,45 +88,6 @@
"url": "https://github.com/directus/directus?sponsor=1"
}
},
- "node_modules/@directus/extensions": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/@directus/extensions/-/extensions-3.0.11.tgz",
- "integrity": "sha512-i+Kjn0mMiFW4LYZT7WLPRX8XO0GsTwgDoukzddvkhK0kAZ7n/Z6RmFJrjI+x8+cPwv9NP6ZzVycSMqe317Ymmw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@directus/constants": "13.0.3",
- "@directus/types": "13.2.3",
- "@directus/utils": "13.0.10",
- "@types/express": "4.17.21",
- "fs-extra": "11.3.0",
- "lodash-es": "4.17.21",
- "zod": "4.0.14"
- },
- "funding": {
- "url": "https://github.com/directus/directus?sponsor=1"
- },
- "peerDependencies": {
- "knex": "3.1.0",
- "pino": "9.7.0",
- "vue": "3.5.18",
- "vue-router": "4.5.1"
- },
- "peerDependenciesMeta": {
- "knex": {
- "optional": true
- },
- "pino": {
- "optional": true
- },
- "vue": {
- "optional": true
- },
- "vue-router": {
- "optional": true
- }
- }
- },
"node_modules/@directus/extensions-sdk": {
"version": "16.0.2",
"resolved": "https://registry.npmjs.org/@directus/extensions-sdk/-/extensions-sdk-16.0.2.tgz",
@@ -189,30 +132,66 @@
"url": "https://github.com/directus/directus?sponsor=1"
}
},
- "node_modules/@directus/schema": {
- "version": "13.0.3",
- "resolved": "https://registry.npmjs.org/@directus/schema/-/schema-13.0.3.tgz",
- "integrity": "sha512-Ls3QdpDDbsaI+/JiRH1WvPzc8zMdaQv+Rww2oyF1GFkXGQFb3RvYM3MX9WTU4RpD4/6YWrAeCaz+jeJlNVz/UQ==",
+ "node_modules/@directus/extensions-sdk/node_modules/@directus/composables": {
+ "version": "11.2.3",
+ "resolved": "https://registry.npmjs.org/@directus/composables/-/composables-11.2.3.tgz",
+ "integrity": "sha512-1WvDGVKu8rBF0g0IlFAit4rNO/WPcdne+FeQIPmVIa7iR+TR+BX2YUD6II2nDAmOQWxp9E2wjM6DOL3s3pxfCQ==",
"dev": true,
- "license": "BUSL-1.1",
+ "license": "MIT",
"dependencies": {
- "knex": "3.1.0"
+ "@directus/constants": "13.0.3",
+ "@directus/utils": "13.0.10",
+ "axios": "1.11.0",
+ "lodash-es": "4.17.21",
+ "nanoid": "5.1.5"
},
"funding": {
"url": "https://github.com/directus/directus?sponsor=1"
+ },
+ "peerDependencies": {
+ "vue": "3.5.18"
}
},
- "node_modules/@directus/system-data": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@directus/system-data/-/system-data-3.3.0.tgz",
- "integrity": "sha512-dDoG/lMHly2hivOE73CPndCREuuzB7E84zBFgmmcLsR9UowC0nrohaeJ2U3s3//XwzU+VTkDR7O1n3s8B0xOgg==",
+ "node_modules/@directus/extensions-sdk/node_modules/@directus/extensions": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@directus/extensions/-/extensions-3.0.11.tgz",
+ "integrity": "sha512-i+Kjn0mMiFW4LYZT7WLPRX8XO0GsTwgDoukzddvkhK0kAZ7n/Z6RmFJrjI+x8+cPwv9NP6ZzVycSMqe317Ymmw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@directus/constants": "13.0.3",
+ "@directus/types": "13.2.3",
+ "@directus/utils": "13.0.10",
+ "@types/express": "4.17.21",
+ "fs-extra": "11.3.0",
+ "lodash-es": "4.17.21",
+ "zod": "4.0.14"
+ },
"funding": {
"url": "https://github.com/directus/directus?sponsor=1"
+ },
+ "peerDependencies": {
+ "knex": "3.1.0",
+ "pino": "9.7.0",
+ "vue": "3.5.18",
+ "vue-router": "4.5.1"
+ },
+ "peerDependenciesMeta": {
+ "knex": {
+ "optional": true
+ },
+ "pino": {
+ "optional": true
+ },
+ "vue": {
+ "optional": true
+ },
+ "vue-router": {
+ "optional": true
+ }
}
},
- "node_modules/@directus/themes": {
+ "node_modules/@directus/extensions-sdk/node_modules/@directus/themes": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/@directus/themes/-/themes-1.1.5.tgz",
"integrity": "sha512-UaWOWqdKtqGjcAjKpT54+wVMsV2nGQHxXGPaWOPnf/69XO7T/E30PhrwRQcNnq4kmNdJJdbxIicVAnr7vumVvQ==",
@@ -233,7 +212,7 @@
"vue": "3.5.18"
}
},
- "node_modules/@directus/types": {
+ "node_modules/@directus/extensions-sdk/node_modules/@directus/types": {
"version": "13.2.3",
"resolved": "https://registry.npmjs.org/@directus/types/-/types-13.2.3.tgz",
"integrity": "sha512-HtMpB5HnosLGZMjgOrtgTqkdlUv5MMyxOmSsgeL+cgQ6NE7vFxcj2MTiLQCRfs4Fu1ySsIPfffOUMBYlw65TtA==",
@@ -300,7 +279,7 @@
}
}
},
- "node_modules/@directus/utils": {
+ "node_modules/@directus/extensions-sdk/node_modules/@directus/utils": {
"version": "13.0.10",
"resolved": "https://registry.npmjs.org/@directus/utils/-/utils-13.0.10.tgz",
"integrity": "sha512-DwnTP4YeFMxEsLJcpy+1zljF31xRV5d9NgK9Uj0f5MGSFddq2xCAdeBZUO8B7dtBHBUZ+uU5JQP6UpaotHxv1A==",
@@ -328,6 +307,160 @@
}
}
},
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/compiler-core": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.18.tgz",
+ "integrity": "sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.0",
+ "@vue/shared": "3.5.18",
+ "entities": "^4.5.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/compiler-dom": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz",
+ "integrity": "sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.5.18",
+ "@vue/shared": "3.5.18"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/compiler-sfc": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz",
+ "integrity": "sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.0",
+ "@vue/compiler-core": "3.5.18",
+ "@vue/compiler-dom": "3.5.18",
+ "@vue/compiler-ssr": "3.5.18",
+ "@vue/shared": "3.5.18",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.17",
+ "postcss": "^8.5.6",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/compiler-ssr": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.18.tgz",
+ "integrity": "sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.18",
+ "@vue/shared": "3.5.18"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/reactivity": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.18.tgz",
+ "integrity": "sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.5.18"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/runtime-core": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.18.tgz",
+ "integrity": "sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.18",
+ "@vue/shared": "3.5.18"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/runtime-dom": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.18.tgz",
+ "integrity": "sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.18",
+ "@vue/runtime-core": "3.5.18",
+ "@vue/shared": "3.5.18",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/server-renderer": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.18.tgz",
+ "integrity": "sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.5.18",
+ "@vue/shared": "3.5.18"
+ },
+ "peerDependencies": {
+ "vue": "3.5.18"
+ }
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/@vue/shared": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.18.tgz",
+ "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@directus/extensions-sdk/node_modules/vue": {
+ "version": "3.5.18",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.18.tgz",
+ "integrity": "sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.18",
+ "@vue/compiler-sfc": "3.5.18",
+ "@vue/runtime-dom": "3.5.18",
+ "@vue/server-renderer": "3.5.18",
+ "@vue/shared": "3.5.18"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@directus/schema": {
+ "version": "13.0.3",
+ "resolved": "https://registry.npmjs.org/@directus/schema/-/schema-13.0.3.tgz",
+ "integrity": "sha512-Ls3QdpDDbsaI+/JiRH1WvPzc8zMdaQv+Rww2oyF1GFkXGQFb3RvYM3MX9WTU4RpD4/6YWrAeCaz+jeJlNVz/UQ==",
+ "dev": true,
+ "license": "BUSL-1.1",
+ "dependencies": {
+ "knex": "3.1.0"
+ },
+ "funding": {
+ "url": "https://github.com/directus/directus?sponsor=1"
+ }
+ },
+ "node_modules/@directus/system-data": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@directus/system-data/-/system-data-3.3.0.tgz",
+ "integrity": "sha512-dDoG/lMHly2hivOE73CPndCREuuzB7E84zBFgmmcLsR9UowC0nrohaeJ2U3s3//XwzU+VTkDR7O1n3s8B0xOgg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/directus/directus?sponsor=1"
+ }
+ },
"node_modules/@esbuild/aix-ppc64": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
@@ -1946,57 +2079,57 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.18.tgz",
- "integrity": "sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.22.tgz",
+ "integrity": "sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.28.0",
- "@vue/shared": "3.5.18",
+ "@babel/parser": "^7.28.4",
+ "@vue/shared": "3.5.22",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.1"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz",
- "integrity": "sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.22.tgz",
+ "integrity": "sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/compiler-core": "3.5.18",
- "@vue/shared": "3.5.18"
+ "@vue/compiler-core": "3.5.22",
+ "@vue/shared": "3.5.22"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz",
- "integrity": "sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.22.tgz",
+ "integrity": "sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.28.0",
- "@vue/compiler-core": "3.5.18",
- "@vue/compiler-dom": "3.5.18",
- "@vue/compiler-ssr": "3.5.18",
- "@vue/shared": "3.5.18",
+ "@babel/parser": "^7.28.4",
+ "@vue/compiler-core": "3.5.22",
+ "@vue/compiler-dom": "3.5.22",
+ "@vue/compiler-ssr": "3.5.22",
+ "@vue/shared": "3.5.22",
"estree-walker": "^2.0.2",
- "magic-string": "^0.30.17",
+ "magic-string": "^0.30.19",
"postcss": "^8.5.6",
"source-map-js": "^1.2.1"
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.18.tgz",
- "integrity": "sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.22.tgz",
+ "integrity": "sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.5.18",
- "@vue/shared": "3.5.18"
+ "@vue/compiler-dom": "3.5.22",
+ "@vue/shared": "3.5.22"
}
},
"node_modules/@vue/devtools-api": {
@@ -2008,57 +2141,57 @@
"peer": true
},
"node_modules/@vue/reactivity": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.18.tgz",
- "integrity": "sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.22.tgz",
+ "integrity": "sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/shared": "3.5.18"
+ "@vue/shared": "3.5.22"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.18.tgz",
- "integrity": "sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.22.tgz",
+ "integrity": "sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.5.18",
- "@vue/shared": "3.5.18"
+ "@vue/reactivity": "3.5.22",
+ "@vue/shared": "3.5.22"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.18.tgz",
- "integrity": "sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.22.tgz",
+ "integrity": "sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.5.18",
- "@vue/runtime-core": "3.5.18",
- "@vue/shared": "3.5.18",
+ "@vue/reactivity": "3.5.22",
+ "@vue/runtime-core": "3.5.22",
+ "@vue/shared": "3.5.22",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.18.tgz",
- "integrity": "sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.22.tgz",
+ "integrity": "sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/compiler-ssr": "3.5.18",
- "@vue/shared": "3.5.18"
+ "@vue/compiler-ssr": "3.5.22",
+ "@vue/shared": "3.5.22"
},
"peerDependencies": {
- "vue": "3.5.18"
+ "vue": "3.5.22"
}
},
"node_modules/@vue/shared": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.18.tgz",
- "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.22.tgz",
+ "integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==",
"dev": true,
"license": "MIT"
},
@@ -4053,34 +4186,6 @@
}
}
},
- "node_modules/pinia/node_modules/vue-demi": {
- "version": "0.14.10",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
- "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "vue-demi-fix": "bin/vue-demi-fix.js",
- "vue-demi-switch": "bin/vue-demi-switch.js"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- },
- "peerDependencies": {
- "@vue/composition-api": "^1.0.0-rc.1",
- "vue": "^3.0.0-0 || ^2.6.0"
- },
- "peerDependenciesMeta": {
- "@vue/composition-api": {
- "optional": true
- }
- }
- },
"node_modules/postcss": {
"version": "8.5.6",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
@@ -5275,6 +5380,20 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
"node_modules/undici-types": {
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz",
@@ -5453,17 +5572,17 @@
}
},
"node_modules/vue": {
- "version": "3.5.18",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.18.tgz",
- "integrity": "sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==",
+ "version": "3.5.22",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.22.tgz",
+ "integrity": "sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.5.18",
- "@vue/compiler-sfc": "3.5.18",
- "@vue/runtime-dom": "3.5.18",
- "@vue/server-renderer": "3.5.18",
- "@vue/shared": "3.5.18"
+ "@vue/compiler-dom": "3.5.22",
+ "@vue/compiler-sfc": "3.5.22",
+ "@vue/runtime-dom": "3.5.22",
+ "@vue/server-renderer": "3.5.22",
+ "@vue/shared": "3.5.22"
},
"peerDependencies": {
"typescript": "*"
@@ -5474,6 +5593,34 @@
}
}
},
+ "node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index ed3a345..10eb734 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,13 @@
"app": "dist/app.js",
"api": "dist/api.js"
},
- "entries": [],
+ "entries": [
+ {
+ "type": "module",
+ "name": "meilisearch_module",
+ "source": "src/meilisearch_module/index.ts"
+ }
+ ],
"host": "^10.10.0"
},
"scripts": {
@@ -29,6 +35,8 @@
"add": "directus-extension add"
},
"devDependencies": {
- "@directus/extensions-sdk": "16.0.2"
+ "@directus/extensions-sdk": "16.0.2",
+ "typescript": "^5.9.3",
+ "vue": "^3.5.22"
}
}
diff --git a/src/meilisearch_module/index.ts b/src/meilisearch_module/index.ts
new file mode 100644
index 0000000..46208e9
--- /dev/null
+++ b/src/meilisearch_module/index.ts
@@ -0,0 +1,14 @@
+import { defineModule } from '@directus/extensions-sdk';
+import ModuleComponent from './module.vue';
+
+export default defineModule({
+ id: 'custom',
+ name: 'Custom',
+ icon: 'box',
+ routes: [
+ {
+ path: '',
+ component: ModuleComponent,
+ },
+ ],
+});
diff --git a/src/meilisearch_module/module.vue b/src/meilisearch_module/module.vue
new file mode 100644
index 0000000..9aa94cf
--- /dev/null
+++ b/src/meilisearch_module/module.vue
@@ -0,0 +1,9 @@
+
+ Content goes here...
+
+
+
diff --git a/src/meilisearch_module/shims.d.ts b/src/meilisearch_module/shims.d.ts
new file mode 100644
index 0000000..9923fb6
--- /dev/null
+++ b/src/meilisearch_module/shims.d.ts
@@ -0,0 +1,5 @@
+declare module '*.vue' {
+ import { DefineComponent } from 'vue';
+ const component: DefineComponent<{}, {}, any>;
+ export default component;
+}
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..64735af
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,28 @@
+{
+ "compilerOptions": {
+ "target": "ES2019",
+ "lib": ["ES2019", "DOM"],
+ "moduleResolution": "node",
+ "strict": true,
+ "noFallthroughCasesInSwitch": true,
+ "esModuleInterop": true,
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "noImplicitReturns": true,
+ "noUnusedLocals": true,
+ "noUncheckedIndexedAccess": true,
+ "noUnusedParameters": true,
+ "alwaysStrict": true,
+ "strictNullChecks": true,
+ "strictFunctionTypes": true,
+ "strictBindCallApply": true,
+ "strictPropertyInitialization": true,
+ "resolveJsonModule": false,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "allowSyntheticDefaultImports": true,
+ "isolatedModules": true,
+ "rootDir": "./src"
+ },
+ "include": ["./src/**/*.ts"]
+}