Skip to content
This repository was archived by the owner on Dec 10, 2019. It is now read-only.

Commit 3dbb57f

Browse files
Merge pull request #88 from pattern-lab/dev
Edition Node Gulp 1.3.3
2 parents a0e6c95 + b5ec6f6 commit 3dbb57f

File tree

2 files changed

+35
-26
lines changed

2 files changed

+35
-26
lines changed

gulpfile.js

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,54 +8,58 @@ var gulp = require('gulp'),
88
browserSync = require('browser-sync').create(),
99
argv = require('minimist')(process.argv.slice(2));
1010

11+
function resolvePath(pathInput) {
12+
return path.resolve(pathInput).replace(/\\/g,"/");
13+
}
14+
1115
/******************************************************
1216
* COPY TASKS - stream assets from source to destination
1317
******************************************************/
1418
// JS copy
1519
gulp.task('pl-copy:js', function(){
16-
return gulp.src('**/*.js', {cwd: path.resolve(paths().source.js)} )
17-
.pipe(gulp.dest(path.resolve(paths().public.js)));
20+
return gulp.src('**/*.js', {cwd: resolvePath(paths().source.js)} )
21+
.pipe(gulp.dest(resolvePath(paths().public.js)));
1822
});
1923

2024
// Images copy
2125
gulp.task('pl-copy:img', function(){
22-
return gulp.src('**/*.*',{cwd: path.resolve(paths().source.images)} )
23-
.pipe(gulp.dest(path.resolve(paths().public.images)));
26+
return gulp.src('**/*.*',{cwd: resolvePath(paths().source.images)} )
27+
.pipe(gulp.dest(resolvePath(paths().public.images)));
2428
});
2529

2630
// Favicon copy
2731
gulp.task('pl-copy:favicon', function(){
28-
return gulp.src('favicon.ico', {cwd: path.resolve(paths().source.root)} )
29-
.pipe(gulp.dest(path.resolve(paths().public.root)));
32+
return gulp.src('favicon.ico', {cwd: resolvePath(paths().source.root)} )
33+
.pipe(gulp.dest(resolvePath(paths().public.root)));
3034
});
3135

3236
// Fonts copy
3337
gulp.task('pl-copy:font', function(){
34-
return gulp.src('*', {cwd: path.resolve(paths().source.fonts)})
35-
.pipe(gulp.dest(path.resolve(paths().public.fonts)));
38+
return gulp.src('*', {cwd: resolvePath(paths().source.fonts)})
39+
.pipe(gulp.dest(resolvePath(paths().public.fonts)));
3640
});
3741

3842
// CSS Copy
3943
gulp.task('pl-copy:css', function(){
40-
return gulp.src(path.resolve(paths().source.css, '*.css'))
41-
.pipe(gulp.dest(path.resolve(paths().public.css)))
44+
return gulp.src(resolvePath(paths().source.css, '*.css'))
45+
.pipe(gulp.dest(resolvePath(paths().public.css)))
4246
.pipe(browserSync.stream());
4347
});
4448

4549
// Styleguide Copy everything but css
4650
gulp.task('pl-copy:styleguide', function(){
47-
return gulp.src(path.resolve(paths().source.styleguide, '**/!(*.css)'))
48-
.pipe(gulp.dest(path.resolve(paths().public.root)))
51+
return gulp.src(resolvePath(paths().source.styleguide, '**/!(*.css)'))
52+
.pipe(gulp.dest(resolvePath(paths().public.root)))
4953
.pipe(browserSync.stream());
5054
});
5155

5256
// Styleguide Copy and flatten css
5357
gulp.task('pl-copy:styleguide-css', function(){
54-
return gulp.src(path.resolve(paths().source.styleguide, '**/*.css'))
58+
return gulp.src(resolvePath(paths().source.styleguide, '**/*.css'))
5559
.pipe(gulp.dest(function(file){
5660
//flatten anything inside the styleguide into a single output dir per http://stackoverflow.com/a/34317320/1790362
5761
file.path = path.join(file.base, path.basename(file.path));
58-
return path.resolve(path.join(paths().public.styleguide, 'css'));
62+
return resolvePath(path.join(paths().public.styleguide, 'css'));
5963
}))
6064
.pipe(browserSync.stream());
6165
});
@@ -122,6 +126,11 @@ gulp.task('patternlab:build', gulp.series('pl-assets', build, function(done){
122126
done();
123127
}));
124128

129+
gulp.task('patternlab:installplugin', function (done) {
130+
patternlab.installplugin(argv.plugin);
131+
done();
132+
});
133+
125134
/******************************************************
126135
* SERVER AND WATCH TASKS
127136
******************************************************/
@@ -132,7 +141,7 @@ function getSupportedTemplateExtensions() {
132141
}
133142
function getTemplateWatches() {
134143
return getSupportedTemplateExtensions().map(function (dotExtension) {
135-
return path.resolve(paths().source.patterns, '**/*' + dotExtension);
144+
return resolvePath(paths().source.patterns, '**/*' + dotExtension);
136145
});
137146
}
138147

@@ -145,17 +154,17 @@ function reloadCSS() {
145154
}
146155

147156
function watch() {
148-
gulp.watch(path.resolve(paths().source.css, '**/*.css'), { awaitWriteFinish: true }).on('change', gulp.series('pl-copy:css', reloadCSS));
149-
gulp.watch(path.resolve(paths().source.styleguide, '**/*.*'), { awaitWriteFinish: true }).on('change', gulp.series('pl-copy:styleguide', 'pl-copy:styleguide-css', reloadCSS));
157+
gulp.watch(resolvePath(paths().source.css, '**/*.css'), { awaitWriteFinish: true }).on('change', gulp.series('pl-copy:css', reloadCSS));
158+
gulp.watch(resolvePath(paths().source.styleguide, '**/*.*'), { awaitWriteFinish: true }).on('change', gulp.series('pl-copy:styleguide', 'pl-copy:styleguide-css', reloadCSS));
150159

151160
var patternWatches = [
152-
path.resolve(paths().source.patterns, '**/*.json'),
153-
path.resolve(paths().source.patterns, '**/*.md'),
154-
path.resolve(paths().source.data, '*.json'),
155-
path.resolve(paths().source.fonts + '/*'),
156-
path.resolve(paths().source.images + '/*'),
157-
path.resolve(paths().source.meta, '*'),
158-
path.resolve(paths().source.annotations + '/*')
161+
resolvePath(paths().source.patterns, '**/*.json'),
162+
resolvePath(paths().source.patterns, '**/*.md'),
163+
resolvePath(paths().source.data, '*.json'),
164+
resolvePath(paths().source.fonts + '/*'),
165+
resolvePath(paths().source.images + '/*'),
166+
resolvePath(paths().source.meta, '*'),
167+
resolvePath(paths().source.annotations + '/*')
159168
].concat(getTemplateWatches());
160169

161170
gulp.watch(patternWatches, { awaitWriteFinish: true }).on('change', gulp.series(build, reload));
@@ -164,7 +173,7 @@ function watch() {
164173
gulp.task('patternlab:connect', gulp.series(function(done) {
165174
browserSync.init({
166175
server: {
167-
baseDir: path.resolve(paths().public.root)
176+
baseDir: resolvePath(paths().public.root)
168177
},
169178
snippetOptions: {
170179
// Ignore all HTML files within the templates folder

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "edition-node-gulp",
33
"description": "The gulp wrapper around patternlab-node core, providing tasks to interact with the core library and move supporting frontend assets.",
4-
"version": "1.3.2",
4+
"version": "1.3.3",
55
"dependencies": {
66
"browser-sync": "^2.0.0",
77
"gulp": "gulpjs/gulp#4.0",

0 commit comments

Comments
 (0)