Skip to content

Commit 47edee1

Browse files
committed
refactor(bundler-webpack): improve build dir structure and e2e scripts of webpack
1 parent 240e7fe commit 47edee1

File tree

12 files changed

+24
-22
lines changed

12 files changed

+24
-22
lines changed

e2e/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
"type": "module",
66
"scripts": {
77
"docs:build": "vuepress build docs --clean-cache --clean-temp",
8-
"docs:build-webpack": "cross-env E2E_BUNDLER=webpack pnpm docs:build",
8+
"docs:build:webpack": "cross-env E2E_BUNDLER=webpack pnpm docs:build",
99
"docs:clean": "rimraf docs/.vuepress/.temp docs/.vuepress/.cache docs/.vuepress/dist",
1010
"docs:dev": "vuepress dev docs --clean-cache --clean-temp",
11-
"docs:dev-webpack": "cross-env E2E_BUNDLER=webpack pnpm docs:dev",
11+
"docs:dev:webpack": "cross-env E2E_BUNDLER=webpack pnpm docs:dev",
1212
"docs:serve": "anywhere -s -h localhost -p 9080 -d docs/.vuepress/dist",
1313
"e2e:build": "cross-env E2E_COMMAND=build playwright test",
14-
"e2e:build-webpack": "cross-env E2E_COMMAND=build E2E_BUNDLER=webpack playwright test",
14+
"e2e:build:webpack": "cross-env E2E_COMMAND=build E2E_BUNDLER=webpack playwright test",
1515
"e2e:dev": "cross-env E2E_COMMAND=dev playwright test",
16-
"e2e:dev-webpack": "cross-env E2E_COMMAND=dev E2E_BUNDLER=webpack playwright test"
16+
"e2e:dev:webpack": "cross-env E2E_COMMAND=dev E2E_BUNDLER=webpack playwright test"
1717
},
1818
"dependencies": {
1919
"@vuepress-e2e/conditional-exports": "file:./modules/conditional-exports",

e2e/playwright.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { defineConfig, devices } from '@playwright/test'
22
import { BASE, BUNDLER, IS_CI, IS_DEV } from './utils/env'
33

44
const COMMAND_PART1 = IS_DEV ? 'docs:dev' : 'docs:build'
5-
const COMMAND_PART2 = BUNDLER === 'vite' ? '' : `-${BUNDLER}`
5+
const COMMAND_PART2 = BUNDLER === 'vite' ? '' : `:${BUNDLER}`
66
const COMMAND_PART3 = IS_DEV ? '' : ' && pnpm docs:serve'
77

88
export default defineConfig({

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"release:version": "bumpp -r --execute=\"pnpm release:changelog\" --commit \"build: publish v%s\" --all",
1919
"test": "pnpm test:unit && pnpm test:e2e",
2020
"test:e2e": "pnpm --filter e2e e2e:dev && pnpm --filter e2e e2e:build",
21+
"test:e2e:webpack": "pnpm --filter e2e e2e:dev:webpack && pnpm --filter e2e e2e:build:webpack",
2122
"test:unit": "vitest run",
2223
"test:unit:cov": "vitest run --coverage"
2324
},

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
import { createServerConfig } from './createServerConfig.js'
1919
import { renderPage } from './renderPage.js'
2020
import { resolveClientManifestMeta } from './resolveClientManifestMeta.js'
21-
import type { ClientManifest } from './ssr/index.js'
21+
import type { ClientManifest } from './types.js'
2222

2323
const log = debug('vuepress:bundler-webpack/build')
2424

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import MiniCssExtractPlugin from 'mini-css-extract-plugin'
88
import type Config from 'webpack-5-chain'
99
import { createClientBaseConfig } from '../config/index.js'
1010
import type { WebpackBundlerOptions } from '../types.js'
11-
import { createClientPlugin } from './ssr/index.js'
11+
import { createClientPlugin } from './createClientPlugin.js'
1212

1313
const require = createRequire(import.meta.url)
1414

packages/bundler-webpack/src/build/ssr/createClientPlugin.ts renamed to packages/bundler-webpack/src/build/createClientPlugin.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
import { fs } from '@vuepress/utils'
22
import type { StatsModule, WebpackPluginInstance } from 'webpack'
3-
import { isCSS, isJS } from './utils.js'
3+
import type { ClientManifest } from './types.js'
44

5-
export interface ClientManifest {
6-
all: string[]
7-
initial: string[]
8-
async: string[]
9-
modules: Record<string, number[]>
10-
}
5+
const isJS = (file: string): boolean => /\.js(\?[^.]+)?$/.test(file)
6+
7+
const isCSS = (file: string): boolean => /\.css(\?[^.]+)?$/.test(file)
118

129
/**
1310
* Vuepress client plugin

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { resolveFileMeta } from './resolveFileMeta.js'
2-
import type { ClientManifest } from './ssr/index.js'
3-
import type { FileMeta, ModuleFilesMetaMap } from './types.js'
2+
import type { ClientManifest, FileMeta, ModuleFilesMetaMap } from './types.js'
43

54
/**
65
* Resolve files meta from clientManifest

packages/bundler-webpack/src/build/ssr/index.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

packages/bundler-webpack/src/build/ssr/utils.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,13 @@ export type FileMetaType = '' | 'font' | 'image' | 'script' | 'style'
2727
* A "module request" to "client files meta" key-value map
2828
*/
2929
export type ModuleFilesMetaMap = Record<string, FileMeta[]>
30+
31+
/**
32+
* Client manifest that collected from webpack stats
33+
*/
34+
export interface ClientManifest {
35+
all: string[]
36+
initial: string[]
37+
async: string[]
38+
modules: Record<string, number[]>
39+
}

0 commit comments

Comments
 (0)