Просмотр исходного кода

simpler preserve license in uglify

Evan You 11 лет назад
Родитель
Сommit
ee045deba1
3 измененных файлов с 20 добавлено и 18 удалено
  1. 10 3
      grunt/shared-build.js
  2. 9 6
      grunt/tasks/build.js
  3. 1 9
      gruntfile.js

+ 10 - 3
grunt/shared-build.js

@@ -6,7 +6,14 @@ var resolve = require('component-resolver')
 var build = require('component-builder')
 
 module.exports = function (grunt, cb) {
-  var banner = grunt.config.get('banner')
+
+  var license =
+    '/**\n' +
+    ' * Vue.js v' + grunt.config.get('version') + '\n' +
+    ' * (c) ' + new Date().getFullYear() + ' Evan You\n' +
+    ' * Released under the MIT License.\n' +
+    ' */\n'
+
   // build with component-builder
   resolve(process.cwd(), {}, function (err, tree) {
     build.scripts(tree)
@@ -16,8 +23,8 @@ module.exports = function (grunt, cb) {
         js = umd(js)
         // replace require paths with numbers for file size
         js = shortenPaths(js)
-        // add banner
-        js = banner + js
+        // add license
+        js = license + js
         // done
         cb(js)
       })

+ 9 - 6
grunt/tasks/build.js

@@ -22,8 +22,11 @@ module.exports = function (grunt) {
     build(grunt, function (js) {
       write('dist/vue.js', js)
       // uglify
-      var min = uglifyjs.minify(js, {
+      var result = uglifyjs.minify(js, {
         fromString: true,
+        output: {
+          comments: /License/
+        },
         compress: {
           pure_funcs: [
             'require',
@@ -33,17 +36,17 @@ module.exports = function (grunt) {
             'enableDebug'
           ]
         }
-      }).code
-      min = grunt.config.get('banner') + min
-      write('dist/vue.min.js', min)
+      })
+      // var min = grunt.config.get('banner') + result.code
+      write('dist/vue.min.js', result.code)
       // report gzip size
-      zlib.gzip(min, function (err, buf) {
+      zlib.gzip(result.code, function (err, buf) {
         write('dist/vue.min.js.gz', buf)
         done()
       })
     })
 
-    function write (path, file) {
+    function write (path, file, report) {
       fs.writeFileSync(path, file)
       console.log(
         blue(path + ': ') +

+ 1 - 9
gruntfile.js

@@ -2,17 +2,9 @@ var sauceConfig = require('./grunt/sauce')
 
 module.exports = function (grunt) {
 
-  var version = grunt.file.readJSON('package.json').version
-  var banner =
-    '/**\n' +
-    ' * Vue.js v' + version + '\n' +
-    ' * (c) ' + new Date().getFullYear() + ' Evan You\n' +
-    ' * Released under the MIT License.\n' +
-    ' */\n'
-
   grunt.initConfig({
 
-    banner: banner,
+    version: grunt.file.readJSON('package.json').version,
 
     jshint: {
       options: {