From f763d5dc62a4ffe3a72c7f8ffe58de4a1f35a6bb Mon Sep 17 00:00:00 2001 From: MareStare <mare.stare.official@gmail.com> Date: Sun, 16 Mar 2025 23:19:58 +0000 Subject: [PATCH] Remove the deprecated eslint and stylelint prettier plugins. Move prettier to the top level --- assets/.prettierrc.yml => .prettierrc.yml | 0 assets/.stylelintrc.yml | 3 - assets/eslint.config.js | 2 - assets/js/boorujs.js | 28 ++--- assets/js/shortcuts.ts | 5 +- assets/js/tags.ts | 38 +++++-- assets/package-lock.json | 129 ---------------------- assets/package.json | 4 - package-lock.json | 27 +++++ package.json | 9 ++ 10 files changed, 79 insertions(+), 166 deletions(-) rename assets/.prettierrc.yml => .prettierrc.yml (100%) create mode 100644 package-lock.json create mode 100644 package.json diff --git a/assets/.prettierrc.yml b/.prettierrc.yml similarity index 100% rename from assets/.prettierrc.yml rename to .prettierrc.yml diff --git a/assets/.stylelintrc.yml b/assets/.stylelintrc.yml index c4eba511..78227ced 100644 --- a/assets/.stylelintrc.yml +++ b/assets/.stylelintrc.yml @@ -1,7 +1,5 @@ --- extends: stylelint-config-recommended -plugins: - - stylelint-prettier rules: block-no-empty: true at-rule-no-unknown: @@ -75,4 +73,3 @@ rules: declaration-block-no-redundant-longhand-properties: true shorthand-property-no-redundant-values: true comment-whitespace-inside: always - prettier/prettier: true diff --git a/assets/eslint.config.js b/assets/eslint.config.js index aaae607d..1c3f2b75 100644 --- a/assets/eslint.config.js +++ b/assets/eslint.config.js @@ -1,11 +1,9 @@ import tsEslint from 'typescript-eslint'; import vitestPlugin from 'eslint-plugin-vitest'; -import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; import globals from 'globals'; export default tsEslint.config( ...tsEslint.configs.recommended, - eslintPluginPrettierRecommended, { name: 'PhilomenaConfig', files: ['**/*.js', '**/*.ts'], diff --git a/assets/js/boorujs.js b/assets/js/boorujs.js index 86d9901b..b60e2217 100644 --- a/assets/js/boorujs.js +++ b/assets/js/boorujs.js @@ -9,24 +9,22 @@ import { fetchHtml, handleError } from './utils/requests'; import { showBlock } from './utils/image'; import { addTag } from './tagsinput'; -/* eslint-disable prettier/prettier */ - // Event types and any qualifying conditions - return true to not run action const types = { - click(event) { return event.button !== 0; /* Left-click only */ }, - change() { /* No qualifier */ }, + click(event) { return event.button !== 0; /* Left-click only */ }, + change() { /* No qualifier */ }, fetchcomplete() { /* No qualifier */ }, }; const actions = { - hide(data) { selectorCb(data.base, data.value, el => el.classList.add('hidden')); }, - show(data) { selectorCb(data.base, data.value, el => el.classList.remove('hidden')); }, - toggle(data) { selectorCb(data.base, data.value, el => el.classList.toggle('hidden')); }, - submit(data) { selectorCb(data.base, data.value, el => el.submit()); }, - disable(data) { selectorCb(data.base, data.value, el => el.disabled = true); }, - focus(data) { document.querySelector(data.value).focus(); }, - unfilter(data) { showBlock(data.el.closest('.image-show-container')); }, - tabHide(data) { selectorCbChildren(data.base, data.value, el => el.classList.add('hidden')); }, + hide(data) { selectorCb(data.base, data.value, el => el.classList.add('hidden')); }, + show(data) { selectorCb(data.base, data.value, el => el.classList.remove('hidden')); }, + toggle(data) { selectorCb(data.base, data.value, el => el.classList.toggle('hidden')); }, + submit(data) { selectorCb(data.base, data.value, el => el.submit()); }, + disable(data) { selectorCb(data.base, data.value, el => el.disabled = true); }, + focus(data) { document.querySelector(data.value).focus(); }, + unfilter(data) { showBlock(data.el.closest('.image-show-container')); }, + tabHide(data) { selectorCbChildren(data.base, data.value, el => el.classList.add('hidden')); }, preventdefault() { /* The existence of this entry is enough */ }, copy(data) { @@ -61,8 +59,8 @@ const actions = { tab(data) { const block = data.el.parentNode.parentNode, - newTab = $(`.block__tab[data-tab="${data.value}"]`), - loadTab = data.el.dataset.loadTab; + newTab = $(`.block__tab[data-tab="${data.value}"]`), + loadTab = data.el.dataset.loadTab; // Switch tab const selectedTab = block.querySelector('.selected'); @@ -87,8 +85,6 @@ const actions = { }, }; -/* eslint-enable prettier/prettier */ - // Use this function to apply a callback to elements matching the selectors function selectorCb(base = document, selector, cb) { [].forEach.call(base.querySelectorAll(selector), cb); diff --git a/assets/js/shortcuts.ts b/assets/js/shortcuts.ts index 3de21c89..52071b31 100644 --- a/assets/js/shortcuts.ts +++ b/assets/js/shortcuts.ts @@ -47,8 +47,7 @@ function isOK(event: KeyboardEvent): boolean { ); } -/* eslint-disable prettier/prettier */ - +// prettier-ignore const keyCodes: ShortcutKeyMap = { 74() { click('.js-prev'); }, // J - go to previous image 73() { click('.js-up'); }, // I - go to index page @@ -68,8 +67,6 @@ const keyCodes: ShortcutKeyMap = { }, }; -/* eslint-enable prettier/prettier */ - export function listenForKeys() { document.addEventListener('keydown', (event: KeyboardEvent) => { if (isOK(event) && keyCodes[event.keyCode]) { diff --git a/assets/js/tags.ts b/assets/js/tags.ts index 8a0568fc..deb3c7bd 100644 --- a/assets/js/tags.ts +++ b/assets/js/tags.ts @@ -26,18 +26,40 @@ function createTagDropdown(tag: HTMLSpanElement) { const [unwatched, watched, spoilered, hidden] = $$<HTMLSpanElement>('.tag__state', tag); const tagId = parseInt(assertNotUndefined(tag.dataset.tagId), 10); - /* eslint-disable prettier/prettier */ const actions: TagDropdownActionList = { - unwatch() { hideEl(unwatch, watched); showEl(watch, unwatched); removeTag(tagId, watchedTagList); }, - watch() { hideEl(watch, unwatched); showEl(unwatch, watched); addTag(tagId, watchedTagList); }, + unwatch() { + hideEl(unwatch, watched); + showEl(watch, unwatched); + removeTag(tagId, watchedTagList); + }, + watch() { + hideEl(watch, unwatched); + showEl(unwatch, watched); + addTag(tagId, watchedTagList); + }, - unspoiler() { hideEl(unspoiler, spoilered); showEl(spoiler); removeTag(tagId, spoileredTagList); }, - spoiler() { hideEl(spoiler); showEl(unspoiler, spoilered); addTag(tagId, spoileredTagList); }, + unspoiler() { + hideEl(unspoiler, spoilered); + showEl(spoiler); + removeTag(tagId, spoileredTagList); + }, + spoiler() { + hideEl(spoiler); + showEl(unspoiler, spoilered); + addTag(tagId, spoileredTagList); + }, - unhide() { hideEl(unhide, hidden); showEl(hide); removeTag(tagId, hiddenTagList); }, - hide() { hideEl(hide); showEl(unhide, hidden); addTag(tagId, hiddenTagList); }, + unhide() { + hideEl(unhide, hidden); + showEl(hide); + removeTag(tagId, hiddenTagList); + }, + hide() { + hideEl(hide); + showEl(unhide, hidden); + addTag(tagId, hiddenTagList); + }, }; - /* eslint-enable prettier/prettier */ const tagIsWatched = watchedTagList.includes(tagId); const tagIsSpoilered = spoileredTagList.includes(tagId); diff --git a/assets/package-lock.json b/assets/package-lock.json index 412aaa4f..52ea697b 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -22,13 +22,9 @@ "@testing-library/jest-dom": "^6.6.3", "@vitest/coverage-v8": "^2.1.9", "eslint": "^9.16.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-vitest": "^0.5.4", - "prettier": "^3.4.2", "stylelint": "^16.11.0", "stylelint-config-standard": "^36.0.1", - "stylelint-prettier": "^5.0.2", "typescript-eslint": "8.17.0", "vitest": "^2.1.9", "vitest-fetch-mock": "^0.4.2" @@ -1120,18 +1116,6 @@ "node": ">=14" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.28.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz", @@ -2517,48 +2501,6 @@ } } }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, "node_modules/eslint-plugin-vitest": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", @@ -2828,12 +2770,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -4121,33 +4057,6 @@ "node": ">= 0.8.0" } }, - "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -4628,22 +4537,6 @@ "stylelint": "^16.1.0" } }, - "node_modules/stylelint-prettier": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-5.0.2.tgz", - "integrity": "sha512-qJ+BN+1T2ZcKz9WIrv0x+eFGHzSUnXfXd5gL///T6XoJvr3D8/ztzz2fhtmXef7Vb8P33zBXmLTTveByr0nwBw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "prettier": ">=3.0.0", - "stylelint": ">=16.0.0" - } - }, "node_modules/stylelint/node_modules/balanced-match": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", @@ -4750,22 +4643,6 @@ "optional": true, "peer": true }, - "node_modules/synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/table": { "version": "6.9.0", "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", @@ -4992,12 +4869,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/assets/package.json b/assets/package.json index 41b85269..a2cf1ae2 100644 --- a/assets/package.json +++ b/assets/package.json @@ -27,13 +27,9 @@ "@testing-library/jest-dom": "^6.6.3", "@vitest/coverage-v8": "^2.1.9", "eslint": "^9.16.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-vitest": "^0.5.4", - "prettier": "^3.4.2", "stylelint": "^16.11.0", "stylelint-config-standard": "^36.0.1", - "stylelint-prettier": "^5.0.2", "typescript-eslint": "8.17.0", "vitest": "^2.1.9", "vitest-fetch-mock": "^0.4.2" diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..f7aea3ab --- /dev/null +++ b/package-lock.json @@ -0,0 +1,27 @@ +{ + "name": "philomena", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "prettier": "^3.5.3" + } + }, + "node_modules/prettier": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..9528d2d8 --- /dev/null +++ b/package.json @@ -0,0 +1,9 @@ +{ + "scripts": { + "fmt": "prettier --write .", + "fmt-check": "prettier --check ." + }, + "devDependencies": { + "prettier": "^3.5.3" + } +}