Commit graph

51 commits

Author SHA1 Message Date
Volker E 28394a1367 build: Upgrade 'svgo' to latest and re-crush SVGs
Upgrading to SVGO v2.3.0 and changing over to new JS config.
Also amending svg check shell script and re-crushing
all SVGs.

Bug: T278656
Change-Id: Ic52d7eb595073e5bde166e5cf5767772c5eb60ce
2021-04-20 17:45:18 +00:00
libraryupgrader f1f904e293 build: Updating eslint-config-wikimedia to 0.20.0
Change-Id: Ie3be1848c18f12888bdeabaea234b7c558ace899
2021-04-15 09:54:54 +00:00
bwang f9c6666717 build: Replace Grunt with npm scripts for eslint, stylelint, and banana-checker
Fix eslint errors in .eslintrc, and add .eslintrc to the .eslintignore.

Bug: T206462
Change-Id: I1569082622a61d3b089c7d2a637dafabae68228e
2021-04-13 21:09:32 +00:00
libraryupgrader 974bdb5ec4 build: Updating npm dependencies
* bundlesize: 0.18.0 → 0.18.1
  * https://npmjs.com/advisories/1594 (CVE-2020-28168)
* github-build: 1.2.1 → 1.2.2
  * https://npmjs.com/advisories/1594 (CVE-2020-28168)

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

Change-Id: I31709fad756dfea5d47755f170a5b75952c793d2
2021-01-09 05:07:14 +00:00
libraryupgrader 541a65aeff build: Updating npm dependencies
* grunt-stylelint: 0.15.0 → 0.16.0
* stylelint-config-wikimedia: 0.10.1 → 0.10.3

Change-Id: I504a59835c8e5ac7d4f246dfaa68a209dca80743
2020-11-22 16:48:12 +00:00
Volker E 9d1db05e7b Fix storybook dev-script imports
* Correctly pull down mediawiki.skin.variables.less
* Update source of clock icon in last modified bar
* Update query selectors
* Push to docs.wikimedia.org so things do not break so easily
again

Bug: T263270
Change-Id: I93cb7e53fb78d3a03019583b3b0c69a057088044
2020-09-25 11:47:09 -07:00
Ed Sanders 1cea342431 build: Update eslint-config-wikimedia to 0.17.0
Change-Id: I0b917095bc84ff8b3a745f2d8b1e8541b9817bc8
2020-09-16 13:48:53 +00:00
jdlrobson 7408d87465 Run bundlesize tests on every commit
It was added in 7340485014
but for some reason never enabled.

This was supposed to be protecting us from performance regressions
by monitoring the size of modules in the repo. It appears to be
broken both locally and on Jenkins when run on the due to some changes
in Phabricator.

Since then we've added bundle size tests to Vector using a different
more foolproof method. I think that method is more preferable as it
also provides coverage for JS and icons so the
associated script is copied over and used in Minerva
and activated on all commits.

Bug: T259080
Change-Id: I9ba2dcc060ec09d91814c947d5be3f71b055a66e
2020-07-28 23:43:38 +00:00
libraryupgrader bfd7129ced build: Updating grunt to 1.2.1
Change-Id: Ic7c65bd8f950dfbe9651294fd83a25e2b9b89f25
2020-07-21 22:23:47 +00:00
libraryupgrader 101730e31d build: Updating eslint-config-wikimedia to 0.16.2
Change-Id: I4d39554093ea299f5e86c26ebec89ff0b135bf81
2020-07-16 04:24:20 +00:00
Edward Tadros 49c8c0f0e1 Selenium: Update WebdriverIO to version 6
Bug: T255447
Change-Id: I51daa462187983462d7f6529e5f76f47b21e5ef2
2020-07-13 07:38:36 -07:00
Edward Tadros c8ce9608c0 Selenium: Update WebdriverIO to version 5
Bug: T255447
Change-Id: I4cdde3070a6dc4e742ea37a78a17dfd556103dd6
2020-06-30 08:27:05 -07:00
Ed Sanders a32999e641 build: Update eslint-config-wikimedia to 0.16.0
Change-Id: Icabf6e065ed5685207731262db72faf848a0a04d
2020-06-04 08:39:32 -07:00
James D. Forrester 2ebe800f72 build: Upgrade jsdoc from 3.5.5 to 3.6.4
Principally, this is to fix the npm audit warning. No change in output that I see.

Change-Id: I6c39a6551ffd4a42fb6b26337a8bb7aa803feeb1
2020-04-27 22:22:16 +00:00
James D. Forrester 1e1436e655 build: Upgrade eslint-config-wikimedia from 0.15.1 to 0.15.3 and make pass
Change-Id: I67aff112f448b9159d286812a3b0ab27e68af5b4
2020-04-27 22:21:58 +00:00
James D. Forrester e4d9f82143 build: Upgrade stylelint-config-wikimedia from 0.10.0 to 0.10.1
Also upgrade grunt-stylelint dependency from 0.11.1 to 0.15.0

Change-Id: I7348d35997b8bb0b2792e8b97a895774b7dcdc78
2020-04-27 09:49:56 -07:00
Ed Sanders 2a52e7f15c build: Update linters
Change-Id: Iaf0c760d5a69bc41505b782ab9f05864c37c7196
2020-04-13 16:05:10 +01:00
Volker E d92fffb4a1 build: Update svgo to latest v1.3.2
* svgo: 0.7.2 → 1.3.2

Bug: T246544
Change-Id: I1a1ea9c1c90a4676384ae8aae8a846d09ca13637
2020-03-05 16:25:02 -08:00
jdlrobson 1200cb5279 Storybook added to MinervaNeue
For now just adding story entries for footer element and last modified.

Bug: T244106
Change-Id: Ib36f22f9b9d805f87fc074d12473497cfaf91b79
2020-03-03 15:22:34 +00:00
jdlrobson 7340485014 Monitor render blocking css bundle sizes
Add a script that builds CSS for Minerva using lessc than measures
their bundlesize.

This will give us added protection to large increases in bundlesize
that can lead to performance regressions.

Change-Id: I2e5e55ad10fac7ecb5a8c19ccdf3cc54de59b75d
2020-01-29 11:03:59 +00:00
Ed Sanders 49dd1fd71a build: Update eslint-config-wikimedia
Change-Id: Ic2148121161b804c3f6f41b9446fcea066f3de0d
2019-10-31 23:08:57 +00:00
Ed Sanders d54798ec6b build: Update eslint-config-wikimedia
Change-Id: Id14552b5663340ffc1e2ae02599a1df99685e464
2019-10-04 15:28:49 +00:00
jdlrobson 3ad1dfbcf5 Upgrade wdio-mediawiki and webdriverio dependencies
Change-Id: Id7c78dd22ffeccf7c4636169b08bd7781ec071f9
2019-09-19 10:08:56 -07:00
Ed Sanders 8e579c373b build: Update linters
Change-Id: Ie0983466ad0eed0a30d62f28b10efebd0f2eacba
2019-09-17 14:21:30 +01:00
James D. Forrester 7ebab3c9eb build: Upgrade wdio-cucumber-framework to get a working version of fibers
Bug: T226442
Change-Id: Ia3772f620d8bfc511c0d4259734e0ce9a092c679
2019-06-24 14:37:58 -07:00
James D. Forrester 8234fb6b81 build: Upgrade wdio-mocha-framework to be node10 compatible
Change-Id: I064af803e376271ef7fa832ec8b1e8b9e2de84ce
2019-06-03 14:58:56 -07:00
James D. Forrester 7eabe08806 build: Upgrade eslint-config-wikimedia 0.12.0, drop grunt-jsonlint
Bug: T220036
Change-Id: Ia081ff5429547cf1c7e6d6e8b0cae94e8ca3e0ba
2019-05-06 13:52:00 -07:00
jdlrobson 6e9d56efa6 Restore category step for CI
Per T199939#5096023 use job runner to execute the job runner
as part of the test to ensure the API can return categories for
a page.

Bug: T219920
Change-Id: I467f6635fd0d80a01428f6b06a8c750430d63d6d
2019-04-23 15:56:09 +08:00
jdlrobson 9e92bdbc50 Run Minerva browser tests against the mobile domain
There doesn't seem to be an easy way to set Minerva as the
default skin for anonymous users, so this is probably the
best way to assure all actions happen in Minerva skin - not Vector
which is the default desktop skin!

Bug: T190710
Bug: T220658
Change-Id: I6912db022cdea1adad1e3842af23602e50969f63
2019-04-11 15:43:52 +00:00
jdlrobson 4a5c719031 Selenium daily job should mirror selenium-test
Follow up to Ic6d4893df172f821111c8eb4c95a5e78a809a82c
copying example of Echo

Change-Id: Idf79a72ad5d6de99e427f1a128be954efb3a9322
2019-04-10 02:25:06 +00:00
jdlrobson 9a9749603f Add missing dependency for Selenium daily job
Change-Id: I2a650b85879b1a16643064483ebdcf21d0f10497
2019-04-09 23:48:32 +00:00
jdlrobson 9fced7557f Setup the selenium daily job
Bug: T219920
Change-Id: Ic6d4893df172f821111c8eb4c95a5e78a809a82c
2019-04-09 21:28:17 +00:00
Jan Drewniak 26e413e04d Adding initial webdriver.io test
Porting first selenium test from Ruby to Node.js using the
mocha framework. Starting with `category.feature` test.

Tests are placed in a new `tests/selenium` folder with their
own eslint config.

Bug: T190710
Change-Id: Iad954405a5ae0608fd5dc90dd5dfa434b3781037
2019-04-08 16:05:22 -07:00
James D. Forrester 75a751f1c6 build: Upgrade eslint-config-wikimedia from 0.10.1 to 0.11.0
Change-Id: I36a88cbf8b468646c21d47c3b58433895e8ff31a
2019-04-04 18:01:40 +00:00
Ed Sanders 3cefa5b144 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: Ifc410d35c8e5bb2915ea2c1e8e51bc7db09f5172
2019-02-02 11:14:39 -08:00
Ed Sanders 63ead8075d build: Update eslint-config-wikimedia to 0.10.0
* Add inline exceptions for global selectors
* Exception for $.animate in scrolling code
* Fix $ prefixing in search.js
* Fix repeated selectors in search.js & toc.js
* Disable no-parse-html-literal in tests

Change-Id: Id58fe11d1e09714501a378e4ca7ed9588f02f32d
2019-01-24 17:59:40 +00:00
Ed Sanders dc5077dbae build: Update devDependencies
eslint-config-wikimedia   0.8.1  →   0.9.0
 grunt-contrib-watch       1.0.0  →   1.1.0
 grunt-stylelint          0.10.0  →  0.10.1

Change-Id: I3c8ad96f006ab4501e30d0884ae620b30f23fca8
2019-01-24 17:58:36 +00:00
Volker E f0608db19a build: Update 'stylelint-config-wikimedia' to v0.5.0 and make pass
Updates code comments and whitespacing.

Change-Id: If7665beaa2d342881483fd7a9fc0fc880768d2ef
2018-12-12 23:26:48 +00:00
Ed Sanders 04a2b27d7f build: Update linters
This exposes two broken tests:

* #setCount (Eastern Arabic numerals)
* clicking on the product of createBanner() should trigger a custom event

that were previously passing due to buggy assertions.

Change-Id: If18ad1ff9363fff65d3e347c01ce4bc0669b2a0e
2018-09-11 13:42:11 -07:00
Stephen Niedzielski 749ccf22c2 Hygiene: move JSDoc and SVGO to devDependencies
JSDoc and SVGO are development-time-only dependencies. Move them from
package dependencies to devDependencies.

Change-Id: Ifd955b84bb041c3f02cf3e6938f73ee718ea34a7
2018-07-19 08:10:56 -05:00
Jan Drewniak 503756822c Run npm test as a pre-commit hook
Adds the `pre-commit` npm package which automatically
handles git pre-commit hooks via package.json and runs
`npm run test` by default.

https://www.npmjs.com/package/pre-commit

Requires an `npm install`

Change-Id: Ia5950242bced753c42fc804fd686bc239c335aa3
2018-05-02 17:18:16 +02:00
jdlrobson eaa2692da0 Use jsdoc for generating Minerva documentation
Given the level of documentation in this repo is extremely
low now seems a good as time as any.

The resulting documentation is a vast improvement on before
grouping functions to an owner and introducing module names.

We can iterate on the documentation over time.

Bug: T138401
Change-Id: I9e787d40931d3d72a7037ce07d3ab0db8e72d825
2018-03-15 15:01:41 -07:00
James D. Forrester 227cd1d071 build: Bump run-time dependencies to latest, pin
jsdoc    3.4.2  →  3.5.5
 svgo   >=0.4.4  →  0.7.2

Change-Id: I2884c8daed3fe0e0d05c746ec6319956b742695c
2017-10-30 23:55:26 +00:00
James D. Forrester d5b4294386 build: Bump various devDependencies to latest, pin consistently
grunt                      ^1.0.1  →  1.0.1
 grunt-banana-checker       ^0.5.0  →  0.6.0
 grunt-contrib-watch        ^1.0.0  →  1.0.0
 grunt-eslint               20.0.0  → 20.1.0
 grunt-jsonlint             ^1.1.0  →  1.1.0
 grunt-notify               ^0.4.5  →  0.4.5

Change-Id: I2884c8daed3fe0e0d05c746ec6319956b742695a
2017-10-26 15:48:59 -07:00
Ed Sanders dbc5227ac8 build: Update eslint & stylelint
Change-Id: If3675588dc9b8d63ef83a3acdad242bbeb124bef
2017-08-28 14:44:30 +00:00
Antoine Musso 061019ddb2 Define npm peer dependency explicitly
npm 3 requires dependencies to be explicitly defined.

Bug: T172094
Change-Id: Ic640ccf0f577e47036d473892522ea758014fab4
2017-07-31 12:22:45 +00:00
jenkins-bot 27504d67c0 Merge "Add tooling for documentation" 2017-07-20 22:37:59 +00:00
jdlrobson efc84d2f25 Add tooling for documentation
* Add global View and Page
* Remove inheritdoc statements for globals - docs
  cannot be inherited from a class defined in another repo

Note:
you'll need to `gem install jsduck` for this to work

Bug: T170639
Change-Id: Idb3a6e9edbd45889047e7904561b84033569a689
2017-07-20 22:34:41 +00:00
Umherirrender 211a54b568 Update and run existing stylelint
stylelint is part of config, but not run by default
Also update to 0.4.1, it is the current default in many wmf extensions

Change-Id: I55f81489182628c088e362e081417514e252e6d6
2017-07-19 20:31:24 +00:00
jdlrobson 59a17fd0af Add tooling for svg size checking
also add pre-commit hook to ensure svgs are
compressed on commit

since extensions are accessible via http an .htaccess
is added to the dev-scripts folder for safety.

Bug: T170639
Change-Id: Ibcd5c29340d16c9cffc6e2eb90d33ee89b69874f
2017-07-14 11:07:08 -07:00