From 3a3a0796c25571551ff12addccbde5f772a6e035 Mon Sep 17 00:00:00 2001 From: David Ludwig Date: Tue, 4 May 2021 09:30:54 -0500 Subject: [PATCH] Separate IPC from Microservice package into its own package --- packages/ipc/package.json | 21 +++ .../src/ipc => ipc/src}/AbstractIpcService.ts | 3 +- .../src/ipc => ipc/src}/IpcClientService.ts | 2 +- .../src/ipc => ipc/src}/IpcError.ts | 0 .../src/ipc => ipc/src}/IpcServerService.ts | 2 +- .../src/ipc => ipc/src}/index.ts | 0 .../src/ipc => ipc/src}/schema.ts | 0 packages/ipc/tsconfig.json | 7 + packages/ipc/yarn.lock | 130 ++++++++++++++++++ packages/microservice/package.json | 4 - packages/microservice/src/index.ts | 1 - 11 files changed, 161 insertions(+), 9 deletions(-) create mode 100644 packages/ipc/package.json rename packages/{microservice/src/ipc => ipc/src}/AbstractIpcService.ts (94%) rename packages/{microservice/src/ipc => ipc/src}/IpcClientService.ts (99%) rename packages/{microservice/src/ipc => ipc/src}/IpcError.ts (100%) rename packages/{microservice/src/ipc => ipc/src}/IpcServerService.ts (98%) rename packages/{microservice/src/ipc => ipc/src}/index.ts (100%) rename packages/{microservice/src/ipc => ipc/src}/schema.ts (100%) create mode 100644 packages/ipc/tsconfig.json create mode 100644 packages/ipc/yarn.lock diff --git a/packages/ipc/package.json b/packages/ipc/package.json new file mode 100644 index 0000000..9c23b7d --- /dev/null +++ b/packages/ipc/package.json @@ -0,0 +1,21 @@ +{ + "name": "@autoplex/ipc", + "version": "0.0.0", + "main": "dist/lib/index.js", + "types": "dist/typings/index.d.ts", + "license": "MIT", + "scripts": { + "build": "yarn run clean && tsc", + "clean": "rimraf ./dist" + }, + "devDependencies": { + "@types/node": "^15.0.1", + "@types/node-ipc": "^9.1.3", + "rimraf": "^3.0.2", + "typescript": "^4.2.4" + }, + "dependencies": { + "@autoplex/microservice": "^0.0.0", + "node-ipc": "^9.1.4" + } +} diff --git a/packages/microservice/src/ipc/AbstractIpcService.ts b/packages/ipc/src/AbstractIpcService.ts similarity index 94% rename from packages/microservice/src/ipc/AbstractIpcService.ts rename to packages/ipc/src/AbstractIpcService.ts index 766b4e1..2dd40e1 100644 --- a/packages/microservice/src/ipc/AbstractIpcService.ts +++ b/packages/ipc/src/AbstractIpcService.ts @@ -1,6 +1,5 @@ import RawIPC = require("node-ipc"); -import { InternalService } from "../InternalService"; -import { Microservice } from "../Microservice"; +import { InternalService, Microservice } from "@autoplex/microservice"; import { IPC, IpcMessageHandler } from "./schema"; /** diff --git a/packages/microservice/src/ipc/IpcClientService.ts b/packages/ipc/src/IpcClientService.ts similarity index 99% rename from packages/microservice/src/ipc/IpcClientService.ts rename to packages/ipc/src/IpcClientService.ts index 885fd9e..d8f0490 100644 --- a/packages/microservice/src/ipc/IpcClientService.ts +++ b/packages/ipc/src/IpcClientService.ts @@ -1,6 +1,6 @@ import { Socket } from "net"; import assert from "assert"; -import { Microservice } from "../Microservice"; +import { Microservice } from "@autoplex/microservice"; import AbstractIpcService from "./AbstractIpcService"; import { IIpcResponse, IIpcRequest, IPC } from "./schema"; import { IpcConnectionError, IpcTimeoutError } from "./IpcError"; diff --git a/packages/microservice/src/ipc/IpcError.ts b/packages/ipc/src/IpcError.ts similarity index 100% rename from packages/microservice/src/ipc/IpcError.ts rename to packages/ipc/src/IpcError.ts diff --git a/packages/microservice/src/ipc/IpcServerService.ts b/packages/ipc/src/IpcServerService.ts similarity index 98% rename from packages/microservice/src/ipc/IpcServerService.ts rename to packages/ipc/src/IpcServerService.ts index 3edac80..a81b9af 100644 --- a/packages/microservice/src/ipc/IpcServerService.ts +++ b/packages/ipc/src/IpcServerService.ts @@ -2,7 +2,7 @@ import assert from "assert"; import { mkdir } from "fs/promises"; import { Socket } from "net"; import { dirname } from "path"; -import { Microservice } from "../Microservice"; +import { Microservice } from "@autoplex/microservice"; import { IIpcRequest, IPC } from "./schema"; import AbstractIpcService from "./AbstractIpcService"; diff --git a/packages/microservice/src/ipc/index.ts b/packages/ipc/src/index.ts similarity index 100% rename from packages/microservice/src/ipc/index.ts rename to packages/ipc/src/index.ts diff --git a/packages/microservice/src/ipc/schema.ts b/packages/ipc/src/schema.ts similarity index 100% rename from packages/microservice/src/ipc/schema.ts rename to packages/ipc/src/schema.ts diff --git a/packages/ipc/tsconfig.json b/packages/ipc/tsconfig.json new file mode 100644 index 0000000..d0c49bc --- /dev/null +++ b/packages/ipc/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.package.json", + "compilerOptions": { + "outDir": "dist/lib", + "declarationDir": "dist/typings" + } +} diff --git a/packages/ipc/yarn.lock b/packages/ipc/yarn.lock new file mode 100644 index 0000000..2f84ca0 --- /dev/null +++ b/packages/ipc/yarn.lock @@ -0,0 +1,130 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/node-ipc@^9.1.3": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@types/node-ipc/-/node-ipc-9.1.3.tgz#5381fbc910071083b28dd43225727877c108b361" + integrity sha512-ka7CPX9Dk2lwe4PxoZMLOwcQrtdcYe/7OKmH75fQbmt0jdKltWVkdGA81D5l55d0wNhkweHa3XmzFbt5C0ieOQ== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a" + integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +easy-stack@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +glob@^7.1.3: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + +js-queue@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482" + integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== + dependencies: + easy-stack "^1.0.1" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +node-ipc@^9.1.4: + version "9.1.4" + resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.4.tgz#2acf962681afdac2602876d98fe6434d54d9bd3c" + integrity sha512-A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g== + dependencies: + event-pubsub "4.3.0" + js-message "1.0.7" + js-queue "2.0.2" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +typescript@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= diff --git a/packages/microservice/package.json b/packages/microservice/package.json index 0a52f39..11e2b0a 100644 --- a/packages/microservice/package.json +++ b/packages/microservice/package.json @@ -10,11 +10,7 @@ }, "devDependencies": { "@types/node": "^15.0.1", - "@types/node-ipc": "^9.1.3", "rimraf": "^3.0.2", "typescript": "^4.2.4" - }, - "dependencies": { - "node-ipc": "^9.1.4" } } diff --git a/packages/microservice/src/index.ts b/packages/microservice/src/index.ts index 9664c6c..91c2b81 100644 --- a/packages/microservice/src/index.ts +++ b/packages/microservice/src/index.ts @@ -1,3 +1,2 @@ export * from "./Microservice"; export * from "./InternalService"; -export * from "./ipc";