@lomray/vite-ssr-boost 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/entry.d.ts +20 -0
- package/browser/entry.js +2 -0
- package/browser/entry.js.map +1 -0
- package/cli/build.d.ts +11 -0
- package/cli/build.js +2 -0
- package/cli/build.js.map +1 -0
- package/cli/keyboard-input.d.ts +5 -0
- package/cli/keyboard-input.js +2 -0
- package/cli/keyboard-input.js.map +1 -0
- package/cli/run-dev.d.ts +17 -0
- package/cli/run-dev.js +2 -0
- package/cli/run-dev.js.map +1 -0
- package/cli/run-prod.d.ts +19 -0
- package/cli/run-prod.js +2 -0
- package/cli/run-prod.js.map +1 -0
- package/cli/vite-reset-cache.d.ts +5 -0
- package/cli/vite-reset-cache.js +2 -0
- package/cli/vite-reset-cache.js.map +1 -0
- package/cli.d.ts +2 -0
- package/cli.js +3 -0
- package/cli.js.map +1 -0
- package/components/navigate.d.ts +12 -0
- package/components/navigate.js +2 -0
- package/components/navigate.js.map +1 -0
- package/components/response-status.d.ts +11 -0
- package/components/response-status.js +2 -0
- package/components/response-status.js.map +1 -0
- package/constants/cli-actions.d.ts +7 -0
- package/constants/cli-actions.js +2 -0
- package/constants/cli-actions.js.map +1 -0
- package/constants/cli-context.d.ts +14 -0
- package/constants/cli-context.js +2 -0
- package/constants/cli-context.js.map +1 -0
- package/constants/cli-name.d.ts +2 -0
- package/constants/cli-name.js +2 -0
- package/constants/cli-name.js.map +1 -0
- package/constants/cli-shortcuts.d.ts +6 -0
- package/constants/cli-shortcuts.js +2 -0
- package/constants/cli-shortcuts.js.map +1 -0
- package/constants/common.d.ts +2 -0
- package/constants/common.js +2 -0
- package/constants/common.js.map +1 -0
- package/constants/plugin-name.d.ts +2 -0
- package/constants/plugin-name.js +2 -0
- package/constants/plugin-name.js.map +1 -0
- package/constants/stream-error.d.ts +10 -0
- package/constants/stream-error.js +2 -0
- package/constants/stream-error.js.map +1 -0
- package/context/server.d.ts +21 -0
- package/context/server.js +2 -0
- package/context/server.js.map +1 -0
- package/helpers/build-custom-state.d.ts +6 -0
- package/helpers/build-custom-state.js +2 -0
- package/helpers/build-custom-state.js.map +1 -0
- package/helpers/build-router-state.d.ts +6 -0
- package/helpers/build-router-state.js +2 -0
- package/helpers/build-router-state.js.map +1 -0
- package/helpers/handle-response.d.ts +7 -0
- package/helpers/handle-response.js +2 -0
- package/helpers/handle-response.js.map +1 -0
- package/helpers/obtain-stream-error.d.ts +11 -0
- package/helpers/obtain-stream-error.js +2 -0
- package/helpers/obtain-stream-error.js.map +1 -0
- package/helpers/plugin-config.d.ts +13 -0
- package/helpers/plugin-config.js +2 -0
- package/helpers/plugin-config.js.map +1 -0
- package/helpers/print-server-info.d.ts +11 -0
- package/helpers/print-server-info.js +2 -0
- package/helpers/print-server-info.js.map +1 -0
- package/helpers/print-server-urls.d.ts +8 -0
- package/helpers/print-server-urls.js +2 -0
- package/helpers/print-server-urls.js.map +1 -0
- package/helpers/process-stop.d.ts +5 -0
- package/helpers/process-stop.js +2 -0
- package/helpers/process-stop.js.map +1 -0
- package/helpers/resolve-server-urls.d.ts +15 -0
- package/helpers/resolve-server-urls.js +2 -0
- package/helpers/resolve-server-urls.js.map +1 -0
- package/helpers/serialize-errors.d.ts +7 -0
- package/helpers/serialize-errors.js +2 -0
- package/helpers/serialize-errors.js.map +1 -0
- package/node/create-fetch-request.d.ts +7 -0
- package/node/create-fetch-request.js +2 -0
- package/node/create-fetch-request.js.map +1 -0
- package/node/entry.d.ts +40 -0
- package/node/entry.js +2 -0
- package/node/entry.js.map +1 -0
- package/node/render.d.ts +64 -0
- package/node/render.js +2 -0
- package/node/render.js.map +1 -0
- package/node/server.d.ts +14 -0
- package/node/server.js +2 -0
- package/node/server.js.map +1 -0
- package/node/write-response.d.ts +14 -0
- package/node/write-response.js +2 -0
- package/node/write-response.js.map +1 -0
- package/package.json +76 -0
- package/plugin.d.ts +19 -0
- package/plugin.js +2 -0
- package/plugin.js.map +1 -0
- package/services/logger.d.ts +53 -0
- package/services/logger.js +2 -0
- package/services/logger.js.map +1 -0
- package/services/prepare-server.d.ts +74 -0
- package/services/prepare-server.js +2 -0
- package/services/prepare-server.js.map +1 -0
- package/services/server-config.d.ts +140 -0
- package/services/server-config.js +2 -0
- package/services/server-config.js.map +1 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Express } from 'express';
|
|
2
|
+
import { Logger, ViteDevServer } from 'vite';
|
|
3
|
+
import { IPluginConfig } from "../helpers/plugin-config.js";
|
|
4
|
+
interface IConfigOptions {
|
|
5
|
+
isProd?: boolean;
|
|
6
|
+
isHost?: boolean;
|
|
7
|
+
isOnlyClient?: boolean;
|
|
8
|
+
prodParams?: Partial<IConfigParams>;
|
|
9
|
+
}
|
|
10
|
+
interface IConfigParams {
|
|
11
|
+
root: string;
|
|
12
|
+
publicDir: string;
|
|
13
|
+
pluginPath: string;
|
|
14
|
+
isProd: boolean;
|
|
15
|
+
isSPA: boolean;
|
|
16
|
+
indexFile: string;
|
|
17
|
+
serverFile: string;
|
|
18
|
+
abortDelay: number;
|
|
19
|
+
host: string;
|
|
20
|
+
port: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Server config
|
|
24
|
+
*/
|
|
25
|
+
declare class ServerConfig {
|
|
26
|
+
/**
|
|
27
|
+
* Production build
|
|
28
|
+
*/
|
|
29
|
+
readonly isProd: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Server host mode
|
|
32
|
+
*/
|
|
33
|
+
readonly isHost: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* SPA mode
|
|
36
|
+
*/
|
|
37
|
+
readonly isSPA: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Vite config - only for development
|
|
40
|
+
*/
|
|
41
|
+
protected vite?: ViteDevServer;
|
|
42
|
+
/**
|
|
43
|
+
* Express application
|
|
44
|
+
*/
|
|
45
|
+
protected app?: Express;
|
|
46
|
+
/**
|
|
47
|
+
* Config params
|
|
48
|
+
*/
|
|
49
|
+
protected params: IConfigParams;
|
|
50
|
+
/**
|
|
51
|
+
* Default production params
|
|
52
|
+
*/
|
|
53
|
+
protected prodParams: Partial<IConfigParams>;
|
|
54
|
+
/**
|
|
55
|
+
* Vite logger for dev mode or console for production
|
|
56
|
+
*/
|
|
57
|
+
protected logger: Logger;
|
|
58
|
+
/**
|
|
59
|
+
* @constructor
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* @constructor
|
|
63
|
+
*/
|
|
64
|
+
protected constructor({ isProd, isHost, isOnlyClient }: IConfigOptions, prodParams: Partial<IConfigParams>);
|
|
65
|
+
/**
|
|
66
|
+
* Initialize service
|
|
67
|
+
*/
|
|
68
|
+
/**
|
|
69
|
+
* Initialize service
|
|
70
|
+
*/
|
|
71
|
+
static init(options?: IConfigOptions, prodOptions?: Partial<IConfigParams>): ServerConfig;
|
|
72
|
+
/**
|
|
73
|
+
* Make config params
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* Make config params
|
|
77
|
+
*/
|
|
78
|
+
protected makeParams(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Set vite server
|
|
81
|
+
*/
|
|
82
|
+
/**
|
|
83
|
+
* Set vite server
|
|
84
|
+
*/
|
|
85
|
+
setVite(vite: ViteDevServer): void;
|
|
86
|
+
/**
|
|
87
|
+
* Set express server
|
|
88
|
+
*/
|
|
89
|
+
/**
|
|
90
|
+
* Set express server
|
|
91
|
+
*/
|
|
92
|
+
setApp(express: Express): void;
|
|
93
|
+
/**
|
|
94
|
+
* Set custom abort delay
|
|
95
|
+
*/
|
|
96
|
+
/**
|
|
97
|
+
* Set custom abort delay
|
|
98
|
+
*/
|
|
99
|
+
setAbortDelay(ms: number): void;
|
|
100
|
+
/**
|
|
101
|
+
* Return vite dev server
|
|
102
|
+
* NOTE: only on development mode
|
|
103
|
+
*/
|
|
104
|
+
/**
|
|
105
|
+
* Return vite dev server
|
|
106
|
+
* NOTE: only on development mode
|
|
107
|
+
*/
|
|
108
|
+
getVite(): ViteDevServer | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Return express server
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* Return express server
|
|
114
|
+
*/
|
|
115
|
+
getApp(): Express | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* return plugin config
|
|
118
|
+
* NOTE: only on development mode
|
|
119
|
+
*/
|
|
120
|
+
/**
|
|
121
|
+
* return plugin config
|
|
122
|
+
* NOTE: only on development mode
|
|
123
|
+
*/
|
|
124
|
+
getPluginConfig(): IPluginConfig | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Return config params
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* Return config params
|
|
130
|
+
*/
|
|
131
|
+
getParams(): IConfigParams;
|
|
132
|
+
/**
|
|
133
|
+
* Get server logger
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* Get server logger
|
|
137
|
+
*/
|
|
138
|
+
getLogger(): Logger;
|
|
139
|
+
}
|
|
140
|
+
export { ServerConfig as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import r from"node:path";import t from"../helpers/plugin-config.js";import i from"./logger.js";class s{isProd;isHost;isSPA;vite;app;params;prodParams;logger;constructor({isProd:r=!1,isHost:t=!1,isOnlyClient:i=!1},s){this.isProd=r,this.isHost=t,this.isSPA=i,this.prodParams={root:"./build",publicDir:"/client",indexFile:"/client/index.html",serverFile:"/server/server.js",host:"127.0.0.1",port:3e3,abortDelay:1e4,...s},this.makeParams()}static init(r={},t={}){return new s(r,t)}makeParams(){const t=this.getPluginConfig()??{},{config:s}=this.vite??{},e=s?.root??this.prodParams.root??"",o=s?.publicDir??this.prodParams.publicDir,a=new URL(import.meta.url),p=t.pluginPath??r.resolve(`../${r.dirname(a.pathname)}`),h=t.indexFile??this.prodParams.indexFile,l=t.serverFile??this.prodParams.serverFile,n="boolean"==typeof s?.server.host||this.isHost?"0.0.0.0":s?.server.host??this.prodParams.host,m=s?.server.port??(this.isProd?this.prodParams.port:5173),g=t.abortDelay??this.prodParams.abortDelay;this.params={root:e,publicDir:o,pluginPath:p,indexFile:h,serverFile:l,host:n,port:m,abortDelay:g,isSPA:this.isSPA,isProd:this.isProd},this.logger=this.vite?.config.logger??new i}setVite(r){this.vite=r,this.makeParams()}setApp(r){this.app=r}setAbortDelay(r){this.prodParams.abortDelay=r,this.params.abortDelay=r}getVite(){return this.vite}getApp(){return this.app}getPluginConfig(){return this.vite?t(this.vite.config):void 0}getParams(){return this.params}getLogger(){return this.logger}}export{s as default};
|
|
2
|
+
//# sourceMappingURL=server-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-config.js","sources":["../../src/services/server-config.ts"],"sourcesContent":["import path from 'node:path';\nimport type { Express } from 'express';\nimport type { Logger, ViteDevServer } from 'vite';\nimport type { IPluginConfig } from '@helpers/plugin-config';\nimport getPluginConfig from '@helpers/plugin-config';\nimport DefaultLogger from '@services/logger';\n\ninterface IConfigOptions {\n isProd?: boolean;\n isHost?: boolean;\n isOnlyClient?: boolean; // SPA mode\n prodParams?: Partial<IConfigParams>;\n}\n\ninterface IConfigParams {\n root: string;\n publicDir: string;\n pluginPath: string;\n isProd: boolean;\n isSPA: boolean;\n indexFile: string;\n serverFile: string;\n abortDelay: number;\n host: string;\n port: number;\n}\n\n/**\n * Server config\n */\nclass ServerConfig {\n /**\n * Production build\n */\n public readonly isProd: boolean;\n\n /**\n * Server host mode\n */\n public readonly isHost: boolean;\n\n /**\n * SPA mode\n */\n public readonly isSPA: boolean;\n\n /**\n * Vite config - only for development\n */\n protected vite?: ViteDevServer;\n\n /**\n * Express application\n */\n protected app?: Express;\n\n /**\n * Config params\n */\n protected params: IConfigParams;\n\n /**\n * Default production params\n */\n protected prodParams: Partial<IConfigParams>;\n\n /**\n * Vite logger for dev mode or console for production\n */\n protected logger: Logger;\n\n /**\n * @constructor\n */\n protected constructor(\n { isProd = false, isHost = false, isOnlyClient = false }: IConfigOptions,\n prodParams: Partial<IConfigParams>,\n ) {\n this.isProd = isProd;\n this.isHost = isHost;\n this.isSPA = isOnlyClient;\n this.prodParams = {\n root: './build',\n publicDir: '/client', // default for production,\n indexFile: '/client/index.html',\n serverFile: '/server/server.js',\n host: '127.0.0.1',\n port: 3000,\n abortDelay: 10000,\n ...prodParams,\n };\n\n this.makeParams();\n }\n\n /**\n * Initialize service\n */\n public static init(\n options: IConfigOptions = {},\n prodOptions: Partial<IConfigParams> = {},\n ): ServerConfig {\n return new ServerConfig(options, prodOptions);\n }\n\n /**\n * Make config params\n */\n protected makeParams(): void {\n const pluginConfig = (this.getPluginConfig() ?? {}) as Partial<IPluginConfig>;\n const { config } = this.vite ?? {};\n\n const root = config?.root ?? this.prodParams.root ?? '';\n const publicDir = config?.publicDir ?? this.prodParams.publicDir!;\n const dirInfo = new URL(import.meta.url);\n const pluginPath =\n pluginConfig.pluginPath ?? path.resolve(`../${path.dirname(dirInfo.pathname)}`);\n const indexFile = pluginConfig.indexFile ?? this.prodParams.indexFile!;\n const serverFile = pluginConfig.serverFile ?? this.prodParams.serverFile!;\n const host =\n typeof config?.server.host === 'boolean' || this.isHost\n ? '0.0.0.0'\n : config?.server.host ?? this.prodParams.host!;\n const port = config?.server.port ?? (this.isProd ? this.prodParams.port! : 5173);\n const abortDelay = pluginConfig.abortDelay ?? this.prodParams.abortDelay!;\n\n this.params = {\n root,\n publicDir,\n pluginPath,\n indexFile,\n serverFile,\n host,\n port,\n abortDelay,\n isSPA: this.isSPA,\n isProd: this.isProd,\n };\n this.logger = this.vite?.config.logger ?? new DefaultLogger();\n }\n\n /**\n * Set vite server\n */\n public setVite(vite: ViteDevServer): void {\n this.vite = vite;\n\n this.makeParams();\n }\n\n /**\n * Set express server\n */\n public setApp(express: Express): void {\n this.app = express;\n }\n\n /**\n * Set custom abort delay\n */\n public setAbortDelay(ms: number): void {\n this.prodParams.abortDelay = ms;\n this.params.abortDelay = ms;\n }\n\n /**\n * Return vite dev server\n * NOTE: only on development mode\n */\n public getVite(): ViteDevServer | undefined {\n return this.vite;\n }\n\n /**\n * Return express server\n */\n public getApp(): Express | undefined {\n return this.app;\n }\n\n /**\n * return plugin config\n * NOTE: only on development mode\n */\n public getPluginConfig(): IPluginConfig | undefined {\n return this.vite ? getPluginConfig(this.vite.config) : undefined;\n }\n\n /**\n * Return config params\n */\n public getParams(): IConfigParams {\n return this.params;\n }\n\n /**\n * Get server logger\n */\n public getLogger(): Logger {\n return this.logger;\n }\n}\n\nexport default ServerConfig;\n"],"names":["ServerConfig","isProd","isHost","isSPA","vite","app","params","prodParams","logger","constructor","isOnlyClient","this","root","publicDir","indexFile","serverFile","host","port","abortDelay","makeParams","static","options","prodOptions","pluginConfig","getPluginConfig","config","dirInfo","URL","url","pluginPath","path","resolve","dirname","pathname","server","DefaultLogger","setVite","setApp","express","setAbortDelay","ms","getVite","getApp","undefined","getParams","getLogger"],"mappings":"+FA8BA,MAAMA,EAIYC,OAKAC,OAKAC,MAKNC,KAKAC,IAKAC,OAKAC,WAKAC,OAKVC,aACER,OAAEA,GAAS,EAAKC,OAAEA,GAAS,EAAKQ,aAAEA,GAAe,GACjDH,GAEAI,KAAKV,OAASA,EACdU,KAAKT,OAASA,EACdS,KAAKR,MAAQO,EACbC,KAAKJ,WAAa,CAChBK,KAAM,UACNC,UAAW,UACXC,UAAW,qBACXC,WAAY,oBACZC,KAAM,YACNC,KAAM,IACNC,WAAY,OACTX,GAGLI,KAAKQ,YACN,CAKMC,YACLC,EAA0B,GAC1BC,EAAsC,CAAA,GAEtC,OAAO,IAAItB,EAAaqB,EAASC,EAClC,CAKSH,aACR,MAAMI,EAAgBZ,KAAKa,mBAAqB,CAAE,GAC5CC,OAAEA,GAAWd,KAAKP,MAAQ,CAAA,EAE1BQ,EAAOa,GAAQb,MAAQD,KAAKJ,WAAWK,MAAQ,GAC/CC,EAAYY,GAAQZ,WAAaF,KAAKJ,WAAWM,UACjDa,EAAU,IAAIC,gBAAgBC,KAC9BC,EACJN,EAAaM,YAAcC,EAAKC,QAAQ,MAAMD,EAAKE,QAAQN,EAAQO,aAC/DnB,EAAYS,EAAaT,WAAaH,KAAKJ,WAAWO,UACtDC,EAAaQ,EAAaR,YAAcJ,KAAKJ,WAAWQ,WACxDC,EAC2B,kBAAxBS,GAAQS,OAAOlB,MAAsBL,KAAKT,OAC7C,UACAuB,GAAQS,OAAOlB,MAAQL,KAAKJ,WAAWS,KACvCC,EAAOQ,GAAQS,OAAOjB,OAASN,KAAKV,OAASU,KAAKJ,WAAWU,KAAQ,MACrEC,EAAaK,EAAaL,YAAcP,KAAKJ,WAAWW,WAE9DP,KAAKL,OAAS,CACZM,OACAC,YACAgB,aACAf,YACAC,aACAC,OACAC,OACAC,aACAf,MAAOQ,KAAKR,MACZF,OAAQU,KAAKV,QAEfU,KAAKH,OAASG,KAAKP,MAAMqB,OAAOjB,QAAU,IAAI2B,CAC/C,CAKMC,QAAQhC,GACbO,KAAKP,KAAOA,EAEZO,KAAKQ,YACN,CAKMkB,OAAOC,GACZ3B,KAAKN,IAAMiC,CACZ,CAKMC,cAAcC,GACnB7B,KAAKJ,WAAWW,WAAasB,EAC7B7B,KAAKL,OAAOY,WAAasB,CAC1B,CAMMC,UACL,OAAO9B,KAAKP,IACb,CAKMsC,SACL,OAAO/B,KAAKN,GACb,CAMMmB,kBACL,OAAOb,KAAKP,KAAOoB,EAAgBb,KAAKP,KAAKqB,aAAUkB,CACxD,CAKMC,YACL,OAAOjC,KAAKL,MACb,CAKMuC,YACL,OAAOlC,KAAKH,MACb"}
|