@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.
Files changed (109) hide show
  1. package/browser/entry.d.ts +20 -0
  2. package/browser/entry.js +2 -0
  3. package/browser/entry.js.map +1 -0
  4. package/cli/build.d.ts +11 -0
  5. package/cli/build.js +2 -0
  6. package/cli/build.js.map +1 -0
  7. package/cli/keyboard-input.d.ts +5 -0
  8. package/cli/keyboard-input.js +2 -0
  9. package/cli/keyboard-input.js.map +1 -0
  10. package/cli/run-dev.d.ts +17 -0
  11. package/cli/run-dev.js +2 -0
  12. package/cli/run-dev.js.map +1 -0
  13. package/cli/run-prod.d.ts +19 -0
  14. package/cli/run-prod.js +2 -0
  15. package/cli/run-prod.js.map +1 -0
  16. package/cli/vite-reset-cache.d.ts +5 -0
  17. package/cli/vite-reset-cache.js +2 -0
  18. package/cli/vite-reset-cache.js.map +1 -0
  19. package/cli.d.ts +2 -0
  20. package/cli.js +3 -0
  21. package/cli.js.map +1 -0
  22. package/components/navigate.d.ts +12 -0
  23. package/components/navigate.js +2 -0
  24. package/components/navigate.js.map +1 -0
  25. package/components/response-status.d.ts +11 -0
  26. package/components/response-status.js +2 -0
  27. package/components/response-status.js.map +1 -0
  28. package/constants/cli-actions.d.ts +7 -0
  29. package/constants/cli-actions.js +2 -0
  30. package/constants/cli-actions.js.map +1 -0
  31. package/constants/cli-context.d.ts +14 -0
  32. package/constants/cli-context.js +2 -0
  33. package/constants/cli-context.js.map +1 -0
  34. package/constants/cli-name.d.ts +2 -0
  35. package/constants/cli-name.js +2 -0
  36. package/constants/cli-name.js.map +1 -0
  37. package/constants/cli-shortcuts.d.ts +6 -0
  38. package/constants/cli-shortcuts.js +2 -0
  39. package/constants/cli-shortcuts.js.map +1 -0
  40. package/constants/common.d.ts +2 -0
  41. package/constants/common.js +2 -0
  42. package/constants/common.js.map +1 -0
  43. package/constants/plugin-name.d.ts +2 -0
  44. package/constants/plugin-name.js +2 -0
  45. package/constants/plugin-name.js.map +1 -0
  46. package/constants/stream-error.d.ts +10 -0
  47. package/constants/stream-error.js +2 -0
  48. package/constants/stream-error.js.map +1 -0
  49. package/context/server.d.ts +21 -0
  50. package/context/server.js +2 -0
  51. package/context/server.js.map +1 -0
  52. package/helpers/build-custom-state.d.ts +6 -0
  53. package/helpers/build-custom-state.js +2 -0
  54. package/helpers/build-custom-state.js.map +1 -0
  55. package/helpers/build-router-state.d.ts +6 -0
  56. package/helpers/build-router-state.js +2 -0
  57. package/helpers/build-router-state.js.map +1 -0
  58. package/helpers/handle-response.d.ts +7 -0
  59. package/helpers/handle-response.js +2 -0
  60. package/helpers/handle-response.js.map +1 -0
  61. package/helpers/obtain-stream-error.d.ts +11 -0
  62. package/helpers/obtain-stream-error.js +2 -0
  63. package/helpers/obtain-stream-error.js.map +1 -0
  64. package/helpers/plugin-config.d.ts +13 -0
  65. package/helpers/plugin-config.js +2 -0
  66. package/helpers/plugin-config.js.map +1 -0
  67. package/helpers/print-server-info.d.ts +11 -0
  68. package/helpers/print-server-info.js +2 -0
  69. package/helpers/print-server-info.js.map +1 -0
  70. package/helpers/print-server-urls.d.ts +8 -0
  71. package/helpers/print-server-urls.js +2 -0
  72. package/helpers/print-server-urls.js.map +1 -0
  73. package/helpers/process-stop.d.ts +5 -0
  74. package/helpers/process-stop.js +2 -0
  75. package/helpers/process-stop.js.map +1 -0
  76. package/helpers/resolve-server-urls.d.ts +15 -0
  77. package/helpers/resolve-server-urls.js +2 -0
  78. package/helpers/resolve-server-urls.js.map +1 -0
  79. package/helpers/serialize-errors.d.ts +7 -0
  80. package/helpers/serialize-errors.js +2 -0
  81. package/helpers/serialize-errors.js.map +1 -0
  82. package/node/create-fetch-request.d.ts +7 -0
  83. package/node/create-fetch-request.js +2 -0
  84. package/node/create-fetch-request.js.map +1 -0
  85. package/node/entry.d.ts +40 -0
  86. package/node/entry.js +2 -0
  87. package/node/entry.js.map +1 -0
  88. package/node/render.d.ts +64 -0
  89. package/node/render.js +2 -0
  90. package/node/render.js.map +1 -0
  91. package/node/server.d.ts +14 -0
  92. package/node/server.js +2 -0
  93. package/node/server.js.map +1 -0
  94. package/node/write-response.d.ts +14 -0
  95. package/node/write-response.js +2 -0
  96. package/node/write-response.js.map +1 -0
  97. package/package.json +76 -0
  98. package/plugin.d.ts +19 -0
  99. package/plugin.js +2 -0
  100. package/plugin.js.map +1 -0
  101. package/services/logger.d.ts +53 -0
  102. package/services/logger.js +2 -0
  103. package/services/logger.js.map +1 -0
  104. package/services/prepare-server.d.ts +74 -0
  105. package/services/prepare-server.js +2 -0
  106. package/services/prepare-server.js.map +1 -0
  107. package/services/server-config.d.ts +140 -0
  108. package/services/server-config.js +2 -0
  109. 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"}