Skip to content

Commit 19475ea

Browse files
marcelo-portugalmportuga
authored andcommitted
chore(ui-grid): revert build tasks to rely on grunt
1 parent 261012b commit 19475ea

24 files changed

+1153
-49
lines changed

grunt/aliases.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@ module.exports = function (grunt, options) {
66
// register before and after test tasks so we don't have to change cli
77
// options on the CI server
88
'before-test': [
9-
'clean', 'shell:lint', 'ngtemplates'
10-
],
9+
'clean', 'shell:lint', 'ngtemplates', 'less', 'copy:font_dist','copy:packages_dist'
10+
], // Have to run less so CSS files are present
1111
'after-test': ['build'],
1212
'default': ['before-test', 'test:single', 'after-test'],
1313

1414
// Build with no testing
1515
'build': [
16-
'shell:build', 'uidocs-generator',
16+
'ngtemplates', 'concat', 'uglify', 'less', 'uidocs-generator', 'copy:font_dist', 'copy:packages_dist',
1717
'copy:site', 'copy:less_customizer',
1818
],
19+
'build:less_dist': ['copy:less_dist', 'replace:less_dist'],
1920

2021
// Auto-test tasks for development
2122
'autotest:unit': ['karmangular:start'],
@@ -53,10 +54,10 @@ module.exports = function (grunt, options) {
5354
var currentTag = semver.clean( util.getCurrentTag() );
5455

5556
if (currentTag) {
56-
baseTasks['release'] = ['cut-release', 'gh-pages:ui-grid-site', 'update-bower-json', 'gh-pages:bower', 'npm-publish'];
57+
baseTasks['release'] = ['clean', 'ngtemplates', 'build', 'build:less_dist', 'cut-release', 'gh-pages:ui-grid-site', 'update-bower-json', 'gh-pages:bower', 'npm-publish'];
5758
}
5859
else {
59-
baseTasks['release'] = ['cut-release'];
60+
baseTasks['release'] = ['clean', 'ngtemplates', 'build', 'build:less_dist', 'cut-release'];
6061
}
6162

6263
return baseTasks;

grunt/clean.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ module.exports =
22
// Clean the temp directory
33
['.tmp', '<%= dist %>', 'docs', 'coverage',
44
'packages/*/.npmignore', 'packages/*/LICENSE.md',
5-
'packages/*/css', 'packages/*/dist', 'packages/*/js', 'packages/*/index.js']
5+
'packages/*/css', 'packages/*/js', 'packages/*/*.js',
6+
'packages/*/webpack.config.js']
67
;

grunt/concat.js

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
const getDirectories = p => fs.readdirSync(p).filter(f => fs.statSync(path.join(p, f)).isDirectory());
5+
const getLanguages = p => fs.readdirSync(p).filter(f => fs.statSync(path.join(p, f)).isFile());
6+
const getTemplateDirectories = p => fs.readdirSync(p)
7+
.filter(f => fs.statSync(path.join(p, f)).isDirectory() && fs.existsSync(path.join(p, f, 'src/templates')));
8+
const templateDirectories = getTemplateDirectories('packages/');
9+
10+
function getFiles() {
11+
const files = {
12+
'<%= dist %>/release/<%= pkg.name %>.js': ['packages/core/src/js/bootstrap.js', 'packages/*/src/js/**/*.js', '.tmp/template.js'],
13+
'packages/core/js/<%= pkg.name %>.core.js': ['src/js/core/bootstrap.js', 'packages/core/src/js/**/*.js', '.tmp/template-core.js']
14+
};
15+
const packages = getDirectories('packages/');
16+
17+
packages.forEach((feat) => {
18+
if (feat === 'i18n') {
19+
const languages = getLanguages('packages/i18n/src/js/');
20+
21+
files['packages/i18n/js/<%= pkg.name %>.language.all.js'] = languages.map((lang) => `packages/i18n/src/js/${lang}`);
22+
23+
languages.forEach((lang) => {
24+
files[`packages/i18n/js/<%= pkg.name %>.language.${lang}`] = [`packages/i18n/src/js/${lang}`];
25+
});
26+
} else if (feat !== 'core') {
27+
let src = [`packages/${feat}/src/js/**/*.js`];
28+
29+
if (templateDirectories.includes(feat)) {
30+
src.push(`.tmp/template-${feat}.js`);
31+
}
32+
33+
files[`packages/${feat}/js/<%= pkg.name %>.${feat}.js`] = src;
34+
}
35+
});
36+
37+
return files;
38+
}
39+
40+
module.exports = {
41+
options: {
42+
banner: '<%= banner %>',
43+
stripBanners: true
44+
},
45+
dist: {
46+
files: getFiles()
47+
}
48+
};

grunt/copy.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module.exports = function ( grunt ) {
1717

1818
packages.forEach(function(feat) {
1919
let featModuleName = '.' + _.camelCase(feat);
20-
let featMainPath = `./dist/${package.name}.${feat}`;
20+
let featMainPath = `./js/${package.name}.${feat}`;
2121

2222
switch(feat) {
2323
case 'cellnav':
@@ -185,25 +185,25 @@ module.exports = function ( grunt ) {
185185
expand: true,
186186
flatten: true,
187187
cwd: 'packages',
188-
src: '*/dist/*.js',
188+
src: ['*/js/*.js', '!**/index.js'],
189189
dest: '<%= dist %>/release',
190190
filter: function(filepath) {
191-
return !filepath.includes('packages/i18n')
191+
return !filepath.includes('packages/i18n')
192192
}
193193
},
194194
{
195195
expand: true,
196196
flatten: true,
197197
cwd: 'packages',
198-
src: '*/i18n/dist/*.js',
198+
src: ['*/i18n/js/*.js', '!**/index.js'],
199199
dest: '<%= dist %>/release/i18n',
200200
filter: 'isFile'
201201
},
202202
{
203203
expand: true,
204204
flatten: true,
205205
cwd: 'packages',
206-
src: '*/dist/*.css',
206+
src: '*/css/*.css',
207207
dest: '<%= dist %>/release/css',
208208
filter: 'isFile'
209209
}

grunt/less.js

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
const getDirectories = p => fs.readdirSync(p)
5+
.filter(f => fs.statSync(path.join(p, f)).isDirectory() && fs.existsSync(path.join(p, f, 'less')));
6+
7+
function filterCoreLessFiles(filepath) {
8+
return filepath === 'packages/core/less/main.less' || !filepath.includes('packages/core/less/');
9+
}
10+
11+
function getFiles(compress) {
12+
const suffix = compress ? 'min.css' : 'css';
13+
const files = [
14+
{
15+
src: ['packages/core/less/main.less', 'packages/*/less/**/*.less', '.tmp/font/ui-grid-codes.css'],
16+
dest: `dist/release/<%= pkg.name %>.${suffix}`,
17+
filter: filterCoreLessFiles
18+
}
19+
];
20+
const packages = getDirectories('packages/');
21+
22+
packages.forEach((feat) => {
23+
if (feat !== 'core') {
24+
files.push({
25+
src: `packages/${feat}/less/*.less`,
26+
dest: `packages/${feat}/css/<%= pkg.name %>.${feat}.${suffix}`,
27+
filter: filterCoreLessFiles
28+
});
29+
}
30+
});
31+
32+
return files;
33+
}
34+
35+
module.exports = {
36+
core: {
37+
options: {
38+
banner: '<%= banner %>',
39+
modifyVars: {
40+
'font-path': '../fonts/'
41+
}
42+
},
43+
files: [{
44+
src: 'packages/core/less/main.less',
45+
dest: 'packages/core/css/<%= pkg.name %>.core.css'
46+
}]
47+
},
48+
core_min: {
49+
options: {
50+
banner: '<%= banner %>',
51+
modifyVars: {
52+
'font-path': '../fonts/'
53+
},
54+
compress: true
55+
},
56+
files: [{
57+
src: 'packages/core/less/main.less',
58+
dest: 'packages/core/css/<%= pkg.name %>.core.min.css'
59+
}]
60+
},
61+
dist: {
62+
options: {
63+
banner: '<%= banner %>'
64+
},
65+
files: getFiles()
66+
},
67+
min: {
68+
options: {
69+
banner: '<%= banner %>',
70+
compress: true
71+
},
72+
files: getFiles(true)
73+
}
74+
};

grunt/replace.js

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
module.exports = {
2+
less_dist: {
3+
options: {
4+
patterns: [
5+
{
6+
match: /..\/..\/core\/less\//g,
7+
replace: './'
8+
}
9+
]
10+
},
11+
files: [
12+
{
13+
expand: true,
14+
src: '<%= dist %>/release/less/*.less',
15+
dest: './'
16+
}
17+
]
18+
}
19+
};

grunt/shell.js

-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ module.exports = function() {
1515
async: true
1616
}
1717
},
18-
build: {
19-
command: 'npm run build'
20-
},
2118
lint: {
2219
command: 'npm run lint'
2320
},

grunt/uglify.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
const concat = require('./concat');
2+
3+
function getFiles() {
4+
const files = {};
5+
const sources = Object.keys(concat.dist.files);
6+
7+
sources.forEach((srcFile) => {
8+
files[srcFile.replace('.js', '.min.js')] = srcFile;
9+
});
10+
11+
return files;
12+
}
13+
14+
module.exports = {
15+
options: {
16+
banner: '<%= banner %>'
17+
},
18+
concat: {
19+
files: getFiles()
20+
}
21+
};

grunt/uidocs-generator.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ module.exports = {
88
versions: {
99
stable: [
1010
{ src: '/release/<%= pkg.name %>.js', type: 'script' },
11-
{ src: '/release/css/<%= pkg.name %>.css', type: 'css' }
11+
{ src: '/release/<%= pkg.name %>.css', type: 'css' }
1212
],
1313
unstable: [
1414
{ src: '/release/<%= pkg.name %>-unstable.js', type: 'script' },
15-
{ src: '/release/css/<%= pkg.name %>-unstable.css', type: 'css' }
15+
{ src: '/release/<%= pkg.name %>-unstable.css', type: 'css' }
1616
]
1717
}
1818
},

grunt/watch.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ module.exports = function( grunt, options ){
66

77
gruntfile: {
88
files: ['packages/*/src/**/*.js', 'packages/*/test/**/*.spec.js', 'test/**/*.spec.js', 'grunt/*.js'],
9-
tasks: ['shell:lint', 'shell:build', 'uidocs-generator']
9+
tasks: ['shell:lint', 'uidocs-generator']
1010
},
1111

1212
ngtemplates: {
1313
// files: ['packages/*/src/templates/**/*.html'],
1414
files: '<%= ngtemplates.uigrid.src %>',
15-
tasks: ['ngtemplates', 'shell:build']
15+
tasks: ['ngtemplates']
1616
},
1717

1818
rebuild: {
1919
files: util.testFiles.unit,
20-
tasks: ['shell:lint', 'karmangular:run', 'shell:build', 'uidocs-generator'],
20+
tasks: ['shell:lint', 'karmangular:run', 'concat', 'uglify', 'uidocs-generator'],
2121
},
2222

2323
protractor: {
@@ -27,7 +27,7 @@ module.exports = function( grunt, options ){
2727

2828
less: {
2929
files: 'src/**/*.less',
30-
tasks: ['shell:less', 'uidocs-generator', 'concat:customizer_less']
30+
tasks: ['less', 'uidocs-generator', 'concat:customizer_less']
3131
},
3232

3333
docs: {

lib/grunt/utils.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ var grunt = require('grunt');
44
var semver = require('semver');
55
var shell = require('shelljs');
66

7+
// Get the list of angular files (angular.js, angular-mocks.js, etc)
8+
var cachedAngularFiles = grunt.file.readJSON('lib/test/angular/files.json');
9+
710
var util = module.exports = {
811

912
testDependencies: {
10-
unit: ['bower_components/jquery/jquery.min.js', 'lib/test/jquery.simulate.js','lib/test/classList.polyFill.js', 'dist/release/css/ui-grid.css', 'bower_components/lodash/dist/lodash.min.js', 'bower_components/csv-js/csv.js']
13+
unit: ['bower_components/jquery/jquery.min.js', 'lib/test/jquery.simulate.js','lib/test/classList.polyFill.js', 'dist/release/ui-grid.css', 'bower_components/lodash/dist/lodash.min.js', 'bower_components/csv-js/csv.js']
1114
},
1215

1316
testFiles: {
@@ -25,9 +28,6 @@ var util = module.exports = {
2528

2629
// Return a list of angular files for a specific version
2730
angularFiles: function (version) {
28-
// Get the list of angular files (angular.js, angular-mocks.js, etc)
29-
var cachedAngularFiles = grunt.file.readJSON('lib/test/angular/files.json');
30-
3131
if (version === 'latest') {
3232
version = util.latestAngular();
3333
}

misc/demo/col-swap.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" />
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111

1212
<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>
1313
<script src="/lib/test/angular/1.2.26/angular.js"></script>

misc/demo/filtertoggle.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" />
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111

1212
<!-- <script src="//code.jquery.com/jquery-2.1.3.min.js"></script> -->
1313
<script src="/lib/test/angular/1.2.26/angular.js"></script>

misc/demo/grid-accessiblility.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" />
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111

1212
<!--<script src="https://code.jquery.com/jquery-1.11.1.js"></script>-->
1313
<script src="/lib/test/angular/1.3.16/angular.js"></script>

misc/demo/grid-directive.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" />
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111

1212
<!--<script src="https://code.jquery.com/jquery-1.11.1.js"></script>-->
1313
<script src="/lib/test/angular/1.2.26/angular.js"></script>

misc/demo/grid-in-tabs.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
1212
<!--<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>-->
1313
<script src="/lib/test/angular/1.3.16/angular.js"></script>

misc/demo/grid-save.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" />
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111

1212
<!--<script src="https://code.jquery.com/jquery-1.11.1.js"></script>-->
1313
<script src="/lib/test/angular/1.2.26/angular.js"></script>

misc/demo/leak-testing.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<meta content="width=device-width" name="viewport">
88

99
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" />
10-
<link href="/dist/release/css/ui-grid.css" rel="stylesheet">
10+
<link href="/dist/release/ui-grid.css" rel="stylesheet">
1111

1212
<!--<script src="https://code.jquery.com/jquery-1.11.1.js"></script>-->
1313
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.js"></script>

misc/demo/modal.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script>
1313
<script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script>
1414
<script src="/dist/release/ui-grid.js"></script>
15-
<link rel="stylesheet" href="/dist/release/css/ui-grid.css" type="text/css" />
15+
<link rel="stylesheet" href="/dist/release/ui-grid.css" type="text/css" />
1616
<style type="text/css">
1717
.grid {
1818
width: 100%;

0 commit comments

Comments
 (0)