Sergey Penkovsky
1e6375f5ae
refactor(report): round numeric values to 2 decimal places in MarkdownReport output
2025-08-06 22:41:08 +03:00
Sergey Penkovsky
3da71674d4
chore: fix current status, all implemented features and refactors
2025-08-06 22:35:49 +03:00
Sergey Penkovsky
ea39b9d0e1
feat(report): align MarkdownReport columns for readable ASCII/markdown output
2025-08-06 22:31:41 +03:00
Sergey Penkovsky
09ed186544
refactor(cli): modularize CLI — extract parser, runner, report and main logic into dedicated files
2025-08-06 22:19:13 +03:00
Sergey Penkovsky
3ce21f55e4
refactor(report): extract ReportGenerator abstraction for pretty/csv/json; simplify report rendering in main
2025-08-06 22:02:41 +03:00
Sergey Penkovsky
bae940f374
refactor(main): extract BenchmarkRunner and BenchmarkResult, simplify main loop, unify sync/async cases
2025-08-06 21:53:13 +03:00
Sergey Penkovsky
0fc1907173
chore(cleanup): remove unused legacy benchmarks and scenario files
2025-08-06 18:36:11 +03:00
Sergey Penkovsky
4d41266135
refactor(benchmark): clean up UniversalChainBenchmark, remove async logic, keep only sync scenario logic
2025-08-06 18:26:05 +03:00
Sergey Penkovsky
3a75bd5b28
feat(benchmark): add UniversalScenario enum and extend UniversalChainModule to support chain, register, named, override, async scenarios
2025-08-06 17:01:55 +03:00
Sergey Penkovsky
b27a7df161
refactor(structure): move benchmarks, scenarios, adapters, utils to dedicated folders; update imports/project layout
2025-08-06 16:21:31 +03:00
Sergey Penkovsky
553dbb6539
refactor(benchmarks): introduce DIAdapter abstraction, migrate all scenarios to use DIAdapter
2025-08-06 14:44:12 +03:00
Sergey Penkovsky
18905a068d
docs(benchmarks): document memory_diff_kb, delta_peak_kb, peak_rss_kb in README files (EN+RU)
2025-08-06 14:07:44 +03:00
Sergey Penkovsky
6928daa50e
docs(benchmarks): update README files with stability options, repeat/warmup params, stat fields, and usage examples
2025-08-06 13:48:51 +03:00
Sergey Penkovsky
7f488f873e
docs(benchmarks): update README files with new CLI, matrix run, output formats, and usage instructions (EN+RU)
2025-08-06 13:35:39 +03:00
Sergey Penkovsky
926bbf15f4
refactor(benchmarks): unify benchmark structure, enable CLI parameterization, run matrix, add CSV/JSON/pretty output
...
- All benchmarks now use a unified base mixin for setup/teardown (BenchmarkWithScope).
- Added args package support: CLI flags for choosing benchmarks, chain counts, nesting depths, output format.
- Support for running benchmarks in matrix mode (multiple parameter sets).
- Machine-readable output: csv, json, pretty-table.
- Loop and naming lint fixes, unused imports removed.
2025-08-06 13:30:30 +03:00
yarashevich_kv
a5ef0dc437
impr: BENCHMARK - complex benchmark improvements.
2025-08-06 09:41:17 +03:00
Sergey Penkovsky
05cfca5977
docs(perf): clarify Map-based resolver optimization applies since v3.0.0 in all docs
2025-08-06 08:29:00 +03:00
Sergey Penkovsky
52a55219ab
docs: update EN/RU quick start and tutorial with Fast Map-based lookup section; clarify performance benefit in README
2025-08-05 19:41:24 +03:00
Sergey Penkovsky
ffff33c744
perf(scope): speed up dependency lookup with Map-based binding resolver index
...
Optimize resolve()/tryResolve() to use O(1) Map-based lookup by type and name instead of iterating through all modules and bindings. Behavior of factory, singleton, instance, and named bindings is preserved.
2025-08-05 17:20:35 +03:00
Sergey Penkovsky
a4573ce8ef
Add package topics to all pubspec.yaml files
2025-08-05 06:46:26 +03:00
Sergey Penkovsky
62868477fb
chore(release): publish packages
...
- cherrypick@3.0.0-dev.2
- cherrypick_flutter@1.1.3-dev.2
cherrypick_flutter-v1.1.3-dev.2
cherrypick-v3.0.0-dev.2
2025-08-04 08:54:37 +03:00
Sergey Penkovsky
a889cf0d40
Resolved all Dart analyzer warnings across multiple files
2025-08-01 11:20:23 +03:00
Sergey Penkovsky
123ed6ce02
Merge pull request #13 from pese-git/impr/binding_resolver
...
Refactored Binding by extracting BindingResolver to improve code structure and simplify the Binding class.
2025-08-01 11:01:30 +03:00
Sergey Penkovsky
7cc0743d94
Update benchmark results in README.ru.md with latest timings (RU version)
2025-08-01 08:48:27 +03:00
Sergey Penkovsky
63dae76ea9
Update benchmark results in README.md with latest timings
2025-08-01 08:47:55 +03:00
Sergey Penkovsky
a74c34876d
feat(binding): add deprecated proxy async methods for backward compatibility and highlight transition to modern API
2025-08-01 08:44:31 +03:00
yarashevich_kv
9f0a8a84aa
impr: fix after rebase.
2025-08-01 08:44:31 +03:00
yarashevich_kv
2cba7f2675
impr: add binding resolver class.
2025-08-01 08:44:31 +03:00
Sergey Penkovsky
1682ed9c08
Update benchmarks, lock files, and related documentation
2025-08-01 08:40:10 +03:00
Sergey Penkovsky
882ee92000
Update benchmark results in README.md with fresh timings
2025-08-01 08:39:12 +03:00
Sergey Penkovsky
9a3576f76d
chore(release): publish packages
...
- cherrypick@3.0.0-dev.1
- cherrypick_flutter@1.1.3-dev.1
2025-08-01 08:31:50 +03:00
Sergey Penkovsky
f7cc86ea66
docs: add quick guide for circular dependency detection to README
2025-08-01 08:31:50 +03:00
Sergey Penkovsky
1c8e38b0c9
chore(release): publish packages
...
- cherrypick@3.0.0-dev.0
- cherrypick_flutter@1.1.3-dev.0
2025-08-01 08:31:50 +03:00
Sergey Penkovsky
d4af82ba01
Remove dead code: _createDependencyKey (no longer used, cycle detection not affected)
2025-08-01 08:31:50 +03:00
Sergey Penkovsky
5630efccfe
feat: enable CherryPick cycle detection in debug mode and use safe root scope
2025-08-01 08:31:50 +03:00
Sergey Penkovsky
d63d52b817
feat: implement comprehensive circular dependency detection system
...
- Add two-level circular dependency detection (local and global)
- Implement CycleDetector for local scope cycle detection
- Implement GlobalCycleDetector for cross-scope cycle detection
- Add CircularDependencyException with detailed dependency chain info
- Integrate cycle detection into Scope class with unique scope IDs
- Extend CherryPick helper with cycle detection management API
- Add safe scope creation methods with automatic detection
- Support both synchronous and asynchronous dependency resolution
- Include comprehensive test coverage (72+ tests)
- Add bilingual documentation (English and Russian)
- Provide usage examples and architectural best practices
- Add performance recommendations and debug tools
BREAKING CHANGE: Scope constructor now generates unique IDs for global detection
fix: remove tmp files
update examples
update examples
2025-08-01 08:31:50 +03:00
Sergey Penkovsky
724dc9b3b5
Update lock files for dependency consistency
2025-08-01 08:30:53 +03:00
Sergey Penkovsky
6bdb9472b5
Update melos.yaml: add benchmark_cherrypick to managed packages
2025-08-01 08:30:12 +03:00
Sergey Penkovsky
23683119c2
Add complex DI benchmarks, main runner, and English README with summarized results for cherrypick core
2025-08-01 08:26:33 +03:00
Sergey Penkovsky
2c1f9d5969
doc: update manual
2025-07-29 08:10:08 +03:00
Sergey Penkovsky
e609c44f90
fix: update deps
2025-07-28 12:53:47 +03:00
Sergey Penkovsky
eb8cc1f566
update gitignore
2025-07-28 12:53:27 +03:00
Sergey Penkovsky
8fcb61ef3e
chore(release): publish packages
...
- cherrypick@2.2.0
- cherrypick_annotations@1.1.0
- cherrypick_flutter@1.1.2
- cherrypick_generator@1.1.0
cherrypick_generator-v1.1.0
cherrypick-v2.2.0
cherrypick_annotations-v1.1.0
cherrypick_flutter-v1.1.2
2025-07-28 12:34:54 +03:00
Sergey Penkovsky
69e166644a
fix(tests): update expected outputs in generator tests to match new formatting
2025-07-25 12:44:25 +03:00
Sergey Penkovsky
feb7258302
chore(generator): improve annotation validation, unify async type handling, and refactor BindSpec creation
...
- Enhance annotation validation in DI code generation.
- Move from manual Future<T> extraction to unified type parsing.
- Refactor BindSpec creation logic to provide better error messages and type consistency.
- Add missing source files for exceptions, annotation validation, and type parsing.
BREAKING CHANGE:
Invalid annotation combinations now produce custom generator errors. Async detection is now handled via unified type parser.
2025-07-25 11:58:56 +03:00
Sergey Penkovsky
c722ad0c07
docs: update full Russian tutorial
...
- Updated doc/full_tutorial_ru.md with improvements and clarifications
2025-06-21 15:45:34 +03:00
Sergey Penkovsky
8468eff5f7
docs: add full English tutorial for CherryPick DI
...
- Added doc/full_tutorial_en.md: complete translation and detailed guide for CherryPick DI usage in Dart/Flutter projects
2025-06-21 15:31:52 +03:00
Sergey Penkovsky
24bb47f741
docs: add detailed Russian full tutorial
...
- Added doc/full_tutorial_ru.md with comprehensive usage and explanation of CherryPick DI
2025-06-21 15:20:30 +03:00
Sergey Penkovsky
b5f6fff8d1
Merge pull request #11 from pese-git/annotations
...
Annotations
2025-06-19 08:28:10 +03:00
Sergey Penkovsky
e7f20d8f63
docs: move and update quick start guides to ./doc directory
...
- Перемещены и обновлены quick_start_en.md и quick_start_ru.md
- Файлы удалены из cherrypick/doc, теперь находятся в корне doc/
- Описаны актуальные примеры и улучшена структура
2025-06-17 17:22:30 +03:00