New jQuery UI Download Builder - Looking for Help

130 views
Skip to first unread message

Scott González

unread,
Sep 7, 2011, 12:43:46 PM9/7/11
to nod...@googlegroups.com
Hey everyone,

I'm one of the lead devs for jQuery UI. We're getting ready to rewrite our download builder using node and we're looking for help. You can view the current download builder, written in PHP, at http://jqueryui.com/download. The new download builder should be built as a standalone service, not directly tied to jqueryui.com.

The service will accept two parameters: a version number and a set of components. Based on the input, it will concatenate and minify the appropriate files. The final output is a zip containing individual source files, a concatenated source file, individual minified files, and a concatenated minified file. There are a few other details about the directory structures that I can go over with whoever is interested.

The builder should also handle dependency management. This will eventually be based on package.json files for each version, but to start this will just be based on static json files. There will eventually be integration with ThemeRoller but that won't occur until after ThemeRoller is updated.

We'd like to track various statistics as well, such as how long it takes to generate each build, how many builds we run each day, which components are being chosen, etc. We're currently generating about 10,000 downloads per day (generally ranging between 5,000 and 13,000 for any given day).

We also currently have an ant build that implements much of the same functionality as the download builder. We'd like to replace this with a node build process as well and use the same code across both processes.

We're looking to release the new download builder with the jQuery UI 1.9 release, which is at least a few months away. If you're interested in working on this, let me know.

Thanks.

Mike Coolin

unread,
Sep 7, 2011, 2:54:18 PM9/7/11
to nod...@googlegroups.com
Well my suggestion is to provide a means to select multiple themes, the current solution is too limiting in this regard.

Ruprict

unread,
Sep 7, 2011, 1:12:42 PM9/7/11
to nodejs
I'd be happy to help.

On Sep 7, 12:43 pm, Scott González <scott.gonza...@gmail.com> wrote:
> Hey everyone,
>
> I'm one of the lead devs for jQuery UI. We're getting ready to rewrite our
> download builder using node and we're looking for help. You can view the
> current download builder, written in PHP, athttp://jqueryui.com/download.
> The new download builder should be built as a standalone service, not
> directly tied to jqueryui.com.
>
> The service will accept two parameters: a version number and a set of
> components. Based on the input, it will concatenate and minify the
> appropriate files. The final output is a zip containing individual source
> files, a concatenated source file, individual minified files, and a
> concatenated minified file. There are a few other details about the
> directory structures that I can go over with whoever is interested.
>
> The builder should also handle dependency management. This will eventually
> be based on package.json files for each version, but to start this will just
> be based on static json files. There will eventually be integration with
> ThemeRoller <http://jqueryui.com/themeroller> but that won't occur until
> after ThemeRoller is updated.
>
> We'd like to track various statistics as well, such as how long it takes to
> generate each build, how many builds we run each day, which components are
> being chosen, etc. We're currently generating about 10,000 downloads per day
> (generally ranging between 5,000 and 13,000 for any given day).
>
> We also currently have an ant
> build<https://github.com/jquery/jquery-ui/blob/master/build/build.xml>that

Mike Coolin

unread,
Sep 8, 2011, 10:22:18 AM9/8/11
to nod...@googlegroups.com
I'd like to help too ;)

lacho

unread,
Sep 8, 2011, 3:49:39 AM9/8/11
to nodejs
Looks interesting, I'd be happy to help too.

On Sep 7, 5:43 pm, Scott González <scott.gonza...@gmail.com> wrote:
> Hey everyone,
>
> I'm one of the lead devs for jQuery UI. We're getting ready to rewrite our
> download builder using node and we're looking for help. You can view the
> current download builder, written in PHP, athttp://jqueryui.com/download.
> The new download builder should be built as a standalone service, not
> directly tied to jqueryui.com.
>
> The service will accept two parameters: a version number and a set of
> components. Based on the input, it will concatenate and minify the
> appropriate files. The final output is a zip containing individual source
> files, a concatenated source file, individual minified files, and a
> concatenated minified file. There are a few other details about the
> directory structures that I can go over with whoever is interested.
>
> The builder should also handle dependency management. This will eventually
> be based on package.json files for each version, but to start this will just
> be based on static json files. There will eventually be integration with
> ThemeRoller <http://jqueryui.com/themeroller> but that won't occur until
> after ThemeRoller is updated.
>
> We'd like to track various statistics as well, such as how long it takes to
> generate each build, how many builds we run each day, which components are
> being chosen, etc. We're currently generating about 10,000 downloads per day
> (generally ranging between 5,000 and 13,000 for any given day).
>
> We also currently have an ant
> build<https://github.com/jquery/jquery-ui/blob/master/build/build.xml>that

Michael Jackson

unread,
Sep 8, 2011, 11:37:20 AM9/8/11
to nod...@googlegroups.com
Just wondering how you're planning on doing the minification of the code in a node.js environment. Of course you can shell out to closure compiler, but do you have a better idea? I noticed the other day there is a closure compiler HTTP API that someone has built here:

That might be a possible solution if you wanted to run the downloads app in an environment where you didn't want to/couldn't shell out to Java.

Michael

2011/9/7 Scott González <scott.g...@gmail.com>
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Scott González

unread,
Sep 8, 2011, 11:41:38 AM9/8/11
to nod...@googlegroups.com
We use UglifyJS, which is written in node. We currently shell out to it, but we won't need to in the new system.

https://github.com/mishoo/UglifyJS

Joe Developer

unread,
Sep 8, 2011, 12:14:34 PM9/8/11
to nod...@googlegroups.com
You could probably contribute to https://github.com/rgrove/combohandler


2011/9/8 Scott González <scott.g...@gmail.com>
Reply all
Reply to author
Forward
0 new messages