diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3cb9884..ef15783 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,6 @@ on: permissions: contents: write - packages: write jobs: release: @@ -20,7 +19,6 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: '0' - token: ${{ secrets.TOKEN_GITHUB_TO_GITHUB_REPOSITORIES_RW }} - name: Use Node.js uses: actions/setup-node@v4 with: diff --git a/.npmignore b/.npmignore index 8b30a5c..dabf84b 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,5 @@ .github/ src/ -test/ .gitignore .npmignore biome.json diff --git a/package.json b/package.json index e0e783d..7dfe4ab 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ } }, "types": "./dist/index.d.ts", + "dependencies": { + "testcontainers": "10.24.2" + }, "devDependencies": { "@biomejs/biome": "1.9.4", "@types/node": "22.14.1", @@ -26,9 +29,7 @@ "build": "npx tsc --noEmit && npx tsup --clean --dts --format cjs,esm --minify --out-dir=./dist/ ./src/index.ts", "format": "npx biome format --write .", "qa": "npm run analyze && npm run test", - "test": "npm run test:unit && npm run test:integration", - "test:unit": "node --test --import tsx \"./src/**/*.test.ts\"", - "test:integration": "node --test --import tsx \"./test/**/*.test.ts\"" + "test": "node --test --import tsx \"./src/**/*.test.ts\"" }, "repository": { "type": "git", @@ -43,8 +44,5 @@ "event sourcing", "event store", "cqrs" - ], - "dependencies": { - "testcontainers": "10.24.2" - } + ] } diff --git a/test/observeEvents.test.ts b/src/observeEvents.test.ts similarity index 84% rename from test/observeEvents.test.ts rename to src/observeEvents.test.ts index 06cd74c..66debe5 100644 --- a/test/observeEvents.test.ts +++ b/src/observeEvents.test.ts @@ -1,8 +1,8 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import type { Event } from '../src/Event.js'; -import type { EventCandidate } from '../src/EventCandidate.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import type { Event } from './Event.js'; +import type { EventCandidate } from './EventCandidate.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('observeEvents', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; @@ -67,7 +67,7 @@ suite('observeEvents', { timeout: 30_000 }, () => { controller.abort(); }, 100); - const eventsRead: Event[] = []; + const eventsObserved: Event[] = []; for await (const event of client.observeEvents( '/test', { @@ -75,10 +75,10 @@ suite('observeEvents', { timeout: 30_000 }, () => { }, controller.signal, )) { - eventsRead.push(event); + eventsObserved.push(event); } - assert.equal(eventsRead.length, 2); + assert.equal(eventsObserved.length, 2); }); test('observes recursively.', async (): Promise => { @@ -110,7 +110,7 @@ suite('observeEvents', { timeout: 30_000 }, () => { controller.abort(); }, 100); - const eventsRead: Event[] = []; + const eventsObserved: Event[] = []; for await (const event of client.observeEvents( '/', { @@ -118,10 +118,10 @@ suite('observeEvents', { timeout: 30_000 }, () => { }, controller.signal, )) { - eventsRead.push(event); + eventsObserved.push(event); } - assert.equal(eventsRead.length, 2); + assert.equal(eventsObserved.length, 2); }); test('observes with lower bound.', async (): Promise => { @@ -153,7 +153,7 @@ suite('observeEvents', { timeout: 30_000 }, () => { controller.abort(); }, 100); - const eventsRead: Event[] = []; + const eventsObserved: Event[] = []; for await (const event of client.observeEvents( '/test', { @@ -162,11 +162,11 @@ suite('observeEvents', { timeout: 30_000 }, () => { }, controller.signal, )) { - eventsRead.push(event); + eventsObserved.push(event); } - assert.equal(eventsRead.length, 1); - assert.equal(eventsRead[0].data.value, 42); + assert.equal(eventsObserved.length, 1); + assert.equal(eventsObserved[0].data.value, 42); }); test('observes from latest event.', async (): Promise => { @@ -198,7 +198,7 @@ suite('observeEvents', { timeout: 30_000 }, () => { controller.abort(); }, 100); - const eventsRead: Event[] = []; + const eventsObserved: Event[] = []; for await (const event of client.observeEvents( '/test', { @@ -211,10 +211,10 @@ suite('observeEvents', { timeout: 30_000 }, () => { }, controller.signal, )) { - eventsRead.push(event); + eventsObserved.push(event); } - assert.equal(eventsRead.length, 1); - assert.equal(eventsRead[0].data.value, 42); + assert.equal(eventsObserved.length, 1); + assert.equal(eventsObserved[0].data.value, 42); }); }); diff --git a/test/ping.test.ts b/src/ping.test.ts similarity index 89% rename from test/ping.test.ts rename to src/ping.test.ts index 6c7409c..d992579 100644 --- a/test/ping.test.ts +++ b/src/ping.test.ts @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import { Client } from '../src/Client.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import { Client } from './Client.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('ping', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/readEventTypes.test.ts b/src/readEventTypes.test.ts similarity index 91% rename from test/readEventTypes.test.ts rename to src/readEventTypes.test.ts index ecf5cdd..6019268 100644 --- a/test/readEventTypes.test.ts +++ b/src/readEventTypes.test.ts @@ -1,8 +1,8 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import type { EventCandidate } from '../src/EventCandidate.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; -import type { EventType } from '../src/EventType.js'; +import type { EventCandidate } from './EventCandidate.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; +import type { EventType } from './EventType.js'; suite('readEventTypes', { timeout: 20_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/readEvents.test.ts b/src/readEvents.test.ts similarity index 97% rename from test/readEvents.test.ts rename to src/readEvents.test.ts index 4f55d23..57e1a84 100644 --- a/test/readEvents.test.ts +++ b/src/readEvents.test.ts @@ -1,8 +1,8 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import type { Event } from '../src/Event.js'; -import type { EventCandidate } from '../src/EventCandidate.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import type { Event } from './Event.js'; +import type { EventCandidate } from './EventCandidate.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('readEvents', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/readSubjects.test.ts b/src/readSubjects.test.ts similarity index 94% rename from test/readSubjects.test.ts rename to src/readSubjects.test.ts index e23ef62..f48f08c 100644 --- a/test/readSubjects.test.ts +++ b/src/readSubjects.test.ts @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import type { EventCandidate } from '../src/EventCandidate.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import type { EventCandidate } from './EventCandidate.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('readSubjects', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/registerEventSchema.test.ts b/src/registerEventSchema.test.ts similarity index 94% rename from test/registerEventSchema.test.ts rename to src/registerEventSchema.test.ts index 2bdf7cc..d661a99 100644 --- a/test/registerEventSchema.test.ts +++ b/src/registerEventSchema.test.ts @@ -1,6 +1,6 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('registerEventSchema', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/runEventQlQuery.test.ts b/src/runEventQlQuery.test.ts similarity index 92% rename from test/runEventQlQuery.test.ts rename to src/runEventQlQuery.test.ts index 418631f..6f510a1 100644 --- a/test/runEventQlQuery.test.ts +++ b/src/runEventQlQuery.test.ts @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import type { EventCandidate } from '../src/EventCandidate.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import type { EventCandidate } from './EventCandidate.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('runEventQlQuery', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/verifyApiToken.test.ts b/src/verifyApiToken.test.ts similarity index 89% rename from test/verifyApiToken.test.ts rename to src/verifyApiToken.test.ts index 2659e7f..39dc573 100644 --- a/test/verifyApiToken.test.ts +++ b/src/verifyApiToken.test.ts @@ -1,7 +1,7 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import { Client } from '../src/Client.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; +import { Client } from './Client.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; suite('verifyApiToken', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer; diff --git a/test/writeEvents.test.ts b/src/writeEvents.test.ts similarity index 92% rename from test/writeEvents.test.ts rename to src/writeEvents.test.ts index 27280f3..adb8535 100644 --- a/test/writeEvents.test.ts +++ b/src/writeEvents.test.ts @@ -1,9 +1,9 @@ import assert from 'node:assert/strict'; import { afterEach, beforeEach, suite, test } from 'node:test'; -import type { EventCandidate } from '../src/EventCandidate.js'; -import { EventSourcingDbContainer } from '../src/EventSourcingDbContainer.js'; -import { isSubjectOnEventId } from '../src/isSubjectOnEventId.js'; -import { isSubjectPristine } from '../src/isSubjectPristine.js'; +import type { EventCandidate } from './EventCandidate.js'; +import { EventSourcingDbContainer } from './EventSourcingDbContainer.js'; +import { isSubjectOnEventId } from './isSubjectOnEventId.js'; +import { isSubjectPristine } from './isSubjectPristine.js'; suite('writeEvents', { timeout: 30_000 }, () => { let container: EventSourcingDbContainer;