Skip to content

Commit bffcc27

Browse files
authored
Merge pull request #47 from wmde/npm
Prepare the library to be released as a npm package
2 parents 0e9dee6 + 09e334a commit bffcc27

19 files changed

+98
-1501
lines changed

.eslintrc.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
},
77
"globals": {
88
"dataValues": false,
9+
"module": false,
910
"util": false,
1011
"wikibase": false
1112
},

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
composer.lock
21
vendor/
32
node_modules/
3+
package-lock.json
4+
5+
.idea/

.travis.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
language: php
1+
language: node_js
22

3-
php:
4-
- 5.5
3+
node_js:
4+
- 4
5+
- 5
6+
- 6
7+
- 7
8+
- 8
59

610
sudo: false
711

812
before_script:
9-
- composer install --prefer-source
10-
- nvm install 4
13+
- npm install
1114

1215
script:
13-
- composer test
14-
- npm install && npm run eslint
16+
- npm run test
1517

1618
notifications:
1719
irc:
@@ -21,7 +23,3 @@ notifications:
2123
on_failure: always
2224
template:
2325
- "%{repository}/%{branch}/%{commit} : %{author} %{message} %{build_url}"
24-
25-
cache:
26-
directories:
27-
- $HOME/.composer/cache

README.md

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,13 @@
22

33
JavaScript library containing serializers and deserializers for the Wikibase DataModel.
44

5-
## Installation
6-
7-
The recommended way to use this library is via [Composer](http://getcomposer.org/).
8-
9-
To add this package as a local, per-project dependency to your project, simply add a
10-
dependency on `wikibase/serialization-javascript` to your project's `composer.json` file.
11-
Here is a minimal example of a `composer.json` file that just defines a dependency on
12-
version 2.0 of this package:
13-
14-
```json
15-
{
16-
"require": {
17-
"wikibase/serialization-javascript": "2.0.*"
18-
}
19-
}
20-
```
21-
225
## Release notes
236

247
### 3.0.0 (dev)
258

9+
* Made the library a pure JavaScript library.
10+
* Removed MediaWiki ResourceLoader module definitions.
11+
* Raised DataValues JS library version requirement to 0.10.0, and Wikibase Data Model JS library version requirement to 4.0.0.
2612
* Removed all serializers and deserializers for Claim collections:
2713
* Removed ClaimGroupDeserializer
2814
* Removed ClaimGroupSerializer

composer.json

Lines changed: 0 additions & 37 deletions
This file was deleted.

init.mw.php

Lines changed: 0 additions & 12 deletions
This file was deleted.

init.php

Lines changed: 0 additions & 9 deletions
This file was deleted.

karma.conf.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
module.exports = function ( config ) {
2+
config.set( {
3+
frameworks: [ 'qunit' ],
4+
5+
files: [
6+
'node_modules/jquery/dist/jquery.js',
7+
8+
// TODO: install JS dependencies using npm
9+
'node_modules/wikibase-data-values/lib/util/util.inherit.js',
10+
'node_modules/wikibase-data-values/src/dataValues.js',
11+
'node_modules/wikibase-data-values/src/DataValue.js',
12+
'node_modules/wikibase-data-values/src/values/StringValue.js',
13+
'node_modules/wikibase-data-values/src/values/UnDeserializableValue.js',
14+
'node_modules/wikibase-data-model/src/__namespace.js',
15+
'node_modules/wikibase-data-model/src/GroupableCollection.js',
16+
'node_modules/wikibase-data-model/src/Group.js',
17+
'node_modules/wikibase-data-model/src/Snak.js',
18+
'node_modules/wikibase-data-model/src/Set.js',
19+
'node_modules/wikibase-data-model/src/List.js',
20+
'node_modules/wikibase-data-model/src/*.js',
21+
22+
'src/__namespace.js',
23+
'src/Serializers/Serializer.js',
24+
'src/Serializers/*.js',
25+
'src/SerializerFactory.js',
26+
'src/StrategyProvider.js',
27+
'src/Deserializers/Deserializer.js',
28+
'src/Deserializers/*.js',
29+
'src/DeserializerFactory.js',
30+
'tests/MockEntity.js',
31+
'tests/MockEntity.tests.js',
32+
'tests/StrategyProvider.tests.js',
33+
'tests/SerializerFactory.tests.js',
34+
'tests/Serializers/*.js',
35+
'tests/Deserializers/*.js',
36+
'tests/DeserializerFactory.tests.js'
37+
],
38+
39+
port: 9876,
40+
41+
logLevel: config.LOG_INFO,
42+
browsers: [ 'PhantomJS' ]
43+
} );
44+
};

mediawiki-extension.json

Lines changed: 0 additions & 12 deletions
This file was deleted.

package.json

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,48 @@
11
{
2+
"name": "wikibase-serialization",
3+
"description": "Wikibase datamodel serialization implementation in JavaScript",
4+
"license": "GPL-2.0+",
5+
"contributors": [
6+
{
7+
"name": "H. Snater",
8+
"url": "http://www.snater.com"
9+
},
10+
{
11+
"name": "Adrian Lang",
12+
"email": "adrian.lang@wikimedia.de"
13+
}
14+
],
15+
"repository": {
16+
"type": "git",
17+
"url": "https://github.com/wmde/WikibaseSerializationJavaScript"
18+
},
19+
"bugs": {
20+
"url": "https://phabricator.wikimedia.org/"
21+
},
222
"directories": {
323
"lib": "src",
424
"test": "tests"
525
},
26+
"support": {
27+
"url": "https://phabricator.wikimedia.org/"
28+
},
29+
"dependencies": {
30+
"jquery": "^3.2.1",
31+
"wikibase-data-model": "^4.0.0",
32+
"wikibase-data-values": "^0.10.0"
33+
},
634
"devDependencies": {
735
"eslint": "^3.19.0",
8-
"eslint-config-wikimedia": "0.4.0"
36+
"eslint-config-wikimedia": "0.4.0",
37+
"karma": "^1.7.1",
38+
"karma-cli": "^1.0.1",
39+
"karma-phantomjs-launcher": "^1.0.4",
40+
"karma-qunit": "^1.2.1",
41+
"qunit": "^1.0.0"
942
},
1043
"scripts": {
11-
"eslint": "eslint ."
44+
"test": "npm run eslint && npm run run-tests",
45+
"eslint": "eslint .",
46+
"run-tests": "karma start --single-run"
1247
}
1348
}

0 commit comments

Comments
 (0)