From f500d7f66cad0e795b83124ce38da0db1ec2359d Mon Sep 17 00:00:00 2001 From: Jerko Steiner Date: Thu, 1 Aug 2019 08:18:05 +0700 Subject: [PATCH] Split jsonrpc into smaller packages --- .gitignore | 1 + package-lock.json | 16 +++++++++----- package.json | 6 +++-- .../jest.config.js | 0 .../{jsonrpc => jsonrpc-client}/jest.setup.js | 0 .../{jsonrpc => jsonrpc-client}/package.json | 7 +++--- .../client.ts => jsonrpc-client/src/index.ts} | 0 .../src/local.test.ts | 0 .../{jsonrpc => jsonrpc-client}/src/local.ts | 2 +- .../src/remote.test.ts | 2 +- .../{jsonrpc => jsonrpc-client}/src/remote.ts | 2 +- packages/jsonrpc-client/tsconfig.esm.json | 10 +++++++++ packages/jsonrpc-client/tsconfig.json | 11 ++++++++++ packages/jsonrpc-common/jest.config.js | 22 +++++++++++++++++++ packages/jsonrpc-common/jest.setup.js | 0 packages/jsonrpc-common/package.json | 15 +++++++++++++ .../types.ts => jsonrpc-common/src/index.ts} | 0 .../tsconfig.esm.json | 0 .../{jsonrpc => jsonrpc-common}/tsconfig.json | 0 packages/jsonrpc-server/jest.config.js | 22 +++++++++++++++++++ packages/jsonrpc-server/jest.setup.js | 0 packages/jsonrpc-server/package.json | 15 +++++++++++++ .../{jsonrpc => jsonrpc-server}/src/index.ts | 1 - .../src/server.test.ts | 0 .../{jsonrpc => jsonrpc-server}/src/server.ts | 0 .../src/supertest.ts | 2 +- packages/jsonrpc-server/tsconfig.esm.json | 9 ++++++++ packages/jsonrpc-server/tsconfig.json | 10 +++++++++ 28 files changed, 138 insertions(+), 15 deletions(-) rename packages/{jsonrpc => jsonrpc-client}/jest.config.js (100%) rename packages/{jsonrpc => jsonrpc-client}/jest.setup.js (100%) rename packages/{jsonrpc => jsonrpc-client}/package.json (71%) rename packages/{jsonrpc/src/client.ts => jsonrpc-client/src/index.ts} (100%) rename packages/{jsonrpc => jsonrpc-client}/src/local.test.ts (100%) rename packages/{jsonrpc => jsonrpc-client}/src/local.ts (92%) rename packages/{jsonrpc => jsonrpc-client}/src/remote.test.ts (96%) rename packages/{jsonrpc => jsonrpc-client}/src/remote.ts (94%) create mode 100644 packages/jsonrpc-client/tsconfig.esm.json create mode 100644 packages/jsonrpc-client/tsconfig.json create mode 100644 packages/jsonrpc-common/jest.config.js create mode 100644 packages/jsonrpc-common/jest.setup.js create mode 100644 packages/jsonrpc-common/package.json rename packages/{jsonrpc/src/types.ts => jsonrpc-common/src/index.ts} (100%) rename packages/{jsonrpc => jsonrpc-common}/tsconfig.esm.json (100%) rename packages/{jsonrpc => jsonrpc-common}/tsconfig.json (100%) create mode 100644 packages/jsonrpc-server/jest.config.js create mode 100644 packages/jsonrpc-server/jest.setup.js create mode 100644 packages/jsonrpc-server/package.json rename packages/{jsonrpc => jsonrpc-server}/src/index.ts (50%) rename packages/{jsonrpc => jsonrpc-server}/src/server.test.ts (100%) rename packages/{jsonrpc => jsonrpc-server}/src/server.ts (100%) rename packages/{jsonrpc => jsonrpc-server}/src/supertest.ts (92%) create mode 100644 packages/jsonrpc-server/tsconfig.esm.json create mode 100644 packages/jsonrpc-server/tsconfig.json diff --git a/.gitignore b/.gitignore index 5f1777a..dd76e4e 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ build/ data/ packages/*/lib packages/*/esm +*.tsbuildinfo diff --git a/package-lock.json b/package-lock.json index 80d277d..986fad8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2130,8 +2130,14 @@ "@rondo/image-upload": { "version": "file:packages/image-upload" }, - "@rondo/jsonrpc": { - "version": "file:packages/jsonrpc" + "@rondo/jsonrpc-client": { + "version": "file:packages/jsonrpc-client" + }, + "@rondo/jsonrpc-common": { + "version": "file:packages/jsonrpc-common" + }, + "@rondo/jsonrpc-server": { + "version": "file:packages/jsonrpc-server" }, "@rondo/scripts": { "version": "file:packages/scripts" @@ -14936,9 +14942,9 @@ } }, "typescript": { - "version": "3.3.3333", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", - "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "typescript-tslint-plugin": { diff --git a/package.json b/package.json index b3737aa..4ce9af1 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "@rondo/comments-client": "file:packages/comments-client", "@rondo/image-upload": "file:packages/image-upload", "@rondo/tasq": "file:packages/tasq", - "@rondo/jsonrpc": "file:packages/jsonrpc", + "@rondo/jsonrpc-client": "file:packages/jsonrpc-client", + "@rondo/jsonrpc-server": "file:packages/jsonrpc-server", + "@rondo/jsonrpc-common": "file:packages/jsonrpc-common", "@rondo/scripts": "file:packages/scripts" }, "devDependencies": { @@ -79,7 +81,7 @@ "tsify": "^4.0.1", "tslint": "^5.12.0", "ttypescript": "^1.5.7", - "typescript": "^3.3.3333", + "typescript": "^3.5.3", "typescript-tslint-plugin": "^0.2.1", "uglify-js": "^3.5.3", "uglifyify": "^5.0.1", diff --git a/packages/jsonrpc/jest.config.js b/packages/jsonrpc-client/jest.config.js similarity index 100% rename from packages/jsonrpc/jest.config.js rename to packages/jsonrpc-client/jest.config.js diff --git a/packages/jsonrpc/jest.setup.js b/packages/jsonrpc-client/jest.setup.js similarity index 100% rename from packages/jsonrpc/jest.setup.js rename to packages/jsonrpc-client/jest.setup.js diff --git a/packages/jsonrpc/package.json b/packages/jsonrpc-client/package.json similarity index 71% rename from packages/jsonrpc/package.json rename to packages/jsonrpc-client/package.json index cf0d4fb..0659cab 100644 --- a/packages/jsonrpc/package.json +++ b/packages/jsonrpc-client/package.json @@ -1,5 +1,5 @@ { - "name": "@rondo/jsonrpc", + "name": "@rondo/jsonrpc-client", "private": true, "scripts": { "test": "jest", @@ -8,7 +8,8 @@ "clean": "rm -rf lib/" }, "dependencies": {}, - "types": "lib/index.d.ts", "devDependencies": {}, - "module": "lib/index.js" + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "esm/index.js" } diff --git a/packages/jsonrpc/src/client.ts b/packages/jsonrpc-client/src/index.ts similarity index 100% rename from packages/jsonrpc/src/client.ts rename to packages/jsonrpc-client/src/index.ts diff --git a/packages/jsonrpc/src/local.test.ts b/packages/jsonrpc-client/src/local.test.ts similarity index 100% rename from packages/jsonrpc/src/local.test.ts rename to packages/jsonrpc-client/src/local.test.ts diff --git a/packages/jsonrpc/src/local.ts b/packages/jsonrpc-client/src/local.ts similarity index 92% rename from packages/jsonrpc/src/local.ts rename to packages/jsonrpc-client/src/local.ts index c917e4c..d067175 100644 --- a/packages/jsonrpc/src/local.ts +++ b/packages/jsonrpc-client/src/local.ts @@ -1,4 +1,4 @@ -import {Asyncified} from './types' +import {Asyncified} from '@rondo/jsonrpc-common' /** * Creates a local client for a specific service instance. The actual service diff --git a/packages/jsonrpc/src/remote.test.ts b/packages/jsonrpc-client/src/remote.test.ts similarity index 96% rename from packages/jsonrpc/src/remote.test.ts rename to packages/jsonrpc-client/src/remote.test.ts index 1394485..d644113 100644 --- a/packages/jsonrpc/src/remote.test.ts +++ b/packages/jsonrpc-client/src/remote.test.ts @@ -6,7 +6,7 @@ import express from 'express' import {AddressInfo} from 'net' import {Server} from 'http' import {createRemoteClient} from './remote' -import {jsonrpc} from './server' +import {jsonrpc} from '@rondo/jsonrpc-server' import {keys} from 'ts-transformer-keys' describe('remote', () => { diff --git a/packages/jsonrpc/src/remote.ts b/packages/jsonrpc-client/src/remote.ts similarity index 94% rename from packages/jsonrpc/src/remote.ts rename to packages/jsonrpc-client/src/remote.ts index d405387..3c87dfb 100644 --- a/packages/jsonrpc/src/remote.ts +++ b/packages/jsonrpc-client/src/remote.ts @@ -1,5 +1,5 @@ import Axios from 'axios' -import {Asyncified} from './types' +import {Asyncified} from '@rondo/jsonrpc-common' export function createRemoteClient( baseUrl: string, diff --git a/packages/jsonrpc-client/tsconfig.esm.json b/packages/jsonrpc-client/tsconfig.esm.json new file mode 100644 index 0000000..1644a64 --- /dev/null +++ b/packages/jsonrpc-client/tsconfig.esm.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "esm" + }, + "references": [ + {"path": "../jsonrpc-common/tsconfig.esm.json"}, + {"path": "../jsonrpc-server/tsconfig.esm.json"} + ] +} diff --git a/packages/jsonrpc-client/tsconfig.json b/packages/jsonrpc-client/tsconfig.json new file mode 100644 index 0000000..048a134 --- /dev/null +++ b/packages/jsonrpc-client/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.common.json", + "compilerOptions": { + "outDir": "lib", + "rootDir": "src" + }, + "references": [ + {"path": "../jsonrpc-common"}, + {"path": "../jsonrpc-server"} + ] +} diff --git a/packages/jsonrpc-common/jest.config.js b/packages/jsonrpc-common/jest.config.js new file mode 100644 index 0000000..b3171a7 --- /dev/null +++ b/packages/jsonrpc-common/jest.config.js @@ -0,0 +1,22 @@ +module.exports = { + globals: { + 'ts-jest': { + compiler: 'ttypescript' + } + }, + roots: [ + '/src' + ], + transform: { + '^.+\\.tsx?$': 'ts-jest' + }, + testRegex: '(/__tests__/.*|\\.(test|spec))\\.tsx?$', + moduleFileExtensions: [ + 'ts', + 'tsx', + 'js', + 'jsx' + ], + setupFiles: ['/jest.setup.js'], + verbose: false +} diff --git a/packages/jsonrpc-common/jest.setup.js b/packages/jsonrpc-common/jest.setup.js new file mode 100644 index 0000000..e69de29 diff --git a/packages/jsonrpc-common/package.json b/packages/jsonrpc-common/package.json new file mode 100644 index 0000000..7a7b493 --- /dev/null +++ b/packages/jsonrpc-common/package.json @@ -0,0 +1,15 @@ +{ + "name": "@rondo/jsonrpc-common", + "private": true, + "scripts": { + "test": "jest", + "lint": "tslint --project .", + "compile": "tsc", + "clean": "rm -rf lib/" + }, + "dependencies": {}, + "devDependencies": {}, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "esm/index.js" +} diff --git a/packages/jsonrpc/src/types.ts b/packages/jsonrpc-common/src/index.ts similarity index 100% rename from packages/jsonrpc/src/types.ts rename to packages/jsonrpc-common/src/index.ts diff --git a/packages/jsonrpc/tsconfig.esm.json b/packages/jsonrpc-common/tsconfig.esm.json similarity index 100% rename from packages/jsonrpc/tsconfig.esm.json rename to packages/jsonrpc-common/tsconfig.esm.json diff --git a/packages/jsonrpc/tsconfig.json b/packages/jsonrpc-common/tsconfig.json similarity index 100% rename from packages/jsonrpc/tsconfig.json rename to packages/jsonrpc-common/tsconfig.json diff --git a/packages/jsonrpc-server/jest.config.js b/packages/jsonrpc-server/jest.config.js new file mode 100644 index 0000000..b3171a7 --- /dev/null +++ b/packages/jsonrpc-server/jest.config.js @@ -0,0 +1,22 @@ +module.exports = { + globals: { + 'ts-jest': { + compiler: 'ttypescript' + } + }, + roots: [ + '/src' + ], + transform: { + '^.+\\.tsx?$': 'ts-jest' + }, + testRegex: '(/__tests__/.*|\\.(test|spec))\\.tsx?$', + moduleFileExtensions: [ + 'ts', + 'tsx', + 'js', + 'jsx' + ], + setupFiles: ['/jest.setup.js'], + verbose: false +} diff --git a/packages/jsonrpc-server/jest.setup.js b/packages/jsonrpc-server/jest.setup.js new file mode 100644 index 0000000..e69de29 diff --git a/packages/jsonrpc-server/package.json b/packages/jsonrpc-server/package.json new file mode 100644 index 0000000..152d63a --- /dev/null +++ b/packages/jsonrpc-server/package.json @@ -0,0 +1,15 @@ +{ + "name": "@rondo/jsonrpc-server", + "private": true, + "scripts": { + "test": "jest", + "lint": "tslint --project .", + "compile": "tsc", + "clean": "rm -rf lib/" + }, + "dependencies": {}, + "devDependencies": {}, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "esm/index.js" +} diff --git a/packages/jsonrpc/src/index.ts b/packages/jsonrpc-server/src/index.ts similarity index 50% rename from packages/jsonrpc/src/index.ts rename to packages/jsonrpc-server/src/index.ts index 7636a1f..3718365 100644 --- a/packages/jsonrpc/src/index.ts +++ b/packages/jsonrpc-server/src/index.ts @@ -1,2 +1 @@ -export * from './client' export * from './server' diff --git a/packages/jsonrpc/src/server.test.ts b/packages/jsonrpc-server/src/server.test.ts similarity index 100% rename from packages/jsonrpc/src/server.test.ts rename to packages/jsonrpc-server/src/server.test.ts diff --git a/packages/jsonrpc/src/server.ts b/packages/jsonrpc-server/src/server.ts similarity index 100% rename from packages/jsonrpc/src/server.ts rename to packages/jsonrpc-server/src/server.ts diff --git a/packages/jsonrpc/src/supertest.ts b/packages/jsonrpc-server/src/supertest.ts similarity index 92% rename from packages/jsonrpc/src/supertest.ts rename to packages/jsonrpc-server/src/supertest.ts index be88b78..0bf7185 100644 --- a/packages/jsonrpc/src/supertest.ts +++ b/packages/jsonrpc-server/src/supertest.ts @@ -1,6 +1,6 @@ import request from 'supertest' import {Application} from 'express' -import {Asyncified} from './types' +import {Asyncified} from '@rondo/jsonrpc-common' export function createClient( app: Application, path: string, diff --git a/packages/jsonrpc-server/tsconfig.esm.json b/packages/jsonrpc-server/tsconfig.esm.json new file mode 100644 index 0000000..3ced570 --- /dev/null +++ b/packages/jsonrpc-server/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "esm" + }, + "references": [ + {"path": "../jsonrpc-common/tsconfig.esm.json"} + ] +} diff --git a/packages/jsonrpc-server/tsconfig.json b/packages/jsonrpc-server/tsconfig.json new file mode 100644 index 0000000..b3137ee --- /dev/null +++ b/packages/jsonrpc-server/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.common.json", + "compilerOptions": { + "outDir": "lib", + "rootDir": "src" + }, + "references": [ + {"path": "../jsonrpc-common"} + ] +}