diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 81b2c97dacb..6d21ff1b49c 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -55,12 +55,14 @@ repos:
# Use the `.prettierignore` and `.prettier.config.js` files to configure project-specific requirements.
- repo: https://github.com/pre-commit/mirrors-prettier
- rev: v2.7.1
+ rev: v3.1.0
hooks:
- id: prettier
+ # Must include any plugins defined in prettier.config.js, along with TypeScript and Prettier themselves
+ # Versions must be manually kept in sync with those in the pnpm-lock.yaml file to prevent drift.
additional_dependencies:
- - prettier@2.8.3
- - prettier-plugin-tailwindcss@0.3.0
+ - prettier@3.2.5
+ - prettier-plugin-tailwindcss@0.5.11
- typescript@5.2.2
- repo: https://github.com/koalaman/shellcheck-precommit
diff --git a/frontend/.remake/story/remake-name.stories.mdx b/frontend/.remake/story/remake-name.stories.mdx
index 29c105d8261..17c68330373 100644
--- a/frontend/.remake/story/remake-name.stories.mdx
+++ b/frontend/.remake/story/remake-name.stories.mdx
@@ -1,4 +1,4 @@
-import { Canvas, Meta, Story } from '@storybook/addon-docs';
+import { Canvas, Meta, Story } from "@storybook/addon-docs"
import <%= name %> from '~/components/<%= name %>/<%= name %>.vue'
diff --git a/frontend/src/app.html b/frontend/src/app.html
index bdebd3dd888..92d3de5b15e 100644
--- a/frontend/src/app.html
+++ b/frontend/src/app.html
@@ -1,4 +1,4 @@
-
+
{{ HEAD }}
diff --git a/frontend/src/assets/fonts.css b/frontend/src/assets/fonts.css
index 87f0df3d005..e1fe30d1518 100644
--- a/frontend/src/assets/fonts.css
+++ b/frontend/src/assets/fonts.css
@@ -24,7 +24,9 @@
font-family: Inter;
font-style: normal;
font-weight: 400;
- src: local("Inter-Regular"), local("Inter Regular"),
+ src:
+ local("Inter-Regular"),
+ local("Inter Regular"),
url("~assets/fonts/Inter-Regular.woff2") format("woff2"),
url("~assets/fonts/Inter-Regular.woff") format("woff");
}
@@ -34,7 +36,9 @@
font-family: Inter;
font-style: italic;
font-weight: 100 900;
- src: local("Inter-Italic"), local("Inter Italic"),
+ src:
+ local("Inter-Italic"),
+ local("Inter Italic"),
url("~assets/fonts/Inter-Italic.woff2") format("woff2"),
url("~assets/fonts/Inter-Italic.woff") format("woff");
}
@@ -44,7 +48,9 @@
font-family: Inter;
font-style: normal;
font-weight: 600;
- src: local("Inter-SemiBold"), local("Inter SemiBold"),
+ src:
+ local("Inter-SemiBold"),
+ local("Inter SemiBold"),
url("~assets/fonts/Inter-SemiBold.woff2") format("woff2"),
url("~assets/fonts/Inter-SemiBold.woff") format("woff");
}
@@ -54,7 +60,9 @@
font-family: Inter;
font-style: italic;
font-weight: 600;
- src: local("Inter-SemiBoldItalic"), local("Inter SemiBoldItalic"),
+ src:
+ local("Inter-SemiBoldItalic"),
+ local("Inter SemiBoldItalic"),
url("~assets/fonts/Inter-SemiBoldItalic.woff2") format("woff2"),
url("~assets/fonts/Inter-SemiBoldItalic.woff") format("woff");
}
@@ -64,7 +72,9 @@
font-family: Inter;
font-style: normal;
font-weight: 700;
- src: local("Inter-Bold"), local("Inter Bold"),
+ src:
+ local("Inter-Bold"),
+ local("Inter Bold"),
url("~assets/fonts/Inter-Bold.woff2") format("woff2"),
url("~assets/fonts/Inter-Bold.woff") format("woff");
}
@@ -74,7 +84,9 @@
font-family: Inter;
font-style: italic;
font-weight: 700;
- src: local("Inter-BoldItalic"), local("Inter BoldItalic"),
+ src:
+ local("Inter-BoldItalic"),
+ local("Inter BoldItalic"),
url("~assets/fonts/Inter-BoldItalic.woff2") format("woff2"),
url("~assets/fonts/Inter-BoldItalic.woff") format("woff");
}
@@ -85,7 +97,9 @@
font-style: normal;
font-weight: 400;
font-display: swap;
- src: local("JetBrainsMono-Regular"), local("JetBrains Mono Regular"),
+ src:
+ local("JetBrainsMono-Regular"),
+ local("JetBrains Mono Regular"),
url("~assets/fonts/JetBrainsMono-Regular.woff2") format("woff2"),
url("~assets/fonts/JetBrainsMono-Regular.woff") format("woff"),
url("~assets/fonts/JetBrainsMono-Regular.otf") format("opentype");
@@ -95,7 +109,9 @@
font-style: normal;
font-weight: 600;
font-display: swap;
- src: local("JetBrainsMono-Bold"), local("JetBrains Mono Bold"),
+ src:
+ local("JetBrainsMono-Bold"),
+ local("JetBrains Mono Bold"),
url("~assets/fonts/JetBrainsMono-Bold.woff2") format("woff2"),
url("~assets/fonts/JetBrainsMono-Bold.woff") format("woff"),
url("~assets/fonts/JetBrainsMono-Bold.otf") format("opentype");
diff --git a/frontend/src/components/VCheckbox/VCheckbox.vue b/frontend/src/components/VCheckbox/VCheckbox.vue
index 7a9d892ff04..fe7580ec354 100644
--- a/frontend/src/components/VCheckbox/VCheckbox.vue
+++ b/frontend/src/components/VCheckbox/VCheckbox.vue
@@ -37,8 +37,8 @@
localCheckedState
? ['bg-white', 'translate-x-[1.125rem]']
: disabled
- ? ['bg-dark-charcoal-40']
- : ['bg-dark-charcoal']
+ ? ['bg-dark-charcoal-40']
+ : ['bg-dark-charcoal']
"
aria-hidden="true"
/>
diff --git a/frontend/src/components/VSearchResultsGrid/VAudioList.vue b/frontend/src/components/VSearchResultsGrid/VAudioList.vue
index f061085f965..fe7618e32f1 100644
--- a/frontend/src/components/VSearchResultsGrid/VAudioList.vue
+++ b/frontend/src/components/VSearchResultsGrid/VAudioList.vue
@@ -60,8 +60,8 @@ export default defineComponent({
return !uiStore.isBreakpoint("sm")
? "s"
: uiStore.isBreakpoint("xl")
- ? "l"
- : "m"
+ ? "l"
+ : "m"
}
})
diff --git a/frontend/src/components/VSearchResultsGrid/VAudioResult.vue b/frontend/src/components/VSearchResultsGrid/VAudioResult.vue
index 2c7361639b6..30924848ae5 100644
--- a/frontend/src/components/VSearchResultsGrid/VAudioResult.vue
+++ b/frontend/src/components/VSearchResultsGrid/VAudioResult.vue
@@ -88,8 +88,8 @@ export default defineComponent({
props.kind === "related"
? "VRelatedAudio"
: props.layout === "box"
- ? "VAllResultsGrid"
- : "AudioSearch"
+ ? "VAllResultsGrid"
+ : "AudioSearch"
sendCustomEvent("AUDIO_INTERACTION", { ...data, component })
}
diff --git a/frontend/src/composables/use-i18n-utilities.ts b/frontend/src/composables/use-i18n-utilities.ts
index eb6c4637115..8a202595064 100644
--- a/frontend/src/composables/use-i18n-utilities.ts
+++ b/frontend/src/composables/use-i18n-utilities.ts
@@ -68,8 +68,8 @@ function getCountKey(resultsCount: number) {
return resultsCount === 0
? "noResult"
: resultsCount >= 10000
- ? "more"
- : "result"
+ ? "more"
+ : "result"
}
/**
diff --git a/frontend/src/data/media-service.ts b/frontend/src/data/media-service.ts
index e377e15233a..fa6671fdbc2 100644
--- a/frontend/src/data/media-service.ts
+++ b/frontend/src/data/media-service.ts
@@ -10,7 +10,7 @@ import { AUDIO, type SupportedMediaType } from "~/constants/media"
import type { AxiosResponse } from "axios"
export interface MediaResult<
- T extends Media | Media[] | Record
+ T extends Media | Media[] | Record,
> {
result_count: number
page_count: number
@@ -38,10 +38,13 @@ class MediaService {
const mediaResults = data.results ?? []
return {
...data,
- results: mediaResults.reduce((acc, item) => {
- acc[item.id] = decodeMediaData(item, this.mediaType)
- return acc
- }, {} as Record),
+ results: mediaResults.reduce(
+ (acc, item) => {
+ acc[item.id] = decodeMediaData(item, this.mediaType)
+ return acc
+ },
+ {} as Record
+ ),
}
}
diff --git a/frontend/src/stores/feature-flag.ts b/frontend/src/stores/feature-flag.ts
index 1e266c9db89..ba4c8bf6158 100644
--- a/frontend/src/stores/feature-flag.ts
+++ b/frontend/src/stores/feature-flag.ts
@@ -77,7 +77,7 @@ export const useFeatureFlagStore = defineStore(FEATURE_FLAG, {
state: () =>
({
flags: featureData.features,
- } as FeatureFlagState),
+ }) as FeatureFlagState,
getters: {
/**
* Get the state of the named feature, based on config and cookie.
diff --git a/frontend/src/stores/search.ts b/frontend/src/stores/search.ts
index 6c15534fb10..6e96e30771b 100644
--- a/frontend/src/stores/search.ts
+++ b/frontend/src/stores/search.ts
@@ -183,7 +183,7 @@ export const useSearchStore = defineStore("search", {
isAnyFilterApplied() {
const filterEntries = Object.entries(this.searchFilters) as [
string,
- FilterItem[]
+ FilterItem[],
][]
return filterEntries.some(([, filterItems]) =>
filterItems.some((filter) => filter.checked)
diff --git a/frontend/test/playwright/utils/navigation.ts b/frontend/test/playwright/utils/navigation.ts
index 1c6be799eb2..6bf3acafdbc 100644
--- a/frontend/test/playwright/utils/navigation.ts
+++ b/frontend/test/playwright/utils/navigation.ts
@@ -84,8 +84,8 @@ export const setContentSwitcherState = async (
!isDesktop
? "#content-settings-button"
: contentSwitcherKind === "filters"
- ? "#filter-button"
- : "#search-type-button"
+ ? "#filter-button"
+ : "#search-type-button"
)
const isPressed = await getSelectorPressed(buttonLocator)
diff --git a/frontend/test/unit/specs/plugins/api-token.server.spec.ts b/frontend/test/unit/specs/plugins/api-token.server.spec.ts
index c2f651f69aa..3c017d232f8 100644
--- a/frontend/test/unit/specs/plugins/api-token.server.spec.ts
+++ b/frontend/test/unit/specs/plugins/api-token.server.spec.ts
@@ -47,7 +47,7 @@ const getMockContext = ($config: $config = defaultConfig) =>
captureException: jest.fn(),
},
$config: $config,
- } as unknown as Context)
+ }) as unknown as Context
const mockInject = jest.fn()
diff --git a/package.json b/package.json
index 3b1912b11a7..db0959bd00f 100644
--- a/package.json
+++ b/package.json
@@ -23,8 +23,8 @@
},
"devDependencies": {
"@openverse/eslint-plugin": "workspace:0.0.0",
- "prettier": "2.8.8",
- "prettier-plugin-tailwindcss": "0.4.1",
+ "prettier": "3.2.5",
+ "prettier-plugin-tailwindcss": "0.5.11",
"typescript": "5.2.2",
"vue-tsc": "1.8.27"
},
diff --git a/packages/eslint-plugin/src/rules/analytics-configuration.ts b/packages/eslint-plugin/src/rules/analytics-configuration.ts
index d15d93c3e67..829127db07f 100644
--- a/packages/eslint-plugin/src/rules/analytics-configuration.ts
+++ b/packages/eslint-plugin/src/rules/analytics-configuration.ts
@@ -5,7 +5,7 @@ import type { TSESTree } from "@typescript-eslint/utils"
type Options = readonly [
{
reservedPropNames: string[]
- }
+ },
]
const messages = {
diff --git a/packages/eslint-plugin/test/rules/analytics-configuration.spec.ts b/packages/eslint-plugin/test/rules/analytics-configuration.spec.ts
index 633f8dbe9f1..bec99fefbb9 100644
--- a/packages/eslint-plugin/test/rules/analytics-configuration.spec.ts
+++ b/packages/eslint-plugin/test/rules/analytics-configuration.spec.ts
@@ -65,7 +65,7 @@ tester.run(
data: { eventName: eventName.replace(/'/g, "") },
},
],
- } as const)
+ }) as const
),
...invalidPayloadTypes.map(
(payloadType) =>
@@ -78,7 +78,7 @@ tester.run(
}
`,
errors: [{ messageId: "emptyPayloadType" }],
- } as const)
+ }) as const
),
...mockReservedPropNames.map(
(propName) =>
@@ -100,7 +100,7 @@ tester.run(
errors: [
{ messageId: "reservedPayloadPropNames", data: { propName } },
],
- } as const)
+ }) as const
),
...invalidPayloadValueTypes.map(
(payloadPropType) =>
@@ -115,7 +115,7 @@ tester.run(
}
`,
errors: [{ messageId: "invalidPayloadFormat" }],
- } as const)
+ }) as const
),
],
valid: [
@@ -129,7 +129,7 @@ tester.run(
${eventName}: never
}
`,
- } as const)
+ }) as const
),
{
...baseTestCase,
@@ -169,7 +169,7 @@ tester.run(
}
}
`,
- } as const)
+ }) as const
),
],
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ccfa2b28db4..465f66135b2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,11 +12,11 @@ importers:
specifier: workspace:0.0.0
version: link:packages/eslint-plugin
prettier:
- specifier: 2.8.8
- version: 2.8.8
+ specifier: 3.2.5
+ version: 3.2.5
prettier-plugin-tailwindcss:
- specifier: 0.4.1
- version: 0.4.1(prettier@2.8.8)
+ specifier: 0.5.11
+ version: 0.5.11(prettier@3.2.5)
typescript:
specifier: 5.2.2
version: 5.2.2
@@ -128,7 +128,7 @@ importers:
version: 5.3.3
nuxt:
specifier: ^2.17.2
- version: 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15)
+ version: 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15)
pinia:
specifier: ^2.0.33
version: 2.0.33(typescript@5.2.2)(vue@2.7.15)
@@ -4703,14 +4703,14 @@ packages:
- vue
dev: false
- /@nuxt/builder@2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15):
+ /@nuxt/builder@2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15):
resolution: {integrity: sha512-6NYsLD2Ss3QjJ8vgNVhdXvn44CPVLotnNAnq3/WGpkxRloebqBxjUTzLQUjsZ/U7STH00TWCUAkhq8zpSzEogw==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
'@nuxt/devalue': 2.0.2
'@nuxt/utils': 2.17.2
'@nuxt/vue-app': 2.17.2
- '@nuxt/webpack': 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15)
+ '@nuxt/webpack': 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15)
chalk: 4.1.2
chokidar: 3.5.3
consola: 3.2.3
@@ -5100,7 +5100,7 @@ packages:
vue-server-renderer: 2.7.15
dev: false
- /@nuxt/webpack@2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15):
+ /@nuxt/webpack@2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15):
resolution: {integrity: sha512-QcV5Oo0ObpAG8bAiqYbIIf+SwhVJutTSOgf05NHob9VcPEXwCwDjO8zICrVgKvdjWnmlg5GFySaVMa407puE6g==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
@@ -5141,7 +5141,7 @@ packages:
ufo: 1.3.1
upath: 2.0.1
url-loader: 4.1.1(file-loader@6.2.0)(webpack@4.47.0)
- vue-loader: 15.11.1(babel-core@7.0.0-bridge.0)(cache-loader@4.1.0)(css-loader@5.2.7)(lodash@4.17.21)(prettier@2.8.8)(vue-template-compiler@2.7.15)(webpack@4.47.0)
+ vue-loader: 15.11.1(babel-core@7.0.0-bridge.0)(cache-loader@4.1.0)(css-loader@5.2.7)(lodash@4.17.21)(prettier@3.2.5)(vue-template-compiler@2.7.15)(webpack@4.47.0)
vue-style-loader: 4.1.3
vue-template-compiler: 2.7.15
watchpack: 2.4.0
@@ -5230,7 +5230,7 @@ packages:
estree-walker: 2.0.2
fs-extra: 9.1.0
magic-string: 0.26.3
- nuxt: 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15)
+ nuxt: 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15)
pathe: 0.3.5
ufo: 0.8.5
vue: 2.7.15
@@ -16466,13 +16466,13 @@ packages:
commander: 5.1.0
dev: false
- /nuxt@2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15):
+ /nuxt@2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15):
resolution: {integrity: sha512-7m/ViWSGAY6ffTxsgaSzWnFUc7LXxoAzSkGaK7qbBTcQSC9TlHhkgM9KIZMq6j4tjLvXadvb9Ks2JUBw69RJgA==}
hasBin: true
requiresBuild: true
dependencies:
'@nuxt/babel-preset-app': 2.17.2(vue@2.7.15)
- '@nuxt/builder': 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15)
+ '@nuxt/builder': 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15)
'@nuxt/cli': 2.17.2
'@nuxt/components': 2.2.1
'@nuxt/config': 2.17.2
@@ -16485,7 +16485,7 @@ packages:
'@nuxt/utils': 2.17.2
'@nuxt/vue-app': 2.17.2
'@nuxt/vue-renderer': 2.17.2
- '@nuxt/webpack': 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@2.8.8)(typescript@5.2.2)(vue@2.7.15)
+ '@nuxt/webpack': 2.17.2(acorn@8.10.0)(babel-core@7.0.0-bridge.0)(prettier@3.2.5)(typescript@5.2.2)(vue@2.7.15)
transitivePeerDependencies:
- '@vue/compiler-sfc'
- acorn
@@ -18392,16 +18392,15 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /prettier-plugin-tailwindcss@0.4.1(prettier@2.8.8):
- resolution: {integrity: sha512-hwn2EiJmv8M+AW4YDkbjJ6HlZCTzLyz1QlySn9sMuKV/Px0fjwldlB7tol8GzdgqtkdPtzT3iJ4UzdnYXP25Ag==}
- engines: {node: '>=12.17.0'}
+ /prettier-plugin-tailwindcss@0.5.11(prettier@3.2.5):
+ resolution: {integrity: sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==}
+ engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
'@prettier/plugin-pug': '*'
'@shopify/prettier-plugin-liquid': '*'
- '@shufo/prettier-plugin-blade': '*'
'@trivago/prettier-plugin-sort-imports': '*'
- prettier: ^2.2 || ^3.0
+ prettier: ^3.0
prettier-plugin-astro: '*'
prettier-plugin-css-order: '*'
prettier-plugin-import-sort: '*'
@@ -18419,8 +18418,6 @@ packages:
optional: true
'@shopify/prettier-plugin-liquid':
optional: true
- '@shufo/prettier-plugin-blade':
- optional: true
'@trivago/prettier-plugin-sort-imports':
optional: true
prettier-plugin-astro:
@@ -18444,7 +18441,7 @@ packages:
prettier-plugin-twig-melody:
optional: true
dependencies:
- prettier: 2.8.8
+ prettier: 3.2.5
dev: true
/prettier@2.3.0:
@@ -18458,6 +18455,12 @@ packages:
engines: {node: '>=10.13.0'}
hasBin: true
requiresBuild: true
+ optional: true
+
+ /prettier@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
+ engines: {node: '>=14'}
+ hasBin: true
/pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
@@ -21643,7 +21646,7 @@ packages:
- whiskers
dev: true
- /vue-loader@15.11.1(babel-core@7.0.0-bridge.0)(cache-loader@4.1.0)(css-loader@5.2.7)(lodash@4.17.21)(prettier@2.8.8)(vue-template-compiler@2.7.15)(webpack@4.47.0):
+ /vue-loader@15.11.1(babel-core@7.0.0-bridge.0)(cache-loader@4.1.0)(css-loader@5.2.7)(lodash@4.17.21)(prettier@3.2.5)(vue-template-compiler@2.7.15)(webpack@4.47.0):
resolution: {integrity: sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==}
peerDependencies:
'@vue/compiler-sfc': ^3.0.8
@@ -21667,7 +21670,7 @@ packages:
css-loader: 5.2.7(webpack@4.47.0)
hash-sum: 1.0.2
loader-utils: 1.4.2
- prettier: 2.8.8
+ prettier: 3.2.5
vue-hot-reload-api: 2.3.4
vue-style-loader: 4.1.3
vue-template-compiler: 2.7.15
diff --git a/prettier.config.js b/prettier.config.js
index 7480c39377c..33f7b4fdacd 100644
--- a/prettier.config.js
+++ b/prettier.config.js
@@ -14,7 +14,7 @@ module.exports = {
{
files: ["frontend/**/*"],
options: {
- plugins: [require("prettier-plugin-tailwindcss")],
+ plugins: ["prettier-plugin-tailwindcss"],
tailwindConfig: "frontend/tailwind.config.ts",
vueIndentScriptAndStyle: false,
},