var fs = require('fs');
var uglify = require("uglify-js");
var path = require('path');
var concat = require('concat')    

var results = [];
var walk = function(dir, done) {
  
  fs.readdir(dir, function(err, list) {
  	console.log(list)
    if (err) return done(err);
    var pending = list.length;
    if (!pending) return done(null, results);
    list.forEach(function(file) {
      file = path.resolve(dir, file);
      fs.stat(file, function(err, stat) {
        if (stat && stat.isDirectory()) {
          walk(file, function(err, res) {
            // results = results.concat(res);
            if (!--pending) done(null, results);
          });
        } else {
          results.push(file);
          if (!--pending) done(null, results);
        }
      });
    });
  });
};

// 需要输出文件名数组时改为true
var jsDir = './public/js/';
var cssDir = './public/css'

// true && 
false &&
walk(cssDir, function() {
	console.log('results', results.length, results)
})
// return;

// ----------------------------------------------------------------------------- CSS 
	var cssResults = [ 
	
  'D:\\Code\\trustieplus\\public\\react\\public\\css\\edu-common.css',
  'D:\\Code\\trustieplus\\public\\react\\public\\css\\edu-public.css',
  'D:\\Code\\trustieplus\\public\\react\\public\\css\\taskstyle.css' ,

  'D:\\Code\\trustieplus\\public\\react\\public\\css\\font-awesome.css',
  
  'D:\\Code\\trustieplus\\public\\react\\public\\css\\editormd.min.css',
  'D:\\Code\\trustieplus\\public\\react\\public\\css\\merge.css',
  
  ]
   concat(cssResults, './public/css/css_min_all.css')

return;

// ----------------------------------------------------------------------------- JS
	var _results = [ 

	'D:\\Code\\trustieplus\\public\\react\\public\\js\\jquery-1.8.3.min.js',
	'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\underscore.min.js',
	'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\marked.min.js',
	'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\prettify.min.js',
	  'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\raphael.min.js',
	  'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\sequence-diagram.min.js',
	'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\flowchart.min.js',
	  'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\jquery.flowchart.min.js',
	  'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\editormd.min.js',

	'D:\\Code\\trustieplus\\public\\react\\public\\js\\codemirror\\codemirror.js',
	'D:\\Code\\trustieplus\\public\\react\\public\\js\\codemirror\\mode\\javascript.js',

	'D:\\Code\\trustieplus\\public\\react\\public\\js\\diff_match_patch.js',
	  
	  
	  'D:\\Code\\trustieplus\\public\\react\\public\\js\\merge.js',
	  
	  'D:\\Code\\trustieplus\\public\\react\\public\\js\\edu_tpi.js',

	  ]
	
	// 合并js时，需确保每个js都正常结束，未正常结束的需要在js文件结尾加一个;好，不然会出现脚本错。
	concat(_results, './public/js/js_min_all.js')

	// var uglified = uglify.minify(['./public/js/merge.js']);
	// console.log('uglified', uglified)
	// fs.writeFile('concat.min.js', uglified.code, function (err){
	//   if(err) {
	//     console.log(err);
	//   } else {
	//     console.log("Script generated and saved:", 'concat.min.js');
	//   }      
	// });


// var uglified = uglify.minify(['file1.js', 'file2.js', 'file3.js']);



/**
	优化
	underscore被单独加载了，去掉'D:\\Code\\trustieplus\\public\\react\\public\\js\\editormd\\underscore.min.js',
    marked  
		raphaeljs  sequence diagrams 1.0.4


	统计 js_min_all加载的js：
	https://github.com/paulmillr/es6-shim
	jQuery v1.8.3 jquery.com 
	Underscore.js 1.8.2
	marked v0.3.3
	？？？
	Raphaël 2.1.3 - JavaScript Vector Library   
	flowchart, v1.3.4
	editormd.js 

	// Codemirror单独放置，哪些地方还在使用Codemirror？
	// 新版使用了Monaco 无需一些Codemirror插件了
	CodeMirror
	cm   active-line.js
	cm   mode javascript
	cm   merge.js
	CodeMirror addon hint 
	cm   showHint
	cm   anyword-hint 
	CodeMirror python
	CodeMirror c-like(java)
	CodeMirror matchbrackets

	余下
	CodeMirror
	diff
	merge

	移除的在js_min_cm.js
	/** 
		active-line.js
		mode javascript
		fuzzysort
		showHint 
		javascript-hint
		anyword-hint
		CodeMirror python
		CodeMirror c-like(java)
		CodeMirror matchbrackets

	/

	？？？——>
	// Copyright (C) 2006 Google Inc.
	//
	// Licensed under the Apache License, Version 2.0 (the "License");
	// you may not use this file except in compliance with the License.
	// You may obtain a copy of the License at
	//
	//      http://www.apache.org/licenses/LICENSE-2.0
	//
	// Unless required by applicable law or agreed to in writing, software
	// distributed under the License is distributed on an "AS IS" BASIS,
	// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	// See the License for the specific language governing permissions and
	// limitations under the License.

	
	去掉了
	marked v0.3.3   去不了，去掉后 这句代码会报错：window.editormd.markdownToHTML ， TODO 看能否去掉单独加载marked的地方
 */