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
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
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
For now just use the rules file in lib/ve, but eventually
this will be a preset.
Change-Id: I7fd79d3e1dce37aef066d416cd969e5fff1e962f
Depends-On: I17e0d23ddfedf64985495ab35d113ea08c03b1df
* 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
So many old keys not yet removed. Oy. Also, disable disallowDuplicateTranslations
for now as this fails so much.
Change-Id: I52e1555335a6e64b1e9db541ba726cf6ce8c7dd0
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
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
Our coding style has been upstreamed and first released
in node-jscs v1.5.0 (grunt-jscs-checker v0.6.0).
Change-Id: Ifc0cfc7177946b9d11407f60e38b0177883724c5
* 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