Skip to content

Commit 4f4f3f9

Browse files
specify dev importer in start-plugin-core
1 parent e51f5b3 commit 4f4f3f9

File tree

3 files changed

+35
-39
lines changed

3 files changed

+35
-39
lines changed

packages/directive-functions-plugin/src/index.ts

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ export function TanStackDirectiveFunctionsPlugin(
4646
configResolved: (config) => {
4747
root = config.root
4848
},
49-
transform(code, id) {
50-
return transformCode({ ...opts, code, id, directiveRx, root })
49+
transform: {
50+
filter: {
51+
code: directiveRx,
52+
},
53+
handler: (code, id) => transformCode({ ...opts, code, id, root }),
5154
},
5255
}
5356
}
@@ -96,32 +99,33 @@ export function TanStackDirectiveFunctionsPluginEnv(
9699
// opts.environments.server.envName,
97100
// ].includes(env.name)
98101
// },
99-
transform(code, id) {
100-
const envOptions = [
101-
opts.environments.client,
102-
opts.environments.server,
103-
].find((e) => e.envName === this.environment.name)
104-
105-
if (!envOptions) {
106-
throw new Error(`Environment ${this.environment.name} not found`)
107-
}
108-
109-
return transformCode({
110-
...opts,
111-
...envOptions,
112-
code,
113-
id,
114-
directiveRx,
115-
root,
116-
})
102+
transform: {
103+
filter: { code: directiveRx },
104+
handler(code, id) {
105+
const envOptions = [
106+
opts.environments.client,
107+
opts.environments.server,
108+
].find((e) => e.envName === this.environment.name)
109+
110+
if (!envOptions) {
111+
throw new Error(`Environment ${this.environment.name} not found`)
112+
}
113+
114+
return transformCode({
115+
...opts,
116+
...envOptions,
117+
code,
118+
id,
119+
root,
120+
})
121+
},
117122
},
118123
}
119124
}
120125

121126
function transformCode({
122127
code,
123128
id,
124-
directiveRx,
125129
envLabel,
126130
directive,
127131
directiveLabel,
@@ -132,17 +136,12 @@ function transformCode({
132136
}: DirectiveFunctionsViteOptions & {
133137
code: string
134138
id: string
135-
directiveRx: RegExp
136139
root: string
137140
}) {
138141
const url = pathToFileURL(id)
139142
url.searchParams.delete('v')
140143
id = fileURLToPath(url).replace(/\\/g, '/')
141144

142-
if (!code.match(directiveRx)) {
143-
return null
144-
}
145-
146145
if (debug) console.info(`${envLabel}: Compiling Directives: `, id)
147146

148147
const { compiledResult, directiveFnsById } = compileDirectives({

packages/start-plugin-core/src/plugin.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,15 @@ export function TanStackStartVitePluginCore(
156156
`createServerRpc('${d.functionId}', '${startConfig.serverFns.base}', ${d.fn})`,
157157
envName: VITE_ENVIRONMENT_NAMES.server,
158158
},
159+
importer: (fn) => {
160+
const serverEnv = (globalThis as any).viteDevServer.environments[
161+
VITE_ENVIRONMENT_NAMES.server
162+
]
163+
if (!serverEnv) {
164+
throw new Error(`'ssr' vite dev environment not found`)
165+
}
166+
return serverEnv.runner.import(fn.extractedFilename)
167+
},
159168
}),
160169
startManifestPlugin(startConfig),
161170
nitroPlugin(startConfig, () => ssrBundle),

packages/start-server-core/src/server-functions-handler.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@ import { startSerializer } from '@tanstack/start-client-core'
55
import _serverFnManifest from 'tanstack:server-fn-manifest'
66
import { getEvent, getResponseStatus } from './h3'
77

8-
// NOTE: This is a dummy export to silence warnings about
9-
// only having a default export.
10-
export const dummy = 2
11-
128
const serverFnManifest = _serverFnManifest as Record<
139
string,
1410
{
@@ -66,15 +62,7 @@ export const handleServerAction = async ({ request }: { request: Request }) => {
6662

6763
let fnModule: undefined | { [key: string]: any }
6864

69-
if (process.env.NODE_ENV === 'development') {
70-
const serverEnv = (globalThis as any).viteDevServer.environments['server']
71-
if (!serverEnv) {
72-
throw new Error(`'server' vite dev environment not found`)
73-
}
74-
fnModule = await serverEnv.runner.import(serverFnInfo.extractedFilename)
75-
} else {
76-
fnModule = await serverFnInfo.importer()
77-
}
65+
fnModule = await serverFnInfo.importer()
7866

7967
if (!fnModule) {
8068
console.info('serverFnInfo', serverFnInfo)

0 commit comments

Comments
 (0)