-
-
Notifications
You must be signed in to change notification settings - Fork 8k
legacy plugin forces minify #6266
Copy link
Copy link
Closed
Description
Describe the bug
When the legacy plugin is added, minification can't be disabled. For example, with this config:
{
build: {minify: false},
plugins: [react(), legacy({targets: ['defaults', 'not IE 11']})]
}The output js is minified. This includes both the original js and the legacy js. The plugin forces it on for both.
Reproduction
Here is an example repo: https://github.com/agriffis/vite-issue-repro-legacy-minify
I included dist in the repo so you can see the result without bothering to clone it. Inside dist, both index.bc5679cc.js and index-legacy.4d822f6a.js are minified, even though the config has minification disabled.
System Info
System:
OS: Linux 5.14 Fedora 33 (Server Edition) 33 (Server Edition)
CPU: (12) x64 Intel Core Processor (Skylake, IBRS)
Memory: 2.85 GB / 15.62 GB
Container: Yes
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 14.18.1 - /usr/bin/node
Yarn: 1.22.17 - /usr/local/bin/yarn
npm: 8.1.3 - /usr/local/bin/npm
npmPackages:
@vitejs/plugin-legacy: ^1.6.4 => 1.6.4
@vitejs/plugin-react: ^1.0.7 => 1.1.3
vite: ^2.7.2 => 2.7.7Used Package Manager
npm
Logs
2021-12-26T23:47:20.913Z vite:config bundled config file loaded in 99.79ms
2021-12-26T23:47:20.922Z vite:config using resolved config: {
build: {
target: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
polyfillModulePreload: true,
outDir: '/home/aron/src/vite-issue-repro-legacy-minify/dist',
assetsDir: 'assets',
assetsInlineLimit: 4096,
cssCodeSplit: true,
cssTarget: 'chrome61',
sourcemap: false,
rollupOptions: {
input: '/home/aron/src/vite-issue-repro-legacy-minify/index.html',
output: [Array]
},
minify: 'terser',
terserOptions: {},
write: true,
emptyOutDir: null,
manifest: false,
lib: false,
ssr: false,
ssrManifest: false,
reportCompressedSize: true,
chunkSizeWarningLimit: 500,
watch: null,
commonjsOptions: { include: [Array], extensions: [Array] },
dynamicImportVarsOptions: { warnOnError: true, exclude: [Array] }
},
plugins: [
'alias',
'vite:react-babel',
'vite:react-refresh',
'vite:react-jsx',
'vite:modulepreload-polyfill',
'vite:resolve',
'vite:html-inline-script-proxy',
'vite:css',
'vite:esbuild',
'vite:json',
'vite:wasm',
'vite:worker',
'vite:asset',
'vite:legacy-config',
'vite:legacy-generate-polyfill-chunk',
'vite:legacy-env',
'vite:define',
'vite:css-post',
'vite:watch-package-data',
'vite:build-html',
'commonjs',
'vite:data-uri',
'rollup-plugin-dynamic-import-variables',
'vite:asset-import-meta-url',
'vite:legacy-post-process',
'vite:build-import-analysis',
'vite:esbuild-transpile',
'vite:terser',
'vite:reporter',
'vite:load-fallback'
],
resolve: { dedupe: [ 'react', 'react-dom' ], alias: [ [Object], [Object] ] },
optimizeDeps: {
include: [ 'react/jsx-dev-runtime' ],
esbuildOptions: { keepNames: undefined, preserveSymlinks: undefined }
},
define: { 'import.meta.env.LEGACY': '__VITE_IS_LEGACY__' },
configFile: '/home/aron/src/vite-issue-repro-legacy-minify/vite.config.js',
configFileDependencies: [ 'vite.config.js' ],
inlineConfig: {
root: undefined,
base: undefined,
mode: undefined,
configFile: undefined,
logLevel: undefined,
clearScreen: undefined,
build: {}
},
root: '/home/aron/src/vite-issue-repro-legacy-minify',
base: '/',
publicDir: '/home/aron/src/vite-issue-repro-legacy-minify/public',
cacheDir: '/home/aron/src/vite-issue-repro-legacy-minify/node_modules/.vite',
command: 'build',
mode: 'production',
isProduction: true,
server: { fs: { strict: true, allow: [Array], deny: [Array] } },
preview: {
port: undefined,
strictPort: undefined,
host: undefined,
https: undefined,
open: undefined,
proxy: undefined,
cors: undefined
},
env: { BASE_URL: '/', MODE: 'production', DEV: false, PROD: true },
assetsInclude: [Function: assetsInclude],
logger: {
hasWarned: false,
info: [Function: info],
warn: [Function: warn],
warnOnce: [Function: warnOnce],
error: [Function: error],
clearScreen: [Function: clearScreen],
hasErrorLogged: [Function: hasErrorLogged]
},
packageCache: Map(0) { set: [Function (anonymous)] },
createResolver: [Function: createResolver]
}
vite v2.7.7 building for production...
transforming...
✓ 33 modules transformed.
rendering chunks...
[@vitejs/plugin-legacy] legacy polyfills: Set(4) {
'core-js/modules/es.promise',
'core-js/modules/es.array.iterator',
'core-js/modules/web.dom-collections.iterator.js',
'core-js/modules/es.string.replace.js'
}
2021-12-26T23:47:24.401Z vite:config using resolved config: {
root: '/home/aron/src/vite-issue-repro-legacy-minify/node_modules/@vitejs/plugin-legacy',
configFile: undefined,
logLevel: 'error',
plugins: [
'alias',
'vite:modulepreload-polyfill',
'vite:resolve',
'vite:html-inline-script-proxy',
'vite:css',
'vite:esbuild',
'vite:json',
'vite:wasm',
'vite:worker',
'vite:asset',
'vite:legacy-polyfills',
'vite:define',
'vite:css-post',
'vite:watch-package-data',
'vite:build-html',
'commonjs',
'vite:data-uri',
'rollup-plugin-dynamic-import-variables',
'vite:asset-import-meta-url',
'vite:build-import-analysis',
'vite:esbuild-transpile',
'vite:terser',
'vite:reporter',
'vite:load-fallback'
],
build: {
target: false,
polyfillModulePreload: true,
outDir: '/home/aron/src/vite-issue-repro-legacy-minify/node_modules/@vitejs/plugin-legacy/dist',
assetsDir: 'assets',
assetsInlineLimit: 4096,
cssCodeSplit: true,
cssTarget: false,
sourcemap: false,
rollupOptions: { input: [Object], output: [Object] },
minify: 'terser',
terserOptions: {},
write: false,
emptyOutDir: null,
manifest: false,
lib: false,
ssr: false,
ssrManifest: false,
reportCompressedSize: true,
chunkSizeWarningLimit: 500,
watch: null,
commonjsOptions: { include: [Array], extensions: [Array] },
dynamicImportVarsOptions: { warnOnError: true, exclude: [Array] }
},
configFileDependencies: [],
inlineConfig: {
root: '/home/aron/src/vite-issue-repro-legacy-minify/node_modules/@vitejs/plugin-legacy',
configFile: false,
logLevel: 'error',
plugins: [ [Object] ],
build: {
write: false,
target: false,
minify: 'terser',
assetsDir: 'assets',
rollupOptions: [Object]
}
},
base: '/',
resolve: { dedupe: undefined, alias: [ [Object], [Object] ] },
publicDir: '/home/aron/src/vite-issue-repro-legacy-minify/node_modules/@vitejs/plugin-legacy/public',
cacheDir: '/home/aron/src/vite-issue-repro-legacy-minify/node_modules/@vitejs/plugin-legacy/node_modules/.vite',
command: 'build',
mode: 'production',
isProduction: true,
server: { fs: { strict: true, allow: [Array], deny: [Array] } },
preview: {
port: undefined,
strictPort: undefined,
host: undefined,
https: undefined,
open: undefined,
proxy: undefined,
cors: undefined
},
env: { BASE_URL: '/', MODE: 'production', DEV: false, PROD: true },
assetsInclude: [Function: assetsInclude],
logger: {
hasWarned: false,
info: [Function: info],
warn: [Function: warn],
warnOnce: [Function: warnOnce],
error: [Function: error],
clearScreen: [Function: clearScreen],
hasErrorLogged: [Function: hasErrorLogged]
},
packageCache: Map(0) { set: [Function (anonymous)] },
createResolver: [Function: createResolver],
optimizeDeps: {
esbuildOptions: { keepNames: undefined, preserveSymlinks: undefined }
}
}
dist/assets/index-legacy.4d822f6a.js 1.83 KiB / gzip: 1.01 KiB
dist/assets/polyfills-legacy.f5cb7fcf.js 35.20 KiB / gzip: 14.81 KiB
dist/assets/vendor-legacy.da5e2df0.js 128.19 KiB / gzip: 41.36 KiB
dist/assets/favicon.17e50649.svg 1.49 KiB
dist/assets/logo.ecc203fb.svg 2.61 KiB
dist/index.html 1.58 KiB
dist/assets/index.bc5679cc.js 1.64 KiB / gzip: 0.84 KiB
dist/assets/index.cd9c0392.css 0.75 KiB / gzip: 0.48 KiB
dist/assets/vendor.73f7496b.js 128.12 KiB / gzip: 41.35 KiBValidations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
Reactions are currently unavailable