Improve JS parsing of our inline JSDocs by introducing `@namespace`, `@lends` and `@memberOf`. Helps set the way for showing our JavaScript documentation on developer.wordpress.org, see https://meta.trac.wordpress.org/ticket/3063.
* Define all used namespaces using @namespace.
* Correctly specify in which namespace each class is using @memberOf.
* Define each usage of the extend function as a prototype assignment using @lends.
* Some comment blocks were moved to correct the parsing of certain definitions.
Props herregroen, atimmer, netweb, SergeyBiryukov.
Fixes#41682.
git-svn-id: https://develop.svn.wordpress.org/trunk@41351 602fd350-edb4-49c9-b593-d223f7449a82
Patches occasionally come in on generated files. We should be kind to new contributors and give them a hint that these files are auto generated.
Props drewapicture, samuelsidler, netweb, valendesigns, kpdesign, nacin, jorbin
Fixes#30666
git-svn-id: https://develop.svn.wordpress.org/trunk@41271 602fd350-edb4-49c9-b593-d223f7449a82
Previously, `wp_encode_emoji()` and `wp_staticize_emoji()` used inaccurate regular expressions to find emoji, and transform then into HTML entities or `<img>`s, respectively. This would result in emoji not being correctly transformed, or occasionally, non-emoji being incorrectly transformed.
This commit adds a new `grunt` task - `grunt precommit:emoji`. It finds the regex in `twemoji.js`, transforms it into a PHP-friendly version, and adds it to `formatting.php`. This task is also automatically run by `grunt precommit`, when it detects that `twemoji.js` has changed.
The new regex requires features introduced in PCRE 8.32, which was introduced in PHP 5.4.14, though it was also backported to later releases of the PHP 5.3 series. For versions of PHP that don't support this, it will fall back to an updated version of the loose-matching regex.
For short posts, the performance difference between the old and new regex is negligible. As the posts get longer, however, the new method is exponentially faster.
Fixes#35293.
git-svn-id: https://develop.svn.wordpress.org/trunk@41043 602fd350-edb4-49c9-b593-d223f7449a82
Sets `screwIE8` to false as it is now enabled by default
Files Changed:
build/wp-admin/js/customize-nav-menus.min.js
build/wp-admin/js/customize-widgets.min.js
build/wp-includes/js/customize-loader.min.js
Changelog:
2016-07-19 v2.0.0 Update uglify-js to v2.7.0. screwIE8 is enabled by default.
2016-07-19 v1.0.2 Update grunt to ^1.0.0. Fix beautify when passed as an object. Fix docs about report values.
See #38199.
git-svn-id: https://develop.svn.wordpress.org/trunk@39117 602fd350-edb4-49c9-b593-d223f7449a82
Changlog:
2016-04-14 v1.2.0 Add support for filtering running modules using command line (--modules) Removed 'grunt.warn' output from error.onError handler, onus now on end user binding to event. Update docs.
See #38199.
git-svn-id: https://develop.svn.wordpress.org/trunk@39113 602fd350-edb4-49c9-b593-d223f7449a82
This update fixes invalid patches being uploaded to Trac when the `diff-cmd` is set to `colordiff`.
Props jorbin.
Fixes#37410.
git-svn-id: https://develop.svn.wordpress.org/trunk@38111 602fd350-edb4-49c9-b593-d223f7449a82
This update adds two main features for your WordPress development happiness.
1) GitHub URL support. You can now use `grunt patch:https://github.com/aaronjorbin/develop.wordpress/pull/3` with any copy of WordPress on GitHub. No longer will you need to download the patch manually. Works for both core and develop mirrors on GitHub.
2) Upload patches directly from the command line. No longer will you need to create a patch and manually upload it to trac. `grunt upload_patch:20000` will upload a patch to the appropriate ticket after a user enters a WordPress.org username and password. This is limited to users with the appropriate XML-RPC privileges in trac (right now, that is just bug gardeners). You still need to manually add the `has patch` keyword.
Full changelog: https://github.com/aaronjorbin/grunt-patch-wordpress/compare/0.3.0...0.4.0Fixes#35917.
Props netweb, ericlewis, michaelbeil, jorbin.
git-svn-id: https://develop.svn.wordpress.org/trunk@37612 602fd350-edb4-49c9-b593-d223f7449a82
Prevent tasks from running twice in parallel
if both .svn and .git directories are present.
Add `--ignore-externals` to `svn status`
and replace `git diff --name-only` with `git status --short`.
Merge some duplicate code.
Fixes#36394.
See #35557.
See [36906].
git-svn-id: https://develop.svn.wordpress.org/trunk@37185 602fd350-edb4-49c9-b593-d223f7449a82
grunt-postcss Dropped nodejs 0.10 support and this is causing builds to fail. Revert until we bump minimum node version.
See #35104
git-svn-id: https://develop.svn.wordpress.org/trunk@36980 602fd350-edb4-49c9-b593-d223f7449a82
Instead of running all tasks, all the time, let's run tasks based on the files changed. PHPUNIT is now a precommit task for all php file changes.
This adds a new dependency. Please run `npm install`.
Fixes#35557
Props ericlewis, netweb, jorbin
git-svn-id: https://develop.svn.wordpress.org/trunk@36906 602fd350-edb4-49c9-b593-d223f7449a82
This updates `imagemin` to 4.0.0, which fixes an error when running `grunt imagemin:core`.
Props netweb.
Fixes#35003.
git-svn-id: https://develop.svn.wordpress.org/trunk@35859 602fd350-edb4-49c9-b593-d223f7449a82
This bumps the underlying version of node-sass to 3.4.0 and libsass to 3.3.0. It causes no difference in the current sass output.
Props netweb.
See #34177.
git-svn-id: https://develop.svn.wordpress.org/trunk@35539 602fd350-edb4-49c9-b593-d223f7449a82
This includes an update to the underlying version of uglify which causes all of the JS to be modified.
See #34177
git-svn-id: https://develop.svn.wordpress.org/trunk@35538 602fd350-edb4-49c9-b593-d223f7449a82
grunt-autoprefixer was deprecated - e020f878d5
None of the autoprefixer tasks should have been called directly, so they are now removed. `grunt precommit` and `grunt build` still work exactly as they should. This change doesn't affect the output of our builds.
An NPM install is required after you have updated after this change.
See #31700
Props netweb
git-svn-id: https://develop.svn.wordpress.org/trunk@33129 602fd350-edb4-49c9-b593-d223f7449a82
grunt-browserify : minor version update
grunt-contrib-cssmin : minor version update
grunt-contrib-imagemin : patch version update
grunt-contrib-jshint : patch version update
grunt-contrib-uglify : minor version update (causes some changes to minified JS)
grunt-includes : minor version update
grunt-sass : major version update ( underlying libsass update ).
Props wonderboymusic
See #31700
git-svn-id: https://develop.svn.wordpress.org/trunk@32988 602fd350-edb4-49c9-b593-d223f7449a82
Two changes we need to know about:
* Aborts build if there is an exception thrown bu autoprefixer
* Less verbose output in standard mode
Major version seems to have been bumped due to change in annotation option which which we do not use.
Upstream Changes e30d2c5bfd...6f8dfe8840
See #31700
git-svn-id: https://develop.svn.wordpress.org/trunk@32357 602fd350-edb4-49c9-b593-d223f7449a82
This upgrade adds two changes, both of which are aimed at less reporting of false test passing:
* Log PhantomJS errors as warnings
* Add noGlobals option, forwarded to QUnit. Report proper exit code to grunt based on failures. Add support for AMD.
See #31700
git-svn-id: https://develop.svn.wordpress.org/trunk@32356 602fd350-edb4-49c9-b593-d223f7449a82
CSSJanus (introduced in [26107]), we had a great time with you, but sadly you don't like our fancy CSS.
RTLCSS is a framework for converting CSS from LTR to RTL, same as CSSJanus, with support for more CSS properties like `transform`, `transition` or multiple box and text shadows.
Changes:
* devDependencies: Remove `grunt-cssjanus`, add `grunt-rtlcss`.
* RTLCSS uses `/* rtl:ignore */` to ignore a rule, switch existing `/* @noflip */` to the new directive.
* RTLCSS supports the `transform` property, means we can remove some ignore rules.
* RTLCSS supports string maps for custom replace rules. This commit includes a rule `import-rtl-stylesheet` which replaces ".css" with "-rtl.css" in URLs.
Notes for core development:
* The file generation task is still `grunt rtl`.
* If you have used `grunt cssjanus` before, use `grunt rtlcss` now.
* Remember the new directive `/* rtl:ignore */`.
fixes#31332.
Build: https://build.trac.wordpress.org/changeset/31554
git-svn-id: https://develop.svn.wordpress.org/trunk@31573 602fd350-edb4-49c9-b593-d223f7449a82
This new update includes the following changes:
* The tools directory can now be patched along with a handful of other root level files that were failing
* If patching fails or otherwise issues a prompt, you can now interact with the prompt
* Only save the watch file to your directory if you pass the --debug flag
* Default to selecting the newest patch rather then the oldest patch
props ocean90 ntwb kadamwhite aaronjorbin
Fixes#31466
git-svn-id: https://develop.svn.wordpress.org/trunk@31557 602fd350-edb4-49c9-b593-d223f7449a82
* Add a new folder in `wp-includes/js`, `media`
* Create manifest files for `views`, `models`, `grid`, and `audio-video`
* Make `browserify` an `npm` dependency
* Add Grunt tasks for `browserify` and `uglify:media` on `build` and `watch`
* Update the paths loaded for media files in `script-loader`
* All new files were created using `svn cp` from their original location
Please run `npm install`. While developing media JS, you must run `grunt watch`.
See #28510.
git-svn-id: https://develop.svn.wordpress.org/trunk@31373 602fd350-edb4-49c9-b593-d223f7449a82
Mapped to `grunt patch`, which declares usage. Requires `npm install` to install.
props jorbin. props helen, evarlese for help with grammar/instructions.
see #27023.
git-svn-id: https://develop.svn.wordpress.org/trunk@27299 602fd350-edb4-49c9-b593-d223f7449a82
The update includes a new version of Autoprefixer which now supports the `ms-touch-action` prop for IE10.
Run `grunt autoprefixer:core` to re-add the missing props in media-view.css.
git-svn-id: https://develop.svn.wordpress.org/trunk@27236 602fd350-edb4-49c9-b593-d223f7449a82
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
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
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
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
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