Commit graph

149 commits

Author SHA1 Message Date
libraryupgrader 821fb74c1b build: Updating eslint-config-wikimedia to 0.19.0
Additional changes:
* eslint: Renamed `wikimedia/client` profile to `client-es5` (T277085).

Change-Id: I6d406d9020ce243aabc87c921ec23574267a3f78
2021-03-10 23:20:16 +00:00
libraryupgrader 738c3b3a34 build: Updating eslint-config-wikimedia to 0.18.2
Additional changes:
* Dropped .php5 and .inc files from .phpcs.xml (T200956).

Change-Id: I869e10c268d28dc059aecb11ea941c2d928e400c
2021-03-05 04:41:47 +00:00
libraryupgrader 56724d13db build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 34.0.0 → 35.0.0
* mediawiki/minus-x: 1.1.0 → 1.1.1

npm:
* eslint-config-wikimedia: 0.18.0 → 0.18.1

Additional changes:
* Added the "composer phan" command to conveniently run phan.

Change-Id: I2f9210c6a02e34a59c8ebc9284e0711612c4098e
2021-01-28 21:37:51 +00:00
James D. Forrester cb9a31adac build: Upgrade eslint-config-wikimedia from 0.17.0 to 0.18.0 and make pass
Change-Id: I8c45850965ed5b96a0980de70a25f6d5b355350d
2021-01-25 10:21:32 -08:00
James D. Forrester 726e63cca7 build: Upgrade stylelint-config-wikimedia from 0.10.1 to 0.10.3
Change-Id: Idca06a9c5f8e3b1fa7be156613380e1ed99973fd
2020-11-19 23:37:03 +00:00
libraryupgrader 97e79e449d build: Updating grunt to 1.3.0
Change-Id: I9cda32285abdd0d9a06e0defa8da488b400e66a9
2020-08-30 21:48:51 +00:00
Ed Sanders 4545f53245 build: Update eslint-config-wikimedia to 0.17.0
Fix instances of variable shadowing.

Change-Id: I6e2befb020d7d4b506c7b46131eafacd951aa6d1
2020-08-18 13:16:49 +01:00
libraryupgrader 88efa3ab45 build: Updating grunt to 1.2.1
Change-Id: I0a890aa01c0867083c1c5420caaa91e5b07afaf2
2020-07-16 03:34:46 +00:00
Ed Sanders 9a99bb2ea8 screenshots: Update jimp
Change-Id: I32f663219f9c907d90329b198b962763a6a6a96b
2020-06-26 12:33:23 +01:00
Ed Sanders 013b7419bf build: Update eslint-config-wikimedia to 0.16.2
Use jsduck config

Change-Id: I5cd7bbcee83b0fa148b8fb8c3b4adcf08f96cefc
2020-06-18 19:16:52 +01:00
James D. Forrester 6db8207a47 build: Upgrade eslint-config-wikimedia from 0.16.0 to 0.16.1
Change-Id: Ie96c4c75e7df837169c38427ceed59704c99c2cc
2020-06-11 16:01:38 +01:00
Ed Sanders 6076708ff3 build: Update eslint-config-wikimedia to 0.16.0
Change-Id: I638e0f82949597e2a2e4ea18fc2f0258f225358c
2020-06-02 21:30:00 +01:00
libraryupgrader d1efaac5b2 build: Updating npm dependencies
* eslint-config-wikimedia: 0.15.0 → 0.15.3
  The following rules are failing and were disabled:
  * mediawiki/class-doc
  * mediawiki/valid-package-file-require

* grunt-banana-checker: 0.8.1 → 0.9.0
* grunt-stylelint: 0.14.0 → 0.15.0
* stylelint-config-wikimedia: 0.9.0 → 0.10.1

Change-Id: If718fe8876cc4721602757d38fe06ab421ce8d80
2020-04-16 22:55:11 +00:00
libraryupgrader ad8e396f1c build: Updating npm dependencies
* mkdirp: 0.5.1 → 0.5.3
  * https://npmjs.com/advisories/1179
* eslint: 6.6.0 → 6.8.0
  * https://npmjs.com/advisories/1179

Change-Id: Id41d07d66980cb34e6a8053a54a01364417b188c
2020-03-21 08:51:54 +00:00
libraryupgrader e88f23f9ad build: Updating minimist to 1.2.5
* https://npmjs.com/advisories/1179

Change-Id: Ic6036834e3af1ed97d8e36882922ffedf09b37ae
2020-03-19 20:59:47 +00:00
libraryupgrader 7b6124ae64 build: Updating npm dependencies
* grunt-stylelint: 0.13.0 → 0.14.0
* stylelint-config-wikimedia: 0.8.0 → 0.9.0

Change-Id: I03e09c1152d0d9bebfdd9278c5f410a24f306234
2020-02-15 20:15:05 +00:00
libraryupgrader 4637b224b4 build: Updating npm dependencies
* grunt-stylelint: 0.12.0 → 0.13.0
* stylelint-config-wikimedia: 0.7.0 → 0.8.0

Additional changes:
* Added .eslintcache to .gitignore.

Change-Id: If99039fc56e5090e4eab9aaef4b5bd395703938f
2020-01-07 09:54:44 +00:00
Ed Sanders ffa3742ce1 build: Update linters
Change-Id: I03d1a8e63b730ad98ec07ad5f630ba82698de5be
2019-11-01 16:20:22 +00:00
Ed Sanders 41572f2595 build: Update eslint-config-wikimedia and fix
Change-Id: Ib9cf45a393438e2eb47fd1b0c837d2d6acb06541
2019-10-03 00:54:54 +01:00
Ed Sanders 3bb8710715 build: Update linters
Change-Id: If2a45c63f435911ebd7a83df9c0723d45c040a5e
2019-09-18 19:11:45 +01:00
James D. Forrester 05fb44ae56 build: Upgrade eslint-config-wikimedia from 0.12.0 to 0.13.1
Change-Id: I43f407da92f59a8bf758cc2586e84aa5e18d9ab0
2019-08-02 09:51:07 -07:00
libraryupgrader ef3906b82b build: Updating dependencies
composer:
* mediawiki/minus-x: 0.3.1 → 0.3.2

npm:
* lodash: 4.17.11 → 4.17.14
  * https://npmjs.com/advisories/1065
  * CVE-2019-10744
* grunt-banana-checker: 0.7.0 → 0.7.1

Change-Id: Idaf7723adc2136f1fc39573897604c056f814e49
2019-07-16 04:47:13 +00:00
James D. Forrester 22344dae69 build: Upgrade stylelint-config-wikimedia from 0.5.0 to 0.6.0
Additionally a bump to grunt-image and grunt itself for security
reasons. Also, commit package-lock.json, which is what we do now.

Change-Id: I2beab15d7f5b1453ccbb3c46b6dd0800c78ed15b
2019-06-26 14:11:06 -07:00
James D. Forrester aba4eeeda5 build: Upgrade eslint-config-wikimedia 0.12.0, drop grunt-jsonlint
Bug: T220036
Change-Id: Ia081ff5429547cf1c7e6d6e8b0cae94e8ca3e0b9
2019-05-06 13:33:16 -07:00
Ed Sanders 332aa1f3d2 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I5a294705eed1760e2d4dde33934d2ffb12e29525
2019-02-20 20:23:43 +00:00
jenkins-bot c1d3f2c365 Merge "build: Upgrade grunt-banana-checker from 0.6.0 to 0.7.0" 2019-02-15 21:00:44 +00:00
Ed Sanders c463e812ed build: Update eslint-config-wikimedia to 0.10.1
Change-Id: I223b39d49167ef7a831208b523654c69ad0bea5b
2019-02-02 11:02:27 -08:00
James D. Forrester d8e1a9be1f build: Upgrade grunt-banana-checker from 0.6.0 to 0.7.0
Change-Id: I36712edb25ff3dd4ce16478b8614e85dd7a65902
2019-01-09 11:45:17 -08:00
Ed Sanders 74f6c4899c build: Update eslint-config-wikimedia to 0.10.0
Change-Id: I63a0ebf0b31a0d5d4e680a4e2a5a0be4850be165
2019-01-08 17:00:09 +00:00
James D. Forrester 309d05cb38 build: Upgrade stylelint-config-wikimedia to 0.5.0 and make pass
Change-Id: I4c547757ed5a32ff98b1cf2670010db302bd8467
2018-12-03 13:06:59 -08:00
Ed Sanders 1a3e8a958c build: Use eslint-config-wikimedia v0.9.0 and make pass
Change-Id: Idb57fc12e7822cf17e10dbb726480fc7de0ae199
2018-11-21 16:51:20 +00:00
James D. Forrester 5d00bca4e7 Update VE core submodule to master (2f27b1a2c)
New changes:
2915330a9 Avoid JSON strings in built demo files
62b0b1298 Move server files to /src
ddd99ab0c MediaSizeWidget: Add #updateDisabled() for disableable sub-widgets

Bug: T204185
Change-Id: Ied5b39608683ba7c9f056430a0a248f41e089d5a
2018-09-25 08:36:40 -07:00
Ed Sanders 8ea820ab43 build: Update devDependencies
grunt-mocha-test     0.12.7  →  0.13.3
 grunt-stylelint      0.10.0  →  0.10.1
 jimp                 0.2.28  →   0.5.0

Change-Id: Ic2b1bcefdce6e8f71c623eec877151b7233c9556
2018-09-15 21:45:49 +01:00
James D. Forrester b2b352836d build: Bump eslint-config-wikimedia from 0.7.2 to 0.8.1
Change-Id: Ide036b52b394e1b3b6f5493406a3633bd89e2cc5
2018-09-10 08:49:10 -07:00
James D. Forrester 4755d7f1be build: Upgrade eslint-config-wikimedia to 0.7.2 and simplify config
Change-Id: Ib78c51a177b9f4b4764587232c7d32ffcfdd8aca
2018-08-14 11:02:20 -07:00
James D. Forrester 6e71e1c0c3 build: Bump devDependencies related to the screenshots task
This fixes a bunch of warnings from `npm audit`.

Change-Id: I31321f2f19421944787279923e010f8093789d5e
2018-07-09 10:50:40 -07:00
James D. Forrester ceab9e6510 build: Bump linters for eslint 5 and make pass
Change-Id: I88627028e5806c2fdceb76fd26bcb57d44ed4c20
2018-07-06 10:58:18 -07:00
Ed Sanders a7f5a76bca build: Introduce eslint-plugin-qunit
Change-Id: I0a169916eaf260500ca6a172e6fb2b0c61f8d422
2018-05-30 21:04:02 +01:00
James D. Forrester c07d4815e3 build: Follow-up 99d3320573: Drop babel-polyfill, never used
Change-Id: I3eccd0c345b2c528bbb9458d404a3e0c91ae88f5
2018-04-25 12:59:50 -07:00
James D. Forrester 3e8f2edc83 build: Bump some devDependencies to latest
grunt                        1.0.1  →          1.0.2
 grunt-contrib-watch          1.0.0  →          1.0.1
 grunt-image                  4.1.0  →          4.2.0
 grunt-stylelint              0.9.0  →         0.10.0
 stylelint                    8.2.0  →          9.2.0
 stylelint-config-wikimedia   0.4.2  →          0.4.3

Leaving babel-polyfill, grunt-mocha-test, jimp, mocha and selenium-webdriver
alone for now.

Change-Id: Ibea983670108a56ddbf748e140831147e31da329
2018-04-25 12:35:07 -07:00
Antoine Musso 2aadc18105 build: npm/rake entry point for screenshots upload
We have a Jenkins job to take screenshots of VisualEditor and upload the
result to commons.wikimedia.org. That roughly does:

    npm install
    node_modules/.bin/grunt screenshots-all

    bundle install
    bundle exec upload

However on CI, the Docker container only accepts 'npm run-script XXX' or
'bundle exec rake YYY'.

Add a npm script 'screenshots-all' invoking 'grunt screenshots-all'.

Add a rake task 'commons_upload'. I have added a basic check to make
sure environment variables are properly set before invoking the upload
script.

Thus on CI the usage will become:

  npm install
  npm run-script screenshots-all

  bundle install
  bundle exec rake commons_upload

Which match the CI convention.

Bug: T189122
Change-Id: I221ed8d6178dd036eac287f0f811834a6d4ffd22
2018-03-07 23:23:30 +01:00
Volker E 4194d2ea63 build: Use SVGO option of 'grunt-image'
Making use of SVGO for further minification of
the included SVGs, based on MediaWiki's SVG Coding Conventions.

Also:
- Updating 'grunt image' to the latest version
- Improving SVGs accordingly

Bug: T185596
Change-Id: I882f0c6e2b5011fd51edb6106a3e22581989b834
2018-02-08 17:41:11 +00:00
Ed Sanders 7e055832b9 build: Update linters
Change-Id: Idafc3989c43613fdc4ea9da66495fc4003f7f549
2018-02-04 22:11:22 +00:00
Ed Sanders dc3ed6cec0 build: Update stylelint 0.4.1->0.4.2
Change-Id: I9d67e4224eb6298e20574a201eeee559ab3a7504
2017-10-26 21:04:07 +01:00
Ed Sanders 9ebff2fb12 build: Update eslint-config-wikimedia 0.4->0.5
Change-Id: I57b017752cc377f3e8cc4e6163bebfecd878ae51
2017-08-25 16:08:08 +01:00
Ed Sanders 835a775a49 build: Upgrade grunt-eslint from 19.0.0 to 20.0.0
Mostly indent and regex fixes.

Change-Id: Iaf9d02363c78cb71deec5c4cab53a05b67f60600
2017-07-18 12:55:33 +01:00
James D. Forrester f7e5ebb845 build: Bump a couple of devDependencies to latest
grunt-banana-checker   0.5.0  →   0.6.0
 grunt-stylelint        0.7.0  →   0.8.0

Added stylelint peerdependency directly.

Change-Id: Ib5da82ae60f4f49e572459c8e53f9125ad422ee8
2017-07-06 13:40:38 -07:00
Ed Sanders a866678c36 build: Update eslint to 0.4.0 and make pass
Change-Id: Id02a26bad70504cfe90bee6aab0fa3ea646b15d7
2017-05-04 21:28:17 +00:00
Umherirrender a16812428e Use tabs to indent in json
Change-Id: Ib0372c86bcaac368f4dd68a512273b504ca9b6b2
2017-03-31 23:50:07 +02:00
James D. Forrester dddd2c0180 build: Bump grunt-jsonlint to latest and make pass
grunt-jsonlint       1.0.8  →   1.1.0

Change-Id: I4a5cdd39f6215cc61a1ef530386a87fdcb0c0088
2017-02-17 16:12:12 -08:00
James D. Forrester cc239a08da build: Bump stylelint and make pass
grunt-stylelint              0.6.0  →   0.7.0
 stylelint-config-wikimedia   0.3.0  →   0.4.1

Change-Id: Id87b8df04d415e1f1058a4042a31408236402037
2017-02-17 15:23:12 -08:00
Ed Sanders 8a64006aa4 Introduce grunt-image to minify screenshots
Makes the task a bit slower (~50%) but image filesizes
are reduced by 75% on average.

Change-Id: I90b7a4b7b4a1e4d3452d4e791fef55cdfc780f94
2017-02-03 15:19:12 +00:00
James D. Forrester f24e34de3c build: Bump eslint-config-wikimedia to v0.3.0 and make pass
Change-Id: I7449c11aa63c50fda667265c32021439cc53471f
2016-11-15 15:05:05 -08:00
James D. Forrester 36befda61c build: Replace jscs and jshint with eslint
It's new, it's fresh, it's amazing, it's here.

Change-Id: I5dc784411f704685ed5cc763a2b2b1c5d3e5a610
2016-10-28 18:33:15 +00:00
James D. Forrester 1840f4fc71 build: Bump stylelint-related devDependencies to latest
grunt-stylelint              0.4.0  →   0.6.0
 stylelint-config-wikimedia   0.2.2  →   0.3.0

Change-Id: Ib7494b63fa8faa84ca0be69321d5888d5af9048f
2016-08-03 18:52:26 +00:00
James D. Forrester 7b6ae3710c build: Downgrade grunt-jscs to 2.8.0 to avoid cst bug
Bug: T140367
Change-Id: Ice3afeefda8628ec9b0f4f72379770b484a2cb11
2016-07-14 08:48:38 -07:00
Ed Sanders 746321a29f Add screenshots grunt task for taking documentation screenshots
Imported from https://github.com/zeljkofilipin/language-screenshots

Bug: T119482
Bug: T132574
Co-authored-by: Željko Filipin <zeljko.filipin@gmail.com>
Change-Id: Idade622d1f3db0eb4b5f3fbc1a0eee401feeb600
2016-06-27 12:19:35 +01:00
James D. Forrester 5ecf40f51e build: Bump devDependencies to latest and make pass
babel-polyfill              6.8.0  →  6.9.1
 grunt-jscs                  2.8.0  →  3.0.0
 grunt-jsonlint              1.0.7  →  1.0.8
 grunt-stylelint             0.3.0  →  0.4.0
 stylelint-config-wikimedia  0.2.0  →  0.2.2

Change-Id: I4db467c7f2bc291a94e7bab86d18e48a44f6054c
2016-06-07 17:17:02 +01:00
jenkins-bot 5698e855e3 Merge "Update stylelint config version and make a pass" 2016-05-24 21:40:41 +00:00
Ed Sanders 88c8f2e389 Remove grunt-cli
Included by grunt.

Change-Id: Ibf76b74ff50d6011da3061b2634c2ef4d7a3c843
2016-05-24 17:30:12 +00:00
Ed Sanders 7b8931193a Update stylelint config version and make a pass
Change-Id: I58007c3976019c8cfe96fd1fc0474d9e80f99f64
2016-05-24 13:41:13 +01:00
James D. Forrester 94fcafb684 build: Bump grunt-stylelint to v0.3.0
Change-Id: I8e6eb487a1ae181c9279aaf2c0aec5cccc8d9427
2016-05-19 19:04:10 +01:00
James D. Forrester 8c7ed92288 Update VE core submodule to master (eeaf1e2)
New changes:
c54a48a build: Fix watch list (csslint -> stylelint)
58ba3d9 Add stylelint rules for @-rules
3f8c75a Stylelint: Add rule for unsupported browser features
3b96ff3 Fix minimum Opera version (15 -> 12)
9a1110b Stylelint: No ID selectors
9800bb8 build: Remove remaining references to csslint
b6ab14a stylelint: Re-enable features by names
6cc1f3c Move stylelint to npm
1d15fa0 build: Bump stylelint version to v0.2.0
ccc1724 stylelint: Use the preset rather than extending

Change-Id: I22fa8098592338a5e912aba9ad21131b21d9c0ea
2016-05-18 07:06:53 +01:00
Ed Sanders 1dc780bcbd build: Use grunt-stylelint from npm
Add .stylelintrc as a symlink

Change-Id: I3c6d3f7f988f59b12655627e67ffb61fc7f882cd
2016-05-17 16:24:39 +01:00
Ed Sanders 99d3320573 build: Replace csslint with stylelint
For now just use the rules file in lib/ve, but eventually
this will be a preset.

Change-Id: I7fd79d3e1dce37aef066d416cd969e5fff1e962f
Depends-On: I17e0d23ddfedf64985495ab35d113ea08c03b1df
2016-05-16 22:30:49 +01:00
James D. Forrester 5308a47e96 build: Bump various devDependencies to latest
grunt                  0.4.5  →  1.0.1
 grunt-cli             0.1.13  →  1.2.0
 grunt-banana-checker   0.4.0  →  0.5.0

Change-Id: Idcd66807d03c85005ca97f5563251e814d15813b
2016-04-19 01:37:25 +00:00
James D. Forrester 8ee5c6f818 build: Bump devDependencies to latest
grunt-contrib-watch  0.6.1  →  1.0.0

Change-Id: Ieea149cd930e470ec7f63e7c5cc75aef60a5a271
2016-03-17 19:42:41 +00:00
James D. Forrester ee9e6cb20e build: Bump all devDependencies to latest
* grunt-contrib-copy: 0.8.2 -> 1.0.0
* grunt-contrib-csslint: 0.5.0 -> 1.0.0
* grunt-contrib-jshint: 0.12.0 -> 1.0.0
* grunt-jscs: 2.7.0 -> 2.8.0

Change-Id: I8c4b3e1ad4e10217e9e048eacd8dedc8fe5caf02
2016-03-10 08:19:48 -08:00
James D. Forrester e6e492efc6 build: Bump various devDeps to latest and make pass
* grunt-contrib-jshint: 0.11.3 -> 0.12.0
  This version of the linter cleans up a number of options. 'es5' is now assumed to be
  true by default, and replaced as 'esversion'; 'latedef' is extended to also cover
  functions' defintions, disabled for us for now; 'futurehostile' is introduced to aid
  future-incompatible names for ES6+ support.

  I adjusted ve.init.mw.DesktopArticleTarget.init.js based on this, as this file is
  meant to be loaded by all JS-capable clients to determine if it is (amongst other
  things) capable of ES5, so now we assert ES3 compatibility via jshint.

* grunt-jscs: 2.5.0 -> 2.7.0
  Minor version bump that doesn't affect us.

* grunt-jsonlint: 1.0.6 -> 1.0.7
  Trivial version bump that doesn't affect us.

Change-Id: Ieb7b6748b0cecf275cfc284fc66617189372461f
2016-02-07 19:41:21 -08:00
James D. Forrester 90045db7a3 build: Update various devDependencies to latest
* grunt-contrib-copy     : 0.8.0 -> 0.8.2
* grunt-jsonlint         : 1.0.4 -> 1.0.6
* grunt-jscs             : 2.1.0 -> 2.5.0

Change-Id: Ia66996d4ccf48bb8baab792fda5cd67863b31575
2015-12-11 12:59:17 -08:00
James D. Forrester fe8a9eff91 build: Add grunt-tyops
Change-Id: Idb30814e69356eb2b3282fae018c142295df922f
2015-12-09 00:53:34 +00:00
Kunal Mehta 7e0b5c9323 build: Updating development dependencies
* grunt-banana-checker: 0.3.0 → 0.4.0

Change-Id: I35ed93e20da10717e232cfbaa27453500adc6dba
2015-10-11 12:21:37 -04:00
Ed Sanders 02bb49c12e build: Update CSSLint from 0.4.0 to 0.5.0
Change-Id: Ide9d1ac96a9b1eb94b0c01ef8e8665ab75aa00a8
2015-09-18 17:15:23 +00:00
James D. Forrester 78b415cc69 build: Upgrade grunt-banana-checker to v0.3.0
So many old keys not yet removed. Oy. Also, disable disallowDuplicateTranslations
for now as this fails so much.

Change-Id: I52e1555335a6e64b1e9db541ba726cf6ce8c7dd0
2015-09-07 11:59:50 -07:00
James D. Forrester efe7270819 build: Bump grunt-contrib-jshint from 0.11.2 to 0.11.3 to fix upstream issue
Change-Id: I6215f90dd501a7bc27b47f21130567893709cc4a
2015-09-03 14:11:01 -07:00
James D. Forrester 2efec36a10 build: Bump jscs devDependency from 1.8.0 to 2.1.0
Change-Id: I75a99990c61d7f1f0a963f003c0e8bdb9c5215b6
2015-08-19 10:25:11 -07:00
Kunal Mehta f41310ab4c build: Configure jsonlint
Change-Id: I25a0010aa023bc3b70f24e9f30ffef3be88f965f
2015-06-13 01:14:38 -07:00
Kunal Mehta 852ac522d7 build: Updating development dependencies
* grunt-banana-checker: 0.2.1 → 0.2.2

Change-Id: I4bbf9709c48f22550ec8e36af11b737ebf6b92c2
2015-06-06 00:11:02 +00:00
James D. Forrester a69dcae3ab build: Bump various devDependencies
grunt-contrib-jshint:	0.11.0 -> 0.11.2
	grunt-jscs:				1.5.0 -> 1.8.0

Bug: T90816
Change-Id: I294bd46b2ce48b3839c4e6b200db08e935933379
2015-04-29 08:58:24 -07:00
Timo Tijhof f08788acf8 build: Declare grunt-cli dependency
Change-Id: I6a7fafa3c6e40d2407f07c514167ab9fc7661685
2015-04-06 16:32:58 +00:00
Timo Tijhof 1082249691 build: Move pre/post 'doc' task into package.json
Standard entry point.

Change-Id: Ic6cdc9ac1b266a64dcb1522ac36132c5ef844d3c
2015-04-06 17:18:29 +01:00
James D. Forrester 664b90bb87 build: Update grunt-banana-checker to v0.2.1
Change-Id: If3954c2a01117df036ffe89df2f37044a32f6a41
2015-03-27 16:41:56 -07:00
James D. Forrester 5db66faea9 build: Update jscs to latest
Change-Id: Ic1193d5557e0a3468c16896767888e8a593671e0
2015-03-07 04:05:44 +00:00
James D. Forrester bed038b509 build: Bump devDependencies to latest
Updates:
* grunt-contrib-csslint  0.3.1  ->  0.4.0
* grunt-contrib-jslint   0.10.0 -> 0.11.0
* grunt-jscs             0.8.1  ->  1.2.0

For jscs, leaving requireSpacesInsideArrayBrackets to avoid headaches for now.

Change-Id: I62d34444edbba65c8bd22d2fa5e50e16cabb0042
2015-02-02 14:30:39 -08:00
James D. Forrester 12f183a20c build: Update grunt-jscs devDependency to latest
grunt-jscs: 0.7.1 -> 0.8.1

No-op; note that this switches us from jscs 1.6.0 to 1.7.2, which provides
some new options (unused in the Wikimedia preset).

Change-Id: I1d0db2568ff673ff8b8bba9549b06c005eb7186b
2014-11-17 19:50:46 -08:00
Timo Tijhof 8ddf622891 build: Remove 'repository' and 'licenses' key from package.json
This isn't a node.js package, but simply the packages for the
workflow in developing the extension.

This repo already has other entry points and outings for this
information.

Change-Id: Ide13e863546e6efda61086e3daf9cdfe4ed5f1ac
2014-10-11 02:59:33 +02:00
James D. Forrester 198c240fcc build: Bump miscellaneous devDependencies to latest
Updates:
* grunt                  0.4.2 -> 0.4.5
* grunt-banana-checker   0.1.0 -> 0.2.0
* grunt-contrib-csslint  0.2.0 -> 0.3.1
* grunt-jscs             0.6.1 -> 0.7.1

Change-Id: If1d612cd4ad9b45b0d249931339882f4bc238c74
2014-09-13 23:40:06 -07:00
James D. Forrester 8cc3451be7 build: Update grunt-jscs (formerly grunt-jscs-checker) from 0.6.0 to 0.6.1
Change-Id: I097d63cea436ab6ef2a16fccead10b72103d0b6e
2014-07-18 13:21:27 -07:00
Timo Tijhof 19afd65a08 build: Update jscs and use new "wikimedia" preset
Our coding style has been upstreamed and first released
in node-jscs v1.5.0 (grunt-jscs-checker v0.6.0).

Change-Id: Ifc0cfc7177946b9d11407f60e38b0177883724c5
2014-06-26 17:00:15 +00:00
Timo Tijhof 0c60733ec5 Grunt: Clean up
* Use jshintrc:true which lets grunt defer autodiscovery of the file
  to jshint instead of forcing it to '.jshintrc'. This allows us to
  override certain settings from a subdirectory, to match behaviour
  of standalone jshint.

* Sort modules.

* Use plain string instead of single-value array.

Change-Id: Ib5cd48f3ff0367b8fc84627c29e4fb32452087c0
2014-06-04 05:07:12 +02:00
Timo Tijhof 25d00cc777 build: Update jscs and jshint
jshint:
* Update to grunt-contrib-jshint v0.10.0 (jshint v2.5.0).
* Remove coding style options covered by jscs.
* Enable new option "freeze" (prohibits changing native prototypes).
  http://www.jshint.com/blog/new-in-jshint-oct-2013/#option-freeze
* Re-order to match http://www.jshint.com/docs/options/

jscs:
* Update to grunt-jscs-checker v0.4.4 (jscs v1.4.5).
* Format .jscsrc file in a more spacious way and order the
  properties less arbitrarily (using the jscs's readme order).
* Enforce more details of our coding style
* Get rid of the unsable "sticky" operator rules which have been
  deprecated in favour of using other rules instead that are able
  to enforce this more accurately.
  - disallowLeftStickedOperators: Remove deprecated rule.
    * Ternary covered by requireSpacesInConditionalExpression.
    * Rest covered by requireSpace{Before,After}BinaryOperators.

  - requireLeftStickedOperators: Remove deprecated rule.
     * Comma covered by disallowSpaceBeforeBinaryOperators.

  - requireRightStickedOperators: Remove deprecated rule.
    * Logical not (!) covered by disallowSpaceAfterPrefixUnaryOperators.

See also If46b94ce1, Ib731f11b1 and I0b0cadbc5 in oojs/core.

Also:
* Update grunt-contrib-watch to latest upstream version.
  Change log at https://github.com/gruntjs/grunt-contrib-watch/blob/v0.6.1/CHANGELOG#L1-L17

Change-Id: I6c5a34afea8b05a3dca617897c192594df06ca90
2014-05-15 16:52:34 +00:00
James D. Forrester 0ee4ba5d11 Use new banana checker as a linter to avoid lacking qqq messages
Change-Id: I02647d519ff85f78178d4fb48f014081ca3e82ef
2014-04-04 15:22:57 -07:00
James D. Forrester bf9f17d9b9 Bump jscs to 0.4.1
Change-Id: I12f65f48ea86b2496de295be1b61d69d3c727d2a
2014-04-01 14:39:03 -07:00
Roan Kattouw ee743f869d Use submodule for VisualEditor core
* Add lib/ve.
* Remove modules provided by VisualEditor core.
* Update paths.
* Remove VisualEditor core specific things from Gruntfile.
* Remove entries from external.js already in lib/ve/.docs/external.js.
* Implement build script to compose a jsduck index that includes
  all of VisualEditor core. Right now it includes VisualEditor's
  index as-is, and because those patterns (e.g. ve.dm.*Node) will
  also MW subclasses this means our category page will include
  MW classes under "VisualEditor (core)" (before the repo split,
  this was intentional).
  This is inevitable unless we list every class individually, or
  (the plan) until we move the MW subclasses out of the ve.*
  namespace and into mw.* somewhere.

Bug: 45342
Change-Id: Iff45cd555430634c9fc341fd3b177c1e0625300b
2013-12-20 09:18:41 +00:00
Timo Tijhof 17cbdd3cb4 grunt: Update devDependencies
Change-Id: I0076d07e2029039283984dd2ae0b0e775b3e00c0
2013-12-18 08:19:19 +01:00
Timo Tijhof 561dd7c65b grunt: Update grunt-contrib-jshint use built-in jshintrc parser
Use built-in jshintrc option for 'jshint' config instead of
parsing manually and strippig comments.

node-jshint itself has supported comment parsing for a long time
(which is why our Jenkins build, which doesn't even use grunt,
has no problem with our .jshintrc file).

But the grunt task never exposed this parser, until v0.6.4.

Change-Id: Ia45a44ac49c943845a11d3fc7a0127776e99ed2a
2013-12-18 06:33:20 +00:00
Timo Tijhof cf7f2b141d Set up node-jscs, pass it, and configure in local Gruntfile
Let's experiment with this via our local Gruntfile. If it works
fine we can install it in Jenkins (similar to node-csslint).

Verify through $ npm install && npm test;

Fixed all outstanding violations.

Also:
* Added syntaxhighight to ignore.
* Added imetests (which contain unformatted JSON) to ignore.
* In ve.dm.ModelRegistry#matchTypeRegExps, removed redundant
  !! cast from the [+!!withFunc] statement which was hitting
  a bug in node-jscs. All callers to this local private function
  pass a literal boolean true/false so no need to cast it.
* Removed "/* key .. , value */" from ve.setProp, though this
  wasn't caught by node-jscs, found it when searching for " , ".
* Made npm.devDependencies fixed instead of using tilde-ranges.
  This too often leads to strange bugs or sudden changes. Fixed
  them at the version they were currently ranging to.

Bug: 54218
Change-Id: Ib2630806f3946874c8b01e58cf171df83a28da29
2013-12-06 10:37:27 -08:00
C. Scott Ananian 5f392ccec1 Updates to README.md and CODING.md
Describe how to report bugs, install grunt, and run tests.

Update jsduck instructions.

Fix path to license file in package.json.

Change-Id: I276ff0ea4324f027dafc044a86fa564b2439089a
2013-09-17 19:09:25 -04:00
Timo Tijhof bedbebd53c Implement Grunt support (grunt jshint,csslint,qunit,watch)
This has no influence on Jenkins but can be used locally to
easily run certain tools. Since we already had `.jshintrc` in
our repo it was already possible to easily run JSHint from
the command-line locally. Taking that as a base the following
are new features:
* `grunt csslint`: Runs CSSLint on all css files
* `grunt qunit`: Runs QUnit (standalone) tests in PhantomJS
* `grunt test`: Runs jshint/csslint/qunit
* `grunt watch`: Runs the "test" command automatically whenever
  a file is changed. You can keep this in the background so
  whenever you save a file in your editor (e.g. Sublime Text)
  it'll run the tests and if there is a failure, it'll throw a
  bash error code causing your Terminal application to beep you
  in whatever way your operating system does so (e.g. for
  Mac OS X a red badge + jumping icon in the Dock). It will
  continue to run in the background even after a failure so no
  need to re-start watch after a failure.
* `grunt`: Runs the default task, which is 'test'.

Previously to use `jshint .` you had to:
* One-time install:
  * install package -- nodejs npm
  * npm install -g jshint
* Usage:
  * cd VisualEditor; jshint .

Now, for grunt:
* One-time install:
  * install package -- nodejs npm
  * npm install -g grunt-cli
  * cd VisualEditor; npm install
* Usage:
  * cd VisualEditor; grunt

Change-Id: I7a4fdf4b6bf3f00cef15dc3e2c81eceb595aec7c
2013-06-05 11:10:23 +00:00