refactor: remove all biome dependencies#677
Merged
Conversation
7f20bb7 to
85ac796
Compare
convert_case splits on digit boundaries (e.g. "Md5" → "md_5") unlike
the old biome_string_case behavior ("Md5" → "md5"). Add a to_snake_case
helper that removes digit boundaries. Also fix clippy uninlined format
args warning.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
85ac796 to
1064021
Compare
juleswritescode
approved these changes
Feb 13, 2026
| | "pglinter/base" | ||
| | "pglinter/cluster" | ||
| | "pglinter/schema"; | ||
| export type Category = "lint/safety/addSerialColumn" | "lint/safety/addingFieldWithDefault" | "lint/safety/addingForeignKeyConstraint" | "lint/safety/addingNotNullField" | "lint/safety/addingPrimaryKeyConstraint" | "lint/safety/addingRequiredField" | "lint/safety/banCharField" | "lint/safety/banConcurrentIndexCreationInTransaction" | "lint/safety/banDropColumn" | "lint/safety/banDropDatabase" | "lint/safety/banDropNotNull" | "lint/safety/banDropTable" | "lint/safety/banTruncateCascade" | "lint/safety/changingColumnType" | "lint/safety/constraintMissingNotValid" | "lint/safety/creatingEnum" | "lint/safety/disallowUniqueConstraint" | "lint/safety/lockTimeoutWarning" | "lint/safety/multipleAlterTable" | "lint/safety/preferBigInt" | "lint/safety/preferBigintOverInt" | "lint/safety/preferBigintOverSmallint" | "lint/safety/preferIdentity" | "lint/safety/preferJsonb" | "lint/safety/preferRobustStmts" | "lint/safety/preferTextField" | "lint/safety/preferTimestamptz" | "lint/safety/renamingColumn" | "lint/safety/renamingTable" | "lint/safety/requireConcurrentIndexCreation" | "lint/safety/requireConcurrentIndexDeletion" | "lint/safety/runningStatementWhileHoldingAccessExclusive" | "lint/safety/transactionNesting" | "pglinter/extensionNotInstalled" | "pglinter/ruleDisabledInExtension" | "pglinter/base/compositePrimaryKeyTooManyColumns" | "pglinter/base/howManyObjectsWithUppercase" | "pglinter/base/howManyRedudantIndex" | "pglinter/base/howManyTableWithoutIndexOnFk" | "pglinter/base/howManyTableWithoutPrimaryKey" | "pglinter/base/howManyTablesNeverSelected" | "pglinter/base/howManyTablesWithFkMismatch" | "pglinter/base/howManyTablesWithFkOutsideSchema" | "pglinter/base/howManyTablesWithReservedKeywords" | "pglinter/base/howManyTablesWithSameTrigger" | "pglinter/base/howManyUnusedIndex" | "pglinter/base/severalTableOwnerInSchema" | "pglinter/cluster/passwordEncryptionIsMd5" | "pglinter/cluster/pgHbaEntriesWithMethodTrustOrPasswordShouldNotExists" | "pglinter/cluster/pgHbaEntriesWithMethodTrustShouldNotExists" | "pglinter/schema/ownerSchemaIsInternalRole" | "pglinter/schema/schemaOwnerDoNotMatchTableOwner" | "pglinter/schema/schemaPrefixedOrSuffixedWithEnvt" | "pglinter/schema/schemaWithDefaultRoleNotGranted" | "pglinter/schema/unsecuredPublicSchema" | "splinter/performance/authRlsInitplan" | "splinter/performance/duplicateIndex" | "splinter/performance/multiplePermissivePolicies" | "splinter/performance/noPrimaryKey" | "splinter/performance/tableBloat" | "splinter/performance/unindexedForeignKeys" | "splinter/performance/unusedIndex" | "splinter/security/authUsersExposed" | "splinter/security/extensionInPublic" | "splinter/security/extensionVersionsOutdated" | "splinter/security/fkeyToAuthUnique" | "splinter/security/foreignTableInApi" | "splinter/security/functionSearchPathMutable" | "splinter/security/insecureQueueExposedInApi" | "splinter/security/materializedViewInApi" | "splinter/security/policyExistsRlsDisabled" | "splinter/security/rlsDisabledInPublic" | "splinter/security/rlsEnabledNoPolicy" | "splinter/security/rlsReferencesUserMetadata" | "splinter/security/securityDefinerView" | "splinter/security/unsupportedRegTypes" | "stdin" | "check" | "format" | "configuration" | "database/connection" | "internalError/io" | "internalError/runtime" | "internalError/fs" | "flags/invalid" | "project" | "typecheck" | "plpgsql_check" | "internalError/panic" | "syntax" | "dummy" | "lint" | "lint/performance" | "lint/safety" | "splinter" | "splinter/performance" | "splinter/security" | "pglinter" | "pglinter/base" | "pglinter/cluster" | "pglinter/schema"; |
Collaborator
There was a problem hiding this comment.
läuft der formatter hier nicht mehr drüber?
Collaborator
Author
There was a problem hiding this comment.
lol biome war falsch konfiguriert - habs gefixt
| impl FromStr for StringSet { | ||
| type Err = &'static str; | ||
|
|
||
| fn from_str(_s: &str) -> Result<Self, Self::Err> { |
Collaborator
There was a problem hiding this comment.
wird das genutzt?
wenn ja, sollte hier vermutlich der &str übergeben werden
| for item in union_type.types().iter() { | ||
| result.push(item.unwrap()); | ||
| // Flatten nested union types | ||
| if item.contains(" | ") { |
Collaborator
There was a problem hiding this comment.
site note, ich glaube das splittet literals falsch wenn ein string ein "|" enthält, wie z.B. safety|linting.
aber haben wir ja nicht, deswegen sollte es passen
Collaborator
Author
There was a problem hiding this comment.
jaa, und wenns nicht passt sehen wir es direkt im codegen
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes all
biome_*crate dependencies from the workspace.biome_string_case→convert_caseDrop-in replacement.
convert_casewas already a workspace dependency.biome_js_factory,biome_js_formatter,biome_js_syntax,biome_rowan→ string-based TS codegenThe TS codegen only produces interfaces, type aliases, and one factory function. Building a full JS AST for that was overkill. Raw string templates do the same job with zero new dependencies.
biome_deserialize,biome_deserialize_macros→pgls_configuration_macros+ inlineMerge/StringSetpgls_configuration_macroswithMergeandPartialderives (vendored from biome, ~250 lines total, pointed atpgls_configuration::Mergeinstead ofbiome_deserialize::Merge).Mergetrait (49 lines, zero deps) andStringSetwrapper (86 lines, onlyindexmap) inlined intopgls_configuration::utils.Deserializablederive andDeserializableValidatordropped entirely — never called at runtime.