Skip to content

Commit 9e1c042

Browse files
Portugal, Marcelomportuga
Portugal, Marcelo
authored andcommittedJan 7, 2019
feat(css): add feature based CSS files
Add feature based CSS files to the build for better performance.
1 parent 9c99618 commit 9e1c042

File tree

7 files changed

+83
-32
lines changed

7 files changed

+83
-32
lines changed
 

‎grunt/aliases.js

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

66
// register before and after test tasks so we don't have to change cli
77
// options on the CI server
8-
'before-test': ['clean', 'newer:jshint', 'newer:jscs', 'ngtemplates', 'less', 'copy:font_dist', 'copy:js_dist'], // Have to run less so CSS files are present
8+
'before-test': [
9+
'clean', 'newer:jshint', 'newer:jscs', 'ngtemplates', 'less', 'copy:font_dist','copy:packages_dist'
10+
], // Have to run less so CSS files are present
911
'after-test': ['build'],
1012
'default': ['before-test', 'test:single', 'after-test'],
1113

1214
// Build with no testing
13-
'build': ['ngtemplates', 'concat', 'uglify', 'less', 'uidocs-generator', 'copy:font_dist', 'copy:js_dist', 'copy:site', 'copy:less_customizer',],
15+
'build': [
16+
'ngtemplates', 'concat', 'uglify', 'less', 'uidocs-generator', 'copy:font_dist', 'copy:packages_dist',
17+
'copy:site', 'copy:less_customizer',
18+
],
1419
'build:less_dist': ['copy:less_dist', 'replace:less_dist'],
1520

1621
// Auto-test tasks for development

‎grunt/clean.js

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

‎grunt/copy.js

+40-22
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ module.exports = function ( grunt ) {
4444
}
4545
]
4646
},
47+
css_cut_release: {
48+
files: [
49+
{
50+
expand: true,
51+
cwd: '<%= dist %>/release/css',
52+
src: '**/*',
53+
dest: `<%= dist %>/release/${currentTag}/css`
54+
}
55+
]
56+
},
4757
font_dist: {
4858
files: [
4959
{
@@ -82,28 +92,6 @@ module.exports = function ( grunt ) {
8292
}
8393
]
8494
},
85-
js_dist: {
86-
files: [
87-
{
88-
expand: true,
89-
flatten: true,
90-
cwd: 'packages',
91-
src: '*/*.js',
92-
dest: '<%= dist %>/release',
93-
filter: function(filepath) {
94-
return !filepath.includes('packages/i18n')
95-
}
96-
},
97-
{
98-
expand: true,
99-
flatten: true,
100-
cwd: 'packages',
101-
src: '*/*.js',
102-
dest: '<%= dist %>/release/i18n',
103-
filter: 'isFile'
104-
}
105-
]
106-
},
10795
i18n_cut_release: {
10896
files: [
10997
{
@@ -170,6 +158,36 @@ module.exports = function ( grunt ) {
170158
}
171159
]
172160
},
161+
packages_dist: {
162+
files: [
163+
{
164+
expand: true,
165+
flatten: true,
166+
cwd: 'packages',
167+
src: '*/*.js',
168+
dest: '<%= dist %>/release',
169+
filter: function(filepath) {
170+
return !filepath.includes('packages/i18n')
171+
}
172+
},
173+
{
174+
expand: true,
175+
flatten: true,
176+
cwd: 'packages',
177+
src: '*/*.js',
178+
dest: '<%= dist %>/release/i18n',
179+
filter: 'isFile'
180+
},
181+
{
182+
expand: true,
183+
flatten: true,
184+
cwd: 'packages',
185+
src: '*/css/*.css',
186+
dest: '<%= dist %>/release/css',
187+
filter: 'isFile'
188+
}
189+
]
190+
},
173191
packages_publish: {
174192
files: getPackagesFiles()
175193
}

‎grunt/cut-release.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module.exports = {
33
cleanup: true,
44
keepUnstable: false,
55
stableTasks: [
6+
'copy:css_cut_release',
67
'copy:fonts_cut_release',
78
'copy:i18n_cut_release',
89
'copy:less_cut_release'

‎grunt/less.js

+32-5
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,44 @@ function getFiles(compress) {
2020
const packages = getDirectories('packages/');
2121

2222
packages.forEach((feat) => {
23-
files.push({
24-
src: `packages/${feat}/less/*.less`,
25-
dest: `packages/${feat}/<%= pkg.name %>.${feat}.${suffix}`,
26-
filter: filterCoreLessFiles
27-
});
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+
}
2830
});
2931

3032
return files;
3133
}
3234

3335
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+
},
3461
dist: {
3562
options: {
3663
banner: '<%= banner %>'

‎packages/core/less/core.less

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import 'elements';
1+
@import (reference) 'elements';
22
@import 'grid';
33
@import 'header';
44
@import 'body';

‎packages/core/less/main.less

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
@import 'variables';
1+
@import (reference) 'variables';
22
@import 'core';

0 commit comments

Comments
 (0)
Please sign in to comment.