Skip to content

Commit

Permalink
refactor: include build plugins in resolved config
Browse files Browse the repository at this point in the history
  • Loading branch information
yyx990803 committed Dec 28, 2020
1 parent aa36be1 commit 985b565
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 16 deletions.
2 changes: 1 addition & 1 deletion packages/vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
"magic-string": "^0.25.7",
"merge-source-map": "^1.1.0",
"mime": "^2.4.7",
"okie": "^1.0.0",
"okie": "^1.0.1",
"open": "^7.3.0",
"open-in-editor": "^2.2.0",
"postcss-import": "^13.0.0",
Expand Down
4 changes: 1 addition & 3 deletions packages/vite/src/node/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ export function resolveBuildOptions(
export function resolveBuildPlugins(config: ResolvedConfig): Plugin[] {
const options = config.build
return [
...(config.plugins as Plugin[]),
...(options.rollupOptions.plugins || []),
commonjsPlugin({
include: [/node_modules/],
Expand Down Expand Up @@ -220,7 +219,6 @@ async function doBuild(
: options.rollupOptions?.input || resolve('index.html')
const outDir = resolve(options.outDir)
const publicDir = resolve('public')
const plugins = resolveBuildPlugins(config)

const rollup = require('rollup') as typeof Rollup

Expand All @@ -229,7 +227,7 @@ async function doBuild(
input,
preserveEntrySignatures: libOptions ? 'strict' : false,
...options.rollupOptions,
plugins,
plugins: config.plugins as Plugin[],
onwarn(warning, warn) {
onRollupWarning(warning, warn, [], options.rollupOptions?.onwarn)
}
Expand Down
2 changes: 1 addition & 1 deletion packages/vite/src/node/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ export async function resolveConfig(
logger: createLogger(config.logLevel)
}

resolved.plugins = resolvePlugins(
resolved.plugins = await resolvePlugins(
resolved,
prePlugins,
normalPlugins,
Expand Down
17 changes: 12 additions & 5 deletions packages/vite/src/node/plugins/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,22 @@ import { htmlPlugin } from './html'
import { wasmPlugin } from './wasm'
import { webWorkerPlugin } from './worker'

export function resolvePlugins(
export async function resolvePlugins(
config: ResolvedConfig,
prePlugins: Plugin[],
normalPlugins: Plugin[],
postPlugins: Plugin[]
): Plugin[] {
): Promise<Plugin[]> {
const isBuild = config.command === 'build'

const buildPlugins = isBuild
? (await import('../build')).resolveBuildPlugins(config)
: []

return [
aliasPlugin({ entries: config.alias }),
...prePlugins,
resolvePlugin(config.root, config.command === 'build', true),
resolvePlugin(config.root, isBuild, true),
htmlPlugin(),
cssPlugin(config),
esbuildPlugin(config.esbuild || {}),
Expand All @@ -33,10 +39,11 @@ export function resolvePlugins(
webWorkerPlugin(config),
assetPlugin(config),
...normalPlugins,
...postPlugins,
cssPostPlugin(config),
...buildPlugins,
...postPlugins,
// internal server-only plugins are always applied after everything else
...(config.command === 'build'
...(isBuild
? []
: [clientInjectionsPlugin(config), importAnalysisPlugin(config)])
].filter(Boolean) as Plugin[]
Expand Down
3 changes: 1 addition & 2 deletions packages/vite/src/node/plugins/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,9 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin {
// bundle the file as entry to support imports and inline as base64
// data url
const rollup = require('rollup') as typeof Rollup
const { resolveBuildPlugins } = await import('../build')
const bundle = await rollup.rollup({
input: cleanUrl(id),
plugins: resolveBuildPlugins(config)
plugins: config.plugins as Plugin[]
})
try {
const { output } = await bundle.generate({
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4336,10 +4336,10 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"

okie@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/okie/-/okie-1.0.0.tgz#3c176cb579b7aec3c969b1fdd02dd53e8a736649"
integrity sha512-ZMCfMhpTDDq5QLhqZwS4zW8PVWnEnysj3vUMZ/Du0tVZDlF5uZ62ClnmzAhqgrNlwc5vbwgBOsff1ad7G9THdA==
okie@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/okie/-/okie-1.0.1.tgz#5ce8e5bd21606988514fccd1c5e3a5e1fb0b37d5"
integrity sha512-JQh5TdSYhzXSuKN3zzX8Rw9Q/Tec1fm0jwP/k9+cBDk6tyLjlARVu936MLY//2NZp76UGHH+5gXPzRejU1bTjQ==

on-finished@~2.3.0:
version "2.3.0"
Expand Down

0 comments on commit 985b565

Please sign in to comment.