WordPress.org

Make WordPress Core

Opened 2 years ago

Last modified 22 months ago

#19065 reopened defect (bug)

Please provide original javascript files (.dev.js) for all minified files

Reported by: rhertzog Owned by: nacin
Milestone: WordPress.org Priority: normal
Severity: normal Version:
Component: General Keywords:
Focuses: Cc:

Description

Please provide original javascript files (.dev.js) for all minified files. This is not only useful for debugging, it's also a requirement of some free software distributions like Debian (cf the bug report that prompted all this: http://bugs.debian.org/646729).

Missing files that I noted are (relative to wp-includes/js):

crop/cropper.dev.js
jquery/jquery.dev.js
jquery/jquery.query.dev.js
jquery/jquery.schedule.dev.js
jquery/jquery.serialize-object.dev.js 
jquery/ui/*.dev.js (all *.js files are minified)
plupload/plupload.*.dev.js (all plupload.*.js files are minified)
swfupload/swfupload-all.dev.js
tinymce/tiny_mce.dev.js
tinymce/tiny_mce_popup.dev.js 
tinymce/plugins/*/editor_plugin.dev.js (all plugins except the WP ones)
tinymce/themes/advanced/editor_template.js
tinymce/wp-tinymce.dev.js.gz
swfobject.dev.js

I'm not really sure about swfupload/swfupload-all.js, if it's swfupload.js + the 4 plugins minified, then it's ok I guess. But it would be nice to have it documented.

tinymce/wp-tinymce.dev.js.gz is probably also generated from something else but I could not figure out what. It would be nice to document how and when to regenerate it.

I can help to dig out the required files if it helps. Ideally the build process of wordpress would include a way to regenerate automatically the minified files from the corresponding .dev.js file.

Change History (10)

comment:1 scribu2 years ago

  • Cc scribu added

comment:2 dd322 years ago

All of the listed files are external packages, and should be in all cases unmodified from the originals (Note: the jQuery version included is the .noConflict version). Due to their uncompressed size, WordPress doesn't include them in the core distro as most users will never require them, however, due to their unmodified condition, replacing with an uncompressed version for debugging is still possible.

There's a listing on WordPress.org/download/source/ of the external packages in use and links to their uncompressed source, That might not yet be up to date with WordPress 3.3 yet however.

Previous tickets related: #16517 and #16896

comment:3 rhertzog2 years ago

Thanks for the helpful answer!

wordpress is already more than 10Mb and I'm not sure including them would make such a big difference but I can understand your concern and would then suggest to still include them in the SVN but to add some way to build two release tarballs: a light version and full version. As I said providing the .dev.js in the source tarball is a requirement for Debian and I would like a solution that doesn't involve me recreating a dedicated source tarball for each release...

Now checking out the /download/source/ link, it lacks the pointer or the file for the crop/cropper.js file. I tried to look up the upstream website and I was unable to find the uncompressed file for the release embedded in Wordpress. It's a relatively old version that Wordpress ships I think.

plupload is also not mentionned in that page but maybe this one is a new library for 3.3.

jquery.schedule.js is less than 3kb, it could be included I guess.

The uncompressed copy of jquery is also not up-to-date, it's version 1.4.4 instead of 1.6.1 shipped in Wordpress 3.2.1.

Same for jquery-ui, it's 1.8.9 instead of 1.8.12 shipped in 3.2.1.

So while this webpage is useful, we don't have the historical versions used for each release. This can be useful at times (and important to be able to fulfill the obligation of the written offer that Wordpress makes at the end of COPYING, cf http://core.trac.wordpress.org/changeset/17472), so managing all this in subversion would be more effective IMO.

comment:4 rhertzog2 years ago

BTW just noticed that the webpage also lacks the original file for swfobject.js.

comment:5 nacin2 years ago

  • Milestone changed from Awaiting Review to WordPress.org
  • Owner set to nacin
  • Status changed from new to reviewing

Thanks for the report — I am doing an audit of all of this. Some things need to be added or updated on /download/source/, and we will maintain historical versions from the time that page (and the written offer) was created.

Plupload is new to 3.3.

I wouldn't mind including these in the release package but I bet they will all add quite a bit overall to the final download size. Unzipped, it is 10 MB, but zipped, it is significantly smaller, and we do try to download, unzip, and copy over in one go for the core UI updater.

comment:6 rhertzog2 years ago

Any progress? 3.3 has been released and the page has not been updated.

plupload sources are to be downloaded from github: https://github.com/moxiecode/plupload/downloads
If you take the _dev.zip file you get the non-minified javascript files and the sources for the flash/silverlight stuff.

comment:7 rhertzog2 years ago

With WP 3.3, jquery/jquery.serialize-object.dev.js is not needed in fact since jquery/jquery.serialize-object.js is not minified and is very small.

For jquery/jquery.query.dev.js, I was unable to grab the file from the official plugins.jquery.com website but I found a copy of the non-minified file here (version 2.1.7 currently): http://test.blairmitchelmore.com/jquery.query/jquery.query.js

comment:8 hakre2 years ago

Tag: FIXIPO

comment:9 nacin22 months ago

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:10 rhertzog22 months ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

Thank you Nacin for this painful administrative work. But it looks like you missed some files. I can't find the sources for:

  • wp-includes/js/tinymce/tiny_mce_popup.js
  • wp-includes/js/tinymce/wp-tinymce.js.gz
  • wp-includes/js/crop/cropper.js

If you could also fix those, it would be great!

Concerning Croppper-UI my researches led to this: http://www.defusion.org.uk/downloads/code/jsCropperUI-1.2.0.tar.gz
But the minified file has been patched in changeset 4768 so it's really its own source right now. :-|

http://core.trac.wordpress.org/changeset/4768/trunk/wp-includes/js/crop/cropper.js

Version 0, edited 22 months ago by rhertzog (next)
Note: See TracTickets for help on using tickets.