提交 0d7d6f56 编写于 作者: L lang

Build

上级 8d6ab602
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
.svn
local.properties
.classpath
.settings/
.loadpath
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
#################
## Visual Studio
#################
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.vspscc
.builds
*.dotCover
## TODO: If you have NuGet Package Restore enabled, uncomment this
#packages/
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
# Visual Studio profiler
*.psess
*.vsp
# ReSharper is a .NET coding add-in
_ReSharper*
# Installshield output folder
[Ee]xpress
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish
# Others
[Bb]in
[Oo]bj
sql
TestResults
*.Cache
ClientBin
stylecop.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
############
## Windows
############
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
#############
## Python
#############
*.py[co]
# Packages
*.egg
*.egg-info
# dist
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
# Mac crap
.DS_Store
node_modules
#!/bin/bash
rm -r ../dist
node r.js -o config.js
node optimize.js
\ No newline at end of file
{
// appDir: './',
// baseUrl: '../src',
// optimize: 'none',
optimize: 'none',
name: 'echarts',
packages: [
{
......@@ -18,21 +18,28 @@
include:[
'echarts/chart/line',
'echarts/chart/bar',
'echarts/chart/scatter',
'echarts/chart/pie',
'echarts/chart/map',
'echarts/component/geo',
'echarts/component/grid',
'echarts/component/polar',
'echarts/component/legend',
'echarts/component/dataZoom',
'echarts/component/tooltip',
'echarts/component/dataRange',
'echarts/component/markPoint',
'echarts/component/markLine'
// 'echarts/chart/scatter',
// 'echarts/chart/map',
// 'echarts/chart/treemap',
// 'echarts/chart/graph',
// 'echarts/chart/gauge',
// 'echarts/chart/funnel',
// 'echarts/component/geo',
// 'echarts/component/polar',
// 'echarts/component/title',
// 'echarts/component/dataZoom',
// 'echarts/component/tooltip',
// 'echarts/component/dataRange',
// 'echarts/component/markPoint',
// 'echarts/component/markLine'
],
out: 'echarts.js'
out: '../dist/echarts.js'
}
\ No newline at end of file
var esprima = require('esprima');
var escodegen = require('escodegen');
var UglifyJS = require('uglify-js');
var fs = require('fs');
var etpl = require('etpl');
etpl.config({
commandOpen: '/**',
commandClose: '*/'
});
var config = eval('(' + fs.readFileSync('config.js', 'utf-8') + ')');
var mainCode = fs.readFileSync('../dist/echarts.js', 'utf-8');
var startCode = fs.readFileSync('wrap/start.js', 'utf-8');
var nutCode = fs.readFileSync('wrap/nut.js', 'utf-8');
var endCode = fs.readFileSync('wrap/end.js', 'utf-8');
endCode = etpl.compile(endCode)({
parts: config.include
});
var sourceCode = [startCode, nutCode, mainCode, endCode].join('\n');
var ast = UglifyJS.parse(sourceCode);
/* jshint camelcase: false */
// compressor needs figure_out_scope too
ast.figure_out_scope();
ast = ast.transform(UglifyJS.Compressor( {} ));
// need to figure out scope again so mangler works optimally
ast.figure_out_scope();
ast.compute_char_frequency();
ast.mangle_names();
fs.writeFileSync('../dist/echarts.js', sourceCode, 'utf-8');
fs.writeFileSync('../dist/echarts.min.js', ast.print_to_string(), 'utf-8');
\ No newline at end of file
{
"name": "echarts-builder",
"description": "ECharts Builder",
"version": "0.0.1",
"repository": "https://github.com/ecomfe/echarts",
"dependencies" : {
"uglify-js" : "2.5.0",
"escodegen" : "1.7.0",
"esprima" : "2.7.0",
"estraverse" : "4.1.1",
"etpl" : "3.0.1"
}
}
\ No newline at end of file
var echarts = require('echarts');
/** for: ${parts} as ${mod} */
require("${mod}");
/** /for */
_global['echarts'] = echarts;
})(window);
var require, define;
(function () {
var mods = {};
define = function (id, deps, factory) {
// In case like
// define('echarts/model/globalDefault', {...});
if (arguments.length === 2) {
factory = deps;
deps = [];
if (typeof factory !== 'function') {
var configObj = factory;
factory = function () { return configObj; };
}
}
mods[id] = {
id: id,
deps: deps,
factory: factory,
defined: 0,
exports: {},
require: createRequire(id)
};
};
require = createRequire('');
function normalize(id, baseId) {
if (!baseId) {
return id;
}
if (id.indexOf('.') === 0) {
var basePath = baseId.split('/');
var namePath = id.split('/');
var baseLen = basePath.length - 1;
var nameLen = namePath.length;
var cutBaseTerms = 0;
var cutNameTerms = 0;
pathLoop: for (var i = 0; i < nameLen; i++) {
switch (namePath[i]) {
case '..':
if (cutBaseTerms < baseLen) {
cutBaseTerms++;
cutNameTerms++;
}
else {
break pathLoop;
}
break;
case '.':
cutNameTerms++;
break;
default:
break pathLoop;
}
}
basePath.length = baseLen - cutBaseTerms;
namePath = namePath.slice(cutNameTerms);
return basePath.concat(namePath).join('/');
}
return id;
}
function createRequire(baseId) {
var cacheMods = {};
function localRequire(id, callback) {
if (typeof id === 'string') {
var exports = cacheMods[id];
if (!exports) {
exports = getModExports(normalize(id, baseId));
cacheMods[id] = exports;
}
return exports;
}
else if (id instanceof Array) {
callback = callback || function () {};
callback.apply(this, getModsExports(id, callback, baseId));
}
};
return localRequire;
}
function getModsExports(ids, factory, baseId) {
var es = [];
var mod = mods[baseId];
for (var i = 0, l = Math.min(ids.length, factory.length); i < l; i++) {
var id = normalize(ids[i], baseId);
var arg;
switch (id) {
case 'require':
arg = (mod && mod.require) || require;
break;
case 'exports':
arg = mod.exports;
break;
case 'module':
arg = mod;
break;
default:
arg = getModExports(id);
}
es.push(arg);
}
return es;
}
function getModExports(id) {
var mod = mods[id];
if (!mod) {
throw new Error('No ' + id);
}
if (!mod.defined) {
var factory = mod.factory;
var factoryReturn = factory.apply(
this,
getModsExports(mod.deps || [], factory, id)
);
if (typeof factoryReturn !== 'undefined') {
mod.exports = factoryReturn;
}
mod.defined = 1;
}
return mod.exports;
}
}());
(function(_global){
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册