Skip to content

Commit 7c12bb1

Browse files
committed
feat: add ability to update extension
1 parent e391b47 commit 7c12bb1

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

src/module.ts

+12-6
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,19 @@ import { join } from 'pathe'
55
import dedent from 'dedent'
66
import { getModuleId, transformServerFiles } from './runtime/transformer'
77

8-
export default defineNuxtModule({
8+
export interface ModuleOptions {
9+
extension?: string
10+
}
11+
12+
export default defineNuxtModule<ModuleOptions>({
913
meta: {
1014
name: 'nuxt-remote-fn',
1115
configKey: 'remoteFn'
1216
},
13-
async setup (_, nuxt) {
14-
const extGlob = '**/*.server.{ts,js,mjs}'
17+
defaults: {
18+
extension: 'server'
19+
},
20+
async setup (options, nuxt) {
1521
const files: string[] = []
1622

1723
// Transpile runtime and handler
@@ -21,7 +27,7 @@ export default defineNuxtModule({
2127

2228
nuxt.hook('builder:watch', async (e, path) => {
2329
if (e === 'change') { return }
24-
if (path.includes('.server.')) {
30+
if (path.includes(`.${options.extension}.`)) {
2531
await scanRemoteFunctions()
2632
await nuxt.callHook('builder:generateApp')
2733
}
@@ -32,7 +38,7 @@ export default defineNuxtModule({
3238
handler: handlerPath
3339
})
3440

35-
addVitePlugin(transformServerFiles())
41+
addVitePlugin(transformServerFiles({ extension: options.extension! }))
3642

3743
addImports({
3844
name: 'callRemoteFunction',
@@ -62,7 +68,7 @@ export default defineNuxtModule({
6268

6369
async function scanRemoteFunctions () {
6470
files.length = 0
65-
const updatedFiles = await fg(extGlob, {
71+
const updatedFiles = await fg(`**/*.${options.extension}.{ts,js,mjs}`, {
6672
cwd: nuxt.options.srcDir,
6773
absolute: true,
6874
onlyFiles: true,

src/runtime/transformer.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ export function getModuleId (file: string) {
77
return id
88
}
99

10-
export function transformServerFiles (): Plugin {
10+
interface Options {
11+
extension: string
12+
}
13+
14+
export function transformServerFiles (options: Options): Plugin {
1115
return {
1216
name: 'vite-plugin-remote-functions',
1317
enforce: 'post',
@@ -16,7 +20,7 @@ export function transformServerFiles (): Plugin {
1620
return
1721
}
1822

19-
if (!id.includes('.server.')) {
23+
if (!id.includes(`.${options.extension}.`)) {
2024
return
2125
}
2226

0 commit comments

Comments
 (0)