diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..150a081 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,16 @@ +{ + "rules": { + "indent": ["error", "tab"], + "quotes": ["error", "double"], + "max-len": ["error", 250], + "curly": "error", + "camelcase": ["error", {"properties": "never"}], + "no-trailing-spaces": ["error"], + "no-irregular-whitespace": ["error"] + }, + "env": { + "browser": true, + "node": true, + "es6": true + } +} diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 0000000..db05c71 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,5 @@ +{ + "extends": "stylelint-config-standard", + "font-family-name-quotes": "double-where-recommended", + "block-no-empty": false +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..eda5ea3 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: node_js +node_js: + - "7" + - "6" + - "5.1" +before_script: + - npm install grunt-cli -g +script: +- grunt +cache: + directories: + - node_modules diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..beca4e9 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,66 @@ +module.exports = function(grunt) { + require("time-grunt")(grunt); + grunt.initConfig({ + pkg: grunt.file.readJSON("package.json"), + eslint: { + options: { + configFile: ".eslintrc.json" + }, + target: ["*.js"] + }, + stylelint: { + simple: { + options: { + configFile: ".stylelintrc" + }, + src: ["*.css"] + } + }, + jsonlint: { + main: { + src: ["package.json", "translations/*.json"], + options: { + reporter: "jshint" + } + } + }, + markdownlint: { + all: { + options: { + config: { + "default": true, + "line-length": false, + "blanks-around-headers": false, + "no-duplicate-header": false, + "no-inline-html": false, + "MD010": false, + "MD001": false, + "MD031": false, + "MD040": false, + "MD002": false, + "MD029": false, + "MD041": false, + "MD032": false, + "MD036": false, + "MD037": false, + "MD009": false, + "MD018": false, + "MD012": false, + "MD026": false, + "MD038": false + } + }, + src: ["README.md", "CHANGELOG.md", "LICENSE.txt"] + } + }, + yamllint: { + all: [".travis.yml"] + } + }); + grunt.loadNpmTasks("grunt-eslint"); + grunt.loadNpmTasks("grunt-stylelint"); + grunt.loadNpmTasks("grunt-jsonlint"); + grunt.loadNpmTasks("grunt-yamllint"); + grunt.loadNpmTasks("grunt-markdownlint"); + grunt.registerTask("default", ["eslint", "stylelint", "jsonlint", "markdownlint", "yamllint"]); +};