Commit Graph

144 Commits

Author SHA1 Message Date
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