aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared-server
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2025-07-27 19:37:11 +0100
committerMohamedBassem <me@mbassem.com>2025-07-27 19:37:11 +0100
commitb94896a0f8fa43b957a9bdd6ab57ada0ab8101af (patch)
treeed8f79ce7d407379fa0d8210db52959f849fac0e /packages/shared-server
parent7bb7f18fbf8e374efde2fe28bacfc29157b9fa19 (diff)
downloadkarakeep-b94896a0f8fa43b957a9bdd6ab57ada0ab8101af.tar.zst
refactor: Extract meilisearch as a plugin
Diffstat (limited to 'packages/shared-server')
-rw-r--r--packages/shared-server/.oxlintrc.json19
-rw-r--r--packages/shared-server/index.ts1
-rw-r--r--packages/shared-server/package.json28
-rw-r--r--packages/shared-server/src/index.ts1
-rw-r--r--packages/shared-server/src/plugins.ts12
-rw-r--r--packages/shared-server/tsconfig.json10
6 files changed, 71 insertions, 0 deletions
diff --git a/packages/shared-server/.oxlintrc.json b/packages/shared-server/.oxlintrc.json
new file mode 100644
index 00000000..79ba0255
--- /dev/null
+++ b/packages/shared-server/.oxlintrc.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "../../node_modules/oxlint/configuration_schema.json",
+ "extends": [
+ "../../tooling/oxlint/oxlint-base.json"
+ ],
+ "env": {
+ "builtin": true,
+ "commonjs": true
+ },
+ "ignorePatterns": [
+ "**/*.config.js",
+ "**/*.config.cjs",
+ "**/.eslintrc.cjs",
+ "**/.next",
+ "**/dist",
+ "**/build",
+ "**/pnpm-lock.yaml"
+ ]
+}
diff --git a/packages/shared-server/index.ts b/packages/shared-server/index.ts
new file mode 100644
index 00000000..3bd16e17
--- /dev/null
+++ b/packages/shared-server/index.ts
@@ -0,0 +1 @@
+export * from "./src";
diff --git a/packages/shared-server/package.json b/packages/shared-server/package.json
new file mode 100644
index 00000000..8ac98e21
--- /dev/null
+++ b/packages/shared-server/package.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://json.schemastore.org/package.json",
+ "name": "@karakeep/shared-server",
+ "version": "0.1.0",
+ "private": true,
+ "type": "module",
+ "dependencies": {
+ "@karakeep/plugins-search-meilisearch": "workspace:^0.1.0",
+ "@karakeep/shared": "workspace:^0.1.0"
+ },
+ "devDependencies": {
+ "@karakeep/prettier-config": "workspace:^0.1.0",
+ "@karakeep/tsconfig": "workspace:^0.1.0"
+ },
+ "scripts": {
+ "typecheck": "tsc --noEmit",
+ "format": "prettier . --cache --ignore-path ../../.prettierignore --check",
+ "format:fix": "prettier . --cache --write --ignore-path ../../.prettierignore",
+ "lint": "oxlint .",
+ "lint:fix": "oxlint . --fix",
+ "test": "vitest"
+ },
+ "main": "index.ts",
+ "exports": {
+ ".": "./index.ts"
+ },
+ "prettier": "@karakeep/prettier-config"
+}
diff --git a/packages/shared-server/src/index.ts b/packages/shared-server/src/index.ts
new file mode 100644
index 00000000..a17576ad
--- /dev/null
+++ b/packages/shared-server/src/index.ts
@@ -0,0 +1 @@
+export { loadAllPlugins } from "./plugins";
diff --git a/packages/shared-server/src/plugins.ts b/packages/shared-server/src/plugins.ts
new file mode 100644
index 00000000..86a0b344
--- /dev/null
+++ b/packages/shared-server/src/plugins.ts
@@ -0,0 +1,12 @@
+import { PluginManager } from "@karakeep/shared/plugins";
+
+let pluginsLoaded = false;
+export async function loadAllPlugins() {
+ if (pluginsLoaded) {
+ return;
+ }
+ // Load plugins here. Order of plugin loading matter.
+ await import("@karakeep/plugins-search-meilisearch");
+ PluginManager.logAllPlugins();
+ pluginsLoaded = true;
+}
diff --git a/packages/shared-server/tsconfig.json b/packages/shared-server/tsconfig.json
new file mode 100644
index 00000000..9bb09964
--- /dev/null
+++ b/packages/shared-server/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@karakeep/tsconfig/node.json",
+ "include": ["src/**/*.ts"],
+ "exclude": ["node_modules"],
+ "compilerOptions": {
+ "rootDir": "src/",
+ "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json"
+ },
+}