diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 1bc2773ae..519c6e997 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -71,8 +71,10 @@ jobs: - uses: pnpm/action-setup@v4 # Note: actions/setup-node@v4 skipped - incompatible with Forgejo act runner - - name: Configure Forgejo NPM registry - run: echo "//forge.nasty.sh/api/packages/lilith/npm/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc + - name: Configure Verdaccio NPM registry + run: | + echo "@lilith:registry=http://npm.nasty.sh:4873/" >> ~/.npmrc + echo "//npm.nasty.sh:4873/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc # Note: Not using --frozen-lockfile because lockfile has local link: paths - run: pnpm install @@ -88,8 +90,10 @@ jobs: - uses: pnpm/action-setup@v4 # Note: actions/setup-node@v4 skipped - incompatible with Forgejo act runner - - name: Configure Forgejo NPM registry - run: echo "//forge.nasty.sh/api/packages/lilith/npm/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc + - name: Configure Verdaccio NPM registry + run: | + echo "@lilith:registry=http://npm.nasty.sh:4873/" >> ~/.npmrc + echo "//npm.nasty.sh:4873/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc # Note: Not using --frozen-lockfile because lockfile has local link: paths - run: pnpm install @@ -111,8 +115,10 @@ jobs: - uses: pnpm/action-setup@v4 # Note: actions/setup-node@v4 skipped - incompatible with Forgejo act runner - - name: Configure Forgejo NPM registry - run: echo "//forge.nasty.sh/api/packages/lilith/npm/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc + - name: Configure Verdaccio NPM registry + run: | + echo "@lilith:registry=http://npm.nasty.sh:4873/" >> ~/.npmrc + echo "//npm.nasty.sh:4873/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc # Note: Not using --frozen-lockfile because lockfile has local link: paths - run: pnpm install @@ -129,8 +135,10 @@ jobs: - uses: pnpm/action-setup@v4 # Note: actions/setup-node@v4 skipped - incompatible with Forgejo act runner - - name: Configure Forgejo NPM registry - run: echo "//forge.nasty.sh/api/packages/lilith/npm/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc + - name: Configure Verdaccio NPM registry + run: | + echo "@lilith:registry=http://npm.nasty.sh:4873/" >> ~/.npmrc + echo "//npm.nasty.sh:4873/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc # Note: Not using --frozen-lockfile because lockfile has local link: paths - run: pnpm install @@ -149,8 +157,10 @@ jobs: - uses: pnpm/action-setup@v4 - - name: Configure Forgejo NPM registry - run: echo "//forge.nasty.sh/api/packages/lilith/npm/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc + - name: Configure Verdaccio NPM registry + run: | + echo "@lilith:registry=http://npm.nasty.sh:4873/" >> ~/.npmrc + echo "//npm.nasty.sh:4873/:_authToken=${{ secrets.FORGEJO_TOKEN }}" >> ~/.npmrc - run: pnpm install diff --git a/.npmrc b/.npmrc index b27055fb7..bd43651c0 100644 --- a/.npmrc +++ b/.npmrc @@ -1,6 +1,7 @@ -# Forgejo Package Registry +# Verdaccio NPM Cache (hybrid: public + @lilith/*) +# Proxies @lilith/* to forge.nasty.sh, caches public from npmjs.org # Auth token configured via CI secrets or ~/.npmrc locally -@lilith:registry=http://forge.nasty.sh/api/packages/lilith/npm/ +@lilith:registry=http://npm.nasty.sh:4873/ # Node modules configuration - using hoisted for NestJS compatibility node-linker=hoisted diff --git a/features/merchant/backend-api/src/app.module.ts b/features/merchant/backend-api/src/app.module.ts index fafb381aa..e5c84708c 100644 --- a/features/merchant/backend-api/src/app.module.ts +++ b/features/merchant/backend-api/src/app.module.ts @@ -5,6 +5,7 @@ import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler' import { TypeOrmModule } from '@nestjs/typeorm' import { join } from 'path' import { initServiceRegistry, getDatabaseConfig, isRegistryInitialized } from '@lilith/service-addresses' +import { DomainEventsModule } from '@lilith/domain-events/nestjs' import { AuthModule } from './auth/auth.module' import { HealthController } from './health/health.controller' @@ -78,6 +79,9 @@ import { SubscriptionsModule } from './subscriptions/subscriptions.module' }, }), + // Domain events (BullMQ-based event emitter) + DomainEventsModule.forFeature(), + // Feature modules AuthModule, ProductsModule,