diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..b2061526 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.idea +target/ +*.iml +scalastyle-output.xml +/node_modules/ +package-lock.json \ No newline at end of file diff --git a/.textlintrc b/.textlintrc new file mode 100644 index 00000000..f653de3a --- /dev/null +++ b/.textlintrc @@ -0,0 +1,199 @@ +{ + "rules": { + "terminology": { + "defaultTerms": false, + "terms": [ + // Brands + "Airbnb", + "Android", + "AppleScript", + "AppVeyor", + "AVA", + "BrowserStack", + "Browsersync", + "Codecov", + "CodePen", + "CodeSandbox", + "DefinitelyTyped", + "EditorConfig", + "ESLint", + "FIWARE", + "GitHub", + "GraphQL", + "iOS", + "JavaScript", + "JetBrains", + "jQuery", + "LinkedIn", + "Lodash", + "MacBook", + "Markdown", + "OpenType", + "PayPal", + "PhpStorm", + "RubyMine", + "Sass", + "SemVer", + "TypeScript", + "UglifyJS", + "WebStorm", + "WordPress", + "YouTube", + ["JSDocs?", "JSDoc"], +// ["Node(?:js)?", "Node.js"], + ["React[ .]js", "React"], + ["SauceLabs", "Sauce Labs"], + ["StackOverflow", "Stack Overflow"], + ["styled ?components", "styled-components"], + ["HTTP[ /]2(?:\\.0)?", "HTTP/2"], + ["OS X", "macOS"], + ["Mac ?OS", "macOS"], + ["a npm", "an npm"], + + // ECMAScript + "ECMAScript", + ["ES2015", "ES6"], + ["ES7", "ES2016"], + + // Abbreviations + "3D", + ["3-D", "3D"], + "Ajax", + "API", + ["API['’]?s", "APIs"], + "CSS", + "GIF", + "HTML", + "HTTPS", + "IoT", + "I/O", + ["I-O", "I/O"], + "JPEG", + "MIME", + "OK", + "PaaS", + "PDF", + "PNG", + "SaaS", + "URL", + ["URL['’]?s", "URLs"], + ["an URL", "a URL"], + ["wi[- ]?fi", "Wi-Fi"], + + // Names + "McKenzie", + "McConnell", + + // Words and phrases + "ID", // http://stackoverflow.com/questions/1151338/id-or-id-on-user-interface + ["id['’]?s", "IDs"], + ["backwards compatible", "backward compatible"], + ["build system(s?)", "build tool$1"], + ["CLI tool(s?)", "command-line tool$1"], + ["he or she", "they"], + ["he/she", "they"], + ["\\(s\\)he", "they"], + ["repo\\b", "repository"], + ["smartphone(s?)", "mobile phone$1"], + ["web[- ]?site(s?)", "site$1"], + + // Single word + ["auto[- ]complete", "autocomplete"], + ["auto[- ]format", "autoformat"], + ["auto[- ]fix", "autofix"], + ["auto[- ]fixing", "autofixing"], + ["back[- ]end(\\w*)", "backend$1"], + ["bug[- ]fix(es?)", "bugfix$1"], + ["check[- ]box(es?)", "checkbox$1"], + ["code[- ]base(es?)", "codebase$1"], + ["co[- ]locate(d?)", "colocate$1"], + ["end[- ]point(s?)", "endpoint$1"], + ["e[- ]mail(s?)", "email$1"], + ["file[- ]name(s?)", "filename$1"], + ["front[- ]end(\\w*)", "frontend$1"], + ["hack[- ]a[- ]thon(s?)", "hackathon$1"], + ["host[- ]name(s?)", "hostname$1"], + ["hot[- ]key(s?)", "hotkey$1"], + ["life[- ]cycle", "lifecycle"], + ["life[- ]stream(s?)", "lifestream$1"], + ["lock[- ]file(s?)", "lockfile$1"], + ["mark-up", "markup"], // “mark up” as a verb is OK + ["meta[- ]data", "metadata"], + ["name[- ]space(s?)", "namespace$1"], + ["pre[- ]condition(s?)", "precondition$1"], + ["pre[- ]defined", "predefined"], + ["pre[- ]release(s?)", "prerelease$1"], + ["run[- ]time", "runtime"], + ["screen[- ]shot(s?)", "screenshot$1"], + ["screen[- ]?snap(s?)", "screenshot$1"], + ["sub[- ]class((?:es|ing)?)", "subclass$1"], + ["sub[- ]tree(s?)", "subtree$1"], + ["time[- ]stamp(s?)", "timestamp$1"], + ["touch[- ]screen(s?)", "touchscreen$1"], + ["user[- ]name(s?)", "username$1"], + ["walk[- ]through", "walkthrough"], + ["white[- ]space", "whitespace"], + ["wild[- ]card(s?)", "wildcard$1"], + + // Multiple words + ["change-?log(s?)", "change log$1"], + ["css-?in-?js", "CSS in JS"], + ["code-?review(s?)", "code review$1"], + ["code-?splitting", "code splitting"], + ["end-?user(s?)", "end user$1"], + ["file-?type(s?)", "file type$1"], + ["open-?source(ed?)", "open source$1"], + ["regexp?(s?)", "regular expression$1"], + ["style-?guide(s?)", "style guide$1"], + ["tree-?shaking", "tree shaking"], + ["source-?map(s?)", "source map$1"], + ["style-?sheet(s?)", "style sheet$1"], + ["user-?base", "user base"], + ["web-?page(s?)", "web page$1"], + + // Hyphenated + ["built ?in", "built-in"], + ["client ?side", "client-side"], + ["command ?line", "command-line"], + ["end ?to ?end", "end-to-end"], + ["error ?prone", "error-prone"], + ["higher ?order", "higher-order"], + ["key[/ ]?value", "key-value"], + ["server ?side", "server-side"], + ["two ?steps?", "two-step"], + ["2 ?steps?", "two-step"], + + // Starts from a lower case letter in the middle of a sentence + ["(\\w+[^.?!]\\)? )base64", "$1base64"], + ["(\\w+[^.?!]\\)? )stylelint", "$1stylelint"], + ["(\\w+[^.?!]\\)? )webpack", "$1webpack"], + ["(\\w+[^.?!]\\)? )npm", "$1npm"], + + // Typos + ["environemnt(s?)", "environment$1"], + ["pacakge(s?)", "package$1"], + ["tilda", "tilde"], + ["falsey", "falsy"] + ] + }, + "common-misspellings": true, + "write-good": { + "adverb": false, + "passive": false, + "tooWordy": false, + "weasel": false, + "so": false, + "thereIs": false + }, + "no-dead-link": { + "ignoreRedirects": true, + "ignore": [ + "mailto:*", + "https://oauth.net" + ] + } + }, + "filters": { + "comments": true + } +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000..27f898d4 --- /dev/null +++ b/package.json @@ -0,0 +1,62 @@ +{ + "name": "fiware-draco", + "version": "7.6.0", + "description": "alternative data persistence mechanism for managing the history of context. It is based on Apache NiFi", + "keywords": [ + "data-persistence", + "fiware", + "apache-nifi", + "fiware-draco" + ], + "license": "AGPL-3.0", + "repository": { + "type": "git", + "url": "https://github.com/ging/fiware-draco" + }, + "devDependencies": { + "eslint": "^5.6.0", + "eslint-config-tamia": "^6.0.1", + "eslint-plugin-prettier": "^3.0.0", + "husky": "^1.1.0", + "lint-staged": "^7.3.0", + "memfs": "2.10.1", + "prettier": "^1.16.4", + "remark-cli": "^6.0.1", + "remark-preset-lint-recommended": "^3.0.2", + "textlint": "^11.0.1", + "textlint-filter-rule-comments": "^1.2.2", + "textlint-rule-common-misspellings": "^1.0.1", + "textlint-rule-no-dead-link": "^4.4.1", + "textlint-rule-terminology": "^1.1.29", + "textlint-rule-write-good": "^1.6.2" + }, + "engines": { + "node": ">=8.6" + }, + "scripts": { + "precommit": "lint-staged", + "lint:text": "textlint 'README.md' 'docs/*.md' 'docs/**/*.md'", + "lint:md": "remark -f 'README.md' 'docs'", + "prettier:text": "prettier 'README.md' 'docs/*.md' 'docs/**/*.md' --no-config --tab-width 4 --print-width 120 --write --prose-wrap always" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.md": [ + "prettier --no-config --tab-width 4 --print-width 120 --write --prose-wrap always", + "git add" + ] + }, + "remarkConfig": { + "settings": { + "bullet": "-", + "paddedTable": true + }, + "plugins": [ + "remark-preset-lint-recommended" + ] + } +}