Commit graph

61 commits

Author SHA1 Message Date
Ed Sanders 59b3f2e0dc Avoid global variables in tests and build
Change-Id: I44dd3c3980f88e660798962c4aa0229b62760796
2017-04-29 12:37:53 +01:00
Ed Sanders afa6c518d6 Remove eslint:fix
Not very useful now rules are stable.

Change-Id: I934dbae211f4c34f9a28385b125eaba2edda191d
2017-04-28 17:08:40 +01:00
James D. Forrester bef15b7a1e Update VE core submodule to master (bfb35aaef)
New changes:
57f8064b6 tests: Enforce dm unit test coverage at 20% per file and 80% globally
6f757c670 LinkAnnotation: add a getFragment method for consistency with MWInternalLinkAnnotation
c40a3f152 Drop the classList polyfill for IE9
d1af6c6bb Update OOjs UI to v0.21.1
bfb35aaef Localisation updates from https://translatewiki.net.

Bug: T162277
Change-Id: I5146bc421bb88e56bafadccefc7bbdee106504ea
2017-04-20 09:48:46 -07:00
Ed Sanders c0e188c602 VisualDiff automated screenshots
Change-Id: I422fc459ebc41a98f46e1ff7365a8ccaea2501d2
2017-03-28 22:43:02 +01:00
Ed Sanders e7346f57eb Separate screenshot test runner from specific tests
Change-Id: Ic0eb773086aa7b6078c5095c1ad89ef3f6236019
2017-03-28 18:15:25 +01:00
Ed Sanders 2a5f29897f Mark all node files as ES6
Change-Id: I85d1ea2bf26647d04891574d1cc5a9828a5d4bbb
2017-02-03 22:26:55 +00: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
Timo Tijhof 7f613ed571 build: Change pathPrefix for eg-iframe back from '../lib' to 'lib'
Follows-up 94a7e34. The main fix there was adding the promise to
the example execution. The path change was not needed, and actually
breaks the demo, again. Only the 'docs' directory is published.
Accessing ../lib results in 404 Not Found after syncing to doc.wikimedia.org.

This is why we run 'grunt copy:jsduck', which copies those files into
the docs/ directory.

Change-Id: I2ea89bfbd980910510cbd8639f871ec931a768f1
2016-11-18 16:12:16 -08:00
Ed Sanders 94a7e34b9a build: Bring over eg-iframe fixes from core
Bug: T109170
Change-Id: Iccae8f92a19e76d6d203df68d483e0e1d8ca2c38
2016-11-18 15:17:14 -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
Željko Filipin a7e216dd94 Increase Mocha and Selenium timeout for language screenshots to 40 s
Bug: T139613
Change-Id: I06499f89f340cfda2f30d80c2f8b721b71627bac
2016-08-31 10:00:48 +00:00
jenkins-bot 912f938fea Merge "Fix language screenshots timeout error" 2016-08-22 15:06:45 +00:00
Željko Filipin 15958af7d2 Fix language screenshots timeout error
Increase Mocha and Chrome timeout from 20 to 30 seconds.

Tool groups (headings/text style/indentation/insert/page settings) needs
more than 20 seconds.

Error message: Error: timeout of 20000ms exceeded

Bug: T139613
Change-Id: Id6d943a78d7109012c2372cbd3c00e6a80ed9583
2016-08-22 14:16:00 +00:00
Željko Filipin cbccba89a0 Remove Ruby implementation of language screenshots
It is now implemented in JavaScript/Node.js.

Bug: T132574
Change-Id: I299332ac4f849b951ba24564bd0282ca0e25afd2
2016-08-22 12:19:21 +02:00
Ed Sanders c3fa707adc screenshots: Add multi-language support
Change-Id: I1da41cffd946a76e5f09097decbc0a25562c9508
2016-06-27 12:23:45 +01: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
Ed Sanders 91c990993a Fix watch path for css
Change-Id: I451c161c80b9185454b94557950f5b9bc1de117d
2016-05-20 13:55:41 +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 df49e5deb9 Remove remaining references to csslint
Change-Id: I1b5177bf746985a199bcc1ec713f886164c74760
2016-05-17 13:27:47 +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 0b39a17870 Update VE core submodule to master (18bac29)
New changes:
3e587b8 sync-gh-pages: Fix "oojs-ui-apex.vector.css" 404 Not Found
0e53633 Toolbar: Add tooltip to structure group
7f0b6f7 Remove icon properties from windows
3a612b2 Fix positioning of mobile windows

Change-Id: I2a6995e61a76abfc0f77d3301c7c76593756463c
2016-03-29 10:10:26 -07:00
James D. Forrester fe8a9eff91 build: Add grunt-tyops
Change-Id: Idb30814e69356eb2b3282fae018c142295df922f
2015-12-09 00:53:34 +00:00
David Lynch 338aaf4064 Make jsonlint ignore more node_modules
Right now jsonlint only ignores the top-level node_modules. If you've
built docs, there'll be a node_modules folder somewhere in there...
containing the highly-problematic jsonlint test suite. So, ignore all
node_modules directories no matter where they are.

Change-Id: Ie6f3b8c5749036dae60551d7f07c1ae6ab72d722
2015-10-29 12:26:47 -05: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
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 81c599ef0b Follow-up 8b7b20b9: Add new i18n directory to banana testing
Change-Id: Ic8612e9646af4a3bfd8228ef9e4fa4e8162881c9
2015-07-18 09:30:01 -05:00
James D. Forrester 049c14c6ef build: Don't run jsonlint on lib
Change-Id: Ic15cc817feaef41bd43cc222402d3c4d9898c2a4
2015-06-23 08:20:21 -07:00
Kunal Mehta f41310ab4c build: Configure jsonlint
Change-Id: I25a0010aa023bc3b70f24e9f30ffef3be88f965f
2015-06-13 01:14:38 -07:00
James D. Forrester df79ed8c4b Update VE core submodule to master (5befc34)
New changes:
3368c4c Remove some assumptions about the state of the context
79918af Move contexts to subfolder
820eaec Tests for some drag/drop functionality
e5f0e3e Convert CE surface tests to use a mock UI surface
c81dbcf Localisation updates from https://translatewiki.net.
7561ff3 Create a mock UI surface that only contains a model for model-only action tests
ad60333 Convert test timings on APIResultsQueue from seconds to milliseconds
b52d7df Table cursoring tests
3f8e821 Localisation updates from https://translatewiki.net.
9c737df Update OOjs UI to v0.11.4
5befc34 Stop using deprecated aliases for OO.ui.mixin.*

Change-Id: Ida6d4ba724686d8189975c55a18c4a6c2cfe4875
2015-06-10 12:44:55 -07:00
James D. Forrester bbfa0773a2 build: Provide a grunt fix task to auto-fix jscs failures
Change-Id: I29c978a23966adcdcbb3e5b1a95effab1ee2d38b
2015-06-03 16:44:30 -07:00
Ed Sanders 086535875f build: Bring over git-status improvements from core
Change-Id: I34a55cf0e35175ee95eb3d56aefd64733fc86c7c
2015-06-01 22:15:14 +00:00
Kunal Mehta cab1cdca0e build: Remove unused 'pkg' from Gruntfile.js
Change-Id: I43bbefe24fe753401295fa5c142f57c75cc14f30
2015-04-21 00:32:01 +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
Timo Tijhof 5813d53271 Update JSDuck config to standard jsduck.json
Also
* This way we don't need to pass the --config=jsduck.config.json
  parameter but can run plain 'jsduck' in Jenkins. Allowing it
  to use the standard job template for testing.

* Move processes=0 to jsduck.json.
  Workaround for https://github.com/senchalabs/jsduck/issues/525

* Use standard ' - Documentation' suffix, which makes the first
  part of the title render in bold (similar to how we do in OOjs
  and OOjs UI already).

Change-Id: I6c9c7a1f29df0a72dc8cd0d37a83aaef23068062
2015-03-05 23:51:53 +01:00
Timo Tijhof 46369a2969 Update VE core submodule to master (0cb3b6f)
New changes:
e6554e8 Localisation updates from https://translatewiki.net.
397a53d Localisation updates from https://translatewiki.net.
56c5937 Provide isAlignable checks for alignable nodes
2431396 ce.ContentBranchNode: Don't compare new rendering with old on first render
0131fe8 ve.ce.GeneratedContentNode: Avoid calling $.fn.add, it's slow
89f66fc Fix documentation lies about rewrap event
fb42667 Add insert/edit modes to FragmentInspector
511e0a7 Make ce.BranchNode#updateTagName do what its documentation says
626936d Localisation updates from https://translatewiki.net.
0cb3b6f build: Rename JSDuck config standard jsduck.json

Change-Id: I58d210a549ea5faa2142f716ad37c2fad9be94f5
2015-03-03 17:09:18 +01:00
Timo Tijhof 279db02d7f build: Remove stray '*' before '/**' in csslint file pattern
'**' is already recursive, and besides, with the extra '*' it
would actually miss files present in modules/ itself ('**' means
in the directory and recursively in all members).

Change-Id: I20011e0d4512200765030f38a2583be5aaf7c2d9
2014-10-11 03:21:21 +02: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 ec8d31e7ad build: Implement "git-status" task and run it in CI environment
Append this new task to the 'test' sequence in Jenkins (so that
if e.g. buildloader causes dirty diff, the build fails).

Locally this doesn't run by default, but you can mimick the
Jenkins build by running 'grunt ci' instead of 'grunt test'.

Change-Id: I7dd5417777c5a060fd9042248ece695c02c8ab41
2014-06-26 13:27:19 +02: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
Ed Sanders 7330b38ebf Fix dependencies for eg-iframe
Requires standalone to actually run, as in core.

Change-Id: I408981eb1ba12f0a447d0582b88f6b67d0e455cb
2014-05-23 16:56:53 -07: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
Roan Kattouw 2e5e7594a8 Update VE core submodule to master (19be0c1)
Also add OO.ui.ConfirmationDialog things and
update Gruntfile.js for breaking changes in VE core.

New changes:
5f1514b Localisation updates from https://translatewiki.net.
0cde22f Localisation updates from https://translatewiki.net.
ca021d8 Fix desktop dialogs
3503287 Localisation updates from https://translatewiki.net.
f02286b build: [BREAKING CHANGE] Add dependency expression
25fc053 Use message function and correct message key
a097202 Create phantom/shield nodes with methods not templates
1399844 Load dependencies in correct order
5a39c9e build: Simplify building of module dependency list
2a3871f build: Upgrade jscs and jshint
7db9b88 Localisation updates from https://translatewiki.net.
d34b2ae Update OOjs UI to v0.1.0-pre (80f1797a5c)

Change-Id: I0f23042e3cadd4614cd1dcd905287af777dd6ed3
2014-05-14 15:27:46 -07:00
Ed Sanders 6ec688f5b0 Fix watch list
Change-Id: I1f6715911ec15502b732cff7db0a33efa609b814
2014-05-06 23:12:39 +01: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
Timo Tijhof 486e9cbbed grunt: Run grunt-build as part of grunt-test and grunt-watch
Especially the latter is nice, but might as well run it as part
of test.

Change-Id: I77b9e6be3adc57565390c9881165b462f0f34b56
2014-04-04 13:48:00 -07:00
James D. Forrester 0390da9dbc Remove SyntaxHighlight code
Unused. Will move instead to the SyntaxHighlight extension.

Change-Id: If4d786b55aca45a517c098f3282ba553da0ceb9c
2014-02-20 11:59:37 -08:00
Timo Tijhof 1944b0c6f0 jsduck: Fix script loading issues with eg-iframe in production
It works locally because it can just nagivate to ../lib/ve.

In production however we need docs/ to be standalone so that we
can publish it without needing a subdirectory at:
https://docs.wikimedia.org/VisualEditor/master/.

For local usage this will be a symlink that still points to
the sibling directory (but using a symlink instead of a ../ path).
In production we can then instruct jenkins to replace that symlink
with an actual copy of lib/. As long as the generated path
references in the HTML remain the same.

Follows-up 88c4888872, which broke the publication of the docs in
Jenkins as it changed references from modules/ to ../modules/ for
the eg-iframe. This works locally, but broke in Jenkins as it was relying
on the copying of modules/ to docs/modules/ being enough to make it work).

Change-Id: I10eaa5424d172932b29774a0f03d511d555fd121
2014-01-16 20:41:20 +00: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
Roan Kattouw c41b60021d Move libraries to the lib/ directory
Didn't move unicodejs because it doesn't have its own repo
and is currently mastered in this repo

Change-Id: I14ab4bd641077d993ac235d8bcdcf8e50a1a72a7
2013-12-19 23:02:52 +01:00
Timo Tijhof a883a97b79 demo: Fix initial load and add error handling
* Check the check on first load and use if present.
* Default to first menu item.
* Handle errors.

Change-Id: I85b83050732946c8a1c9d2d30cf0c2ad11606fa2
2013-12-19 21:29:20 +01:00