Skip to content

Commit 64756c4

Browse files
committed
AP-5046 New package.
1 parent 3bf68be commit 64756c4

File tree

6 files changed

+126
-0
lines changed

6 files changed

+126
-0
lines changed

packages/outbox-core/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './lib/outbox'

packages/outbox-core/lib/outbox.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export interface OutboxStorage {
2+
saveMessage(message: unknown): Promise<void>
3+
getMessage(): Promise<unknown>
4+
deleteMessage(): Promise<void>
5+
}
6+
7+
export class OutboxProcessor {
8+
9+
}

packages/outbox-core/package.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"name": "@message-queue-toolkit/outbox-core",
3+
"version": "0.1.0",
4+
"private": false,
5+
"license": "MIT",
6+
"description": "Outbox pattern implementation for message queue toolkit",
7+
"maintainers": [
8+
{
9+
"name": "Igor Savin",
10+
"email": "[email protected]"
11+
}
12+
],
13+
"main": "dist/index.js",
14+
"types": "dist/index.d.ts",
15+
"scripts": {
16+
"build": "del-cli dist && tsc",
17+
"build:release": "del-cli dist && del-cli coverage && npm run lint && tsc --project tsconfig.release.json",
18+
"test": "vitest",
19+
"test:coverage": "npm test -- --coverage",
20+
"test:ci": "npm run docker:start:dev && npm run test:coverage && npm run docker:stop:dev",
21+
"lint": "biome check . && tsc --project tsconfig.json --noEmit",
22+
"lint:fix": "biome check --write .",
23+
"docker:start:dev": "docker compose up -d",
24+
"docker:stop:dev": "docker compose down",
25+
"prepublishOnly": "npm run build:release"
26+
},
27+
"dependencies": {
28+
"@lokalise/background-jobs-common": "^7.6.1"
29+
},
30+
"peerDependencies": {
31+
"@message-queue-toolkit/core": ">=14.0.0"
32+
},
33+
"devDependencies": {
34+
"@message-queue-toolkit/core": "*",
35+
"@biomejs/biome": "1.8.3",
36+
"@kibertoad/biome-config": "^1.2.1",
37+
"@types/node": "^22.0.0",
38+
"@vitest/coverage-v8": "^2.0.4",
39+
"del-cli": "^5.1.0",
40+
"typescript": "^5.5.3",
41+
"vitest": "^2.0.4"
42+
},
43+
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
44+
"repository": {
45+
"type": "git",
46+
"url": "git://github.com/kibertoad/message-queue-toolkit.git"
47+
},
48+
"keywords": [
49+
"message",
50+
"queue",
51+
"queues",
52+
"abstract",
53+
"common",
54+
"utils",
55+
"notification",
56+
"s3",
57+
"store",
58+
"claim-check"
59+
],
60+
"files": ["README.md", "LICENSE", "dist/*"]
61+
}

packages/outbox-core/tsconfig.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"compilerOptions": {
3+
"outDir": "dist",
4+
"module": "commonjs",
5+
"target": "ES2022",
6+
"lib": ["ES2022", "dom"],
7+
"sourceMap": true,
8+
"declaration": true,
9+
"declarationMap": false,
10+
"types": ["node", "vitest/globals"],
11+
"strict": true,
12+
"moduleResolution": "node",
13+
"noUnusedLocals": false,
14+
"noUnusedParameters": false,
15+
"noFallthroughCasesInSwitch": true,
16+
"strictNullChecks": true,
17+
"importHelpers": true,
18+
"baseUrl": ".",
19+
"skipLibCheck": true,
20+
"allowSyntheticDefaultImports": true,
21+
"esModuleInterop": true,
22+
"forceConsistentCasingInFileNames": true,
23+
"resolveJsonModule": true
24+
},
25+
"include": ["lib/**/*.ts", "test/**/*.ts", "index.ts"],
26+
"exclude": ["node_modules", "dist"]
27+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"include": ["lib/**/*.ts", "index.ts"],
4+
"exclude": ["node_modules", "dist", "lib/**/*.spec.ts"]
5+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { defineConfig } from 'vitest/config'
2+
3+
export default defineConfig({
4+
test: {
5+
globals: true,
6+
watch: false,
7+
environment: 'node',
8+
reporters: ['default'],
9+
coverage: {
10+
provider: 'v8',
11+
include: ['lib/**/*.ts'],
12+
exclude: ['lib/**/*.spec.ts', 'lib/**/*.test.ts', 'test/**/*.*'],
13+
reporter: ['text'],
14+
all: true,
15+
thresholds: {
16+
lines: 100,
17+
functions: 100,
18+
branches: 91.66,
19+
statements: 100,
20+
},
21+
},
22+
},
23+
})

0 commit comments

Comments
 (0)