Skip to content

Commit 4fb9c86

Browse files
committed
init di
1 parent 458d831 commit 4fb9c86

File tree

12 files changed

+127
-0
lines changed

12 files changed

+127
-0
lines changed

apps/array/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
"electron-store": "^11.0.0",
129129
"file-icon": "^6.0.0",
130130
"idb-keyval": "^6.2.2",
131+
"inversify": "^7.10.6",
131132
"is-glob": "^4.0.3",
132133
"micromatch": "^4.0.5",
133134
"node-addon-api": "^8.5.0",
@@ -142,6 +143,7 @@
142143
"react-hotkeys-hook": "^4.4.4",
143144
"react-markdown": "^10.1.0",
144145
"react-resizable-panels": "^3.0.6",
146+
"reflect-metadata": "^0.2.2",
145147
"remark-gfm": "^4.0.1",
146148
"sonner": "^2.0.7",
147149
"trpc-electron": "^0.1.2",
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import "reflect-metadata";
2+
import { Container } from "inversify";
3+
import { TaskService } from "../services/task.service.js";
4+
import { TOKENS } from "./tokens.js";
5+
6+
/**
7+
* Main process dependency injection container
8+
*/
9+
export const container = new Container({
10+
defaultScope: "Singleton",
11+
});
12+
13+
// Bind services
14+
container.bind<TaskService>(TOKENS.TaskService).to(TaskService);
15+
16+
export function get<T>(token: symbol): T {
17+
return container.get<T>(token);
18+
}

apps/array/src/main/di/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { container, get } from "./container.js";
2+
export { TOKENS } from "./tokens.js";

apps/array/src/main/di/tokens.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export const TOKENS = {
2+
// Services
3+
TaskService: Symbol.for("TaskService"),
4+
} as const;

apps/array/src/main/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import "reflect-metadata";
12
import dns from "node:dns";
23
import { mkdirSync } from "node:fs";
34
import path from "node:path";

apps/array/src/main/services/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import "./posthog-analytics.js";
1515
import "./session-manager.js";
1616
import "./settingsStore.js";
1717
import "./shell.js";
18+
import "./task.service.js";
1819
import "./transcription-prompts.js";
1920
import "./updates.js";
2021
import "./worktree.js";
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import "reflect-metadata";
2+
import { TaskService } from "@renderer/services/task.service";
3+
import { Container } from "inversify";
4+
import { TOKENS } from "./tokens";
5+
6+
/**
7+
* Renderer process dependency injection container
8+
*/
9+
export const container = new Container({
10+
defaultScope: "Singleton",
11+
});
12+
13+
// Bind services
14+
container.bind<TaskService>(TOKENS.TaskService).to(TaskService);
15+
16+
export function get<T>(token: symbol): T {
17+
return container.get<T>(token);
18+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { container, get } from "./container";
2+
export { TOKENS } from "./tokens";
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export const TOKENS = {
2+
// Services
3+
TaskService: Symbol.for("TaskService"),
4+
} as const;

apps/array/src/renderer/main.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import "reflect-metadata";
12
import "@radix-ui/themes/styles.css";
23
import { Providers } from "@components/Providers";
34
import App from "@renderer/App";

0 commit comments

Comments
 (0)