Commit Graph

147 Commits

Author SHA1 Message Date
Andrew Nacin 3abea9370b Add jshint to Travis CI config.
props jorbin.
fixes #26446.


git-svn-id: https://develop.svn.wordpress.org/trunk@27267 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-25 17:57:04 +00:00
Helen Hou-Sandi 1c5f1cebff Make login styles standalone. see #12506.
git-svn-id: https://develop.svn.wordpress.org/trunk@27199 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-20 03:23:49 +00:00
Helen Hou-Sandi c4848bbac4 Once upon a time not long ago,
The admin CSS was merged in #18314.
After a couple years as it stood,
The mess it had become just was no good.
One day we realized Grunt is pretty cool,
And said "we should use this as our build tool!"
Now we can maintain separate files with ease,
Using @import and cssmin meets all our needs.
Welcome to the future of the WordPress stylesheets,
And thanks to Slick Rick for the beats.

props jorbin for the initial patch.
fixes #26669.


git-svn-id: https://develop.svn.wordpress.org/trunk@27195 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-19 21:42:36 +00:00
Andrew Nacin f1e7635a2d Add `grunt precommit` for running front-end dev and test tasks before commit.
This includes autoprefixer, imagemin, jshint, and qunit.

props jorbin.
fixes #27121. see #25169 and #27078.


git-svn-id: https://develop.svn.wordpress.org/trunk@27176 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 17:56:29 +00:00
Andrew Nacin 562046753d Dev/build tools: Skip new backbone.js and underscore.js files during jshint.
git-svn-id: https://develop.svn.wordpress.org/trunk@27175 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 08:58:17 +00:00
Andrew Nacin 01b809bf2b Dev/build tools: Use grunt-autoprefixer for CSS vendor prefixes.
We'll be using it for two distinct tasks:
 * Core CSS files will keep prefixes. `grunt autoprefixer:core` will update files directly in src/ as a pre-commit step, rather than doing it on build.
 * Color CSS files will receive prefixes when they are built.

This commit:
 * Adds prefixes we were missing to core CSS.
 * Removes prefixes that we no longer need from core CSS.
 * Removes all prefixes from colors CSS.

props ocean90.
fixes #27078.


git-svn-id: https://develop.svn.wordpress.org/trunk@27174 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 08:29:16 +00:00
Andrew Nacin 877982732a Dev tools: Add `grunt imagemin:core` task for optimizing images pre-commit.
Adds grunt-contrib-imagemin, so an `npm install` will be required.

props jorbin, wonderboymusic for initial patches.
see #25169.


git-svn-id: https://develop.svn.wordpress.org/trunk@27172 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 08:00:47 +00:00
Andrew Nacin 4e36f55df7 Update Backbone from 1.0 to 1.1.
Also update Underscore to 1.6. Includes the development versions of both, which are not included in the build.

Here is Backbone's changelog:
 * Made the return values of Collection’s `set`, `add`, `remove`, and `reset` more useful. Instead of returning `this`, they now return the changed (added, removed or updated) model or list of 
models. (This means they can no longer be chained.)
 * Backbone Views no longer automatically attach options passed to the constructor as `this.options` and Backbone Models no longer attach `url` and `urlRoot` options, but you can do it yourself if you prefer. (But if you extend `wp.Backbone.View`, options will be attached for you.)
 * All `"invalid"` events now pass consistent arguments. First the model in question, then the error object, then options.
 * You are no longer permitted to change the id of your model during `parse`. Use `idAttribute` instead.
 * On the other hand, `parse` is now an excellent place to extract and vivify incoming nested JSON into associated submodels.

See [27171] (next commit) for changes made to WordPress to be compatible with Backbone 1.1.

props gcorne, georgestephanis.
see #26799.


git-svn-id: https://develop.svn.wordpress.org/trunk@27170 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-13 07:33:29 +00:00
Andrew Ozz ce2dcccf86 Incorporate the TinyMCE tests into our JS tests:
- Modified the original tests so TinyMCE can be loaded from /src/wp-includes/js/tinymce.
- Added "WP" option to the UI to select only tests relevant to our integration (excludes most of the default plugins tests).
- Added tests for obsolete HTML elements and attributes (html4 back-compat).
See #27014.

git-svn-id: https://develop.svn.wordpress.org/trunk@27155 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-10 01:11:25 +00:00
Andrew Nacin 7ff0442a07 JSHint fixes for media-views and Gruntfile.
props gcorne.
fixes #27032, #27033.


git-svn-id: https://develop.svn.wordpress.org/trunk@27105 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-06 05:31:22 +00:00
Scott Taylor 1805248438 Ignore `.js` files in `wp-content` when running `jsvalidate` during `grunt build`. See [26977].
Props TobiasBg.
Fixes #26615.



git-svn-id: https://develop.svn.wordpress.org/trunk@27054 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-29 04:44:31 +00:00
Scott Taylor 9b9de4ee1f Add `jsvalidate` as a dependency to the build. To get the new module, run `npm install` in the root of the project.
Fixes #26615.
Props jorbin.



git-svn-id: https://develop.svn.wordpress.org/trunk@26977 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-17 18:14:15 +00:00
Andrew Ozz 14ace125ee TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.

git-svn-id: https://develop.svn.wordpress.org/trunk@26876 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-28 23:52:04 +00:00
Andrew Nacin e197455f76 Revert accidental change to Gruntfile.js in [26767].
git-svn-id: https://develop.svn.wordpress.org/trunk@26771 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-07 06:00:34 +00:00
Ryan Boren 85d5a58809 Make the Backbone routes pushSTate capable with ?theme=themename type urls instead of hashes. Same applies to search queries.
Props adamsilverstein, nacin
fixes #25963


git-svn-id: https://develop.svn.wordpress.org/trunk@26767 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-07 03:10:44 +00:00
Andrew Nacin a05083f3a4 Gruntfile: Prevent -rtl-rtl.css stylesheets when running cssjanus on colors. fixes #26315.
git-svn-id: https://develop.svn.wordpress.org/trunk@26745 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-06 21:23:21 +00:00
Andrew Nacin bab3a29a8e Add back CSS rules for RTL resize handles.
Disable CSSJanus' swapLtrRtlInUrl option, as we currently don't use it otherwise (and it breaks this if left on).

props ocean90.
fixes #26449.


git-svn-id: https://develop.svn.wordpress.org/trunk@26731 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-06 18:34:05 +00:00
Andrew Nacin 1ac4bceecd Define globals and add semicolons to wp-fullscreen.js.
`grunt jshint` now runs clean for WordPress core!

props mattwiebe.
fixes #26029.


git-svn-id: https://develop.svn.wordpress.org/trunk@26667 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-05 16:04:59 +00:00
Andrew Nacin b4daec8b8c Build RTL stylesheets for color schemes.
props dd32.
fixes #26315.


git-svn-id: https://develop.svn.wordpress.org/trunk@26616 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-04 17:21:01 +00:00
Matt Thomas 3ce67886f4 Ensure that theme customizer buttons don't overlap on small screens; allow small-screen theme popup to use the full height of the viewport since the adminmenu is no longer fixed; ensure that buttons in the theme customizer wrap as efficiently as they can on mobile. Fixes #26361, props mattheu, iammattthomas.
git-svn-id: https://develop.svn.wordpress.org/trunk@26592 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-03 21:13:14 +00:00
Sergey Biryukov cb5682ac2f Fix JSHint errors in Gruntfile.js.
props jorbin.
fixes #26109.

git-svn-id: https://develop.svn.wordpress.org/trunk@26268 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-19 10:41:05 +00:00
Andrew Nacin e52857484a Stop using .rtl classes, instead relying on flipping LTR CSS to RTL.
props yoavf.
fixes #24977.


git-svn-id: https://develop.svn.wordpress.org/trunk@26243 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-17 16:17:05 +00:00
Andrew Ozz 518cac37de Grunt jshint: ensure the file passed with --file=filename.js matches all or part of the filepath before checking string lengths. Makes it possible to pass a file with full or partial path. All of these would work properly:
admin-bar.js, wp-includes/js/admin-bar.js, src/wp-includes/js/admin-bar.js. Props atimmer, fixes #25992.

git-svn-id: https://develop.svn.wordpress.org/trunk@26168 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-14 18:16:59 +00:00
Andrew Nacin b0bd982f4c Move to grunt-sass, which which has less bells and whistles than grunt-contrib-sass but also no Ruby dependency.
see #25858, #22862, [26143].


git-svn-id: https://develop.svn.wordpress.org/trunk@26145 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-13 23:37:30 +00:00
Andrew Nacin 0b868783d0 Temporarily remove CSS preprocessing until we can get our Ruby dependency sorted out.
see #25858, #22862.


git-svn-id: https://develop.svn.wordpress.org/trunk@26143 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-13 21:44:04 +00:00
Andrew Nacin 12ccb6d136 Update the Themes screen, merging THX into core.
* Name: THX38
 * Description: Update the Themes screen with a new design and experience.
 * Tags: visually-focused, bigger-screenshots, fast, mobile-friendly, backbone-driven
 * Author: matveb, shaunandrews, melchoyce, designsimply, shelob9
 * URI: http://wordpress.org/plugins/thx38/

fixes #25948



git-svn-id: https://develop.svn.wordpress.org/trunk@26141 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-13 20:57:29 +00:00
Helen Hou-Sandi e84e1e8791 Merge the color schemes component from MP6. Introduces Light, Blue, and Midnight.
Color scheme selection on your own profile page gives you a preview and autosaves the selection.

Also introduces the usage of a preprocessor for core files, namely Sass. For 3.8, we will not expand its implementation past the color schemes. This does require Ruby as well as Sass 3.3.0+ due to the usage of the sourcemap option.

Note that only the default color scheme is available when running out of src. Use build to test the rest as well as the color picker.

props ryelle, melchoyce, tillkruess, drw158, littlethingsstudio, helen. see #25858, #22862.


git-svn-id: https://develop.svn.wordpress.org/trunk@26137 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-13 19:37:10 +00:00
Andrew Nacin 66634a9075 Add `grunt jshint:themes` for linting Twenty Fourteen and future bundled themes.
props jorbin.
fixes #25907.


git-svn-id: https://develop.svn.wordpress.org/trunk@26110 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-12 23:41:17 +00:00
Andrew Nacin 9d81ee781e Ignore our TinyMCE schema fork for JSHint purposes. fixes #25903.
git-svn-id: https://develop.svn.wordpress.org/trunk@26109 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-12 23:27:52 +00:00
Andrew Nacin e5dddf77e8 Don't remove the compiled.html QUnit file. Ignore it instead.
props jorbin.
fixes #25781.


git-svn-id: https://develop.svn.wordpress.org/trunk@26108 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-12 23:20:28 +00:00
Andrew Nacin d416108af5 Use CSSJanus via a Grunt task to generate right-to-left CSS.
RTL files are now created on build for core CSS files. These files replace the LTR file completely, rather than being in addition to the existing LTR file.

Benefits:
 * For the user: less CSS is served in RTL, less HTTP requests on the frontend, and less work for the browser.
 * For the core developer: Let the tools do the work.

Notes for core development:
 * The file generation task is `grunt rtl`.
 * `grunt watch` now handles generating RTL files in /build when a CSS file in /src is saved.
 * /src is now locked to LTR. RTL testing must occur via /build. When attempting to run an RTL text direction with /src, an admin notice will display.

Expect RTL bugs. Please report them.

props yoavf.
see #24977.


git-svn-id: https://develop.svn.wordpress.org/trunk@26107 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-12 21:18:45 +00:00
Andrew Nacin df882a2e6c Make [25064] lint-free. see #25854.
git-svn-id: https://develop.svn.wordpress.org/trunk@26066 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-09 21:25:02 +00:00
Andrew Nacin bab82b3b66 Add `grunt phpunit` which runs three tasks: phpunit, ajax tests, and phpunit as multisite.
You can also run `grunt phpunit:default`, `grunt phpunit:ajax`, and grunt `phpunit:multisite` separately.

`grunt test` now runs the qunit task (both compiled and uncompiled scripts) and the phpunit tasks.

props bpetty.
fixes #25854, see #25781.


git-svn-id: https://develop.svn.wordpress.org/trunk@26064 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-09 21:18:23 +00:00
Andrew Nacin 00dffd1bf8 Add `grunt qunit:compiled` to run the QUnit tests on the compiled JS.
props jorbin, kadamwhite.
fixes #25781.


git-svn-id: https://develop.svn.wordpress.org/trunk@26063 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-09 20:43:58 +00:00
Andrew Ozz 3032512477 Grunt: limit JSHint's run to a single specified file. Run with grunt jshint:core --file=filename.js. Props kadamwhite, see #25187.
git-svn-id: https://develop.svn.wordpress.org/trunk@26043 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-08 00:40:38 +00:00
Andrew Nacin 3a5802dd3b Ignore wp-langs-en.js during linting, per azaozz. see #25187.
git-svn-id: https://develop.svn.wordpress.org/trunk@26042 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-07 21:47:24 +00:00
Andrew Nacin 8bdd289576 Update jshint grunt task to exclude eqeqeq and curly for now, until we've resolved other code smells.
props kadamwhite.
see #25187.


git-svn-id: https://develop.svn.wordpress.org/trunk@26041 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-07 21:14:49 +00:00
Andrew Nacin 06635ed4cd Add a .jshintrc file and associated jshint grunt task.
This .jshintrc is adopted from the jQuery project, with some basic modifications (such as single quotes instead of double quotes). This pretty closely follows our current JS standards and rather closely resembles our PHP standards, especially the love of whitespace. The major changes are enforcing === and always using braces for if statements.

props kadamwhite, gnarf37, with mattwiebe and carldanley.
see #25187.


git-svn-id: https://develop.svn.wordpress.org/trunk@25960 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-27 21:53:11 +00:00
Andrew Nacin 9bd950b6d1 New grunt copy:version task that removes -src from $wp_version on build.
props azaozz.
fixes #25161.


git-svn-id: https://develop.svn.wordpress.org/trunk@25693 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-06 10:33:01 +00:00
Andrew Nacin 0e79ec02a6 Use matchdep for Grunt tasks.
props kadamwhite.
fixes #24980.


git-svn-id: https://develop.svn.wordpress.org/trunk@25243 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-04 20:50:29 +00:00
Andrew Ozz b0380a5f62 Remove the banner when concatenating TinyMCE so wp-tinymce.js.gz doesn't change every time the build process is run. See #25159.
git-svn-id: https://develop.svn.wordpress.org/trunk@25200 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-31 22:01:28 +00:00
Andrew Nacin 2b1b8427e7 Build tinymce.js.gz using grunt.
props azaozz.
see #25159.


git-svn-id: https://develop.svn.wordpress.org/trunk@25188 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-30 22:16:43 +00:00
Andrew Nacin 381affa4e4 Add `grunt test` task for QUnit tests.
props kadamwhite.
see #25096.


git-svn-id: https://develop.svn.wordpress.org/trunk@25178 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-30 04:06:34 +00:00
Andrew Nacin 0494df8152 Move wp-config-sample.php to the root of develop.svn.
wp-config.php is now created in the root. wp-config-sample.php is properly copied over to the build directory for syncing to core.svn.

Add some ignores.

fixes #25185, see #24976.



git-svn-id: https://develop.svn.wordpress.org/trunk@25173 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-29 20:45:17 +00:00
Andrew Nacin 444d333872 Use Dropbox's zxcvbn library for our password meter.
The library was added in [25156].

props duck_.
see #21737.


git-svn-id: https://develop.svn.wordpress.org/trunk@25157 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-28 16:08:19 +00:00
Andrew Nacin 302824ce0c Remove temporary svn task from Gruntfile.js. props jorbin, fixes #24981.
git-svn-id: https://develop.svn.wordpress.org/trunk@25012 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-07 17:34:05 +00:00
Andrew Nacin b43712e0f7 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.



git-svn-id: https://develop.svn.wordpress.org/trunk@25001 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-07 05:25:25 +00:00