Browse Source

Move gulp walk over to admin task #1607

pull/1875/head
jlukic 10 years ago
parent
commit
c6371cc8d2
4 changed files with 67 additions and 65 deletions
  1. 3
      tasks/admin/components/create.js
  2. 59
      tasks/admin/distributions/create.js
  3. 35
      tasks/config/admin/templates/css-package.js
  4. 35
      tasks/config/admin/templates/less-package.js

3
tasks/admin/components/create.js

@ -290,7 +290,8 @@ module.exports = function(callback) {
filenames += file.contents;
}))
.on('end', function() {
filenames = filenames.replace(regExp.trailingComma, '').trim(); // remove trailing slash
// remove trailing slash
filenames = filenames.replace(regExp.match.trailingComma, '').trim();
gulp.src(release.templates.meteor.component)
.pipe(plumber())
.pipe(flatten())

59
tasks/admin/distributions/create.js

@ -65,6 +65,7 @@ module.exports = function(callback) {
repoName = release.distRepoRoot + distribution,
regExp = {
match : {
files : '{files}',
version : '{version}'
}
},
@ -73,15 +74,69 @@ module.exports = function(callback) {
repo : distribution + ' create repo',
meteor : distribution + ' create meteor package.js',
package : distribution + ' create package.json'
}
},
gatherFiles,
createList
;
// get files for meteor
gatherFiles = function(dir) {
var
dir = dir || path.resolve('.'),
list = fs.readdirSync(dir),
omitted = [
'.git',
'node_modules',
'package.js',
'package.json',
'bower.json',
'.gitignore'
]
files = []
;
list.forEach(function(file) {
var
isOmitted = (omitted.indexOf(file) > -1),
filePath = path.join(dir, file),
stat = fs.statSync(filePath)
;
if(!isOmitted) {
if(stat && stat.isDirectory()) {
files = files.concat(gatherFiles(filePath));
}
else {
files.push(filePath.replace(outputDirectory + path.sep, ''));
}
}
})
return files
};
// spaces out list correctly
createList = function(files) {
var filenames = '';
for(file in files) {
if(file == (files.length - 1) ) {
filenames += "'" + files[file] + "'";
}
else {
filenames += "'" + files[file] + "',\n ";
}
}
return filenames;
};
gulp.task(task.meteor, function() {
var
files = gatherFiles(outputDirectory)
filenames = createList(files)
;
gulp.src(release.templates.meteor[distLowerCase])
.pipe(plumber())
.pipe(flatten())
.pipe(replace(regExp.match.version, version))
.pipe(replace(regExp.match.files, filenames))
.pipe(rename(release.files.meteor))
.pipe(gulp.dest(outputDirectory))
;
@ -100,7 +155,7 @@ module.exports = function(callback) {
else if(distribution == 'LESS') {
gulp.task(task.repo, function() {
return gulp.src('./src/theme.config.example', { base: './src/' })
.pipe(gulp.src('./src/theme.less*', { base: './src/' }))
.pipe(gulp.src('./src/theme.less', { base: './src/' }))
.pipe(gulp.src('./src/definitions/**/*', { base: './src/' }))
.pipe(gulp.src('./src/_site/**/*', { base: './src/' }))
.pipe(gulp.src('./src/themes/**/*', { base: './src/' }))

35
tasks/config/admin/templates/css-package.js

@ -11,37 +11,10 @@ Package.describe({
Package.onUse(function(api) {
var
fs = require('fs'),
path = require('path'),
files,
walk
;
// recursive sync walk
walk = function(dir) {
var
dir = dir || path.resolve('.'),
list = fs.readdirSync(dir),
files = []
;
list.forEach(function(file) {
var
filePath = path.join(dir, file),
stat = fs.statSync(filePath)
;
if(stat && stat.isDirectory() && file !== 'node_modules') {
files = files.concat(walk(filePath));
}
else {
files.push(filePath);
}
})
return files
}
files = walk();
api.versionsFrom('1.0');
api.addFiles(files, 'client');
api.addFiles([
{files}
], 'client');
});

35
tasks/config/admin/templates/less-package.js

@ -11,38 +11,11 @@ Package.describe({
Package.onUse(function(api) {
var
fs = Npm.require('fs'),
path = Npm.require('path'),
files,
walk
;
// recursive sync walk
walk = function(dir) {
var
dir = dir || path.resolve('.'),
list = fs.readdirSync(dir),
files = []
;
list.forEach(function(file) {
var
filePath = path.join(dir, file),
stat = fs.statSync(filePath)
;
if(stat && stat.isDirectory() && file !== 'node_modules') {
files = files.concat(walk(filePath));
}
else {
files.push(filePath);
}
})
return files
}
files = walk();
api.versionsFrom('1.0');
api.use('less', 'client');
api.addFiles(files, 'client');
api.addFiles([
{files}
], 'client');
});
Loading…
Cancel
Save