Skip to content

Commit 240e7fe

Browse files
committed
refactor(bundler-webpack): rename vuepress-ssr-loader
1 parent a5294d5 commit 240e7fe

File tree

6 files changed

+19
-15
lines changed

6 files changed

+19
-15
lines changed

packages/bundler-webpack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"author": "meteorlxy",
2121
"type": "module",
2222
"imports": {
23-
"#vuepress-loader": "./dist/vuepress-loader.cjs"
23+
"#vuepress-ssr-loader": "./dist/vuepress-ssr-loader.cjs"
2424
},
2525
"exports": {
2626
".": "./dist/index.js",

packages/bundler-webpack/src/build/createClientConfig.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ export const createClientConfig = async (
2727
isBuild: true,
2828
})
2929

30-
// use internal vuepress-loader to handle SSR dependencies
30+
// use internal vuepress-ssr-loader to handle SSR dependencies
3131
config.module
3232
.rule('vue')
3333
.test(/\.vue$/)
34-
.use('vuepress-loader')
34+
.use('vuepress-ssr-loader')
3535
.before('vue-loader')
36-
.loader(require.resolve('#vuepress-loader'))
36+
.loader(require.resolve('#vuepress-ssr-loader'))
3737
.end()
3838

3939
// vuepress client plugin, handle client assets info for ssr

packages/bundler-webpack/src/build/createServerConfig.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,16 @@ export const createServerConfig = async (
4343
// do not need to minimize server bundle
4444
config.optimization.minimize(false)
4545

46-
// use internal vuepress-loader to handle SSR dependencies
46+
// use internal vuepress-ssr-loader to handle SSR dependencies
4747
config.module
4848
.rule('vue')
4949
.test(/\.vue$/)
50-
.use('vuepress-loader')
50+
.use('vuepress-ssr-loader')
5151
.before('vue-loader')
52-
.loader(require.resolve('#vuepress-loader'))
52+
.loader(require.resolve('#vuepress-ssr-loader'))
53+
.options({
54+
app,
55+
})
5356
.end()
5457

5558
return config

packages/bundler-webpack/src/build/renderPage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import type { FileMeta, ModuleFilesMetaMap } from './types.js'
1414

1515
interface PageRenderContext extends SSRContext, VuepressSSRContext {
1616
/**
17-
* Injected by vuepress-loader
17+
* Injected by vuepress-ssr-loader
1818
*
1919
* Store the module request of components that used by current page
2020
*/
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import type { LoaderDefinitionFunction } from 'webpack'
2+
13
/**
24
* A webpack loader to handle SSR dependencies
35
*
@@ -8,11 +10,8 @@
810
* to ensure that the module `request` in client and
911
* server bundle are the same
1012
*/
11-
module.exports = function vuepressLoader(source: string): string {
12-
// get `request` from loader context
13-
const { request } = this as any
14-
15-
if (!request.endsWith('.vue')) return source
13+
const vuepressSsrLoader: LoaderDefinitionFunction = function (source) {
14+
if (!this.request.endsWith('.vue')) return source
1615

1716
// add `request` to `ssrContext._registeredComponents` to handle SSR dependencies
1817
// notice that this could only handle those sfc that cannot use inline template
@@ -23,9 +22,11 @@ module.exports = function vuepressLoader(source: string): string {
2322
import { ssrContextKey } from 'vue'
2423
const ssrRender = (...args) => {
2524
const ssrContext = args[2].appContext.provides[ssrContextKey]
26-
ssrContext._registeredComponents.add(${JSON.stringify(request)})
25+
ssrContext._registeredComponents.add(${JSON.stringify(this.request)})
2726
return _ssrRender(...args)
2827
}
2928
`,
3029
)
3130
}
31+
32+
module.exports = vuepressSsrLoader

packages/bundler-webpack/tsup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export default defineConfig([
1818
{
1919
...shared,
2020
entry: {
21-
'vuepress-loader': './src/build/ssr/vuepressLoader.cts',
21+
'vuepress-ssr-loader': './src/build/ssr/vuepressSsrLoader.cts',
2222
},
2323
format: ['cjs'],
2424
},

0 commit comments

Comments
 (0)