thailint 0.13.0__py3-none-any.whl → 0.15.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. src/cli/linters/__init__.py +6 -0
  2. src/cli/linters/code_patterns.py +75 -333
  3. src/cli/linters/code_smells.py +47 -168
  4. src/cli/linters/documentation.py +21 -98
  5. src/cli/linters/performance.py +274 -0
  6. src/cli/linters/shared.py +232 -6
  7. src/cli/linters/structure.py +23 -21
  8. src/cli/linters/structure_quality.py +25 -21
  9. src/core/linter_utils.py +91 -6
  10. src/linters/file_header/atemporal_detector.py +54 -40
  11. src/linters/file_header/config.py +14 -0
  12. src/linters/lazy_ignores/python_analyzer.py +5 -1
  13. src/linters/lazy_ignores/types.py +2 -0
  14. src/linters/method_property/config.py +0 -1
  15. src/linters/method_property/linter.py +0 -6
  16. src/linters/nesting/linter.py +11 -6
  17. src/linters/nesting/violation_builder.py +1 -0
  18. src/linters/performance/__init__.py +91 -0
  19. src/linters/performance/config.py +43 -0
  20. src/linters/performance/constants.py +49 -0
  21. src/linters/performance/linter.py +149 -0
  22. src/linters/performance/python_analyzer.py +365 -0
  23. src/linters/performance/regex_analyzer.py +312 -0
  24. src/linters/performance/regex_linter.py +139 -0
  25. src/linters/performance/typescript_analyzer.py +236 -0
  26. src/linters/performance/violation_builder.py +160 -0
  27. src/templates/thailint_config_template.yaml +30 -0
  28. {thailint-0.13.0.dist-info → thailint-0.15.0.dist-info}/METADATA +3 -2
  29. {thailint-0.13.0.dist-info → thailint-0.15.0.dist-info}/RECORD +32 -22
  30. {thailint-0.13.0.dist-info → thailint-0.15.0.dist-info}/WHEEL +0 -0
  31. {thailint-0.13.0.dist-info → thailint-0.15.0.dist-info}/entry_points.txt +0 -0
  32. {thailint-0.13.0.dist-info → thailint-0.15.0.dist-info}/licenses/LICENSE +0 -0
@@ -7,13 +7,14 @@ src/cli/__init__.py,sha256=nMxKv4D0t09LwUm4Z5w-b7vIuyn24SFzv78BKzE3AOQ,1272
7
7
  src/cli/__main__.py,sha256=xIKI57yqB1NOw9eXnGXfU8rC2UwcAJYjDxlZbt9eP0w,671
8
8
  src/cli/config.py,sha256=qbBX8LQrlPcOrvPYcZw9Hobv9FqSI7T3xy2HUITRqAU,14426
9
9
  src/cli/config_merge.py,sha256=A1eCthiLwjj0SEhOcxa6t2hYwWMapGJpL9sCmYvUFw4,8464
10
- src/cli/linters/__init__.py,sha256=IsNYi7RmSQHN1L65rUuVZpfpRA3YT-M7eZAyBywpOss,2160
11
- src/cli/linters/code_patterns.py,sha256=JiSQ9AloCZEryx67MARUn-XNvQxHyOfLiHZlGXHC5cs,16135
12
- src/cli/linters/code_smells.py,sha256=hK7v-k9Fa-vCas702cICRV73xovfyhiITVy29MAErP8,15039
13
- src/cli/linters/documentation.py,sha256=Ut_mUuHnxidUf9jX-Md-JoCgdqqGj6UzyDxrmusHfJQ,5300
14
- src/cli/linters/shared.py,sha256=tHOsLF_L-xwf1KE4kVR7oES4IMOj-1ADWRnDhW36QzM,3010
15
- src/cli/linters/structure.py,sha256=u29jiBxGsga-eqqe5vI-VwptF8eGzLMzOl476mIoDvU,10668
16
- src/cli/linters/structure_quality.py,sha256=e0fpprTi13WaRVyqpJQYZD6fvslgfTVkIL9lwKOOzDk,10715
10
+ src/cli/linters/__init__.py,sha256=Dlx2CRHT5_QeIeCJ0horPXci9zRP_KzSz_-mg0VMbOw,2343
11
+ src/cli/linters/code_patterns.py,sha256=3mi6tRJiNAN2DBdQLcawJhn5pSBDIN1-pLBD_1HNb90,9059
12
+ src/cli/linters/code_smells.py,sha256=a5nMke9-6jPmkyG9RrgfuiOYfJuuUsmkujgAdsvnVOs,11457
13
+ src/cli/linters/documentation.py,sha256=T2HeyQim4m_aE3f1pNnsCW9rDnTQf_YETcHnExXum4k,3224
14
+ src/cli/linters/performance.py,sha256=toQqOPOxiJ5D5TvXv6pFoIibfbquOyrnQVrZUmrz8Zc,9530
15
+ src/cli/linters/shared.py,sha256=f3WsTgLyetndI9li9W-q_-MvOXjahNyJGJVCEoUQ6QI,9489
16
+ src/cli/linters/structure.py,sha256=77JdZmjp7pBNoMP1SKkj4EQa4z4IZ_260TonvQ__IgE,10515
17
+ src/cli/linters/structure_quality.py,sha256=T1uKtDnKLz_YnHe_MP6lB8mvfxdaJNP-XQ8_IWUpTt0,10586
17
18
  src/cli/main.py,sha256=mRyRN_IQI2WyqDCxI8vuzdhbkCkVrK6INfJPjU8ayIU,3844
18
19
  src/cli/utils.py,sha256=L1q2i6NBkWoQZLYnkeNNdfzHYRhaUobbzqSr2w8JUFY,12595
19
20
  src/cli_main.py,sha256=C0Ey7YNlG3ipqb3KsJZ8rL8PJ4ueVp_45IUirGidvHI,1618
@@ -23,7 +24,7 @@ src/core/base.py,sha256=u5A8geprlKnsJk4ShiLHTKXRekZUB4I6rPQWxgiFeto,8019
23
24
  src/core/cli_utils.py,sha256=ZdFSPrZ4WfpTMh-mc_Z3u5OYidE1YyPRKflMynPosa8,6552
24
25
  src/core/config_parser.py,sha256=CRHV2-csxag6yQzx_4IYYz57QSUYjPkeSb0XvOyshRI,4272
25
26
  src/core/constants.py,sha256=PKtPDqk6k9VuOSgjq1FAdi2CTvlnhdXvLj91dNaMDTA,1584
26
- src/core/linter_utils.py,sha256=mMZHJFbLzZU8MDTWcfU0XVLF8vTrg6hO8WTKcjjpKqg,5448
27
+ src/core/linter_utils.py,sha256=StnKFzJgSvLyao1S0LpTKhsXo8nOwpdKpxo7mXl5PIg,8594
27
28
  src/core/registry.py,sha256=yRA8mQLiZwjmgxl1wSTgdj1cuo_QXuRdrXt3NpCBUgE,3285
28
29
  src/core/rule_discovery.py,sha256=tgRH-BJGKsQTxfa249yrY7UJuonRjobMCENqmhcbAeY,5496
29
30
  src/core/types.py,sha256=SElFzf_VSrAMsoiE0aU8ZYXuvKqdfwfM5umUHx4eT8w,3342
@@ -76,10 +77,10 @@ src/linters/dry/violation_builder.py,sha256=WkCibSNytoqMHGC-3GrVff4PD7-SOnVzzZgk
76
77
  src/linters/dry/violation_filter.py,sha256=2e6NHN7GYadt27Pz5kiXhttKPJu1loiXhOi0G3J3Epk,3211
77
78
  src/linters/dry/violation_generator.py,sha256=7jkRfauwAEdipFuDhoy82eIeXS1ECN4W_3jspMlnFaU,6068
78
79
  src/linters/file_header/__init__.py,sha256=S3a2xrOlxnNWD02To5K2ZwILsNEvSj1IvUAH8RjgOV4,791
79
- src/linters/file_header/atemporal_detector.py,sha256=H6QJ5hCOtfCBEKPMGiPqhBdYR5Y9uWhoHMnhW3N9mKk,3353
80
+ src/linters/file_header/atemporal_detector.py,sha256=lerkiMwiUhYv3X3vxpm_88otZhSMG3DBgryhFyxe3As,3934
80
81
  src/linters/file_header/base_parser.py,sha256=k6ymg1ocuesA6PH7NMDQOy0LTgSglu0wXed68fPaHxM,3382
81
82
  src/linters/file_header/bash_parser.py,sha256=aRlIbR6x8IeYAj8w6a3eQzdZZivHB0oPg843CTnQm-Y,2481
82
- src/linters/file_header/config.py,sha256=Ewrln4W4QDnInTgWr8WgSlQEjAuDyMbUuh9GHAa9a4c,4030
83
+ src/linters/file_header/config.py,sha256=gdnZoJ-lEq8DACr6C2UKLorHiFCNdQspP_88FQBtoyc,4755
83
84
  src/linters/file_header/css_parser.py,sha256=ijpGMixg2ZqNWWdiZjSNtMXCOhm6XDfSY7OU68B9fS8,2332
84
85
  src/linters/file_header/field_validator.py,sha256=owA-ahjx0cUWBIqCxT0dMyGTABQA0b8HbdWbZPQk7pw,2769
85
86
  src/linters/file_header/linter.py,sha256=9XFk9H-0QtXvMBgHfVM5PcI1igDcE8ylLARr0547XZ4,12532
@@ -102,10 +103,10 @@ src/linters/lazy_ignores/directive_utils.py,sha256=6Mc56hrcFe21LG7PMmIVEPDGKUF6F
102
103
  src/linters/lazy_ignores/header_parser.py,sha256=ADtVJUoJfoVx_zehoPpo6YLws0N-7c2PLK1PhNqn5Uk,6030
103
104
  src/linters/lazy_ignores/linter.py,sha256=1bl3b2NliVurlb9bUcZUzd8sBZG6KJhRODD-Mb46HnE,6052
104
105
  src/linters/lazy_ignores/matcher.py,sha256=jLE12aPPEz6tBejFrmXGXdCb7kzeFh8IYH5b_UjHqpQ,5201
105
- src/linters/lazy_ignores/python_analyzer.py,sha256=jccO9P539xRm4GB3-exge4oijkfvOLyXkWe8wSygciA,7064
106
+ src/linters/lazy_ignores/python_analyzer.py,sha256=JlblemVtYPPdcl9l654WSHIjy0HusXfA5TidzAm5hdc,7211
106
107
  src/linters/lazy_ignores/rule_id_utils.py,sha256=sE7kAQFO6zGAR5JQN2OLLVjAdiVNPZONTb0sY01ri9w,5809
107
108
  src/linters/lazy_ignores/skip_detector.py,sha256=9RK5uD4b2pAfdJsK1dHRTAWG4kKfAf1yfjc1OBsI14M,10461
108
- src/linters/lazy_ignores/types.py,sha256=1fsWUlNNutjfd0MzmAh7PsmkVDT4R9KPvlbHOL8QmeM,2136
109
+ src/linters/lazy_ignores/types.py,sha256=8i6mMXRXQkC8M8pH3uH63G-0x0PYWQvz0Ikb0F6cSx4,2204
109
110
  src/linters/lazy_ignores/typescript_analyzer.py,sha256=k8R60Mcw9OxvHFFUPhUErrb-tbek7Q7PXXZDq_H0ioM,5322
110
111
  src/linters/lazy_ignores/violation_builder.py,sha256=Z5RlCRJKkTfetkRVqsu1rfJRgBeiE9RTEu1djr-nmto,4203
111
112
  src/linters/lbyl/__init__.py,sha256=rV7NcrP32ku1jp9kABWuvrstJNk4vfoH2IjWEwuwfos,1069
@@ -121,17 +122,26 @@ src/linters/magic_numbers/typescript_analyzer.py,sha256=-2YPmNWXHJN8R2siV3pJk_3B
121
122
  src/linters/magic_numbers/typescript_ignore_checker.py,sha256=9JWqtXd8KU_GCc_66KSZT2X7uQhNGpxE2ikOyjcLyao,2847
122
123
  src/linters/magic_numbers/violation_builder.py,sha256=SqIQv3N9lpP2GRC1TC5InrvaEdrAq24V7Ec2Xj5olb0,3308
123
124
  src/linters/method_property/__init__.py,sha256=t0C6zD5WLm-McgmvVajQJg4HQfOi7_4YzNLhKNA484w,1415
124
- src/linters/method_property/config.py,sha256=6gTluzhwIT7eLhVRoPHihGlnLx_H7yY9SW5xpMU6o-w,5553
125
- src/linters/method_property/linter.py,sha256=gnSmtobSwVxa1wd43az9qGIXpppG2_ENjmDgPZgI1Vg,12844
125
+ src/linters/method_property/config.py,sha256=_TbUc0piC1FeW3qsw4hYryzWPUOq_laia_QNLe1Y0aw,5529
126
+ src/linters/method_property/linter.py,sha256=9pgUEIK7ASZVwtsRVOg3U0k-GR0lHSLpUv_1TnIcZPA,12700
126
127
  src/linters/method_property/python_analyzer.py,sha256=uyNUJHxACw01Z1Uz6lRUPe753MpzUOYuQ999rRt5ocE,15386
127
128
  src/linters/method_property/violation_builder.py,sha256=A7SwZWlVG_7W5pJiHOvIroI2q4UuOQNryOYvmX3APLs,4251
128
129
  src/linters/nesting/__init__.py,sha256=tszmyCEQMpEwB5H84WcAUfRYDQl7jpsn04es5DtAHsM,3200
129
130
  src/linters/nesting/config.py,sha256=PfPA2wJn3i6HHXeM0qu6Qx-v1KJdRwlRkFOdpf7NhS8,2405
130
- src/linters/nesting/linter.py,sha256=3uO9lbLQbTvjLaKRjYWi9GaNlmQmHcbwD3YmXH8DfXE,6431
131
+ src/linters/nesting/linter.py,sha256=bn5aPlxKZNw3T2LsOSfZUK_shkxcsdUS_LtFVsGJexk,6622
131
132
  src/linters/nesting/python_analyzer.py,sha256=__fs_NE9xA4NM1MDOHBGdrI0zICkTcgbVZtfT03cxF0,3230
132
133
  src/linters/nesting/typescript_analyzer.py,sha256=70TsjP3EJWiHJ1ncMaveFE0e9_HdukWZr9LM0_MDXr8,3639
133
134
  src/linters/nesting/typescript_function_extractor.py,sha256=dDB1otJnFMCo-Pj4mTr4gekKe7V4ArOAtX6gV0dBDc4,4494
134
- src/linters/nesting/violation_builder.py,sha256=sMHS45F2lrA1WYrG3Uug8HfeRPljnXcyJPHSe2F76Bs,4828
135
+ src/linters/nesting/violation_builder.py,sha256=WwgR_Q9pfPJOoVuNZQL4MU3-Wc6RX_GGL5Rc2-RVlbI,4829
136
+ src/linters/performance/__init__.py,sha256=UXJwfTk2ZCBqdy0Rtqcn2rMffWXXauq14oNMPtJDO3o,3118
137
+ src/linters/performance/config.py,sha256=TmOdKtbrYx8POzFx_7fkgWfHcri2oBIXsm4V9FqkAek,1458
138
+ src/linters/performance/constants.py,sha256=WBiSCOMGNd01o5D0M95Lyx_liZAd3zBkIPu7ZXzcW3M,1127
139
+ src/linters/performance/linter.py,sha256=PrzHt5Y83eUlLWnZol7PPJsYRTPlIPv8-2FDJ-u88j8,5719
140
+ src/linters/performance/python_analyzer.py,sha256=EgRBzk-0CHS48RM2IlqilKkDsMadyjf1IumMUvfw2zs,13808
141
+ src/linters/performance/regex_analyzer.py,sha256=GZKf3jWWH28TxGlTqDeyd97JDbxjIT1pPO2jcgZwofY,10520
142
+ src/linters/performance/regex_linter.py,sha256=velv84oQ3TxP9cJlYmSts3_DjS1h-RINuZDmQx-YatU,5078
143
+ src/linters/performance/typescript_analyzer.py,sha256=t0jvLvVG97ffgC-4KhXobKa9iG9iGREOV5Kta7XsbFw,8740
144
+ src/linters/performance/violation_builder.py,sha256=q4fy3SVVrveyYYg9O2-MZfWjlHlKRP3llH1-8VQ6sUU,5752
135
145
  src/linters/print_statements/__init__.py,sha256=yhvdTFSqBB4UDreeadTHKFzhayxeT6JkF3yxUHMgn1g,1893
136
146
  src/linters/print_statements/config.py,sha256=rth3XmzqZGzXkRXDIVZswdtNOXIe1vIRaF46tVLKnyQ,3041
137
147
  src/linters/print_statements/linter.py,sha256=CcKolaaHYJzhpxWXthYZ7xXhfTnxmyOIhuE40Ly3ofA,14351
@@ -179,11 +189,11 @@ src/linters/stringly_typed/violation_generator.py,sha256=aye60bShNnt8f6BPQwduTOL
179
189
  src/orchestrator/__init__.py,sha256=XXLDJq2oaB-TpP2Y97GRnde9EkITGuFCmuLrDfxI9nY,245
180
190
  src/orchestrator/core.py,sha256=rt3h-YFgF1aAFeKvTa0PP7k_8zfwpeGIqrIxKuyckxY,17683
181
191
  src/orchestrator/language_detector.py,sha256=rHyVMApit80NTTNyDH1ObD1usKD8LjGmH3DwqNAWYGc,2736
182
- src/templates/thailint_config_template.yaml,sha256=ikW2cMaRiD-GLpsgaEKPUli3T8cuB5BPxjGcyan6eDo,11005
192
+ src/templates/thailint_config_template.yaml,sha256=57ZtLxnIoOHtR5Ejq3clb4nhY9J4n6h36XFb79ZZPlc,12020
183
193
  src/utils/__init__.py,sha256=NiBtKeQ09Y3kuUzeN4O1JNfUIYPQDS2AP1l5ODq-Dec,125
184
194
  src/utils/project_root.py,sha256=aaxUM-LQ1okrPClmZWPFd_D09W3V1ArgJiidEEp_eU8,6262
185
- thailint-0.13.0.dist-info/METADATA,sha256=n8xyN_x-1fEfh6_AOCNvPUieDz_MWflnc01f__j7QTs,6815
186
- thailint-0.13.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
187
- thailint-0.13.0.dist-info/entry_points.txt,sha256=DNoGUlxpaMFqxQDgHp1yeGqohOjdFR-kH19uHYi3OUY,72
188
- thailint-0.13.0.dist-info/licenses/LICENSE,sha256=kxh1J0Sb62XvhNJ6MZsVNe8PqNVJ7LHRn_EWa-T3djw,1070
189
- thailint-0.13.0.dist-info/RECORD,,
195
+ thailint-0.15.0.dist-info/METADATA,sha256=1iWgxBw9kUZvQZ9EmyxHz1I3Fm4L1JVPo1tD-hsh7W0,7009
196
+ thailint-0.15.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
197
+ thailint-0.15.0.dist-info/entry_points.txt,sha256=DNoGUlxpaMFqxQDgHp1yeGqohOjdFR-kH19uHYi3OUY,72
198
+ thailint-0.15.0.dist-info/licenses/LICENSE,sha256=kxh1J0Sb62XvhNJ6MZsVNe8PqNVJ7LHRn_EWa-T3djw,1070
199
+ thailint-0.15.0.dist-info/RECORD,,