diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f02b88c..b02cb9af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,6 +46,9 @@ jobs: - name: Lint run: pnpm lint:ci + - name: Typecheck + run: pnpm typecheck + test-matrix: name: Test Matrix (Node ${{ matrix.node-version }}) runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3abbd780..5bfbac01 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -276,3 +276,22 @@ jobs: --- > **WARNING**: npm publish failed. Package was NOT published to npm." || true + + trigger-docs: + name: Trigger Docs Build + needs: [release-please, publish] + if: >- + needs.release-please.result == 'success' + && needs.release-please.outputs.release_created == 'true' + && needs.publish.result == 'success' + && github.ref_name == 'master' + runs-on: ubuntu-latest + permissions: + actions: write + steps: + - name: Dispatch build-docs workflow + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAG: ${{ needs.release-please.outputs.tag_name }} + REPO: ${{ github.repository }} + run: gh workflow run build-docs.yaml --repo "$REPO" --ref "$TAG" diff --git a/package.json b/package.json index c2c47c95..6341bacd 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "docs": "typedoc --entryPointStrategy expand ./src", "lint": "biome check --write", "lint:ci": "biome check", + "typecheck": "tsc --noEmit", "dev": "tsup --watch", "test": "vitest run", "test:ci": "vitest run --exclude '**/*.e2e.test.ts'", diff --git a/src/lib/schemaUtils.ts b/src/lib/schemaUtils.ts index 5f366d99..d2be40bc 100644 --- a/src/lib/schemaUtils.ts +++ b/src/lib/schemaUtils.ts @@ -45,7 +45,7 @@ export const safeDateTransfer = ( message: error instanceof Error ? error.message : String(error), }), }) - : Effect.void; + : Effect.succeed(undefined); /** * formatWithTransfer를 Effect로 감싸 InvalidDateError가 Defect가 되지 않도록 합니다. diff --git a/test/lib/bms-test-utils.ts b/test/lib/bms-test-utils.ts index 49b97ab7..aad2ab3f 100644 --- a/test/lib/bms-test-utils.ts +++ b/test/lib/bms-test-utils.ts @@ -2,10 +2,10 @@ import path from 'path'; import type { BmsCarouselCommerceItemSchema, BmsCarouselFeedItemSchema, + BmsChatBubbleType, BmsMainWideItemSchema, BmsSubWideItemSchema, } from '@/models/base/kakao/bms'; -import type {BmsChatBubbleType} from '@/models/base/kakao/kakaoOption'; import type {FileType} from '@/models/requests/messages/groupMessageRequest'; import type StorageService from '@/services/storage/storageService'; diff --git a/test/models/base/kakao/bms/bmsConstraints.test.ts b/test/models/base/kakao/bms/bmsConstraints.test.ts index ca746a4e..25978979 100644 --- a/test/models/base/kakao/bms/bmsConstraints.test.ts +++ b/test/models/base/kakao/bms/bmsConstraints.test.ts @@ -27,14 +27,14 @@ describe('validateCouponDescription', () => { }); it.each([ - ['TEXT', 12, true], - ['IMAGE', 12, true], - ['COMMERCE', 12, true], - ['CAROUSEL_FEED', 12, true], - ['CAROUSEL_COMMERCE', 12, true], - ['PREMIUM_VIDEO', 12, true], - ['WIDE', 18, true], - ['WIDE_ITEM_LIST', 18, true], + ['TEXT', 12], + ['IMAGE', 12], + ['COMMERCE', 12], + ['CAROUSEL_FEED', 12], + ['CAROUSEL_COMMERCE', 12], + ['PREMIUM_VIDEO', 12], + ['WIDE', 18], + ['WIDE_ITEM_LIST', 18], ] as const)('should accept coupon description at exact max length for %s (%d chars)', (chatBubbleType, maxLen) => { const result = validateCouponDescription({ chatBubbleType, diff --git a/test/models/requests/messages/sendMessage.test.ts b/test/models/requests/messages/sendMessage.test.ts index 65facef1..c52dd20e 100644 --- a/test/models/requests/messages/sendMessage.test.ts +++ b/test/models/requests/messages/sendMessage.test.ts @@ -597,6 +597,8 @@ describe('sendRequestConfigSchema', () => { }); const encoded = Schema.encodeSync(sendRequestConfigSchema)(decoded); - expect(encoded.scheduledDate!.getTime()).toBe(originalDate.getTime()); + expect(new Date(encoded.scheduledDate!).getTime()).toBe( + originalDate.getTime(), + ); }); });