Skip to content

Commit

Permalink
Iteration on install
Browse files Browse the repository at this point in the history
  • Loading branch information
jlukic committed Jan 30, 2015
1 parent d39cac3 commit 93cd582
Show file tree
Hide file tree
Showing 13 changed files with 168 additions and 88 deletions.
4 changes: 3 additions & 1 deletion gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ var

// import tasks
build = require('./tasks/build'),
checkInstall = require('./tasks/check-install'),
clean = require('./tasks/clean'),

checkInstall = require('./tasks/check-install'),
install = require('./tasks/install'),
version = require('./tasks/version'),
watch = require('./tasks/watch')
Expand All @@ -24,6 +25,7 @@ var

gulp.task('watch', 'Watch for site/theme changes', watch);
gulp.task('build', 'Builds all files from source', build);

gulp.task('clean', 'Clean dist folder', clean);
gulp.task('version', 'Displays current version of Semantic', version);

Expand Down
21 changes: 10 additions & 11 deletions src/theme.config.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,6 @@

*/

/*******************************
Folders
*******************************/

/* Path to theme packages */
@themesFolder : 'themes/';

/* Path to site override folder */
@siteFolder : 'site/';


/*******************************
Theme Selection
*******************************/
Expand Down Expand Up @@ -84,6 +73,16 @@
@item : 'default';
@statistic : 'default';

/*******************************
Folders
*******************************/

/* Path to theme packages */
@themesFolder : 'themes/';

/* Path to site override folder */
@siteFolder : 'site/';


/*******************************
Import Theme
Expand Down
9 changes: 1 addition & 8 deletions tasks/admin/create-repos.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ module.exports = function(callback) {
.pipe(plumber())
.pipe(flatten())
.pipe(replace(release.paths.source, release.paths.output))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand All @@ -131,7 +130,6 @@ module.exports = function(callback) {
.pipe(replace(regExp.match.settingsReference, regExp.replace.settingsReference))
.pipe(replace(regExp.match.jQuery, regExp.replace.jQuery))
.pipe(rename('index.js'))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand All @@ -143,7 +141,6 @@ module.exports = function(callback) {
.pipe(flatten())
.pipe(replace(regExp.match.name, regExp.replace.name))
.pipe(replace(regExp.match.titleName, regExp.replace.titleName))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand Down Expand Up @@ -179,7 +176,6 @@ module.exports = function(callback) {
}
return bower;
}))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand Down Expand Up @@ -208,7 +204,6 @@ module.exports = function(callback) {
};
return package;
}))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand All @@ -232,7 +227,6 @@ module.exports = function(callback) {
composer.description = 'Single component release of ' + component;
return composer;
}))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand All @@ -248,7 +242,6 @@ module.exports = function(callback) {
.pipe(replace(regExp.match.spacedVersions, regExp.replace.spacedVersions))
.pipe(replace(regExp.match.spacedLists, regExp.replace.spacedLists))
.pipe(replace(regExp.match.trim, regExp.replace.trim))
.pipe(chmod(config.permission))
.pipe(gulp.dest(outputDirectory))
;
});
Expand Down Expand Up @@ -280,7 +273,7 @@ module.exports = function(callback) {
.pipe(replace(regExp.match.titleName, regExp.replace.titleName))
.pipe(replace(regExp.match.version, version))
.pipe(replace(regExp.match.files, fileNames))
.pipe(rename(defaults.files.npm))
.pipe(rename(release.files.npm))
.pipe(gulp.dest(outputDirectory))
;
})
Expand Down
26 changes: 15 additions & 11 deletions tasks/check-install.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,22 @@ var
gulp = require('gulp'),
fs = require('fs'),
console = require('better-console'),

install = require('./config/project/install')
;

// export task
module.exports = function() {

setTimeout(function() {
if( !install.isSetup() ) {
console.log('Starting install...');
gulp.start('install');
return;
}
else {
gulp.start('watch');
}
}, 50); // Delay to allow console.clear to remove messages from check event


gulp.task('check install', false, function () {
if( !install.isSetup() ) {
console.log('Starting install...');
gulp.start('install');
return;
}
else {
gulp.start('watch');
}
});
};
12 changes: 6 additions & 6 deletions tasks/collections/internal.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ module.exports = function(gulp) {
---------------*/

gulp.task('package uncompressed css', function() {
return gulp.src(output.uncompressed + '**/' + config.globs.components + config.globs.ignored + '.css')
return gulp.src(output.uncompressed + '**/' + globs.components + globs.ignored + '.css')
.pipe(plumber())
.pipe(replace(assets.uncompressed, assets.packaged))
.pipe(concatCSS(filenames.concatenatedCSS))
Expand All @@ -61,7 +61,7 @@ module.exports = function(gulp) {
});

gulp.task('package compressed css', function() {
return gulp.src(output.uncompressed + '**/' + config.globs.components + config.globs.ignored + '.css')
return gulp.src(output.uncompressed + '**/' + globs.components + globs.ignored + '.css')
.pipe(plumber())
.pipe(replace(assets.uncompressed, assets.packaged))
.pipe(concatCSS(filenames.concatenatedMinifiedCSS))
Expand All @@ -74,7 +74,7 @@ module.exports = function(gulp) {
});

gulp.task('package uncompressed js', function() {
return gulp.src(output.uncompressed + '**/' + config.globs.components + '!(*.min|*.map).js')
return gulp.src(output.uncompressed + '**/' + globs.components + globs.ignored + '.js')
.pipe(plumber())
.pipe(replace(assets.uncompressed, assets.packaged))
.pipe(concat(filenames.concatenatedJS))
Expand All @@ -86,7 +86,7 @@ module.exports = function(gulp) {
});

gulp.task('package compressed js', function() {
return gulp.src(output.uncompressed + '**/' + config.globs.components + '!(*.min|*.map).js')
return gulp.src(output.uncompressed + '**/' + globs.components + globs.ignored + '.js')
.pipe(plumber())
.pipe(replace(assets.uncompressed, assets.packaged))
.pipe(concat(filenames.concatenatedMinifiedJS))
Expand All @@ -103,7 +103,7 @@ module.exports = function(gulp) {
---------------*/

gulp.task('package uncompressed rtl css', function () {
return gulp.src(output.uncompressed + '**/' + config.globs.components + '!(*.min|*.map).rtl.css')
return gulp.src(output.uncompressed + '**/' + globs.components + globs.ignoredRTL + '.rtl.css')
.pipe(replace(assets.uncompressed, assets.packaged))
.pipe(concatCSS(filenames.concatenatedRTLCSS))
.pipe(gulp.dest(output.packaged))
Expand All @@ -112,7 +112,7 @@ module.exports = function(gulp) {
});

gulp.task('package compressed rtl css', function () {
return gulp.src(output.uncompressed + '**/' + config.globs.components + '!(*.min|*.map).rtl.css')
return gulp.src(output.uncompressed + '**/' + globs.components + globs.ignoredRTL + '.rtl.css')
.pipe(replace(assets.uncompressed, assets.packaged))
.pipe(concatCSS(filenames.concatenatedMinifiedRTLCSS))
.pipe(minifyCSS(settings.minify))
Expand Down
21 changes: 10 additions & 11 deletions tasks/config/defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ module.exports = {

// file paths
files: {
composer : 'composer.json',
config : './semantic.json',
npm : './package.json',
site : './src/site',
theme : './src/theme.config'
config : 'semantic.json',
site : 'src/site',
theme : 'src/theme.config'
},

// folder paths
Expand All @@ -39,11 +37,6 @@ module.exports = {
clean : 'dist/'
},

globs : {
// files ignored for concatenated release
ignored : '!(*.min|*.map|*.rtl)'
},

// components to include in package
components: [

Expand Down Expand Up @@ -109,6 +102,12 @@ module.exports = {
],

// whether to load admin tasks
admin: false
admin: false,

// globs used for matching file patterns
globs : {
ignored : '!(*.min|*.map|*.rtl)',
ignoredRTL : '!(*.min|*.map)'
}

};
82 changes: 75 additions & 7 deletions tasks/config/project/install.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

var
fs = require('fs'),
path = require('path'),
defaults = require('../defaults'),

requireDotFile = require('require-dot-file')
Expand Down Expand Up @@ -74,25 +75,75 @@ module.exports = {
return true;
},

// checks if files are in a PM directory
getPackageManager: function(directory) {
var
walk = function(directory) {
var
pathArray = directory.split('/'),
folder = pathArray[pathArray.length - 1],
nextDirectory = path.normalize(directory + '../')
;
console.log(directory, folder);
if( folder == 'bower_components') {
return {
name: 'bower',
root: nextDirectory
};
}
else if(folder == 'node_modules') {
return {
name: 'npm',
root: nextDirectory
};
}
else if(folder == 'composer') {
return {
name: 'composer',
root: nextDirectory
};
}
else if(folder == 'components' || folder == 'modules') {
return {
name: 'custom',
root: nextDirectory
};
}
else {
// reached file system root, let's stop
if(path.resolve(directory) == '/') {
return false;
}
// recurse
return walk(nextDirectory);
}
}
;

// start walk from outside component folder
directory = directory || (__dirname + '/../');
return walk(directory);
},

// files cleaned up after install
setupFiles: [
'./src/theme.config.example',
'./semantic.json.example',
'./src/_site'
],

files: {
config: 'semantic.json',
theme : 'theme.config',
},

// modified to create configs
templates: {
config : 'semantic.json.example',
site : './src/_site',
theme : './src/theme.config.example'
},

files: {
config: 'semantic.json',
theme : 'theme.config'
},

// folder paths
folders: {
config : './',
Expand Down Expand Up @@ -240,11 +291,11 @@ module.exports = {
choices: [
{
name: 'No',
value: 'no'
value: false
},
{
name: 'Yes',
value: 'yes'
value: true
},
]
},
Expand Down Expand Up @@ -534,6 +585,23 @@ module.exports = {
}
]

},

settings: {

/* Rename Files */
rename: {
json : { extname : '.json' },
},

/* Copy Install Folders */
wrench: {
recursive: {
forceDelete : true,
excludeHiddenUnix : true,
preserveFiles : true
}
}
}

};
Loading

0 comments on commit 93cd582

Please sign in to comment.