Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. May 09, 2022
  2. May 02, 2022
    • Braden Shepherdson's avatar
      One Clojure lint to rule them all (#22213) · 390d10e5
      Braden Shepherdson authored
      Background:
      
      We had two lint configs: lint-config.edn which was enfored by Github Actions, and
      .clj-kondo/config.edn, the default location used by editors.
      
      
      Problem:
      
      Patchy enforcement of the (larger) config in .clj-kondo/config.edn since not
      everyone uses an editor.
      
      Some new lint, like canonical namespace aliases (#21738, #19930) is not enforced
      automatically and has begun to bit-rot.
      
      Solution:
      
      Combine both configs, fix any outstanding lint, and update our tooling to use
      the unified config.
      
      Caveats:
      
      Anyone who has their local editor configured to use lint-config.edn will have
      their linting broken by this change.
      Unverified
      390d10e5
  3. Apr 27, 2022
    • Noah Moss's avatar
      Migrate LDAP code to using `defenterprise` (#21687) · 2167b788
      Noah Moss authored
      * scaffolding, docstring & arg parsing
      
      * tweaks
      
      * registry and basic oss->ee dispatch
      
      * stubbed defenterprise-ee
      
      * full defenterprise-ee impl
      
      * fix build and tweak docstring
      
      * remove debug code
      
      * basic tests
      
      * use defonce
      
      * support for :any feature
      
      * schema support
      
      * fix schema test
      
      * switch to using format
      
      * support for schema on return val
      
      * tweak macro
      
      * move schema validation to submacros
      
      * do ee fn resolution at runtime
      
      * do conditionals at macro-expansion time
      
      * adjust semantics & refactor
      
      * fix test
      
      * add memoization for ee resolution
      
      * fix tests
      
      * emit register-mapping! call to avoid eval
      
      * call starts-with on symbol
      
      * remove schema support
      
      * use spec for arg parsing, generate fns, and remove :error fallback option
      
      * clean ns
      
      * change schema alias to schema
      
      * add :arglists meta and small refactor
      
      * refactor
      
      * move EE logic to fn
      
      * validate that the correct args are passed in EE/OSS namespaces, and make :feature required
      
      * remove logic for handling nil :feature
      
      * fix lint errors
      
      * fix ee macros
      
      * defenterprise-schema macro & tests
      
      * clean ns
      
      * propogate metadata
      
      * don't memoize ee resolution in dev to make debugging easier
      
      * dont do ee fn resolution during macroexpansion
      
      * migrate LDAP functions to defenterprise
      
      * lint
      
      * require ee ns separately so that EE settings are available
      
      * revert change to function mocked in tests
      
      * add back code lost in merge
      
      * clean ns
      
      * clean ns again
      
      * minor refactor and cleanup
      
      * major refactor
      
      * fix defenterprise-schema syntax
      
      * fix import
      
      * major refactor
      
      * update docstrings
      
      * more docstring tweaks
      
      * try to fix lint error on ldap PR
      
      * add lint-as mappings for defenterprise and defenterprise-schema to clj-kondo config
      
      * clj-kondo/ignore use of spec alias
      
      * use destructuring in arg lists since it's now supported
      
      * add docstring to def emitted by macro, and some formatting tweaks
      Unverified
      2167b788
  4. Apr 26, 2022
    • dpsutton's avatar
      Enable :unsorted-required-namespaces and lint cleanups (#22087) · b519dd8a
      dpsutton authored
      ```
      ❯ clj-kondo --lint src:shared/src
      src/metabase/api/common/validation.clj:2:33: warning: Inconsistent alias. Expected str instead of string.
      src/metabase/api/database.clj:664:5: warning: Redundant let expression.
      src/metabase/api/table.clj:18:45: warning: Inconsistent alias. Expected field-values instead of sync.field-values.
      src/metabase/cmd.clj:123:5: warning: unused binding docs
      src/metabase/db/data_migrations.clj:15:52: warning: Inconsistent alias. Expected perms-group instead of group.
      src/metabase/db/data_migrations.clj:55:15: warning: #'metabase.db.data-migrations/data-migrations is deprecated
      src/metabase/db/data_migrations.clj:62:24: warning: #'metabase.db.data-migrations/data-migrations is deprecated
      src/metabase/db/data_migrations.clj:63:7: warning: #'metabase.db.data-migrations/run-migration-if-needed! is deprecated
      src/metabase/db/data_migrations.clj:154:1: warning: #'metabase.db.data-migrations/defmigration is deprecated
      src/metabase/db/data_migrations.clj:201:1: warning: #'metabase.db.data-migrations/defmigration is deprecated
      src/metabase/db/setup.clj:59:5: warning: Missing catch or finally in try
      src/metabase/driver/postgres.clj:18:63: warning: Inconsistent alias. Expected sql-jdbc.describe-table instead of sql-jdbc.sync.describe-table.
      src/metabase/driver/postgres.clj:304:9: warning: unused binding nfc-path
      src/metabase/driver/postgres.clj:323:60: warning: unused binding fields-fields
      src/metabase/driver/sql_jdbc/sync/describe_table.clj:253:39: error: Expected: set or nil, received: seq.
      src/metabase/driver/sql_jdbc/sync/describe_table.clj:254:39: error: Expected: set or nil, received: seq.
      src/metabase/driver/sql_jdbc/sync/describe_table.clj:333:11: warning: unused binding map-inner
      src/metabase/models/secret.clj:248:23: warning: use :else as the catch-all test expression in cond
      src/metabase/pulse/render/body.clj:216:64: warning: unused binding cols
      src/metabase/task/refresh_slack_channel_user_cache.clj:52:25: error: clojurewerkz.quartzite.schedule.simple/with-interval-in-seconds is called with 1 arg but expects 2
      linting took 5988ms, errors: 3, warnings: 17
      ```
      
      ```
      ❯ clj-kondo --lint src:shared/src
      src/metabase/task/refresh_slack_channel_user_cache.clj:52:25: error: clojurewerkz.quartzite.schedule.simple/with-interval-in-seconds is called with 1 arg but expects 2
      linting took 5270ms, errors: 1, warnings: 0
      ```
      
      Want to call out a few things:
      
      The following all related to the new paths into json feature. Wanted
      howon to verify that nothing got dropped with these unused bindings.
      
      ```
      src/metabase/driver/postgres.clj:304:9: warning: unused binding nfc-path
      src/metabase/driver/postgres.clj:323:60: warning: unused binding fields-fields
      src/metabase/driver/sql_jdbc/sync/describe_table.clj:253:39: error: Expected: set or nil, received: seq.
      src/metabase/driver/sql_jdbc/sync/describe_table.clj:254:39: error: Expected: set or nil, received: seq.
      src/metabase/driver/sql_jdbc/sync/describe_table.clj:333:11: warning: unused binding map-inner
      ```
      Unverified
      b519dd8a
  5. Apr 19, 2022
  6. Mar 23, 2022
  7. Mar 04, 2022
  8. Feb 24, 2022
  9. Feb 10, 2022
    • Michiel Borkent's avatar
      Linting improvements (#20424) · 8f119d64
      Michiel Borkent authored
      * honeysql var improvements
      
      * Define routes
      
      * Define routes
      
      * define-routes improvement
      
      * honeysql helpers
      
      * honesql
      
      * abs in clojure 1.11
      
      * fix logic unresolved vars
      
      * deprecated
      
      * deprecated var warnings
      
      * undo replace
      Unverified
      8f119d64
  10. Feb 03, 2022
  11. Jan 25, 2022
  12. Oct 19, 2021
Loading