Skip to content

Commit b1220c3

Browse files
refactor: mix generator clean up and mix semantic changes (#569)
* wip * clean up * wip * wip * wip * wip * Renamed annotations * improvements * wip * wip * wip * clean up * feat: Add support for resolving lists with DTO generic types * comments * More comments * wip * wip * wip * Updates to Remix * clean up * fixes * Fixes * adjustments * wip * enum utils * generator fixxes * wip * Clean up * Improvements * fixes * Old generated files * clean up * comment fixes * clean up * fixes * Code gen fixes * Typing fixes * wip * clean up * Fixes * Improved defaults * clean up * More clean up * Remix code gen * Implemented tokens * Generation * Space fixes * feat: Rename Dto to Mix classes (#570) * add code snippet * rename StyleProperty to Mixable * mixable class * rename AnimatedDataDto to MixAnimatedData * Revert "mixable class" This reverts commit d31e8b2. * rename AnimatedDataMix * Renaming Dto to Mix (Border, BorderRadios, ShapeBorder, Constraints, Decoration, Shadow, EdgeInsets) * rename edgeInsets * rename Color * rename gap * renaming gradient * rename WidgetModifiersDataDto to WidgetModifiersDataMix * rename TextHeightBehaviorDto to TextHeightBehaviorMix * rename TextStyle * tryMerge * renaming AnimatedDataDto to AnimatedDataMix * Contraints * renaming TextDirectiveDto to TextDirectiveMix * regenerate remix classes * Revert "feat: Rename Dto to Mix classes (#570)" This reverts commit e0aa77a. * Refactor/mixable (#571) * fix remix generation * rename StyleProperty to mixable * adjust documentation * create the genericUtility * doc * remove unused code * Update scalar_util.g.dart * fix pipeline * remove parameter from fromAnnotation * remove unused variable * reorder method * remove duplicated variable * remove unnecessary code * fix dcm warnings --------- Co-authored-by: Lucas Oliveira <[email protected]>
1 parent 0845c3b commit b1220c3

File tree

266 files changed

+10155
-4685
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

266 files changed

+10155
-4685
lines changed

.fvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"flutter": "stable",
2+
"flutter": "3.19.0",
33
"flavors": {
44
"prod": "stable",
55
"mincompat": "3.19.0"

.github/actions/test/action.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ runs:
5151
run: melos run brb
5252

5353
- name: Run Test
54-
run: melos run test
54+
run: |
55+
melos run test:flutter
56+
melos run test:dart
5557
shell: bash
5658

5759
- name: Install DCM

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,4 @@ pubspec.lock
102102
packages/remix/context.md
103103
packages/mix/.cody/ignore
104104

105+
.cursor

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"source.fixAll": "explicit",
55
"source.dcm.fixAll": "explicit"
66
},
7-
"dart.flutterSdkPath": ".fvm/versions/stable",
7+
"dart.flutterSdkPath": ".fvm/versions/3.19.0",
88
"dart.lineLength": 80,
99
"search.exclude": {
1010
"**/.fvm/versions": true

example_package/build.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
targets:
2+
$default:
3+
builders:
4+
# Enable the consolidated mix_generator builder
5+
mix_generator|mix:
6+
enabled: true
7+
generate_for:
8+
include:
9+
- lib/**/*.dart
10+
exclude:
11+
- lib/**/*.g.dart
12+
- test/**
13+
- example/**
14+
15+
# Disable individual builders since we're using the consolidated one
16+
mix_generator|spec:
17+
enabled: false
18+
mix_generator|property:
19+
enabled: false
20+
mix_generator|utility:
21+
enabled: false

melos.yaml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ command:
2121
hooks:
2222
pre: melos run gen:build
2323

24+
categories:
25+
flutter_projects:
26+
- packages/mix
27+
- packages/remix
28+
- packages/mix_lint
29+
- packages/mix_lint_test
30+
- packages/annotations
31+
dart_projects:
32+
- packages/mix_generator
33+
2434
scripts:
2535
# ANALYSIS
2636
analyze:
@@ -71,14 +81,20 @@ scripts:
7181
packageFilters:
7282
dependsOn: "build_runner"
7383

74-
test:
75-
run: melos exec -- flutter test
84+
test:flutter:
85+
run: melos exec --category=flutter_projects -- flutter test
7686
description: Run flutter test
7787
packageFilters:
7888
dirExists: test
7989

90+
test:dart:
91+
run: melos exec --category=dart_projects -- dart test
92+
description: Run dart test
93+
packageFilters:
94+
dirExists: test
95+
8096
test:coverage:
81-
run: melos exec -- flutter test --coverage
97+
run: melos exec --category=flutter_projects -- flutter test --coverage
8298
description: Run flutter test with coverage
8399
packageFilters:
84100
dirExists: test

packages/mix/build.yaml

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
11
targets:
22
$default:
33
builders:
4-
mix_generator|spec:
4+
mix_generator:
5+
enabled: true
56
generate_for:
6-
- lib/**/*_spec.dart
7-
- lib/**/*_modifier.dart
8-
mix_generator|dto:
9-
generate_for:
10-
- lib/**/*_dto.dart
11-
12-
mix_generator|enum_utility:
13-
generate_for:
14-
- lib/**/*_util.dart
15-
mix_generator|class_utility:
16-
generate_for:
17-
- lib/**/*_util.dart
7+
- lib/**/*.dart
8+
options:
9+
debug: false

packages/mix/lib/mix.dart

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
/// /\\\\ /\\\\ /\\\\\\\\\\\ /\\\ /\\\
2-
/// \/\\\\\\ /\\\\\\ \/////\\\/// \///\\\ /\\\/
3-
/// \/\\\//\\\ /\\\//\\\ \/\\\ \///\\\\\\/
4-
/// \/\\\\///\\\/\\\/ \/\\\ \/\\\ \//\\\\
5-
/// \/\\\ \///\\\/ \/\\\ \/\\\ \/\\\\
6-
/// \/\\\ \/// \/\\\ \/\\\ /\\\\\\
7-
/// \/\\\ \/\\\ \/\\\ /\\\////\\\
8-
/// \/\\\ \/\\\ /\\\\\\\\\\\ /\\\/ \///\\\
9-
/// \/// \/// \/////////// \/// \///
1+
/// /\\\\ /\\\\ /\\\\\\\\\\\ /\\\ /\\\
2+
/// \/\\\\\\ /\\\\\\ \/////\\\/// \///\\\ /\\\/
3+
/// \/\\\//\\\ /\\\//\\\ \/\\\ \///\\\\\\/
4+
/// \/\\\\///\\\/\\\/ \/\\\ \/\\\ \//\\\\
5+
/// \/\\\ \///\\\/ \/\\\ \/\\\ \/\\\\
6+
/// \/\\\ \/// \/\\\ \/\\\ /\\\\\\
7+
/// \/\\\ \/\\\ \/\\\ /\\\////\\\
8+
/// \/\\\ \/\\\ /\\\\\\\\\\\ /\\\/ \///\\\
9+
/// \/// \/// \/////////// \/// \///
10+
///
11+
/// https://fluttermix.com
1012
///
11-
/// https://fluttermix.com
12-
///
1313
/// /\///////////////////////////////////////////////////\
1414
/// \/\ ***** GENERATED CODE ***** \ \
1515
/// \/\ ** DO NOT EDIT THIS FILE ** \ \
@@ -37,7 +37,7 @@ export 'src/attributes/decoration/decoration_dto.dart';
3737
export 'src/attributes/decoration/image/decoration_image_dto.dart';
3838
export 'src/attributes/enum/enum_util.dart';
3939
export 'src/attributes/gap/gap_util.dart';
40-
export 'src/attributes/gap/spacing_side_dto.dart';
40+
export 'src/attributes/gap/space_dto.dart';
4141
export 'src/attributes/gradient/gradient_dto.dart';
4242
export 'src/attributes/modifiers/widget_modifiers_data.dart';
4343
export 'src/attributes/modifiers/widget_modifiers_data_dto.dart';
@@ -54,12 +54,12 @@ export 'src/attributes/strut_style/strut_style_dto.dart';
5454
export 'src/attributes/text_height_behavior/text_height_behavior_dto.dart';
5555
export 'src/attributes/text_style/text_style_dto.dart';
5656
export 'src/attributes/text_style/text_style_util.dart';
57-
/// CORE
58-
export 'src/core/attribute.dart';
5957
export 'src/core/attributes_map.dart';
6058
export 'src/core/deprecation_notices.dart';
6159
export 'src/core/directive.dart';
62-
export 'src/core/dto.dart';
60+
61+
/// CORE
62+
export 'src/core/element.dart';
6363
export 'src/core/factory/mix_data.dart';
6464
export 'src/core/factory/mix_provider.dart';
6565
export 'src/core/factory/style_mix.dart';
@@ -71,6 +71,7 @@ export 'src/core/styled_widget.dart';
7171
export 'src/core/utility.dart';
7272
export 'src/core/variant.dart';
7373
export 'src/core/widget_state/widget_state_controller.dart';
74+
7475
/// MODIFIERS
7576
export 'src/modifiers/align_widget_modifier.dart';
7677
export 'src/modifiers/aspect_ratio_widget_modifier.dart';
@@ -87,6 +88,7 @@ export 'src/modifiers/sized_box_widget_modifier.dart';
8788
export 'src/modifiers/transform_widget_modifier.dart';
8889
export 'src/modifiers/visibility_widget_modifier.dart';
8990
export 'src/modifiers/widget_modifiers_util.dart';
91+
9092
/// SPECS
9193
export 'src/specs/box/box_spec.dart';
9294
export 'src/specs/box/box_widget.dart';
@@ -104,6 +106,7 @@ export 'src/specs/stack/stack_widget.dart';
104106
export 'src/specs/text/text_directives_util.dart';
105107
export 'src/specs/text/text_spec.dart';
106108
export 'src/specs/text/text_widget.dart';
109+
107110
/// THEME
108111
export 'src/theme/material/material_theme.dart';
109112
export 'src/theme/material/material_tokens.dart';
@@ -116,6 +119,7 @@ export 'src/theme/tokens/space_token.dart';
116119
export 'src/theme/tokens/text_style_token.dart';
117120
export 'src/theme/tokens/token_resolver.dart';
118121
export 'src/theme/tokens/token_util.dart';
122+
119123
/// VARIANTS
120124
export 'src/variants/context_variant.dart';
121125
export 'src/variants/context_variant_util/on_breakpoint_util.dart';
@@ -127,5 +131,6 @@ export 'src/variants/context_variant_util/on_platform_util.dart';
127131
export 'src/variants/context_variant_util/on_util.dart';
128132
export 'src/variants/variant_attribute.dart';
129133
export 'src/variants/widget_state_variant.dart';
134+
130135
/// WIDGETS
131136
export 'src/widgets/pressable_widget.dart';

packages/mix/lib/src/attributes/animated/animated_data_dto.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import 'package:flutter/animation.dart';
22

3-
import '../../core/dto.dart';
3+
import '../../core/element.dart';
44
import '../../core/factory/mix_data.dart';
55
import '../../internal/constants.dart';
66
import 'animated_data.dart';
77

8-
class AnimatedDataDto extends Dto<AnimatedData> {
8+
class AnimatedDataDto extends Mixable<AnimatedData> {
99
final Duration? duration;
1010
final Curve? curve;
1111
final VoidCallback? onEnd;
@@ -34,9 +34,6 @@ class AnimatedDataDto extends Dto<AnimatedData> {
3434
);
3535
}
3636

37-
@override
38-
AnimatedData get defaultValue => const AnimatedData.withDefaults();
39-
4037
@override
4138
get props => [duration, curve];
4239
}

packages/mix/lib/src/attributes/animated/animated_util.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'package:flutter/widgets.dart';
22

3-
import '../../core/attribute.dart';
4-
import '../../core/dto.dart';
3+
import '../../core/element.dart';
54
import '../scalars/scalar_util.dart';
65
import 'animated_data.dart';
76
import 'animated_data_dto.dart';

0 commit comments

Comments
 (0)