diff --git a/frappe/public/build.json b/frappe/public/build.json index 8ded4bd981..25fae164d5 100755 --- a/frappe/public/build.json +++ b/frappe/public/build.json @@ -150,6 +150,7 @@ "public/js/frappe/format.js", "public/js/frappe/form/formatters.js", "public/js/frappe/dom.js", + "public/js/frappe/event_emitter.js", "public/js/frappe/ui/messages.js", "public/js/frappe/ui/keyboard.js", "public/js/frappe/ui/colors.js", diff --git a/frappe/public/js/frappe/event_emitter.js b/frappe/public/js/frappe/event_emitter.js new file mode 100644 index 0000000000..4b6ccb240e --- /dev/null +++ b/frappe/public/js/frappe/event_emitter.js @@ -0,0 +1,36 @@ +frappe.provide('frappe.utils'); +/** + * Simple EventEmitter which uses jQuery's event system + */ +class EventEmitter { + init() { + this.jq = jQuery(this); + } + + trigger(evt, data) { + !this.jq && this.init(); + this.jq.trigger(evt, data); + } + + once(evt, handler) { + !this.jq && this.init(); + this.jq.one(evt, (e, data) => handler(data)); + } + + on(evt, handler) { + !this.jq && this.init(); + this.jq.bind(evt, (e, data) => handler(data)); + } + + off(evt, handler) { + !this.jq && this.init(); + this.jq.unbind(evt, (e, data) => handler(data)); + } +} + +frappe.utils.make_event_emitter = function(object) { + Object.assign(object, EventEmitter.prototype); + return object; +} + +export default EventEmitter; \ No newline at end of file diff --git a/frappe/public/js/frappe/misc/pretty_date.js b/frappe/public/js/frappe/misc/pretty_date.js index 52a791c089..aef95fc953 100644 --- a/frappe/public/js/frappe/misc/pretty_date.js +++ b/frappe/public/js/frappe/misc/pretty_date.js @@ -59,6 +59,7 @@ function prettyDate(time, mini) { } +frappe.provide("frappe.datetime"); window.comment_when = function(datetime, mini) { var timestamp = frappe.datetime.str_to_user ? frappe.datetime.str_to_user(datetime) : datetime; @@ -67,8 +68,8 @@ window.comment_when = function(datetime, mini) { + '" title="' + timestamp + '">' + prettyDate(datetime, mini) + ''; }; +frappe.datetime.comment_when = comment_when -frappe.provide("frappe.datetime"); frappe.datetime.refresh_when = function() { if (jQuery) { $(".frappe-timestamp").each(function() { diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index 2ccbc119b4..dbf48ee2e3 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -177,4 +177,7 @@ $(window).on('hashchange', function() { frappe.route(); + frappe.route.trigger('change'); }); + +frappe.utils.make_event_emitter(frappe.route); diff --git a/frappe/public/less/desk.less b/frappe/public/less/desk.less index f27c376776..b9d35adb44 100644 --- a/frappe/public/less/desk.less +++ b/frappe/public/less/desk.less @@ -1159,7 +1159,7 @@ img.no-image { width: 100%; } -img.no-image:before { +.img-background() { content: " "; display: block; position: absolute; @@ -1169,7 +1169,7 @@ img.no-image:before { background-color: @light-bg; } -img.no-image:after { +.img-foreground() { content: "\f1c5"; display: block; font-style: normal; @@ -1183,4 +1183,22 @@ img.no-image:after { left: 0; width: 100%; text-align: center; +} + +img.no-image:before { + .img-background(); +} + +img.no-image:after { + .img-foreground(); +} + +img.img-loading:before { + .img-background(); +} + +img.img-loading:after { + .img-foreground(); + font-family: 'Octicons'; + content: "\f00b"; } \ No newline at end of file diff --git a/frappe/translate.py b/frappe/translate.py index 6542424354..800aa85f01 100644 --- a/frappe/translate.py +++ b/frappe/translate.py @@ -452,13 +452,14 @@ def get_server_messages(app): """Extracts all translatable strings (tagged with :func:`frappe._`) from Python modules inside an app""" messages = [] + file_extensions = ('.py', '.html', '.js', '.vue') for basepath, folders, files in os.walk(frappe.get_pymodule_path(app)): for dontwalk in (".git", "public", "locale"): if dontwalk in folders: folders.remove(dontwalk) for f in files: f = frappe.as_unicode(f) - if f.endswith(".py") or f.endswith(".html") or f.endswith(".js"): + if f.endswith(file_extensions): messages.extend(get_messages_from_file(os.path.join(basepath, f))) return messages diff --git a/package.json b/package.json index 554bb2a1fd..38f860ddea 100644 --- a/package.json +++ b/package.json @@ -30,19 +30,22 @@ "showdown": "^1.8.6", "socket.io": "^2.0.4", "superagent": "^3.8.2", - "touch": "^3.1.0" + "touch": "^3.1.0", + "vue": "^2.5.17" }, "devDependencies": { "babel-runtime": "^6.26.0", "chalk": "^2.3.2", "less": "^3.0.4", "node-sass": "^4.9.0", - "rollup": "^0.55.3", + "rollup": "^0.65.0", "rollup-plugin-buble": "^0.19.2", "rollup-plugin-commonjs": "^8.3.0", "rollup-plugin-multi-entry": "^2.0.2", "rollup-plugin-node-resolve": "^3.0.2", "rollup-plugin-postcss": "^1.4.0", - "rollup-plugin-uglify": "^3.0.0" + "rollup-plugin-uglify": "^3.0.0", + "rollup-plugin-vue": "^4.3.2", + "vue-template-compiler": "^2.5.17" } } diff --git a/rollup/config.js b/rollup/config.js index d3e96f1fab..a25039f1f5 100644 --- a/rollup/config.js +++ b/rollup/config.js @@ -1,4 +1,5 @@ const path = require('path'); +const fs = require('fs'); const chalk = require('chalk'); const log = console.log; // eslint-disable-line @@ -8,11 +9,13 @@ const node_resolve = require('rollup-plugin-node-resolve'); const postcss = require('rollup-plugin-postcss'); const buble = require('rollup-plugin-buble'); const uglify = require('rollup-plugin-uglify'); +const vue = require('rollup-plugin-vue'); const frappe_html = require('./frappe-html-plugin'); const production = process.env.FRAPPE_ENV === 'production'; const { + apps_list, assets_path, bench_path, get_public_path, @@ -35,6 +38,8 @@ function get_rollup_options_for_js(output_file, input_files) { multi_entry(), // .html -> .js frappe_html(), + // .vue -> .js + vue.default(), // ES6 -> ES5 buble({ objectAssign: 'Object.assign', @@ -44,7 +49,13 @@ function get_rollup_options_for_js(output_file, input_files) { exclude: [path.resolve(bench_path, '**/*.css'), path.resolve(bench_path, '**/*.less')] }), commonjs(), - node_resolve(), + node_resolve({ + customResolveOptions: { + paths: apps_list.map(app => { + return path.resolve(get_app_path(app), '../node_modules') + }).filter(fs.existsSync) + } + }), production && uglify() ]; diff --git a/yarn.lock b/yarn.lock index 38cd12b37b..30d4f2bf05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,44 @@ # yarn lockfile v1 +"@babel/runtime@^7.0.0-beta.46": + version "7.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-rc.2.tgz#63082909bd27c39f92c27c641f278389ad30a478" + dependencies: + regenerator-runtime "^0.12.0" + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + +"@types/node@*": + version "10.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.2.tgz#f0ab8dced5cd6c56b26765e1c0d9e4fdcc9f2a00" + +"@vue/component-compiler-utils@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.2.0.tgz#bbbb7ed38a9a8a7c93abe7ef2e54a90a04b631b4" + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^6.0.20" + postcss-selector-parser "^3.1.1" + prettier "1.13.7" + source-map "^0.5.6" + vue-template-es2015-compiler "^1.6.0" + +"@vue/component-compiler@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@vue/component-compiler/-/component-compiler-3.4.4.tgz#4bec11116116c292f1f865afc2d88421953fc393" + dependencies: + "@vue/component-compiler-utils" "^2.1.0" + clean-css "^4.1.11" + hash-sum "^1.0.2" + postcss-modules-sync "^1.0.0" + source-map "0.6.*" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -233,6 +271,10 @@ block-stream@*: dependencies: inherits "~2.0.0" +bluebird@^3.1.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + body-parser@1.18.2: version "1.18.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" @@ -367,12 +409,26 @@ chalk@^2.3.1: escape-string-regexp "^1.0.5" supports-color "^5.2.0" +chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + clap@^1.0.9: version "1.2.3" resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" dependencies: chalk "^1.1.3" +clean-css@^4.1.11: + version "4.2.1" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" + dependencies: + source-map "~0.6.0" + cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -487,6 +543,12 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + dependencies: + bluebird "^3.1.1" + content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" @@ -631,7 +693,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -debug@2.6.9, debug@~2.6.4, debug@~2.6.6: +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + +debug@2.6.9, debug@^2.6.0, debug@~2.6.4, debug@~2.6.6: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -671,6 +737,12 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" +dot-prop@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + dependencies: + is-obj "^1.0.0" + double-ended-queue@^2.1.0-0: version "2.1.0-0" resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" @@ -1178,6 +1250,10 @@ has@^1.0.1: dependencies: function-bind "^1.0.2" +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" @@ -1187,6 +1263,10 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" +he@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + highlight.js@^9.12.0: version "9.12.0" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" @@ -1238,7 +1318,7 @@ iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: +icss-replace-symbols@1.1.0, icss-replace-symbols@^1.0.2, icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -1391,6 +1471,10 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -1629,6 +1713,13 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" @@ -1690,6 +1781,12 @@ merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + dependencies: + source-map "^0.6.1" + methods@^1.1.1, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -2217,20 +2314,31 @@ postcss-modules-extract-imports@1.1.0: dependencies: postcss "^6.0.1" -postcss-modules-local-by-default@1.2.0: +postcss-modules-local-by-default@1.2.0, postcss-modules-local-by-default@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" -postcss-modules-scope@1.1.0: +postcss-modules-scope@1.1.0, postcss-modules-scope@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" +postcss-modules-sync@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-sync/-/postcss-modules-sync-1.0.0.tgz#619a719cf78dd16a4834135140b324cf77334be1" + dependencies: + generic-names "^1.0.2" + icss-replace-symbols "^1.0.2" + postcss "^5.2.5" + postcss-modules-local-by-default "^1.1.1" + postcss-modules-scope "^1.0.2" + string-hash "^1.1.0" + postcss-modules-values@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" @@ -2298,6 +2406,14 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + dependencies: + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-svgo@^2.1.1: version "2.1.6" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" @@ -2335,7 +2451,7 @@ postcss@6.0.1: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16: +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16, postcss@^5.2.5: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" dependencies: @@ -2352,6 +2468,14 @@ postcss@^6.0.1: source-map "^0.6.1" supports-color "^5.3.0" +postcss@^6.0.20: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -2360,6 +2484,10 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +prettier@1.13.7: + version "1.13.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.7.tgz#850f3b8af784a49a6ea2d2eaa7ed1428a34b7281" + process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -2416,6 +2544,10 @@ query-string@^4.1.0: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +querystring@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + randomatic@^1.1.3: version "1.1.7" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" @@ -2520,6 +2652,10 @@ regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" @@ -2707,6 +2843,18 @@ rollup-plugin-uglify@^3.0.0: dependencies: uglify-es "^3.3.7" +rollup-plugin-vue@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-vue/-/rollup-plugin-vue-4.3.2.tgz#0bdf0cf677565b0ac2358d590f177b6b4ded8cce" + dependencies: + "@babel/runtime" "^7.0.0-beta.46" + "@vue/component-compiler" "^3.4.4" + "@vue/component-compiler-utils" "^2.1.0" + debug "^2.6.0" + hash-sum "^1.0.2" + querystring "^0.2.0" + rollup-pluginutils "^2.0.1" + rollup-pluginutils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0" @@ -2714,9 +2862,12 @@ rollup-pluginutils@^2.0.1: estree-walker "^0.3.0" micromatch "^2.3.11" -rollup@^0.55.3: - version "0.55.5" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.55.5.tgz#2f88c300f7cf24b5ec2dca8a6aba73b04e087e93" +rollup@^0.65.0: + version "0.65.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.65.0.tgz#280db1252169b68fc3043028346b337dde453fba" + dependencies: + "@types/estree" "0.0.39" + "@types/node" "*" safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" @@ -2876,6 +3027,10 @@ sortablejs@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.7.0.tgz#80a2b2370abd568e1cec8c271131ef30a904fa28" +source-map@0.6.*, 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" + source-map@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -2886,10 +3041,6 @@ source-map@^0.5.3, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" -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" - spdx-correct@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" @@ -2944,7 +3095,7 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" -string-hash@^1.1.1: +string-hash@^1.1.0, string-hash@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" @@ -3048,6 +3199,12 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + dependencies: + has-flag "^3.0.0" + svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" @@ -3201,6 +3358,21 @@ vlq@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806" +vue-template-compiler@^2.5.17: + version "2.5.17" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.17.tgz#52a4a078c327deb937482a509ae85c06f346c3cb" + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue-template-es2015-compiler@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18" + +vue@^2.5.17: + version "2.5.17" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.17.tgz#0f8789ad718be68ca1872629832ed533589c6ada" + whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"