@rpcbase/vite 0.3.0 → 0.5.0

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 (2) hide show
  1. package/index.js +101 -73
  2. package/package.json +9 -9
package/index.js CHANGED
@@ -1,22 +1,20 @@
1
1
  import path from "path"
2
2
  import nocache from "nocache"
3
- import {createServer as viteCreateServer, defineConfig, mergeConfig, loadEnv } from "vite"
3
+ import {
4
+ createServer as viteCreateServer,
5
+ defineConfig,
6
+ mergeConfig,
7
+ loadEnv,
8
+ } from "vite"
4
9
 
5
10
  import react from "@vitejs/plugin-react-swc"
6
11
  // @ts-ignore
7
12
  import tailwindcss from "@tailwindcss/vite"
8
13
 
9
- const isProduction = process.env.NODE_ENV === "production"
14
+ const ALLOWED_DEV_ENV = ["NODE_ENV", "APP_NAME", "DB_NAME"]
10
15
 
11
- const ALLOWED_DEV_ENV = [
12
- "NODE_ENV",
13
- "APP_NAME",
14
- "DB_NAME"
15
- ]
16
+ const isProduction = process.env.NODE_ENV === "production"
16
17
 
17
- // workaround vite.ssrLoadModule not setting ssrBuild properly
18
- const allowedEnvPrefixes = ["RB_PUBLIC_", ...(isProduction ? [] : ALLOWED_DEV_ENV)]
19
- const env = loadEnv("development", process.cwd(), allowedEnvPrefixes)
20
18
 
21
19
  export const resolveAliases = {
22
20
  "@/api": path.resolve(process.cwd(), "./src/api/"),
@@ -25,77 +23,108 @@ export const resolveAliases = {
25
23
  "@/types": path.resolve(process.cwd(), "./src/types/"),
26
24
  "@": path.resolve(process.cwd(), "./src/client/"),
27
25
  //
28
- "react-hook-form": path.resolve(process.cwd(), "./node_modules/react-hook-form"),
29
- "@hookform/resolvers": path.resolve(process.cwd(), "./node_modules/@hookform/resolvers"),
30
- "cookie": path.resolve(process.cwd(), "./node_modules/cookie"),
31
- "set-cookie-parser": path.resolve(process.cwd(), "./node_modules/set-cookie-parser"),
26
+ "react-hook-form": path.resolve(
27
+ process.cwd(),
28
+ "./node_modules/react-hook-form",
29
+ ),
30
+ "@hookform/resolvers": path.resolve(
31
+ process.cwd(),
32
+ "./node_modules/@hookform/resolvers",
33
+ ),
34
+ cookie: path.resolve(process.cwd(), "./node_modules/cookie"),
35
+ "set-cookie-parser": path.resolve(
36
+ process.cwd(),
37
+ "./node_modules/set-cookie-parser",
38
+ ),
32
39
  // "react-dom": path.resolve(import.meta.dirname, "./node_modules/react-dom"),
33
40
  }
34
41
 
35
-
36
42
  // https://vite.dev/config/
37
- const baseConfig = defineConfig({
38
- clearScreen: false,
39
- plugins: [
40
- react(),
41
- tailwindcss(),
42
- ],
43
- define: {
44
- "process.env": {
45
- ...env,
43
+ const getBaseConfig = ({ command, mode, isSsrBuild, isPreview }) => {
44
+
45
+ // workaround vite.ssrLoadModule not setting ssrBuild properly
46
+ const allowedEnvPrefixes = [
47
+ "RB_PUBLIC_",
48
+ ...(isProduction ? [] : ALLOWED_DEV_ENV),
49
+ ]
50
+
51
+ const env = loadEnv(mode, process.cwd(), allowedEnvPrefixes)
52
+
53
+ return {
54
+ clearScreen: false,
55
+ plugins: [react(), tailwindcss()],
56
+ define: {
57
+ "process.env": {
58
+ ...env,
59
+ },
46
60
  },
47
- },
48
- publicDir: path.join(process.cwd(), "./src/client/public"),
49
- build: {
50
- outDir: "./build/dist/",
51
- rollupOptions: {
52
- input: {
53
- app: "./src/client/index.html",
61
+ publicDir: path.join(process.cwd(), "./src/client/public"),
62
+ build: {
63
+ outDir: "./build/dist/",
64
+ rollupOptions: {
65
+ input: {
66
+ app: "./src/client/index.html",
67
+ },
54
68
  },
69
+ commonjsOptions: { transformMixedEsModules: true },
55
70
  },
56
- commonjsOptions: {transformMixedEsModules: true}
57
- },
58
- server: {
59
- allowedHosts: true,
60
- headers: {
61
- "Cache-Control": "no-store",
71
+ server: {
72
+ allowedHosts: true,
73
+ headers: {
74
+ "Cache-Control": "no-store",
75
+ },
76
+ },
77
+ resolve: {
78
+ alias: {
79
+ ...resolveAliases,
80
+ },
81
+ preserveSymlinks: true,
62
82
  },
63
- },
64
- resolve: {
65
- alias: {
66
- ...resolveAliases,
83
+ ssr: {
84
+ external: [
85
+ // "react", "react-dom",
86
+ "cookie",
87
+ ],
88
+ // noExternal: ["react-hook-form"],
67
89
  },
68
- preserveSymlinks: true,
69
- },
70
- ssr: {
71
- external: [
72
- // "react", "react-dom",
73
- "cookie"
74
- ],
75
- // noExternal: ["react-hook-form"],
76
- },
77
- optimizeDeps: {
78
- include: [
79
- // "react", "react-dom", "react-dom/server"
80
- // "cookie"
81
- ],
82
- exclude: [
83
- "@rpcbase/auth", "@rpcbase/form", "@rpcbase/router", "react-router", "@radix-ui/*",
84
- // "react", "react-dom/server",
85
- // "react-hook-form",
86
- // "react-dom"
87
- ],
88
- },
89
- })
90
-
91
-
92
- export const extendConfig = (userConfig/*: Record<string, any>*/) => {
93
- return defineConfig(mergeConfig(baseConfig, userConfig));
94
- };
95
-
96
-
97
-
98
- export const createServer = async(config/* : Record<string, any>*/) => {
90
+ optimizeDeps: {
91
+ include: [
92
+ // "react", "react-dom", "react-dom/server"
93
+ // "cookie"
94
+ ],
95
+ exclude: [
96
+ "@rpcbase/auth",
97
+ "@rpcbase/form",
98
+ "@rpcbase/router",
99
+ "react-router",
100
+ "@radix-ui/*",
101
+ // "react", "react-dom/server",
102
+ // "react-hook-form",
103
+ // "react-dom"
104
+ ],
105
+ },
106
+ }
107
+ }
108
+
109
+ export const extendConfig = (userConfig) => {
110
+ return defineConfig(({ command, mode, isSsrBuild, isPreview }) => {
111
+ let config
112
+ if (typeof userConfig === "function") {
113
+ config = userConfig({ command, mode, isSsrBuild, isPreview })
114
+ } else {
115
+ config = userConfig
116
+ }
117
+
118
+ const baseConfig = getBaseConfig({ command, mode, isSsrBuild, isPreview })
119
+ return mergeConfig(baseConfig, config)
120
+ })
121
+
122
+ // return defineConfig(())
123
+ // // userConfig /*: Record<string, any>*/
124
+ // return mergeConfig(defineConfig(baseConfig), userConfig)
125
+ }
126
+
127
+ export const createServer = async (config /* : Record<string, any>*/) => {
99
128
  const extendedConfig = extendConfig(config)
100
129
  delete extendedConfig.plugins
101
130
 
@@ -104,7 +133,6 @@ export const createServer = async(config/* : Record<string, any>*/) => {
104
133
  return viteServer
105
134
  }
106
135
 
107
-
108
136
  export const disableAppCache = (app) => {
109
137
  app.set("etag", false)
110
138
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/vite",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -24,20 +24,20 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "@swc/core": "1.10.14",
28
- "@tailwindcss/vite": "4.0.3",
29
- "@vitejs/plugin-react-swc": "3.7.2",
27
+ "@swc/core": "1.11.7",
28
+ "@tailwindcss/vite": "4.0.12",
29
+ "@vitejs/plugin-react-swc": "3.8.0",
30
30
  "clsx": "2.1.1",
31
- "libphonenumber-js": "1.11.19",
32
- "mongoose": "8.10.0",
31
+ "libphonenumber-js": "1.12.5",
32
+ "mongoose": "8.12.1",
33
33
  "nocache": "4.0.0",
34
34
  "react": "19.0.0",
35
35
  "react-dom": "19.0.0",
36
- "react-router": "7.1.5",
36
+ "react-router": "7.3.0",
37
37
  "swc-plugin-add-display-name": "0.5.0",
38
38
  "tailwindcss": "4.0.3",
39
39
  "validator": "13.12.0",
40
- "vite": "6.1.0",
41
- "zod": "3.24.1"
40
+ "vite": "6.2.1",
41
+ "zod": "3.24.2"
42
42
  }
43
43
  }