Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gulp support #57

Closed
11 tasks done
bmuenzenmeyer opened this issue Aug 14, 2014 · 17 comments
Closed
11 tasks done

Gulp support #57

bmuenzenmeyer opened this issue Aug 14, 2014 · 17 comments

Comments

@bmuenzenmeyer
Copy link
Member

Remaining todo to ship this:

  • Update gulpfile to omit scss where possible as a default
  • Revert project back to grunt-first
  • Update readme with browsersync
  • Update readme installation instructions to help users wanting to init with gulp. Mention Windows caveat
  • Update readme to help users switch to gulp
  • Create upgrade instructions
  • Create known issue section in readme for the other device page follow problems using the menu.
  • Changelog
  • Make sure gulp files are properly cited as deriving form oscar-g's work
  • Create ticket for small optimization to better target grunt watches more efficiently
  • Remove sass from package jsons, instead include directions to include and turn on
@bmuenzenmeyer bmuenzenmeyer added this to the patternlab node 1.4 milestone Aug 14, 2014
@oscar-g
Copy link

oscar-g commented Sep 15, 2014

I've started on this here: https://github.com/oscar-g/patternlab-node/tree/dev-gulp
I'm almost done...There is still jshint, watch, and sass tasks to configure.

@yuvilio
Copy link

yuvilio commented Sep 16, 2014

That's great @oscar-g. Feel free to ping whenever you need testers to generate with it.

@bmuenzenmeyer
Copy link
Member Author

@oscar-g this is great! I am excited to dig in and learn more about gulp soon. Thank you so much for taking the reins on this. I'd love to see the pl-node repo structured in such a way that it supports node,grunt and gulp versions.

Any thoughts?

@ivanmayes
Copy link
Contributor

@bmuenzenmeyer, might be useful to pull in a library like https://github.com/chjj/blessed to let people configure for vanilla, grunt, or gulp and then add the processes in / node modules based on the selection. http://yeoman.io would be another option to allow people to select their preference when they build out the project.

@oscar-g
Copy link

oscar-g commented Sep 17, 2014

@yuvilio - You're welcome, I'll be working on it today.

@bmuenzenmeyer - Another way of doing that would be with a Yeoman generator. For example, check out Keystone JS, and it's Yeoman generator: https://github.com/keystonejs/generator-keystone. That generator let's you choose different build step systems and template engines for their CMS app.

@ivanmayes - I've never seen that library, I'll check it out!

edit:
Okay, it's ready! The task names and their structures are a bit different than the grunt version, but it's still pretty simple. I'm thinking that if we end up using yeoman, or something similar, we may have to move some tasks from gulpfile.js to builder/gulp-patternlab.js.

@oscar-g
Copy link

oscar-g commented Oct 9, 2014

Has anybody gotten the chance to work with the gulp branch in their specific environment?

  • Thanks!

@ivanmayes
Copy link
Contributor

We have a project coming up that we will be trying to integrate the gulp version into in the next month. Our boilerplate has the vanilla version at the moment, but the rest of our boilerplate uses gulp.

@bmuenzenmeyer
Copy link
Member Author

Hi @oscar-g and all,

I briefly looked at this the other day but did not run it.

I think in the short term I would accept some pull requests into the dev branch, and then would address the grunt/gulp/vanilla versions in the readme.

In the midterm, I would break out the versions into specifc repos that reference the pure node version, similar to https://github.com/kangax/html-minifier.

The final step(s) then would be npm/bower/yeoman etc.

Does this make sense? Looking for some feedback on how best to structure the project to be clear, maintainable, and approachable to newcomers and veterans alike.

Thanks for the continued support - I have some things to finish up this month but then plan on further development.

@bmuenzenmeyer bmuenzenmeyer removed this from the patternlab node 1.6 milestone Dec 11, 2014
@bmuenzenmeyer
Copy link
Member Author

I haven't heard any response to my above comment - but have added some notes to the readme to address the gulp version.

@bmuenzenmeyer bmuenzenmeyer modified the milestone: v1.0.0 Jul 24, 2015
@bmuenzenmeyer bmuenzenmeyer mentioned this issue Aug 1, 2015
@bmuenzenmeyer bmuenzenmeyer modified the milestones: v1.0.0, v0.13.0 Aug 1, 2015
@bmuenzenmeyer bmuenzenmeyer self-assigned this Sep 16, 2015
@bmuenzenmeyer
Copy link
Member Author

Moving this old comment to the description

@oscar-g
Copy link

oscar-g commented Sep 16, 2015

@bmuenzenmeyer, sorry for the lack of communication...I've been terribly busy on my end.

I'm willing to put some more work into the gulpfile and the docs.

Are we still thinking about supporting all grunt, gulp, and vanilla versions?

Also, what is the reasoning behind the first point in your list, above ("Update gulpfile to omit scss where possible as a default")?

Thanks

@bmuenzenmeyer
Copy link
Member Author

I should have been more clear- this list is for me. The work is done but I
need to document it. I am not a Gulp expert, if I pushed it to a branch
would you please review it?
On Wed, Sep 16, 2015 at 10:03 AM Oscar G notifications@github.com wrote:

@bmuenzenmeyer https://github.com/bmuenzenmeyer, sorry for the lack of
communication...I've been terribly busy on my end.

I'm willing to put some more work into the gulpfile and the docs.

Are we still thinking about supporting all grunt, gulp, and vanilla
versions?

Also, what is the reasoning behind the first point in your list, above
("Update gulpfile to omit scss where possible as a default")?

Thanks


Reply to this email directly or view it on GitHub
#57 (comment)
.

@bmuenzenmeyer
Copy link
Member Author

At a computer, so I can answer more fully.

Are we still thinking about supporting all grunt, gulp, and vanilla versions?

Yes. My current plan is to keep this all in the same repository, and just document the (in my eyes) simple means to switch out the node_modules and package.json file.

Also, what is the reasoning behind the first point in your list, above ("Update gulpfile to omit scss where possible as a default")?

The reasoning here is that scss or any css preprocessor was never a project dependency in pattern lab. This is almost a trivial point in a node environment as its so simple to integrate whichever you like, but what matters is that the core files still ship with scss. I think this might change in a post v1.0.0 world, but for now it's going to be this way. Therefore, the files are there if you want them but I don't want to assume someone starts with scss. I need to determine which configuration causes less confusion in the long run and is most approachable to newbies.

@bmuenzenmeyer
Copy link
Member Author

@oscar-g @yuvilio @ivanmayes can anyone take a gander at the dev branch and attempt to upgrade / install the gulp version? I am pretty confident I've got everything but want some other eyes on it first!

UPGRADE INSTRUCTIONS

Assuming you are on v0.11.X, one should be safe following the instructions in here and here, in addition to overwriting this file when complete:

  • source/_patternlab-files/partials/ishControls.mustache

cheers

@oscar-g
Copy link

oscar-g commented Sep 17, 2015

I'll take a look at this today.

@oscar-g
Copy link

oscar-g commented Sep 18, 2015

@bmuenzenmeyer, this looks good so far. It builds, serves, and the tests pass. I haven't tested editing patterns and live reload, yet.

One thing: I would add gulp-sass to the package.json...the other option would be to remove sass = require('gulp-sass') from the gulpfile, but then the user would have to add that in, if they want to use scss. On that note, we could add a section in the readme on exactly what comments to remove, in order to use scss (in gulpfile.js, for example, it would be lines 89-90, 109-126, and 135).

@bmuenzenmeyer
Copy link
Member Author

@oscar-g ah, I missed the require statement - great catch. The readme does ake some mention of CSS Preprocessor support - please check that out and let me know if it makes sense - it's a bit blunt. I like the idea of either just commenting it out or providing further instruction.

I did test the pattern editing and live reload, but yes hammer away a bit more.

Thanks for your help testing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants