diff --git a/js/control/Export.js b/js/control/Export.js index 8603813..5a492b6 100644 --- a/js/control/Export.js +++ b/js/control/Export.js @@ -82,9 +82,10 @@ BR.Export = L.Class.extend({ const turnInstructionMode = +this.profile.getProfileVar('turnInstructionMode'); const transportMode = this.profile.getTransportMode(); return BR.Gpx.format(track, turnInstructionMode, transportMode); + case 'kml': + return BR.Kml.format(track); case 'geojson': return JSON.stringify(track, null, 2); - case 'kml': default: break; } diff --git a/js/format/Gpx.js b/js/format/Gpx.js index dc0baf6..de84d54 100644 --- a/js/format/Gpx.js +++ b/js/format/Gpx.js @@ -57,7 +57,7 @@ BR.Gpx = { }); const statsComment = BR.Gpx._statsComment(geoJson); gpx = '' + statsComment + gpxTransform.comment + gpx; - gpx = BR.Gpx.pretty(gpx); + gpx = BR.Xml.pretty(gpx); return gpx; }, @@ -95,72 +95,4 @@ BR.Gpx = { if (seconds != 0) time += seconds + 's'; return time; }, - - // modified version of - // https://gist.github.com/sente/1083506#gistcomment-2254622 - // MIT License, Copyright (c) 2016 Stuart Powers, ES6 version by Jonathan Gruber - pretty: function (xml, indentSize = 1) { - const PADDING = ' '.repeat(indentSize); - const newline = '\n'; - - // Remove all the newlines and then remove all the spaces between tags - xml = xml.replace(/>\s*(\r\n|\n|\r)\s*<').replace(/>\s+<'); - xml = xml.replace('', ''); - - // break into lines, keeping defined tags on a single line - const reg = /><(\/?)([\w!?][^ />]*)/g; - const singleLineTagList = ['trkpt', 'wpt']; - let lines = []; - let singleLineTag = null; - let startIndex = 0; - let match; - while ((match = reg.exec(xml)) !== null) { - const tag = match[2]; - if (singleLineTag) { - if (singleLineTag === tag) { - singleLineTag = null; - } - } else { - if (singleLineTagList.includes(tag)) { - singleLineTag = tag; - } - let endIndex = match.index + 1; - lines.push(xml.substring(startIndex, endIndex)); - startIndex = endIndex; - } - } - lines.push(xml.substring(startIndex)); - - // indent - const startTextEnd = /.+<\/\w[^>]*>$/; - const endTag = /^<\/\w/; - const startTag = /^<\w[^>]*[^\/]>.*$/; - let pad = 0; - lines = lines.map((node, index) => { - let indent = 0; - if (node.match(startTextEnd)) { - indent = 0; - } else if (node.match(endTag) && pad > 0) { - pad -= 1; - } else if (node.match(startTag)) { - indent = 1; - } else { - indent = 0; - } - - pad += indent; - - return PADDING.repeat(pad - indent) + node; - }); - - // break gpx attributes into separate lines - for (const [i, line] of lines.entries()) { - if (line.includes(', probably no need for it + geoJson.features[0].properties = { name: geoJson.features[0].properties.name }; + return BR.Xml.pretty(tokml(geoJson)); + }, +}; diff --git a/js/format/Xml.js b/js/format/Xml.js new file mode 100644 index 0000000..93efdcd --- /dev/null +++ b/js/format/Xml.js @@ -0,0 +1,69 @@ +BR.Xml = { + // modified version of + // https://gist.github.com/sente/1083506#gistcomment-2254622 + // MIT License, Copyright (c) 2016 Stuart Powers, ES6 version by Jonathan Gruber + pretty: function (xml, indentSize = 1) { + const PADDING = ' '.repeat(indentSize); + const newline = '\n'; + + // Remove all the newlines and then remove all the spaces between tags + xml = xml.replace(/>\s*(\r\n|\n|\r)\s*<').replace(/>\s+<'); + xml = xml.replace('', ''); + + // break into lines, keeping defined tags on a single line + const reg = /><(\/?)([\w!?][^ />]*)/g; + const singleLineTagList = ['trkpt', 'wpt']; + let lines = []; + let singleLineTag = null; + let startIndex = 0; + let match; + while ((match = reg.exec(xml)) !== null) { + const tag = match[2]; + if (singleLineTag) { + if (singleLineTag === tag) { + singleLineTag = null; + } + } else { + if (singleLineTagList.includes(tag)) { + singleLineTag = tag; + } + let endIndex = match.index + 1; + lines.push(xml.substring(startIndex, endIndex)); + startIndex = endIndex; + } + } + lines.push(xml.substring(startIndex)); + + // indent + const startTextEnd = /.+<\/\w[^>]*>$/; + const endTag = /^<\/\w/; + const startTag = /^<\w[^>]*[^\/]>.*$/; + let pad = 0; + lines = lines.map((node, index) => { + let indent = 0; + if (node.match(startTextEnd)) { + indent = 0; + } else if (node.match(endTag) && pad > 0) { + pad -= 1; + } else if (node.match(startTag)) { + indent = 1; + } else { + indent = 0; + } + + pad += indent; + + return PADDING.repeat(pad - indent) + node; + }); + + // break gpx attributes into separate lines + for (const [i, line] of lines.entries()) { + if (line.includes(' { }); test('waypoints', () => { - const brouterGpx = BR.Gpx.pretty(read('waypoints.gpx')); + const brouterGpx = BR.Xml.pretty(read('waypoints.gpx')); const gpx = BR.Gpx.format(waypointsGeoJson, 5); expect(gpx).toEqual(brouterGpx); }); describe('voice hints', () => { test('2-locus', () => { - let brouterGpx = BR.Gpx.pretty(read('2-locus.gpx')); + let brouterGpx = BR.Xml.pretty(read('2-locus.gpx')); brouterGpx = brouterGpx.replace(/\n\s*<\/extensions>\n\s*/, ''); // ignore (invalid) double tag // ignore float rounding differences brouterGpx = brouterGpx.replace( @@ -68,7 +69,7 @@ describe('voice hints', () => { }); test('3-osmand', () => { - const brouterGpx = BR.Gpx.pretty(read('3-osmand.gpx', false)); + const brouterGpx = BR.Xml.pretty(read('3-osmand.gpx', false)); const gpx = BR.Gpx.format(geoJson, 3); expect(gpx).toEqual(brouterGpx); }); @@ -88,7 +89,7 @@ describe('voice hints', () => { }); test('6-orux', () => { - let brouterGpx = BR.Gpx.pretty(read('6-orux.gpx')); + let brouterGpx = BR.Xml.pretty(read('6-orux.gpx')); const gpx = BR.Gpx.format(geoJson, 6); expect(gpx).toEqual(brouterGpx); }); diff --git a/yarn.lock b/yarn.lock index 7fa954e..fbc7b7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3349,6 +3349,11 @@ buffer-equal@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= +buffer-equal@~0.0.0: + version "0.0.2" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.2.tgz#ecbb790f568d40098a6242b54805c75805eb938f" + integrity sha1-7Lt5D1aNQAmKYkK1SAXHWAXrk48= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -3361,6 +3366,21 @@ bump-regex@^4.1.0: dependencies: semver "^5.1.0" +bunker@0.1.X: + version "0.1.2" + resolved "https://registry.yarnpkg.com/bunker/-/bunker-0.1.2.tgz#c88992464a8e2a6ede86930375f92b58077ef97c" + integrity sha1-yImSRkqOKm7ehpMDdfkrWAd++Xw= + dependencies: + burrito ">=0.2.5 <0.3" + +"burrito@>=0.2.5 <0.3": + version "0.2.12" + resolved "https://registry.yarnpkg.com/burrito/-/burrito-0.2.12.tgz#d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b" + integrity sha1-0NbmrIHV6ZeJxvpKzLCwAx6lT2s= + dependencies: + traverse "~0.5.1" + uglify-js "~1.1.1" + bytes@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" @@ -3533,6 +3553,11 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +charm@0.1.x: + version "0.1.2" + resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296" + integrity sha1-BsIe7RobBq62dVPNxT4jJ0usIpY= + chokidar@^2.0.0: version "2.1.6" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" @@ -4163,12 +4188,17 @@ deep-equal@^1.0.0: resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= +deep-equal@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.0.0.tgz#99679d3bbd047156fcd450d3d01eeb9068691e83" + integrity sha1-mWedO70EcVb81FDT0B7rkGhpHoM= + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@0.1.x, deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -4286,6 +4316,15 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== +difflet@~0.2.0: + version "0.2.6" + resolved "https://registry.yarnpkg.com/difflet/-/difflet-0.2.6.tgz#ab23b31f5649b6faa8e3d2acbd334467365ca6fa" + integrity sha1-qyOzH1ZJtvqo49KsvTNEZzZcpvo= + dependencies: + charm "0.1.x" + deep-is "0.1.x" + traverse "0.6.x" + dlv@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" @@ -5433,6 +5472,14 @@ glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@~3.2.1: + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + integrity sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0= + dependencies: + inherits "2" + minimatch "0.3" + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -6182,7 +6229,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@*, inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -7614,6 +7661,11 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI= + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -7806,6 +7858,14 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + integrity sha1-J12O2qxPG7MyZHIInnlJyDlGmd0= + dependencies: + lru-cache "2" + sigmund "~1.0.0" + "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -7823,6 +7883,11 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= +minimist@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" + integrity sha1-md9lelJXTCHJBXSX33QnkLK0wN4= + minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -7868,6 +7933,13 @@ mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: dependencies: minimist "0.0.8" +"mkdirp@~0.3 || 0.4 || 0.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + mri@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" @@ -8036,6 +8108,13 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@~2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz#2aa09b7d1768487b3b89a9c5aa52335bff0baea7" + integrity sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc= + dependencies: + abbrev "1" + normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -9491,6 +9570,18 @@ rsvp@^4.8.4: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== +runforcover@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/runforcover/-/runforcover-0.0.2.tgz#344f057d8d45d33aebc6cc82204678f69c4857cc" + integrity sha1-NE8FfY1F0zrrxsyCIEZ49pxIV8w= + dependencies: + bunker "0.1.X" + +rw@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/rw/-/rw-0.0.4.tgz#de27b1ed5b9175772eaa22a79662510bd0598c4c" + integrity sha1-3iex7VuRdXcuqiKnlmJRC9BZjEw= + rx@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" @@ -9735,6 +9826,11 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -9774,6 +9870,11 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +slide@*: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -10255,6 +10356,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strxml@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/strxml/-/strxml-0.0.0.tgz#8ff5314c8c874db0550673761a81e4d3f244145c" + integrity sha1-j/UxTIyHTbBVBnN2GoHk0/JEFFw= + dependencies: + tap "~0.4.8" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10324,6 +10432,22 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +tap@~0.4.8: + version "0.4.13" + resolved "https://registry.yarnpkg.com/tap/-/tap-0.4.13.tgz#3986134d6759727fc2223e61126eeb87243accbc" + integrity sha1-OYYTTWdZcn/CIj5hEm7rhyQ6zLw= + dependencies: + buffer-equal "~0.0.0" + deep-equal "~0.0.0" + difflet "~0.2.0" + glob "~3.2.1" + inherits "*" + mkdirp "~0.3 || 0.4 || 0.5" + nopt "~2" + runforcover "~0.0.2" + slide "*" + yamlish "*" + tar@^4: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" @@ -10578,6 +10702,15 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +tokml@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/tokml/-/tokml-0.4.0.tgz#7c0321b424663ca3187a0a419f2dfbcf90da372a" + integrity sha1-fAMhtCRmPKMYegpBny37z5DaNyo= + dependencies: + minimist "0.1.0" + rw "0.0.4" + strxml "0.0.0" + topojson-client@3, topojson-client@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-3.1.0.tgz#22e8b1ed08a2b922feeb4af6f53b6ef09a467b99" @@ -10648,6 +10781,16 @@ tr46@^2.0.2: dependencies: punycode "^2.1.1" +traverse@0.6.x: + version "0.6.6" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= + +traverse@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.5.2.tgz#e203c58d5f7f0e37db6e74c0acb929bb09b61d85" + integrity sha1-4gPFjV9/DjfbbnTArLkpuwm2HYU= + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -10736,6 +10879,11 @@ uglify-js@^3.0.5: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.12.1.tgz#78307f539f7b9ca5557babb186ea78ad30cc0375" integrity sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ== +uglify-js@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-1.1.1.tgz#ee71a97c4cefd06a1a9b20437f34118982aa035b" + integrity sha1-7nGpfEzv0GoamyBDfzQRiYKqA1s= + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -11213,6 +11361,11 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== +yamlish@*: + version "0.0.7" + resolved "https://registry.yarnpkg.com/yamlish/-/yamlish-0.0.7.tgz#b4af9a1dcc63618873c3d6e451ec3213c39a57fb" + integrity sha1-tK+aHcxjYYhzw9bkUewyE8OaV/s= + yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"