WMDE-leszek has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/375399 )
Change subject: [WIP][DNM][TEST][GOAT] Mount JavaScript "libraries" as git submodules ...................................................................... [WIP][DNM][TEST][GOAT] Mount JavaScript "libraries" as git submodules Background: there are several JS libraries installed using composer in Wikibase. They contain some PHP code but it is mostly (if not only) for registering ResourceLoader modules. They are not real extensions neither PHP libraries. Instead of installing those using composer, try making each of them a git submodule in some directory. Then move the RL module definitons from those libs into Wikibase main git repo (as said before, those libs are not really extensions and have nothing to do with MW actually). This patch takes the first such lib as a proof-of-concept wild test. None of other libs does not depend on this one, so it could be dropped from composer.json and is not installed by Composer). RL modules related to tests (present in those libs too) are intentionally NOT moved. Those libs should care of running their tests themselves (WIP, see TODO below). This seems to work locally (as in JS stuff loads and does not seem to break UI). If browser tests etc pass, that might be a possible way to actually KILL the JS part of the Wikidata build step. TODOs (list hugely imcomplete): - think the structure of dirs (where put those libs, how organize the RL modules files, etc) - clean up those JS libs: make them run their JS tests themselves (WIP, close to done), remove all RL and other PHP content from them - turn those fake PHP libs into npm packages (or so) - possibly tests files of those libs should not be included in the git submodules (if there is a way to skip them) - document the relevant somewhere (how to switch git submodules to a new release, as they're not intended to be using their masters) - anything needed to be done to installation process (or commands run on CI) so those modules are initialized properly on clone, pull, etc? - probably 600 things more... Change-Id: I62e07ce35488fe7d828d483d6eddb134b72da7dd --- A .gitmodules M composer.json A view/lib/resources.php A view/lib/resources/wikibase-serialization-javascript.php A view/lib/wikibase/serialization-javascript M view/resources.php 6 files changed, 742 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/99/375399/1 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e3595cb --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "view/lib/wikibase/serialization-javascript"] + path = view/lib/wikibase/serialization-javascript + url = https://github.com/wmde/WikibaseSerializationJavaScript.git diff --git a/composer.json b/composer.json index d176f63..1a9f59c 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,6 @@ "wikibase/data-model-services": "^3.7.0", "wikibase/data-model-javascript": "^3.0.1", "wikibase/javascript-api": "^2.2.2", - "wikibase/serialization-javascript": "^2.0.8", "diff/diff": "^2.0.0", "wikimedia/purtle": "^1.0.6" }, diff --git a/view/lib/resources.php b/view/lib/resources.php new file mode 100644 index 0000000..f47bed8 --- /dev/null +++ b/view/lib/resources.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL-2.0+ + */ +return call_user_func( function() { + return array_merge( + include __DIR__ . '/resources/wikibase-serialization-javascript.php' + ); +} ); diff --git a/view/lib/resources/wikibase-serialization-javascript.php b/view/lib/resources/wikibase-serialization-javascript.php new file mode 100644 index 0000000..12e027c --- /dev/null +++ b/view/lib/resources/wikibase-serialization-javascript.php @@ -0,0 +1,727 @@ +<?php + +/** + * @license GPL-2.0+ + * @author H. Snater < mediaw...@snater.com > + * + * @codeCoverageIgnoreStart + */ +return call_user_func( function() { + + $dir = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'wikibase' . DIRECTORY_SEPARATOR . 'serialization-javascript' . DIRECTORY_SEPARATOR . 'src'; + + preg_match( + '+' . preg_quote( DIRECTORY_SEPARATOR ) . '(?:vendor|extensions)' . preg_quote( DIRECTORY_SEPARATOR ) . '.*+', + $dir, + $remoteExtPath + ); + + $moduleTemplate = [ + 'localBasePath' => $dir, + 'remoteExtPath' => '..' . $remoteExtPath[0], + ]; + + $modules = [ + + 'wikibase.serialization' => $moduleTemplate + [ + 'dependencies' => [ + 'wikibase.serialization.__namespace', + 'wikibase.serialization.DeserializerFactory', + 'wikibase.serialization.SerializerFactory', + ], + ], + + 'wikibase.serialization.__namespace' => $moduleTemplate + [ + 'scripts' => [ + '__namespace.js', + ], + 'dependencies' => [ + 'wikibase', + ], + ], + + 'wikibase.serialization.DeserializerFactory' => $moduleTemplate + [ + 'scripts' => [ + 'DeserializerFactory.js', + ], + 'dependencies' => [ + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.StrategyProvider', + + 'wikibase.serialization.ClaimDeserializer', + 'wikibase.serialization.ClaimGroupDeserializer', + 'wikibase.serialization.ClaimGroupSetDeserializer', + 'wikibase.serialization.ClaimListDeserializer', + 'wikibase.serialization.EntityDeserializer', + 'wikibase.serialization.FingerprintDeserializer', + 'wikibase.serialization.MultiTermDeserializer', + 'wikibase.serialization.MultiTermMapDeserializer', + 'wikibase.serialization.ReferenceDeserializer', + 'wikibase.serialization.ReferenceListDeserializer', + 'wikibase.serialization.SiteLinkDeserializer', + 'wikibase.serialization.SiteLinkSetDeserializer', + 'wikibase.serialization.SnakDeserializer', + 'wikibase.serialization.SnakListDeserializer', + 'wikibase.serialization.StatementDeserializer', + 'wikibase.serialization.StatementGroupDeserializer', + 'wikibase.serialization.StatementGroupSetDeserializer', + 'wikibase.serialization.StatementListDeserializer', + 'wikibase.serialization.TermDeserializer', + 'wikibase.serialization.TermMapDeserializer', + ], + ], + + 'wikibase.serialization.SerializerFactory' => $moduleTemplate + [ + 'scripts' => [ + 'SerializerFactory.js', + ], + 'dependencies' => [ + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.StrategyProvider', + + 'wikibase.serialization.ClaimGroupSerializer', + 'wikibase.serialization.ClaimGroupSetSerializer', + 'wikibase.serialization.ClaimListSerializer', + 'wikibase.serialization.ClaimSerializer', + 'wikibase.serialization.EntitySerializer', + 'wikibase.serialization.FingerprintSerializer', + 'wikibase.serialization.MultiTermMapSerializer', + 'wikibase.serialization.MultiTermSerializer', + 'wikibase.serialization.ReferenceListSerializer', + 'wikibase.serialization.ReferenceSerializer', + 'wikibase.serialization.SiteLinkSerializer', + 'wikibase.serialization.SiteLinkSetSerializer', + 'wikibase.serialization.SnakListSerializer', + 'wikibase.serialization.SnakSerializer', + 'wikibase.serialization.StatementGroupSerializer', + 'wikibase.serialization.StatementGroupSetSerializer', + 'wikibase.serialization.StatementListSerializer', + 'wikibase.serialization.StatementSerializer', + 'wikibase.serialization.TermMapSerializer', + 'wikibase.serialization.TermSerializer', + ], + ], + + 'wikibase.serialization.StrategyProvider' => $moduleTemplate + [ + 'scripts' => [ + 'StrategyProvider.js', + ], + 'dependencies' => [ + 'wikibase.serialization.__namespace', + ], + ], + + 'wikibase.serialization.ClaimGroupSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ClaimGroupSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ClaimGroup', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimListSerializer', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.ClaimGroupSetSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ClaimGroupSetSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ClaimGroupSet', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimGroupSerializer', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.ClaimListSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ClaimListSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ClaimList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimSerializer', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.ClaimSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ClaimSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Claim', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.SnakListSerializer', + 'wikibase.serialization.SnakSerializer', + ], + ], + + 'wikibase.serialization.EntitySerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/EntitySerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Entity', + 'wikibase.datamodel.Item', + 'wikibase.datamodel.Property', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ItemSerializer', + 'wikibase.serialization.PropertySerializer', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.StrategyProvider', + ], + ], + + 'wikibase.serialization.FingerprintSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/FingerprintSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Fingerprint', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.MultiTermMapSerializer', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.TermMapSerializer', + ], + ], + + 'wikibase.serialization.ItemSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ItemSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Item', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.FingerprintSerializer', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.SiteLinkSetSerializer', + 'wikibase.serialization.StatementGroupSetSerializer', + ], + ], + + 'wikibase.serialization.MultiTermMapSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/MultiTermMapSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.MultiTermMap', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.MultiTermSerializer', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.MultiTermSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/MultiTermSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.MultiTerm', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.PropertySerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/PropertySerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Item', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.FingerprintSerializer', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.StatementGroupSetSerializer', + ], + ], + + 'wikibase.serialization.ReferenceListSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ReferenceListSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ReferenceList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ReferenceSerializer', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.ReferenceSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/ReferenceSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Reference', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.SnakListSerializer', + ], + ], + + 'wikibase.serialization.Serializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/Serializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.serialization.__namespace', + ], + ], + + 'wikibase.serialization.SiteLinkSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/SiteLinkSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.SiteLink', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.SiteLinkSetSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/SiteLinkSetSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.SiteLinkSet', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.SiteLinkSerializer', + ], + ], + + 'wikibase.serialization.SnakListSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/SnakListSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.SnakList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.SnakSerializer', + ], + ], + + 'wikibase.serialization.SnakSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/SnakSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Snak', + 'wikibase.datamodel.PropertyValueSnak', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.StatementGroupSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/StatementGroupSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.StatementGroup', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.StatementListSerializer', + ], + ], + + 'wikibase.serialization.StatementGroupSetSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/StatementGroupSetSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.StatementGroupSet', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.StatementGroupSerializer', + ], + ], + + 'wikibase.serialization.StatementListSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/StatementListSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.StatementList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.StatementSerializer', + ], + ], + + 'wikibase.serialization.StatementSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/StatementSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Statement', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimSerializer', + 'wikibase.serialization.ReferenceListSerializer', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.TermMapSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/TermMapSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.TermMap', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + 'wikibase.serialization.TermSerializer', + ], + ], + + 'wikibase.serialization.TermSerializer' => $moduleTemplate + [ + 'scripts' => [ + 'Serializers/TermSerializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Term', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Serializer', + ], + ], + + 'wikibase.serialization.ClaimGroupSetDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ClaimGroupSetDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ClaimGroupSet', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimGroupDeserializer', + 'wikibase.serialization.Deserializer', + ], + ], + + 'wikibase.serialization.ClaimGroupDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ClaimGroupDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ClaimGroup', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimListDeserializer', + 'wikibase.serialization.Deserializer', + ], + ], + + 'wikibase.serialization.ClaimListDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ClaimListDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ClaimList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.StatementDeserializer', + ], + ], + + 'wikibase.serialization.ClaimDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ClaimDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Claim', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.SnakListDeserializer', + 'wikibase.serialization.SnakDeserializer', + ], + ], + + 'wikibase.serialization.Deserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/Deserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.serialization.__namespace', + ], + ], + + 'wikibase.serialization.EntityDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/EntityDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Item', + 'wikibase.datamodel.Property', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.ItemDeserializer', + 'wikibase.serialization.PropertyDeserializer', + 'wikibase.serialization.StrategyProvider', + ], + ], + + 'wikibase.serialization.FingerprintDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/FingerprintDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Fingerprint', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.MultiTermMapDeserializer', + 'wikibase.serialization.TermMapDeserializer', + ], + ], + + 'wikibase.serialization.ItemDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ItemDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Item', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.FingerprintDeserializer', + 'wikibase.serialization.SiteLinkSetDeserializer', + 'wikibase.serialization.StatementGroupSetDeserializer', + ], + ], + + 'wikibase.serialization.MultiTermDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/MultiTermDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.MultiTerm', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + ], + ], + + 'wikibase.serialization.MultiTermMapDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/MultiTermMapDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.MultiTermMap', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.MultiTermDeserializer', + ], + ], + + 'wikibase.serialization.PropertyDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/PropertyDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Property', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.FingerprintDeserializer', + 'wikibase.serialization.StatementGroupSetDeserializer', + ], + ], + + 'wikibase.serialization.ReferenceListDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ReferenceListDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.ReferenceList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.ReferenceDeserializer', + ], + ], + + 'wikibase.serialization.ReferenceDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/ReferenceDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Reference', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.SnakListDeserializer', + ], + ], + + 'wikibase.serialization.SiteLinkSetDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/SiteLinkSetDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.SiteLinkSet', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.SiteLinkDeserializer', + ], + ], + + 'wikibase.serialization.SiteLinkDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/SiteLinkDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.SiteLink', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + ], + ], + + 'wikibase.serialization.SnakListDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/SnakListDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.SnakList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.SnakDeserializer', + ], + ], + + 'wikibase.serialization.SnakDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/SnakDeserializer.js', + ], + 'dependencies' => [ + 'dataValues', + 'dataValues.values', + 'util.inherit', + 'wikibase.datamodel.PropertyNoValueSnak', + 'wikibase.datamodel.PropertySomeValueSnak', + 'wikibase.datamodel.PropertyValueSnak', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + ], + ], + + 'wikibase.serialization.StatementGroupSetDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/StatementGroupSetDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.StatementGroupSet', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.StatementGroupDeserializer', + ], + ], + + 'wikibase.serialization.StatementGroupDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/StatementGroupDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.StatementGroup', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.StatementListDeserializer', + ], + ], + + 'wikibase.serialization.StatementListDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/StatementListDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.StatementList', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.StatementDeserializer', + ], + ], + + 'wikibase.serialization.StatementDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/StatementDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Statement', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.ClaimDeserializer', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.ReferenceListDeserializer', + ], + ], + + 'wikibase.serialization.TermDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/TermDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.Term', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + ], + ], + + 'wikibase.serialization.TermMapDeserializer' => $moduleTemplate + [ + 'scripts' => [ + 'Deserializers/TermMapDeserializer.js', + ], + 'dependencies' => [ + 'util.inherit', + 'wikibase.datamodel.TermMap', + 'wikibase.serialization.__namespace', + 'wikibase.serialization.Deserializer', + 'wikibase.serialization.TermDeserializer', + ], + ], + + ]; + + return $modules; +} ); diff --git a/view/lib/wikibase/serialization-javascript b/view/lib/wikibase/serialization-javascript new file mode 160000 index 0000000..32e062f --- /dev/null +++ b/view/lib/wikibase/serialization-javascript @@ -0,0 +1 @@ +Subproject commit 32e062f7dc67c97c1abbea0a5bca854b39d2967c diff --git a/view/resources.php b/view/resources.php index 7a84056..e51899f 100644 --- a/view/resources.php +++ b/view/resources.php @@ -9,6 +9,7 @@ $wgResourceModules = array_merge( $wgResourceModules, + include __DIR__ . '/lib/resources.php', include __DIR__ . '/resources/resources.php' ); } ); -- To view, visit https://gerrit.wikimedia.org/r/375399 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I62e07ce35488fe7d828d483d6eddb134b72da7dd Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: WMDE-leszek <leszek.mani...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits