vite-plugin-node
Advanced tools
+4
-3
| /// <reference types="node" /> | ||
| import type http from 'http'; | ||
| import type { IncomingMessage, ServerResponse } from 'http'; | ||
| import type { Options } from '@swc/core'; | ||
@@ -12,4 +12,4 @@ import type { Connect, UserConfig, ViteDevServer } from 'vite'; | ||
| server: ViteDevServer; | ||
| req: http.IncomingMessage; | ||
| res: http.ServerResponse; | ||
| req: IncomingMessage; | ||
| res: ServerResponse; | ||
| next: Connect.NextFunction; | ||
@@ -24,2 +24,3 @@ } | ||
| appName?: string; | ||
| initAppOnBoot?: boolean; | ||
| exportName?: string; | ||
@@ -26,0 +27,0 @@ tsCompiler?: SupportedTSCompiler; |
| /// <reference types="express" /> | ||
| /// <reference types="koa" /> | ||
| /// <reference types="node" /> | ||
| import type http from 'http'; | ||
| import type { IncomingMessage, ServerResponse } from 'http'; | ||
| import type { Connect, ViteDevServer } from 'vite'; | ||
@@ -12,3 +12,3 @@ import type { RequestAdapter, VitePluginNodeConfig } from '..'; | ||
| koa: RequestAdapter<import("koa")<import("koa").DefaultState, import("koa").DefaultContext>>; | ||
| fastify: RequestAdapter<import("fastify").FastifyInstance<http.Server, http.IncomingMessage, http.ServerResponse, import("fastify").FastifyLoggerInstance>>; | ||
| fastify: RequestAdapter<import("fastify").FastifyInstance<import("http").Server, IncomingMessage, ServerResponse, import("fastify").FastifyLoggerInstance>>; | ||
| marble: RequestAdapter<import("./marble").MarbleContext>; | ||
@@ -15,0 +15,0 @@ }; |
+16
-6
@@ -48,7 +48,3 @@ "use strict"; | ||
| const requestHandler = getRequestHandler(config.adapter); | ||
| if (!requestHandler) { | ||
| console.error('Failed to find a request handler'); | ||
| process.exit(1); | ||
| } | ||
| return async function (req, res, next) { | ||
| async function _loadApp(config) { | ||
| const appModule = await server.ssrLoadModule(config.appPath); | ||
@@ -63,4 +59,18 @@ let app = appModule[config.exportName]; | ||
| app = await app; | ||
| return app; | ||
| } | ||
| } | ||
| if (!requestHandler) { | ||
| console.error('Failed to find a request handler'); | ||
| process.exit(1); | ||
| } | ||
| if (config.initAppOnBoot) { | ||
| server.httpServer.once('listening', async () => { | ||
| await _loadApp(config); | ||
| }); | ||
| } | ||
| return async function (req, res, next) { | ||
| const app = await _loadApp(config); | ||
| if (app) | ||
| await requestHandler({ app, server, req, res, next }); | ||
| } | ||
| }; | ||
@@ -67,0 +77,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;AACA,qCAA+B;AAC/B,kDAA0B;AAc1B,0BAEY;AACZ,oCAA0C;AAC1C,uCAA2C;AAC3C,uCAA2C;AAC3C,+BAAmC;AACnC,iCAAqC;AACrC,qCAAyC;AAE5B,QAAA,WAAW,GAAG,IAAA,sBAAc,EAAC,yBAAyB,CAAC,CAAC;AAExD,QAAA,oBAAoB,GAAG;IAClC,OAAO,EAAE,wBAAc;IACvB,IAAI,EAAE,kBAAW;IACjB,GAAG,EAAE,gBAAU;IACf,OAAO,EAAE,wBAAc;IACvB,MAAM,EAAE,sBAAa;CACtB,CAAC;AAEF,MAAM,GAAG,GAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE/C,MAAM,eAAe,GAAG,KAAK,EAClC,MAAqB,EACU,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAW,CAClB,CAAC;IACZ,IAAI,UAAoC,CAAC;IAEzC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU;QACrC,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAE5C,IAAI,UAAU;QACZ,OAAQ,UAAyB,CAAC,oBAAoB,CAAC;IAEzD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC1E,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B;AAEF,MAAM,iBAAiB,GAAG,CACxB,OAA6B,EACD,EAAE;IAC9B,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACjC,IAAA,mBAAW,EAAC,eAAK,CAAC,GAAG,CAAA,6BAA6B,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;KAChB;IACD,IAAA,mBAAW,EAAC,eAAK,CAAC,GAAG,CAAA,YAAY,OAAO,cAAc,CAAC,CAAC;IACxD,OAAO,4BAAoB,CAAC,OAAO,CAAmB,CAAC;AACzD,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAqB,EACY,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzD,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,KAAK,WACV,GAAyB,EACzB,GAAwB,EACxB,IAA0B;QAE1B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,CAAC,KAAK,CACV,iCAAiC,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,OAAO,EAAE,CAC5E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;aAAM;YACL,8DAA8D;YAC9D,GAAG,GAAG,MAAM,GAAG,CAAC;YAChB,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SACvD;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,gBAAgB,oBA8B3B"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"} |
@@ -12,3 +12,3 @@ "use strict"; | ||
| function VitePluginNode(cfg) { | ||
| var _a, _b, _c, _d; | ||
| var _a, _b, _c, _d, _e; | ||
| const swcOptions = (0, utils_1.default)({ | ||
@@ -36,2 +36,3 @@ module: { | ||
| exportName: (_d = cfg.exportName) !== null && _d !== void 0 ? _d : 'viteNodeApp', | ||
| initAppOnBoot: (_e = cfg.initAppOnBoot) !== null && _e !== void 0 ? _e : false, | ||
| swcOptions, | ||
@@ -38,0 +39,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"vite-plugin-node.js","sourceRoot":"","sources":["../src/vite-plugin-node.ts"],"names":[],"mappings":";;;;;;AACA,2DAAsD;AACtD,qCAA4C;AAC5C,oDAAgC;AAChC,wBAAgC;AAGhC,SAAgB,cAAc,CAAC,GAAyB;;IACtD,MAAM,UAAU,GAAG,IAAA,eAAS,EAAC;QAC3B,MAAM,EAAE;YACN,IAAI,EAAE,KAAK;SACZ;QACD,GAAG,EAAE;YACH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,IAAI;aACjB;YACD,SAAS,EAAE;gBACT,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;aACxB;SACF;KACF,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAyB;QACnC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,KAAK;QAC7B,UAAU,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,SAAS;QACvC,UAAU,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,aAAa;QAC3C,UAAU;KACX,CAAC;IAEF,MAAM,OAAO,GAAa;QACxB;YACE,IAAI,EAAE,cAAW;YACjB,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,aAAa,GAAgE;oBACjF,KAAK,EAAE;wBACL,GAAG,EAAE,MAAM,CAAC,OAAO;wBACnB,aAAa,EAAE;4BACb,KAAK,EAAE,MAAM,CAAC,OAAO;yBACtB;qBACF;oBACD,MAAM,EAAE;wBACN,GAAG,EAAE,KAAK;qBACX;oBACD,YAAY,EAAE;wBACZ,uDAAuD;wBACvD,+BAA+B;wBAC/B,OAAO,EAAE;4BACP,WAAW;yBACZ;qBACF;oBACD,oBAAoB,EAAE,MAAM;iBAC7B,CAAC;gBAEF,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;oBAC7B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAEhC,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;SACF;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,IAAA,mCAAe,EAAC,MAAM,CAAC,UAAW,CAAC;SACvC,CAAC,CAAC;KACJ;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AArED,wCAqEC"} | ||
| {"version":3,"file":"vite-plugin-node.js","sourceRoot":"","sources":["../src/vite-plugin-node.ts"],"names":[],"mappings":";;;;;;AACA,2DAAsD;AACtD,qCAA4C;AAC5C,oDAAgC;AAChC,wBAAgC;AAGhC,SAAgB,cAAc,CAAC,GAAyB;;IACtD,MAAM,UAAU,GAAG,IAAA,eAAS,EAAC;QAC3B,MAAM,EAAE;YACN,IAAI,EAAE,KAAK;SACZ;QACD,GAAG,EAAE;YACH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,IAAI;aACjB;YACD,SAAS,EAAE;gBACT,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;aACxB;SACF;KACF,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAyB;QACnC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,KAAK;QAC7B,UAAU,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,SAAS;QACvC,UAAU,EAAE,MAAA,GAAG,CAAC,UAAU,mCAAI,aAAa;QAC3C,aAAa,EAAE,MAAA,GAAG,CAAC,aAAa,mCAAI,KAAK;QACzC,UAAU;KACX,CAAC;IAEF,MAAM,OAAO,GAAa;QACxB;YACE,IAAI,EAAE,cAAW;YACjB,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,aAAa,GAAgE;oBACjF,KAAK,EAAE;wBACL,GAAG,EAAE,MAAM,CAAC,OAAO;wBACnB,aAAa,EAAE;4BACb,KAAK,EAAE,MAAM,CAAC,OAAO;yBACtB;qBACF;oBACD,MAAM,EAAE;wBACN,GAAG,EAAE,KAAK;qBACX;oBACD,YAAY,EAAE;wBACZ,uDAAuD;wBACvD,+BAA+B;wBAC/B,OAAO,EAAE;4BACP,WAAW;yBACZ;qBACF;oBACD,oBAAoB,EAAE,MAAM;iBAC7B,CAAC;gBAEF,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;oBAC7B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAEhC,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;SACF;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,IAAA,mCAAe,EAAC,MAAM,CAAC,UAAW,CAAC;SACvC,CAAC,CAAC;KACJ;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAtED,wCAsEC"} |
+3
-2
| { | ||
| "name": "vite-plugin-node", | ||
| "version": "3.0.2", | ||
| "version": "3.1.0", | ||
| "description": "Vite plugin to enable your node server HMR", | ||
@@ -57,2 +57,3 @@ "author": "Axe", | ||
| "reflect-metadata": "^0.1.13", | ||
| "rimraf": "^3.0.2", | ||
| "rxjs": "^7.5.5", | ||
@@ -67,4 +68,4 @@ "vite": "^4.0.0" | ||
| "format": "prettier --write .", | ||
| "prebuild": "rimraf dist && npm run lint && cp ../../readme.md ./readme.md" | ||
| "prebuild": "rimraf dist && npm run lint && cp ../../README.md ./readme.md" | ||
| } | ||
| } |
+4
-0
@@ -57,2 +57,6 @@ <p align="center"> | ||
| // Optional, default: false | ||
| // if you want to init your app on boot, set this to true | ||
| initAppOnBoot: false, | ||
| // Optional, default: 'esbuild' | ||
@@ -59,0 +63,0 @@ // The TypeScript compiler you want to use |
33733
2.85%396
3.13%194
2.11%19
5.56%