From 39da79ddf231cea6ffabf7a095f4ffbfad9bbdd0 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Sun, 6 Mar 2022 23:07:33 -0800 Subject: [PATCH] Enforce Prettier at the root --- .eslintrc | 2 +- .github/workflows/nodejs.yml | 2 +- package.json | 1 + .../skin-database/api/DiscordEventHandler.ts | 4 +- .../skin-database/api/processUserUploads.ts | 63 ++++++++++--------- packages/skin-database/data/KeyValue.ts | 46 +++++++------- .../20220202232041_missing_instagram_posts.ts | 33 +++++----- .../20220203100031_key_value_store.ts | 11 ++-- .../migrations/20220218192912_ia_metadata.ts | 9 +-- .../20220218195859_ai_metadata_timestamp.ts | 11 ++-- packages/skin-database/s3.js | 2 +- .../skin-database/tasks/integrityCheck.ts | 3 +- packages/skin-database/tasks/scrapeLikes.ts | 10 +-- .../skin-database/tasks/syncFromArchive.ts | 7 +-- packages/skin-database/tasks/tweet.ts | 5 +- packages/webamp-modern/.eslintrc | 1 - packages/webamp/package.json | 1 - packages/winamp-eqf/constants.js | 4 +- packages/winamp-eqf/creator.js | 4 +- packages/winamp-eqf/index.js | 2 +- packages/winamp-eqf/parser.js | 2 +- yarn.lock | 9 ++- 22 files changed, 112 insertions(+), 120 deletions(-) diff --git a/.eslintrc b/.eslintrc index a1ad126e..568c14fa 100644 --- a/.eslintrc +++ b/.eslintrc @@ -41,6 +41,6 @@ "location": true }, "rules": { - // "prettier/prettier": "error" + "prettier/prettier": "error" } } diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 634add26..ec01388f 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -25,7 +25,7 @@ jobs: yarn workspace webamp build-library - name: Lint run: | - yarn workspace webamp lint + yarn lint yarn workspace webamp type-check - name: Run Unit Tests run: | diff --git a/package.json b/package.json index b8e01323..980600c8 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@babel/preset-typescript": "^7.16.7", "@typescript-eslint/parser": "^5.13.0", "eslint": "^8.10.0", + "eslint-plugin-prettier": "^4.0.0", "jest": "^27.5.1", "prettier": "^2.3.2" }, diff --git a/packages/skin-database/api/DiscordEventHandler.ts b/packages/skin-database/api/DiscordEventHandler.ts index 084b1e85..6a02df29 100644 --- a/packages/skin-database/api/DiscordEventHandler.ts +++ b/packages/skin-database/api/DiscordEventHandler.ts @@ -121,7 +121,7 @@ export default class DiscordEventHandler { } case "POPULAR_TWEET": { const dest = await this.getChannel(Config.POPULAR_TWEETS_CHANNEL_ID); - const diff = (Date.now() - Number(action.date)); + const diff = Date.now() - Number(action.date); const seconds = diff / 1000; const minutes = seconds / 60; const hours = Math.round(minutes / 60); @@ -135,7 +135,7 @@ export default class DiscordEventHandler { const dest = await this.getChannel(Config.POPULAR_TWEETS_CHANNEL_ID); const message = `🎉 Tweet Bot Milestone! Just passed ${action.bracket.toLocaleString()} Followers 🎉`; await dest.send(message); - break + break; } } } diff --git a/packages/skin-database/api/processUserUploads.ts b/packages/skin-database/api/processUserUploads.ts index d4e990c2..d580208c 100644 --- a/packages/skin-database/api/processUserUploads.ts +++ b/packages/skin-database/api/processUserUploads.ts @@ -4,7 +4,11 @@ import { addSkinFromBuffer } from "../addSkin"; import { EventHandler } from "./app"; import DiscordEventHandler from "./DiscordEventHandler"; -async function* reportedUploads(): AsyncGenerator<{ skin_md5: string; id: string; filename: string; }, void, unknown> { +async function* reportedUploads(): AsyncGenerator< + { skin_md5: string; id: string; filename: string }, + void, + unknown +> { const seen = new Set(); while (true) { const upload = await Skins.getReportedUpload(); @@ -39,7 +43,10 @@ function timeout(p: Promise, duration: number): Promise { ]); } -async function processGivenUserUploads(eventHandler: EventHandler, uploads: AsyncGenerator<{ skin_md5: string; id: string; filename: string; }>) { +async function processGivenUserUploads( + eventHandler: EventHandler, + uploads: AsyncGenerator<{ skin_md5: string; id: string; filename: string }> +) { log("Uploads to process..."); for await (const upload of uploads) { log("Going to try: ", upload); @@ -82,38 +89,32 @@ async function processGivenUserUploads(eventHandler: EventHandler, uploads: Asyn } export async function reprocessFailedUploads(handler: DiscordEventHandler) { - // eslint-disable-next-line no-inner-declarations - async function* erroredUploads(): AsyncGenerator< - { skin_md5: string; id: string; filename: string }, - void, - unknown - > { - const seen = new Set(); - while (true) { - const upload = await Skins.getErroredUpload(); - console.log("Found one", { upload }); - if (upload == null) { - return; - } - if (seen.has(upload.id)) { - console.error( - "Saw the same upload twice. It didn't get handled?" - ); - return; - } - seen.add(upload.id); - yield upload; - } - } - const uploads = erroredUploads(); + // eslint-disable-next-line no-inner-declarations + async function* erroredUploads(): AsyncGenerator< + { skin_md5: string; id: string; filename: string }, + void, + unknown + > { + const seen = new Set(); + while (true) { + const upload = await Skins.getErroredUpload(); + console.log("Found one", { upload }); + if (upload == null) { + return; + } + if (seen.has(upload.id)) { + console.error("Saw the same upload twice. It didn't get handled?"); + return; + } + seen.add(upload.id); + yield upload; + } + } + const uploads = erroredUploads(); - await processGivenUserUploads( - (event) => handler.handle(event), - uploads - ); + await processGivenUserUploads((event) => handler.handle(event), uploads); } - export async function processUserUploads(eventHandler: EventHandler) { log("process user uploads"); // Ensure we only have one worker processing requests. diff --git a/packages/skin-database/data/KeyValue.ts b/packages/skin-database/data/KeyValue.ts index b18ab98b..c53beef0 100644 --- a/packages/skin-database/data/KeyValue.ts +++ b/packages/skin-database/data/KeyValue.ts @@ -1,31 +1,33 @@ import { knex } from "../db"; export default class KeyValue { - static async get(key: string): Promise { - const result = await knex("key_value").where({key}).first("value"); - if(result == null) { - return null; - } - return JSON.parse(result.value); + static async get(key: string): Promise { + const result = await knex("key_value").where({ key }).first("value"); + if (result == null) { + return null; } + return JSON.parse(result.value); + } - static async set(key: string, value: any): Promise { - const {count} = (await knex("key_value").where({key}).count({count: '*'}).first() as {count: number}); - if(count) { - return await KeyValue.update(key, value); - } else { - return await KeyValue.insert(key, value); - } + static async set(key: string, value: any): Promise { + const { count } = (await knex("key_value") + .where({ key }) + .count({ count: "*" }) + .first()) as { count: number }; + if (count) { + return await KeyValue.update(key, value); + } else { + return await KeyValue.insert(key, value); } + } - static async update(key: string, value: any): Promise { - const json = JSON.stringify(value); - await knex("key_value").where({key}).update({value: json}); - } - - static async insert(key: string, value: any): Promise { - const json = JSON.stringify(value); - await knex("key_value").insert({key, value: json}); - } + static async update(key: string, value: any): Promise { + const json = JSON.stringify(value); + await knex("key_value").where({ key }).update({ value: json }); + } + static async insert(key: string, value: any): Promise { + const json = JSON.stringify(value); + await knex("key_value").insert({ key, value: json }); + } } diff --git a/packages/skin-database/migrations/20220202232041_missing_instagram_posts.ts b/packages/skin-database/migrations/20220202232041_missing_instagram_posts.ts index d833cfd6..eb26ab84 100644 --- a/packages/skin-database/migrations/20220202232041_missing_instagram_posts.ts +++ b/packages/skin-database/migrations/20220202232041_missing_instagram_posts.ts @@ -1,6 +1,5 @@ import * as Knex from "knex"; - const DATA = `8512eb9cb19bcdcb044b6fb1f7dc3a23 17920085909318662 https://www.instagram.com/p/CZfUam9vqNT/ 4b874c85014b42cf3d67cfab35e20109 17913896906185364 https://www.instagram.com/p/CZfU_gKPOsU/ bb7fd9baf2292c81436825248837acc7 18163890691172492 https://www.instagram.com/p/CZfVJwVviZJ/ @@ -17,26 +16,24 @@ eda35a53d88257c88c0dbf7ca9c4a98d 17891238578503535 https://www.instagram.com/p/C b3239d943c5347c267a6ee3e1e81e1e5 17895571130531480 https://www.instagram.com/p/CZgWwGrgXh8/`; export async function up(knex: Knex): Promise { - const lines = DATA.split("\n"); - for (const line of lines) { - const [md5, postId, url] = line.split(" "); + const lines = DATA.split("\n"); + for (const line of lines) { + const [md5, postId, url] = line.split(" "); - await knex("instagram_posts").insert({ - skin_md5: md5, - post_id: postId, - url: url, - }); - } + await knex("instagram_posts").insert({ + skin_md5: md5, + post_id: postId, + url: url, + }); + } } - export async function down(knex: Knex): Promise { - const lines = DATA.split("\n"); - for (const line of lines) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const [_md5, postId, _url] = line.split(" "); + const lines = DATA.split("\n"); + for (const line of lines) { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [_md5, postId, _url] = line.split(" "); - await knex("instagram_posts").delete().where({post_id: postId}); - } + await knex("instagram_posts").delete().where({ post_id: postId }); + } } - diff --git a/packages/skin-database/migrations/20220203100031_key_value_store.ts b/packages/skin-database/migrations/20220203100031_key_value_store.ts index 6c2816fc..795f93aa 100644 --- a/packages/skin-database/migrations/20220203100031_key_value_store.ts +++ b/packages/skin-database/migrations/20220203100031_key_value_store.ts @@ -1,18 +1,15 @@ import * as Knex from "knex"; - export async function up(knex: Knex): Promise { - await knex.raw( - `CREATE TABLE "key_value" ( + await knex.raw( + `CREATE TABLE "key_value" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, "key" TEXT NOT NULL UNIQUE, value TEXT NOT_NULL );` - ); + ); } - export async function down(knex: Knex): Promise { - await knex.raw(`DROP TABLE "key_value"`); + await knex.raw(`DROP TABLE "key_value"`); } - diff --git a/packages/skin-database/migrations/20220218192912_ia_metadata.ts b/packages/skin-database/migrations/20220218192912_ia_metadata.ts index 8fe96eaf..35024eba 100644 --- a/packages/skin-database/migrations/20220218192912_ia_metadata.ts +++ b/packages/skin-database/migrations/20220218192912_ia_metadata.ts @@ -1,14 +1,9 @@ import * as Knex from "knex"; - export async function up(knex: Knex): Promise { - await knex.raw( - `ALTER TABLE ia_items ADD COLUMN metadata;` - ); + await knex.raw(`ALTER TABLE ia_items ADD COLUMN metadata;`); } - export async function down(knex: Knex): Promise { - throw new Error("I never implemented a down migration for adding metadata."); + throw new Error("I never implemented a down migration for adding metadata."); } - diff --git a/packages/skin-database/migrations/20220218195859_ai_metadata_timestamp.ts b/packages/skin-database/migrations/20220218195859_ai_metadata_timestamp.ts index 2996257e..d92aad36 100644 --- a/packages/skin-database/migrations/20220218195859_ai_metadata_timestamp.ts +++ b/packages/skin-database/migrations/20220218195859_ai_metadata_timestamp.ts @@ -1,14 +1,11 @@ import * as Knex from "knex"; - export async function up(knex: Knex): Promise { - await knex.raw( - `ALTER TABLE ia_items ADD COLUMN metadata_timestamp;` - ); + await knex.raw(`ALTER TABLE ia_items ADD COLUMN metadata_timestamp;`); } - export async function down(knex: Knex): Promise { - throw new Error("I never implemented a down migration for adding metadata_timestamp."); + throw new Error( + "I never implemented a down migration for adding metadata_timestamp." + ); } - diff --git a/packages/skin-database/s3.js b/packages/skin-database/s3.js index d60cd2df..50aba7b5 100644 --- a/packages/skin-database/s3.js +++ b/packages/skin-database/s3.js @@ -139,7 +139,7 @@ function putTemp(fileName, buffer) { ACL: "public-read", }, (err) => { - console.log("Hello...") + console.log("Hello..."); if (err) { rejectPromise(err); return; diff --git a/packages/skin-database/tasks/integrityCheck.ts b/packages/skin-database/tasks/integrityCheck.ts index c279ec3c..e5183e2d 100644 --- a/packages/skin-database/tasks/integrityCheck.ts +++ b/packages/skin-database/tasks/integrityCheck.ts @@ -43,7 +43,7 @@ export async function checkInternetArchiveMetadata(): Promise { console.warn("No skin file", { identifier, skin_md5 }); } if (files.length < 2) { - console.log({skin_md5, identifier, length: files.length}); + console.log({ skin_md5, identifier, length: files.length }); tooFew.push(skin_md5); continue; console.warn("Too few files", { identifier, skin_md5 }); @@ -53,7 +53,6 @@ export async function checkInternetArchiveMetadata(): Promise { } } - console.table({ total: results.length, tooMany: tooMany.length, diff --git a/packages/skin-database/tasks/scrapeLikes.ts b/packages/skin-database/tasks/scrapeLikes.ts index 9a9d4ef2..7be009cb 100644 --- a/packages/skin-database/tasks/scrapeLikes.ts +++ b/packages/skin-database/tasks/scrapeLikes.ts @@ -30,7 +30,7 @@ async function getTweets(twitterClient): Promise { let tweets: TweetPayload[] = []; let callCount = 0; - while (callCount < (MAX_CALL_COUNT * 6)) { + while (callCount < MAX_CALL_COUNT * 6) { callCount++; const response = await twitterClient.get("statuses/user_timeline", { max_id, @@ -48,15 +48,15 @@ async function getTweets(twitterClient): Promise { max_id = newMaxId; if (response.data.length <= 1) { - console.warn("Page was short") + console.warn("Page was short"); return tweets; } - if(callCount === MAX_CALL_COUNT) { - console.warn("Hit MAX (but gonna keep going)") + if (callCount === MAX_CALL_COUNT) { + console.warn("Hit MAX (but gonna keep going)"); } } - console.warn("Hit MAX (but gonna keep going)") + console.warn("Hit MAX (but gonna keep going)"); return tweets; } diff --git a/packages/skin-database/tasks/syncFromArchive.ts b/packages/skin-database/tasks/syncFromArchive.ts index 4c6db95d..67c389dd 100644 --- a/packages/skin-database/tasks/syncFromArchive.ts +++ b/packages/skin-database/tasks/syncFromArchive.ts @@ -62,14 +62,13 @@ export async function fillMissingMetadata(count: number) { const ctx = new UserContext(); const skins = await knex("ia_items") .where((builder) => { - builder.where("ia_items.metadata", null) - .orWhere("ia_items.metadata", "") + builder.where("ia_items.metadata", null).orWhere("ia_items.metadata", ""); }) .whereNot("ia_items.identifier", null) .select("ia_items.skin_md5", "ia_items.identifier"); - console.log(`Found ${skins.length} items to fetch metadata for`); + console.log(`Found ${skins.length} items to fetch metadata for`); - const items = skins.slice(0, count); + const items = skins.slice(0, count); for (const { skin_md5, identifier } of items) { const iaItem = await IaItemModel.fromIdentifier(ctx, identifier); diff --git a/packages/skin-database/tasks/tweet.ts b/packages/skin-database/tasks/tweet.ts index 0dff1510..607a0705 100644 --- a/packages/skin-database/tasks/tweet.ts +++ b/packages/skin-database/tasks/tweet.ts @@ -11,7 +11,10 @@ import UserContext from "../data/UserContext"; import TweetModel from "../data/TweetModel"; const temp = _temp.track(); -export async function tweet(discordClient: Client, anything: string | null): Promise { +export async function tweet( + discordClient: Client, + anything: string | null +): Promise { const ctx = new UserContext(); const tweetBotChannel = await discordClient.channels.fetch( TWEET_BOT_CHANNEL_ID diff --git a/packages/webamp-modern/.eslintrc b/packages/webamp-modern/.eslintrc index 5dc8ade3..34669f84 100644 --- a/packages/webamp-modern/.eslintrc +++ b/packages/webamp-modern/.eslintrc @@ -150,7 +150,6 @@ "react/no-unescaped-entities": "error", "use-isnan": "error", "valid-typeof": "error", - "prettier/prettier": "error", "import/default": "error", "import/export": "error", "import/first": "error", diff --git a/packages/webamp/package.json b/packages/webamp/package.json index fb5da78d..0c005c77 100644 --- a/packages/webamp/package.json +++ b/packages/webamp/package.json @@ -91,7 +91,6 @@ "data-uri-to-buffer": "^2.0.0", "eslint": "^8.10.0", "eslint-plugin-import": "^2.18.2", - "eslint-plugin-prettier": "^3.1.0", "eslint-plugin-react": "^7.16.0", "eslint-plugin-react-hooks": "^4.3.0", "file-loader": "^2.0.0", diff --git a/packages/winamp-eqf/constants.js b/packages/winamp-eqf/constants.js index fca62458..a469e467 100644 --- a/packages/winamp-eqf/constants.js +++ b/packages/winamp-eqf/constants.js @@ -9,12 +9,12 @@ var PRESET_VALUES = [ "hz12000", "hz14000", "hz16000", - "preamp" + "preamp", ]; var HEADER = "Winamp EQ library file v1.1"; module.exports = { PRESET_VALUES: PRESET_VALUES, - HEADER: HEADER + HEADER: HEADER, }; diff --git a/packages/winamp-eqf/creator.js b/packages/winamp-eqf/creator.js index 8ca351fd..f1e2a81e 100644 --- a/packages/winamp-eqf/creator.js +++ b/packages/winamp-eqf/creator.js @@ -16,7 +16,7 @@ function creator(data) { if (!data.presets) { throw new Error("Eqf data is missing presets"); } - data.presets.forEach(function(preset) { + data.presets.forEach(function (preset) { var k = 0; for (; k < preset.name.length; k++) { buffer.push(preset.name.charCodeAt(k)); @@ -25,7 +25,7 @@ function creator(data) { buffer.push(0); } - CONSTANTS.PRESET_VALUES.forEach(function(valueName) { + CONSTANTS.PRESET_VALUES.forEach(function (valueName) { buffer.push(64 - preset[valueName]); // Adjust for inverse values }); }); diff --git a/packages/winamp-eqf/index.js b/packages/winamp-eqf/index.js index 8146dabb..301f6c40 100644 --- a/packages/winamp-eqf/index.js +++ b/packages/winamp-eqf/index.js @@ -3,5 +3,5 @@ var creator = require("./creator"); module.exports = { parser: parser, - creator: creator + creator: creator, }; diff --git a/packages/winamp-eqf/parser.js b/packages/winamp-eqf/parser.js index 2a5eb4e5..e8902fe7 100644 --- a/packages/winamp-eqf/parser.js +++ b/packages/winamp-eqf/parser.js @@ -30,7 +30,7 @@ function parser(arrayBuffer) { i = nameEnd; // Skip over any unused bytes // Get the levels - CONSTANTS.PRESET_VALUES.forEach(function(valueName) { + CONSTANTS.PRESET_VALUES.forEach(function (valueName) { preset[valueName] = 64 - arr[i++]; // Adjust for inverse values }); data.presets.push(preset); diff --git a/yarn.lock b/yarn.lock index 55d0577c..e2e2376e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6739,9 +6739,10 @@ eslint-plugin-import@^2.18.2: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-prettier@^3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca" +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== dependencies: prettier-linter-helpers "^1.0.0" @@ -7413,6 +7414,7 @@ fast-deep-equal@^3.1.3: fast-diff@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^2.0.2: version "2.2.7" @@ -12456,6 +12458,7 @@ preserve@^0.2.0: prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2"