-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Open call for plugins #37
Comments
Someone should port grunt-contrib-connect or provide some lighter alternative. |
live reload (this kind of needs #32 to be done first) |
@contra Is https://npmjs.org/package/gulp-livereload no good? (IDK, I don't use LiveReload) |
r/almond/cram/dojo AMD builders |
Component.js and Browserify gulp builders as well? |
FYI, just release v0.2.0 of generator-gulp-plugin. Should speed plugin development significantly. |
@alessioalex You talking about TJ's component or http://componentjs.com? |
@hparra yup, I use it for frontend development. it has the same CommonJS interface as Node (or Browserify). |
+1 for gulp-connect and also gulp open |
gulp-connect doesn't make sense, just use connect.
|
@phated |
Gulp uses plain JS, so you can use the regular connect and open modules
|
I realized. Yeah sounds great! |
@chicoxyzzy I plan to do a gist of something like what you wanted to do sometime today. |
I think it is important to note on the initial issue that only things that operate on files in a streaming fashion should be built into plugins. |
@phated I was under the assumption that the r.js builder operated on files |
The r.js builder operates on files within the context of itself, not in a streaming or globbing manner. If you look into the requirejs plugins for grunt, you will see that they don't use grunt's |
A mocha test runner would be great. I'm trying to see if there's an easy way to use it with plain JS, but I have a feeling it might not be. |
@andrezsanchez |
https://github.com/robrich/gulp_node_example/blob/master/gulpLib/lib/gulp-mocha.js is my attempt at it. I could get tests to run, but couldn't easily harvest failure details. |
@contra I'm relatively new to Node so I don't know exactly how that would work. I tried hacking up a little something using that (and failed thus far). If you know of an example I could look at it would be nice. @robrich I'll take a look at that, thanks! Wouldn't either of these solutions not be ideal since they don't operate on streams? I'm probably not going to be compiling my tests suites or anything, but still. Are streams on things like test files not really necessary in this Gulp 'philosophy'? |
@andrezsanchez Anything that isn't streaming file transformations/actions is done outside of gulp streams (but still within the task system) If mocha had an interface that let you load one file at a time into it then call .run() it would be a good case for for using the streams. |
I just publish a Karma test runner plugin for Gulp |
@douglasduteil That doesn't need to be a gulp plugin. Gulp "plugins" are exclusively for streams. |
@contra K my bad. I'm removing the plugin word. |
@douglasduteil I think we should have a npm tag for gulp friendly libraries that aren't necessarily plugins though. Feel free to add "gulpfriendly" as a tag |
Also need to handle if contents is null: https://github.com/sindresorhus/gulp-size/blob/master/index.js#L12-L14 |
A day late, but gulp-watch is here. Can someone review it? |
@sindresorhus , @contra thanks for the feedback! |
The major two missing in my workflow are: |
@lmartins connect should just be used directly. assemble shouldn't even be a grunt plugin, but just another node lib, but i guess you can use gulp-grunt to run it. |
Thank you @sindresorhus, i'll have a look to see if I find any information on how to use connect as you mention. Regarding Assemble, yeah, I've saw gulp-grunt before, I guess it's an option until something "native" come up. |
@deepak1556 Hi. May we translate your article “Simple build env for game dev with Gulp under 5 min” into russian language? Under what conditions? Article will be published in Frontender Magazine. It is a free-of-charge and ads-free magazine about frontend development. |
@SilentImp This is probably not the best place to talk about something like that. This issue in particular is about gulp plugins. |
@gratimax Sorry, I can't find any other contacts of this guy. :( Only twitter, but it look like he don't use it. |
@sindresorhus why? |
@jonschlinkert because it doesn't operate on globs of files. Any build tool that doesn't operate on globs and already has a programmatic API can and should be used in gulp standalone. Gulp is just JS, there is no need to duplicate code when something already exists. |
@phated, the referenced part of @sindresorhus's comment was about grunt, not gulp. |
@jonschlinkert sorry, I didn't fully read, but why are you trying to battle about grunt plugins on a gulp issue. Please do that somewhere else. @sindresorhus is always in IRC |
@sindresorhus probably meant gulp |
No I didn't mean gulp. My point is that it shouldn't even be a grunt plugin. Definitely not a gulp plugin. It should just be a vanilla node lib that is consumed by a simple grunt plugin and can be directly used in a gulpfile. Creating large plugins is such a bad pattern, but still very popular in the grunt ecosystem. Plugins should just be a tiny glue. |
And only glue when necessary.
|
Im going to suggest perhaps this isn't the best discussions format for new Gulp plugins. Would be nice to have a way to isolate discussions about each plugin, and perhaps even a voting system. |
Plugin idea: https://gist.github.com/joeLepper/8393135 Also taking a PR to add a recipe for using this to the docs |
Indeed, it started as grunt-assemble, a simple plugin to wrap layouts around pages with hogan.js, but based on the success of the project it was announced some time ago that Assemble would be a standalone node lib in v0.5.0 (this month). I'm thankful that we have a community now and that we have this challenge to deal with.
I think that's a good view in general, with both Assemble and grunt-usemin (your project) begin great examples. An equally bad pattern is trying to broadly generalize the best approach or pattern to use for every project. At the end of the day "what's best" comes down to being pragmatic about the specific needs of a project, time, resources, etc. To most users, it's not the size of the plugin that matters, just that it solves their problems.
To be crystal clear, I'm 100% neutral. I'm well aware of your own views on Grunt, but I want no part of your conflict, so don't try to project it on me. I started using gulp recently on projects and I've even published a few (very amateurish) gulp plugins in my effort to learn more about how gulp/streams work. Assemble is also neutral, and we're aiming to work with whatever ecosystem our community requests. So I stopped by here to learn about gulp today and noticed others discussing my project. Note that I asked a question in response to pre-existing conversation about my project. I didn't bring up Grunt, @sindresorhus did, and nonetheless I'm glad to hear his response - he's a super-smart guy and I use his projects every day, and we're in agreement. So let's leave it at that. |
@jonschlinkert cool - looking forward to a standalone node lib |
👍 |
👍 |
Unix philosophy FTW! 👍 |
Idea: Gulp plugin for creating CSS sprites Similar grunt plugins are: |
I was thinking about that yesterday and asked myself what is the best way to handle the 2 output streams: sprite images and css ? Thought about using https://github.com/Ensighten/spritesmith and https://github.com/twolfson/json2css with some gulp glue code |
Should my plugin actually be a plugin? https://github.com/callumacrae/gulp-w3cjs It doesn't really use the stream, it just takes the file names and gives them to the w3cjs plugin. I do have PR open with w3cjs to change that, though. |
@callumacrae As a placeholder you should be fine. Once they merge in your PR it will be good and you can follow the same pattern as jshint, csslint, etc. in terms of reporters/failure |
Done that. I'm guessing a Gulp task for CasperJS (similar to grunt-casperjs) would be unsuitable? It accepts file name input, not file contents. |
@callumacrae correct, you would want to use a globber and pass them off to casper calls. It wouldn't really make use of or transform the vinyl objects, so it doesn't belong as a plugin. |
«Using https://github.com/Ensighten/spritesmith and https://github.com/twolfson/json2css with some gulp glue code» sounds great! |
Give ideas for plugins. If there is a grunt plugin include the link.
I will try to get to as many as possible. I will also possibly put a bounty on it for somebody else to do it (or you can just do it anyways)
The text was updated successfully, but these errors were encountered: