Split jsonrpc into smaller packages

This commit is contained in:
Jerko Steiner 2019-08-01 08:18:05 +07:00
parent e79008cf0f
commit f500d7f66c
28 changed files with 138 additions and 15 deletions

1
.gitignore vendored
View File

@ -62,3 +62,4 @@ build/
data/ data/
packages/*/lib packages/*/lib
packages/*/esm packages/*/esm
*.tsbuildinfo

16
package-lock.json generated
View File

@ -2130,8 +2130,14 @@
"@rondo/image-upload": { "@rondo/image-upload": {
"version": "file:packages/image-upload" "version": "file:packages/image-upload"
}, },
"@rondo/jsonrpc": { "@rondo/jsonrpc-client": {
"version": "file:packages/jsonrpc" "version": "file:packages/jsonrpc-client"
},
"@rondo/jsonrpc-common": {
"version": "file:packages/jsonrpc-common"
},
"@rondo/jsonrpc-server": {
"version": "file:packages/jsonrpc-server"
}, },
"@rondo/scripts": { "@rondo/scripts": {
"version": "file:packages/scripts" "version": "file:packages/scripts"
@ -14936,9 +14942,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "3.3.3333", "version": "3.5.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
"integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
"dev": true "dev": true
}, },
"typescript-tslint-plugin": { "typescript-tslint-plugin": {

View File

@ -8,7 +8,9 @@
"@rondo/comments-client": "file:packages/comments-client", "@rondo/comments-client": "file:packages/comments-client",
"@rondo/image-upload": "file:packages/image-upload", "@rondo/image-upload": "file:packages/image-upload",
"@rondo/tasq": "file:packages/tasq", "@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" "@rondo/scripts": "file:packages/scripts"
}, },
"devDependencies": { "devDependencies": {
@ -79,7 +81,7 @@
"tsify": "^4.0.1", "tsify": "^4.0.1",
"tslint": "^5.12.0", "tslint": "^5.12.0",
"ttypescript": "^1.5.7", "ttypescript": "^1.5.7",
"typescript": "^3.3.3333", "typescript": "^3.5.3",
"typescript-tslint-plugin": "^0.2.1", "typescript-tslint-plugin": "^0.2.1",
"uglify-js": "^3.5.3", "uglify-js": "^3.5.3",
"uglifyify": "^5.0.1", "uglifyify": "^5.0.1",

View File

@ -1,5 +1,5 @@
{ {
"name": "@rondo/jsonrpc", "name": "@rondo/jsonrpc-client",
"private": true, "private": true,
"scripts": { "scripts": {
"test": "jest", "test": "jest",
@ -8,7 +8,8 @@
"clean": "rm -rf lib/" "clean": "rm -rf lib/"
}, },
"dependencies": {}, "dependencies": {},
"types": "lib/index.d.ts",
"devDependencies": {}, "devDependencies": {},
"module": "lib/index.js" "main": "lib/index.js",
"types": "lib/index.d.ts",
"module": "esm/index.js"
} }

View File

@ -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 * Creates a local client for a specific service instance. The actual service

View File

@ -6,7 +6,7 @@ import express from 'express'
import {AddressInfo} from 'net' import {AddressInfo} from 'net'
import {Server} from 'http' import {Server} from 'http'
import {createRemoteClient} from './remote' import {createRemoteClient} from './remote'
import {jsonrpc} from './server' import {jsonrpc} from '@rondo/jsonrpc-server'
import {keys} from 'ts-transformer-keys' import {keys} from 'ts-transformer-keys'
describe('remote', () => { describe('remote', () => {

View File

@ -1,5 +1,5 @@
import Axios from 'axios' import Axios from 'axios'
import {Asyncified} from './types' import {Asyncified} from '@rondo/jsonrpc-common'
export function createRemoteClient<T>( export function createRemoteClient<T>(
baseUrl: string, baseUrl: string,

View File

@ -0,0 +1,10 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "esm"
},
"references": [
{"path": "../jsonrpc-common/tsconfig.esm.json"},
{"path": "../jsonrpc-server/tsconfig.esm.json"}
]
}

View File

@ -0,0 +1,11 @@
{
"extends": "../tsconfig.common.json",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
},
"references": [
{"path": "../jsonrpc-common"},
{"path": "../jsonrpc-server"}
]
}

View File

@ -0,0 +1,22 @@
module.exports = {
globals: {
'ts-jest': {
compiler: 'ttypescript'
}
},
roots: [
'<rootDir>/src'
],
transform: {
'^.+\\.tsx?$': 'ts-jest'
},
testRegex: '(/__tests__/.*|\\.(test|spec))\\.tsx?$',
moduleFileExtensions: [
'ts',
'tsx',
'js',
'jsx'
],
setupFiles: ['<rootDir>/jest.setup.js'],
verbose: false
}

View File

View File

@ -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"
}

View File

@ -0,0 +1,22 @@
module.exports = {
globals: {
'ts-jest': {
compiler: 'ttypescript'
}
},
roots: [
'<rootDir>/src'
],
transform: {
'^.+\\.tsx?$': 'ts-jest'
},
testRegex: '(/__tests__/.*|\\.(test|spec))\\.tsx?$',
moduleFileExtensions: [
'ts',
'tsx',
'js',
'jsx'
],
setupFiles: ['<rootDir>/jest.setup.js'],
verbose: false
}

View File

View File

@ -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"
}

View File

@ -1,2 +1 @@
export * from './client'
export * from './server' export * from './server'

View File

@ -1,6 +1,6 @@
import request from 'supertest' import request from 'supertest'
import {Application} from 'express' import {Application} from 'express'
import {Asyncified} from './types' import {Asyncified} from '@rondo/jsonrpc-common'
export function createClient<T>( export function createClient<T>(
app: Application, path: string, app: Application, path: string,

View File

@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "esm"
},
"references": [
{"path": "../jsonrpc-common/tsconfig.esm.json"}
]
}

View File

@ -0,0 +1,10 @@
{
"extends": "../tsconfig.common.json",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
},
"references": [
{"path": "../jsonrpc-common"}
]
}