Kode Irekiko Ekarpenak

Garatzaile-tresna eta esperientzia hobeak eraikitzen kode irekiko proiektuetara ekapen esanguratsuak eginez

Contribution Statistics

20
Bateratutako Ekarpenak
Produkziora prest dauden kode-hobekuntzak
3
Proiektuak
Erabili asko diren kode irekiko tresnak

Proiektuak

clj-kondo

Developer Tools

A static analyzer and linter for Clojure code that sparks joy

ClojureStatic AnalysisLinting

16 Ekarpenak

01
New Linter: unused-excluded-var

Implemented a new linter to warn on unused vars in :refer-clojure :exclude, helping developers maintain cleaner code by identifying unnecessary exclusions.

Improves code quality by detecting redundant exclusions
02
New Linter: destructured-or-always-evaluates

Created a linter to warn on s-expressions in :or defaults in map destructuring, preventing common pitfalls where developers expect lazy evaluation but get eager evaluation.

Prevents subtle bugs in destructuring patterns that are hard to debug
03
New Linter: unquote-not-syntax-quoted

Developed a linter to warn on ~ and ~@ usage outside syntax-quote (`), catching common macro-related mistakes early in development.

Reduces macro-related errors and improves developer experience
04
New Linter: unresolved-excluded-var

Built a linter to warn on non-existing vars in :refer-clojure :exclude, preventing typos and references to non-existent symbols.

Catches namespace configuration errors at analysis time
05
Array Type System Support

Added comprehensive type checking support for array operations including to-array, alength, aget, aset, and aclone functions. Introduced new array type for better static analysis.

Enables type checking for Java array interop operations, catching type errors at lint time
06
Enhanced Type Checking for Collections

Extended type checking support to sorted-map-by, sorted-set, and sorted-set-by functions, improving static analysis coverage for sorted collection operations.

Better type inference and error detection for sorted collection usage
07
Fix Unexpected Recur False Positive

Fixed false positive :unexpected-recur warning when recur is used inside clojure.core.match/match expressions, improving accuracy of control flow analysis.

Eliminates false warnings in legitimate recur usage with pattern matching
08
Namespaced Maps Analysis

Implemented analysis to report unresolved namespace for namespaced maps with unknown aliases, catching configuration errors in namespaced keyword usage.

Better error reporting for namespaced map syntax
09
Ratio Type Support with Numerator and Denominator functions type checking

Add comprehensive :ratio type support to clj-kondo's type system, enabling type checking for the numerator and denominator functions.

Improves type safety when working with ratios in Clojure code.
10
Type Support for repeatedly function

Added type definitions for repeatedly.

More comprehensive type checking across Clojure core library
11
Fix `:refer-clojure :exclude` handling for ignored vars

Improved handling of `:refer-clojure :exclude` to properly ignore elements with `#_clj-kondo/ignore` metadata.

12
New Linter: Condition Always True for clojure.test/is

Implemented a linter to warn on literals and constants used in clojure.test/is forms that always evaluate to true, preventing common testing mistakes.

Improves test reliability by catching always-true conditions in assertions
13
Type Checking Support for Clojure Test Functions

Added comprehensive type checking for clojure.test functions like is, testing, deftest, etc., enabling static analysis to catch type mismatches in test code.

Enhances type safety in testing code, preventing runtime type errors
14
New Linter: Redundant Format

Implemented a linter to warn when format strings are used without any format specifiers, indicating potential misuse of formatting functions.

Helps developers identify unnecessary use of format functions, improving code clarity
15
Fix regression for unused binding warnings

Resolved a regression causing false positives for unused binding warnings in `~'~` unquote expressions.

16
Fix unused value linter for `defmethod` bodies

Updated the unused value linter to allow unused values in `defmethod` bodies.

cljfmt

Developer Tools

A tool for formatting Clojure code according to consistent style guidelines

ClojureCode FormattingDeveloper Tools

1 Ekarpena

01
Configurable Column Alignment

Introduced :align-single-column-lines? configuration option to control column alignment behavior in maps and forms. This prevents excessive horizontal padding when forms contain multi-line values.

Improves formatting consistency and readability for complex data structures

Logseq

Productivity

A privacy-first, open-source knowledge base that works on top of local plain-text Markdown and Org-mode files

ClojureScriptReactElectronKnowledge Management

3 Ekarpenak

01
Autopair Parenthesis Behavior Improvements

Enhanced autopairing logic for parentheses to only trigger in appropriate contexts (e.g., when preceded by whitespace), preventing unwanted insertions in URLs and other patterns.

Significantly improved editor UX by eliminating disruptive autocomplete behavior
02
Fix Task List Checkbox Toggle Behavior

Resolved edge cases in task list checkbox toggling to preserve expected casing and behavior. Implemented safer replace semantics for consistent checkbox state transitions.

Ensures reliable task management functionality, critical for productivity workflows
03
Fix Image Navigation Order in Maximize Mode

Corrected image navigation logic in maximize (lightbox) mode to maintain proper order when switching between images. Fixed inconsistent index calculations causing confusing navigation.

Enhanced image viewing experience for users working with visual content

Ekarpenen Denbora-lerroa

Fix `:refer-clojure :exclude` handling for ignored vars
PR-a ikusi →
New Linter: Condition Always True for clojure.test/is
PR-a ikusi →
Type Checking Support for Clojure Test Functions
PR-a ikusi →
New Linter: Redundant Format
PR-a ikusi →
Fix regression for unused binding warnings
PR-a ikusi →
Fix unused value linter for `defmethod` bodies
PR-a ikusi →
New Linter: unused-excluded-var
PR-a ikusi →
New Linter: destructured-or-always-evaluates
PR-a ikusi →
Array Type System Support
PR-a ikusi →
Enhanced Type Checking for Collections
PR-a ikusi →
Configurable Column Alignment
PR-a ikusi →
New Linter: unresolved-excluded-var
PR-a ikusi →
Namespaced Maps Analysis
PR-a ikusi →
Ratio Type Support with Numerator and Denominator functions type checking
PR-a ikusi →
New Linter: unquote-not-syntax-quoted
PR-a ikusi →
Fix Unexpected Recur False Positive
PR-a ikusi →
Type Support for repeatedly function
PR-a ikusi →
Fix Task List Checkbox Toggle Behavior
PR-a ikusi →
Autopair Parenthesis Behavior Improvements
PR-a ikusi →
Fix Image Navigation Order in Maximize Mode
PR-a ikusi →