build(server): Prettier leaves the generated entity files to their generator

src/db/entities/ is written by scripts/generate-entities.ts, and
check:entities holds every file byte for byte to its output, which puts the
MikroORM import first where Prettier's import sorting puts it last.
Formatting them would fail that gate, and npm run format would do it on any
run. lint:format no longer scans the directory (its 133 entries leave the
format baseline) and a .prettierignore keeps the format script off it.
This commit is contained in:
Maurice
2026-10-10 21:21:16 +02:00
parent 947d51cef7
commit f4e518b2df
3 changed files with 10 additions and 134 deletions
-133
View File
@@ -11,139 +11,6 @@
"src/db/document-provider-seed.ts",
"src/db/durability.ts",
"src/db/email-case-index.ts",
"src/db/entities/Addons.entity.ts",
"src/db/entities/AppSettings.entity.ts",
"src/db/entities/AssignmentParticipants.entity.ts",
"src/db/entities/AuditLog.entity.ts",
"src/db/entities/BucketList.entity.ts",
"src/db/entities/BudgetCategoryOrder.entity.ts",
"src/db/entities/BudgetItemMembers.entity.ts",
"src/db/entities/BudgetItemPayers.entity.ts",
"src/db/entities/BudgetItems.entity.ts",
"src/db/entities/BudgetSettlements.entity.ts",
"src/db/entities/Categories.entity.ts",
"src/db/entities/CollabLinks.entity.ts",
"src/db/entities/CollabMessageReactions.entity.ts",
"src/db/entities/CollabMessages.entity.ts",
"src/db/entities/CollabNotes.entity.ts",
"src/db/entities/CollabPollVotes.entity.ts",
"src/db/entities/CollabPolls.entity.ts",
"src/db/entities/CollectionLabels.entity.ts",
"src/db/entities/CollectionMembers.entity.ts",
"src/db/entities/CollectionPlaceRatings.entity.ts",
"src/db/entities/CollectionPlaces.entity.ts",
"src/db/entities/Collections.entity.ts",
"src/db/entities/DawarichConnections.entity.ts",
"src/db/entities/DawarichVisitSuggestions.entity.ts",
"src/db/entities/DayAccommodations.entity.ts",
"src/db/entities/DayAssignments.entity.ts",
"src/db/entities/DayNotes.entity.ts",
"src/db/entities/Days.entity.ts",
"src/db/entities/DocumentConnections.entity.ts",
"src/db/entities/DocumentProviderFields.entity.ts",
"src/db/entities/DocumentProviders.entity.ts",
"src/db/entities/DocumentSyncItems.entity.ts",
"src/db/entities/FileLinks.entity.ts",
"src/db/entities/GoogleApiUsage.entity.ts",
"src/db/entities/GooglePlacePhotoMeta.entity.ts",
"src/db/entities/HiddenCountries.entity.ts",
"src/db/entities/HiddenRegions.entity.ts",
"src/db/entities/IdempotencyKeys.entity.ts",
"src/db/entities/InviteTokens.entity.ts",
"src/db/entities/JourneyBooks.entity.ts",
"src/db/entities/JourneyContributors.entity.ts",
"src/db/entities/JourneyEntries.entity.ts",
"src/db/entities/JourneyEntryPhotos.entity.ts",
"src/db/entities/JourneyPhotos.entity.ts",
"src/db/entities/JourneyShareTokens.entity.ts",
"src/db/entities/JourneyTrips.entity.ts",
"src/db/entities/Journeys.entity.ts",
"src/db/entities/McpTokens.entity.ts",
"src/db/entities/Migrations.entity.ts",
"src/db/entities/NotificationChannelPreferences.entity.ts",
"src/db/entities/Notifications.entity.ts",
"src/db/entities/OauthClients.entity.ts",
"src/db/entities/OauthConsents.entity.ts",
"src/db/entities/OauthTokens.entity.ts",
"src/db/entities/PackingBags.entity.ts",
"src/db/entities/PackingCategoryAssignees.entity.ts",
"src/db/entities/PackingItemContributors.entity.ts",
"src/db/entities/PackingItems.entity.ts",
"src/db/entities/PackingTemplateCategories.entity.ts",
"src/db/entities/PackingTemplateItems.entity.ts",
"src/db/entities/PackingTemplates.entity.ts",
"src/db/entities/PasswordResetTokens.entity.ts",
"src/db/entities/PhotoProviderFields.entity.ts",
"src/db/entities/PhotoProviders.entity.ts",
"src/db/entities/Photos.entity.ts",
"src/db/entities/PlaceDetailsCache.entity.ts",
"src/db/entities/PlaceRatings.entity.ts",
"src/db/entities/PlaceRegions.entity.ts",
"src/db/entities/PlaceShadowPicks.entity.ts",
"src/db/entities/Places.entity.ts",
"src/db/entities/PluginActions.entity.ts",
"src/db/entities/PluginCapabilityAudit.entity.ts",
"src/db/entities/PluginEgressHosts.entity.ts",
"src/db/entities/PluginEntityMetadata.entity.ts",
"src/db/entities/PluginErrorLog.entity.ts",
"src/db/entities/PluginMetaMigrations.entity.ts",
"src/db/entities/PluginOauthState.entity.ts",
"src/db/entities/PluginOauthTokens.entity.ts",
"src/db/entities/PluginScheduledTasks.entity.ts",
"src/db/entities/PluginSettingsFields.entity.ts",
"src/db/entities/PluginUserConfig.entity.ts",
"src/db/entities/PluginUserErasureQueue.entity.ts",
"src/db/entities/Plugins.entity.ts",
"src/db/entities/PushSubscriptions.entity.ts",
"src/db/entities/ReservationDayPositions.entity.ts",
"src/db/entities/ReservationEndpoints.entity.ts",
"src/db/entities/ReservationTravelers.entity.ts",
"src/db/entities/Reservations.entity.ts",
"src/db/entities/RoadtripDayBoundaries.entity.ts",
"src/db/entities/RoadtripDayTracks.entity.ts",
"src/db/entities/RoadtripPreferences.entity.ts",
"src/db/entities/RoadtripVias.entity.ts",
"src/db/entities/RouteUsageDaily.entity.ts",
"src/db/entities/SchedulerLeases.entity.ts",
"src/db/entities/SchemaVersion.entity.ts",
"src/db/entities/SchoolHolidayCountries.entity.ts",
"src/db/entities/SchoolHolidayPeriods.entity.ts",
"src/db/entities/SchoolHolidayRegions.entity.ts",
"src/db/entities/Settings.entity.ts",
"src/db/entities/ShareTokens.entity.ts",
"src/db/entities/Tags.entity.ts",
"src/db/entities/TodoCategoryAssignees.entity.ts",
"src/db/entities/TodoItems.entity.ts",
"src/db/entities/TourTypes.entity.ts",
"src/db/entities/TourWaypoints.entity.ts",
"src/db/entities/Tours.entity.ts",
"src/db/entities/TrekPhotoCacheMeta.entity.ts",
"src/db/entities/TrekPhotos.entity.ts",
"src/db/entities/TripAlbumLinks.entity.ts",
"src/db/entities/TripDocumentLinks.entity.ts",
"src/db/entities/TripFiles.entity.ts",
"src/db/entities/TripInviteTokens.entity.ts",
"src/db/entities/TripMembers.entity.ts",
"src/db/entities/TripPhotos.entity.ts",
"src/db/entities/Trips.entity.ts",
"src/db/entities/UserNoticeDismissals.entity.ts",
"src/db/entities/UserSessions.entity.ts",
"src/db/entities/Users.entity.ts",
"src/db/entities/VacayCompanyHolidays.entity.ts",
"src/db/entities/VacayEntries.entity.ts",
"src/db/entities/VacayHolidayCalendars.entity.ts",
"src/db/entities/VacayPlanMembers.entity.ts",
"src/db/entities/VacayPlans.entity.ts",
"src/db/entities/VacayShares.entity.ts",
"src/db/entities/VacayUserColors.entity.ts",
"src/db/entities/VacayUserSettings.entity.ts",
"src/db/entities/VacayUserYears.entity.ts",
"src/db/entities/VacayYears.entity.ts",
"src/db/entities/VisitedCountries.entity.ts",
"src/db/entities/VisitedRegions.entity.ts",
"src/db/entities/WebauthnChallenges.entity.ts",
"src/db/entities/WebauthnCredentials.entity.ts",
"src/db/entities/index.ts",
"src/db/legacy-baseline.ts",
"src/db/migrations/Migration20200101040200_trek_photo_cache_meta_cache_key_not_null.ts",
"src/db/migrations/Migration20200101040300_a_booked_night_finally_took_the_seat_a_new.ts",
+7 -1
View File
@@ -16,6 +16,8 @@
* npm run lint:format -- --update take formatted and deleted files off the list;
* it never adds one
*
* src/db/entities/ is generated and checked by check:entities instead.
*
* To format a file: npx prettier --write <file>. The comparison lives in
* scripts/lib/format.mjs at the repository root; Prettier and its config come
* from this workspace.
@@ -26,12 +28,16 @@ import { check } from '../../scripts/lib/format.mjs';
import { runCli } from '../../scripts/lib/ratchet.mjs';
const root = fileURLToPath(new URL('..', import.meta.url));
// The entity files are written by scripts/generate-entities.ts and held byte for
// byte to its output by check:entities, so their layout is the generator's, not
// Prettier's. .prettierignore keeps `npm run format` off them for the same reason.
const GENERATED = 'src/db/entities/';
await runCli('lint:format', (args) =>
check({
prettier,
root,
dirs: ['src', 'tests'],
accepts: (key) => key.endsWith('.ts'),
accepts: (key) => key.endsWith('.ts') && !key.startsWith(GENERATED),
update: args.includes('--update'),
list: args.includes('--list'),
}),