diff --git a/packages/example-common/index.ts b/packages/example-common/src/index.ts similarity index 100% rename from packages/example-common/index.ts rename to packages/example-common/src/index.ts diff --git a/packages/example-common/tsconfig.json b/packages/example-common/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/example-common/tsconfig.json +++ b/packages/example-common/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/example-server/index.ts b/packages/example-server/src/index.ts similarity index 100% rename from packages/example-server/index.ts rename to packages/example-server/src/index.ts diff --git a/packages/example-server/tsconfig.json b/packages/example-server/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/example-server/tsconfig.json +++ b/packages/example-server/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/ketchup-client/index.ts b/packages/ketchup-client/src/index.ts similarity index 100% rename from packages/ketchup-client/index.ts rename to packages/ketchup-client/src/index.ts diff --git a/packages/ketchup-client/tsconfig.json b/packages/ketchup-client/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/ketchup-client/tsconfig.json +++ b/packages/ketchup-client/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/ketchup-common/index.spec.ts b/packages/ketchup-common/src/index.spec.ts similarity index 100% rename from packages/ketchup-common/index.spec.ts rename to packages/ketchup-common/src/index.spec.ts diff --git a/packages/ketchup-common/index.ts b/packages/ketchup-common/src/index.ts similarity index 100% rename from packages/ketchup-common/index.ts rename to packages/ketchup-common/src/index.ts diff --git a/packages/ketchup-common/tsconfig.json b/packages/ketchup-common/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/ketchup-common/tsconfig.json +++ b/packages/ketchup-common/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/ketchup-react/index.ts b/packages/ketchup-react/src/index.ts similarity index 100% rename from packages/ketchup-react/index.ts rename to packages/ketchup-react/src/index.ts diff --git a/packages/ketchup-react/tsconfig.json b/packages/ketchup-react/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/ketchup-react/tsconfig.json +++ b/packages/ketchup-react/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/ketchup-server/index.ts b/packages/ketchup-server/src/index.ts similarity index 100% rename from packages/ketchup-server/index.ts rename to packages/ketchup-server/src/index.ts diff --git a/packages/ketchup-server/tsconfig.json b/packages/ketchup-server/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/ketchup-server/tsconfig.json +++ b/packages/ketchup-server/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/wonders-common/index.ts b/packages/wonders-common/src/index.ts similarity index 96% rename from packages/wonders-common/index.ts rename to packages/wonders-common/src/index.ts index f93f5ca..02ad455 100644 --- a/packages/wonders-common/index.ts +++ b/packages/wonders-common/src/index.ts @@ -173,23 +173,53 @@ export function buildDeck(age: number, numPlayers: number) { export interface Wonder { name: string innateResource: Resource + //stages: Structure[] } const wonderList: Wonder[] = [ - { name: 'Great Pyramid of Giza A', innateResource: 'stone' }, - { name: 'Great Pyramid of Giza B', innateResource: 'stone' }, - { name: 'Hanging Gardens of Babylon A', innateResource: 'brick' }, - { name: 'Hanging Gardens of Babylon B', innateResource: 'brick' }, - { name: 'Temple of Artemis at Ephesus A', innateResource: 'paper' }, - { name: 'Temple of Artemis at Ephesus B', innateResource: 'paper' }, - { name: 'Statue of Zeus at Olympia A', innateResource: 'wood' }, - { name: 'Statue of Zeus at Olympia B', innateResource: 'wood' }, - { name: 'Mausoleum at Halicarnassus A', innateResource: 'cloth' }, - { name: 'Mausoleum at Halicarnassus B', innateResource: 'cloth' }, - { name: 'Colossus of Rhodes A', innateResource: 'ore' }, - { name: 'Colossus of Rhodes B', innateResource: 'ore' }, - { name: 'Lighthouse of Alexandria A', innateResource: 'glass' }, - { name: 'Lighthouse of Alexandria B', innateResource: 'glass' }, + { + name: 'Great Pyramid of Giza A', + innateResource: 'stone' + }, { + name: 'Great Pyramid of Giza B', + innateResource: 'stone' + }, { + name: 'Hanging Gardens of Babylon A', + innateResource: 'brick' + }, { + name: 'Hanging Gardens of Babylon B', + innateResource: 'brick' + }, { + name: 'Temple of Artemis at Ephesus A', + innateResource: 'paper' + }, { + name: 'Temple of Artemis at Ephesus B', + innateResource: 'paper' + }, { + name: 'Statue of Zeus at Olympia A', + innateResource: 'wood' + }, { + name: 'Statue of Zeus at Olympia B', + innateResource: 'wood' + }, { + name: 'Mausoleum at Halicarnassus A', + innateResource: 'cloth' + }, { + name: 'Mausoleum at Halicarnassus B', + innateResource: 'cloth' + }, { + name: 'Colossus of Rhodes A', + innateResource: 'ore' + }, { + name: 'Colossus of Rhodes B', + innateResource: 'ore' + }, { + name: 'Lighthouse of Alexandria A', + innateResource: 'glass' + }, { + name: 'Lighthouse of Alexandria B', + innateResource: 'glass' + }, ] export const wonders = new Map(wonderList.map(w => [w.name, w])) diff --git a/packages/wonders-common/tsconfig.json b/packages/wonders-common/tsconfig.json index 41c42e8..d2e45ee 100644 --- a/packages/wonders-common/tsconfig.json +++ b/packages/wonders-common/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@tsconfig/node14/tsconfig.json", "compilerOptions": { - "rootDir": ".", + "rootDir": "src", "outDir": "dist" } -} +} \ No newline at end of file diff --git a/packages/wonders-server/.eslintrc.json b/packages/wonders-server/.eslintrc.json deleted file mode 100644 index c22f690..0000000 --- a/packages/wonders-server/.eslintrc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "env": { - "es2021": true, - "node": true - }, - "extends": [ - "standard" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 12, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "comma-dangle": ["error", "only-multiline"], - "padded-blocks": "warn", - "no-multiple-empty-lines": "warn", - "space-before-function-paren": "off" - } -} diff --git a/packages/wonders-server/Dockerfile b/packages/wonders-server/Dockerfile deleted file mode 100644 index e304357..0000000 --- a/packages/wonders-server/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM node:16-alpine - -RUN apk add --no-cache tini - -RUN yarn global add lerna - -WORKDIR /opt/wonders-server -COPY packages/ketchup-common/package.json packages/ketchup-common/ -COPY packages/ketchup-server/package.json packages/ketchup-server/ -COPY packages/wonders-common/package.json packages/wonders-common/ -COPY packages/wonders-server/package.json packages/wonders-server/ -COPY package.json yarn.lock lerna.json ./ -RUN lerna bootstrap - -COPY . ./ -RUN lerna run build - -ENTRYPOINT ["tini", "--"] -CMD ["node", "packages/wonders-server"] -EXPOSE 80 diff --git a/packages/wonders-server/index.ts b/packages/wonders-server/index.ts deleted file mode 100644 index 6985f4d..0000000 --- a/packages/wonders-server/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -import WebSocket from 'ws' -import KetchupServer from 'ketchup-server' -import { initial, reducer } from 'wonders-common' - -const port = parseInt(process.env.PORT ?? '80') - -const wss = new WebSocket.Server({ port }) - -const ks = new KetchupServer(initial, reducer) - -wss.on('connection', ws => { - ks.addRemoteClient(ws) -}) - -console.log(`Listening on ${port}`) - -function shutdown() { - console.log('Shutting down') - wss.close() -} -process.on('SIGINT', shutdown) -process.on('SIGTERM', shutdown) diff --git a/packages/wonders-server/package.json b/packages/wonders-server/package.json deleted file mode 100644 index c4821bf..0000000 --- a/packages/wonders-server/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "wonders-server", - "version": "0.1.3", - "description": "WebSocket-based rollback state synchronization server.", - "main": "dist/index.js", - "license": "MIT", - "private": true, - "dependencies": { - "ketchup-server": "^0.1.1", - "lodash": "^4.17.20", - "wonders-common": "^0.1.1", - "ts-node": "^9.1.1", - "ws": "^7.4.2" - }, - "devDependencies": { - "@tsconfig/node14": "^1.0.0", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@types/node": "^14.14.22", - "@types/ws": "^7.4.0", - "@typescript-eslint/eslint-plugin": "^4.14.1", - "@typescript-eslint/parser": "^4.14.1", - "eslint": "^7.18.0", - "jest": "^26.6.3", - "ts-jest": "^26.5.0", - "typescript": "^4.1.3" - }, - "optionalDependencies": { - "bufferutil": "^4.0.3", - "utf-8-validate": "^5.0.4" - }, - "scripts": { - "build": "tsc", - "start": "node dist" - } -} diff --git a/packages/wonders-server/tsconfig.json b/packages/wonders-server/tsconfig.json deleted file mode 100644 index 41c42e8..0000000 --- a/packages/wonders-server/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "@tsconfig/node14/tsconfig.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "dist" - } -}