소스 검색

feat: add browser ESM build

Evan You 8 년 전
부모
커밋
861abf4bb9
1개의 변경된 파일15개의 추가작업 그리고 2개의 파일을 삭제
  1. 15 2
      scripts/config.js

+ 15 - 2
scripts/config.js

@@ -75,7 +75,7 @@ const builds = {
     format: 'es',
     banner
   },
-  // Runtime+compiler CommonJS build (ES Modules)
+  // Runtime+compiler ES modules build (for bundlers)
   'web-full-esm': {
     entry: resolve('web/entry-runtime-with-compiler.js'),
     dest: resolve('dist/vue.esm.js'),
@@ -83,6 +83,16 @@ const builds = {
     alias: { he: './entity-decoder' },
     banner
   },
+  // Runtime+compiler ES modules build (for direct import in browser)
+  'web-full-esm-browser': {
+    entry: resolve('web/entry-runtime-with-compiler.js'),
+    dest: resolve('dist/vue.esm.browser.js'),
+    format: 'es',
+    transpile: false,
+    env: 'development',
+    alias: { he: './entity-decoder' },
+    banner
+  },
   // runtime-only build (Browser)
   'web-runtime-dev': {
     entry: resolve('web/entry-runtime.js'),
@@ -205,7 +215,6 @@ function genConfig (name) {
         __VERSION__: version
       }),
       flow(),
-      buble(),
       alias(Object.assign({}, aliases, opts.alias))
     ].concat(opts.plugins || []),
     output: {
@@ -227,6 +236,10 @@ function genConfig (name) {
     }))
   }
 
+  if (opts.transpile !== false) {
+    config.plugins.push(buble())
+  }
+
   Object.defineProperty(config, '_name', {
     enumerable: false,
     value: name