From fbe446e53b591fcffaf59dd1331999b13ec75528 Mon Sep 17 00:00:00 2001 From: Luuk Verhoeven Date: Thu, 14 Nov 2019 15:07:50 +0100 Subject: [PATCH] Update travis tests for Moodle 3.8 --- .eslintrc | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 6 +- version.php | 4 +- 3 files changed, 220 insertions(+), 4 deletions(-) create mode 100644 .eslintrc diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..961467d --- /dev/null +++ b/.eslintrc @@ -0,0 +1,214 @@ +{ + 'plugins': [ + 'promise', + ], + 'env': { + 'browser': true, + 'amd': true + }, + 'globals': { + 'M': true, + 'Y': true + }, + 'rules': { + // See http://eslint.org/docs/rules/ for all rules and explanations of all + // rules. + + // === Possible Errors === + 'comma-dangle': 'off', + 'no-compare-neg-zero': 'error', + 'no-cond-assign': 'error', + 'no-console': 'error', + 'no-constant-condition': 'error', + 'no-control-regex': 'error', + 'no-debugger': 'error', + 'no-dupe-args': 'error', + 'no-dupe-keys': 'error', + 'no-duplicate-case': 'error', + 'no-empty': 'warn', + 'no-empty-character-class': 'error', + 'no-ex-assign': 'error', + 'no-extra-boolean-cast': 'error', + 'no-extra-parens': 'off', + 'no-extra-semi': 'error', + 'no-func-assign': 'error', + 'no-inner-declarations': 'error', + 'no-invalid-regexp': 'error', + 'no-irregular-whitespace': 'error', + 'no-obj-calls': 'error', + 'no-prototype-builtins': 'off', + 'no-regex-spaces': 'error', + 'no-sparse-arrays': 'error', + 'no-unexpected-multiline': 'error', + 'no-unreachable': 'warn', + 'no-unsafe-finally': 'error', + 'no-unsafe-negation': 'error', + 'use-isnan': 'error', + 'valid-jsdoc': ['warn', { 'requireReturn': false, 'requireParamDescription': false, 'requireReturnDescription': false }], + 'valid-typeof': 'error', + + // === Best Practices === + // (these mostly match our jshint config) + 'array-callback-return': 'warn', + 'block-scoped-var': 'warn', + 'complexity': 'warn', + 'consistent-return': 'warn', + 'curly': 'error', + 'dot-notation': 'warn', + 'no-alert': 'warn', + 'no-caller': 'error', + 'no-case-declarations': 'error', + 'no-div-regex': 'error', + 'no-empty-pattern': 'error', + 'no-empty-function': 'warn', + 'no-eq-null': 'error', + 'no-eval': 'error', + 'no-extend-native': 'error', + 'no-extra-bind': 'warn', + 'no-fallthrough': 'error', + 'no-floating-decimal': 'warn', + 'no-global-assign': 'warn', + 'no-implied-eval': 'error', + 'no-invalid-this': 'error', + 'no-iterator': 'error', + 'no-labels': 'error', + 'no-loop-func': 'error', + 'no-multi-spaces': 'warn', + 'no-multi-str': 'error', + 'no-new-func': 'error', + 'no-new-wrappers': 'error', + 'no-octal': 'error', + 'no-octal-escape': 'error', + 'no-proto': 'error', + 'no-redeclare': 'warn', + 'no-return-assign': 'error', + 'no-script-url': 'error', + 'no-self-assign': 'error', + 'no-self-compare': 'error', + 'no-sequences': 'warn', + 'no-throw-literal': 'warn', + 'no-unmodified-loop-condition': 'error', + 'no-unused-expressions': 'error', + 'no-unused-labels': 'error', + 'no-useless-call': 'warn', + 'no-useless-escape': 'warn', + 'no-with': 'error', + 'wrap-iife': ['error', 'any'], + + // === Variables === + 'no-delete-var': 'error', + 'no-undef': 'error', + 'no-undef-init': 'error', + 'no-unused-vars': ['error', { 'caughtErrors': 'none' }], + + // === Stylistic Issues === + 'array-bracket-spacing': 'warn', + 'block-spacing': 'warn', + 'brace-style': ['warn', '1tbs'], + 'camelcase': 'warn', + 'capitalized-comments': ['warn', 'always', { 'ignoreConsecutiveComments': true }], + 'comma-spacing': ['warn', { 'before': false, 'after': true }], + 'comma-style': ['warn', 'last'], + 'computed-property-spacing': 'error', + 'consistent-this': 'off', + 'eol-last': 'off', + 'func-call-spacing': ['warn', 'never'], + 'func-names': 'off', + 'func-style': 'off', + // indent currently not doing well with our wrapping style, so disabled. + 'indent': ['off', 4, { 'SwitchCase': 1 }], + 'key-spacing': ['warn', { 'beforeColon': false, 'afterColon': true, 'mode': minimum }], + 'keyword-spacing': 'warn', + 'linebreak-style': ['error', 'unix'], + 'lines-around-comment': 'off', + 'max-len': ['error', 132], + 'max-lines': 'off', + 'max-depth': 'warn', + 'max-nested-callbacks': ['warn', 5], + 'max-params': 'off', + 'max-statements': 'off', + 'max-statements-per-line': ['warn', { max: 2 }], + 'new-cap': ['warn', { 'properties': false }], + 'new-parens': 'warn', + 'newline-after-var': 'off', + 'newline-before-return': 'off', + 'newline-per-chained-call': 'off', + 'no-array-constructor': 'off', + 'no-bitwise': 'error', + 'no-continue': 'off', + 'no-inline-comments': 'off', + 'no-lonely-if': 'off', + 'no-mixed-operators': 'off', + 'no-mixed-spaces-and-tabs': 'error', + 'no-multiple-empty-lines': 'warn', + 'no-negated-condition': 'off', + 'no-nested-ternary': 'warn', + 'no-new-object': 'off', + 'no-plusplus': 'off', + 'no-tabs': 'error', + 'no-ternary': 'off', + 'no-trailing-spaces': 'error', + 'no-underscore-dangle': 'off', + 'no-unneeded-ternary': 'off', + 'no-whitespace-before-property': 'warn', + 'object-curly-newline': 'off', + 'object-curly-spacing': 'warn', + 'object-property-newline': 'off', + 'one-var': 'off', + 'one-var-declaration-per-line': ['warn', 'initializations'], + 'operator-assignment': 'off', + 'operator-linebreak': 'off', + 'padded-blocks': 'off', + 'quote-props': ['warn', 'as-needed', {'unnecessary': false, 'keywords': true, 'numbers': true}], + 'quotes': 'off', + 'require-jsdoc': 'warn', + 'semi': 'error', + 'semi-spacing': ['warn', {'before': false, 'after': true}], + 'sort-vars': 'off', + 'space-before-blocks': 'warn', + 'space-before-function-paren': ['warn', 'never'], + 'space-in-parens': 'warn', + 'space-infix-ops': 'warn', + 'space-unary-ops': 'warn', + 'spaced-comment': 'warn', + 'unicode-bom': 'error', + 'wrap-regex': 'off', + + // === Promises === + 'promise/always-return': 'warn', + 'promise/no-return-wrap': 'warn', + 'promise/param-names': 'warn', + 'promise/catch-or-return': ['warn', {terminationMethod: ['catch', 'fail']}], + 'promise/no-native': 'warn', + 'promise/no-promise-in-callback': 'warn', + 'promise/no-callback-in-promise': 'warn', + 'promise/avoid-new': 'warn', + + // === Deprecations === + "no-restricted-properties": ['warn', { + 'object': 'M', + 'property': 'str', + 'message': 'Use AMD module "core/str" or M.util.get_string()' + }], + + }, + overrides: [ + { + files: ["**/yui/src/**/*.js"], + // Disable some rules which we can't safely define for YUI rollups. + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + 'no-unused-expressions': 'off' + } + }, + { + files: ["**/amd/src/*.js"], + // Check AMD with some slightly stricter rules. + rules: { + 'no-unused-vars': 'error', + 'no-implicit-globals': 'error' + } + } + ] +} diff --git a/.travis.yml b/.travis.yml index 601eb2b..7218e18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,14 +18,16 @@ cache: php: # PHP 5.6 gives errors because of the provider.php needs to be PHP7 - - 7.0 - - 7.1 + - 7.2 env: global: - MOODLE_BRANCH=MOODLE_32_STABLE - MOODLE_BRANCH=MOODLE_35_STABLE - MOODLE_BRANCH=MOODLE_36_STABLE + - MOODLE_BRANCH=MOODLE_37_STABLE + - MOODLE_BRANCH=MASTER + matrix: - DB=pgsql - DB=mysqli diff --git a/version.php b/version.php index bd0e3de..1d2f899 100644 --- a/version.php +++ b/version.php @@ -27,7 +27,7 @@ defined('MOODLE_INTERNAL') || die(); $plugin->component = 'availability_ipaddress'; -$plugin->version = 2019052100; -$plugin->release = 'v3.5.2'; +$plugin->version = 2019111400; +$plugin->release = '3.8.0'; $plugin->requires = 2016120500; $plugin->maturity = MATURITY_BETA; \ No newline at end of file