From 8dbc1b0503e941014be710cfe8e4b030b6f1b1c2 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 29 Aug 2018 21:42:57 -0700 Subject: [PATCH] =?UTF-8?q?Update=20standard=20to=20the=20latest=20version?= =?UTF-8?q?=20=F0=9F=9A=80=20(#519)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(package): update standard to version 12.0.0 * package lock update * fix eslint --- bin/build-inline-script.js | 2 +- bin/build-sass.js | 8 +- bin/run-mastodon.js | 14 +- bin/svgs.js | 76 +- package-lock.json | 814 +++++++++--------- package.json | 2 +- routes/_actions/accounts.js | 10 +- routes/_actions/addInstance.js | 10 +- routes/_actions/addStatusOrNotification.js | 8 +- routes/_actions/autosuggest.js | 8 +- routes/_actions/compose.js | 4 +- routes/_actions/emoji.js | 4 +- routes/_actions/followRequests.js | 6 +- routes/_actions/instances.js | 6 +- routes/_actions/lists.js | 2 +- routes/_actions/media.js | 4 +- routes/_actions/pinnedStatuses.js | 2 +- routes/_actions/postPrivacy.js | 2 +- routes/_actions/search.js | 4 +- routes/_actions/timeline.js | 4 +- routes/_api/block.js | 4 +- routes/_api/blockDomain.js | 4 +- routes/_api/blockedAndMuted.js | 4 +- routes/_api/delete.js | 2 +- routes/_api/emoji.js | 2 +- routes/_api/favorite.js | 4 +- routes/_api/follow.js | 4 +- routes/_api/followsAndFollowers.js | 4 +- routes/_api/instance.js | 2 +- routes/_api/lists.js | 2 +- routes/_api/media.js | 4 +- routes/_api/mute.js | 4 +- routes/_api/muteConversation.js | 4 +- routes/_api/oauth.js | 4 +- routes/_api/pin.js | 4 +- routes/_api/pinnedStatuses.js | 2 +- routes/_api/reblogsAndFavs.js | 4 +- routes/_api/relationships.js | 4 +- routes/_api/requests.js | 4 +- routes/_api/search.js | 2 +- routes/_api/showReblogs.js | 2 +- routes/_api/statuses.js | 6 +- routes/_api/timelines.js | 2 +- routes/_api/updateCredentials.js | 2 +- routes/_api/user.js | 4 +- routes/_components/AccountsListPage.html | 2 +- routes/_components/IconButton.html | 2 +- routes/_components/Layout.html | 2 +- routes/_components/LazyImage.html | 4 +- routes/_components/LazyPage.html | 2 +- routes/_components/LoadingPage.html | 2 +- routes/_components/NavItem.html | 6 +- routes/_components/NonAutoplayGifv.html | 2 +- routes/_components/NonAutoplayImg.html | 2 +- .../_components/community/PageListItem.html | 4 +- .../compose/ComposeAutosuggest.html | 2 +- routes/_components/compose/ComposeBox.html | 6 +- .../compose/ComposeContentWarning.html | 4 +- routes/_components/compose/ComposeInput.html | 18 +- .../compose/ComposeLengthGauge.html | 8 +- .../compose/ComposeLengthIndicator.html | 6 +- .../_components/compose/ComposeMediaItem.html | 6 +- .../dialog/components/ConfirmationDialog.html | 2 +- .../components/StatusOptionsDialog.html | 52 +- routes/_components/list/List.html | 2 +- routes/_components/list/ListLazyItem.html | 2 +- .../profile/AccountProfileFollow.html | 2 +- routes/_components/status/Status.html | 2 +- .../_components/status/StatusComposeBox.html | 2 +- .../status/StatusMediaAttachments.html | 2 +- routes/_components/status/StatusSpoiler.html | 2 +- routes/_components/status/StatusToolbar.html | 2 +- routes/_components/timeline/LazyTimeline.html | 4 +- routes/_components/timeline/Timeline.html | 10 +- .../_components/virtualList/VirtualList.html | 8 +- .../virtualList/VirtualListContainer.html | 4 +- .../virtualList/VirtualListFooter.html | 2 +- .../virtualList/VirtualListHeader.html | 10 +- .../virtualList/VirtualListItem.html | 2 +- .../virtualList/VirtualListLazyItem.html | 2 +- .../virtualList/virtualListStore.js | 2 +- routes/_database/cache.js | 2 +- routes/_database/databaseLifecycle.js | 8 +- routes/_pages/pinned.html | 2 +- routes/_static/animations.js | 16 +- routes/_store/LocalStorageStore.js | 2 +- routes/_store/mixins/instanceMixins.js | 4 +- routes/_store/observers/onlineObservers.js | 4 +- .../observers/pageVisibilityObservers.js | 2 +- routes/_store/observers/resizeObservers.js | 2 +- routes/_store/observers/timelineObservers.js | 4 +- routes/_store/store.js | 2 +- routes/_utils/RealmStore.js | 10 +- routes/_utils/autosize.js | 2 +- routes/_utils/delegate.js | 2 +- routes/_utils/reselect.js | 2 +- routes/_utils/smoothScrollToTop.js | 4 +- server.js | 2 +- tests/blobUtils.js | 2 +- tests/fixtures.js | 132 +-- tests/roles.js | 2 +- tests/serverActions.js | 2 +- tests/spec/002-login-spec.js | 12 +- tests/spec/003-basic-timeline-spec.js | 10 +- tests/spec/009-threads.js | 2 +- tests/spec/010-focus.js | 4 +- tests/spec/012-compose.js | 6 +- tests/spec/015-compose-content-warnings.js | 10 +- tests/spec/017-compose-reply.js | 4 +- tests/spec/018-compose-autosuggest.js | 24 +- tests/spec/103-compose.js | 4 +- tests/spec/105-deletes.js | 26 +- tests/spec/107-streaming-gap.js | 12 +- tests/spec/108-compose-dialog.js | 4 +- tests/spec/110-compose-content-warnings.js | 14 +- tests/spec/111-focus.js | 6 +- tests/spec/112-status-links.js | 4 +- tests/spec/113-block-unblock.js | 2 +- tests/spec/114-mute-unmute.js | 2 +- tests/spec/116-follow-requests.js | 6 +- tests/spec/117-pin-unpin.js | 2 +- tests/utils.js | 2 +- 122 files changed, 810 insertions(+), 820 deletions(-) diff --git a/bin/build-inline-script.js b/bin/build-inline-script.js index 3942e6d..5c83123 100644 --- a/bin/build-inline-script.js +++ b/bin/build-inline-script.js @@ -15,7 +15,7 @@ async function main () { let checksum = crypto.createHash('sha256').update(headScript).digest('base64') let checksumFilepath = path.join(__dirname, '../inline-script-checksum.json') - await writeFile(checksumFilepath, JSON.stringify({checksum}), 'utf8') + await writeFile(checksumFilepath, JSON.stringify({ checksum }), 'utf8') let html2xxFilepath = path.join(__dirname, '../templates/2xx.html') let html2xxFile = await readFile(html2xxFilepath, 'utf8') diff --git a/bin/build-sass.js b/bin/build-sass.js index 31ba91e..52c51aa 100755 --- a/bin/build-sass.js +++ b/bin/build-sass.js @@ -37,9 +37,9 @@ function doWatch () { async function compileGlobalSass () { let results = await Promise.all([ - render({file: defaultThemeScss, outputStyle: 'compressed'}), - render({file: globalScss, outputStyle: 'compressed'}), - render({file: offlineThemeScss, outputStyle: 'compressed'}) + render({ file: defaultThemeScss, outputStyle: 'compressed' }), + render({ file: globalScss, outputStyle: 'compressed' }), + render({ file: offlineThemeScss, outputStyle: 'compressed' }) ]) let css = results.map(_ => _.css).join('') @@ -54,7 +54,7 @@ async function compileGlobalSass () { async function compileThemesSass () { let files = (await readdir(themesScssDir)).filter(file => !path.basename(file).startsWith('_')) await Promise.all(files.map(async file => { - let res = await render({file: path.join(themesScssDir, file), outputStyle: 'compressed'}) + let res = await render({ file: path.join(themesScssDir, file), outputStyle: 'compressed' }) let outputFilename = 'theme-' + path.basename(file).replace(/\.scss$/, '.css') await writeFile(path.join(assetsDir, outputFilename), res.css, 'utf8') })) diff --git a/bin/run-mastodon.js b/bin/run-mastodon.js index 9b34444..cd4a7c5 100644 --- a/bin/run-mastodon.js +++ b/bin/run-mastodon.js @@ -56,24 +56,24 @@ async function setupMastodonDatabase () { try { await exec(`dropdb -h 127.0.0.1 -U ${DB_USER} -w ${DB_NAME}`, { cwd: mastodonDir, - env: Object.assign({PGPASSWORD: DB_PASS}, process.env) + env: Object.assign({ PGPASSWORD: DB_PASS }, process.env) }) } catch (e) { /* ignore */ } await exec(`createdb -h 127.0.0.1 -U ${DB_USER} -w ${DB_NAME}`, { cwd: mastodonDir, - env: Object.assign({PGPASSWORD: DB_PASS}, process.env) + env: Object.assign({ PGPASSWORD: DB_PASS }, process.env) }) let dumpFile = path.join(dir, '../fixtures/dump.sql') await exec(`psql -h 127.0.0.1 -U ${DB_USER} -w -d ${DB_NAME} -f "${dumpFile}"`, { cwd: mastodonDir, - env: Object.assign({PGPASSWORD: DB_PASS}, process.env) + env: Object.assign({ PGPASSWORD: DB_PASS }, process.env) }) let tgzFile = path.join(dir, '../fixtures/system.tgz') let systemDir = path.join(mastodonDir, 'public/system') await mkdirp(systemDir) - await exec(`tar -xzf "${tgzFile}"`, {cwd: systemDir}) + await exec(`tar -xzf "${tgzFile}"`, { cwd: systemDir }) } async function runMastodon () { @@ -97,10 +97,10 @@ async function runMastodon () { for (let cmd of cmds) { console.log(cmd) - await exec(cmd, {cwd, env}) + await exec(cmd, { cwd, env }) } - const promise = spawn('foreman', ['start'], {cwd, env}) - const log = fs.createWriteStream('mastodon.log', {flags: 'a'}) + const promise = spawn('foreman', ['start'], { cwd, env }) + const log = fs.createWriteStream('mastodon.log', { flags: 'a' }) childProc = promise.childProcess childProc.stdout.pipe(log) childProc.stderr.pipe(log) diff --git a/bin/svgs.js b/bin/svgs.js index 9462713..50969dd 100644 --- a/bin/svgs.js +++ b/bin/svgs.js @@ -1,40 +1,40 @@ module.exports = [ - {id: 'pinafore-logo', src: 'original-assets/sailboat.svg', title: 'Home'}, - {id: 'fa-bell', src: 'node_modules/font-awesome-svg-png/white/svg/bell.svg', title: 'Notifications'}, - {id: 'fa-users', src: 'node_modules/font-awesome-svg-png/white/svg/users.svg', title: 'Local'}, - {id: 'fa-globe', src: 'node_modules/font-awesome-svg-png/white/svg/globe.svg', title: 'Federated'}, - {id: 'fa-gear', src: 'node_modules/font-awesome-svg-png/white/svg/gear.svg', title: 'Settings'}, - {id: 'fa-reply', src: 'node_modules/font-awesome-svg-png/white/svg/reply.svg', title: 'Reply'}, - {id: 'fa-reply-all', src: 'node_modules/font-awesome-svg-png/white/svg/reply-all.svg', title: 'Reply to thread'}, - {id: 'fa-retweet', src: 'node_modules/font-awesome-svg-png/white/svg/retweet.svg', title: 'Boost'}, - {id: 'fa-star', src: 'node_modules/font-awesome-svg-png/white/svg/star.svg', title: 'Favorite'}, - {id: 'fa-ellipsis-h', src: 'node_modules/font-awesome-svg-png/white/svg/ellipsis-h.svg', title: 'More'}, - {id: 'fa-spinner', src: 'node_modules/font-awesome-svg-png/white/svg/spinner.svg', title: 'Spinner'}, - {id: 'fa-user', src: 'node_modules/font-awesome-svg-png/white/svg/user.svg', title: 'Empty user profile'}, - {id: 'fa-play-circle', src: 'node_modules/font-awesome-svg-png/white/svg/play-circle.svg', title: 'Play'}, - {id: 'fa-eye', src: 'node_modules/font-awesome-svg-png/white/svg/eye.svg', title: 'Show Sensitive Content'}, - {id: 'fa-eye-slash', src: 'node_modules/font-awesome-svg-png/white/svg/eye-slash.svg', title: 'Hide Sensitive Content'}, - {id: 'fa-lock', src: 'node_modules/font-awesome-svg-png/white/svg/lock.svg', title: 'Locked'}, - {id: 'fa-unlock', src: 'node_modules/font-awesome-svg-png/white/svg/unlock.svg', title: 'Unlocked'}, - {id: 'fa-envelope', src: 'node_modules/font-awesome-svg-png/white/svg/envelope.svg', title: 'Sealed Envelope'}, - {id: 'fa-user-times', src: 'node_modules/font-awesome-svg-png/white/svg/user-times.svg', title: 'Stop Following'}, - {id: 'fa-user-plus', src: 'node_modules/font-awesome-svg-png/white/svg/user-plus.svg', title: 'Follow'}, - {id: 'fa-external-link', src: 'node_modules/font-awesome-svg-png/white/svg/external-link.svg', title: 'External Link'}, - {id: 'fa-search', src: 'node_modules/font-awesome-svg-png/white/svg/search.svg', title: 'Search'}, - {id: 'fa-comments', src: 'node_modules/font-awesome-svg-png/white/svg/comments.svg', title: 'Conversations'}, - {id: 'fa-paperclip', src: 'node_modules/font-awesome-svg-png/white/svg/paperclip.svg', title: 'Paperclip'}, - {id: 'fa-thumb-tack', src: 'node_modules/font-awesome-svg-png/white/svg/thumb-tack.svg', title: 'Thumbtack'}, - {id: 'fa-bars', src: 'node_modules/font-awesome-svg-png/white/svg/bars.svg', title: 'List'}, - {id: 'fa-ban', src: 'node_modules/font-awesome-svg-png/white/svg/ban.svg', title: 'Ban'}, - {id: 'fa-camera', src: 'node_modules/font-awesome-svg-png/white/svg/camera.svg', title: 'Add media'}, - {id: 'fa-smile', src: 'node_modules/font-awesome-svg-png/white/svg/smile-o.svg', title: 'Custom emoji'}, - {id: 'fa-exclamation-triangle', src: 'node_modules/font-awesome-svg-png/white/svg/exclamation-triangle.svg', title: 'Content warning'}, - {id: 'fa-check', src: 'node_modules/font-awesome-svg-png/white/svg/check.svg', title: 'Check'}, - {id: 'fa-trash', src: 'node_modules/font-awesome-svg-png/white/svg/trash-o.svg', title: 'Delete'}, - {id: 'fa-hourglass', src: 'node_modules/font-awesome-svg-png/white/svg/hourglass.svg', title: 'Follow requested'}, - {id: 'fa-pencil', src: 'node_modules/font-awesome-svg-png/white/svg/pencil.svg', title: 'Compose'}, - {id: 'fa-times', src: 'node_modules/font-awesome-svg-png/white/svg/times.svg', title: 'Close'}, - {id: 'fa-volume-off', src: 'node_modules/font-awesome-svg-png/white/svg/volume-off.svg', title: 'Mute'}, - {id: 'fa-volume-up', src: 'node_modules/font-awesome-svg-png/white/svg/volume-up.svg', title: 'Unmute'}, - {id: 'fa-link', src: 'node_modules/font-awesome-svg-png/white/svg/link.svg', title: 'Link'} + { id: 'pinafore-logo', src: 'original-assets/sailboat.svg', title: 'Home' }, + { id: 'fa-bell', src: 'node_modules/font-awesome-svg-png/white/svg/bell.svg', title: 'Notifications' }, + { id: 'fa-users', src: 'node_modules/font-awesome-svg-png/white/svg/users.svg', title: 'Local' }, + { id: 'fa-globe', src: 'node_modules/font-awesome-svg-png/white/svg/globe.svg', title: 'Federated' }, + { id: 'fa-gear', src: 'node_modules/font-awesome-svg-png/white/svg/gear.svg', title: 'Settings' }, + { id: 'fa-reply', src: 'node_modules/font-awesome-svg-png/white/svg/reply.svg', title: 'Reply' }, + { id: 'fa-reply-all', src: 'node_modules/font-awesome-svg-png/white/svg/reply-all.svg', title: 'Reply to thread' }, + { id: 'fa-retweet', src: 'node_modules/font-awesome-svg-png/white/svg/retweet.svg', title: 'Boost' }, + { id: 'fa-star', src: 'node_modules/font-awesome-svg-png/white/svg/star.svg', title: 'Favorite' }, + { id: 'fa-ellipsis-h', src: 'node_modules/font-awesome-svg-png/white/svg/ellipsis-h.svg', title: 'More' }, + { id: 'fa-spinner', src: 'node_modules/font-awesome-svg-png/white/svg/spinner.svg', title: 'Spinner' }, + { id: 'fa-user', src: 'node_modules/font-awesome-svg-png/white/svg/user.svg', title: 'Empty user profile' }, + { id: 'fa-play-circle', src: 'node_modules/font-awesome-svg-png/white/svg/play-circle.svg', title: 'Play' }, + { id: 'fa-eye', src: 'node_modules/font-awesome-svg-png/white/svg/eye.svg', title: 'Show Sensitive Content' }, + { id: 'fa-eye-slash', src: 'node_modules/font-awesome-svg-png/white/svg/eye-slash.svg', title: 'Hide Sensitive Content' }, + { id: 'fa-lock', src: 'node_modules/font-awesome-svg-png/white/svg/lock.svg', title: 'Locked' }, + { id: 'fa-unlock', src: 'node_modules/font-awesome-svg-png/white/svg/unlock.svg', title: 'Unlocked' }, + { id: 'fa-envelope', src: 'node_modules/font-awesome-svg-png/white/svg/envelope.svg', title: 'Sealed Envelope' }, + { id: 'fa-user-times', src: 'node_modules/font-awesome-svg-png/white/svg/user-times.svg', title: 'Stop Following' }, + { id: 'fa-user-plus', src: 'node_modules/font-awesome-svg-png/white/svg/user-plus.svg', title: 'Follow' }, + { id: 'fa-external-link', src: 'node_modules/font-awesome-svg-png/white/svg/external-link.svg', title: 'External Link' }, + { id: 'fa-search', src: 'node_modules/font-awesome-svg-png/white/svg/search.svg', title: 'Search' }, + { id: 'fa-comments', src: 'node_modules/font-awesome-svg-png/white/svg/comments.svg', title: 'Conversations' }, + { id: 'fa-paperclip', src: 'node_modules/font-awesome-svg-png/white/svg/paperclip.svg', title: 'Paperclip' }, + { id: 'fa-thumb-tack', src: 'node_modules/font-awesome-svg-png/white/svg/thumb-tack.svg', title: 'Thumbtack' }, + { id: 'fa-bars', src: 'node_modules/font-awesome-svg-png/white/svg/bars.svg', title: 'List' }, + { id: 'fa-ban', src: 'node_modules/font-awesome-svg-png/white/svg/ban.svg', title: 'Ban' }, + { id: 'fa-camera', src: 'node_modules/font-awesome-svg-png/white/svg/camera.svg', title: 'Add media' }, + { id: 'fa-smile', src: 'node_modules/font-awesome-svg-png/white/svg/smile-o.svg', title: 'Custom emoji' }, + { id: 'fa-exclamation-triangle', src: 'node_modules/font-awesome-svg-png/white/svg/exclamation-triangle.svg', title: 'Content warning' }, + { id: 'fa-check', src: 'node_modules/font-awesome-svg-png/white/svg/check.svg', title: 'Check' }, + { id: 'fa-trash', src: 'node_modules/font-awesome-svg-png/white/svg/trash-o.svg', title: 'Delete' }, + { id: 'fa-hourglass', src: 'node_modules/font-awesome-svg-png/white/svg/hourglass.svg', title: 'Follow requested' }, + { id: 'fa-pencil', src: 'node_modules/font-awesome-svg-png/white/svg/pencil.svg', title: 'Compose' }, + { id: 'fa-times', src: 'node_modules/font-awesome-svg-png/white/svg/times.svg', title: 'Close' }, + { id: 'fa-volume-off', src: 'node_modules/font-awesome-svg-png/white/svg/volume-off.svg', title: 'Mute' }, + { id: 'fa-volume-up', src: 'node_modules/font-awesome-svg-png/white/svg/volume-up.svg', title: 'Unmute' }, + { id: 'fa-link', src: 'node_modules/font-awesome-svg-png/white/svg/link.svg', title: 'Link' } ] diff --git a/package-lock.json b/package-lock.json index c2f62fc..8e3191d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -395,20 +395,12 @@ } }, "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "3.3.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } + "acorn": "^5.0.3" } }, "aggregate-error": { @@ -576,8 +568,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-map": { @@ -622,12 +614,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -2015,7 +2001,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsite": { @@ -2779,7 +2765,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -3888,17 +3874,25 @@ } }, "deglob": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.0.tgz", - "integrity": "sha1-TUSr4W7zLHebSXK9FBqAMlApoUo=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz", + "integrity": "sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw==", "dev": true, "requires": { - "find-root": "1.1.0", - "glob": "7.1.2", - "ignore": "3.3.7", - "pkg-config": "1.1.1", - "run-parallel": "1.1.8", - "uniq": "1.0.1" + "find-root": "^1.0.0", + "glob": "^7.0.5", + "ignore": "^3.0.9", + "pkg-config": "^1.1.0", + "run-parallel": "^1.1.2", + "uniq": "^1.0.1" + }, + "dependencies": { + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + } } }, "del": { @@ -3907,13 +3901,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "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" }, "dependencies": { "pify": { @@ -3988,7 +3982,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4136,15 +4130,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "0.4.19" - } - }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -4253,60 +4238,61 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", - "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.4.0.tgz", + "integrity": "sha512-UIpL91XGex3qtL6qwyCQJar2j3osKxK9e3ano3OcGEIRM4oWIpCkDg9x95AXEC2wMs7PnxzOkPZ2gq+tsMS9yg==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.0", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.4.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.10.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", - "require-uncached": "1.0.3", - "semver": "5.4.1", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.2", - "text-table": "0.2.0" + "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", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "ansi-regex": { @@ -4321,18 +4307,31 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", - "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "debug": { @@ -4344,10 +4343,38 @@ "ms": "2.0.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", "dev": true }, "strip-ansi": { @@ -4356,30 +4383,39 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" } } } }, "eslint-config-standard": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz", - "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", + "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", "dev": true }, "eslint-config-standard-jsx": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-5.0.0.tgz", - "integrity": "sha512-rLToPAEqLMPBfWnYTu6xRhm2OWziS2n40QFqJ8jAM8NSVzeVKTa3nclhsU4DpPJQRY60F34Oo1wi/71PN/eITg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-6.0.2.tgz", + "integrity": "sha512-D+YWAoXw+2GIdbMBRAzWwr1ZtvnSf4n4yL0gKGg7ShUOGXkSOLerI17K4F6LdQMJPNMoWYqepzQD/fKY+tXNSg==", "dev": true }, "eslint-import-resolver-node": { @@ -4388,8 +4424,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "2.6.9", - "resolve": "1.7.1" + "debug": "^2.6.9", + "resolve": "^1.5.0" } }, "eslint-module-utils": { @@ -4398,8 +4434,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" }, "dependencies": { "find-up": { @@ -4408,8 +4444,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -4418,7 +4454,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "pkg-dir": { @@ -4427,11 +4463,21 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } } } }, + "eslint-plugin-es": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz", + "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==", + "dev": true, + "requires": { + "eslint-utils": "^1.3.0", + "regexpp": "^2.0.0" + } + }, "eslint-plugin-html": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-4.0.5.tgz", @@ -4442,21 +4488,21 @@ } }, "eslint-plugin-import": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", - "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", + "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", "dev": true, "requires": { - "builtin-modules": "1.1.1", - "contains-path": "0.1.0", - "debug": "2.6.9", + "contains-path": "^0.1.0", + "debug": "^2.6.8", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.2.0", - "has": "1.0.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0" + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "doctrine": { @@ -4465,8 +4511,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, "load-json-file": { @@ -4475,10 +4521,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -4487,7 +4533,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-type": { @@ -4496,7 +4542,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -4511,9 +4557,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -4522,58 +4568,86 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } } } }, "eslint-plugin-node": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", - "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", + "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", "dev": true, "requires": { - "ignore": "3.3.7", - "minimatch": "3.0.4", - "resolve": "1.7.1", - "semver": "5.4.1" + "eslint-plugin-es": "^1.3.1", + "eslint-utils": "^1.3.1", + "ignore": "^4.0.2", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + } } }, "eslint-plugin-promise": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.7.0.tgz", - "integrity": "sha512-2WO+ZFh7vxUKRfR0cOIMrWgYKdR6S1AlOezw6pC52B6oYpd5WFghN+QHxvrRdZMtbo8h3dfUZ2o1rWb0UPbKtg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.0.0.tgz", + "integrity": "sha512-3on8creJifkmNHvT425jCWSuVK0DG0Quf3H75ENZFqvHl6/s2xme8z6bfxww13XwqfELYWKxc/N3AtBXyV1hdg==", "dev": true }, "eslint-plugin-react": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz", - "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz", + "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==", "dev": true, "requires": { - "doctrine": "2.1.0", - "has": "1.0.1", - "jsx-ast-utils": "2.0.1", - "prop-types": "15.6.1" + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.2" + }, + "dependencies": { + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + } } }, "eslint-plugin-standard": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz", - "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz", + "integrity": "sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==", "dev": true }, "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, + "eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true + }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", @@ -4586,19 +4660,19 @@ "integrity": "sha512-idOyS2LmLFL/A/qYq/IzJLxK4ZEIurSJGMC79t4aDIaNpLY9cNsOsiMBNV5hVOcbrkBAiWTDLKWBqaPieOmYew==" }, "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" }, "dependencies": { "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", + "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==", "dev": true } } @@ -4614,7 +4688,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4829,9 +4903,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" }, "dependencies": { "tmp": { @@ -4840,7 +4914,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } } } @@ -4935,21 +5009,6 @@ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=" }, - "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "dev": true, - "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" - } - }, "fg-loadcss": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fg-loadcss/-/fg-loadcss-2.0.1.tgz", @@ -4961,7 +5020,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-api": { @@ -4985,8 +5044,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "file-error": { @@ -5074,10 +5133,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "flatten": { @@ -6260,9 +6319,9 @@ } }, "globals": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", - "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true }, "globby": { @@ -6271,12 +6330,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "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" }, "dependencies": { "pify": { @@ -6706,9 +6765,9 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "iltorb": { @@ -6775,25 +6834,24 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.0", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.5", + "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.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -6808,42 +6866,36 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", - "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -7072,7 +7124,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -7081,7 +7133,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-object": { @@ -7161,28 +7213,6 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, - "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" - }, - "dependencies": { - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } - } - } - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -7271,7 +7301,7 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "3.0.3" + "array-includes": "^3.0.3" } }, "kind-of": { @@ -7305,8 +7335,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "linux-platform-info": { @@ -8478,12 +8508,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "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" }, "dependencies": { "wordwrap": { @@ -8693,9 +8723,9 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-to-regexp": { @@ -8767,8 +8797,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" } }, "pkg-config": { @@ -8777,9 +8807,9 @@ "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", "dev": true, "requires": { - "debug-log": "1.0.1", - "find-root": "1.1.0", - "xtend": "4.0.1" + "debug-log": "^1.0.0", + "find-root": "^1.0.0", + "xtend": "^4.0.1" } }, "pkg-dir": { @@ -9419,15 +9449,6 @@ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "requires": { - "asap": "2.0.6" - } - }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -9448,14 +9469,13 @@ } }, "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "dev": true, "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "proxy-addr": { @@ -9835,6 +9855,12 @@ "safe-regex": "1.1.0" } }, + "regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", + "dev": true + }, "regexpu-core": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", @@ -9970,17 +9996,17 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -10017,8 +10043,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -10059,13 +10085,13 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "run-parallel": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.8.tgz", - "integrity": "sha512-e5t1NVhr5VWmD9V9U4KjjSGkf5w6CcTPgw11A3CfIvkkQxlAKzX3usPUp1NUQTmpOOjU+f9QRICU3tMbKwn9ZQ==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", "dev": true }, "run-queue": { @@ -10076,19 +10102,13 @@ "aproba": "^1.1.1" } }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", "dev": true, "requires": { - "rx-lite": "4.0.8" + "symbol-observable": "1.0.1" } }, "safe-buffer": { @@ -10577,7 +10597,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -10806,32 +10826,32 @@ "dev": true }, "standard": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/standard/-/standard-11.0.1.tgz", - "integrity": "sha512-nu0jAcHiSc8H+gJCXeiziMVZNDYi8MuqrYJKxTgjP4xKXZMKm311boqQIzDrYI/ktosltxt2CbDjYQs9ANC8IA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/standard/-/standard-12.0.0.tgz", + "integrity": "sha512-wicVsU6RmR9Mhy3r5ufpVxYoaDH0O5kLaURdx9BFN/vUH6nX/UKbzkCA6Olzul6rEeKyUuoOxsQjngrW6eAa3A==", "dev": true, "requires": { - "eslint": "4.18.2", - "eslint-config-standard": "11.0.0", - "eslint-config-standard-jsx": "5.0.0", - "eslint-plugin-import": "2.9.0", - "eslint-plugin-node": "6.0.1", - "eslint-plugin-promise": "3.7.0", - "eslint-plugin-react": "7.7.0", - "eslint-plugin-standard": "3.0.1", - "standard-engine": "8.0.1" + "eslint": "~5.4.0", + "eslint-config-standard": "~12.0.0", + "eslint-config-standard-jsx": "~6.0.2", + "eslint-plugin-import": "~2.14.0", + "eslint-plugin-node": "~7.0.1", + "eslint-plugin-promise": "~4.0.0", + "eslint-plugin-react": "~7.11.1", + "eslint-plugin-standard": "~4.0.0", + "standard-engine": "~9.0.0" } }, "standard-engine": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-8.0.1.tgz", - "integrity": "sha512-LA531C3+nljom/XRvdW/hGPXwmilRkaRkENhO3FAGF1Vtq/WtCXzgmnc5S6vUHHsgv534MRy02C1ikMwZXC+tw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-9.0.0.tgz", + "integrity": "sha512-ZfNfCWZ2Xq67VNvKMPiVMKHnMdvxYzvZkf1AH8/cw2NLDBm5LRsxMqvEJpsjLI/dUosZ3Z1d6JlHDp5rAvvk2w==", "dev": true, "requires": { - "deglob": "2.1.0", - "get-stdin": "6.0.0", - "minimist": "1.2.0", - "pkg-conf": "2.1.0" + "deglob": "^2.1.0", + "get-stdin": "^6.0.0", + "minimist": "^1.1.0", + "pkg-conf": "^2.0.0" }, "dependencies": { "get-stdin": { @@ -11243,71 +11263,53 @@ } } }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.4.0", - "lodash": "4.17.5", + "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" + "string-width": "^2.1.1" }, "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", - "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -11990,7 +11992,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -12034,12 +12036,6 @@ "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", "dev": true }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", - "dev": true - }, "uglify-es": { "version": "3.3.9", "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", @@ -12508,12 +12504,6 @@ } } }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", - "dev": true - }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", @@ -12627,7 +12617,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "ws": { diff --git a/package.json b/package.json index 26da081..0e6a6e4 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "devDependencies": { "eslint-plugin-html": "^4.0.5", "now": "^11.4.0", - "standard": "^11.0.1", + "standard": "^12.0.0", "testcafe": "^0.21.1" }, "engines": { diff --git a/routes/_actions/accounts.js b/routes/_actions/accounts.js index dc2ec9e..5f57e7d 100644 --- a/routes/_actions/accounts.js +++ b/routes/_actions/accounts.js @@ -11,12 +11,12 @@ async function _updateAccount (accountId, instanceName, accessToken) { }) try { - store.set({currentAccountProfile: (await localPromise)}) + store.set({ currentAccountProfile: (await localPromise) }) } catch (e) { console.error(e) } try { - store.set({currentAccountProfile: (await remotePromise)}) + store.set({ currentAccountProfile: (await remotePromise) }) } catch (e) { console.error(e) } @@ -29,12 +29,12 @@ async function _updateRelationship (accountId, instanceName, accessToken) { return relationship }) try { - store.set({currentAccountRelationship: (await localPromise)}) + store.set({ currentAccountRelationship: (await localPromise) }) } catch (e) { console.error(e) } try { - store.set({currentAccountRelationship: (await remotePromise)}) + store.set({ currentAccountRelationship: (await remotePromise) }) } catch (e) { console.error(e) } @@ -43,7 +43,7 @@ async function _updateRelationship (accountId, instanceName, accessToken) { export async function updateLocalRelationship (instanceName, accountId, relationship) { await database.setRelationship(instanceName, relationship) try { - store.set({currentAccountRelationship: relationship}) + store.set({ currentAccountRelationship: relationship }) } catch (e) { console.error(e) } diff --git a/routes/_actions/addInstance.js b/routes/_actions/addInstance.js index b7a3789..ee17022 100644 --- a/routes/_actions/addInstance.js +++ b/routes/_actions/addInstance.js @@ -14,7 +14,7 @@ async function redirectToOauth () { let { instanceNameInSearch, loggedInInstances } = store.get() instanceNameInSearch = instanceNameInSearch.replace(/^https?:\/\//, '').replace(/\/$/, '').replace('/$', '').toLowerCase() if (Object.keys(loggedInInstances).includes(instanceNameInSearch)) { - store.set({logInToInstanceError: `You've already logged in to ${instanceNameInSearch}`}) + store.set({ logInToInstanceError: `You've already logged in to ${instanceNameInSearch}` }) return } let registrationPromise = registerApplication(instanceNameInSearch, REDIRECT_URI) @@ -54,7 +54,7 @@ export async function logInToInstance () { logInToInstanceErrorForText: instanceNameInSearch }) } finally { - store.set({logInToInstanceLoading: false}) + store.set({ logInToInstanceLoading: false }) } } @@ -92,11 +92,11 @@ async function registerNewInstance (code) { export async function handleOauthCode (code) { try { - store.set({logInToInstanceLoading: true}) + store.set({ logInToInstanceLoading: true }) await registerNewInstance(code) } catch (err) { - store.set({logInToInstanceError: `${err.message || err.name}. Failed to connect to instance.`}) + store.set({ logInToInstanceError: `${err.message || err.name}. Failed to connect to instance.` }) } finally { - store.set({logInToInstanceLoading: false}) + store.set({ logInToInstanceLoading: false }) } } diff --git a/routes/_actions/addStatusOrNotification.js b/routes/_actions/addStatusOrNotification.js index ba12ae2..e66882e 100644 --- a/routes/_actions/addStatusOrNotification.js +++ b/routes/_actions/addStatusOrNotification.js @@ -34,7 +34,7 @@ async function insertUpdatesIntoTimeline (instanceName, timelineName, updates) { if (!isEqual(itemIdsToAdd, newItemIdsToAdd)) { console.log('adding ', (newItemIdsToAdd.length - itemIdsToAdd.length), 'items to itemIdsToAdd for timeline', timelineName) - store.setForTimeline(instanceName, timelineName, {itemIdsToAdd: newItemIdsToAdd}) + store.setForTimeline(instanceName, timelineName, { itemIdsToAdd: newItemIdsToAdd }) } } @@ -58,7 +58,7 @@ async function insertUpdatesIntoThreads (instanceName, updates) { if (!isEqual(itemIdsToAdd, newItemIdsToAdd)) { console.log('adding ', (newItemIdsToAdd.length - itemIdsToAdd.length), 'items to itemIdsToAdd for thread', timelineName) - store.setForTimeline(instanceName, timelineName, {itemIdsToAdd: newItemIdsToAdd}) + store.setForTimeline(instanceName, timelineName, { itemIdsToAdd: newItemIdsToAdd }) } } } @@ -68,7 +68,7 @@ async function processFreshUpdates (instanceName, timelineName) { let freshUpdates = store.getForTimeline(instanceName, timelineName, 'freshUpdates') if (freshUpdates && freshUpdates.length) { let updates = freshUpdates.slice() - store.setForTimeline(instanceName, timelineName, {freshUpdates: []}) + store.setForTimeline(instanceName, timelineName, { freshUpdates: [] }) await Promise.all([ insertUpdatesIntoTimeline(instanceName, timelineName, updates), @@ -93,6 +93,6 @@ export function addStatusesOrNotifications (instanceName, timelineName, newStatu let freshUpdates = store.getForTimeline(instanceName, timelineName, 'freshUpdates') || [] freshUpdates = [].concat(freshUpdates).concat(newStatusesOrNotifications) freshUpdates = uniqBy(freshUpdates, _ => _.id) - store.setForTimeline(instanceName, timelineName, {freshUpdates: freshUpdates}) + store.setForTimeline(instanceName, timelineName, { freshUpdates: freshUpdates }) lazilyProcessFreshUpdates(instanceName, timelineName) } diff --git a/routes/_actions/autosuggest.js b/routes/_actions/autosuggest.js index 43facca..d276043 100644 --- a/routes/_actions/autosuggest.js +++ b/routes/_actions/autosuggest.js @@ -6,8 +6,8 @@ export async function insertUsername (realm, username, startIndex, endIndex) { let pre = oldText.substring(0, startIndex) let post = oldText.substring(endIndex) let newText = `${pre}@${username} ${post}` - store.setComposeData(realm, {text: newText}) - store.setForAutosuggest(currentInstance, realm, {autosuggestSearchResults: []}) + store.setComposeData(realm, { text: newText }) + store.setForAutosuggest(currentInstance, realm, { autosuggestSearchResults: [] }) } export async function clickSelectedAutosuggestionUsername (realm) { @@ -29,8 +29,8 @@ export function insertEmojiAtPosition (realm, emoji, startIndex, endIndex) { let pre = oldText.substring(0, startIndex) let post = oldText.substring(endIndex) let newText = `${pre}:${emoji.shortcode}: ${post}` - store.setComposeData(realm, {text: newText}) - store.setForAutosuggest(currentInstance, realm, {autosuggestSearchResults: []}) + store.setComposeData(realm, { text: newText }) + store.setForAutosuggest(currentInstance, realm, { autosuggestSearchResults: [] }) } export async function clickSelectedAutosuggestionEmoji (realm) { diff --git a/routes/_actions/compose.js b/routes/_actions/compose.js index 1bc69e0..c0ea935 100644 --- a/routes/_actions/compose.js +++ b/routes/_actions/compose.js @@ -49,7 +49,7 @@ export async function postStatus (realm, text, inReplyToId, mediaIds, console.error(e) toast.say('Unable to post status: ' + (e.message || '')) } finally { - store.set({postingStatus: false}) + store.set({ postingStatus: false }) } } @@ -84,5 +84,5 @@ export function setReplyVisibility (realm, replyVisibility) { let visibility = PRIVACY_LEVEL[replyVisibility] < PRIVACY_LEVEL[defaultVisibility] ? replyVisibility : defaultVisibility - store.setComposeData(realm, {postPrivacy: visibility}) + store.setComposeData(realm, { postPrivacy: visibility }) } diff --git a/routes/_actions/emoji.js b/routes/_actions/emoji.js index 83122a0..e76aa67 100644 --- a/routes/_actions/emoji.js +++ b/routes/_actions/emoji.js @@ -11,7 +11,7 @@ export async function updateCustomEmojiForInstance (instanceName) { emoji => { let { customEmoji } = store.get() customEmoji[instanceName] = emoji - store.set({customEmoji: customEmoji}) + store.set({ customEmoji: customEmoji }) } ) } @@ -23,5 +23,5 @@ export function insertEmoji (realm, emoji) { let pre = oldText.substring(0, idx) let post = oldText.substring(idx) let newText = `${pre}:${emoji.shortcode}: ${post}` - store.setComposeData(realm, {text: newText}) + store.setComposeData(realm, { text: newText }) } diff --git a/routes/_actions/followRequests.js b/routes/_actions/followRequests.js index a57214a..2e3d5c7 100644 --- a/routes/_actions/followRequests.js +++ b/routes/_actions/followRequests.js @@ -3,15 +3,15 @@ import { auth, basename } from '../_api/utils' export async function getFollowRequests (instanceName, accessToken) { let url = `${basename(instanceName)}/api/v1/follow_requests` - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } export async function authorizeFollowRequest (instanceName, accessToken, id) { let url = `${basename(instanceName)}/api/v1/follow_requests/${id}/authorize` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function rejectFollowRequest (instanceName, accessToken, id) { let url = `${basename(instanceName)}/api/v1/follow_requests/${id}/reject` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_actions/instances.js b/routes/_actions/instances.js index 4204425..57a4050 100644 --- a/routes/_actions/instances.js +++ b/routes/_actions/instances.js @@ -10,7 +10,7 @@ import { database } from '../_database/database' export function changeTheme (instanceName, newTheme) { let { instanceThemes } = store.get() instanceThemes[instanceName] = newTheme - store.set({instanceThemes: instanceThemes}) + store.set({ instanceThemes: instanceThemes }) store.save() let { currentInstance } = store.get() if (instanceName === currentInstance) { @@ -63,7 +63,7 @@ export async function logOutOfInstance (instanceName) { function setStoreVerifyCredentials (instanceName, thisVerifyCredentials) { let { verifyCredentials } = store.get() verifyCredentials[instanceName] = thisVerifyCredentials - store.set({verifyCredentials: verifyCredentials}) + store.set({ verifyCredentials: verifyCredentials }) } export async function updateVerifyCredentialsForInstance (instanceName) { @@ -90,7 +90,7 @@ export async function updateInstanceInfo (instanceName) { info => { let { instanceInfos } = store.get() instanceInfos[instanceName] = info - store.set({instanceInfos: instanceInfos}) + store.set({ instanceInfos: instanceInfos }) } ) } diff --git a/routes/_actions/lists.js b/routes/_actions/lists.js index 753b630..9aa6bc5 100644 --- a/routes/_actions/lists.js +++ b/routes/_actions/lists.js @@ -13,7 +13,7 @@ export async function updateLists () { lists => { let { instanceLists } = store.get() instanceLists[currentInstance] = lists - store.set({instanceLists: instanceLists}) + store.set({ instanceLists: instanceLists }) } ) } diff --git a/routes/_actions/media.js b/routes/_actions/media.js index b16f8b7..3f31b48 100644 --- a/routes/_actions/media.js +++ b/routes/_actions/media.js @@ -5,7 +5,7 @@ import { scheduleIdleTask } from '../_utils/scheduleIdleTask' export async function doMediaUpload (realm, file) { let { currentInstance, accessToken } = store.get() - store.set({uploadingMedia: true}) + store.set({ uploadingMedia: true }) try { let response = await uploadMedia(currentInstance, accessToken, file) let composeMedia = store.getComposeData(realm, 'media') || [] @@ -22,7 +22,7 @@ export async function doMediaUpload (realm, file) { console.error(e) toast.say('Failed to upload media: ' + (e.message || '')) } finally { - store.set({uploadingMedia: false}) + store.set({ uploadingMedia: false }) } } diff --git a/routes/_actions/pinnedStatuses.js b/routes/_actions/pinnedStatuses.js index bf35783..2022faa 100644 --- a/routes/_actions/pinnedStatuses.js +++ b/routes/_actions/pinnedStatuses.js @@ -16,7 +16,7 @@ export async function updatePinnedStatusesForAccount (accountId) { let { pinnedStatuses } = store.get() pinnedStatuses[currentInstance] = pinnedStatuses[currentInstance] || {} pinnedStatuses[currentInstance][accountId] = statuses - store.set({pinnedStatuses: pinnedStatuses}) + store.set({ pinnedStatuses: pinnedStatuses }) } ) } diff --git a/routes/_actions/postPrivacy.js b/routes/_actions/postPrivacy.js index 054bea6..a946879 100644 --- a/routes/_actions/postPrivacy.js +++ b/routes/_actions/postPrivacy.js @@ -2,5 +2,5 @@ import { store } from '../_store/store' export function setPostPrivacy (realm, postPrivacyKey) { - store.setComposeData(realm, {postPrivacy: postPrivacyKey}) + store.setComposeData(realm, { postPrivacy: postPrivacyKey }) } diff --git a/routes/_actions/search.js b/routes/_actions/search.js index 55a8f2d..cae11eb 100644 --- a/routes/_actions/search.js +++ b/routes/_actions/search.js @@ -4,7 +4,7 @@ import { search } from '../_api/search' export async function doSearch () { let { currentInstance, accessToken, queryInSearch } = store.get() - store.set({searchLoading: true}) + store.set({ searchLoading: true }) try { let results = await search(currentInstance, accessToken, queryInSearch) let { queryInSearch: newQueryInSearch } = store.get() // avoid race conditions @@ -18,6 +18,6 @@ export async function doSearch () { toast.say('Error during search: ' + (e.name || '') + ' ' + (e.message || '')) console.error(e) } finally { - store.set({searchLoading: false}) + store.set({ searchLoading: false }) } } diff --git a/routes/_actions/timeline.js b/routes/_actions/timeline.js index 647acbc..10b4be3 100644 --- a/routes/_actions/timeline.js +++ b/routes/_actions/timeline.js @@ -72,10 +72,10 @@ export async function addTimelineItemIds (instanceName, timelineName, newIds, ne let mergedIds = mergeArrays(oldIds || [], newIds) if (!isEqual(oldIds, mergedIds)) { - store.setForTimeline(instanceName, timelineName, {timelineItemIds: mergedIds}) + store.setForTimeline(instanceName, timelineName, { timelineItemIds: mergedIds }) } if (oldStale !== newStale) { - store.setForTimeline(instanceName, timelineName, {timelineItemIdsAreStale: newStale}) + store.setForTimeline(instanceName, timelineName, { timelineItemIdsAreStale: newStale }) } } diff --git a/routes/_api/block.js b/routes/_api/block.js index 6fd39d3..0048821 100644 --- a/routes/_api/block.js +++ b/routes/_api/block.js @@ -3,10 +3,10 @@ import { post, WRITE_TIMEOUT } from '../_utils/ajax' export async function blockAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/block` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unblockAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/unblock` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/blockDomain.js b/routes/_api/blockDomain.js index db7346e..0790b32 100644 --- a/routes/_api/blockDomain.js +++ b/routes/_api/blockDomain.js @@ -3,10 +3,10 @@ import { auth, basename } from './utils' export async function blockDomain (instanceName, accessToken, domain) { let url = `${basename(instanceName)}/api/v1/domain_blocks?${paramsString({ domain })}` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unblockDomain (instanceName, accessToken, domain) { let url = `${basename(instanceName)}/api/v1/domain_blocks?${paramsString({ domain })}` - return del(url, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return del(url, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/blockedAndMuted.js b/routes/_api/blockedAndMuted.js index 8c01cd8..1928c02 100644 --- a/routes/_api/blockedAndMuted.js +++ b/routes/_api/blockedAndMuted.js @@ -4,11 +4,11 @@ import { auth, basename } from './utils' export async function getBlockedAccounts (instanceName, accessToken, limit = 80) { let url = `${basename(instanceName)}/api/v1/blocks` url += '?' + paramsString({ limit }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } export async function getMutedAccounts (instanceName, accessToken, limit = 80) { let url = `${basename(instanceName)}/api/v1/mutes` url += '?' + paramsString({ limit }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/delete.js b/routes/_api/delete.js index ca52782..326f734 100644 --- a/routes/_api/delete.js +++ b/routes/_api/delete.js @@ -3,5 +3,5 @@ import { del, WRITE_TIMEOUT } from '../_utils/ajax' export async function deleteStatus (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}` - return del(url, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return del(url, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/emoji.js b/routes/_api/emoji.js index a63866f..45459a0 100644 --- a/routes/_api/emoji.js +++ b/routes/_api/emoji.js @@ -3,5 +3,5 @@ import { DEFAULT_TIMEOUT, get } from '../_utils/ajax' export async function getCustomEmoji (instanceName) { let url = `${basename(instanceName)}/api/v1/custom_emojis` - return get(url, null, {timeout: DEFAULT_TIMEOUT}) + return get(url, null, { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/favorite.js b/routes/_api/favorite.js index baffb5d..0eb60cf 100644 --- a/routes/_api/favorite.js +++ b/routes/_api/favorite.js @@ -3,10 +3,10 @@ import { basename, auth } from './utils' export async function favoriteStatus (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/favourite` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unfavoriteStatus (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/unfavourite` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/follow.js b/routes/_api/follow.js index ffad5dd..9cc4ba7 100644 --- a/routes/_api/follow.js +++ b/routes/_api/follow.js @@ -3,10 +3,10 @@ import { auth, basename } from './utils' export async function followAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/follow` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unfollowAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/unfollow` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/followsAndFollowers.js b/routes/_api/followsAndFollowers.js index aa3f72a..0f540bc 100644 --- a/routes/_api/followsAndFollowers.js +++ b/routes/_api/followsAndFollowers.js @@ -4,11 +4,11 @@ import { auth, basename } from './utils' export async function getFollows (instanceName, accessToken, accountId, limit = 80) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/following` url += '?' + paramsString({ limit }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } export async function getFollowers (instanceName, accessToken, accountId, limit = 80) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/followers` url += '?' + paramsString({ limit }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/instance.js b/routes/_api/instance.js index a62d680..30afb2e 100644 --- a/routes/_api/instance.js +++ b/routes/_api/instance.js @@ -3,5 +3,5 @@ import { basename } from './utils' export function getInstanceInfo (instanceName) { let url = `${basename(instanceName)}/api/v1/instance` - return get(url, null, {timeout: DEFAULT_TIMEOUT}) + return get(url, null, { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/lists.js b/routes/_api/lists.js index 5cc5c01..09c6b40 100644 --- a/routes/_api/lists.js +++ b/routes/_api/lists.js @@ -3,5 +3,5 @@ import { auth, basename } from './utils' export function getLists (instanceName, accessToken) { let url = `${basename(instanceName)}/api/v1/lists` - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/media.js b/routes/_api/media.js index e4cd3e9..370cd44 100644 --- a/routes/_api/media.js +++ b/routes/_api/media.js @@ -8,10 +8,10 @@ export async function uploadMedia (instanceName, accessToken, file, description) formData.append('description', description) } let url = `${basename(instanceName)}/api/v1/media` - return post(url, formData, auth(accessToken), {timeout: MEDIA_WRITE_TIMEOUT}) + return post(url, formData, auth(accessToken), { timeout: MEDIA_WRITE_TIMEOUT }) } export async function putMediaDescription (instanceName, accessToken, mediaId, description) { let url = `${basename(instanceName)}/api/v1/media/${mediaId}` - return put(url, {description}, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return put(url, { description }, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/mute.js b/routes/_api/mute.js index 22893de..c090313 100644 --- a/routes/_api/mute.js +++ b/routes/_api/mute.js @@ -3,10 +3,10 @@ import { post, WRITE_TIMEOUT } from '../_utils/ajax' export async function muteAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/mute` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unmuteAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/unmute` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/muteConversation.js b/routes/_api/muteConversation.js index 57160f0..8eae421 100644 --- a/routes/_api/muteConversation.js +++ b/routes/_api/muteConversation.js @@ -3,10 +3,10 @@ import { post, WRITE_TIMEOUT } from '../_utils/ajax' export async function muteConversation (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/mute` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unmuteConversation (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/unmute` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/oauth.js b/routes/_api/oauth.js index 341da2a..4d294bc 100644 --- a/routes/_api/oauth.js +++ b/routes/_api/oauth.js @@ -12,7 +12,7 @@ export function registerApplication (instanceName, redirectUri) { redirect_uris: redirectUri, scopes: SCOPES, website: WEBSITE - }, null, {timeout: WRITE_TIMEOUT}) + }, null, { timeout: WRITE_TIMEOUT }) } export function generateAuthLink (instanceName, clientId, redirectUri) { @@ -33,5 +33,5 @@ export function getAccessTokenFromAuthCode (instanceName, clientId, clientSecret redirect_uri: redirectUri, grant_type: 'authorization_code', code: code - }, null, {timeout: WRITE_TIMEOUT}) + }, null, { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/pin.js b/routes/_api/pin.js index 9226694..9158d5b 100644 --- a/routes/_api/pin.js +++ b/routes/_api/pin.js @@ -3,10 +3,10 @@ import { auth, basename } from './utils' export async function pinStatus (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/pin` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function unpinStatus (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/unpin` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/pinnedStatuses.js b/routes/_api/pinnedStatuses.js index 1ccc367..d17aa35 100644 --- a/routes/_api/pinnedStatuses.js +++ b/routes/_api/pinnedStatuses.js @@ -7,5 +7,5 @@ export async function getPinnedStatuses (instanceName, accessToken, accountId) { limit: 40, pinned: true }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/reblogsAndFavs.js b/routes/_api/reblogsAndFavs.js index 9f35898..6185fc4 100644 --- a/routes/_api/reblogsAndFavs.js +++ b/routes/_api/reblogsAndFavs.js @@ -4,11 +4,11 @@ import { auth, basename } from './utils' export async function getReblogs (instanceName, accessToken, statusId, limit = 80) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/reblogged_by` url += '?' + paramsString({ limit }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } export async function getFavorites (instanceName, accessToken, statusId, limit = 80) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/favourited_by` url += '?' + paramsString({ limit }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/relationships.js b/routes/_api/relationships.js index 0337db4..636895f 100644 --- a/routes/_api/relationships.js +++ b/routes/_api/relationships.js @@ -2,7 +2,7 @@ import { basename, auth } from './utils' import { get, paramsString, DEFAULT_TIMEOUT } from '../_utils/ajax' export async function getRelationship (instanceName, accessToken, accountId) { - let url = `${basename(instanceName)}/api/v1/accounts/relationships?${paramsString({id: accountId})}` - let res = await get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + let url = `${basename(instanceName)}/api/v1/accounts/relationships?${paramsString({ id: accountId })}` + let res = await get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) return res[0] } diff --git a/routes/_api/requests.js b/routes/_api/requests.js index 3284490..4d74c01 100644 --- a/routes/_api/requests.js +++ b/routes/_api/requests.js @@ -3,10 +3,10 @@ import { auth, basename } from './utils' export async function approveFollowRequest (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/follow_requests/${accountId}/authorize` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function rejectFollowRequest (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/follow_requests/${accountId}/reject` - return post(url, null, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, null, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/search.js b/routes/_api/search.js index 4b0cf81..5b88512 100644 --- a/routes/_api/search.js +++ b/routes/_api/search.js @@ -6,5 +6,5 @@ export function search (instanceName, accessToken, query) { q: query, resolve: true }) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/showReblogs.js b/routes/_api/showReblogs.js index 8f3c57f..80da9b3 100644 --- a/routes/_api/showReblogs.js +++ b/routes/_api/showReblogs.js @@ -3,5 +3,5 @@ import { post, WRITE_TIMEOUT } from '../_utils/ajax' export function setShowReblogs (instanceName, accessToken, accountId, showReblogs) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}/follow` - return post(url, { reblogs: !!showReblogs }, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, { reblogs: !!showReblogs }, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/statuses.js b/routes/_api/statuses.js index 73d2605..506ca13 100644 --- a/routes/_api/statuses.js +++ b/routes/_api/statuses.js @@ -22,15 +22,15 @@ export async function postStatus (instanceName, accessToken, text, inReplyToId, } } - return post(url, body, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return post(url, body, auth(accessToken), { timeout: WRITE_TIMEOUT }) } export async function getStatusContext (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}/context` - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } export async function getStatus (instanceName, accessToken, statusId) { let url = `${basename(instanceName)}/api/v1/statuses/${statusId}` - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/timelines.js b/routes/_api/timelines.js index 6ac5ca1..52a20f6 100644 --- a/routes/_api/timelines.js +++ b/routes/_api/timelines.js @@ -49,5 +49,5 @@ export function getTimeline (instanceName, accessToken, timeline, maxId, since) url += '?' + paramsString(params) - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_api/updateCredentials.js b/routes/_api/updateCredentials.js index b373abf..fb7ba27 100644 --- a/routes/_api/updateCredentials.js +++ b/routes/_api/updateCredentials.js @@ -3,5 +3,5 @@ import { auth, basename } from './utils' export async function updateCredentials (instanceName, accessToken, accountData) { let url = `${basename(instanceName)}/api/v1/accounts/update_credentials` - return patch(url, accountData, auth(accessToken), {timeout: WRITE_TIMEOUT}) + return patch(url, accountData, auth(accessToken), { timeout: WRITE_TIMEOUT }) } diff --git a/routes/_api/user.js b/routes/_api/user.js index 60d3dfb..ddf0b5f 100644 --- a/routes/_api/user.js +++ b/routes/_api/user.js @@ -3,10 +3,10 @@ import { auth, basename } from './utils' export function getVerifyCredentials (instanceName, accessToken) { let url = `${basename(instanceName)}/api/v1/accounts/verify_credentials` - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } export function getAccount (instanceName, accessToken, accountId) { let url = `${basename(instanceName)}/api/v1/accounts/${accountId}` - return get(url, auth(accessToken), {timeout: DEFAULT_TIMEOUT}) + return get(url, auth(accessToken), { timeout: DEFAULT_TIMEOUT }) } diff --git a/routes/_components/AccountsListPage.html b/routes/_components/AccountsListPage.html index 9f846d2..1549a85 100644 --- a/routes/_components/AccountsListPage.html +++ b/routes/_components/AccountsListPage.html @@ -45,7 +45,7 @@ } catch (e) { toast.say('Error: ' + (e.name || '') + ' ' + (e.message || '')) } finally { - this.set({loading: false}) + this.set({ loading: false }) } on('refreshAccountsList', this, () => this.refreshAccounts()) }, diff --git a/routes/_components/IconButton.html b/routes/_components/IconButton.html index ff58f9a..8591cd4 100644 --- a/routes/_components/IconButton.html +++ b/routes/_components/IconButton.html @@ -136,7 +136,7 @@ return } let svg = this.refs.svg - let animations = animation.map(({properties, options}) => svg.animate(properties, options)) + let animations = animation.map(({ properties, options }) => svg.animate(properties, options)) animations.forEach(anim => anim.play()) } } diff --git a/routes/_components/Layout.html b/routes/_components/Layout.html index a22b5d8..ed31d82 100644 --- a/routes/_components/Layout.html +++ b/routes/_components/Layout.html @@ -30,7 +30,7 @@ this.refs.container.focus() } let { page } = this.get() - this.store.set({currentPage: page}) + this.store.set({ currentPage: page }) }, store: () => store } diff --git a/routes/_components/LazyImage.html b/routes/_components/LazyImage.html index acf72f3..fe3c5d0 100644 --- a/routes/_components/LazyImage.html +++ b/routes/_components/LazyImage.html @@ -29,7 +29,7 @@ this.set({ displaySrc: src }) } catch (e) { if (fallback) { - this.set({displaySrc: fallback}) + this.set({ displaySrc: fallback }) } } stop('LazyImage oncreate()') @@ -47,7 +47,7 @@ title: '' }), computed: { - computedStyle: ({width, height, background}) => { + computedStyle: ({ width, height, background }) => { return [ width && `width: ${width}px;`, height && `height: ${height}px;`, diff --git a/routes/_components/LazyPage.html b/routes/_components/LazyPage.html index 10a07bd..09c0e5e 100644 --- a/routes/_components/LazyPage.html +++ b/routes/_components/LazyPage.html @@ -15,7 +15,7 @@ firstTime = false requestAnimationFrame(() => { requestAnimationFrame(() => { - this.set({revealed: true}) + this.set({ revealed: true }) }) }) }, diff --git a/routes/_components/LoadingPage.html b/routes/_components/LoadingPage.html index 13ec7cb..31c57cc 100644 --- a/routes/_components/LoadingPage.html +++ b/routes/_components/LoadingPage.html @@ -23,7 +23,7 @@ export default { oncreate () { setTimeout(() => { - this.set({shown: true}) + this.set({ shown: true }) }, SPINNER_DELAY) }, data: () => ({ diff --git a/routes/_components/NavItem.html b/routes/_components/NavItem.html index c94ffc3..3c2ba00 100644 --- a/routes/_components/NavItem.html +++ b/routes/_components/NavItem.html @@ -159,16 +159,16 @@ oncreate () { let { name } = this.get() let indicator = this.refs.indicator - on('animateNavPart1', this, ({fromPage, toPage}) => { + on('animateNavPart1', this, ({ fromPage, toPage }) => { if (fromPage !== name) { return } mark('animateNavPart1 gBCR') let fromRect = indicator.getBoundingClientRect() stop('animateNavPart1 gBCR') - emit('animateNavPart2', {fromRect, fromPage, toPage}) + emit('animateNavPart2', { fromRect, fromPage, toPage }) }) - on('animateNavPart2', this, ({fromPage, fromRect, toPage}) => { + on('animateNavPart2', this, ({ fromPage, fromRect, toPage }) => { if (toPage !== name) { return } diff --git a/routes/_components/NonAutoplayGifv.html b/routes/_components/NonAutoplayGifv.html index 006b85b..a71d000 100644 --- a/routes/_components/NonAutoplayGifv.html +++ b/routes/_components/NonAutoplayGifv.html @@ -44,7 +44,7 @@ export default { methods: { onMouseOver (mouseOver) { - this.set({playing: mouseOver}) + this.set({ playing: mouseOver }) } }, events: { diff --git a/routes/_components/NonAutoplayImg.html b/routes/_components/NonAutoplayImg.html index 2455e30..6fb175e 100644 --- a/routes/_components/NonAutoplayImg.html +++ b/routes/_components/NonAutoplayImg.html @@ -50,7 +50,7 @@ title: '' }), computed: { - computedClass: ({className, src, staticSrc, isLink}) => (classname( + computedClass: ({ className, src, staticSrc, isLink }) => (classname( className, src !== staticSrc && 'non-autoplay-zoom-in', isLink && 'is-link' diff --git a/routes/_components/community/PageListItem.html b/routes/_components/community/PageListItem.html index c9ac73c..adc9987 100644 --- a/routes/_components/community/PageListItem.html +++ b/routes/_components/community/PageListItem.html @@ -73,7 +73,7 @@ pinnable: false }), computed: { - ariaLabel: ({label, pinnable, $pinnedPage, href}) => { + ariaLabel: ({ label, pinnable, $pinnedPage, href }) => { let res = label if (pinnable) { res += ' (' + ($pinnedPage === href ? 'Pinned page' : 'Unpinned page') + ')' @@ -90,7 +90,7 @@ let { currentInstance, pinnedPages } = this.store.get() let { href } = this.get() pinnedPages[currentInstance] = href - this.store.set({pinnedPages: pinnedPages}) + this.store.set({ pinnedPages: pinnedPages }) this.store.save() } } diff --git a/routes/_components/compose/ComposeAutosuggest.html b/routes/_components/compose/ComposeAutosuggest.html index b12902b..eaeddfa 100644 --- a/routes/_components/compose/ComposeAutosuggest.html +++ b/routes/_components/compose/ComposeAutosuggest.html @@ -59,7 +59,7 @@ ]) } }).then(() => { - this.set({shown: shouldBeShown}) + this.set({ shown: shouldBeShown }) }) }) }, diff --git a/routes/_components/compose/ComposeBox.html b/routes/_components/compose/ComposeBox.html index d268a7d..2548fa1 100644 --- a/routes/_components/compose/ComposeBox.html +++ b/routes/_components/compose/ComposeBox.html @@ -231,7 +231,7 @@ }, setupStickyObserver () { this.__stickyObserver = new IntersectionObserver(entries => { - this.set({sticky: !entries[0].isIntersecting}) + this.set({ sticky: !entries[0].isIntersecting }) }) this.__stickyObserver.observe(this.refs.sentinel) @@ -241,12 +241,12 @@ this.observe('timelineInitialized', timelineInitialized => { if (timelineInitialized) { let observer = new IntersectionObserver(entries => { - this.set({sticky: !entries[0].isIntersecting}) + this.set({ sticky: !entries[0].isIntersecting }) observer.disconnect() }) observer.observe(this.refs.sentinel) } - }, {init: false}) + }, { init: false }) }, teardownStickyObserver () { if (this.__stickyObserver) { diff --git a/routes/_components/compose/ComposeContentWarning.html b/routes/_components/compose/ComposeContentWarning.html index 69dad39..56360a7 100644 --- a/routes/_components/compose/ComposeContentWarning.html +++ b/routes/_components/compose/ComposeContentWarning.html @@ -32,7 +32,7 @@ observe, setupSyncFromStore () { this.observe('contentWarning', contentWarning => { - this.set({rawText: contentWarning}) + this.set({ rawText: contentWarning }) }) }, setupSyncToStore () { @@ -44,7 +44,7 @@ contentWarning: rawText }) saveText() - }, {init: false}) + }, { init: false }) } } } diff --git a/routes/_components/compose/ComposeInput.html b/routes/_components/compose/ComposeInput.html index 538a2b1..cd60652 100644 --- a/routes/_components/compose/ComposeInput.html +++ b/routes/_components/compose/ComposeInput.html @@ -56,7 +56,7 @@ this.observe('text', text => { let { rawText } = this.get() if (rawText !== text) { - this.set({rawText: text}) + this.set({ rawText: text }) // this next autosize is required to resize after // the user clicks the "toot" button mark('autosize.update()') @@ -78,10 +78,10 @@ this.observe('rawText', rawText => { mark('observe rawText') let { realm } = this.get() - this.store.setComposeData(realm, {text: rawText}) + this.store.setComposeData(realm, { text: rawText }) saveStore() stop('observe rawText') - }, {init: false}) + }, { init: false }) }, setupAutosize () { let textarea = this.refs.textarea @@ -98,19 +98,19 @@ }, onBlur () { scheduleIdleTask(() => { - this.store.setForCurrentAutosuggest({composeFocused: false}) + this.store.setForCurrentAutosuggest({ composeFocused: false }) }) }, onFocus () { scheduleIdleTask(() => { - let {realm} = this.get() - this.store.set({currentComposeRealm: realm}) - this.store.setForCurrentAutosuggest({composeFocused: true}) + let { realm } = this.get() + this.store.set({ currentComposeRealm: realm }) + this.store.setForCurrentAutosuggest({ composeFocused: true }) }) }, onSelectionChange (selectionStart) { scheduleIdleTask(() => { - this.store.setForCurrentAutosuggest({composeSelectionStart: selectionStart}) + this.store.setForCurrentAutosuggest({ composeSelectionStart: selectionStart }) }) }, onKeydown (e) { @@ -172,7 +172,7 @@ } else { autosuggestSelected = autosuggestSearchResults.length + autosuggestSelected } - this.store.setForCurrentAutosuggest({autosuggestSelected}) + this.store.setForCurrentAutosuggest({ autosuggestSelected }) event.preventDefault() event.stopPropagation() }, diff --git a/routes/_components/compose/ComposeLengthGauge.html b/routes/_components/compose/ComposeLengthGauge.html index bd75eb4..af00a2e 100644 --- a/routes/_components/compose/ComposeLengthGauge.html +++ b/routes/_components/compose/ComposeLengthGauge.html @@ -26,17 +26,17 @@ export default { oncreate () { let { lengthAsFraction } = this.get() - this.set({lengthAsFractionDeferred: lengthAsFraction}) + this.set({ lengthAsFractionDeferred: lengthAsFraction }) // perf improvement for keyboard input latency this.observe('lengthAsFraction', () => { scheduleIdleTask(() => { mark('set lengthAsFractionDeferred') let { lengthAsFraction } = this.get() - this.set({lengthAsFractionDeferred: lengthAsFraction}) + this.set({ lengthAsFractionDeferred: lengthAsFraction }) stop('set lengthAsFractionDeferred') - requestAnimationFrame(() => this.set({shouldAnimate: true})) + requestAnimationFrame(() => this.set({ shouldAnimate: true })) }) - }, {init: false}) + }, { init: false }) }, data: () => ({ shouldAnimate: false, diff --git a/routes/_components/compose/ComposeLengthIndicator.html b/routes/_components/compose/ComposeLengthIndicator.html index 7856b9d..4670e4b 100644 --- a/routes/_components/compose/ComposeLengthIndicator.html +++ b/routes/_components/compose/ComposeLengthIndicator.html @@ -24,16 +24,16 @@ export default { oncreate () { let { lengthToDisplay } = this.get() - this.set({lengthToDisplayDeferred: lengthToDisplay}) + this.set({ lengthToDisplayDeferred: lengthToDisplay }) // perf improvement for keyboard input latency this.observe('lengthToDisplay', () => { scheduleIdleTask(() => { mark('set lengthToDisplayDeferred') let { lengthToDisplay } = this.get() - this.set({lengthToDisplayDeferred: lengthToDisplay}) + this.set({ lengthToDisplayDeferred: lengthToDisplay }) stop('set lengthToDisplayDeferred') }) - }, {init: false}) + }, { init: false }) }, data: () => ({ lengthToDisplayDeferred: 0 diff --git a/routes/_components/compose/ComposeMediaItem.html b/routes/_components/compose/ComposeMediaItem.html index 4354f99..f06862b 100644 --- a/routes/_components/compose/ComposeMediaItem.html +++ b/routes/_components/compose/ComposeMediaItem.html @@ -100,7 +100,7 @@ let { index, rawText } = this.get() let text = (media[index] && media[index].description) || '' if (rawText !== text) { - this.set({rawText: text}) + this.set({ rawText: text }) } }) }, @@ -113,9 +113,9 @@ return } media[index].description = rawText - store.setComposeData(realm, {media}) + store.setComposeData(realm, { media }) saveStore() - }, {init: false}) + }, { init: false }) }, onDeleteMedia () { let { diff --git a/routes/_components/dialog/components/ConfirmationDialog.html b/routes/_components/dialog/components/ConfirmationDialog.html index b4f2477..120485c 100644 --- a/routes/_components/dialog/components/ConfirmationDialog.html +++ b/routes/_components/dialog/components/ConfirmationDialog.html @@ -68,7 +68,7 @@ } }, onPositive () { - this.set({positiveResult: true}) + this.set({ positiveResult: true }) this.close() }, onNegative () { diff --git a/routes/_components/dialog/components/StatusOptionsDialog.html b/routes/_components/dialog/components/StatusOptionsDialog.html index 7b80f62..f42c6f2 100644 --- a/routes/_components/dialog/components/StatusOptionsDialog.html +++ b/routes/_components/dialog/components/StatusOptionsDialog.html @@ -24,11 +24,11 @@ import { copyText } from '../../../_actions/copyText' export default { oncreate, computed: { - relationship: ({$currentAccountRelationship}) => $currentAccountRelationship, - account: ({$currentAccountProfile}) => $currentAccountProfile, - verifyCredentials: ({$currentVerifyCredentials}) => $currentVerifyCredentials, - statusId: ({status}) => status.id, - pinned: ({statusId, $currentStatusModifications, status}) => { + relationship: ({ $currentAccountRelationship }) => $currentAccountRelationship, + account: ({ $currentAccountProfile }) => $currentAccountProfile, + verifyCredentials: ({ $currentVerifyCredentials }) => $currentVerifyCredentials, + statusId: ({ status }) => status.id, + pinned: ({ statusId, $currentStatusModifications, status }) => { if ($currentStatusModifications && statusId in $currentStatusModifications.pins) { return $currentStatusModifications.pins[statusId] } @@ -37,14 +37,14 @@ export default { // // begin copypasta (StatusOptionsDialog.html / AccountProfileOptionsDialog.html) // - verifyCredentialsId: ({verifyCredentials}) => verifyCredentials.id, - following: ({relationship}) => relationship && relationship.following, - followRequested: ({relationship}) => relationship && relationship.requested, - accountId: ({account}) => account && account.id, - acct: ({account}) => account.acct, - muting: ({relationship}) => relationship.muting, - blocking: ({relationship}) => relationship.blocking, - followLabel: ({following, followRequested, account, acct}) => { + verifyCredentialsId: ({ verifyCredentials }) => verifyCredentials.id, + following: ({ relationship }) => relationship && relationship.following, + followRequested: ({ relationship }) => relationship && relationship.requested, + accountId: ({ account }) => account && account.id, + acct: ({ account }) => account.acct, + muting: ({ relationship }) => relationship.muting, + blocking: ({ relationship }) => relationship.blocking, + followLabel: ({ following, followRequested, account, acct }) => { if (typeof following === 'undefined' || !account) { return '' } @@ -52,28 +52,28 @@ export default { ? `Unfollow @${acct}` : `Follow @${acct}` }, - followIcon: ({following, followRequested}) => ( + followIcon: ({ following, followRequested }) => ( following ? '#fa-user-times' : followRequested ? '#fa-hourglass' : '#fa-user-plus' ), - blockLabel: ({blocking, acct}) => ( + blockLabel: ({ blocking, acct }) => ( blocking ? `Unblock @${acct}` : `Block @${acct}` ), - blockIcon: ({blocking}) => blocking ? '#fa-unlock' : '#fa-ban', - muteLabel: ({muting, acct}) => ( + blockIcon: ({ blocking }) => blocking ? '#fa-unlock' : '#fa-ban', + muteLabel: ({ muting, acct }) => ( muting ? `Unmute @${acct}` : `Mute @${acct}` ), - muteIcon: ({muting}) => muting ? '#fa-volume-up' : '#fa-volume-off', - isUser: ({accountId, verifyCredentialsId}) => accountId === verifyCredentialsId, + muteIcon: ({ muting }) => muting ? '#fa-volume-up' : '#fa-volume-off', + isUser: ({ accountId, verifyCredentialsId }) => accountId === verifyCredentialsId, // // end copypasta (StatusOptionsDialog.html / AccountProfileOptionsDialog.html) // - pinLabel: ({pinned, isUser}) => isUser ? (pinned ? 'Unpin from profile' : 'Pin to profile') : '', - visibility: ({status}) => status.visibility, - mentions: ({status}) => status.mentions || [], - mentionsUser: ({mentions, verifyCredentialsId}) => !!mentions.find(_ => _.id === verifyCredentialsId), - mutingConversation: ({status}) => !!status.muted, - muteConversationLabel: ({mutingConversation}) => mutingConversation ? `Unmute conversation` : `Mute conversation`, - muteConversationIcon: ({mutingConversation}) => mutingConversation ? '#fa-volume-up' : '#fa-volume-off', + pinLabel: ({ pinned, isUser }) => isUser ? (pinned ? 'Unpin from profile' : 'Pin to profile') : '', + visibility: ({ status }) => status.visibility, + mentions: ({ status }) => status.mentions || [], + mentionsUser: ({ mentions, verifyCredentialsId }) => !!mentions.find(_ => _.id === verifyCredentialsId), + mutingConversation: ({ status }) => !!status.muted, + muteConversationLabel: ({ mutingConversation }) => mutingConversation ? `Unmute conversation` : `Mute conversation`, + muteConversationIcon: ({ mutingConversation }) => mutingConversation ? '#fa-volume-up' : '#fa-volume-off', items: ({ blockLabel, blocking, blockIcon, muteLabel, muteIcon, followLabel, followIcon, following, followRequested, pinLabel, isUser, visibility, mentionsUser, mutingConversation, diff --git a/routes/_components/list/List.html b/routes/_components/list/List.html index 4ce9ec1..d3cab3f 100644 --- a/routes/_components/list/List.html +++ b/routes/_components/list/List.html @@ -31,7 +31,7 @@ itemInitialized () { let { initializedCount, length } = this.get() initializedCount++ - this.set({initializedCount}) + this.set({ initializedCount }) if (initializedCount === length) { this.initialize() } diff --git a/routes/_components/list/ListLazyItem.html b/routes/_components/list/ListLazyItem.html index 2a43175..13f286b 100644 --- a/routes/_components/list/ListLazyItem.html +++ b/routes/_components/list/ListLazyItem.html @@ -18,7 +18,7 @@ if (makeProps) { let props = await makeProps(key) mark('ListLazyItem set props') - this.set({props: props}) + this.set({ props: props }) this.fire('initialized') stop('ListLazyItem set props') } diff --git a/routes/_components/profile/AccountProfileFollow.html b/routes/_components/profile/AccountProfileFollow.html index da28f9c..d8892d1 100644 --- a/routes/_components/profile/AccountProfileFollow.html +++ b/routes/_components/profile/AccountProfileFollow.html @@ -43,7 +43,7 @@ } else { // follow/unfollow let newFollowingValue = !(following || followRequested) if (!account.locked) { // be optimistic, show the user that it succeeded - this.set({overrideFollowing: newFollowingValue}) + this.set({ overrideFollowing: newFollowingValue }) } if (newFollowingValue) { this.refs.icon.animate(FOLLOW_BUTTON_ANIMATION) diff --git a/routes/_components/status/Status.html b/routes/_components/status/Status.html index 7b2fead..da6fa1e 100644 --- a/routes/_components/status/Status.html +++ b/routes/_components/status/Status.html @@ -128,7 +128,7 @@ scheduleIdleTask(() => { // Perf optimization: lazily load the StatusContent when the user is idle so that // it's fast when they click the "show more" button - this.set({contentPreloaded: true}) + this.set({ contentPreloaded: true }) }) } }, diff --git a/routes/_components/status/StatusComposeBox.html b/routes/_components/status/StatusComposeBox.html index f86eafd..0bbff11 100644 --- a/routes/_components/status/StatusComposeBox.html +++ b/routes/_components/status/StatusComposeBox.html @@ -45,7 +45,7 @@ let { uuid } = this.get() let { repliesShown } = this.store.get() repliesShown[uuid] = false - this.store.set({repliesShown}) + this.store.set({ repliesShown }) this.fire('recalculateHeight') }) }, diff --git a/routes/_components/status/StatusMediaAttachments.html b/routes/_components/status/StatusMediaAttachments.html index 71436c6..5466762 100644 --- a/routes/_components/status/StatusMediaAttachments.html +++ b/routes/_components/status/StatusMediaAttachments.html @@ -148,7 +148,7 @@ let { uuid } = this.get() let { sensitivesShown } = this.store.get() sensitivesShown[uuid] = !sensitivesShown[uuid] - this.store.set({sensitivesShown}) + this.store.set({ sensitivesShown }) this.fire('recalculateHeight') } } diff --git a/routes/_components/status/StatusSpoiler.html b/routes/_components/status/StatusSpoiler.html index 9fdc0f4..26da9b6 100644 --- a/routes/_components/status/StatusSpoiler.html +++ b/routes/_components/status/StatusSpoiler.html @@ -67,7 +67,7 @@ let { uuid } = this.get() let { spoilersShown } = this.store.get() spoilersShown[uuid] = !spoilersShown[uuid] - this.store.set({spoilersShown}) + this.store.set({ spoilersShown }) this.fire('recalculateHeight') stop('clickSpoilerButton') }) diff --git a/routes/_components/status/StatusToolbar.html b/routes/_components/status/StatusToolbar.html index 0ee2e5d..8d44f1e 100644 --- a/routes/_components/status/StatusToolbar.html +++ b/routes/_components/status/StatusToolbar.html @@ -107,7 +107,7 @@ let { uuid } = this.get() let { repliesShown } = this.store.get() repliesShown[uuid] = !repliesShown[uuid] - this.store.set({repliesShown}) + this.store.set({ repliesShown }) this.fire('recalculateHeight') }) }, diff --git a/routes/_components/timeline/LazyTimeline.html b/routes/_components/timeline/LazyTimeline.html index b82208d..c89e5d5 100644 --- a/routes/_components/timeline/LazyTimeline.html +++ b/routes/_components/timeline/LazyTimeline.html @@ -20,8 +20,8 @@ oncreate () { let { currentInstance } = this.store.get() let { timeline } = this.get() - this.store.set({currentTimeline: timeline}) - this.store.setForTimeline(currentInstance, timeline, {runningUpdate: false}) + this.store.set({ currentTimeline: timeline }) + this.store.setForTimeline(currentInstance, timeline, { runningUpdate: false }) }, store: () => store, data: () => ({ diff --git a/routes/_components/timeline/Timeline.html b/routes/_components/timeline/Timeline.html index 646a286..afc21eb 100644 --- a/routes/_components/timeline/Timeline.html +++ b/routes/_components/timeline/Timeline.html @@ -154,16 +154,16 @@ if (initializeStarted) { return } - this.set({initializeStarted: true}) + this.set({ initializeStarted: true }) mark('initializeTimeline') doubleRAF(() => { console.log('timeline initialized') - this.store.set({timelineInitialized: true}) + this.store.set({ timelineInitialized: true }) stop('initializeTimeline') }) }, onScrollTopChanged (scrollTop) { - this.set({scrollTop: scrollTop}) + this.set({ scrollTop: scrollTop }) }, onScrollToBottom () { let { timelineType } = this.get() @@ -212,7 +212,7 @@ showMoreItemsForTimeline(currentInstance, timeline) } else { // user hasn't scrolled to the top, show a header instead - this.store.setForTimeline(currentInstance, timeline, {shouldShowHeader: true}) + this.store.setForTimeline(currentInstance, timeline, { shouldShowHeader: true }) } stop('handleItemIdsToAdd') } @@ -294,7 +294,7 @@ // i.e. render anything above the fold of the timeline. This avoids the affect // where the scrollable content appears to jump around if we need to scroll it. console.log('timeline preinitialized') - this.store.set({timelinePreinitialized: true}) + this.store.set({ timelinePreinitialized: true }) } } } diff --git a/routes/_components/virtualList/VirtualList.html b/routes/_components/virtualList/VirtualList.html index 80768e8..d34f14a 100644 --- a/routes/_components/virtualList/VirtualList.html +++ b/routes/_components/virtualList/VirtualList.html @@ -47,12 +47,12 @@ }, SCROLL_EVENT_THROTTLE) this.observe('showFooter', showFooter => { mark('set showFooter') - this.store.setForRealm({showFooter: showFooter}) + this.store.setForRealm({ showFooter: showFooter }) mark('set showFooter') }) this.observe('showHeader', showHeader => { mark('set showHeader') - this.store.setForRealm({showHeader: showHeader}) + this.store.setForRealm({ showHeader: showHeader }) stop('set showHeader') }) this.observe('items', (newItems, oldItems) => { @@ -60,7 +60,7 @@ return } mark('set items') - this.store.setForRealm({items: newItems}) + this.store.setForRealm({ items: newItems }) stop('set items') }) this.observe('allVisibleItemsHaveHeight', allVisibleItemsHaveHeight => { @@ -118,7 +118,7 @@ } mark('calculateListOffset') let listOffset = node.offsetParent.offsetTop - this.store.setForRealm({listOffset}) + this.store.setForRealm({ listOffset }) stop('calculateListOffset') } } diff --git a/routes/_components/virtualList/VirtualListContainer.html b/routes/_components/virtualList/VirtualListContainer.html index 90aad33..68a445f 100644 --- a/routes/_components/virtualList/VirtualListContainer.html +++ b/routes/_components/virtualList/VirtualListContainer.html @@ -26,7 +26,7 @@ console.log('allVisibleItemsHaveHeight', allVisibleItemsHaveHeight) let { initializedScrollTop } = this.get() if (!initializedScrollTop && allVisibleItemsHaveHeight && node) { - this.set({'initializedScrollTop': true}) + this.set({ 'initializedScrollTop': true }) mark('set scrollTop') console.log('forcing scroll top to ', scrollTop) node.scrollTop = scrollTop @@ -95,7 +95,7 @@ doubleRAF(() => { mark('onScroll -> setForRealm()') - this.store.setForRealm({scrollTop, scrollHeight}) + this.store.setForRealm({ scrollTop, scrollHeight }) stop('onScroll -> setForRealm()') }) }, diff --git a/routes/_components/virtualList/VirtualListFooter.html b/routes/_components/virtualList/VirtualListFooter.html index 9a9b683..a374ded 100644 --- a/routes/_components/virtualList/VirtualListFooter.html +++ b/routes/_components/virtualList/VirtualListFooter.html @@ -25,7 +25,7 @@ mark('VirtualListFooter gBCR') let rect = node.getBoundingClientRect() stop('VirtualListFooter gBCR') - this.store.setForRealm({footerHeight: rect.height}) + this.store.setForRealm({ footerHeight: rect.height }) }) }, store: () => virtualListStore diff --git a/routes/_components/virtualList/VirtualListHeader.html b/routes/_components/virtualList/VirtualListHeader.html index f909534..d67eed0 100644 --- a/routes/_components/virtualList/VirtualListHeader.html +++ b/routes/_components/virtualList/VirtualListHeader.html @@ -31,11 +31,11 @@ this.observe('shown', shown => { if (shown) { this.doCalculateHeight() - doubleRAF(() => this.set({fadedIn: true})) // animate in + doubleRAF(() => this.set({ fadedIn: true })) // animate in } else { - this.set({fadedIn: false}) + this.set({ fadedIn: false }) } - }, {init: false}) + }, { init: false }) }, data: () => ({ fadedIn: false @@ -48,12 +48,12 @@ if (heightCalculated) { // only need to calculate once, it never changes return } - this.set({heightCalculated: true}) + this.set({ heightCalculated: true }) requestAnimationFrame(() => { mark('VirtualListHeader gBCR') let rect = this.refs.node.getBoundingClientRect() stop('VirtualListHeader gBCR') - this.store.setForRealm({headerHeight: rect.height}) + this.store.setForRealm({ headerHeight: rect.height }) }) } } diff --git a/routes/_components/virtualList/VirtualListItem.html b/routes/_components/virtualList/VirtualListItem.html index 47f0fdf..6d44c19 100644 --- a/routes/_components/virtualList/VirtualListItem.html +++ b/routes/_components/virtualList/VirtualListItem.html @@ -59,7 +59,7 @@ let { key } = this.get() let { itemHeights } = this.store.get() itemHeights[key] = rect.height - this.store.setForRealm({itemHeights}) + this.store.setForRealm({ itemHeights }) } } } diff --git a/routes/_components/virtualList/VirtualListLazyItem.html b/routes/_components/virtualList/VirtualListLazyItem.html index 3aa837c..0c3b8cc 100644 --- a/routes/_components/virtualList/VirtualListLazyItem.html +++ b/routes/_components/virtualList/VirtualListLazyItem.html @@ -16,7 +16,7 @@ if (makeProps) { let props = await makeProps(key) mark('VirtualListLazyItem set props') - this.set({props: props}) + this.set({ props: props }) stop('VirtualListLazyItem set props') } }, diff --git a/routes/_components/virtualList/virtualListStore.js b/routes/_components/virtualList/virtualListStore.js index c29326e..c7a2a6c 100644 --- a/routes/_components/virtualList/virtualListStore.js +++ b/routes/_components/virtualList/virtualListStore.js @@ -106,7 +106,7 @@ virtualListStore.compute('allVisibleItemsHaveHeight', if (process.browser && process.env.NODE_ENV !== 'production') { window.virtualListStore = virtualListStore - virtualListStore.on('state', ({changed}) => { + virtualListStore.on('state', ({ changed }) => { if (changed.visibleItems) { window.visibleItemsChangedCount = (window.visibleItemsChangedCount || 0) + 1 } diff --git a/routes/_database/cache.js b/routes/_database/cache.js index d6950db..fb51cfb 100644 --- a/routes/_database/cache.js +++ b/routes/_database/cache.js @@ -34,7 +34,7 @@ if (process.browser && process.env.NODE_ENV !== 'production') { function getOrCreateInstanceCache (cache, instanceName) { let cached = cache.caches[instanceName] if (!cached) { - cached = cache.caches[instanceName] = new QuickLRU({maxSize: cache.maxSize}) + cached = cache.caches[instanceName] = new QuickLRU({ maxSize: cache.maxSize }) } return cached } diff --git a/routes/_database/databaseLifecycle.js b/routes/_database/databaseLifecycle.js index 42c74da..4c75d1c 100644 --- a/routes/_database/databaseLifecycle.js +++ b/routes/_database/databaseLifecycle.js @@ -53,24 +53,24 @@ export function getDatabase (instanceName) { } if (e.oldVersion < DB_VERSION_INITIAL) { - createObjectStore(STATUSES_STORE, {keyPath: 'id'}, { + createObjectStore(STATUSES_STORE, { keyPath: 'id' }, { [TIMESTAMP]: TIMESTAMP, [REBLOG_ID]: REBLOG_ID }) createObjectStore(STATUS_TIMELINES_STORE, null, { 'statusId': '' }) - createObjectStore(NOTIFICATIONS_STORE, {keyPath: 'id'}, { + createObjectStore(NOTIFICATIONS_STORE, { keyPath: 'id' }, { [TIMESTAMP]: TIMESTAMP, [STATUS_ID]: STATUS_ID }) createObjectStore(NOTIFICATION_TIMELINES_STORE, null, { 'notificationId': '' }) - createObjectStore(ACCOUNTS_STORE, {keyPath: 'id'}, { + createObjectStore(ACCOUNTS_STORE, { keyPath: 'id' }, { [TIMESTAMP]: TIMESTAMP }) - createObjectStore(RELATIONSHIPS_STORE, {keyPath: 'id'}, { + createObjectStore(RELATIONSHIPS_STORE, { keyPath: 'id' }, { [TIMESTAMP]: TIMESTAMP }) createObjectStore(THREADS_STORE, null, { diff --git a/routes/_pages/pinned.html b/routes/_pages/pinned.html index a6ba12f..580c3f6 100644 --- a/routes/_pages/pinned.html +++ b/routes/_pages/pinned.html @@ -47,7 +47,7 @@ } catch (e) { toast.say('Error: ' + (e.name || '') + ' ' + (e.message || '')) } finally { - this.set({loading: false}) + this.set({ loading: false }) } }, data: () => ({ diff --git a/routes/_static/animations.js b/routes/_static/animations.js index f628a9f..5f5eb74 100644 --- a/routes/_static/animations.js +++ b/routes/_static/animations.js @@ -1,9 +1,9 @@ export const FAVORITE_ANIMATION = [ { properties: [ - {transform: 'scale(1)'}, - {transform: 'scale(2)'}, - {transform: 'scale(1)'} + { transform: 'scale(1)' }, + { transform: 'scale(2)' }, + { transform: 'scale(1)' } ], options: { duration: 333, @@ -12,8 +12,8 @@ export const FAVORITE_ANIMATION = [ }, { properties: [ - {fill: 'var(--action-button-fill-color)'}, - {fill: 'var(--action-button-fill-color-pressed)'} + { fill: 'var(--action-button-fill-color)' }, + { fill: 'var(--action-button-fill-color-pressed)' } ], options: { duration: 333, @@ -27,9 +27,9 @@ export const REBLOG_ANIMATION = FAVORITE_ANIMATION export const FOLLOW_BUTTON_ANIMATION = [ { properties: [ - {transform: 'scale(1)'}, - {transform: 'scale(2)'}, - {transform: 'scale(1)'} + { transform: 'scale(1)' }, + { transform: 'scale(2)' }, + { transform: 'scale(1)' } ], options: { duration: 333, diff --git a/routes/_store/LocalStorageStore.js b/routes/_store/LocalStorageStore.js index 2f7c18d..f9a98cc 100644 --- a/routes/_store/LocalStorageStore.js +++ b/routes/_store/LocalStorageStore.js @@ -27,7 +27,7 @@ export class LocalStorageStore extends Store { } } this.set(newState) - this.on('state', ({changed}) => { + this.on('state', ({ changed }) => { Object.keys(changed).forEach(change => { if (this._keysToWatch.has(change)) { this._keysToSave[change] = true diff --git a/routes/_store/mixins/instanceMixins.js b/routes/_store/mixins/instanceMixins.js index cd24904..67d5012 100644 --- a/routes/_store/mixins/instanceMixins.js +++ b/routes/_store/mixins/instanceMixins.js @@ -3,7 +3,7 @@ export function instanceMixins (Store) { let { composeData, currentInstance } = this.get() let instanceNameData = composeData[currentInstance] = composeData[currentInstance] || {} instanceNameData[realm] = Object.assign(instanceNameData[realm] || {}, obj) - this.set({composeData}) + this.set({ composeData }) } Store.prototype.getComposeData = function (realm, key) { @@ -18,6 +18,6 @@ export function instanceMixins (Store) { if (composeData && composeData[currentInstance]) { delete composeData[currentInstance][realm] } - this.set({composeData}) + this.set({ composeData }) } } diff --git a/routes/_store/observers/onlineObservers.js b/routes/_store/observers/onlineObservers.js index a102782..2a221dc 100644 --- a/routes/_store/observers/onlineObservers.js +++ b/routes/_store/observers/onlineObservers.js @@ -34,6 +34,6 @@ export function onlineObservers (store) { } }) - window.addEventListener('offline', () => store.set({online: false})) - window.addEventListener('online', () => store.set({online: true})) + window.addEventListener('offline', () => store.set({ online: false })) + window.addEventListener('online', () => store.set({ online: true })) } diff --git a/routes/_store/observers/pageVisibilityObservers.js b/routes/_store/observers/pageVisibilityObservers.js index 33294bb..555b0b6 100644 --- a/routes/_store/observers/pageVisibilityObservers.js +++ b/routes/_store/observers/pageVisibilityObservers.js @@ -4,6 +4,6 @@ export function pageVisibilityObservers (store) { } document.addEventListener('visibilitychange', () => { - store.set({pageVisibilityHidden: document.hidden}) + store.set({ pageVisibilityHidden: document.hidden }) }) } diff --git a/routes/_store/observers/resizeObservers.js b/routes/_store/observers/resizeObservers.js index f4ae748..f94ec93 100644 --- a/routes/_store/observers/resizeObservers.js +++ b/routes/_store/observers/resizeObservers.js @@ -6,7 +6,7 @@ export function resizeObservers (store) { } const recalculateIsMobileSize = () => { - store.set({isMobileSize: window.matchMedia('(max-width: 767px)').matches}) + store.set({ isMobileSize: window.matchMedia('(max-width: 767px)').matches }) } registerResizeListener(recalculateIsMobileSize) diff --git a/routes/_store/observers/timelineObservers.js b/routes/_store/observers/timelineObservers.js index bf390ec..fc0059e 100644 --- a/routes/_store/observers/timelineObservers.js +++ b/routes/_store/observers/timelineObservers.js @@ -21,11 +21,11 @@ export function timelineObservers (store) { function shouldObserveTimeline (timeline) { return timeline && !( - timeline !== 'local' && + timeline !== 'local' && timeline !== 'federated' && !timeline.startsWith('list/') && !timeline.startsWith('tag/') - ) + ) } store.observe('currentTimeline', async (currentTimeline) => { diff --git a/routes/_store/store.js b/routes/_store/store.js index 60c0578..0122b24 100644 --- a/routes/_store/store.js +++ b/routes/_store/store.js @@ -62,5 +62,5 @@ if (process.browser && process.env.NODE_ENV !== 'production') { // needed for tests if (process.browser) { - window.__forceOnline = online => store.set({online}) + window.__forceOnline = online => store.set({ online }) } diff --git a/routes/_utils/RealmStore.js b/routes/_utils/RealmStore.js index 62302d0..88cc842 100644 --- a/routes/_utils/RealmStore.js +++ b/routes/_utils/RealmStore.js @@ -8,18 +8,18 @@ import { mark, stop } from './marks' export class RealmStore extends Store { constructor (init, maxSize) { super(init) - this.set({realms: new QuickLRU({maxSize: maxSize})}) + this.set({ realms: new QuickLRU({ maxSize: maxSize }) }) this._batches = {} } setCurrentRealm (realm) { - this.set({currentRealm: realm}) + this.set({ currentRealm: realm }) } setForRealm (obj) { let { currentRealm, realms } = this.get() realms.set(currentRealm, Object.assign(realms.get(currentRealm) || {}, obj)) - this.set({realms: realms}) + this.set({ realms: realms }) } computeForRealm (key, defaultValue) { @@ -63,8 +63,8 @@ export class RealmStore extends Store { } delete this._batches[currentRealm][key] let { realms } = this.get() - realms.set(currentRealm, Object.assign(realms.get(currentRealm) || {}, {[key]: obj})) - this.set({realms: realms}) + realms.set(currentRealm, Object.assign(realms.get(currentRealm) || {}, { [key]: obj })) + this.set({ realms: realms }) stop('batchUpdate') }) } diff --git a/routes/_utils/autosize.js b/routes/_utils/autosize.js index db89863..e58c846 100644 --- a/routes/_utils/autosize.js +++ b/routes/_utils/autosize.js @@ -8,7 +8,7 @@ import debounce from 'lodash-es/debounce' import throttle from 'lodash-es/throttle' const map = new Map() -let createEvent = (name) => new Event(name, {bubbles: true}) +let createEvent = (name) => new Event(name, { bubbles: true }) function assign (ta) { if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) { diff --git a/routes/_utils/delegate.js b/routes/_utils/delegate.js index bc5045f..1043675 100644 --- a/routes/_utils/delegate.js +++ b/routes/_utils/delegate.js @@ -40,7 +40,7 @@ export function registerClickDelegates (component, delegates) { } export function registerClickDelegate (component, key, callback) { - registerClickDelegates(component, {[key]: callback}) + registerClickDelegates(component, { [key]: callback }) } if (process.browser) { diff --git a/routes/_utils/reselect.js b/routes/_utils/reselect.js index e9c885c..d858918 100644 --- a/routes/_utils/reselect.js +++ b/routes/_utils/reselect.js @@ -17,7 +17,7 @@ export function reselect (store, outputKey, inputKey) { store.compute(countKey, [inputKey], input => { if (process.browser && process.env.NODE_ENV !== 'production') { - window.reselectStats[inputKey] = window.reselectStats[inputKey] || {numInputChanges: 0, numOutputChanges: 0} + window.reselectStats[inputKey] = window.reselectStats[inputKey] || { numInputChanges: 0, numOutputChanges: 0 } window.reselectStats[inputKey].numInputChanges++ } if (!isEqual(prevValue, input)) { diff --git a/routes/_utils/smoothScrollToTop.js b/routes/_utils/smoothScrollToTop.js index fd5b051..7ff05e3 100644 --- a/routes/_utils/smoothScrollToTop.js +++ b/routes/_utils/smoothScrollToTop.js @@ -36,8 +36,8 @@ const scroll = (node, key, target) => { node.removeEventListener('touchstart', cancel) } - node.addEventListener('wheel', cancel, {passive: true}) - node.addEventListener('touchstart', cancel, {passive: true}) + node.addEventListener('wheel', cancel, { passive: true }) + node.addEventListener('touchstart', cancel, { passive: true }) step() diff --git a/server.js b/server.js index e072ce1..6d9afb1 100644 --- a/server.js +++ b/server.js @@ -28,7 +28,7 @@ const nonDebugOnly = (fn) => (req, res, next) => ( ~debugPaths.indexOf(req.path) ? next() : fn(req, res, next) ) -app.use(shrinkRay({threshold: 0})) +app.use(shrinkRay({ threshold: 0 })) // report.html needs to have CSP disable because it has inline scripts app.use(debugOnly(helmet())) diff --git a/tests/blobUtils.js b/tests/blobUtils.js index 3e03209..b9b4dac 100644 --- a/tests/blobUtils.js +++ b/tests/blobUtils.js @@ -11,5 +11,5 @@ export function base64StringToBlob (base64, type) { } let parts = [binaryStringToArrayBuffer(atob(base64))] - return type ? new Blob(parts, {type: type}) : new Blob(parts) + return type ? new Blob(parts, { type: type }) : new Blob(parts) } diff --git a/tests/fixtures.js b/tests/fixtures.js index b6f6022..a22a0a9 100644 --- a/tests/fixtures.js +++ b/tests/fixtures.js @@ -1,89 +1,89 @@ import { times } from './utils' export const homeTimeline = [ - {content: 'pinned toot 1'}, - {content: 'notification of unlisted message'}, - {content: 'notification of followers-only message'}, - {content: 'notification of direct message'}, - {content: 'this is unlisted'}, - {content: 'this is followers-only'}, - {content: 'direct'}, - {spoiler: 'kitten CW'}, - {content: 'secret video'}, - {content: "here's a video"}, - {spoiler: 'CW'}, - {content: "here's a secret animated kitten gif"}, - {content: "here's an animated kitten gif"}, - {content: "here's 2 kitten photos"}, - {content: "here's a secret kitten"}, - {content: "here's a kitten"}, - {content: 'hello admin'}, - {content: 'hello foobar'}, - {content: 'hello world'} -].concat(times(30, i => ({content: (30 - i).toString()}))) + { content: 'pinned toot 1' }, + { content: 'notification of unlisted message' }, + { content: 'notification of followers-only message' }, + { content: 'notification of direct message' }, + { content: 'this is unlisted' }, + { content: 'this is followers-only' }, + { content: 'direct' }, + { spoiler: 'kitten CW' }, + { content: 'secret video' }, + { content: "here's a video" }, + { spoiler: 'CW' }, + { content: "here's a secret animated kitten gif" }, + { content: "here's an animated kitten gif" }, + { content: "here's 2 kitten photos" }, + { content: "here's a secret kitten" }, + { content: "here's a kitten" }, + { content: 'hello admin' }, + { content: 'hello foobar' }, + { content: 'hello world' } +].concat(times(30, i => ({ content: (30 - i).toString() }))) export const localTimeline = [ - {spoiler: 'kitten CW'}, - {content: 'secret video'}, - {content: "here's a video"}, - {spoiler: 'CW'}, - {content: "here's a secret animated kitten gif"}, - {content: "here's an animated kitten gif"}, - {content: "here's 2 kitten photos"}, - {content: "here's a secret kitten"}, - {content: "here's a kitten"}, - {content: 'hello world'} -].concat(times(30, i => ({content: (30 - i).toString()}))) + { spoiler: 'kitten CW' }, + { content: 'secret video' }, + { content: "here's a video" }, + { spoiler: 'CW' }, + { content: "here's a secret animated kitten gif" }, + { content: "here's an animated kitten gif" }, + { content: "here's 2 kitten photos" }, + { content: "here's a secret kitten" }, + { content: "here's a kitten" }, + { content: 'hello world' } +].concat(times(30, i => ({ content: (30 - i).toString() }))) export const notifications = [ - {favoritedBy: 'admin'}, - {rebloggedBy: 'admin'}, - {content: 'notification of unlisted message'}, - {content: 'notification of followers-only message'}, - {content: 'notification of direct message'}, - {followedBy: 'quux'}, - {content: 'hello foobar'}, - {followedBy: 'admin'} + { favoritedBy: 'admin' }, + { rebloggedBy: 'admin' }, + { content: 'notification of unlisted message' }, + { content: 'notification of followers-only message' }, + { content: 'notification of direct message' }, + { followedBy: 'quux' }, + { content: 'hello foobar' }, + { followedBy: 'admin' } ] export const favorites = [ - {content: 'notification of direct message'}, - {content: 'notification of followers-only message'}, - {content: 'notification of unlisted message'}, - {content: 'pinned toot 1'} + { content: 'notification of direct message' }, + { content: 'notification of followers-only message' }, + { content: 'notification of unlisted message' }, + { content: 'pinned toot 1' } ] export const quuxStatuses = [ - {content: 'pinned toot 2'}, - {content: 'pinned toot 1'} -].concat(times(25, i => ({content: `unlisted thread ${25 - i}`}))) + { content: 'pinned toot 2' }, + { content: 'pinned toot 1' } +].concat(times(25, i => ({ content: `unlisted thread ${25 - i}` }))) -export const quuxThread = times(25, i => ({content: `unlisted thread ${i + 1}`})) +export const quuxThread = times(25, i => ({ content: `unlisted thread ${i + 1}` })) export const bazThreadRelativeTo2B2 = [ - {content: 'thread 1'}, - {content: 'thread 2'}, - {content: 'thread 2b'}, - {content: 'thread 2b2'}, - {content: 'thread 2b2a'} + { content: 'thread 1' }, + { content: 'thread 2' }, + { content: 'thread 2b' }, + { content: 'thread 2b2' }, + { content: 'thread 2b2a' } ] export const bazThreadRelativeTo2b = [ - {content: 'thread 1'}, - {content: 'thread 2'}, - {content: 'thread 2b'}, - {content: 'thread 2b1'}, - {content: 'thread 2b2'}, - {content: 'thread 2b2a'} + { content: 'thread 1' }, + { content: 'thread 2' }, + { content: 'thread 2b' }, + { content: 'thread 2b1' }, + { content: 'thread 2b2' }, + { content: 'thread 2b2a' } ] export const bazThreadRelativeTo2 = [ - {content: 'thread 1'}, - {content: 'thread 2'}, - {content: 'thread 2a'}, - {content: 'thread 2b'}, - {content: 'thread 2b1'}, - {content: 'thread 2b2'}, - {content: 'thread 2b2a'}, - {content: 'thread 2c'} + { content: 'thread 1' }, + { content: 'thread 2' }, + { content: 'thread 2a' }, + { content: 'thread 2b' }, + { content: 'thread 2b1' }, + { content: 'thread 2b2' }, + { content: 'thread 2b2a' }, + { content: 'thread 2c' } ] diff --git a/tests/roles.js b/tests/roles.js index 2344d49..88fce90 100644 --- a/tests/roles.js +++ b/tests/roles.js @@ -4,7 +4,7 @@ import { users } from './users' // quick login using a secret page and a known access token (makes tests run faster) async function login (t, user) { await t.navigateTo(`/settings/quick-login?instanceName=localhost:3000&accessToken=${user.accessToken}`) - .expect(getUrl()).eql('http://localhost:4002/', {timeout: 30000}) + .expect(getUrl()).eql('http://localhost:4002/', { timeout: 30000 }) } // roles appear not to be working anymore :( diff --git a/tests/serverActions.js b/tests/serverActions.js index 39a6400..bdba547 100644 --- a/tests/serverActions.js +++ b/tests/serverActions.js @@ -54,5 +54,5 @@ export async function unfollowAs (username, userToFollow) { } export async function updateUserDisplayNameAs (username, displayName) { - return updateCredentials(instanceName, users[username].accessToken, {display_name: displayName}) + return updateCredentials(instanceName, users[username].accessToken, { display_name: displayName }) } diff --git a/tests/spec/002-login-spec.js b/tests/spec/002-login-spec.js index e84753b..1eabdae 100644 --- a/tests/spec/002-login-spec.js +++ b/tests/spec/002-login-spec.js @@ -16,9 +16,9 @@ function manualLogin (t, username, password) { .expect(getUrl()).contains('/settings/instances/add') .typeText(instanceInput, 'localhost:3000') .click(addInstanceButton) - .expect(getUrl()).eql('http://localhost:3000/auth/sign_in', {timeout: 30000}) - .typeText(emailInput, username, {paste: true}) - .typeText(passwordInput, password, {paste: true}) + .expect(getUrl()).eql('http://localhost:3000/auth/sign_in', { timeout: 30000 }) + .typeText(emailInput, username, { paste: true }) + .typeText(passwordInput, password, { paste: true }) .click(mastodonLogInButton) .expect(getUrl()).contains('/oauth/authorize') .click(authorizeInput) @@ -29,13 +29,13 @@ test('Cannot log in to a fake instance', async t => { await sleep(500) await t.click(logInToInstanceLink) .expect(getUrl()).contains('/settings/instances/add') - .typeText(instanceInput, 'fake.nolanlawson.com', {paste: true}) + .typeText(instanceInput, 'fake.nolanlawson.com', { paste: true }) .click(addInstanceButton) .expect(formError.exists).ok() .expect(formError.innerText).contains('Is this a valid Mastodon instance?') - .typeText(instanceInput, '.biz', {paste: true}) + .typeText(instanceInput, '.biz', { paste: true }) .expect(formError.exists).notOk() - .typeText(instanceInput, 'fake.nolanlawson.com', {paste: true, replace: true}) + .typeText(instanceInput, 'fake.nolanlawson.com', { paste: true, replace: true }) .expect(formError.exists).ok() .expect(formError.innerText).contains('Is this a valid Mastodon instance?') }) diff --git a/tests/spec/003-basic-timeline-spec.js b/tests/spec/003-basic-timeline-spec.js index 4521f77..2c3ec0d 100644 --- a/tests/spec/003-basic-timeline-spec.js +++ b/tests/spec/003-basic-timeline-spec.js @@ -14,7 +14,7 @@ test('Shows the home timeline', async t => { await loginAsFoobar(t) await t .expect(getUrl()).eql('http://localhost:4002/') - .expect(getNthStatus(0).exists).ok({timeout: 30000}) + .expect(getNthStatus(0).exists).ok({ timeout: 30000 }) .hover(getNthStatus(0)) .expect(getFirstVisibleStatus().exists).ok() .expect(getFirstVisibleStatus().hasAttribute('aria-setsize')).ok() @@ -29,7 +29,7 @@ test('Shows notifications', async t => { await loginAsFoobar(t) await t .expect(getUrl()).eql('http://localhost:4002/') - .expect(getNthStatus(0).exists).ok({timeout: 30000}) + .expect(getNthStatus(0).exists).ok({ timeout: 30000 }) .click(notificationsNavButton) .expect(getUrl()).contains('/notifications') @@ -40,7 +40,7 @@ test('Shows the local timeline', async t => { await loginAsFoobar(t) await t .expect(getUrl()).eql('http://localhost:4002/') - .expect(getNthStatus(0).exists).ok({timeout: 30000}) + .expect(getNthStatus(0).exists).ok({ timeout: 30000 }) .click(localTimelineNavButton) .expect(getUrl()).contains('/local') @@ -51,7 +51,7 @@ test('Shows the federated timeline', async t => { await loginAsFoobar(t) await t .expect(getUrl()).eql('http://localhost:4002/') - .expect(getNthStatus(0).exists).ok({timeout: 30000}) + .expect(getNthStatus(0).exists).ok({ timeout: 30000 }) .click(communityNavButton) .expect(getUrl()).contains('/community') .click($('a').withText('Federated')) @@ -64,7 +64,7 @@ test('Shows favorites', async t => { await loginAsFoobar(t) await t .expect(getUrl()).eql('http://localhost:4002/') - .expect(getNthStatus(0).exists).ok({timeout: 30000}) + .expect(getNthStatus(0).exists).ok({ timeout: 30000 }) .click(communityNavButton) .expect(getUrl()).contains('/community') .click($('a').withText('Favorites')) diff --git a/tests/spec/009-threads.js b/tests/spec/009-threads.js index 626652c..9ecfa22 100644 --- a/tests/spec/009-threads.js +++ b/tests/spec/009-threads.js @@ -44,7 +44,7 @@ test('Scrolls to proper point in thread', async t => { async function navigateToBazAccount (t) { await t.click(searchNavButton) .expect(getUrl()).contains('/search') - .typeText(searchInput, 'baz', {paste: true}) + .typeText(searchInput, 'baz', { paste: true }) .pressKey('enter') .click(getNthSearchResult(1)) .expect(getUrl()).contains('/accounts/5') diff --git a/tests/spec/010-focus.js b/tests/spec/010-focus.js index 7e8ec46..204e628 100644 --- a/tests/spec/010-focus.js +++ b/tests/spec/010-focus.js @@ -39,7 +39,7 @@ test('timeline preserves focus', async t => { test('timeline link preserves focus', async t => { await loginAsFoobar(t) await t - .expect(getNthStatus(0).exists).ok({timeout: 20000}) + .expect(getNthStatus(0).exists).ok({ timeout: 20000 }) .click($(`${getNthStatusSelector(0)} .status-header a`)) .expect(getUrl()).contains('/accounts/') .click(goBackButton) @@ -93,7 +93,7 @@ test('thread preserves focus', async t => { test('reply preserves focus and moves focus to the text input', async t => { await loginAsFoobar(t) await t - .expect(getNthStatus(1).exists).ok({timeout: 20000}) + .expect(getNthStatus(1).exists).ok({ timeout: 20000 }) .click(getNthReplyButton(1)) .expect(getActiveElementClass()).contains('compose-box-input') }) diff --git a/tests/spec/012-compose.js b/tests/spec/012-compose.js index 8b5edd0..84eb55a 100644 --- a/tests/spec/012-compose.js +++ b/tests/spec/012-compose.js @@ -20,10 +20,10 @@ test('shows compose limits', async t => { .typeText(composeInput, 'typing some text') .expect(composeLengthIndicator.innerText).eql('484') .expect(composeButton.hasAttribute('disabled')).notOk() - .typeText(composeInput, times(50, () => 'hello world').join(' '), {replace: true, paste: true}) + .typeText(composeInput, times(50, () => 'hello world').join(' '), { replace: true, paste: true }) .expect(composeLengthIndicator.innerText).eql('-99') .expect(composeButton.getAttribute('disabled')).eql('') - .typeText(composeInput, 'hello world', {replace: true}) + .typeText(composeInput, 'hello world', { replace: true }) .click(notificationsNavButton) .expect(getUrl()).contains('/notifications') .click(homeNavButton) @@ -45,7 +45,7 @@ test('shows compose limits for URLs/handles', async t => { .expect(composeButton.hasAttribute('disabled')).notOk() .typeText(composeInput, 'hello world ' + 'http://foo.bar.baz.whatever.example.com/hello ' + - '@reallylongnamethatstretchesonandon@foo.example.com', {paste: true}) + '@reallylongnamethatstretchesonandon@foo.example.com', { paste: true }) .expect(composeLengthIndicator.innerText).eql('429') .expect(composeButton.hasAttribute('disabled')).notOk() }) diff --git a/tests/spec/015-compose-content-warnings.js b/tests/spec/015-compose-content-warnings.js index f6569e0..7af13da 100644 --- a/tests/spec/015-compose-content-warnings.js +++ b/tests/spec/015-compose-content-warnings.js @@ -17,8 +17,8 @@ test('Changes content warnings', async t => { .expect(composeContentWarning.exists).ok() .expect(contentWarningButton.getAttribute('aria-label')).eql('Remove content warning') .expect(contentWarningButton.getAttribute('aria-pressed')).eql('true') - .typeText(composeContentWarning, 'hello content warning', {paste: true}) - .typeText(composeInput, 'secret text', {paste: true}) + .typeText(composeContentWarning, 'hello content warning', { paste: true }) + .typeText(composeInput, 'secret text', { paste: true }) .click(notificationsNavButton) .click(homeNavButton) .expect(contentWarningButton.getAttribute('aria-label')).eql('Remove content warning') @@ -42,9 +42,9 @@ test('Considers content warnings for length limits', async t => { await t .expect(composeLengthIndicator.innerText).eql('500') .click(contentWarningButton) - .typeText(composeContentWarning, 'my content warning', {paste: true}) + .typeText(composeContentWarning, 'my content warning', { paste: true }) .expect(composeLengthIndicator.innerText).eql('482') - .typeText(composeInput, 'secret text', {paste: true}) + .typeText(composeInput, 'secret text', { paste: true }) .expect(composeLengthIndicator.innerText).eql('471') .selectText(composeContentWarning) .pressKey('delete') @@ -59,7 +59,7 @@ test('Content warning goes away if you hide it', async t => { await t .click(contentWarningButton) .expect(composeContentWarning.value).eql('') - .typeText(composeContentWarning, 'yo', {paste: true}) + .typeText(composeContentWarning, 'yo', { paste: true }) .expect(composeContentWarning.value).eql('yo') .expect(composeLengthIndicator.innerText).eql('498') .click(contentWarningButton) diff --git a/tests/spec/017-compose-reply.js b/tests/spec/017-compose-reply.js index 7b4f970..29f269c 100644 --- a/tests/spec/017-compose-reply.js +++ b/tests/spec/017-compose-reply.js @@ -15,7 +15,7 @@ test('account handle populated correctly for replies', async t => { await t .click(getNthReplyButton(0)) .expect(getNthComposeReplyInput(0).value).eql('@quux ') - .typeText(getNthComposeReplyInput(0), 'hello quux', {paste: true}) + .typeText(getNthComposeReplyInput(0), 'hello quux', { paste: true }) .expect(getNthComposeReplyInput(0).value).eql('@quux hello quux') .click(notificationsNavButton) .expect(getUrl()).contains('/notifications') @@ -91,7 +91,7 @@ test('replies save changes to CW', async t => { await scrollToStatus(t, 7) await t.click(getNthReplyButton(7)) .expect(getNthReplyContentWarningInput(7).value).eql('kitten CW') - .typeText(getNthReplyContentWarningInput(7), ' yolo', {paste: true}) + .typeText(getNthReplyContentWarningInput(7), ' yolo', { paste: true }) .expect(getNthReplyContentWarningInput(7).value).eql('kitten CW yolo') .click(getNthStatus(7)) .click(getNthReplyButton(0)) diff --git a/tests/spec/018-compose-autosuggest.js b/tests/spec/018-compose-autosuggest.js index 324d249..db5ce58 100644 --- a/tests/spec/018-compose-autosuggest.js +++ b/tests/spec/018-compose-autosuggest.js @@ -16,17 +16,17 @@ test('autosuggests user handles', async t => { await sleep(1000) await t .typeText(composeInput, 'hey @qu') - .click(getNthAutosuggestionResult(1), {timeout}) + .click(getNthAutosuggestionResult(1), { timeout }) .expect(composeInput.value).eql('hey @quux ') .typeText(composeInput, 'and also @adm') - .click(getNthAutosuggestionResult(1), {timeout}) + .click(getNthAutosuggestionResult(1), { timeout }) .expect(composeInput.value).eql('hey @quux and also @admin ') .typeText(composeInput, 'and also @AdM') - .expect(getNthAutosuggestionResult(1).innerText).contains('@admin', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains('@admin', { timeout }) .pressKey('tab') .expect(composeInput.value).eql('hey @quux and also @admin and also @admin ') .typeText(composeInput, 'and @QU') - .expect(getNthAutosuggestionResult(1).innerText).contains('@quux', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains('@quux', { timeout }) .pressKey('enter') .expect(composeInput.value).eql('hey @quux and also @admin and also @admin and @quux ') }) @@ -39,15 +39,15 @@ test('autosuggests custom emoji', async t => { .click(getNthAutosuggestionResult(1)) .expect(composeInput.value).eql(':blobnom: ') .typeText(composeInput, 'and :blob') - .expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', { timeout }) .expect(getNthAutosuggestionResult(2).innerText).contains(':blobpats:') .expect(getNthAutosuggestionResult(3).innerText).contains(':blobpeek:') .pressKey('down') .pressKey('down') .pressKey('enter') - .expect(composeInput.value).eql(':blobnom: and :blobpeek: ', {timeout}) + .expect(composeInput.value).eql(':blobnom: and :blobpeek: ', { timeout }) .typeText(composeInput, 'and also :blobpa') - .expect(getNthAutosuggestionResult(1).innerText).contains(':blobpats:', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains(':blobpats:', { timeout }) .pressKey('tab') .expect(composeInput.value).eql(':blobnom: and :blobpeek: and also :blobpats: ') }) @@ -57,7 +57,7 @@ test('autosuggest custom emoji works with regular emoji - keyboard', async t => await t .hover(composeInput) .typeText(composeInput, '\ud83c\udf4d :blobno') - .expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', { timeout }) .pressKey('enter') .expect(composeInput.value).eql('\ud83c\udf4d :blobnom: ') }) @@ -67,7 +67,7 @@ test('autosuggest custom emoji works with regular emoji - clicking', async t => await t .hover(composeInput) .typeText(composeInput, '\ud83c\udf4d :blobno') - .expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', { timeout }) .click(getNthAutosuggestionResult(1)) .expect(composeInput.value).eql('\ud83c\udf4d :blobnom: ') }) @@ -77,7 +77,7 @@ test('autosuggest handles works with regular emoji - keyboard', async t => { await t .hover(composeInput) .typeText(composeInput, '\ud83c\udf4d @quu') - .expect(getNthAutosuggestionResult(1).innerText).contains('@quux', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains('@quux', { timeout }) .pressKey('enter') .expect(composeInput.value).eql('\ud83c\udf4d @quux ') }) @@ -87,7 +87,7 @@ test('autosuggest handles works with regular emoji - clicking', async t => { await t .hover(composeInput) .typeText(composeInput, '\ud83c\udf4d @quu') - .expect(getNthAutosuggestionResult(1).innerText).contains('@quux', {timeout}) + .expect(getNthAutosuggestionResult(1).innerText).contains('@quux', { timeout }) .click(getNthAutosuggestionResult(1)) .expect(composeInput.value).eql('\ud83c\udf4d @quux ') }) @@ -110,7 +110,7 @@ test('autosuggest only shows for one input part 2', async t => { await t .hover(composeInput) .typeText(composeInput, '@adm') - .expect($('.compose-autosuggest.shown').exists).ok({timeout}) + .expect($('.compose-autosuggest.shown').exists).ok({ timeout }) .expect(getNthAutosuggestionResult(1).innerText).contains('@admin') .hover(getNthStatus(0)) .click(getNthReplyButton(0)) diff --git a/tests/spec/103-compose.js b/tests/spec/103-compose.js index 11afa42..87db2fc 100644 --- a/tests/spec/103-compose.js +++ b/tests/spec/103-compose.js @@ -11,7 +11,7 @@ fixture`103-compose.js` test('statuses show up in home timeline', async t => { await loginAsFoobar(t) await t - .typeText(composeInput, 'hello world', {paste: true}) + .typeText(composeInput, 'hello world', { paste: true }) .click(postStatusButton) .expect(getNthStatus(0).innerText).contains('hello world') .click(notificationsNavButton) @@ -30,7 +30,7 @@ test('statuses in threads show up in right order', async t => { .click(getNthStatus(2)) .expect(getUrl()).contains('/statuses') .click(getNthReplyButton(3)) - .typeText(getNthComposeReplyInput(3), 'my reply!', {paste: true}) + .typeText(getNthComposeReplyInput(3), 'my reply!', { paste: true }) .click(getNthComposeReplyButton(3)) .expect(getNthComposeReplyInput(3).exists).notOk() .expect(getNthStatus(5).innerText).contains('@baz my reply!') diff --git a/tests/spec/105-deletes.js b/tests/spec/105-deletes.js index 359c6ba..24c080c 100644 --- a/tests/spec/105-deletes.js +++ b/tests/spec/105-deletes.js @@ -14,19 +14,19 @@ test('deleted statuses are removed from the timeline', async t => { await t .hover(getNthStatus(0)) let status = await postAs('admin', "I'm gonna delete this") - await t.expect(getNthStatus(0).innerText).contains("I'm gonna delete this", {timeout}) + await t.expect(getNthStatus(0).innerText).contains("I'm gonna delete this", { timeout }) await deleteAs('admin', status.id) - await t.expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", {timeout}) + await t.expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", { timeout }) await clickToNotificationsAndBackHome(t) - await t.expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", {timeout}) + await t.expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", { timeout }) await t.navigateTo('/notifications') await forceOffline() await t.click(homeNavButton) - await t.expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", {timeout}) + await t.expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", { timeout }) await forceOnline() await t .navigateTo('/') - .expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", {timeout}) + .expect(getNthStatus(0).innerText).notContains("I'm gonna delete this", { timeout }) }) test('deleted statuses are removed from threads', async t => { @@ -36,21 +36,21 @@ test('deleted statuses are removed from threads', async t => { .hover(getNthStatus(0)) let status = await postAs('admin', "I won't delete this") let reply = await postReplyAs('admin', 'But I will delete this', status.id) - await t.expect(getNthStatus(0).innerText).contains('But I will delete this', {timeout}) - .expect(getNthStatus(1).innerText).contains("I won't delete this", {timeout}) + await t.expect(getNthStatus(0).innerText).contains('But I will delete this', { timeout }) + .expect(getNthStatus(1).innerText).contains("I won't delete this", { timeout }) .click(getNthStatus(1)) .expect(getUrl()).contains('/statuses') - .expect(getNthStatus(0).innerText).contains("I won't delete this", {timeout}) - .expect(getNthStatus(1).innerText).contains('But I will delete this', {timeout}) + .expect(getNthStatus(0).innerText).contains("I won't delete this", { timeout }) + .expect(getNthStatus(1).innerText).contains('But I will delete this', { timeout }) await deleteAs('admin', reply.id) await t.expect(getNthStatus(1).exists).notOk() - .expect(getNthStatus(0).innerText).contains("I won't delete this", {timeout}) + .expect(getNthStatus(0).innerText).contains("I won't delete this", { timeout }) await t.navigateTo('/') await forceOffline() await t.click(getNthStatus(0)) .expect(getUrl()).contains('/statuses') .expect(getNthStatus(1).exists).notOk() - .expect(getNthStatus(0).innerText).contains("I won't delete this", {timeout}) + .expect(getNthStatus(0).innerText).contains("I won't delete this", { timeout }) await forceOnline() }) @@ -61,7 +61,7 @@ test('deleted statuses result in deleted notifications', async t => { .hover(getNthStatus(0)) .expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications') let status = await postAs('admin', "@foobar yo yo foobar what's up") - await t.expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications (1)', {timeout}) + await t.expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications (1)', { timeout }) await deleteAs('admin', status.id) - await t.expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications', {timeout}) + await t.expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications', { timeout }) }) diff --git a/tests/spec/107-streaming-gap.js b/tests/spec/107-streaming-gap.js index 6370549..a52bcb4 100644 --- a/tests/spec/107-streaming-gap.js +++ b/tests/spec/107-streaming-gap.js @@ -15,18 +15,18 @@ test('fills in a status posted while away from timeline', async t => { await loginAsFoobar(t) await t .click(localTimelineNavButton) - .expect(getNthStatus(0).exists).ok({timeout}) + .expect(getNthStatus(0).exists).ok({ timeout }) .hover(getNthStatus(0)) await postAs('admin', 'heyo') - await t.expect(getNthStatus(0).innerText).contains('heyo', {timeout}) + await t.expect(getNthStatus(0).innerText).contains('heyo', { timeout }) .click(homeNavButton) .hover(getNthStatus(0)) await postAs('admin', 'posted this while you were away!') - await t.expect(getNthStatus(0).innerText).contains('posted this while you were away!', {timeout}) + await t.expect(getNthStatus(0).innerText).contains('posted this while you were away!', { timeout }) .click(localTimelineNavButton) - .expect(getNthStatus(0).innerText).contains('posted this while you were away!', {timeout}) - .expect(getNthStatus(1).innerText).contains('heyo', {timeout}) + .expect(getNthStatus(0).innerText).contains('posted this while you were away!', { timeout }) + .expect(getNthStatus(1).innerText).contains('heyo', { timeout }) await sleep(5000) await postAs('admin', 'posted this while you were watching') - await t.expect(getNthStatus(0).innerText).contains('posted this while you were watching', {timeout}) + await t.expect(getNthStatus(0).innerText).contains('posted this while you were watching', { timeout }) }) diff --git a/tests/spec/108-compose-dialog.js b/tests/spec/108-compose-dialog.js index b4d7c89..bbea4f3 100644 --- a/tests/spec/108-compose-dialog.js +++ b/tests/spec/108-compose-dialog.js @@ -23,7 +23,7 @@ test('can compose using a dialog', async t => { .expect(getUrl()).contains('/notifications') .navigateTo('/') .hover(getNthStatus(0)) - .expect(getNthStatus(0).innerText).contains('hello from the modal', {timeout: 20000}) + .expect(getNthStatus(0).innerText).contains('hello from the modal', { timeout: 20000 }) }) test('can use emoji dialog within compose dialog', async t => { @@ -40,5 +40,5 @@ test('can use emoji dialog within compose dialog', async t => { .click(notificationsNavButton) .expect(getUrl()).contains('/notifications') .navigateTo('/') - await t.expect($(`${getNthStatusSelector(0)} img[alt=":blobpats:"]`).exists).ok({timeout: 20000}) + await t.expect($(`${getNthStatusSelector(0)} img[alt=":blobpats:"]`).exists).ok({ timeout: 20000 }) }) diff --git a/tests/spec/110-compose-content-warnings.js b/tests/spec/110-compose-content-warnings.js index 8effc79..2579c09 100644 --- a/tests/spec/110-compose-content-warnings.js +++ b/tests/spec/110-compose-content-warnings.js @@ -11,11 +11,11 @@ fixture`110-compose-content-warnings.js` test('content warnings are posted', async t => { await loginAsFoobar(t) await t - .typeText(composeInput, 'hello this is a toot', {paste: true}) + .typeText(composeInput, 'hello this is a toot', { paste: true }) .click(contentWarningButton) - .typeText(composeContentWarning, 'CW', {paste: true}) + .typeText(composeContentWarning, 'CW', { paste: true }) .click(composeButton) - .expect($(`${getNthStatusSelector(0)} .status-spoiler`).innerText).contains('CW', {timeout: 30000}) + .expect($(`${getNthStatusSelector(0)} .status-spoiler`).innerText).contains('CW', { timeout: 30000 }) .click(getNthShowOrHideButton(0)) .expect($(`${getNthStatusSelector(0)} .status-content`).innerText).contains('hello this is a toot') .click(getNthShowOrHideButton(0)) @@ -25,13 +25,13 @@ test('content warnings are posted', async t => { test('content warnings are not posted if removed', async t => { await loginAsFoobar(t) await t - .typeText(composeInput, 'hi this is another toot', {paste: true}) + .typeText(composeInput, 'hi this is another toot', { paste: true }) .click(contentWarningButton) - .typeText(composeContentWarning, 'content warning!', {paste: true}) + .typeText(composeContentWarning, 'content warning!', { paste: true }) .click(contentWarningButton) .expect(composeContentWarning.exists).notOk() .click(composeButton) - .expect(getNthStatus(0).innerText).contains('hi this is another toot', {timeout: 30000}) + .expect(getNthStatus(0).innerText).contains('hi this is another toot', { timeout: 30000 }) .expect(getNthStatus(0).innerText).notContains('content warning!') .expect($(`${getNthStatusSelector(0)} .status-content`).innerText).contains('hi this is another toot') }) @@ -43,7 +43,7 @@ test('content warnings can have emoji', async t => { .click(contentWarningButton) .typeText(composeContentWarning, 'can you feel the :blobpats: tonight') .click(composeButton) - .expect(getNthStatus(0).innerText).contains('can you feel the', {timeout: 30000}) + .expect(getNthStatus(0).innerText).contains('can you feel the', { timeout: 30000 }) .expect($(`${getNthStatusSelector(0)} .status-spoiler img.inline-custom-emoji`).getAttribute('alt')).eql(':blobpats:') .click(getNthShowOrHideButton(0)) .expect($(`${getNthStatusSelector(0)} .status-content img.inline-custom-emoji`).getAttribute('alt')).eql(':blobnom:') diff --git a/tests/spec/111-focus.js b/tests/spec/111-focus.js index 7da06b7..9346df0 100644 --- a/tests/spec/111-focus.js +++ b/tests/spec/111-focus.js @@ -13,11 +13,11 @@ fixture`111-focus.js` test('replying to a toot returns focus to reply button', async t => { await loginAsFoobar(t) await t - .typeText(composeInput, 'I would like, if I may, to take you on a strange journey', {paste: true}) + .typeText(composeInput, 'I would like, if I may, to take you on a strange journey', { paste: true }) .pressKey('ctrl+enter') .expect($(`${getNthStatusSelector(0)} .status-content`).innerText).contains('I would like, if I may, to take you on a strange journey') .click(getNthReplyButton(0)) - .typeText(getNthComposeReplyInput(0), 'How strange was it?', {paste: true}) + .typeText(getNthComposeReplyInput(0), 'How strange was it?', { paste: true }) .click(getNthComposeReplyButton(0)) - .expect(getActiveElementClass()).contains('status-toolbar-reply-button', {timeout: 20000}) + .expect(getActiveElementClass()).contains('status-toolbar-reply-button', { timeout: 20000 }) }) diff --git a/tests/spec/112-status-links.js b/tests/spec/112-status-links.js index 0e6b567..1d2d793 100644 --- a/tests/spec/112-status-links.js +++ b/tests/spec/112-status-links.js @@ -19,9 +19,9 @@ test('External links, hashtags, and mentions have correct attributes', async t = await loginAsFoobar(t) await t - .typeText(composeInput, text, {paste: true}) + .typeText(composeInput, text, { paste: true }) .click(composeButton) - .expect(getNthStatus(0).innerText).contains('Why hello there', {timeout: 20000}) + .expect(getNthStatus(0).innerText).contains('Why hello there', { timeout: 20000 }) .expect(nthAnchor(0).getAttribute('href')).eql('/accounts/1') .expect(nthAnchor(0).hasAttribute('rel')).notOk() .expect(nthAnchor(0).getAttribute('title')).eql('@admin') diff --git a/tests/spec/113-block-unblock.js b/tests/spec/113-block-unblock.js index 45aaf87..de8fdfe 100644 --- a/tests/spec/113-block-unblock.js +++ b/tests/spec/113-block-unblock.js @@ -15,7 +15,7 @@ test('Can block and unblock an account from a status', async t => { await postAs('admin', post) await loginAsFoobar(t) await t - .expect(getNthStatus(0).innerText).contains(post, {timeout: 30000}) + .expect(getNthStatus(0).innerText).contains(post, { timeout: 30000 }) .click(getNthStatusOptionsButton(0)) .expect(getNthDialogOptionsOption(1).innerText).contains('Unfollow @admin') .expect(getNthDialogOptionsOption(2).innerText).contains('Block @admin') diff --git a/tests/spec/114-mute-unmute.js b/tests/spec/114-mute-unmute.js index 8e64078..8f9addc 100644 --- a/tests/spec/114-mute-unmute.js +++ b/tests/spec/114-mute-unmute.js @@ -15,7 +15,7 @@ test('Can mute and unmute an account', async t => { let post = 'blah blah blah' await postAs('admin', post) - await t.expect(getNthStatus(0).innerText).contains(post, {timeout: 20000}) + await t.expect(getNthStatus(0).innerText).contains(post, { timeout: 20000 }) .click(getNthStatusOptionsButton(0)) .expect(getNthDialogOptionsOption(1).innerText).contains('Unfollow @admin') .expect(getNthDialogOptionsOption(2).innerText).contains('Block @admin') diff --git a/tests/spec/116-follow-requests.js b/tests/spec/116-follow-requests.js index 16eb722..09ae6c3 100644 --- a/tests/spec/116-follow-requests.js +++ b/tests/spec/116-follow-requests.js @@ -46,7 +46,7 @@ test('Can approve and reject follow requests', async t => { .expect(approveAdminButton().getAttribute('aria-label')).eql('Approve') .hover(approveAdminButton()) .click(approveAdminButton()) - .expect(getNthSearchResult(1).innerText).match(/(@baz|@quux)/, {timeout}) + .expect(getNthSearchResult(1).innerText).match(/(@baz|@quux)/, { timeout }) .expect(getNthSearchResult(2).innerText).match(/(@baz|@quux)/) .expect(getNthSearchResult(3).exists).notOk() await goBack() @@ -56,7 +56,7 @@ test('Can approve and reject follow requests', async t => { .expect(rejectBazButton().getAttribute('aria-label')).eql('Reject') .hover(rejectBazButton()) .click(rejectBazButton()) - .expect(getNthSearchResult(1).innerText).contains('@quux', {timeout}) + .expect(getNthSearchResult(1).innerText).contains('@quux', { timeout }) .expect(getNthSearchResult(2).exists).notOk() await goBack() await t @@ -65,7 +65,7 @@ test('Can approve and reject follow requests', async t => { .expect(approveQuuxButton().getAttribute('aria-label')).eql('Approve') .hover(approveQuuxButton()) .click(approveQuuxButton()) - .expect(getNthSearchResult(1).exists).notOk({timeout}) + .expect(getNthSearchResult(1).exists).notOk({ timeout }) // check our follow list to make sure they follow us .click(homeNavButton) .click(avatarInComposeBox) diff --git a/tests/spec/117-pin-unpin.js b/tests/spec/117-pin-unpin.js index 10c3d41..5ab8267 100644 --- a/tests/spec/117-pin-unpin.js +++ b/tests/spec/117-pin-unpin.js @@ -16,7 +16,7 @@ fixture`117-pin-unpin.js` test('Can pin statuses', async t => { await loginAsFoobar(t) await t - .typeText(composeInput, 'I am going to pin this', {paste: true}) + .typeText(composeInput, 'I am going to pin this', { paste: true }) .click(postStatusButton) .expect(getNthStatus(0).innerText).contains('I am going to pin this') .click(avatarInComposeBox) diff --git a/tests/utils.js b/tests/utils.js index 7a2958d..f0b3d0a 100644 --- a/tests/utils.js +++ b/tests/utils.js @@ -303,7 +303,7 @@ export async function scrollToBottomOfTimeline (t) { export async function scrollToStatus (t, n) { let timeout = 20000 for (let i = 0; i <= n; i++) { - await t.expect(getNthStatus(i).exists).ok({timeout}) + await t.expect(getNthStatus(i).exists).ok({ timeout }) .hover(getNthStatus(i)) .expect($('.loading-footer').exist).notOk() if (i < n) {