Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
84dcfc9
add ps www online support
jpssff May 7, 2014
4221955
将prefix相关常量改成Grunt生成
jpssff May 8, 2014
94d93f9
将prefix相关常量改成Grunt生成
jpssff May 8, 2014
42b3301
fix grunt example task
jpssff May 8, 2014
090b9e2
rename add style function name
jpssff May 8, 2014
5a23ad6
add comment
jpssff May 8, 2014
91a0276
add Unit.js by subei
beisu Jun 12, 2014
9a0482a
modify Unit.js by subei
beisu Jun 12, 2014
30d6ed1
modify Unit spec by subei
beisu Jun 13, 2014
494a543
add Unit.html example by subei
beisu Jun 13, 2014
024d11a
modify Unit.js
beisu Jun 18, 2014
78d95aa
modify syntax in Unit.js
beisu Jun 18, 2014
cda0a65
Unit.js bugfix by subei
beisu Jul 15, 2014
9a9a2e7
new file: example/imaZoom.html
Aug 29, 2014
2094efa
modified: Gruntfile.js
Sep 1, 2014
17cf2a6
modified: src/css/ImgZoom.less
Sep 2, 2014
be49391
modified: package.json
Sep 2, 2014
846e2c7
modified: src/css/ImgZoom.less
Sep 2, 2014
e8fa620
modified: package.json
Sep 2, 2014
0b62f72
modified: package.json
Sep 3, 2014
b11a023
modified: package.json
Sep 5, 2014
9ddf8d6
modified: package.json
Sep 16, 2014
82417aa
new file: src/css/ImgZoomHover.less
Sep 16, 2014
bb3ef2f
modified: src/ui/ImgZoom.js
Sep 16, 2014
8dfb40b
modified: src/ui/ImgZoomHover.js
Sep 16, 2014
cd5ed7e
modified: src/ui/ImgZoomHover.js
Sep 16, 2014
9a1aa66
modified: src/ui/ImgZoomHover.js
Sep 16, 2014
6d2750b
modified: src/ui/ImgZoomHover.js
Sep 16, 2014
e38f179
modified: src/ui/ImgZoomHover.js
Sep 16, 2014
d7af0d7
modified: package.json
Sep 17, 2014
1c344e0
modified: src/css/ImgZoomHover.less
Sep 18, 2014
f366f1f
modified: package.json
Sep 25, 2014
798f513
modified: src/ui/ImgZoomHover.js
Sep 25, 2014
ba1755d
modified: package.json
Oct 23, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
node_modules
.grunt
.DS_Store
**/*.swp
dep
asset
doc/api
Expand Down
182 changes: 152 additions & 30 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
module.exports = function (grunt) {

var build_prefix = grunt.option('prefix') || 'ecomui';
var pkg = grunt.file.readJSON('package.json');

grunt.initConfig({
Expand All @@ -10,29 +9,52 @@ module.exports = function (grunt) {
src: {
main: 'src',
test: 'test/spec'
}
},
cssPrefix: 'seui',
buildPrefix: 'ui',
version: pkg.version
},

clean: {
before: ['asset', 'bin'],
after: ['src/moye'],
afterdoc: ['example/css']
after: ['src/moye', 'asset/moye/css'],
afterdoc: ['example/css'],
//真实上线后。lib已经和Control合并,并且paths已经配置lib->Control,所以
//编译完成后,直接删除lib.js
//config同上
'after-online': [
'asset/online/ui/lib.js',
'asset/online/ui/config.js',
'asset/online/css'
]
},

jshint: {
options: grunt.file.readJSON('.jshintrc'),
files: ['<%=meta.src.main%>/ui/*.js', '<%=meta.src.test%>/*.js']
files: ['<%=meta.src.main%>/moye/*.js', '<%=meta.src.test%>/*.js']
},

less: {
compile: {
files: [{
expand: true,
cwd: 'src/css',
cwd: 'src/moye/css',
src: '*.less',
dest: 'asset/css',
ext: '.css'
}]
},
online: {
options: {
compress: true
},
files: [{
expand: true,
cwd: 'src/moye/css',
src: '*.less',
dest: 'asset/online/ui',
ext: '.css'
}]
}
},

Expand All @@ -44,11 +66,11 @@ module.exports = function (grunt) {
},

lesslint: {
src: ['src/**/*.less']
src: ['src/moye/**/*.less']
},

jsdoc : {
files: ['src/**/*.js'],
files: ['src/moye/*/*.js'],
options: {
configure: '.jsdocrc',
destination: 'doc/api'
Expand All @@ -66,11 +88,19 @@ module.exports = function (grunt) {
},

copy: {
build: {
js: {
expand: true,
cwd: '<%=meta.src.main%>/ui',
src: '**',
dest: '<%=meta.src.main%>/moye/' + build_prefix,
dest: '<%=meta.src.main%>/moye/ui',
flatten: false,
filter: 'isFile',
},
css: {
expand: true,
cwd: '<%=meta.src.main%>/css',
src: '**',
dest: '<%=meta.src.main%>/moye/css',
flatten: false,
filter: 'isFile',
},
Expand Down Expand Up @@ -108,12 +138,35 @@ module.exports = function (grunt) {
generateSourceMaps: false,
optimize: 'uglify2'/*,
modules: [
{name: build_prefix + '/Calendar'},
{name: build_prefix + '/City'}
{name: 'Calendar'},
{name: 'City'}
]*/
}
},

online: {
options: {
baseUrl: '<%=meta.src.main%>/moye',
dir: 'asset/online/',
skipDirOptimize: false,
preserveLicenseComments: false,
generateSourceMaps: false,
optimize: 'uglify2',
modules: [
{name: '<%= meta.buildPrefix%>/Control'},
]
}
},
karma: {
options: {
configFile: 'test/config.js',
reporters: 'dots',
singleRun: true
},
dev: {
browsers: ['Chrome', 'Firefox']
}
}
},

connect: {
Expand All @@ -138,16 +191,27 @@ module.exports = function (grunt) {
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfig: {
baseUrl: './<%=meta.src.main%>/',
baseUrl: './<%=meta.src.main%>/moye',
urlArgs: '?' + (+new Date).toString(36)
}
}
}
},
online: {
src: './asset/online/ui/*.js',
options: {
outfile: 'SpecRunner.html',
keepRunner: true,
specs: 'test/spec/*Spec.js',
vendor: [],
host: 'http://localhost:<%= connect.test.options.port %>',
template: 'test/templates/OnlineRunner.tmpl'
}
},
istanbul: {
src: './<%=meta.src.main%>/*/*.js',
src: './<%=meta.src.main%>/moye/ui/*.js',
options: {
specs: ['test/spec/*Spec.js'],
specs: '<%= jasmine.requirejs.options.specs %>',
vendor: [],
outfile: 'SpecRunner.html',
keepRunner: true,
Expand All @@ -161,32 +225,45 @@ module.exports = function (grunt) {
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfig: {
baseUrl: '.grunt/grunt-contrib-jasmine/<%= meta.src.main %>/',
baseUrl: '.grunt/grunt-contrib-jasmine/<%= meta.src.main %>/moye',
urlArgs: '?' + (+new Date).toString(36)
}
}
}
}
}
},

karma: {
options: {
configFile: 'test/config.js',
reporters: 'dots',
singleRun: true
},
dev: {
browsers: ['PhantomJS']
}
},

'gh-pages': {
options: {
base: './',
message: 'Auto-generated commit by grunt'
},
src: ['doc/api/*', 'example/**', 'src/*/*']
src: ['doc/api/*', 'example/**', 'src/moye/*/*']
},

'join-css-js': {
online: {
files: [{
expand: true,
cwd: 'asset/online/ui',
src: '*.js'
}]
}
},

'tmpl': {
build: {
files:[
{
expand: true,
src: '**/config.*',
cwd: '<%=meta.src.main%>/moye/',
filter: 'isFile',
}
]
}
}

});
Expand All @@ -202,12 +279,57 @@ module.exports = function (grunt) {
}
);

//合并组件的js、css文件,这样模板开发者就不用再关心css的引入问题
grunt.registerMultiTask('join-css-js', 'join ui css and js', function(){
this.files.forEach(function(file){
var files = file.src.filter(function(filePath) {
var cssPath = filePath.replace(/\.js$/, '.css');
if (!grunt.file.exists(filePath) || !grunt.file.exists(cssPath)) {
return false;
} else {
return true;
}
}).map(function(filePath) {
var cssPath = filePath.replace(/\.js$/, '.css');
var js = grunt.file.read(filePath),
css = grunt.file.read(cssPath);
var content = "A.addCssText(" + JSON.stringify(css) + ");";
content += js;
grunt.file.write(filePath, content);
grunt.file.delete(cssPath);
grunt.log.writeln('join-css-js: ' + filePath);
return filePath;
});
});
debugger;
});


//将文件作为模板处理,变量变量使用meta信息,用于替换一些常量
grunt.registerMultiTask('tmpl', 'process file as a template using meta data', function(){
this.files.forEach(function(file){
file.src.forEach(function(filePath){
var meta = grunt.config('meta');
var tpl = grunt.file.read(filePath),
content = grunt.util._.template(tpl, meta);
grunt.file.write(filePath, content);
grunt.log.writeln('tmpl: ' + filePath);
});
});
});


grunt.registerTask('base', ['clean:before', 'copy:js', 'copy:css', 'tmpl', 'jshint', 'lesslint', 'less:compile', 'csslint']);
grunt.registerTask('base-online', ['clean:before','copy:js', 'copy:css', 'tmpl', 'jshint','lesslint', 'csslint']);

grunt.registerTask('base', ['clean:before', 'jshint', 'lesslint', 'less', 'csslint']);
grunt.registerTask('build', ['base', 'copy:build', 'requirejs:build', 'clean:after']);
grunt.registerTask('build', ['base', 'requirejs:build', 'clean:after']);
grunt.registerTask('test', ['base', 'connect', 'jasmine:requirejs']);
grunt.registerTask('cover', ['base', 'connect', 'jasmine:istanbul']);
grunt.registerTask('default', ['base']);
grunt.registerTask('page', ['less', 'copy:doc', 'jsdoc', 'gh-pages', 'clean:afterdoc']);
grunt.registerTask('example', ['copy:js', 'copy:css', 'tmpl', 'less', 'copy:doc']);
grunt.registerTask('page', ['example', 'jsdoc', 'gh-pages', 'clean:afterdoc']);

grunt.registerTask('build-online', ['base-online', 'requirejs:online', 'less:online',
'join-css-js:online', 'clean:after', 'clean:after-online']);
grunt.registerTask('test-online', ['build-online', 'connect', 'jasmine:online']);
}
2 changes: 1 addition & 1 deletion example/Calendar.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
(function () {

require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['lib', 'Calendar'], function (lib, Calendar) {

Expand Down
2 changes: 1 addition & 1 deletion example/CalendarExtension.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
(function () {

require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['lib', 'CalendarExtension'], function (lib, CalendarExtension) {

Expand Down
2 changes: 1 addition & 1 deletion example/City.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
(function () {

require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['lib', 'City'], function (lib, City) {

Expand Down
2 changes: 1 addition & 1 deletion example/Dialog.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<script>
(function () {
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['lib', 'DialogFactory'], function (lib, DialogFactory) {

Expand Down
2 changes: 1 addition & 1 deletion example/Filter.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<script>
(function () {
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});

require(['lib', 'Filter'], function (lib, Filter) {
Expand Down
2 changes: 1 addition & 1 deletion example/FloatTip.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<script>
(function () {
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['lib', 'FloatTip'], function (lib, FloatTip) {
var floattip = new FloatTip({
Expand Down
2 changes: 1 addition & 1 deletion example/Lazy.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
html.push('</div>');
document.write(html.join(''));
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['LazyImg'], function (LazyImg) {

Expand Down
2 changes: 1 addition & 1 deletion example/Lunar.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<script>
(function () {
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['Lunar'], function (Lunar) {

Expand Down
2 changes: 1 addition & 1 deletion example/Pager.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
(function () {

require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});

require(['lib', 'Pager'], function (lib, Pager) {
Expand Down
2 changes: 1 addition & 1 deletion example/PicUploader.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<script>
(function () {
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['lib', 'PicUploader'], function (lib, PicUploader) {
var uploader = new PicUploader({
Expand Down
2 changes: 1 addition & 1 deletion example/Rating.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<script>
(function () {
require.config({
baseUrl: '../src/ui'
baseUrl: '../src/moye/ui'
});
require(['Rating'], function (Rating) {
var rating = new Rating({
Expand Down
Loading