Add required files for an extension

Change-Id: I626e607e6ae7efc2521f9dd1da83c6fd90b0767d
这个提交包含在:
Ed Sanders 2019-10-10 14:25:11 +01:00
父节点 7c0abd30c9
当前提交 fe0a05ad49
共有 13 个文件被更改,包括 4566 次插入0 次删除

11
.eslintrc.json 普通文件
查看文件

@ -0,0 +1,11 @@
{
"extends": [
"wikimedia/client",
"wikimedia/jquery"
],
"globals": {
"mw": "readonly",
"OO": "readonly",
"ve": "readonly"
}
}

3
.stylelintrc 普通文件
查看文件

@ -0,0 +1,3 @@
{
"extends": "stylelint-config-wikimedia"
}

1
CODE_OF_CONDUCT.md 普通文件
查看文件

@ -0,0 +1 @@
The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Code_of_Conduct).

18
COPYING 普通文件
查看文件

@ -0,0 +1,18 @@
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

32
Gruntfile.js 普通文件
查看文件

@ -0,0 +1,32 @@
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
eslint: {
options: {
reportUnusedDisableDirectives: true,
extensions: [ '.js', '.json' ],
cache: true
},
all: [
'*.{js,json}',
'modules/**/*.{js,json}'
]
},
stylelint: {
all: [
'*.{css,less}',
'modules/**/*.{css,less}'
]
},
banana: conf.MessagesDirs
} );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

13
composer.json 普通文件
查看文件

@ -0,0 +1,13 @@
{
"require-dev": {
"jakub-onderka/php-parallel-lint": "1.0.0",
"mediawiki/mediawiki-codesniffer": "26.0.0"
},
"scripts": {
"test": [
"parallel-lint . --exclude vendor",
"phpcs -p -s"
],
"fix": "phpcbf"
}
}

25
extension.json 普通文件
查看文件

@ -0,0 +1,25 @@
{
"name": "DiscussionTools",
"license-name": "MIT",
"version": "0.0.0",
"namemsg": "discussiontools",
"descriptionmsg": "discussiontools-desc",
"manifest_version": 1,
"MessagesDirs": {
"DiscussionTools": [ "i18n" ]
},
"ResourceFileModulePaths": {
"localBasePath": "modules",
"remoteExtPath": "DiscussionTools/modules"
},
"ResourceModules": {
},
"QUnitTestModule": {
},
"AutoloadClasses": {
"DiscussionToolsHooks": "includes/DiscussionToolsHooks.php"
},
"Hooks": {
},
"type": "other"
}

7
i18n/en.json 普通文件
查看文件

@ -0,0 +1,7 @@
{
"@metadata": {
"authors": []
},
"discussiontools": "Discussion tools",
"discussiontools-desc": "Tools to enhance discussion pages."
}

7
i18n/qqq.json 普通文件
查看文件

@ -0,0 +1,7 @@
{
"@metadata": {
"authors": []
},
"discussiontools": "The name of the extension",
"discussiontools-desc": "{{desc|name=DiscussionTools|url=}}"
}

查看文件

@ -0,0 +1,9 @@
<?php
/**
* DiscussionTools extension hooks
*
* @file
* @ingroup Extensions
* @license MIT
*/
class DiscussionToolsHooks {}

4422
package-lock.json 自动生成的 普通文件

文件差异内容过多而无法显示 加载差异

12
package.json 普通文件
查看文件

@ -0,0 +1,12 @@
{
"name": "DiscussionTools",
"version": "0.0.0",
"devDependencies": {
"eslint-config-wikimedia": "0.14.3",
"grunt": "1.0.4",
"grunt-banana-checker": "0.8.1",
"grunt-eslint": "22.0.0",
"grunt-stylelint": "0.11.1",
"stylelint-config-wikimedia": "0.6.0"
}
}

6
tests/.eslintrc.json 普通文件
查看文件

@ -0,0 +1,6 @@
{
"extends": [
"wikimedia/qunit",
"../.eslintrc.json"
]
}