From 15f8f4bd749aa19059f49c47b393ecdd48727418 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Mon, 9 Jul 2018 01:55:09 +0200 Subject: [PATCH 01/21] [TASK] Add nodejs 10 and remove 9 from travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 726a0b9..877f635 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ dist: trusty language: node_js node_js: - - "9" + - "10" os: - linux From 4f078f4b56c0e983bd4272eb8957c97d17ef3029 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 13 Jul 2018 17:00:25 +0200 Subject: [PATCH 02/21] [TASK] Update to eslint 5 --- package.json | 8 +- yarn.lock | 417 +++++++++++++++++++++------------------------------ 2 files changed, 176 insertions(+), 249 deletions(-) diff --git a/package.json b/package.json index 39572a7..68df1af 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "url": "https://github.com/ffrgb/meshviewer/issues" }, "devDependencies": { - "babel-eslint": "^8.2.5", + "babel-eslint": "^8.2.6", "browser-sync": "^2.24.5", - "eslint": "^5.0.0", + "eslint": "^5.1.0", "eslint-config-airbnb-es5": "^1.2.0", "eslint-config-defaults": "^9.0.0", "eslint-plugin-react": "^7.10.0", @@ -21,7 +21,7 @@ "gulp-cache-bust": "^1.3.0", "gulp-cli": "^2.0.1", "gulp-environments": "^0.1.2", - "gulp-eslint": "^4.0.2", + "gulp-eslint": "^5.0.0", "gulp-htmlmin": "^4.0.0", "gulp-inject": "^4.3.2", "gulp-jsonminify": "^1.1.0", @@ -51,7 +51,7 @@ "leaflet": "^1.3.1", "moment": "^2.22.2", "navigo": "^7.1.2", - "node-polyglot": "^2.2.2", + "node-polyglot": "^2.3.0", "promise-polyfill": "^8.0.0", "rbush": "^2.0.2", "requirejs": "^2.3.5", diff --git a/yarn.lock b/yarn.lock index ba9c7f7..3812991 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,13 +79,13 @@ to-fast-properties "^2.0.0" "@gulp-sourcemaps/identity-map@1.X": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz#cfa23bc5840f9104ce32a65e74db7e7a974bbee1" + version "1.0.2" + resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz#1e6fe5d8027b1f285dc0d31762f566bccd73d5a9" dependencies: acorn "^5.0.3" css "^2.2.1" normalize-path "^2.1.1" - source-map "^0.5.6" + source-map "^0.6.0" through2 "^2.0.3" "@gulp-sourcemaps/map-sources@1.X": @@ -134,10 +134,6 @@ ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - ajv-keywords@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" @@ -149,7 +145,7 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.1.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -159,8 +155,8 @@ ajv@^5.2.3, ajv@^5.3.0: json-schema-traverse "^0.3.0" ajv@^6.0.1, ajv@^6.5.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.1.tgz#88ebc1263c7133937d108b80c5572e64e1d9322d" + version "6.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360" dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -448,21 +444,25 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" autoprefixer@^8.0.0: - version "8.6.3" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.3.tgz#1d38a129e6a4582a565b6570d16f2d7d3de9cbf9" + version "8.6.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.5.tgz#343f3d193ed568b3208e00117a1b96eb691d4ee9" dependencies: browserslist "^3.2.8" - caniuse-lite "^1.0.30000856" + caniuse-lite "^1.0.30000864" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^6.0.22" + postcss "^6.0.23" postcss-value-parser "^3.2.3" aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" -aws4@^1.2.1: +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.2.1, aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" @@ -473,7 +473,7 @@ axios@0.17.1: follow-redirects "^1.2.5" is-buffer "^1.1.5" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -481,15 +481,15 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-eslint@^8.2.5: - version "8.2.5" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.5.tgz#dc2331c259d36782aa189da510c43dedd5adc7a3" +babel-eslint@^8.2.6: + version "8.2.6" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" dependencies: "@babel/code-frame" "7.0.0-beta.44" "@babel/traverse" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" babylon "7.0.0-beta.44" - eslint-scope "~3.7.1" + eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" babylon@7.0.0-beta.44: @@ -543,8 +543,8 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" dependencies: tweetnacl "^0.14.3" @@ -756,13 +756,9 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000856: - version "1.0.30000858" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000858.tgz#f6f203a9128bac507136de1cf6cfd966d2df027c" - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" +caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864: + version "1.0.30000865" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz#70026616e8afe6e1442f8bb4e1092987d81a2f25" caseless@~0.12.0: version "0.12.0" @@ -974,13 +970,17 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" -combined-stream@^1.0.5, combined-stream@~1.0.5: +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: delayed-stream "~1.0.0" -commander@2.15.x, commander@^2.2.0, commander@^2.8.1, commander@^2.9.0, commander@~2.15.0: +commander@2.16.x, commander@^2.2.0, commander@^2.8.1, commander@~2.16.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" + +commander@~2.15.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" @@ -1056,14 +1056,6 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -1475,8 +1467,8 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" electron-to-chromium@^1.3.47: - version "1.3.50" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz#7438b76f92b41b919f3fbdd350fbd0757dacddf7" + version "1.3.52" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz#d2d9f1270ba4a3b967b831c40ef71fb4d9ab5ce0" encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" @@ -1662,7 +1654,7 @@ eslint-plugin-react@^7.10.0: jsx-ast-utils "^2.0.1" prop-types "^15.6.2" -eslint-scope@^3.7.1, eslint-scope@~3.7.1: +eslint-scope@3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: @@ -1676,6 +1668,10 @@ eslint-scope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" @@ -1718,52 +1714,9 @@ eslint@^2.7.0: text-table "~0.2.0" user-home "^2.0.0" -eslint@^4.0.0: - version "4.19.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" - dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" - chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.1.0" - eslint-scope "^3.7.1" - eslint-visitor-keys "^1.0.0" - espree "^3.5.4" - esquery "^1.0.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" - imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^7.0.0" - progress "^2.0.0" - regexpp "^1.0.1" - require-uncached "^1.0.3" - semver "^5.3.0" - strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "4.0.2" - text-table "~0.2.0" - -eslint@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.0.0.tgz#3576704f7377aca072da69c00862277c5fe57153" +eslint@^5.0.1, eslint@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.1.0.tgz#2ed611f1ce163c0fb99e1e0cda5af8f662dff645" dependencies: ajv "^6.5.0" babel-code-frame "^6.26.0" @@ -1772,6 +1725,7 @@ eslint@^5.0.0: debug "^3.1.0" doctrine "^2.1.0" eslint-scope "^4.0.0" + eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" espree "^4.0.0" esquery "^1.0.1" @@ -1779,7 +1733,7 @@ eslint@^5.0.0: file-entry-cache "^2.0.0" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.5.0" + globals "^11.7.0" ignore "^3.3.3" imurmurhash "^0.1.4" inquirer "^5.2.0" @@ -1804,7 +1758,7 @@ eslint@^5.0.0: table "^4.0.3" text-table "^0.2.0" -espree@^3.1.6, espree@^3.5.4: +espree@^3.1.6: version "3.5.4" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" dependencies: @@ -1823,10 +1777,10 @@ esprima@^2.6.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" -esquery@^1.0.0, esquery@^1.0.1: +esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" dependencies: @@ -1932,11 +1886,11 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.0: +extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" -external-editor@^2.0.4, external-editor@^2.1.0: +external-editor@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" dependencies: @@ -2113,12 +2067,12 @@ flush-write-stream@^1.0.2: readable-stream "^2.0.4" follow-redirects@^1.2.5: - version "1.5.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77" + version "1.5.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.1.tgz#67a8f14f5a1f67f962c2c46469c79eaec0a90291" dependencies: debug "^3.1.0" -for-each@^0.3.2: +for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" dependencies: @@ -2160,6 +2114,14 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -2272,8 +2234,8 @@ generate-object-property@^1.1.0: is-property "^1.0.0" get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" get-stdin@^4.0.1: version "4.0.1" @@ -2388,7 +2350,7 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -globals@^11.0.1, globals@^11.1.0, globals@^11.5.0: +globals@^11.1.0, globals@^11.7.0: version "11.7.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" @@ -2503,13 +2465,13 @@ gulp-environments@^0.1.2: gulp-if "^2.0.1" yargs "^5.0.0" -gulp-eslint@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gulp-eslint/-/gulp-eslint-4.0.2.tgz#18a2a6768e4404cbf3e203239cb57474168fa606" +gulp-eslint@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gulp-eslint/-/gulp-eslint-5.0.0.tgz#2a2684095f774b2cf79310262078c56cc7a12b52" dependencies: - eslint "^4.0.0" + eslint "^5.0.1" fancy-log "^1.3.2" - plugin-error "^1.0.0" + plugin-error "^1.0.1" gulp-htmlmin@^4.0.0: version "4.0.0" @@ -2691,14 +2653,9 @@ har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" har-validator@~4.2.1: version "4.2.1" @@ -2707,6 +2664,13 @@ har-validator@~4.2.1: ajv "^4.9.1" har-schema "^1.0.5" +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -2798,20 +2762,20 @@ homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" html-minifier@^3.0.3: - version "3.5.16" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.16.tgz#39f5aabaf78bdfc057fe67334226efd7f3851175" + version "3.5.19" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.19.tgz#ed53c4b7326fe507bc3a1adbcc3bbb56660a2ebd" dependencies: camel-case "3.0.x" clean-css "4.1.x" - commander "2.15.x" + commander "2.16.x" he "1.1.x" param-case "2.1.x" relateurl "0.2.x" - uglify-js "3.3.x" + uglify-js "3.4.x" htmlparser2@3.9.x, htmlparser2@^3.9.1: version "3.9.2" @@ -2858,6 +2822,14 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + iconv-lite@0.4.23, iconv-lite@^0.4.17, iconv-lite@^0.4.4: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" @@ -2940,25 +2912,6 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - inquirer@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" @@ -3031,8 +2984,8 @@ is-builtin-module@^1.0.0: builtin-modules "^1.0.0" is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" is-data-descriptor@^0.1.4: version "0.1.4" @@ -3126,7 +3079,7 @@ is-my-ip-valid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: +is-my-json-valid@^2.10.0: version "2.17.2" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" dependencies: @@ -3162,12 +3115,6 @@ is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - dependencies: - is-number "^4.0.0" - is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -3287,14 +3234,18 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" js-base64@^2.1.8: - version "2.4.5" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" + version "2.4.6" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.6.tgz#1d49f618bef43630cd191f4e122447acfdb947d8" js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.11.0, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4, js-yaml@^3.9.1: +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + +js-yaml@^3.11.0, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" dependencies: @@ -3643,10 +3594,10 @@ lodash@^4.0.0, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" loose-envify@^1.0.0, loose-envify@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" dependencies: - js-tokens "^3.0.0" + js-tokens "^3.0.0 || ^4.0.0" loud-rejection@^1.0.0: version "1.6.0" @@ -3918,15 +3869,14 @@ nan@^2.10.0, nan@^2.9.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" define-property "^2.0.2" extend-shallow "^3.0.2" fragment-cache "^0.2.1" - is-odd "^2.0.0" is-windows "^1.0.2" kind-of "^6.0.2" object.pick "^1.3.0" @@ -3946,7 +3896,7 @@ navigo@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/navigo/-/navigo-7.1.2.tgz#f543098ae5cbc5763b926742b5047ffb68a187e2" -needle@^2.2.0: +needle@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" dependencies: @@ -3989,22 +3939,22 @@ node-gyp@^3.3.1: tar "^2.0.0" which "1" -node-polyglot@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/node-polyglot/-/node-polyglot-2.2.2.tgz#1a3f76d7392f836ea0823836ede817e6ea6ec26c" +node-polyglot@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/node-polyglot/-/node-polyglot-2.3.0.tgz#e97cc9354e87e648f04858647c6e3be38ad36ce1" dependencies: - for-each "^0.3.2" - has "^1.0.1" + for-each "^0.3.3" + has "^1.0.3" string.prototype.trim "^1.1.2" - warning "^3.0.0" + warning "^4.0.1" node-pre-gyp@^0.10.0: - version "0.10.2" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.2.tgz#e8945c20ef6795a20aac2b44f036eb13cf5146e3" + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" - needle "^2.2.0" + needle "^2.2.1" nopt "^4.0.1" npm-packlist "^1.1.6" npmlog "^4.0.2" @@ -4021,8 +3971,8 @@ node-rest-client@^1.4.1: xml2js ">=0.2.4" node-sass@^4.8.3: - version "4.9.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.0.tgz#d1b8aa855d98ed684d6848db929a20771cc2ae52" + version "4.9.2" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.2.tgz#5e63fe6bd0f2ae3ac9d6c14ede8620e2b8bdb437" dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -4039,7 +3989,7 @@ node-sass@^4.8.3: nan "^2.10.0" node-gyp "^3.3.1" npmlog "^4.0.0" - request "~2.79.0" + request "2.87.0" sass-graph "^2.2.4" stdout-stream "^1.4.0" "true-case-path" "^1.0.2" @@ -4116,7 +4066,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -oauth-sign@~0.8.1: +oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -4381,6 +4331,10 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + pify@^2.0.0, pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4405,7 +4359,7 @@ plugin-error@^0.1.2: arr-union "^2.0.1" extend-shallow "^1.1.2" -plugin-error@^1.0.0, plugin-error@^1.0.1: +plugin-error@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" dependencies: @@ -4437,7 +4391,7 @@ postcss-value-parser@^3.2.3: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" -postcss@^6.0.1, postcss@^6.0.22: +postcss@^6.0.1, postcss@^6.0.23: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" dependencies: @@ -4528,14 +4482,14 @@ qs@6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" -qs@~6.3.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@~6.5.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + quickselect@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" @@ -4690,7 +4644,7 @@ regexp.prototype.flags@^1.2.0: dependencies: define-properties "^1.1.2" -regexpp@^1.0.1, regexpp@^1.1.0: +regexpp@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" @@ -4747,6 +4701,31 @@ replace-homedir@^1.0.0: is-absolute "^1.0.0" remove-trailing-separator "^1.1.0" +request@2.87.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + "request@>=2.9.0 <2.82.0": version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -4774,31 +4753,6 @@ replace-homedir@^1.0.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4909,16 +4863,6 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" @@ -4933,7 +4877,7 @@ rxjs@^5.5.2: dependencies: symbol-observable "1.0.1" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -5247,7 +5191,7 @@ source-map@^0.4.2: dependencies: amdefine ">=0.0.4" -source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -5490,17 +5434,6 @@ symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" -table@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" - dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" - table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -5666,7 +5599,7 @@ to-through@^2.0.0: dependencies: through2 "^2.0.3" -tough-cookie@~2.3.0: +tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: @@ -5700,10 +5633,6 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -5729,11 +5658,11 @@ uglify-js@3.3.x: commander "~2.15.0" source-map "~0.6.1" -uglify-js@^3.0.5: - version "3.4.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.1.tgz#006da540dc25e9319d106a99a5ef1d24ae04ce60" +uglify-js@3.4.x, uglify-js@^3.0.5: + version "3.4.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.4.tgz#92e79532a3aeffd4b6c65755bdba8d5bad98d607" dependencies: - commander "~2.15.0" + commander "~2.16.0" source-map "~0.6.1" ultron@~1.1.0: @@ -5832,10 +5761,8 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" use@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" - dependencies: - kind-of "^6.0.2" + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" user-home@^2.0.0: version "2.0.0" @@ -5861,9 +5788,9 @@ uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -uuid@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +uuid@^3.0.0, uuid@^3.1.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" v8flags@^3.0.1: version "3.1.1" @@ -5949,9 +5876,9 @@ vinyl@^2.0.0, vinyl@^2.1.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" -warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" +warning@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.1.tgz#66ce376b7fbfe8a887c22bdf0e7349d73d397745" dependencies: loose-envify "^1.0.0" From e75d865fbfa63f563c2862fa834dad5f6e6bbca1 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 13 Jul 2018 20:08:23 +0200 Subject: [PATCH 03/21] [TASK] Update github issue templates --- .../bug_report.md} | 11 +++++++++- .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) rename .github/{ISSUE_TEMPLATE.md => ISSUE_TEMPLATE/bug_report.md} (87%) create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/bug_report.md similarity index 87% rename from .github/ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE/bug_report.md index ef479a6..a3c1fad 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,3 +1,9 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + @@ -13,7 +19,7 @@ -## Steps to Reproduce (for bugs) +## Steps to Reproduce 1. @@ -31,3 +37,6 @@ * Browser Name and version: * Operating System and version (desktop or mobile): * Link to your project: + +## Screenshots + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..237e35c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + + + + +## Is your feature request related to a problem? Please describe. + + +## Describe the solution you'd like + + +## Describe alternatives you've considered + + +## Additional context + From 51be472ce4fa49d952176a376a90706fc9fd4b50 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 13 Jul 2018 21:53:01 +0200 Subject: [PATCH 04/21] [BUGFIX] Use polygot 2.2 with AMD support --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 68df1af..69f7348 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "leaflet": "^1.3.1", "moment": "^2.22.2", "navigo": "^7.1.2", - "node-polyglot": "^2.3.0", + "node-polyglot": "2.2.2", "promise-polyfill": "^8.0.0", "rbush": "^2.0.2", "requirejs": "^2.3.5", diff --git a/yarn.lock b/yarn.lock index 3812991..868fbc6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2072,7 +2072,7 @@ follow-redirects@^1.2.5: dependencies: debug "^3.1.0" -for-each@^0.3.3: +for-each@^0.3.2: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" dependencies: @@ -3939,14 +3939,14 @@ node-gyp@^3.3.1: tar "^2.0.0" which "1" -node-polyglot@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/node-polyglot/-/node-polyglot-2.3.0.tgz#e97cc9354e87e648f04858647c6e3be38ad36ce1" +node-polyglot@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/node-polyglot/-/node-polyglot-2.2.2.tgz#1a3f76d7392f836ea0823836ede817e6ea6ec26c" dependencies: - for-each "^0.3.3" - has "^1.0.3" + for-each "^0.3.2" + has "^1.0.1" string.prototype.trim "^1.1.2" - warning "^4.0.1" + warning "^3.0.0" node-pre-gyp@^0.10.0: version "0.10.3" @@ -5876,9 +5876,9 @@ vinyl@^2.0.0, vinyl@^2.1.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" -warning@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.1.tgz#66ce376b7fbfe8a887c22bdf0e7349d73d397745" +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" dependencies: loose-envify "^1.0.0" From 20a8c4583ae8bd6be7f9497811f4492048213d1a Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 20 Jul 2018 16:42:56 +0200 Subject: [PATCH 05/21] [TASK] Update leaflet map to 1.3.3 --- package.json | 2 +- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 69f7348..7f6dd91 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "d3-force": "^1.1.0", "d3-selection": "^1.3.0", "d3-zoom": "^1.7.1", - "leaflet": "^1.3.1", + "leaflet": "^1.3.3", "moment": "^2.22.2", "navigo": "^7.1.2", "node-polyglot": "2.2.2", diff --git a/yarn.lock b/yarn.lock index 868fbc6..50ca326 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1887,8 +1887,8 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: is-extendable "^1.0.1" extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" external-editor@^2.1.0: version "2.2.0" @@ -3234,8 +3234,8 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" js-base64@^2.1.8: - version "2.4.6" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.6.tgz#1d49f618bef43630cd191f4e122447acfdb947d8" + version "2.4.8" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.8.tgz#57a9b130888f956834aa40c5b165ba59c758f033" js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" @@ -3383,9 +3383,9 @@ lead@^1.0.0: dependencies: flush-write-stream "^1.0.2" -leaflet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.3.1.tgz#86f336d2fb0e2d0ff446677049a5dc34cf0ea60e" +leaflet@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.3.3.tgz#5c8f2fd50e4a41ead93ab850dcd9e058811da9b9" levn@^0.3.0, levn@~0.3.0: version "0.3.0" @@ -3772,15 +3772,15 @@ micromatch@^3.0.4: snapdragon "^0.8.1" to-regex "^3.0.2" -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" +mime-db@~1.35.0: + version "1.35.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47" mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + version "2.1.19" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0" dependencies: - mime-db "~1.33.0" + mime-db "~1.35.0" mime@1.4.1: version "1.4.1" @@ -5659,8 +5659,8 @@ uglify-js@3.3.x: source-map "~0.6.1" uglify-js@3.4.x, uglify-js@^3.0.5: - version "3.4.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.4.tgz#92e79532a3aeffd4b6c65755bdba8d5bad98d607" + version "3.4.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.5.tgz#650889c0766cf0f6fd5346cea09cd212f544be69" dependencies: commander "~2.16.0" source-map "~0.6.1" From 02e02f9219682169aea6c4a62b28e5de60dcce60 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Sun, 22 Jul 2018 14:44:34 +0200 Subject: [PATCH 06/21] [BUGFIX] URL router can fail at high load --- lib/proportions.js | 2 +- scss/modules/_proportion.scss | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/proportions.js b/lib/proportions.js index 74702de..8e69761 100644 --- a/lib/proportions.js +++ b/lib/proportions.js @@ -60,7 +60,7 @@ define(['d3-interpolate', 'snabbdom', 'utils/version', 'filters/genericnode', 'h var filter = new Filter(_.t(name), d[2], d[0], d[3]); - var a = V.h('a', { props: { href: '#' }, on: { click: addFilter(filter) } }, d[0]); + var a = V.h('a', { on: { click: addFilter(filter) } }, d[0]); var th = V.h('th', a); var td = V.h('td', V.h('span', { diff --git a/scss/modules/_proportion.scss b/scss/modules/_proportion.scss index 754dde8..f08530b 100644 --- a/scss/modules/_proportion.scss +++ b/scss/modules/_proportion.scss @@ -22,4 +22,8 @@ min-width: 1.5em; padding: .25em .5em; } + + a { + cursor: pointer; + } } From 81a26b556087cad844e5d8b51b88fe2b84eaed5a Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Sun, 22 Jul 2018 15:30:09 +0200 Subject: [PATCH 07/21] [!!!][TASK] Indexable urls --- lib/utils/router.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/utils/router.js b/lib/utils/router.js index 3831cd8..03e00eb 100644 --- a/lib/utils/router.js +++ b/lib/utils/router.js @@ -82,10 +82,10 @@ define(['Navigo'], function (Navigo) { } } - var router = new Navigo(null, true); + var router = new Navigo(null, true, '#!'); router - .on(/^\/?#?\/([\w]{2})?\/?(map|graph)?\/?([a-f\d]{12})?([a-f\d\-]{25})?\/?(?:(\d+)\/(-?[\d.]+)\/(-?[\d.]+))?$/, customRoute) + .on(/^\/?#?!?\/([\w]{2})?\/?(map|graph)?\/?([a-f\d]{12})?([a-f\d\-]{25})?\/?(?:(\d+)\/(-?[\d.]+)\/(-?[\d.]+))?$/, customRoute) .on({ '*': function () { router.fullUrl(); @@ -93,7 +93,7 @@ define(['Navigo'], function (Navigo) { }); router.generateLink = function generateLink(data, full, deep) { - var result = '#'; + var result = '#!'; if (full) { data = Object.assign({}, state, data); @@ -119,7 +119,7 @@ define(['Navigo'], function (Navigo) { }; router.getLang = function getLang() { - var lang = location.hash.match(/^\/?#\/([\w]{2})\//); + var lang = location.hash.match(/^\/?#!?\/([\w]{2})\//); if (lang) { state.lang = language.getLocale(lang[1]); return lang[1]; From bfb11117440f610b2e26715d511c89ea87d6d70c Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Wed, 25 Jul 2018 23:46:32 +0200 Subject: [PATCH 08/21] [TASK] Improve night colors --- scss/night.scss | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scss/night.scss b/scss/night.scss index 38a7adf..12590b8 100644 --- a/scss/night.scss +++ b/scss/night.scss @@ -2,13 +2,17 @@ @import 'modules/variables'; @import 'custom/variables'; -$color-white: #111; +$color-white: #1c1c13; $color-black: #fefefe; $color-map-background: #0d151c; +$color-online: lighten($color-online, 25%); + html { //@import 'modules/base'; - body { + body, + textarea, + input { background: $color-white; color: lighten($color-black, 100); } @@ -18,6 +22,15 @@ html { border-bottom-color: lighten($color-white, 10%); } + a { + color: $color-online; + text-decoration: none; + + &:focus { + color: darken($color-online, 15%); + } + } + //@import 'modules/leaflet'; .leaflet-container { background: $color-map-background; From 4fd4e27a8b05f352aeb16f4455c1c238663b1239 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 27 Jul 2018 20:02:19 +0200 Subject: [PATCH 09/21] [TASK] Add GeoJSON support JSON needs to be added as array in config.js oder config.default.js It needs a json and a option part (for style) e.g. geo: [ { json: [ { 'type': 'Feature', 'geometry': { 'type': 'Polygon', 'coordinates': [ [ [ 12.04925537109375, 49.036517514836994 ], [ 12.033462524414062, 49.021660359632115 ], [ 12.058181762695312, 48.99553703238219 ], [ 12.11311340332031, 49.001843917978526 ], [ 12.122726440429686, 49.03381654386847 ], [ 12.04925537109375, 49.036517514836994 ] ] ] } } ], option: { style: { color: '#e23535', weight: 5, opacity: 0.4, fillColor: '#6de922', fillOpacity: 0.1 } } } ] --- lib/map.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/map.js b/lib/map.js index 6d43efc..f0698ea 100644 --- a/lib/map.js +++ b/lib/map.js @@ -84,6 +84,12 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet', 'map/activ map.on('dragend', saveView); map.on('contextmenu', contextMenuOpenLayerMenu); + if (config.geo) { + [].forEach.call(config.geo, function (geo) { + L.geoJSON(geo.json, geo.option).addTo(map); + }); + } + button.init(); layerControl = L.control.layers(baseLayers, [], { position: 'bottomright' }); From 25212adb81ffcea73c45c61bcb30f2ea30a2f876 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Tue, 31 Jul 2018 23:21:37 +0200 Subject: [PATCH 10/21] [TASK] Add optional fullscreen mode --- assets/icons/fonts/icon.ttf | Bin 3780 -> 0 bytes assets/icons/fonts/icon.woff | Bin 2712 -> 0 bytes assets/icons/fonts/icon.woff2 | Bin 1908 -> 0 bytes assets/icons/fonts/meshviewer.ttf | Bin 0 -> 4332 bytes assets/icons/fonts/meshviewer.woff | Bin 0 -> 2948 bytes assets/icons/fonts/meshviewer.woff2 | Bin 0 -> 2336 bytes assets/icons/icon.scss | 8 +++++--- config.default.js | 2 ++ lib/gui.js | 15 +++++++++++++-- lib/utils/helper.js | 18 ++++++++++++++++++ locale/de.json | 3 ++- locale/en.json | 3 ++- 12 files changed, 42 insertions(+), 7 deletions(-) delete mode 100644 assets/icons/fonts/icon.ttf delete mode 100644 assets/icons/fonts/icon.woff delete mode 100644 assets/icons/fonts/icon.woff2 create mode 100644 assets/icons/fonts/meshviewer.ttf create mode 100644 assets/icons/fonts/meshviewer.woff create mode 100644 assets/icons/fonts/meshviewer.woff2 diff --git a/assets/icons/fonts/icon.ttf b/assets/icons/fonts/icon.ttf deleted file mode 100644 index cd41d4d0dd2fb8b978372baf8d72c5fa9f6a7cd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 zcmdrPYit{7ac0-{dN*r3ekW;Sdu`Wln>dg4D@`Bqwb!&%ML6Y1s$Ky*v6J|k#F3px z3k_#+1+}6Q6}ldWuG~e3P_N~oAOr|bpn$~vKo#^y3!DHERrdpaaY=d-(n%@vtshOL zL&tB{{`Q-hZ)SF8zM1)U0Rg}S72qK~H1ymj7k+Z|5rFwEqP8D@_Sg^{0|Vh#2={&J z(>-eHOPMbM;2FY4#%Ho~7k~HSJ;MJ%VC2KkTMm8zO&k#b z?!SHS8;#iqK3vCj!i`W})?_qFca=ae)3o!_X_OWi&|Cve5;a(H&;HJcby-9$FisK85b9mogB(9Z|w z;VPtPPSc&uDd;46ntl|-+GqzPi0uKdLG9$j8sS~UuLBuiL$_hvXxcDs?B0lO?%h1M zncJM-{L|(?w-&d)w)Ohf%GP(bzQ6V3MO{Gs{p=KH4iOm|E_ zGQDPsnH2do`6YQ?F3V$bPR=&{v}Pew|36)5Xaoo-@K3^2m#%tT$Nt}EKRio0_Is3Z z9}eMVd>!B6g4|*59QQJJkC*v9e42lOf0_Rk1p+CD0=SHS14=@BGSPz}3mP0=bPZx6 z{Ks2@;1R^TJbzatKtTARAbO0#176}E2!dD8k{Brq16Zl*z;K8pN!~$vNLv#3F(snF zl#uX$QGzUwagJ)Oi;VJzLp>OeC1cS!33I@RtAnX9TqsgdB%Xo_8 zns}SU$wuj%WRy9{#y4?X&@wC=pX6X|L zPK&4dnV}%;I7YJbY9=%q6?g;19(Ts>>0MB?Eqg!=)w;p&{T8Aq?c7@%s-R z3mfkpNKem^o}!RBy6k#hxSbQ%f4p9aT z(}8_sLkBz_ee+&#Tc%r4x)od-Qlppm?lHIq52bzTwBl}2lomJ3LF(GLM*2+Phy4^g zH-!#aO;V;A^xa5zDvdBJQ7x>P5S}8kx@8ivV#kR8uiOWS)l4sh^lw# zX>lh}5HwZ+pC9J=VNp2E^QVP#79Dqp=lAnEU9%t#>vY4y^F%sGB#!5-yvQ>)o;3ls zcT~M}=J6n~7}E9x!cHZwSK`XOOlB3=wy&dadws6={odZ&DvP;}&ZP{lQq5ImC|iOBk9_L zv`QAHC^y%rKRK(piGglbj`S3#m7b$eE3(qF*_LaYZ&$2Q%F`&`7}W>50{T%~YpV_S z(S6k>%QpE3+xPaY@4;2)u3gSn+x9!!@_?bbGR0Xp~Su)w2LrAATgttqwJcPb@qnpU@)RgDaAy*tHB14=naV8=5!)a*t>KU=BO_zHJFE!)KRK*9r1jx2J7jmcWbbL z=~xum}Z$mS~g!X7c5!#X^25Pw;6XO~L|9LzXR_&QC5(X9*aBBFw_PHkXJa zPpPXyH}ujxK;xqnS65`$5n)PM!gqh|e<;)xy$(PE7;;gT)n~;xHLbb5-!kvf)v)+%uA%{HbP>%)_(1;>R z*hKGOCNxvuZbmEG(2fptqDvm1$}g6Rvytii#Js7FlnRqm^ZZ<4R<~4`DDe4GYu9?)_st2(oJ{vLQ##s Q7Wcb{-uwe&*!d0jA3_O<_W%F@ diff --git a/assets/icons/fonts/icon.woff b/assets/icons/fonts/icon.woff deleted file mode 100644 index 03e724034622df36da164c59145c9ea5912e9dea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2712 zcmZWrc{tSD8~-v)VH#seWlKpV!i-Q^8w`~-%h;O{lWmG&#I;R~eG6laaFyZS>)K){ zX>5Zcp{r~q`_iC>N|yP3-TUY7JkRGj=lz^_f6nuq_nsvNV`*z^2>^n5fDiyKxE#Q< zzyJR-#9-tAfaf3pKz{+i!T7X=s%Q+x)*L+Zf!dNFq{$728zx4^7?1;X0T~c-fFZzV zX`_k)IRj8O1%Wdt!4=*j;{8D`0hAwrey2klBN<+vcn<&&I0|yAAT$NDr%!l+B*^XC zNrN~AS>uIx5raZN4%7wCgHVG$hCCh%>&1ay9(oU#6&4zZ+jGk^iI4ysrI%ga9$c zdl_ZUSGB98on!Hs?IPQ+$(Ah&i(1&;E*c2kUBw?ujl(-OP7p|BH`K%5%q-&0;~nOo zcay?r*1e_oHHO^6xw*y~04IXcsq zGKcY6PUbSJy5ruhZ$-_&FNVhMVjjImqG+FHiHrpb;dD4sgw4up7 ztV;9G4$rZiKKS$3gM>S^lFq8ZL3xE?A~HwV!C4LcS3VJa9$X`{FS!<-x5%pPT8?C? z-(y^MDrASD8NGu<4PD<$uJCQQ*ThD)#fUd4e><2+_GC4>y1M4qvPW6mZV@$@QtcJZ z&NxS$ydN#K7A19C%r8@hVDndd`6x`gJ*^HqikzoB8&v3%GRv#No%!H?m3$T3d-vL- zFWUw4q5WDH=o-fZRRiF6XxsITM%xj@$D+>uN!_1LRtJ)R@Jy@ai=ZNY zsGE{wsw`>jU^h(?odsTve*evOI{j=+1uXGg9hGFSqB3|klx}iCa+E;5Rk{eb%Un9h z<5ADvtmuqt(_c9A;#Mv*_M;F~CvIly1le$^jof`-iZ*?V*DRGAgib_L^{!relmajF zZGufppL&v~56w`cDk{qv3Ywpm_wM-Au;kHX0wCqKPW>Z*k21|<#>@Gq(gFrcn^YBz z+Xwym7GXEKZtYzDYjm~PIO)AoFnJK06n1-WcJp|f@Mqd~k^QM8wL2X>YoynPBT;2%*0*9f%SXUWp9-R>g3u);)OO^SkPmsO@-t z2?;GgB%Tlu8R=a~-kWG18DX)uMvQs%>CHN0QT=MLLbd0VDXlFpHBqXZXoOz%{g&#@Uzv*dA0=f-m)LaD*ATR99NrY_so!oldltK; z=(b>p)Hq{xF5edRGomVUBaxS{qs7o_|iiW>Gd2yF&9Z zvdCInmr_!alG;?#(AeD6&`{cxLVJF-sx3S-_gH$^r=A^NncXoip)xQR+}ac#<~*=2 zoHMXTS@e2)0$9FCB@5@Q=^}ch3LXv*Yuzpyw*PZ@)Uzn~qxd=O*V`>e<2{n*IlfYb z(&k2@2GJw}K59-U2D=kMxy&9NXWXu1 z#0E4izYY=6+YvaD7C(b9Vbs6NZnzgb#x9D}Ys%a>n;@;nGUm+y-ins<<7c#*pOQ3? znA>LQt!c#ti(~;06+6Sw8K}U+R^f#XUQ-WN=q@J>laO z%U2J3AJfd7Y;}0`(2u_T#E<_-*#1GJs_=3TErce|VD$6@<)eJd$K3;h9`b)%=Ha9T zE4?gpq;d+hx&Bi|`FUvRRYOMI3ia)VZ4}m|e>D0^zqNY$bp|}^#*N=*)fDADO&a|bRU%qq zUsLI-KAP`GG_`!+r?AGH$^xo_ZA@pBg*`rvRQ~v=P;i*3I%HH#*OD9&d(jwhRlHY# z-f85SDS5bz?55=~5)5y!HRCE=FUvyZNvA`ONCP z%ROcqwun2nF)F5#kw7$z?uZmrEZ<;S+S7KWFr=w301#4m3x~sb0MY7=$!}s7m7c4b zMGpeDFAlo>cjtk_O+nlRpa`5hjt^}uN8sTc1^AKwe&qYM1b18^llh9-w%C!!Vlt=T zPhO%-QBT#>)Q~kK6!Sh1-HUiIU(i0ao-ud*=u8Y(_~-`n6a*sga-SE0;svz+J~aGa z4g?DB7!(6VG(l#O(Ob%}1C*!m7~Th69Zb+vzT0Fqz2&%_zGT$UjyOkg&Zd{XQtTF~ zvOTdI`f-83_(+r+CzO+0!{uIKG41|D*!K_g4Rj22{m5EV`K0jCq(v#@J?G7=#&q^V ze(!LPO{Yyy7Bj0;Y~Tg|GWvHOc_~PxQye(42>O{^*v|*78*pbQ7e`NT5nECI>PQMR zd-BNXHgA3?KkGn>FvSH9t+@bL>k3W&+e1)4oXKRCbaw*02AcAab2wfA>B92^^yLmV z*d6Buvfb%WHO-p0}TLJ0f5AQ?_<+-@3b2r zV)bK?f{8bbD|4fVM#j+S&w#k1;-aEGOY}o#|9}7~*5xGKbO1@BNT0Y{ls#nR{$wzG zd!F5=yw21X*)uW=f$QMRWJ7vV7|dFo;`=5OoWmFKq6#F;*CHByFMEL}-3%feI;Y^T zJYX`FQSJsgGxYM()Z&MLa#2_D^U^L1ZS3lFr|(sTGvECpyxFgYBb6KmtpdLUD#dqL zJ-}z@CUGUX_VbTPziNK{L{}C3YVsKy%0F38@ZMvspe&Q0)-?NRVJA0k(CcpYS2W*@ jPxXENN2U3r(Q)%gV7t_i{@*(z7(i2CUSRoY0RR60O0Ux+ diff --git a/assets/icons/fonts/icon.woff2 b/assets/icons/fonts/icon.woff2 deleted file mode 100644 index 6237616aab64af385fde716d472dcfe925b9e42a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1908 zcmV-)2aEW3Pew8T0RR9100(pc4FCWD01m_e00$fZ0RR9100000000000000000000 z0000#Mn+Uk92y`7Rse%y5eN#7e2Xv(G5`TK0we=C1Rw>2CkKLD8{iAbj?qh}OgP~L zNjhQR#KZUd{eJC(c@mxOks*mi(+rK!Ux-+L5h#gJ#G6jHfA8hz_xInXe=d@eyStF( z!IDthh!QeHDo#~Mk&1%19@E__*?rFml&T~ZkuMYEiF>Zb+Q+*$!F^|_9~v6_8ETrm zd+OqzJVZi<(3x+Y7&*+dATITwe=x}rvAXLKdmjVveC5gO4numi0$tA{L8NpL8IXWT zfQ~>;5z~+tz#{MQUxp2JiM#*1DzS1vbj4IzF?}uk8if=~ znVY6Lj3q;YtU6OD=_K9cQsO)yUQN^j1h0t{Q2O%(J|`-b zgO+vSaWte(bB6Tbw=XJ8EEQ=MBB{w_G8ylmqk}f4smU}&8Xa~|SCA^K)aqoKaUO#e z7%K?HzEeoO-r@Tq)e9L{eN7h(V{!5ak4 zfha&z@QI}OoPQ=f;o$HuEK-(;N&d}KaYQ=?Td&<`nPsg6V%4Fup!wDi9Ln0=MU{lu z&39ouJHj(z!3QJ(cfe;1^SZHE=;FHxqO!{n5#v1vk9qy?`8M5;W#OzSeUtb7YBCfe z44b`L@20a&?Um36is@Q8ejQ29V`Uv)fa{d_yaa_5a(T|;1GJck!G{H-<4B2*`u{TeDk1S*~C6?PZ=*6%^gQHDwy|+*JOHyv66=E7wOI0 z=1@53E~w6ur_ufBG#NM-fO!2J$(GKM6|qZWz8B|OMWl>bym(AXW>Kb2GE$-Z;H{cH zM_TOmpaMd5@6{;-?Yjcgm2>>~vhtzp-%O7G?d7kGnQYnOHW7jGH^!NZc5kNDx74! z+(P5?^%-oWqd=xFuMpOO&z!0zRis|k)=X6#oo6x^O!{zA z0nF;umw99=6{H=S41L21hIvbK*@4>T7%%CY&<^AV_FvE&l0CEPxox-k8rD}BOq|I8 zj^~ptEi$}}UUa!kcjpPVef5~X7EeI`GTqbOPIDZ6{(O+;;A*?eA5>C7S0Jbl=H;Qc zD79Wqy@fjT9YH;e>4|7)#{OiIQB+(fy&6CXvZEEf2kTSJg`0hK-2B#nfB=J&Gwv@| z4gXEiBmr_EoaNQ=A+>OQG>qo;m{AFR4(GY3P7s~+h9y`JuL7%}CDg81t^>@f^( zM;K5Mv;4jY=rWXSYDDk=ra(=zFrZz?!I%<~UP_@#u8mL)y9G4}pH|eukuu5>Ri|Q& z;6Xwu6QrgX0x}xiAjf#HehQ5rt>jV7uTDUTsJB~Ify4c3|Bvw&23Y0cQ)`8#aLAh^ zy864L_XN%#-$dYK>z36dfilA{#V3n@@4!iYd5 zqL31)P#U6<8ohutNQ)TK<@eN8tzJdv#8MSb@UAIc6Idmy4|oGoPooDftpc0Z8*A4X zoutL^VIssRnaUXBH`ih*l@rXd3i3OKV!hiqYrS4i)p-6g_XN)h6}cU0q|##PE{>&# u8{N2?7GoC)trM0000xba>bR diff --git a/assets/icons/fonts/meshviewer.ttf b/assets/icons/fonts/meshviewer.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96878e608f694eeee32befab8470ae4a7eb1f708 GIT binary patch literal 4332 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 NLJT9rztDGR{|54%3zYx> literal 0 HcmV?d00001 diff --git a/assets/icons/fonts/meshviewer.woff b/assets/icons/fonts/meshviewer.woff new file mode 100644 index 0000000000000000000000000000000000000000..9f3e44ce8c1a1de6f5d3b94d0346a26ec3388fea GIT binary patch literal 2948 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 G0000~6?!fJ literal 0 HcmV?d00001 diff --git a/assets/icons/icon.scss b/assets/icons/icon.scss index a3ec26b..212f775 100644 --- a/assets/icons/icon.scss +++ b/assets/icons/icon.scss @@ -7,9 +7,9 @@ $cache-breaker: unique-id(); font-family: 'ionicons'; font-style: normal; font-weight: normal; - src: url('fonts/icon.woff2?rel=#{$cache-breaker}') format('woff2'), - url('fonts/icon.woff?rel=#{$cache-breaker}') format('woff'), - url('fonts/icon.ttf?rel=#{$cache-breaker}') format('truetype'); + src: url('fonts/meshviewer.woff2?rel=#{$cache-breaker}') format('woff2'), + url('fonts/meshviewer.woff?rel=#{$cache-breaker}') format('woff'), + url('fonts/meshviewer.ttf?rel=#{$cache-breaker}') format('truetype'); } [class^='ion-'], @@ -49,3 +49,5 @@ $cache-breaker: unique-id(); @include icon('arrow-resize', '\f264'); @include icon('arrow-left-c', '\f108'); @include icon('arrow-right-c', '\f10b'); +@include icon('full-enter', '\e901'); +@include icon('full-exit', '\e900'); diff --git a/config.default.js b/config.default.js index e34d567..cb4a61b 100644 --- a/config.default.js +++ b/config.default.js @@ -6,6 +6,8 @@ module.exports = function () { 'nodeZoom': 18, 'labelZoom': 13, 'clientZoom': 15, + 'fullscreen': true, + 'fullscreenFrame': true, 'nodeAttr': [ // value can be a node attribute (1 depth) or a a function in utils/node with prefix show { diff --git a/lib/gui.js b/lib/gui.js index 19c2a2c..f4b7d4a 100644 --- a/lib/gui.js +++ b/lib/gui.js @@ -1,10 +1,10 @@ define(['d3-interpolate', 'map', 'sidebar', 'tabs', 'container', 'legend', 'linklist', 'nodelist', 'simplenodelist', 'infobox/main', 'proportions', 'forcegraph', 'title', 'about', 'datadistributor', - 'filters/filtergui', 'filters/hostname'], + 'filters/filtergui', 'filters/hostname', 'helper'], function (d3Interpolate, Map, Sidebar, Tabs, Container, Legend, Linklist, Nodelist, SimpleNodelist, Infobox, Proportions, ForceGraph, - Title, About, DataDistributor, FilterGUI, HostnameFilter) { + Title, About, DataDistributor, FilterGUI, HostnameFilter, helper) { 'use strict'; return function (language) { @@ -77,6 +77,17 @@ function (d3Interpolate, Map, Sidebar, Tabs, Container, Legend, Linklist, buttons.appendChild(buttonToggle); + if (config.fullscreen || config.fullscreenFrame && window.frameElement) { + var buttonFullscreen = document.createElement('button'); + buttonFullscreen.classList.add('ion-full-enter'); + buttonFullscreen.setAttribute('aria-label', _.t('button.fullscreen')); + buttonFullscreen.onclick = function onclick() { + helper.fullscreen(buttonFullscreen); + }; + + buttons.appendChild(buttonFullscreen); + } + var title = new Title(); var header = new Container('header'); diff --git a/lib/utils/helper.js b/lib/utils/helper.js index 6371721..fd698b9 100644 --- a/lib/utils/helper.js +++ b/lib/utils/helper.js @@ -176,5 +176,23 @@ define({ } } ctx.fill(); + }, + fullscreen: function fullscreen(btn) { + if (!document.fullscreenElement) { + var fel = document.firstElementChild; + var func = fel.requestFullscreen + || fel.webkitRequestFullScreen + || fel.msRequestFullscreen; + func.call(fel); + btn.classList.add('ion-full-exit'); + } else { + func = document.exitFullscreen + || document.webkitexitFullscreen + || document.msexitFullscreen; + if (func) { + func.call(document); + btn.classList.add('ion-full-enter'); + } + } } }); diff --git a/locale/de.json b/locale/de.json index de06b9e..7a69241 100644 --- a/locale/de.json +++ b/locale/de.json @@ -59,7 +59,8 @@ "button": { "switchView": "Ansicht wechseln", "location": "Koordinaten wählen", - "tracking": "Lokalisierung" + "tracking": "Lokalisierung", + "fullscreen": "Vollbildmodus wechseln" }, "momentjs": { "calendar": { diff --git a/locale/en.json b/locale/en.json index ecaf07b..23f438d 100644 --- a/locale/en.json +++ b/locale/en.json @@ -59,7 +59,8 @@ "button": { "switchView": "Switch view", "location": "Pick coordinates", - "tracking": "Localisation" + "tracking": "Localisation", + "fullscreen": "Toggle fullscreen" }, "momentjs": { "calendar": { From e1d3a3d7b2bdfccd717be345dae5015a81bc9b58 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Wed, 1 Aug 2018 16:05:50 +0200 Subject: [PATCH 11/21] [BUGFIX] Fullscreen firefox legacy & chrome --- lib/utils/helper.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/utils/helper.js b/lib/utils/helper.js index fd698b9..29070b7 100644 --- a/lib/utils/helper.js +++ b/lib/utils/helper.js @@ -178,17 +178,17 @@ define({ ctx.fill(); }, fullscreen: function fullscreen(btn) { - if (!document.fullscreenElement) { + if (!document.fullscreenElement && !document.webkitFullscreenElement && !document.mozFullScreenElement) { var fel = document.firstElementChild; var func = fel.requestFullscreen || fel.webkitRequestFullScreen - || fel.msRequestFullscreen; + || fel.mozRequestFullScreen; func.call(fel); btn.classList.add('ion-full-exit'); } else { func = document.exitFullscreen - || document.webkitexitFullscreen - || document.msexitFullscreen; + || document.webkitExitFullscreen + || document.mozCancelFullScreen; if (func) { func.call(document); btn.classList.add('ion-full-enter'); From 3311e70296513e97e6cef685479fc8255ddb2869 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Wed, 1 Aug 2018 21:16:41 +0200 Subject: [PATCH 12/21] [BUGFIX] Fullscreen icon switch --- lib/utils/helper.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/utils/helper.js b/lib/utils/helper.js index 29070b7..429f4eb 100644 --- a/lib/utils/helper.js +++ b/lib/utils/helper.js @@ -184,6 +184,7 @@ define({ || fel.webkitRequestFullScreen || fel.mozRequestFullScreen; func.call(fel); + btn.classList.remove('ion-full-enter'); btn.classList.add('ion-full-exit'); } else { func = document.exitFullscreen @@ -191,6 +192,7 @@ define({ || document.mozCancelFullScreen; if (func) { func.call(document); + btn.classList.remove('ion-full-exit'); btn.classList.add('ion-full-enter'); } } From 2a7e1cdaa623a39b74ab17e28e05b575440fddf7 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Thu, 2 Aug 2018 00:58:50 +0200 Subject: [PATCH 13/21] [TASK] No startup browser --- gulp/config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/gulp/config.js b/gulp/config.js index f6c5fa8..9306dd9 100644 --- a/gulp/config.js +++ b/gulp/config.js @@ -13,6 +13,7 @@ module.exports = function () { clean: [build + '/*.map', build + '/vendor', build + '/main.css'], autoprefixer: ['> 1% in DE'], browsersync: { + open: false, server: { baseDir: build }, From 2c6303d8207001a87f700f4125078484136e4750 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Thu, 2 Aug 2018 01:15:19 +0200 Subject: [PATCH 14/21] [TASK] Add dynamic title to offline html and multiple metatags --- assets/faviconData.json | 2 +- gulp/tasks/html.js | 13 ++++++++++++- html/index.html | 10 +++++----- html/offline.html | 2 +- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/assets/faviconData.json b/assets/faviconData.json index 1960bb0..f851d58 100644 --- a/assets/faviconData.json +++ b/assets/faviconData.json @@ -1 +1 @@ -{"result":{"status":"success"},"favicon":{"package_url":"https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/favicon_package_v0.16.zip","files_urls":["https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/android-chrome-192x192.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/android-chrome-512x512.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/apple-touch-icon.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/browserconfig.xml","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/favicon-16x16.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/favicon-32x32.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/favicon.ico","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-144x144.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-150x150.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-310x150.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-310x310.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-70x70.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/safari-pinned-tab.svg","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/site.webmanifest"],"html_code":"\n\n\n\n\n\n\n\n\n\n\n","compression":"true","overlapping_markups":["link[rel=\"apple-touch-icon\"]","meta[name=\"apple-mobile-web-app-title\"]","link[rel=\"shortcut\"]","link[rel=\"shortcut icon\"]","link[rel=\"icon\",sizes=\"16x16\"]","link[rel=\"icon\",sizes=\"32x32\"]","meta[name=\"msapplication-TileColor\"]","meta[name=\"msapplication-TileImage\"]","meta[name=\"msapplication-config\"]","meta[name=\"application-name\"]","link[rel=\"manifest\"]","meta[name=\"theme-color\"]","link[rel=\"mask-icon\"]"]},"files_location":{"type":"path","path":"."},"preview_picture_url":"https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/favicon_preview.png","version":"0.16"} \ No newline at end of file +{"result":{"status":"success"},"favicon":{"package_url":"https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/favicon_package_v0.16.zip","files_urls":["https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/android-chrome-192x192.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/android-chrome-512x512.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/apple-touch-icon.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/browserconfig.xml","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/favicon-16x16.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/favicon-32x32.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/favicon.ico","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-144x144.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-150x150.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-310x150.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-310x310.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/mstile-70x70.png","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/safari-pinned-tab.svg","https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/package_files/site.webmanifest"],"html_code":"\n\n\n\n\n\n\">\n\">\n\n\n\n","compression":"true","overlapping_markups":["link[rel=\"apple-touch-icon\"]","meta[name=\"apple-mobile-web-app-title\"]","link[rel=\"shortcut\"]","link[rel=\"shortcut icon\"]","link[rel=\"icon\",sizes=\"16x16\"]","link[rel=\"icon\",sizes=\"32x32\"]","meta[name=\"msapplication-TileColor\"]","meta[name=\"msapplication-TileImage\"]","meta[name=\"msapplication-config\"]","meta[name=\"application-name\"]","link[rel=\"manifest\"]","meta[name=\"theme-color\"]","link[rel=\"mask-icon\"]"]},"files_location":{"type":"path","path":"."},"preview_picture_url":"https://realfavicongenerator.net/files/ed9ef5a59ae048602fb9a5b74436696e43a575ce/favicon_preview.png","version":"0.16"} diff --git a/gulp/tasks/html.js b/gulp/tasks/html.js index e93a743..9d7947d 100644 --- a/gulp/tasks/html.js +++ b/gulp/tasks/html.js @@ -20,7 +20,9 @@ var stringify = function (obj) { module.exports = function (gulp, plugins, config, env) { return function html() { return gulp.src(env.production() ? config.build + '/*.html' : 'html/*.html') + .pipe(plugins.realFavicon.injectFaviconMarkups(JSON.parse(fs.readFileSync(config.faviconData)).favicon.html_code)) .pipe(plugins.inject(gulp.src(['config.js']), { + removeTags: true, starttag: '', transform: function () { delete require.cache[require.resolve('../../config.default')]; @@ -34,8 +36,17 @@ module.exports = function (gulp, plugins, config, env) { ';'; } })) + .pipe(plugins.inject(gulp.src(['config.js']), { + removeTags: true, + starttag: '', + transform: function () { + delete require.cache[require.resolve('../../config.default')]; + delete require.cache[require.resolve('../../config')]; + var buildConfig = Object.assign({}, require('../../config.default')(), require('../../config')()); + return buildConfig.siteName; + } + })) .pipe(env.production(plugins.kyhInlineSource({ compress: false }))) - .pipe(plugins.realFavicon.injectFaviconMarkups(JSON.parse(fs.readFileSync(config.faviconData)).favicon.html_code)) .pipe(plugins.cacheBust({ type: 'timestamp' })) diff --git a/html/index.html b/html/index.html index 9b700d4..aa1d51c 100644 --- a/html/index.html +++ b/html/index.html @@ -5,8 +5,8 @@ - - + + @@ -17,11 +17,11 @@ - - + + - + diff --git a/html/offline.html b/html/offline.html index 3226a2a..52f63f4 100644 --- a/html/offline.html +++ b/html/offline.html @@ -2,7 +2,7 @@ - Freifunk Regensburg e.V. - Meshviewer + <!-- inject:title --><!-- endinject --> From d29bb31311dc08b75df4492368ecdf82dfeff366 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Thu, 2 Aug 2018 01:58:41 +0200 Subject: [PATCH 15/21] [TASK] Remove localStorage --- lib/utils/language.js | 8 +------- lib/utils/router.js | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/utils/language.js b/lib/utils/language.js index 1435406..b9e88a6 100644 --- a/lib/utils/language.js +++ b/lib/utils/language.js @@ -21,13 +21,8 @@ define(['polyglot', 'moment', 'helper'], function (Polyglot, moment, helper) { router.fullUrl({ lang: event.target.value }, false, true); } - function setLocale(lang) { - localStorage.setItem('language', getLocale(lang)); - location.reload(); - } - function getLocale(input) { - var language = input || localStorage.getItem('language') || navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage; + var language = input || navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage; var locale = config.supportedLocale[0]; config.supportedLocale.some(function (item) { if (language.indexOf(item) !== -1) { @@ -69,7 +64,6 @@ define(['polyglot', 'moment', 'helper'], function (Polyglot, moment, helper) { return { init: init, getLocale: getLocale, - setLocale: setLocale, languageSelect: languageSelect }; }; diff --git a/lib/utils/router.js b/lib/utils/router.js index 03e00eb..e35bf96 100644 --- a/lib/utils/router.js +++ b/lib/utils/router.js @@ -54,7 +54,7 @@ define(['Navigo'], function (Navigo) { }; if (lang && lang !== state.lang && lang === language.getLocale(lang)) { - language.setLocale(lang); + location.reload(); } if (!init || viewValue && viewValue !== state.view) { From e1aa15205522d4a998609881e6b2d4e7f7dcf047 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Thu, 2 Aug 2018 02:14:31 +0200 Subject: [PATCH 16/21] [BUGFIX] Gulp html inject order --- gulp/tasks/html.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulp/tasks/html.js b/gulp/tasks/html.js index 9d7947d..5a1b405 100644 --- a/gulp/tasks/html.js +++ b/gulp/tasks/html.js @@ -20,6 +20,7 @@ var stringify = function (obj) { module.exports = function (gulp, plugins, config, env) { return function html() { return gulp.src(env.production() ? config.build + '/*.html' : 'html/*.html') + .pipe(env.production(plugins.kyhInlineSource({ compress: false }))) .pipe(plugins.realFavicon.injectFaviconMarkups(JSON.parse(fs.readFileSync(config.faviconData)).favicon.html_code)) .pipe(plugins.inject(gulp.src(['config.js']), { removeTags: true, @@ -46,7 +47,6 @@ module.exports = function (gulp, plugins, config, env) { return buildConfig.siteName; } })) - .pipe(env.production(plugins.kyhInlineSource({ compress: false }))) .pipe(plugins.cacheBust({ type: 'timestamp' })) From 9c596531e281128c5c5fbb1e41837a6217ce768b Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 3 Aug 2018 20:08:08 +0200 Subject: [PATCH 17/21] [TASK] Optimize code --- lib/datadistributor.js | 3 +-- lib/map.js | 28 ++++++++++++---------------- lib/utils/language.js | 2 +- lib/utils/version.js | 5 +---- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/lib/datadistributor.js b/lib/datadistributor.js index ea0bf75..385f65a 100644 --- a/lib/datadistributor.js +++ b/lib/datadistributor.js @@ -97,8 +97,7 @@ define(['filters/nodefilter'], function (NodeFilter) { setData: setData, addFilter: addFilter, removeFilter: removeFilter, - watchFilters: watchFilters, - refresh: refresh + watchFilters: watchFilters }; }; }); diff --git a/lib/map.js b/lib/map.js index f0698ea..c00669e 100644 --- a/lib/map.js +++ b/lib/map.js @@ -27,29 +27,25 @@ define(['map/clientlayer', 'map/labellayer', 'map/button', 'leaflet', 'map/activ document.querySelector('.leaflet-control-layers').classList.add('leaflet-control-layers-expanded'); } + function mapActiveArea() { + map.setActiveArea({ + position: 'absolute', + left: sidebar.getWidth() + 'px', + right: 0, + top: 0, + bottom: 0 + }); + } + function setActiveArea() { - setTimeout(function () { - map.setActiveArea({ - position: 'absolute', - left: sidebar.getWidth() + 'px', - right: 0, - top: 0, - bottom: 0 - }); - }, 300); + setTimeout(mapActiveArea, 300); } var el = document.createElement('div'); el.classList.add('map'); map = L.map(el, options); - map.setActiveArea({ - position: 'absolute', - left: sidebar.getWidth() + 'px', - right: 0, - top: 0, - bottom: 0 - }); + mapActiveArea(); var now = new Date(); config.mapLayers.forEach(function (item, i) { diff --git a/lib/utils/language.js b/lib/utils/language.js index b9e88a6..3e72b1a 100644 --- a/lib/utils/language.js +++ b/lib/utils/language.js @@ -22,7 +22,7 @@ define(['polyglot', 'moment', 'helper'], function (Polyglot, moment, helper) { } function getLocale(input) { - var language = input || navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage; + var language = input || navigator.languages && navigator.languages[0] || navigator.language; var locale = config.supportedLocale[0]; config.supportedLocale.some(function (item) { if (language.indexOf(item) !== -1) { diff --git a/lib/utils/version.js b/lib/utils/version.js index 6a8cf86..32fe792 100644 --- a/lib/utils/version.js +++ b/lib/utils/version.js @@ -50,10 +50,7 @@ define(function () { var ca = a.split(''); var cb = b.split(''); var diff = this.findIndex(ca, function (c, index) { - if (cb[index] && c === cb[index]) { - return false; - } - return true; + return !(cb[index] && c === cb[index]); }); if (diff === -1) { if (cb.length > ca.length) { From 3d113c62475678326ce600d979b4146e9518769c Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 3 Aug 2018 20:50:47 +0200 Subject: [PATCH 18/21] [TASK] Remove bithound --- .bithoundrc | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 .bithoundrc diff --git a/.bithoundrc b/.bithoundrc deleted file mode 100644 index 4d216bb..0000000 --- a/.bithoundrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "dependencies": { - "mute": [ - ], - "unused-ignores": [ - "almond", - "d3-*", - "leaflet", - "moment", - "navigo", - "node-polyglot", - "promise-polyfill", - "rbush", - "requirejs", - "snabbdom" - ] - }, - "critics": { - "wc": { - "limit": 5000 - } - }, - "ignore": [ - "polyfill.js" - ] -} From 712c3f21cefd2f0f538850a20cc957eb66418aba Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Fri, 3 Aug 2018 20:53:06 +0200 Subject: [PATCH 19/21] [TASK] Remove obsolete windows, rename macosx to osx --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 877f635..ce83fc4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,8 +8,7 @@ node_js: os: - linux - - macosx - - windows + - osx matrix: include: From 2192500d055e61024d42ad48849c09740ab681e2 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Mon, 6 Aug 2018 16:50:27 +0200 Subject: [PATCH 20/21] [TASK] Remove unnecessary moment --- lib/infobox/node.js | 4 ++-- lib/main.js | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/infobox/node.js b/lib/infobox/node.js index 2f0dcce..64de003 100644 --- a/lib/infobox/node.js +++ b/lib/infobox/node.js @@ -1,5 +1,5 @@ -define(['sorttable', 'snabbdom', 'd3-interpolate', 'moment', 'helper', 'utils/node'], - function (SortTable, V, d3Interpolate, moment, helper, nodef) { +define(['sorttable', 'snabbdom', 'd3-interpolate', 'helper', 'utils/node'], + function (SortTable, V, d3Interpolate, helper, nodef) { 'use strict'; V = V.default; diff --git a/lib/main.js b/lib/main.js index b0b0fc8..5e03ec1 100644 --- a/lib/main.js +++ b/lib/main.js @@ -20,8 +20,7 @@ define(['moment', 'utils/router', 'leaflet', 'gui', 'helper', 'utils/language'], node.lastseen = moment.utc(node.lastseen).local(); }); - var now = moment(); - var age = moment(now).subtract(config.maxAge, 'days'); + var age = moment().subtract(config.maxAge, 'days'); var online = nodes.filter(function (d) { return d.is_online; @@ -58,7 +57,7 @@ define(['moment', 'utils/router', 'leaflet', 'gui', 'helper', 'utils/language'], }); return { - now: now, + now: moment(), timestamp: moment.utc(timestamp).local(), nodes: { all: nodes, From 8bf34987442076f94ae68ddf849681760f69b4b9 Mon Sep 17 00:00:00 2001 From: Xaver Maierhofer Date: Mon, 6 Aug 2018 17:50:57 +0200 Subject: [PATCH 21/21] [TASK] Prevent XSS in tooltip --- lib/map/labellayer.js | 4 ++-- lib/utils/helper.js | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/map/labellayer.js b/lib/map/labellayer.js index a32ce9c..63ff62e 100644 --- a/lib/map/labellayer.js +++ b/lib/map/labellayer.js @@ -87,7 +87,7 @@ define(['leaflet', 'rbush', 'helper', 'moment'], m.on('click', function () { router.fullUrl({ node: d.node_id }); }); - m.bindTooltip(d.hostname); + m.bindTooltip(helper.escape(d.hostname)); dict[d.node_id] = m; @@ -114,7 +114,7 @@ define(['leaflet', 'rbush', 'helper', 'moment'], line.setStyle(opts); }; - line.bindTooltip(d.source.hostname + ' – ' + d.target.hostname + + line.bindTooltip(helper.escape(d.source.hostname + ' – ' + d.target.hostname) + '
' + helper.showDistance(d) + ' / ' + helper.showTq(d.source_tq) + ' - ' + helper.showTq(d.target_tq) + '
' + d.type + '
'); line.on('click', function () { diff --git a/lib/utils/helper.js b/lib/utils/helper.js index 429f4eb..41f7b1c 100644 --- a/lib/utils/helper.js +++ b/lib/utils/helper.js @@ -196,5 +196,11 @@ define({ btn.classList.add('ion-full-enter'); } } + }, + escape: function escape(string) { + return string.replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); } });