Merge pull request #3801 from evazion/feat-eslint

Add ESLint support
This commit is contained in:
Albert Yi
2018-08-06 10:40:59 -07:00
committed by GitHub
32 changed files with 628 additions and 164 deletions

88
.eslintrc.yml Normal file
View File

@@ -0,0 +1,88 @@
env:
browser: true
es6: true
extends: 'eslint:recommended'
parserOptions:
sourceType: module
globals:
$: false
require: false
rules:
# https://eslint.org/docs/rules/
array-callback-return: error
block-scoped-var: error
consistent-return: error
default-case: error
dot-notation: error
eqeqeq: error
init-declarations: error
no-caller: error
no-empty-function: error
no-eval: error
no-extend-native: error
no-implicit-coercion: error
no-lone-blocks: error
no-lonely-if: error
no-mixed-operators: error
no-new: error
no-new-wrappers: error
no-return-assign: error
no-self-compare: error
no-sequences: error
no-shadow: error
no-shadow-restricted-names: error
no-unused-expressions: error
no-unused-vars:
- error
- argsIgnorePattern: "^_"
args: none
no-use-before-define: error
no-useless-call: error
no-useless-concat: error
no-useless-return: error
# formatting issues
array-bracket-spacing: warn
brace-style: [warn, 1tbs, allowSingleLine: true]
comma-spacing: warn
curly: warn
dot-location: [warn, property]
eol-last: warn
func-call-spacing: warn
indent: [warn, 2]
linebreak-style: [warn, unix]
key-spacing: warn
keyword-spacing: warn
no-multiple-empty-lines: warn
no-tabs: warn
no-trailing-spaces: warn
no-whitespace-before-property: warn
space-before-blocks: warn
space-in-parens: warn
space-infix-ops: warn
space-unary-ops: warn
spaced-comment: warn
# These rules are potentially useful, but are currently too noisy to enable.
# block-spacing: warn
# no-alert: warn
# no-extra-parens: warn
# no-magic-numbers:
# - warn
# - ignore: [-1, 0, 1]
# ignoreArrayIndexes: true
# enforceConst: true
# no-multi-spaces: warn
# no-negated-condition: warn
# no-param-reassign: warn
# no-var: warn
# object-curly-spacing: warn
# prefer-arrow-callback: warn
# prefer-const: warn
# prefer-template: warn
# quote-props: [warn, consistent-as-needed]
# radix: warn
# semi: warn
# space-before-function-paren: warn
# vars-on-top: warn

View File

@@ -1,4 +1,5 @@
/* eslint no-console:0 */ /* eslint no-console:0 */
/* global require */
function importAll(r) { function importAll(r) {
r.keys().forEach(r); r.keys().forEach(r);
@@ -37,4 +38,4 @@ export { default as Note } from '../src/javascripts/notes.js';
export { default as PostModeMenu } from '../src/javascripts/post_mode_menu.js'; export { default as PostModeMenu } from '../src/javascripts/post_mode_menu.js';
export { default as Utility } from '../src/javascripts/utility.js'; export { default as Utility } from '../src/javascripts/utility.js';
export { default as Ugoira } from '../src/javascripts/ugoira.js'; export { default as Ugoira } from '../src/javascripts/ugoira.js';
export { default as TagScript } from '../src/javascripts/tag_script.js'; export { default as TagScript } from '../src/javascripts/tag_script.js';

View File

@@ -63,15 +63,16 @@ ArtistCommentary.initialize_edit_commentary_dialog = function() {
} }
ArtistCommentary.fetch_commentary = function() { ArtistCommentary.fetch_commentary = function() {
var commentary = "";
Utility.notice("Fetching artist commentary..."); Utility.notice("Fetching artist commentary...");
var type = $('#fetch-commentary select[name="commentary_source_type"]').val(); var type = $('#fetch-commentary select[name="commentary_source_type"]').val();
if (type === "Source") { if (type === "Source") {
var source = $('#fetch-commentary input[name="commentary_source"]').val(); var source = $('#fetch-commentary input[name="commentary_source"]').val();
var commentary = ArtistCommentary.from_source(source); commentary = ArtistCommentary.from_source(source);
} else if (type === "Post") { } else if (type === "Post") {
var id = $('#fetch-commentary input[name="commentary_post_id"]').val(); var id = $('#fetch-commentary input[name="commentary_post_id"]').val();
var commentary = ArtistCommentary.from_post_id(id); commentary = ArtistCommentary.from_post_id(id);
} }
commentary.then(ArtistCommentary.fill_commentary).then(function (success) { commentary.then(ArtistCommentary.fill_commentary).then(function (success) {
@@ -120,13 +121,13 @@ ArtistCommentary.merge_commentaries = function(description, commentary) {
var normalized_source = $("#image-container").data().normalizedSource; var normalized_source = $("#image-container").data().normalizedSource;
if ((commentary.original_description && description) && if ((commentary.original_description && description) &&
(commentary.original_description != description)) { (commentary.original_description !== description)) {
return description return description
+ "\n\n[tn]\nSource: " + normalized_source + "\n[/tn]" + "\n\n[tn]\nSource: " + normalized_source + "\n[/tn]"
+ "\n\nh6. " + (commentary.original_title || "Untitled") + "\n\nh6. " + (commentary.original_title || "Untitled")
+ "\n\n" + commentary.original_description + "\n\n" + commentary.original_description
+ "\n\n[tn]\nSource: " + commentary.source + "\n[/tn]"; + "\n\n[tn]\nSource: " + commentary.source + "\n[/tn]";
} else if (commentary.source != post_source) { } else if (commentary.source !== post_source) {
return commentary.original_description + "\n\n[tn]\nSource: " + commentary.source + "\n[/tn]"; return commentary.original_description + "\n\n[tn]\nSource: " + commentary.source + "\n[/tn]";
} else { } else {
return commentary.original_description || description; return commentary.original_description || description;

View File

@@ -14,10 +14,10 @@ Artist.initialize_check_name = function() {
if ($("#artist_name").val().length > 0) { if ($("#artist_name").val().length > 0) {
$("#check-name-result").html(""); $("#check-name-result").html("");
$.getJSON("/artists?search[name]=" + escape($("#artist_name").val()), function(data) { $.getJSON("/artists?search[name]=" + escape($("#artist_name").val()), function(artists) {
if (data.length === 0) { if (artists.length === 0) {
$.getJSON("/wiki_pages/" + escape($("#artist_name").val()), function(data) { $.getJSON("/wiki_pages/" + escape($("#artist_name").val()), function(wiki_pages) {
if (data !== null) { if (wiki_pages !== null) {
$("#check-name-result").html("<a href='/wiki_pages/" + escape($("#artist_name").val()) + "'>A wiki page with this name already exists</a>. You must either move the wiki page or pick another artist name.") $("#check-name-result").html("<a href='/wiki_pages/" + escape($("#artist_name").val()) + "'>A wiki page with this name already exists</a>. You must either move the wiki page or pick another artist name.")
} }
}); });

View File

@@ -3,9 +3,12 @@ import SavedSearch from './saved_searches'
let Autocomplete = {}; let Autocomplete = {};
Autocomplete.AUTOCOMPLETE_VERSION = 1; Autocomplete.METATAGS = <%= Tag::METATAGS.to_json.html_safe %>;
Autocomplete.PREFIXES = /^(-|~|<%= TagCategory.mapping.keys.map {|category| category + ':'}.join('|') %>)(.*)$/i; Autocomplete.TAG_CATEGORIES = <%= TagCategory.mapping.to_json.html_safe %>;
Autocomplete.METATAGS = /^(<%= Tag::METATAGS %>):(.*)$/i;
Autocomplete.TAG_PREFIXES = "-|~|" + Object.keys(Autocomplete.TAG_CATEGORIES).map(category => category + ":").join("|");
Autocomplete.TAG_PREFIXES_REGEX = new RegExp("^(" + Autocomplete.TAG_PREFIXES + ")(.*)$", "i");
Autocomplete.METATAGS_REGEX = new RegExp("^(" + Autocomplete.METATAGS + "):(.*)$", "i");
Autocomplete.initialize_all = function() { Autocomplete.initialize_all = function() {
if (Utility.meta("enable-auto-complete") === "true") { if (Utility.meta("enable-auto-complete") === "true") {
@@ -42,16 +45,15 @@ Autocomplete.initialize_mention_autocomplete = function($fields) {
}, },
source: function(req, resp) { source: function(req, resp) {
var cursor = this.element.get(0).selectionStart; var cursor = this.element.get(0).selectionStart;
var i;
var name = null; var name = null;
for (i=cursor; i>=1; --i) { for (var i = cursor; i >= 1; --i) {
if (req.term[i-1] === " ") { if (req.term[i - 1] === " ") {
return; return;
} }
if (req.term[i-1] === "@") { if (req.term[i - 1] === "@") {
if (i == 1 || /[ \r\n]/.test(req.term[i-2])) { if (i === 1 || /[ \r\n]/.test(req.term[i - 2])) {
name = req.term.substring(i, cursor); name = req.term.substring(i, cursor);
break; break;
} else { } else {
@@ -63,8 +65,6 @@ Autocomplete.initialize_mention_autocomplete = function($fields) {
if (name) { if (name) {
Autocomplete.user_source(name, resp, "@"); Autocomplete.user_source(name, resp, "@");
} }
return;
} }
}); });
} }
@@ -99,7 +99,7 @@ Autocomplete.initialize_tag_autocomplete = function() {
return; return;
} }
switch(metatag) { switch (metatag) {
case "md5": case "md5":
case "width": case "width":
case "height": case "height":
@@ -117,7 +117,7 @@ Autocomplete.initialize_tag_autocomplete = function() {
case "pixiv_id": case "pixiv_id":
case "pixiv": case "pixiv":
<% TagCategory.short_name_list.each do |category| %> <% TagCategory.short_name_list.each do |category| %>
case "<%= category %>tags": case "<%= category %>tags": // eslint-disable-line
<% end %> <% end %>
resp([]); resp([]);
return; return;
@@ -194,7 +194,7 @@ Autocomplete.initialize_artist_autocomplete = function($fields) {
type: "tag", type: "tag",
label: artist.name.replace(/_/g, " "), label: artist.name.replace(/_/g, " "),
value: artist.name, value: artist.name,
category: <%= Tag.categories.artist %>, category: Autocomplete.TAG_CATEGORIES.artist,
}; };
})); }));
} }
@@ -248,7 +248,7 @@ Autocomplete.initialize_wiki_autocomplete = function($fields) {
Autocomplete.normal_source = function(term, resp) { Autocomplete.normal_source = function(term, resp) {
var key = "ac-" + term.replace(/\./g,'\uFFFF'); var key = "ac-" + term.replace(/\./g,'\uFFFF');
$.ajax({ return $.ajax({
url: "/tags/autocomplete.json", url: "/tags/autocomplete.json",
data: { data: {
"search[name_matches]": term, "search[name_matches]": term,
@@ -284,12 +284,14 @@ Autocomplete.parse_query = function(text, caret) {
return {}; return {};
} }
if (match = term.match(Autocomplete.PREFIXES)) { match = term.match(Autocomplete.TAG_PREFIXES_REGEX);
if (match) {
metatag = match[1].toLowerCase(); metatag = match[1].toLowerCase();
term = match[2]; term = match[2];
} }
if (match = term.match(Autocomplete.METATAGS)) { match = term.match(Autocomplete.METATAGS_REGEX);
if (match) {
metatag = match[1].toLowerCase(); metatag = match[1].toLowerCase();
term = match[2]; term = match[2];
} }
@@ -303,8 +305,7 @@ Autocomplete.insert_completion = function(input, completion) {
var before_caret_text = input.value.substring(0, input.selectionStart).trim(); var before_caret_text = input.value.substring(0, input.selectionStart).trim();
var after_caret_text = input.value.substring(input.selectionStart).trim(); var after_caret_text = input.value.substring(input.selectionStart).trim();
var prefixes = "-|~|" + "<%= TagCategory.mapping.keys.map {|category| category + ':'}.join('|') %>"; var regexp = new RegExp("(" + Autocomplete.TAG_PREFIXES + ")?\\S+$", "g");
var regexp = new RegExp("(" + prefixes + ")?\\S+$", "g");
before_caret_text = before_caret_text.replace(regexp, "$1") + completion + " "; before_caret_text = before_caret_text.replace(regexp, "$1") + completion + " ";
input.value = before_caret_text + after_caret_text; input.value = before_caret_text + after_caret_text;
@@ -353,12 +354,12 @@ Autocomplete.render_item = function(list, item) {
} }
if (item.post_count !== undefined) { if (item.post_count !== undefined) {
var count; var count = item.post_count;
if (item.post_count >= 1000) {
count = Math.floor(item.post_count / 1000) + "k"; if (count >= 1000) {
} else { count = Math.floor(count / 1000) + "k";
count = item.post_count;
} }
var $post_count = $("<span/>").addClass("post-count").css("float", "right").text(count); var $post_count = $("<span/>").addClass("post-count").css("float", "right").text(count);
$link.append($post_count); $link.append($post_count);
} }
@@ -432,7 +433,7 @@ Autocomplete.static_metatag_source = function(term, resp, metatag) {
} }
Autocomplete.user_source = function(term, resp, metatag) { Autocomplete.user_source = function(term, resp, metatag) {
$.ajax({ return $.ajax({
url: "/users.json", url: "/users.json",
data: { data: {
"search[order]": "post_upload_count", "search[order]": "post_upload_count",
@@ -442,8 +443,8 @@ Autocomplete.user_source = function(term, resp, metatag) {
}, },
method: "get", method: "get",
success: function(data) { success: function(data) {
var prefix; var prefix = "";
var display_name; var display_name = null;
if (metatag === "@") { if (metatag === "@") {
prefix = "@"; prefix = "@";
@@ -466,7 +467,7 @@ Autocomplete.user_source = function(term, resp, metatag) {
} }
Autocomplete.pool_source = function(term, resp, metatag) { Autocomplete.pool_source = function(term, resp, metatag) {
$.ajax({ return $.ajax({
url: "/pools.json", url: "/pools.json",
data: { data: {
"search[order]": "post_count", "search[order]": "post_count",
@@ -489,7 +490,7 @@ Autocomplete.pool_source = function(term, resp, metatag) {
} }
Autocomplete.favorite_group_source = function(term, resp, metatag) { Autocomplete.favorite_group_source = function(term, resp, metatag) {
$.ajax({ return $.ajax({
url: "/favorite_groups.json", url: "/favorite_groups.json",
data: { data: {
"search[name_matches]": term, "search[name_matches]": term,

View File

@@ -112,7 +112,7 @@ Blacklist.apply = function() {
$.each(this.posts(), function(i, post) { $.each(this.posts(), function(i, post) {
var post_count = 0; var post_count = 0;
$.each(Blacklist.entries, function(i, entry) { $.each(Blacklist.entries, function(j, entry) {
if (Blacklist.post_match(post, entry)) { if (Blacklist.post_match(post, entry)) {
entry.hits += 1; entry.hits += 1;
count += 1; count += 1;
@@ -192,7 +192,7 @@ Blacklist.initialize_all = function() {
} }
$(document).ready(function() { $(document).ready(function() {
if ($("#blacklist-box").length == 0) { if ($("#blacklist-box").length === 0) {
return; return;
} }

View File

@@ -39,7 +39,7 @@ Comment.quote = function(e) {
var $link = $(e.target); var $link = $(e.target);
var $div = $link.closest("div.comments-for-post").find(".new-comment"); var $div = $link.closest("div.comments-for-post").find(".new-comment");
var $textarea = $div.find("textarea"); var $textarea = $div.find("textarea");
var msg = data["quoted_response"]; var msg = data.quoted_response;
if ($textarea.val().length > 0) { if ($textarea.val().length > 0) {
msg = $textarea.val() + "\n\n" + msg; msg = $textarea.val() + "\n\n" + msg;
} }

View File

@@ -45,6 +45,6 @@ $(function() {
}); });
}); });
global.submitInvisibleRecaptchaForm = function () { window.submitInvisibleRecaptchaForm = function () {
document.getElementById("signup-form").submit(); document.getElementById("signup-form").submit();
} }

View File

@@ -31,11 +31,11 @@ Cookie.raw_get = function(name) {
for (var i = 0; i < ca.length; ++i) { for (var i = 0; i < ca.length; ++i) {
var c = ca[i]; var c = ca[i];
while (c.charAt(0) == " ") { while (c.charAt(0) === " ") {
c = c.substring(1, c.length); c = c.substring(1, c.length);
} }
if (c.indexOf(nameEq) == 0) { if (c.indexOf(nameEq) === 0) {
return c.substring(nameEq.length, c.length); return c.substring(nameEq.length, c.length);
} }
} }
@@ -56,9 +56,9 @@ Cookie.unescape = function(val) {
} }
Cookie.initialize = function() { Cookie.initialize = function() {
if (this.get("hide-upgrade-account") != "1") { if (this.get("hide-upgrade-account") !== "1") {
$("#upgrade-account").show(); $("#upgrade-account").show();
} }
} }
$(function() { $(function() {

View File

@@ -21,7 +21,7 @@ FavoriteGroup.initialize_add_to_favgroup_dialog = function() {
}); });
var open_favgroup_dialog = function(e) { var open_favgroup_dialog = function(e) {
if (Utility.meta("current-user-id") == "") { // anonymous if (Utility.meta("current-user-id") === "") { // anonymous
return; return;
} }

View File

@@ -11,14 +11,14 @@ Favorite.initialize_all = function() {
Favorite.hide_or_show_add_to_favorites_link = function() { Favorite.hide_or_show_add_to_favorites_link = function() {
var current_user_id = Utility.meta("current-user-id"); var current_user_id = Utility.meta("current-user-id");
if (current_user_id == "") { if (current_user_id === "") {
$("#add-to-favorites").hide(); $("#add-to-favorites").hide();
$("#remove-from-favorites").hide(); $("#remove-from-favorites").hide();
$("#add-fav-button").hide(); $("#add-fav-button").hide();
$("#remove-fav-button").hide(); $("#remove-fav-button").hide();
return; return;
} }
if ($("#image-container").length && $("#image-container").data("is-favorited") == true) { if ($("#image-container").length && $("#image-container").data("is-favorited") === true) {
$("#add-to-favorites").hide(); $("#add-to-favorites").hide();
$("#add-fav-button").hide(); $("#add-fav-button").hide();
} else { } else {

View File

@@ -3,7 +3,7 @@ import Utility from './utility'
let ForumPost = {}; let ForumPost = {};
ForumPost.initialize_all = function() { ForumPost.initialize_all = function() {
if ($("#c-forum-topics #a-show,#c-forum-posts #a-show").length) {; if ($("#c-forum-topics #a-show,#c-forum-posts #a-show").length) {
this.initialize_edit_links(); this.initialize_edit_links();
Utility.keydown("e", "edit", function(e) { Utility.keydown("e", "edit", function(e) {
@@ -44,4 +44,4 @@ $(document).ready(function() {
ForumPost.initialize_all(); ForumPost.initialize_all();
}); });
export default ForumPost export default ForumPost

View File

@@ -26,4 +26,4 @@ $(document).ready(function() {
JanitorTrials.initialize_all(); JanitorTrials.initialize_all();
}); });
export default JanitorTrials export default JanitorTrials

View File

@@ -66,4 +66,4 @@ $(function() {
} }
}); });
export default ModQueue export default ModQueue

View File

@@ -5,7 +5,7 @@ let NewsUpdate = {};
NewsUpdate.initialize = function() { NewsUpdate.initialize = function() {
var key = $("#news-updates").data("id"); var key = $("#news-updates").data("id");
if (Cookie.get("news-ticker") == key) { if (Cookie.get("news-ticker") === key) {
$("#news-updates").hide(); $("#news-updates").hide();
} else { } else {
$("#news-updates").show(); $("#news-updates").show();
@@ -27,4 +27,4 @@ $(function() {
NewsUpdate.initialize(); NewsUpdate.initialize();
}); });
export default NewsUpdate export default NewsUpdate

View File

@@ -113,18 +113,18 @@ let Note = {
return; return;
} }
var $this = $(this);
var $note_box_inner = $(e.currentTarget); var $note_box_inner = $(e.currentTarget);
if (e.type === "mouseover") { if (e.type === "mouseover") {
Note.Body.show($note_box_inner.data("id")); Note.Body.show($note_box_inner.data("id"));
if (Note.editing) { if (Note.editing) {
var $this = $(this);
$this.resizable("enable"); $this.resizable("enable");
$this.draggable("enable"); $this.draggable("enable");
} }
} else if (e.type === "mouseout") { } else if (e.type === "mouseout") {
Note.Body.hide($note_box_inner.data("id")); Note.Body.hide($note_box_inner.data("id"));
if (Note.editing) { if (Note.editing) {
var $this = $(this);
$this.resizable("disable"); $this.resizable("disable");
$this.draggable("disable"); $this.draggable("disable");
} }
@@ -191,7 +191,7 @@ let Note = {
return; return;
} }
// Hide notes while rescaling, to prevent unnecessary reflowing // Hide notes while rescaling, to prevent unnecessary reflowing
var was_visible = container.style.display != 'none'; var was_visible = container.style.display !== 'none';
if (was_visible) { if (was_visible) {
container.style.display = 'none'; container.style.display = 'none';
} }
@@ -239,14 +239,6 @@ let Note = {
var $image = $("#image"); var $image = $("#image");
var doc_width = $image.offset().left + $image.width(); var doc_width = $image.offset().left + $image.width();
/*while ($note_body[0].clientHeight < $note_body[0].scrollHeight) {
$note_body.css({height: $note_body.height() + 5});
}
while ($note_body[0].clientWidth < $note_body[0].scrollWidth) {
$note_body.css({width: $note_body.width() + 5});
}*/
if ($note_body.offset().left + $note_body.width() > doc_width) { if ($note_body.offset().left + $note_body.width() > doc_width) {
$note_body.css({ $note_body.css({
left: $note_body.position().left - 10 - ($note_body.offset().left + $note_body.width() - doc_width) left: $note_body.position().left - 10 - ($note_body.offset().left + $note_body.width() - doc_width)
@@ -286,10 +278,13 @@ let Note = {
var golden_ratio = 1.6180339887; var golden_ratio = 1.6180339887;
var last = 0; var last = 0;
var x = 0; var x = 0;
var lo = 0;
var hi = 0;
if ((w / h) < golden_ratio) { if ((w / h) < golden_ratio) {
var lo = 140; lo = 140;
var hi = 400; hi = 400;
do { do {
last = w; last = w;
x = (lo + hi) / 2; x = (lo + hi) / 2;
@@ -304,8 +299,8 @@ let Note = {
} }
} while ((lo < hi) && (w > last)); } while ((lo < hi) && (w > last));
} else if ($note_body[0].scrollWidth <= $note_body.width()) { } else if ($note_body[0].scrollWidth <= $note_body.width()) {
var lo = 20; lo = 20;
var hi = w; hi = w;
do { do {
x = (lo + hi) / 2; x = (lo + hi) / 2;
@@ -466,14 +461,16 @@ let Note = {
}, },
success_handler: function(data, status, xhr) { success_handler: function(data, status, xhr) {
var $note_box = null;
if (data.html_id) { // new note if (data.html_id) { // new note
var $note_body = Note.Body.find(data.html_id); var $note_body = Note.Body.find(data.html_id);
var $note_box = Note.Box.find(data.html_id); $note_box = Note.Box.find(data.html_id);
$note_body.data("id", String(data.id)).attr("data-id", data.id); $note_body.data("id", String(data.id)).attr("data-id", data.id);
$note_box.data("id", String(data.id)).attr("data-id", data.id); $note_box.data("id", String(data.id)).attr("data-id", data.id);
$note_box.find(".note-box-inner-border").removeClass("unsaved"); $note_box.find(".note-box-inner-border").removeClass("unsaved");
} else { } else {
var $note_box = Note.Box.find(data.id); $note_box = Note.Box.find(data.id);
$note_box.find(".note-box-inner-border").removeClass("unsaved"); $note_box.find(".note-box-inner-border").removeClass("unsaved");
} }
}, },
@@ -574,7 +571,7 @@ let Note = {
start: function(e) { start: function(e) {
e.preventDefault(); e.preventDefault();
if (Utility.meta("current-user-id") == "") { if (Utility.meta("current-user-id") === "") {
Utility.notice("You must be logged in to edit notes"); Utility.notice("You must be logged in to edit notes");
return; return;
} }
@@ -654,7 +651,7 @@ let Note = {
var offset = $image.offset(); var offset = $image.offset();
var limitX1 = $image.width() - Note.TranslationMode.Drag.dragStartX + offset.left - 1; var limitX1 = $image.width() - Note.TranslationMode.Drag.dragStartX + offset.left - 1;
var limitX2 = offset.left - Note.TranslationMode.Drag.dragStartX; var limitX2 = offset.left - Note.TranslationMode.Drag.dragStartX;
var limitY1 = $image.height()- Note.TranslationMode.Drag.dragStartY + offset.top - 1; var limitY1 = $image.height() - Note.TranslationMode.Drag.dragStartY + offset.top - 1;
var limitY2 = offset.top - Note.TranslationMode.Drag.dragStartY; var limitY2 = offset.top - Note.TranslationMode.Drag.dragStartY;
if (Note.TranslationMode.Drag.dragDistanceX > limitX1) { if (Note.TranslationMode.Drag.dragDistanceX > limitX1) {
@@ -709,8 +706,8 @@ let Note = {
$(window).off("mousemove"); $(window).off("mousemove");
if (Note.TranslationMode.Drag.dragging) { if (Note.TranslationMode.Drag.dragging) {
$('#note-preview').css({display:'none'}); $('#note-preview').css({ display: 'none' });
Note.TranslationMode.create_note(e, Note.TranslationMode.Drag.x, Note.TranslationMode.Drag.y, Note.TranslationMode.Drag.w-1, Note.TranslationMode.Drag.h-1); Note.TranslationMode.create_note(e, Note.TranslationMode.Drag.x, Note.TranslationMode.Drag.y, Note.TranslationMode.Drag.w - 1, Note.TranslationMode.Drag.h - 1);
Note.TranslationMode.Drag.dragging = false; /* border of the note is pixel-perfect on the preview border */ Note.TranslationMode.Drag.dragging = false; /* border of the note is pixel-perfect on the preview border */
} else { /* no dragging -> toggle display of notes */ } else { /* no dragging -> toggle display of notes */
Note.Box.toggle_all(); Note.Box.toggle_all();
@@ -796,7 +793,7 @@ let Note = {
}, },
initialize_all: function() { initialize_all: function() {
if ($("#c-posts #a-show #image").length == 0 || $("video#image").length) { if ($("#c-posts #a-show #image").length === 0 || $("video#image").length) {
return; return;
} }
@@ -809,7 +806,7 @@ let Note = {
}, },
initialize_shortcuts: function() { initialize_shortcuts: function() {
if ($("#note-locked-notice").length == 0) { if ($("#note-locked-notice").length === 0) {
$("#translate").click(Note.TranslationMode.toggle); $("#translate").click(Note.TranslationMode.toggle);
Utility.keydown("n", "translation_mode", Note.TranslationMode.toggle); Utility.keydown("n", "translation_mode", Note.TranslationMode.toggle);
} }

View File

@@ -52,7 +52,7 @@ Pool.initialize_simple_edit = function() {
$.ajax({ $.ajax({
type: "put", type: "put",
url: e.target.action, url: e.target.action,
data: $("#sortable").sortable("serialize") + "&" + $(e.target).serialize() data: $("#sortable").sortable("serialize") + "&" + $(e.target).serialize()
}); });
e.preventDefault(); e.preventDefault();
}); });
@@ -62,4 +62,4 @@ $(document).ready(function() {
Pool.initialize_all(); Pool.initialize_all();
}); });
export default Pool export default Pool

View File

@@ -22,20 +22,19 @@ PostModeMenu.initialize_shortcuts = function() {
} }
PostModeMenu.show_notice = function(i) { PostModeMenu.show_notice = function(i) {
Utility.notice("Switched to tag script #" + i + ". To switch tag scripts, use the number keys."); Utility.notice("Switched to tag script #" + i + ". To switch tag scripts, use the number keys.");
} }
PostModeMenu.change_tag_script = function(e) { PostModeMenu.change_tag_script = function(e) {
if ($("#mode-box select").val() === "tag-script") { if ($("#mode-box select").val() === "tag-script") {
var old_tag_script_id = Cookie.get("current_tag_script_id") || "1"; var old_tag_script_id = Cookie.get("current_tag_script_id") || "1";
var old_tag_script = $("#tag-script-field").val();
var new_tag_script_id = String.fromCharCode(e.which); var new_tag_script_id = String.fromCharCode(e.which);
var new_tag_script = Cookie.get("tag-script-" + new_tag_script_id); var new_tag_script = Cookie.get("tag-script-" + new_tag_script_id);
$("#tag-script-field").val(new_tag_script); $("#tag-script-field").val(new_tag_script);
Cookie.put("current_tag_script_id", new_tag_script_id); Cookie.put("current_tag_script_id", new_tag_script_id);
if (old_tag_script_id != new_tag_script_id) { if (old_tag_script_id !== new_tag_script_id) {
PostModeMenu.show_notice(new_tag_script_id); PostModeMenu.show_notice(new_tag_script_id);
} }
@@ -145,7 +144,7 @@ PostModeMenu.open_edit = function(post_id) {
$("#post_tag_string").val($post.data("tags") + " ").focus().selectEnd(); $("#post_tag_string").val($post.data("tags") + " ").focus().selectEnd();
/* Set height of tag edit box to fit content. */ /* Set height of tag edit box to fit content. */
$("#post_tag_string").height(80); // min height: 80px. $("#post_tag_string").height(80); // min height: 80px.
var padding = $("#post_tag_string").innerHeight() - $("#post_tag_string").height(); var padding = $("#post_tag_string").innerHeight() - $("#post_tag_string").height();
var height = $("#post_tag_string").prop("scrollHeight") - padding; var height = $("#post_tag_string").prop("scrollHeight") - padding;
$("#post_tag_string").height(height); $("#post_tag_string").height(height);

View File

@@ -35,4 +35,4 @@ $(document).ready(function() {
PostPopular.initialize_all(); PostPopular.initialize_all();
}); });
export default PostPopular export default PostPopular

View File

@@ -133,4 +133,4 @@ PostTooltip.on_disable_tooltips = function (event) {
$(document).ready(PostTooltip.initialize); $(document).ready(PostTooltip.initialize);
export default PostTooltip export default PostTooltip

View File

@@ -1,3 +1,5 @@
/* global addthis */
import Utility from './utility' import Utility from './utility'
import Hammer from 'hammerjs' import Hammer from 'hammerjs'
import RelatedTag from './related_tag.js.erb' import RelatedTag from './related_tag.js.erb'
@@ -79,7 +81,7 @@ Post.initialize_gestures = function() {
} }
} }
Post.initialize_edit_dialog = function(e) { Post.initialize_edit_dialog = function() {
$("#open-edit-dialog").button().show().click(function(e) { $("#open-edit-dialog").button().show().click(function(e) {
$(window).scrollTop($("#image").offset().top); $(window).scrollTop($("#image").offset().top);
Post.open_edit_dialog(); Post.open_edit_dialog();
@@ -104,11 +106,11 @@ Post.open_edit_dialog = function() {
dialog.dialog({ dialog.dialog({
title: "Edit tags", title: "Edit tags",
width: $(window).width() * 0.6, width: $(window).width() * 0.6,
position: { position: {
my: "right", my: "right",
at: "right-20", at: "right-20",
of: window of: window
}, },
drag: function(e, ui) { drag: function(e, ui) {
if (Utility.meta("enable-auto-complete") === "true") { if (Utility.meta("enable-auto-complete") === "true") {
$tag_string.data("uiAutocomplete").close(); $tag_string.data("uiAutocomplete").close();
@@ -128,15 +130,15 @@ Post.open_edit_dialog = function() {
if (dialog_widget.css("position") === "absolute") { if (dialog_widget.css("position") === "absolute") {
pos.left -= $(window).scrollLeft(); pos.left -= $(window).scrollLeft();
pos.top -= $(window).scrollTop(); pos.top -= $(window).scrollTop();
dialog_widget.offset(pos).css({position:"fixed"}); dialog_widget.offset(pos).css({ position: "fixed" });
dialog.dialog("option", "resize", function() { dialog_widget.css({position:"fixed"}); }); dialog.dialog("option", "resize", function() { dialog_widget.css({ position: "fixed" }); });
pin_button.button("option", "icons", {primary: "ui-icon-pin-s"}); pin_button.button("option", "icons", {primary: "ui-icon-pin-s"});
} else { } else {
pos.left += $(window).scrollLeft(); pos.left += $(window).scrollLeft();
pos.top += $(window).scrollTop(); pos.top += $(window).scrollTop();
dialog_widget.offset(pos).css({position:"absolute"}); dialog_widget.offset(pos).css({ position: "absolute" });
dialog.dialog("option", "resize", function() {}); dialog.dialog("option", "resize", function() { /* do nothing */ });
pin_button.button("option", "icons", {primary: "ui-icon-pin-w"}); pin_button.button("option", "icons", {primary: "ui-icon-pin-w"});
} }
@@ -144,8 +146,7 @@ Post.open_edit_dialog = function() {
dialog.parent().mouseout(function(e) { dialog.parent().mouseout(function(e) {
dialog.parent().css({"opacity": 0.6, "transition": "opacity .2s ease"}); dialog.parent().css({"opacity": 0.6, "transition": "opacity .2s ease"});
}) }).mouseover(function(e) {
.mouseover(function(e) {
dialog.parent().css({"opacity": 1}); dialog.parent().css({"opacity": 1});
}); });
@@ -182,15 +183,17 @@ Post.swipe_prev = function(e) {
} }
Post.nav_prev = function(e) { Post.nav_prev = function(e) {
var href = "";
if ($("#search-seq-nav").length) { if ($("#search-seq-nav").length) {
var href = $("#search-seq-nav a[rel~=prev]").attr("href"); href = $("#search-seq-nav a[rel~=prev]").attr("href");
if (href) { if (href) {
location.href = href; location.href = href;
} }
} else if ($(".paginator a[rel~=prev]").length) { } else if ($(".paginator a[rel~=prev]").length) {
location.href = $("a[rel~=prev]").attr("href"); location.href = $("a[rel~=prev]").attr("href");
} else { } else {
var href = $("#pool-nav a.active[rel~=prev], #favgroup-nav a.active[rel~=prev]").attr("href"); href = $("#pool-nav a.active[rel~=prev], #favgroup-nav a.active[rel~=prev]").attr("href");
if (href) { if (href) {
location.href = href; location.href = href;
} }
@@ -200,13 +203,15 @@ Post.nav_prev = function(e) {
} }
Post.nav_next = function(e) { Post.nav_next = function(e) {
var href = "";
if ($("#search-seq-nav").length) { if ($("#search-seq-nav").length) {
var href = $("#search-seq-nav a[rel~=next]").attr("href"); href = $("#search-seq-nav a[rel~=next]").attr("href");
location.href = href; location.href = href;
} else if ($(".paginator a[rel~=next]").length) { } else if ($(".paginator a[rel~=next]").length) {
location.href = $(".paginator a[rel~=next]").attr("href"); location.href = $(".paginator a[rel~=next]").attr("href");
} else { } else {
var href = $("#pool-nav a.active[rel~=next], #favgroup-nav a.active[rel~=next]").attr("href"); href = $("#pool-nav a.active[rel~=next], #favgroup-nav a.active[rel~=next]").attr("href");
if (href) { if (href) {
location.href = href; location.href = href;
} }
@@ -301,8 +306,7 @@ Post.toggle_relationship_preview = function(preview, preview_link) {
if (preview.is(":visible")) { if (preview.is(":visible")) {
preview_link.html("&laquo; hide"); preview_link.html("&laquo; hide");
Cookie.put("show-relationship-previews", "1"); Cookie.put("show-relationship-previews", "1");
} } else {
else {
preview_link.html("show &raquo;"); preview_link.html("show &raquo;");
Cookie.put("show-relationship-previews", "0"); Cookie.put("show-relationship-previews", "0");
} }
@@ -343,7 +347,7 @@ Post.expand_image = function(e) {
$image.attr("src", $link.attr("href")); $image.attr("src", $link.attr("href"));
$image.css("opacity", "0.25"); $image.css("opacity", "0.25");
$image.width($image.data("original-width")); $image.width($image.data("original-width"));
$image.height($image.data("original-height")); $image.height($image.data("original-height"));
$image.on("load", function() { $image.on("load", function() {
$image.css("opacity", "1"); $image.css("opacity", "1");
$notice.hide(); $notice.hide();
@@ -384,14 +388,16 @@ Post.initialize_post_image_resize_links = function() {
} }
Post.resize_image_to_window = function($img) { Post.resize_image_to_window = function($img) {
var sidebar_width = 0;
var client_width = 0;
if (($img.data("scale-factor") === 1) || ($img.data("scale-factor") === undefined)) { if (($img.data("scale-factor") === 1) || ($img.data("scale-factor") === undefined)) {
if ($(window).width() > 660) { if ($(window).width() > 660) {
var sidebar_width = $("#sidebar").width() || 0; sidebar_width = $("#sidebar").width() || 0;
var client_width = $(window).width() - sidebar_width - 75; client_width = $(window).width() - sidebar_width - 75;
} else { } else {
var client_width = $(window).width() - 2; client_width = $(window).width() - 2;
} }
var client_height = $(window).height();
if ($img.width() > client_width) { if ($img.width() > client_width) {
var ratio = client_width / $img.data("original-width"); var ratio = client_width / $img.data("original-width");
@@ -473,7 +479,7 @@ Post.initialize_post_sections = function() {
$("#share").show(); $("#share").show();
addthis.init(); addthis.init();
$("#recommended").hide(); $("#recommended").hide();
} }
$("#post-sections li").removeClass("active"); $("#post-sections li").removeClass("active");
$(e.target).parent("li").addClass("active"); $(e.target).parent("li").addClass("active");
@@ -525,7 +531,7 @@ Post.vote = function(score, id) {
$(window).trigger("danbooru:notice", "Voting..."); $(window).trigger("danbooru:notice", "Voting...");
$.post("/posts/" + id + "/votes.js", { $.post("/posts/" + id + "/votes.js", {
score: score score: score
}); });
} }
@@ -583,12 +589,10 @@ Post.approve = function(post_id) {
Post.favorite = function (e) { Post.favorite = function (e) {
if ($("#add-to-favorites").is(":visible")) { if ($("#add-to-favorites").is(":visible")) {
$("#add-to-favorites")[0].click(); $("#add-to-favorites")[0].click();
} else if (Utility.meta("current-user-id") === "") {
$(window).trigger("danbooru:notice", "You must be logged in to favorite posts");
} else { } else {
if (Utility.meta("current-user-id") == "") { $(window).trigger("danbooru:notice", "You have already favorited this post");
$(window).trigger("danbooru:notice", "You must be logged in to favorite posts");
} else {
$(window).trigger("danbooru:notice", "You have already favorited this post");
}
} }
}; };
@@ -690,4 +694,4 @@ $(document).ready(function() {
Post.initialize_all(); Post.initialize_all();
}); });
export default Post export default Post

View File

@@ -15,18 +15,14 @@ RelatedTag.initialize_all = function() {
RelatedTag.initialize_buttons = function() { RelatedTag.initialize_buttons = function() {
this.common_bind("#related-tags-button", ""); this.common_bind("#related-tags-button", "");
<% TagCategory.related_button_list.each do |category| %> <% TagCategory.related_button_list.each do |category| %>
RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>"); RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>"); // eslint-disable-line indent
<% end %> <% end %>
$("#find-artist-button").click(RelatedTag.find_artist); $("#find-artist-button").click(RelatedTag.find_artist);
} }
RelatedTag.tags_include = function(name) { RelatedTag.tags_include = function(name) {
var current = $("#upload_tag_string,#post_tag_string").val().toLowerCase().match(/\S+/g) || []; var current = $("#upload_tag_string,#post_tag_string").val().toLowerCase().match(/\S+/g) || [];
if ($.inArray(name.toLowerCase(), current) > -1) { return $.inArray(name.toLowerCase(), current) > -1;
return true;
} else {
return false;
}
} }
RelatedTag.common_bind = function(button_name, category) { RelatedTag.common_bind = function(button_name, category) {
@@ -89,7 +85,7 @@ RelatedTag.current_tag = function() {
} }
b++; b++;
return string.slice(a, b); return string.slice(a, b);
} }
RelatedTag.process_response = function(data) { RelatedTag.process_response = function(data) {
@@ -130,7 +126,7 @@ RelatedTag.build_all = function() {
if (wiki_page_tags.length) { if (wiki_page_tags.length) {
$dest.append(RelatedTag.build_html("wiki:" + query, wiki_page_tags, "wiki")); $dest.append(RelatedTag.build_html("wiki:" + query, wiki_page_tags, "wiki"));
} }
$.each(other_wikis, function(i,wiki) { $.each(other_wikis, function(i, wiki) {
$dest.append(RelatedTag.build_html("wiki:" + wiki.title, wiki.wiki_page_tags, "otherwiki" + i.toString())); $dest.append(RelatedTag.build_html("wiki:" + wiki.title, wiki.wiki_page_tags, "otherwiki" + i.toString()));
}); });
if (RelatedTag.recent_artists) { if (RelatedTag.recent_artists) {
@@ -156,7 +152,7 @@ RelatedTag.build_all = function() {
tags.push([artist.name, 1]); tags.push([artist.name, 1]);
}); });
} }
$dest.append(RelatedTag.build_html("artist", tags, "artist", true)); $dest.append(RelatedTag.build_html("artist", tags, "artist", true));
} }
} }
@@ -231,9 +227,10 @@ RelatedTag.build_html = function(query, related_tags, name, is_wide_column) {
); );
} else { } else {
var text = tag[0]; var text = tag[0];
var desc = "";
if (text.match(/^ -http/)) { if (text.match(/^ -http/)) {
text = text.substring(1, 1000); text = text.substring(1, 1000);
var desc = text.replace(/^-https?:\/\//, ""); desc = text.replace(/^-https?:\/\//, "");
if (desc.length > 30) { if (desc.length > 30) {
desc = desc.substring(0, 30) + "..."; desc = desc.substring(0, 30) + "...";
} }
@@ -244,7 +241,7 @@ RelatedTag.build_html = function(query, related_tags, name, is_wide_column) {
); );
} else if (text.match(/^ http/)) { } else if (text.match(/^ http/)) {
text = text.substring(1, 1000); text = text.substring(1, 1000);
var desc = text.replace(/^https?:\/\//, ""); desc = text.replace(/^https?:\/\//, "");
if (desc.length > 30) { if (desc.length > 30) {
desc = desc.substring(0, 30) + "..."; desc = desc.substring(0, 30) + "...";
} }
@@ -284,7 +281,7 @@ RelatedTag.toggle_tag = function(e) {
RelatedTag.process_artist(RelatedTag.recent_artist); RelatedTag.process_artist(RelatedTag.recent_artist);
} }
//The timeout is needed on Chrome since it will clobber the field attribute otherwise // The timeout is needed on Chrome since it will clobber the field attribute otherwise
setTimeout(function () { $field.prop('selectionStart', $field.val().length);}, 100); setTimeout(function () { $field.prop('selectionStart', $field.val().length);}, 100);
e.preventDefault(); e.preventDefault();
} }
@@ -295,7 +292,7 @@ RelatedTag.find_artist = function(e) {
var referer_url = $("#upload_referer_url"); var referer_url = $("#upload_referer_url");
$.get("/artists/finder.json", {"url": url.val(), "referer_url": referer_url.val()}, RelatedTag.process_artist); $.get("/artists/finder.json", {"url": url.val(), "referer_url": referer_url.val()}, RelatedTag.process_artist);
if (e) { if (e) {
e.preventDefault(); e.preventDefault();
} }
} }
@@ -328,12 +325,12 @@ RelatedTag.hide = function() {
RelatedTag.disable_artist_url = function(e) { RelatedTag.disable_artist_url = function(e) {
var url = e.currentTarget.href; var url = e.currentTarget.href;
$.each(RelatedTag.recent_artists[0].sorted_urls, function(k, v) { $.each(RelatedTag.recent_artists[0].sorted_urls, function(k, v) {
if (v["normalized_url"] === url || v["url"] === url) { if (v.normalized_url === url || v.url === url) {
if (!confirm("This will mark the URL as inactive. Continue?")) { if (!confirm("This will mark the URL as inactive. Continue?")) {
return; return;
} }
$.ajax("/artist_urls/" + v["id"], { $.ajax("/artist_urls/" + v.id, {
method: "PUT", method: "PUT",
data: { data: {
artist_url: { artist_url: {

View File

@@ -17,4 +17,4 @@ SavedSearch.labels = function(term) {
$(SavedSearch.initialize_all); $(SavedSearch.initialize_all);
export default SavedSearch export default SavedSearch

View File

@@ -14,7 +14,7 @@ Shortcuts.initialize = function() {
if ($("#image").length) { // post page or bookmarklet upload page if ($("#image").length) { // post page or bookmarklet upload page
Utility.keydown("shift+e", "edit_dialog", function(e) { Utility.keydown("shift+e", "edit_dialog", function(e) {
if (Utility.meta("current-user-id") == "") { // anonymous if (Utility.meta("current-user-id") === "") { // anonymous
return; return;
} }
@@ -56,4 +56,4 @@ $(document).ready(function() {
Shortcuts.initialize(); Shortcuts.initialize();
}); });
export default Shortcuts export default Shortcuts

View File

@@ -16,10 +16,8 @@ TagScript.test = function(tags, predicate) {
if ($.inArray(x.substr(1, 100), tags)) { if ($.inArray(x.substr(1, 100), tags)) {
is_true = false; is_true = false;
} }
} else { } else if (!$.inArray(x, tags)) {
if (!$.inArray(x, tags)) { is_true = false;
is_true = false;
}
} }
}); });
@@ -57,4 +55,4 @@ TagScript.run = function(post_id, tag_script) {
Post.update(post_id, {"post[old_tag_string]": old_tags, "post[tag_string]": $post.data("tags")}); Post.update(post_id, {"post[old_tag_string]": old_tags, "post[tag_string]": $post.data("tags")});
} }
export default TagScript export default TagScript

View File

@@ -50,7 +50,7 @@ Ugoira.create_player = (mime_type, frames, file_url) => {
$("#seek-slider").slider({ $("#seek-slider").slider({
min: 0, min: 0,
max: Ugoira.player._frameCount-1, max: Ugoira.player._frameCount - 1,
start: (event, ui) => { start: (event, ui) => {
// Need to pause while slider is being dragged or playback speed will bug out // Need to pause while slider is being dragged or playback speed will bug out
Ugoira.player.pause(); Ugoira.player.pause();

View File

@@ -1,6 +1,5 @@
import Utility from './utility' import Utility from './utility'
import Post from './posts.js.erb' import Post from './posts.js.erb'
import Artist from './artists'
import RelatedTag from './related_tag.js.erb' import RelatedTag from './related_tag.js.erb'
let Upload = {}; let Upload = {};
@@ -45,8 +44,8 @@ Upload.initialize_submit = function() {
error_messages.push("Must specify a rating"); error_messages.push("Must specify a rating");
} }
if (error_messages.length === 0) { if (error_messages.length === 0) {
$("#submit-button").prop("disabled","true"); $("#submit-button").prop("disabled", "true");
$("#submit-button").prop("value","Submitting..."); $("#submit-button").prop("value", "Submitting...");
$("#client-errors").hide(); $("#client-errors").hide();
} else { } else {
$("#client-errors").html("<strong>Error</strong>: " + error_messages.join(", ")); $("#client-errors").html("<strong>Error</strong>: " + error_messages.join(", "));
@@ -112,7 +111,7 @@ Upload.fetch_source_data = function(url, referer_url) {
return $.getJSON("/source.json", { url: url, ref: referer_url }) return $.getJSON("/source.json", { url: url, ref: referer_url })
.then(Upload.fill_source_info) .then(Upload.fill_source_info)
.catch(function(data) { .catch(function(data) {
$("#source-info span#loading-data").html("Error: " + data.responseJSON["message"]) $("#source-info span#loading-data").html("Error: " + data.responseJSON.message)
}); });
} }

View File

@@ -22,7 +22,7 @@ Utility.scroll_to = function(element) {
} }
var top = null; var top = null;
if (typeof(element) === "number") { if (typeof element === "number") {
top = element; top = element;
} else { } else {
top = element.offset().top - 10; top = element.offset().top - 10;
@@ -76,8 +76,7 @@ Utility.intersect = function(a, b) {
a = a.slice(0).sort(); a = a.slice(0).sort();
b = b.slice(0).sort(); b = b.slice(0).sort();
var result = []; var result = [];
while (a.length > 0 && b.length > 0) while (a.length > 0 && b.length > 0) {
{
if (a[0] < b[0]) { if (a[0] < b[0]) {
a.shift(); a.shift();
} else if (a[0] > b[0]) { } else if (a[0] > b[0]) {
@@ -138,7 +137,7 @@ $.fn.selectRange = function(start, end) {
}); });
}; };
$.fn.selectEnd = function(){ $.fn.selectEnd = function() {
if (this.length) { if (this.length) {
this.selectRange(this.val().length, this.val().length); this.selectRange(this.val().length, this.val().length);
} }

View File

@@ -1,5 +1,8 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'development' process.env.NODE_ENV = process.env.NODE_ENV || 'development'
const environment = require('./environment') const environment = require('./environment')
const eslint = require('./loaders/eslint')
environment.loaders.append('eslint', eslint);
module.exports = environment.toWebpackConfig() module.exports = environment.toWebpackConfig()

View File

@@ -0,0 +1,10 @@
module.exports = {
enforce: 'pre',
test: /\.(js)$/i,
exclude: /node_modules|vendor/,
loader: 'eslint-loader',
options: {
cache: true,
emitWarning: true,
}
}

View File

@@ -1,4 +1,5 @@
{ {
"license": "MIT",
"dependencies": { "dependencies": {
"@rails/webpacker": "^3.5.3", "@rails/webpacker": "^3.5.3",
"debug-loader": "^0.0.1", "debug-loader": "^0.0.1",
@@ -12,6 +13,12 @@
"webpack-cli": "^3.0.8" "webpack-cli": "^3.0.8"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^5.3.0",
"eslint-loader": "^2.1.0",
"eslint-plugin-ignore-erb": "^0.1.1",
"webpack-dev-server": "^2.11.1" "webpack-dev-server": "^2.11.1"
},
"scripts": {
"lint": "yarn run eslint --plugin eslint-plugin-ignore-erb --ext .js,.js.erb app/javascript/src/javascripts"
} }
} }

382
yarn.lock
View File

@@ -48,15 +48,21 @@ acorn-dynamic-import@^2.0.0:
dependencies: dependencies:
acorn "^4.0.3" acorn "^4.0.3"
acorn-jsx@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e"
dependencies:
acorn "^5.0.3"
acorn@^4.0.3: acorn@^4.0.3:
version "4.0.13" version "4.0.13"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
acorn@^5.0.0: acorn@^5.0.0, acorn@^5.0.3, acorn@^5.6.0:
version "5.7.1" version "5.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
ajv-keywords@^3.1.0: ajv-keywords@^3.0.0, ajv-keywords@^3.1.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
@@ -76,7 +82,7 @@ ajv@^5.0.0, ajv@^5.1.0:
fast-json-stable-stringify "^2.0.0" fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0" json-schema-traverse "^0.3.0"
ajv@^6.1.0: ajv@^6.0.1, ajv@^6.1.0, ajv@^6.5.0:
version "6.5.2" version "6.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360"
dependencies: dependencies:
@@ -206,6 +212,10 @@ array-unique@^0.3.2:
version "0.3.2" version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
arrify@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
asn1.js@^4.0.0: asn1.js@^4.0.0:
version "4.10.1" version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
@@ -1061,6 +1071,16 @@ cache-base@^1.0.1:
union-value "^1.0.0" union-value "^1.0.0"
unset-value "^1.0.0" unset-value "^1.0.0"
caller-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
dependencies:
callsites "^0.2.0"
callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
camelcase-keys@^2.0.0: camelcase-keys@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@@ -1135,7 +1155,7 @@ chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
supports-color "^2.0.0" supports-color "^2.0.0"
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1: chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1:
version "2.4.1" version "2.4.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
dependencies: dependencies:
@@ -1143,6 +1163,10 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1:
escape-string-regexp "^1.0.5" escape-string-regexp "^1.0.5"
supports-color "^5.3.0" supports-color "^5.3.0"
chardet@^0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
chardet@^0.5.0: chardet@^0.5.0:
version "0.5.0" version "0.5.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029"
@@ -1177,6 +1201,10 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1" inherits "^2.0.1"
safe-buffer "^5.0.1" safe-buffer "^5.0.1"
circular-json@^0.3.1:
version "0.3.3"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
clap@^1.0.9: clap@^1.0.9:
version "1.2.3" version "1.2.3"
resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
@@ -1680,6 +1708,10 @@ deep-extend@^0.6.0:
version "0.6.0" version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
define-properties@^1.1.2: define-properties@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
@@ -1710,6 +1742,18 @@ defined@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
del@^2.0.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
dependencies:
globby "^5.0.0"
is-path-cwd "^1.0.0"
is-path-in-cwd "^1.0.0"
object-assign "^4.0.1"
pify "^2.0.0"
pinkie-promise "^2.0.0"
rimraf "^2.2.8"
del@^3.0.0: del@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
@@ -1787,6 +1831,12 @@ dns-txt@^2.0.2:
dependencies: dependencies:
buffer-indexof "^1.0.0" buffer-indexof "^1.0.0"
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
dependencies:
esutils "^2.0.2"
domain-browser@^1.1.1: domain-browser@^1.1.1:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
@@ -1869,7 +1919,7 @@ error-ex@^1.2.0:
dependencies: dependencies:
is-arrayish "^0.2.1" is-arrayish "^0.2.1"
es-abstract@^1.7.0: es-abstract@^1.10.0, es-abstract@^1.7.0:
version "1.12.0" version "1.12.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
dependencies: dependencies:
@@ -1957,6 +2007,88 @@ escope@^3.6.0:
esrecurse "^4.1.0" esrecurse "^4.1.0"
estraverse "^4.1.1" estraverse "^4.1.1"
eslint-loader@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.0.tgz#61334c548aeb0b8e20ec3a552fb7a88c47261c6a"
dependencies:
loader-fs-cache "^1.0.0"
loader-utils "^1.0.2"
object-assign "^4.0.1"
object-hash "^1.1.4"
rimraf "^2.6.1"
eslint-plugin-ignore-erb@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-ignore-erb/-/eslint-plugin-ignore-erb-0.1.1.tgz#951497d935c7d8a713a67f6bbbaa92e29bf0826d"
dependencies:
requireindex "~1.1.0"
eslint-scope@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
dependencies:
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"
eslint@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.3.0.tgz#53695aca5213968aacdf970ccb231e42a2b285f8"
dependencies:
ajv "^6.5.0"
babel-code-frame "^6.26.0"
chalk "^2.1.0"
cross-spawn "^6.0.5"
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"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
functional-red-black-tree "^1.0.1"
glob "^7.1.2"
globals "^11.7.0"
ignore "^4.0.2"
imurmurhash "^0.1.4"
inquirer "^5.2.0"
is-resolvable "^1.1.0"
js-yaml "^3.11.0"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.3.0"
lodash "^4.17.5"
minimatch "^3.0.4"
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 "^2.0.0"
require-uncached "^1.0.3"
semver "^5.5.0"
string.prototype.matchall "^2.0.0"
strip-ansi "^4.0.0"
strip-json-comments "^2.0.1"
table "^4.0.3"
text-table "^0.2.0"
espree@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634"
dependencies:
acorn "^5.6.0"
acorn-jsx "^4.1.1"
esprima@^2.6.0: esprima@^2.6.0:
version "2.7.3" version "2.7.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
@@ -1965,13 +2097,19 @@ esprima@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
esquery@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
dependencies:
estraverse "^4.0.0"
esrecurse@^4.1.0: esrecurse@^4.1.0:
version "4.2.1" version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
dependencies: dependencies:
estraverse "^4.1.0" estraverse "^4.1.0"
estraverse@^4.1.0, estraverse@^4.1.1: estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
version "4.2.0" version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -2107,6 +2245,14 @@ extend@~3.0.0, extend@~3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
external-editor@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
dependencies:
chardet "^0.4.0"
iconv-lite "^0.4.17"
tmp "^0.0.33"
external-editor@^3.0.0: external-editor@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.0.tgz#dc35c48c6f98a30ca27a20e9687d7f3c77704bb6" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.0.tgz#dc35c48c6f98a30ca27a20e9687d7f3c77704bb6"
@@ -2163,6 +2309,10 @@ fast-json-stable-stringify@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
fastparse@^1.1.1: fastparse@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
@@ -2185,6 +2335,13 @@ figures@^2.0.0:
dependencies: dependencies:
escape-string-regexp "^1.0.5" escape-string-regexp "^1.0.5"
file-entry-cache@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
dependencies:
flat-cache "^1.2.1"
object-assign "^4.0.1"
file-loader@^1.1.11: file-loader@^1.1.11:
version "1.1.11" version "1.1.11"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8"
@@ -2227,6 +2384,14 @@ finalhandler@1.1.1:
statuses "~1.4.0" statuses "~1.4.0"
unpipe "~1.0.0" unpipe "~1.0.0"
find-cache-dir@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
dependencies:
commondir "^1.0.1"
mkdirp "^0.5.1"
pkg-dir "^1.0.0"
find-cache-dir@^1.0.0: find-cache-dir@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
@@ -2248,6 +2413,15 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies: dependencies:
locate-path "^2.0.0" locate-path "^2.0.0"
flat-cache@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
dependencies:
circular-json "^0.3.1"
del "^2.0.2"
graceful-fs "^4.1.2"
write "^0.2.1"
flatten@^1.0.2: flatten@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
@@ -2379,6 +2553,10 @@ function-bind@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
gauge@~2.7.3: gauge@~2.7.3:
version "2.7.4" version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -2465,10 +2643,25 @@ global-modules-path@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.1.0.tgz#923ec524e8726bb0c1a4ed4b8e21e1ff80c88bbb" resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.1.0.tgz#923ec524e8726bb0c1a4ed4b8e21e1ff80c88bbb"
globals@^11.7.0:
version "11.7.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673"
globals@^9.18.0: globals@^9.18.0:
version "9.18.0" version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
globby@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
dependencies:
array-union "^1.0.1"
arrify "^1.0.0"
glob "^7.0.3"
object-assign "^4.0.1"
pify "^2.0.0"
pinkie-promise "^2.0.0"
globby@^6.1.0: globby@^6.1.0:
version "6.1.0" version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
@@ -2539,6 +2732,10 @@ has-flag@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
has-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
has-unicode@^2.0.0: has-unicode@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
@@ -2706,7 +2903,7 @@ iconv-lite@0.4.19:
version "0.4.19" version "0.4.19"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
iconv-lite@^0.4.22, iconv-lite@^0.4.4: iconv-lite@^0.4.17, iconv-lite@^0.4.22, iconv-lite@^0.4.4:
version "0.4.23" version "0.4.23"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
dependencies: dependencies:
@@ -2736,6 +2933,10 @@ ignore-walk@^3.0.1:
dependencies: dependencies:
minimatch "^3.0.4" minimatch "^3.0.4"
ignore@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.3.tgz#e2d58c9654d75b542529fa28d80ac95b29e4f467"
imagesloaded@>=3.0.0: imagesloaded@>=3.0.0:
version "4.1.4" version "4.1.4"
resolved "https://registry.yarnpkg.com/imagesloaded/-/imagesloaded-4.1.4.tgz#1376efcd162bb768c34c3727ac89cc04051f3cc7" resolved "https://registry.yarnpkg.com/imagesloaded/-/imagesloaded-4.1.4.tgz#1376efcd162bb768c34c3727ac89cc04051f3cc7"
@@ -2790,6 +2991,24 @@ ini@~1.3.0:
version "1.3.5" version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
inquirer@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726"
dependencies:
ansi-escapes "^3.0.0"
chalk "^2.0.0"
cli-cursor "^2.1.0"
cli-width "^2.0.0"
external-editor "^2.1.0"
figures "^2.0.0"
lodash "^4.3.0"
mute-stream "0.0.7"
run-async "^2.2.0"
rxjs "^5.5.2"
string-width "^2.1.0"
strip-ansi "^4.0.0"
through "^2.3.6"
inquirer@^6.0.0: inquirer@^6.0.0:
version "6.0.0" version "6.0.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.0.0.tgz#e8c20303ddc15bbfc2c12a6213710ccd9e1413d8" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.0.0.tgz#e8c20303ddc15bbfc2c12a6213710ccd9e1413d8"
@@ -3038,6 +3257,10 @@ is-regex@^1.0.4:
dependencies: dependencies:
has "^1.0.1" has "^1.0.1"
is-resolvable@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
is-stream@^1.1.0: is-stream@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -3158,6 +3381,10 @@ json-schema@0.2.3:
version "0.2.3" version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
json-stable-stringify@^1.0.1: json-stable-stringify@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
@@ -3235,6 +3462,13 @@ lcid@^1.0.0:
dependencies: dependencies:
invert-kv "^1.0.0" invert-kv "^1.0.0"
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
dependencies:
prelude-ls "~1.1.2"
type-check "~0.3.2"
load-json-file@^1.0.0: load-json-file@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@@ -3254,6 +3488,13 @@ load-json-file@^2.0.0:
pify "^2.0.0" pify "^2.0.0"
strip-bom "^3.0.0" strip-bom "^3.0.0"
loader-fs-cache@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc"
dependencies:
find-cache-dir "^0.1.1"
mkdirp "0.5.1"
loader-runner@^2.3.0: loader-runner@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@@ -3335,7 +3576,7 @@ lodash.uniq@^4.5.0:
version "4.5.0" version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.3.0, lodash@~4.17.10: "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.10:
version "4.17.10" version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
@@ -3575,7 +3816,7 @@ mixin-object@^2.0.1:
for-in "^0.1.3" for-in "^0.1.3"
is-extendable "^0.1.1" is-extendable "^0.1.1"
mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1" version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies: dependencies:
@@ -3631,6 +3872,10 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1" snapdragon "^0.8.1"
to-regex "^3.0.1" to-regex "^3.0.1"
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
needle@^2.2.0: needle@^2.2.0:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
@@ -3834,6 +4079,10 @@ object-copy@^0.1.0:
define-property "^0.2.5" define-property "^0.2.5"
kind-of "^3.0.3" kind-of "^3.0.3"
object-hash@^1.1.4:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.0.tgz#76d9ba6ff113cf8efc0d996102851fe6723963e2"
object-keys@^1.0.8: object-keys@^1.0.8:
version "1.0.12" version "1.0.12"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
@@ -3893,6 +4142,17 @@ opn@^5.1.0:
dependencies: dependencies:
is-wsl "^1.1.0" is-wsl "^1.1.0"
optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
dependencies:
deep-is "~0.1.3"
fast-levenshtein "~2.0.4"
levn "~0.3.0"
prelude-ls "~1.1.2"
type-check "~0.3.2"
wordwrap "~1.0.0"
original@>=0.0.5: original@>=0.0.5:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190"
@@ -4027,7 +4287,7 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
path-is-inside@^1.0.1: path-is-inside@^1.0.1, path-is-inside@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
@@ -4101,6 +4361,12 @@ pixrem@^4.0.0:
postcss "^6.0.0" postcss "^6.0.0"
reduce-css-calc "^1.2.7" reduce-css-calc "^1.2.7"
pkg-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
dependencies:
find-up "^1.0.0"
pkg-dir@^2.0.0: pkg-dir@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
@@ -4114,6 +4380,10 @@ pleeease-filters@^4.0.0:
onecolor "^3.0.4" onecolor "^3.0.4"
postcss "^6.0.1" postcss "^6.0.1"
pluralize@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
portfinder@^1.0.9: portfinder@^1.0.9:
version "1.0.13" version "1.0.13"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
@@ -4640,6 +4910,10 @@ postcss@^6.0, postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.14,
source-map "^0.6.1" source-map "^0.6.1"
supports-color "^5.4.0" supports-color "^5.4.0"
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
prepend-http@^1.0.0: prepend-http@^1.0.0:
version "1.0.4" version "1.0.4"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
@@ -4660,6 +4934,10 @@ process@^0.11.10:
version "0.11.10" version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
progress@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
promise-inflight@^1.0.1: promise-inflight@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -4930,6 +5208,16 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2" extend-shallow "^3.0.2"
safe-regex "^1.1.0" safe-regex "^1.1.0"
regexp.prototype.flags@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
dependencies:
define-properties "^1.1.2"
regexpp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.0.tgz#b2a7534a85ca1b033bcf5ce9ff8e56d4e0755365"
regexpu-core@^1.0.0: regexpu-core@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
@@ -5038,6 +5326,17 @@ require-main-filename@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
require-uncached@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
dependencies:
caller-path "^0.1.0"
resolve-from "^1.0.0"
requireindex@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162"
requires-port@^1.0.0: requires-port@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
@@ -5048,6 +5347,10 @@ resolve-cwd@^2.0.0:
dependencies: dependencies:
resolve-from "^3.0.0" resolve-from "^3.0.0"
resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
resolve-from@^3.0.0: resolve-from@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
@@ -5112,6 +5415,12 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies: dependencies:
aproba "^1.1.1" aproba "^1.1.1"
rxjs@^5.5.2:
version "5.5.11"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.11.tgz#f733027ca43e3bec6b994473be4ab98ad43ced87"
dependencies:
symbol-observable "1.0.1"
rxjs@^6.1.0: rxjs@^6.1.0:
version "6.2.1" version "6.2.1"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.1.tgz#246cebec189a6cbc143a3ef9f62d6f4c91813ca1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.1.tgz#246cebec189a6cbc143a3ef9f62d6f4c91813ca1"
@@ -5323,6 +5632,12 @@ slash@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
slice-ansi@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
dependencies:
is-fullwidth-code-point "^2.0.0"
snapdragon-node@^2.0.1: snapdragon-node@^2.0.1:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -5562,6 +5877,16 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^2.0.0" is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0" strip-ansi "^4.0.0"
string.prototype.matchall@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz#2af8fe3d2d6dc53ca2a59bd376b089c3c152b3c8"
dependencies:
define-properties "^1.1.2"
es-abstract "^1.10.0"
function-bind "^1.1.1"
has-symbols "^1.0.0"
regexp.prototype.flags "^1.2.0"
string_decoder@^1.0.0, string_decoder@~1.1.1: string_decoder@^1.0.0, string_decoder@~1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -5604,7 +5929,7 @@ strip-indent@^1.0.1:
dependencies: dependencies:
get-stdin "^4.0.1" get-stdin "^4.0.1"
strip-json-comments@~2.0.1: strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -5649,6 +5974,21 @@ svgo@^0.7.0:
sax "~1.2.1" sax "~1.2.1"
whet.extend "~0.9.9" whet.extend "~0.9.9"
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.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
dependencies:
ajv "^6.0.1"
ajv-keywords "^3.0.0"
chalk "^2.1.0"
lodash "^4.17.4"
slice-ansi "1.0.0"
string-width "^2.1.1"
tapable@^0.2.7: tapable@^0.2.7:
version "0.2.8" version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
@@ -5677,6 +6017,10 @@ tar@^4:
safe-buffer "^5.1.2" safe-buffer "^5.1.2"
yallist "^3.0.2" yallist "^3.0.2"
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
through2@^2.0.0: through2@^2.0.0:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
@@ -5776,6 +6120,12 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5" version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
dependencies:
prelude-ls "~1.1.2"
type-is@~1.6.15, type-is@~1.6.16: type-is@~1.6.15, type-is@~1.6.16:
version "1.6.16" version "1.6.16"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
@@ -6126,6 +6476,10 @@ wordwrap@0.0.2:
version "0.0.2" version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
worker-farm@^1.5.2: worker-farm@^1.5.2:
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0"
@@ -6143,6 +6497,12 @@ wrappy@1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
write@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
dependencies:
mkdirp "^0.5.1"
xtend@^4.0.0, xtend@~4.0.1: xtend@^4.0.0, xtend@~4.0.1:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"