diff --git a/docs/architecture/rewrite-plan.md b/docs/architecture/rewrite-plan.md index 1570891..279f161 100644 --- a/docs/architecture/rewrite-plan.md +++ b/docs/architecture/rewrite-plan.md @@ -5,7 +5,7 @@ Vue 3 frontends. ## Planned Layout -- `/packages/common`: shared utilities and type definitions (no infra) +- `/packages/common`: shared utilities and type definitions (RNG/bytes/테스트 RNG 포함, no infra) - `/packages/infra`: Prisma/Redis connectors and other runtime infra - `/packages/logic`: pure game logic with DI and interfaces - `/app/gateway-frontend`: gateway UI diff --git a/packages/common/package.json b/packages/common/package.json index 9c17ebd..c3f65ec 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -11,6 +11,8 @@ "lint": "node -e \"console.log('lint not configured')\"", "test": "node -e \"console.log('test not configured')\"" }, - "dependencies": {}, + "dependencies": { + "js-sha512": "^0.9.0" + }, "devDependencies": {} } diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts index cb0ff5c..4b4a672 100644 --- a/packages/common/src/index.ts +++ b/packages/common/src/index.ts @@ -1 +1,8 @@ -export {}; +export * from './rng.js'; +export * from './util/BytesLike.js'; +export * from './util/convertBytesLikeToArrayBuffer.js'; +export * from './util/convertBytesLikeToUint8Array.js'; +export * from './util/LiteHashDRBG.js'; +export * from './util/RNG.js'; +export * from './util/RandUtil.js'; +export * from './util/TestRNG.js'; diff --git a/packages/logic/src/ports/rng.ts b/packages/common/src/rng.ts similarity index 100% rename from packages/logic/src/ports/rng.ts rename to packages/common/src/rng.ts diff --git a/packages/logic/src/util/BytesLike.ts b/packages/common/src/util/BytesLike.ts similarity index 100% rename from packages/logic/src/util/BytesLike.ts rename to packages/common/src/util/BytesLike.ts diff --git a/packages/logic/src/util/LiteHashDRBG.ts b/packages/common/src/util/LiteHashDRBG.ts similarity index 100% rename from packages/logic/src/util/LiteHashDRBG.ts rename to packages/common/src/util/LiteHashDRBG.ts diff --git a/packages/logic/src/util/RNG.ts b/packages/common/src/util/RNG.ts similarity index 100% rename from packages/logic/src/util/RNG.ts rename to packages/common/src/util/RNG.ts diff --git a/packages/logic/src/util/RandUtil.ts b/packages/common/src/util/RandUtil.ts similarity index 100% rename from packages/logic/src/util/RandUtil.ts rename to packages/common/src/util/RandUtil.ts diff --git a/packages/logic/src/util/TestRNG.ts b/packages/common/src/util/TestRNG.ts similarity index 100% rename from packages/logic/src/util/TestRNG.ts rename to packages/common/src/util/TestRNG.ts diff --git a/packages/logic/src/util/convertBytesLikeToArrayBuffer.ts b/packages/common/src/util/convertBytesLikeToArrayBuffer.ts similarity index 100% rename from packages/logic/src/util/convertBytesLikeToArrayBuffer.ts rename to packages/common/src/util/convertBytesLikeToArrayBuffer.ts diff --git a/packages/logic/src/util/convertBytesLikeToUint8Array.ts b/packages/common/src/util/convertBytesLikeToUint8Array.ts similarity index 100% rename from packages/logic/src/util/convertBytesLikeToUint8Array.ts rename to packages/common/src/util/convertBytesLikeToUint8Array.ts diff --git a/packages/logic/package.json b/packages/logic/package.json index c338457..af8cc4f 100644 --- a/packages/logic/package.json +++ b/packages/logic/package.json @@ -18,7 +18,7 @@ "test": "vitest run --config vitest.config.ts" }, "dependencies": { - "js-sha512": "^0.9.0" + "@sammo-ts/common": "workspace:*" }, "devDependencies": { "vitest": "^4.0.16" diff --git a/packages/logic/src/index.ts b/packages/logic/src/index.ts index f665292..bcb5d0e 100644 --- a/packages/logic/src/index.ts +++ b/packages/logic/src/index.ts @@ -1,11 +1,4 @@ export * from './domain/entities.js'; -export * from './ports/rng.js'; +export type { RandomGenerator } from '@sammo-ts/common'; export * from './ports/world.js'; export * from './triggers/index.js'; -export * from './util/BytesLike.js'; -export * from './util/convertBytesLikeToArrayBuffer.js'; -export * from './util/convertBytesLikeToUint8Array.js'; -export * from './util/LiteHashDRBG.js'; -export * from './util/RNG.js'; -export * from './util/RandUtil.js'; -export * from './util/TestRNG.js'; diff --git a/packages/logic/src/triggers/general.ts b/packages/logic/src/triggers/general.ts index 32704b9..16848e3 100644 --- a/packages/logic/src/triggers/general.ts +++ b/packages/logic/src/triggers/general.ts @@ -1,5 +1,5 @@ import type { General, GeneralTriggerState } from '../domain/entities.js'; -import type { RandomGenerator } from '../ports/rng.js'; +import type { RandomGenerator } from '@sammo-ts/common'; import type { WorldStateRepository } from '../ports/world.js'; import { TriggerCaller, type Trigger } from './core.js'; diff --git a/packages/logic/test/rng.test.ts b/packages/logic/test/rng.test.ts index 45e8238..a83df09 100644 --- a/packages/logic/test/rng.test.ts +++ b/packages/logic/test/rng.test.ts @@ -1,8 +1,11 @@ import { describe, expect, it } from 'vitest'; -import { bufferByteSize, LiteHashDRBG } from '../src/util/LiteHashDRBG.js'; -import { RandUtil } from '../src/util/RandUtil.js'; -import { convertBytesLikeToArrayBuffer } from '../src/util/convertBytesLikeToArrayBuffer.js'; -import { convertBytesLikeToUint8Array as toBytes } from '../src/util/convertBytesLikeToUint8Array.js'; +import { + bufferByteSize, + convertBytesLikeToArrayBuffer, + convertBytesLikeToUint8Array as toBytes, + LiteHashDRBG, + RandUtil, +} from '@sammo-ts/common'; type Bytes = ArrayBuffer | DataView | Uint8Array; type MaybeBytes = Bytes | string; diff --git a/packages/logic/test/test-rngs.test.ts b/packages/logic/test/test-rngs.test.ts index b4143de..b0c8801 100644 --- a/packages/logic/test/test-rngs.test.ts +++ b/packages/logic/test/test-rngs.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { ConstantRNG, MidpointRNG, SequenceRNG, SineRNG } from '../src/util/TestRNG.js'; +import { ConstantRNG, MidpointRNG, SequenceRNG, SineRNG } from '@sammo-ts/common'; const toArray = (bytes: Uint8Array): number[] => Array.from(bytes); diff --git a/packages/logic/vitest.config.ts b/packages/logic/vitest.config.ts index 97cb2e9..69a4a8a 100644 --- a/packages/logic/vitest.config.ts +++ b/packages/logic/vitest.config.ts @@ -1,6 +1,13 @@ +import path from 'node:path'; + import { defineConfig } from 'vitest/config'; export default defineConfig({ + resolve: { + alias: { + '@sammo-ts/common': path.resolve(__dirname, '../common/src/index.ts'), + }, + }, test: { environment: 'node', globals: true,