Compare commits
No commits in common. "07a9b47b36b34f1a278eb1c4bfd43ebcbc947515" and "340bc71e3b3a086170ceb1518f3f75959171395e" have entirely different histories.
07a9b47b36
...
340bc71e3b
22
CHANGELOG.md
22
CHANGELOG.md
@ -3,28 +3,6 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## 2023-02-07
|
||||
|
||||
### Changes
|
||||
|
||||
---
|
||||
|
||||
Packages with breaking changes:
|
||||
|
||||
- There are no breaking changes in this release.
|
||||
|
||||
Packages with other changes:
|
||||
|
||||
- [`wyatt_analysis` - `v2.4.0`](#wyatt_analysis---v240)
|
||||
|
||||
---
|
||||
|
||||
#### `wyatt_analysis` - `v2.4.0`
|
||||
|
||||
- **FEAT**: add new lint rules.
|
||||
- **DOCS**: add instructions to create a new version (closes #104).
|
||||
|
||||
|
||||
## 2022-12-13
|
||||
|
||||
### Changes
|
||||
|
@ -1,8 +1,3 @@
|
||||
## 2.4.0
|
||||
|
||||
- **FEAT**: add new lint rules.
|
||||
- **DOCS**: add instructions to create a new version (closes #104).
|
||||
|
||||
## 2.3.0
|
||||
|
||||
- **REFACTOR**: follow melos versioning.
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
* Copyright (C) 2023 WYATT GROUP
|
||||
* Copyright (C) 2022 WYATT GROUP
|
||||
* Please see the AUTHORS file for details.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
@ -7,7 +7,7 @@
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
@ -20,21 +20,21 @@
|
||||
|
||||

|
||||
|
||||
This package provides lint rules for Dart and Flutter which are used at [Wyatt](https://wyattapp.io) and [Wyatt Studio](https://wyatt-studio.fr). For more information, see the complete list of options in **lib/analysis_options.2.4.0.yaml**.
|
||||
This package provides lint rules for Dart and Flutter which are used at [Wyatt](https://wyattapp.io) and [Wyatt Studio](https://wyatt-studio.fr). For more information, see the complete list of options in **lib/analysis_options.2.3.0.yaml**.
|
||||
|
||||
**Note**: This package was heavily inspired by [pedantic](https://github.com/dart-lang/pedantic), [Very Good Analysis](https://github.com/VeryGoodOpenSource/very_good_analysis) and the official [flutter_lints](https://pub.dev/packages/flutter_lints).
|
||||
|
||||
## Usage
|
||||
|
||||
To use the lints, add a dependency in your `pubspec.yaml` :
|
||||
To use the lints, add a dependency in your `pubspec.yaml`:
|
||||
|
||||
```yaml
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/
|
||||
version: 2.4.0
|
||||
version: 2.3.0
|
||||
```
|
||||
|
||||
Then, add an include in `analysis_options.yaml` :
|
||||
Then, add an include in `analysis_options.yaml`:
|
||||
|
||||
```yaml
|
||||
include: package:wyatt_analysis/analysis_options.yaml
|
||||
@ -49,13 +49,13 @@ include: package:wyatt_analysis/analysis_options.flutter.yaml
|
||||
If you wish to restrict the lint version, specify a version of `analysis_options.yaml` instead:
|
||||
|
||||
```yaml
|
||||
include: package:wyatt_analysis/analysis_options.flutter.2.4.0.yaml
|
||||
include: package:wyatt_analysis/analysis_options.flutter.2.3.0.yaml
|
||||
```
|
||||
|
||||
If you just want **Dart** version:
|
||||
|
||||
```yaml
|
||||
include: package:wyatt_analysis/analysis_options.2.4.0.yaml
|
||||
include: package:wyatt_analysis/analysis_options.2.3.0.yaml
|
||||
```
|
||||
|
||||
## Suppressing Lints
|
||||
@ -87,7 +87,7 @@ class B {}
|
||||
|
||||
### Project Level
|
||||
|
||||
To surpress a specific lint rule for an entire project, modify `analysis_options.yaml` :
|
||||
To surpress a specific lint rule for an entire project, modify `analysis_options.yaml`:
|
||||
|
||||
```yaml
|
||||
include: package:wyatt_analysis/analysis_options.yaml
|
||||
@ -104,16 +104,6 @@ To indicate your project is using `wyatt_analysis` → [![style: wyatt analysis]
|
||||
[](https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_analysis)
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
When you want to create a new version of the plugin. Before any modification, execute the following command to create new files:
|
||||
|
||||
```sh
|
||||
./new_version.sh <previous_version> <new_version>
|
||||
```
|
||||
> Where `<previous_version>` is 2.4.0
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
You can explore every lint rules [here](https://dart-lang.github.io/linter/lints/).
|
||||
You can explore every lint rules [here](https://dart-lang.github.io/linter/lints/).
|
@ -1,217 +0,0 @@
|
||||
# Copyright (C) 2023 WYATT GROUP
|
||||
# Please see the AUTHORS file for details.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
analyzer:
|
||||
language:
|
||||
strict-casts: true
|
||||
strict-inference: true
|
||||
strict-raw-types: true
|
||||
|
||||
errors:
|
||||
todo: info
|
||||
close_sinks: ignore
|
||||
missing_required_param: error
|
||||
missing_return: error
|
||||
|
||||
exclude:
|
||||
- lib/l10n/**
|
||||
- lib/generated/**
|
||||
- lib/gen/**
|
||||
- lib/generated_plugin_registrant.dart
|
||||
- test/.test_coverage.dart
|
||||
- '**/*.g.dart'
|
||||
- '**/*.freezed.dart'
|
||||
|
||||
linter:
|
||||
rules:
|
||||
- always_declare_return_types
|
||||
- always_put_control_body_on_new_line
|
||||
- always_put_required_named_parameters_first
|
||||
- always_require_non_null_named_parameters
|
||||
- always_use_package_imports
|
||||
- annotate_overrides
|
||||
- avoid_bool_literals_in_conditional_expressions
|
||||
- avoid_catching_errors
|
||||
- avoid_double_and_int_checks
|
||||
- avoid_dynamic_calls
|
||||
- avoid_empty_else
|
||||
- avoid_equals_and_hash_code_on_mutable_classes
|
||||
- avoid_escaping_inner_quotes
|
||||
- avoid_field_initializers_in_const_classes
|
||||
- avoid_final_parameters
|
||||
- avoid_function_literals_in_foreach_calls
|
||||
- avoid_init_to_null
|
||||
- avoid_js_rounded_ints
|
||||
- avoid_multiple_declarations_per_line
|
||||
- avoid_null_checks_in_equality_operators
|
||||
- avoid_positional_boolean_parameters
|
||||
- avoid_private_typedef_functions
|
||||
- avoid_redundant_argument_values
|
||||
- avoid_relative_lib_imports
|
||||
- avoid_renaming_method_parameters
|
||||
- avoid_return_types_on_setters
|
||||
- avoid_returning_null
|
||||
- avoid_returning_null_for_future
|
||||
- avoid_returning_null_for_void
|
||||
- avoid_returning_this
|
||||
- avoid_setters_without_getters
|
||||
- avoid_shadowing_type_parameters
|
||||
- avoid_single_cascade_in_expression_statements
|
||||
- avoid_slow_async_io
|
||||
- avoid_type_to_string
|
||||
- avoid_types_as_parameter_names
|
||||
- avoid_types_on_closure_parameters
|
||||
- avoid_unused_constructor_parameters
|
||||
- avoid_void_async
|
||||
- await_only_futures
|
||||
- camel_case_extensions
|
||||
- camel_case_types
|
||||
- cancel_subscriptions
|
||||
- cascade_invocations
|
||||
- cast_nullable_to_non_nullable
|
||||
- collection_methods_unrelated_type
|
||||
- combinators_ordering
|
||||
- comment_references
|
||||
- conditional_uri_does_not_exist
|
||||
- constant_identifier_names
|
||||
- control_flow_in_finally
|
||||
- curly_braces_in_flow_control_structures
|
||||
- depend_on_referenced_packages
|
||||
- deprecated_consistency
|
||||
- directives_ordering
|
||||
- empty_catches
|
||||
- empty_constructor_bodies
|
||||
- empty_statements
|
||||
- eol_at_end_of_file
|
||||
- exhaustive_cases
|
||||
- file_names
|
||||
- flutter_style_todos
|
||||
- hash_and_equals
|
||||
- implementation_imports
|
||||
- implicit_call_tearoffs
|
||||
- iterable_contains_unrelated_type
|
||||
- join_return_with_assignment
|
||||
- leading_newlines_in_multiline_strings
|
||||
- library_names
|
||||
- library_prefixes
|
||||
- library_private_types_in_public_api
|
||||
- lines_longer_than_80_chars
|
||||
- list_remove_unrelated_type
|
||||
- literal_only_boolean_expressions
|
||||
- missing_whitespace_between_adjacent_strings
|
||||
- no_adjacent_strings_in_list
|
||||
- no_default_cases
|
||||
- no_duplicate_case_values
|
||||
- no_leading_underscores_for_library_prefixes
|
||||
- no_leading_underscores_for_local_identifiers
|
||||
- no_runtimeType_toString
|
||||
- non_constant_identifier_names
|
||||
- noop_primitive_operations
|
||||
- null_check_on_nullable_type_parameter
|
||||
- null_closures
|
||||
- one_member_abstracts
|
||||
- only_throw_errors
|
||||
- overridden_fields
|
||||
- package_api_docs
|
||||
- package_names
|
||||
- package_prefixed_library_names
|
||||
- parameter_assignments
|
||||
- prefer_adjacent_string_concatenation
|
||||
- prefer_asserts_in_initializer_lists
|
||||
- prefer_asserts_with_message
|
||||
- prefer_collection_literals
|
||||
- prefer_conditional_assignment
|
||||
- prefer_const_constructors
|
||||
- prefer_const_constructors_in_immutables
|
||||
- prefer_const_declarations
|
||||
- prefer_const_literals_to_create_immutables
|
||||
- prefer_constructors_over_static_methods
|
||||
- prefer_contains
|
||||
- prefer_equal_for_default_values
|
||||
- prefer_expression_function_bodies
|
||||
- prefer_final_fields
|
||||
- prefer_final_in_for_each
|
||||
- prefer_final_locals
|
||||
- prefer_for_elements_to_map_fromIterable
|
||||
- prefer_function_declarations_over_variables
|
||||
- prefer_generic_function_type_aliases
|
||||
- prefer_if_elements_to_conditional_expressions
|
||||
- prefer_if_null_operators
|
||||
- prefer_initializing_formals
|
||||
- prefer_inlined_adds
|
||||
- prefer_int_literals
|
||||
- prefer_interpolation_to_compose_strings
|
||||
- prefer_is_empty
|
||||
- prefer_is_not_empty
|
||||
- prefer_is_not_operator
|
||||
- prefer_iterable_whereType
|
||||
- prefer_mixin
|
||||
- prefer_null_aware_method_calls
|
||||
- prefer_null_aware_operators
|
||||
- prefer_single_quotes
|
||||
- prefer_spread_collections
|
||||
- prefer_typing_uninitialized_variables
|
||||
- prefer_void_to_null
|
||||
- provide_deprecation_message
|
||||
- recursive_getters
|
||||
- require_trailing_commas
|
||||
- slash_for_doc_comments
|
||||
- sort_constructors_first
|
||||
- sort_unnamed_constructors_first
|
||||
- test_types_in_equals
|
||||
- throw_in_finally
|
||||
- tighten_type_of_initializing_formals
|
||||
- type_annotate_public_apis
|
||||
- type_init_formals
|
||||
- unawaited_futures
|
||||
- unnecessary_await_in_return
|
||||
- unnecessary_brace_in_string_interps
|
||||
- unnecessary_const
|
||||
- unnecessary_constructor_name
|
||||
- unnecessary_getters_setters
|
||||
- unnecessary_lambdas
|
||||
- unnecessary_late
|
||||
- unnecessary_new
|
||||
- unnecessary_null_aware_assignments
|
||||
- unnecessary_null_checks
|
||||
- unnecessary_null_in_if_null_operators
|
||||
- unnecessary_nullable_for_final_variable_declarations
|
||||
- unnecessary_overrides
|
||||
- unnecessary_parenthesis
|
||||
- unnecessary_raw_strings
|
||||
- unnecessary_statements
|
||||
- unnecessary_string_escapes
|
||||
- unnecessary_string_interpolations
|
||||
- unnecessary_this
|
||||
- unnecessary_to_list_in_spreads
|
||||
- unrelated_type_equality_checks
|
||||
- unsafe_html
|
||||
- use_enums
|
||||
- use_function_type_syntax_for_parameters
|
||||
- use_if_null_to_convert_nulls_to_bools
|
||||
- use_is_even_rather_than_modulo
|
||||
- use_late_for_private_fields_and_variables
|
||||
- use_named_constants
|
||||
- use_raw_strings
|
||||
- use_rethrow_when_possible
|
||||
- use_setters_to_change_properties
|
||||
- use_string_buffers
|
||||
- use_string_in_part_of_directives
|
||||
- use_super_parameters
|
||||
- use_test_throws_matchers
|
||||
- use_to_and_as_if_applicable
|
||||
- valid_regexps
|
||||
- void_checks
|
@ -1,32 +0,0 @@
|
||||
# Copyright (C) 2023 WYATT GROUP
|
||||
# Please see the AUTHORS file for details.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
include: package:wyatt_analysis/analysis_options.2.4.0.yaml
|
||||
|
||||
linter:
|
||||
rules:
|
||||
- avoid_print
|
||||
- avoid_unnecessary_containers
|
||||
- avoid_web_libraries_in_flutter
|
||||
- no_logic_in_create_state
|
||||
- sized_box_for_whitespace
|
||||
- sized_box_shrink_expand
|
||||
- sort_child_properties_last
|
||||
- use_build_context_synchronously
|
||||
- use_colored_box
|
||||
- use_decorated_box
|
||||
- use_full_hex_values_for_flutter_colors
|
||||
- use_key_in_widget_constructors
|
@ -1,4 +1,5 @@
|
||||
# Copyright (C) 2023 WYATT GROUP
|
||||
|
||||
# Copyright (C) 2022 WYATT GROUP
|
||||
# Please see the AUTHORS file for details.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@ -14,5 +15,5 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
include: package:wyatt_analysis/analysis_options.flutter.2.4.0.yaml
|
||||
include: package:wyatt_analysis/analysis_options.flutter.2.3.0.yaml
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
# Copyright (C) 2023 WYATT GROUP
|
||||
|
||||
# Copyright (C) 2022 WYATT GROUP
|
||||
# Please see the AUTHORS file for details.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@ -14,5 +15,5 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
include: package:wyatt_analysis/analysis_options.2.4.0.yaml
|
||||
include: package:wyatt_analysis/analysis_options.2.3.0.yaml
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2023 WYATT GROUP
|
||||
// Copyright (C) 2022 WYATT GROUP
|
||||
// Please see the AUTHORS file for details.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
@ -18,4 +18,4 @@
|
||||
/// used internally at [Wyatt Studio](https://wyatt-studio.fr).
|
||||
library wyatt_analysis;
|
||||
|
||||
const String wyattAnalysisVersion = '2.4.0';
|
||||
const String wyattAnalysisVersion = '2.3.0';
|
||||
|
@ -1,23 +1,7 @@
|
||||
# Copyright (C) 2023 WYATT GROUP
|
||||
# Please see the AUTHORS file for details.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
name: wyatt_analysis
|
||||
description: Lint rules for Dart and Flutter used internally at Wyatt Studio.
|
||||
repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_analysis
|
||||
version: 2.4.0
|
||||
version: 2.3.0
|
||||
|
||||
publish_to: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
|
||||
|
@ -67,7 +67,7 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
|
@ -24,4 +24,4 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
@ -37,4 +37,4 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/
|
||||
version: 2.4.0
|
||||
version: 2.3.0
|
||||
|
@ -22,4 +22,4 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
@ -51,7 +51,7 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
|
@ -40,5 +40,5 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
@ -20,7 +20,7 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
||||
|
||||
# The following section is specific to Flutter.
|
||||
flutter:
|
||||
|
@ -13,7 +13,7 @@ dependencies:
|
||||
dev_dependencies:
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
||||
|
||||
# The following section is specific to Flutter.
|
||||
flutter:
|
||||
|
@ -25,4 +25,4 @@ dev_dependencies:
|
||||
path: "../"
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
||||
|
@ -22,4 +22,4 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
||||
|
@ -31,4 +31,4 @@ dev_dependencies:
|
||||
bloc_test: ^9.1.0
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/
|
||||
version: 2.4.0
|
||||
version: 2.3.0
|
||||
|
@ -30,4 +30,4 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
||||
|
@ -14,5 +14,5 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
@ -36,7 +36,7 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
@ -13,4 +13,4 @@ dev_dependencies:
|
||||
|
||||
wyatt_analysis:
|
||||
hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub
|
||||
version: ^2.4.0
|
||||
version: ^2.3.0
|
@ -14,4 +14,4 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
include: package:wyatt_analysis/analysis_options.flutter.yaml
|
||||
include: package:wyatt_analysis/analysis_options.flutter.experimental.yaml
|
||||
|
@ -27,7 +27,8 @@ class MyApp extends StatelessWidget {
|
||||
|
||||
// This widget is the root of your application.
|
||||
@override
|
||||
Widget build(BuildContext context) => ComponentTheme(
|
||||
Widget build(BuildContext context) {
|
||||
return ComponentTheme(
|
||||
componentThemeWidget: AppThemeComponent.components,
|
||||
child: MaterialApp(
|
||||
title: 'Wyatt Ui Components Example',
|
||||
@ -39,6 +40,7 @@ class MyApp extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class Home extends StatelessWidget {
|
||||
|
@ -51,7 +51,7 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
|
15
packages/wyatt_ui_components/example/test/widget_test.dart
Normal file
15
packages/wyatt_ui_components/example/test/widget_test.dart
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright (C) 2023 WYATT GROUP
|
||||
// Please see the AUTHORS file for details.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
@ -15,8 +15,8 @@
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/component.dart';
|
||||
|
||||
part 'app_bar_component.g.dart';
|
||||
@ -24,13 +24,13 @@ part 'app_bar_component.g.dart';
|
||||
@ComponentProxyExtension()
|
||||
abstract class AppBarComponent extends Component
|
||||
with CopyWithMixin<$AppBarComponentCWProxy> {
|
||||
final String? title;
|
||||
final Widget? leading;
|
||||
final List<Widget>? actions;
|
||||
const AppBarComponent({
|
||||
this.title,
|
||||
this.leading,
|
||||
this.actions,
|
||||
super.key,
|
||||
});
|
||||
final String? title;
|
||||
final Widget? leading;
|
||||
final List<Widget>? actions;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
// Copyright (C) 2023 WYATT GROUP
|
||||
// Please see the AUTHORS file for details.
|
||||
//
|
||||
@ -18,17 +17,18 @@ import 'package:wyatt_component_copy_with_extension/component_copy_with_extensio
|
||||
|
||||
import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/component.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
|
||||
part 'bottom_navigation_bar_component.g.dart';
|
||||
|
||||
@ComponentProxyExtension()
|
||||
abstract class BottomNavigationBarComponent extends Component
|
||||
with CopyWithMixin<$BottomNavigationBarComponentCWProxy> {
|
||||
final int currentIndex;
|
||||
final void Function(BuildContext, int)? onTap;
|
||||
const BottomNavigationBarComponent({
|
||||
this.onTap,
|
||||
this.currentIndex = 0,
|
||||
super.key,
|
||||
});
|
||||
final int currentIndex;
|
||||
final void Function(BuildContext, int)? onTap;
|
||||
}
|
||||
|
@ -1,60 +0,0 @@
|
||||
// Copyright (C) 2023 WYATT GROUP
|
||||
// Please see the AUTHORS file for details.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/component.dart';
|
||||
|
||||
abstract class CardComponent extends Component {
|
||||
const CardComponent({
|
||||
this.radius,
|
||||
this.padding,
|
||||
this.borderColors,
|
||||
this.backgroundColor,
|
||||
this.minSize,
|
||||
this.maxSize,
|
||||
this.shadow,
|
||||
this.isDarkModeEnabled,
|
||||
this.background,
|
||||
super.key,
|
||||
});
|
||||
|
||||
/// Card radius
|
||||
final double? radius;
|
||||
|
||||
/// Padding and gaps of this card
|
||||
final double? padding;
|
||||
|
||||
/// Border gradient color (from left to right)
|
||||
final List<Color>? borderColors;
|
||||
|
||||
/// Card background color
|
||||
final Color? backgroundColor;
|
||||
|
||||
/// Minimum size for this card
|
||||
final Size? minSize;
|
||||
|
||||
/// Maximum size for this card
|
||||
final Size? maxSize;
|
||||
|
||||
/// Drop shadow
|
||||
final BoxShadow? shadow;
|
||||
|
||||
/// Is this component in dark mode or not
|
||||
final bool? isDarkModeEnabled;
|
||||
|
||||
/// Background of the card
|
||||
final Widget? background;
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
// Copyright (C) 2023 WYATT GROUP
|
||||
// Please see the AUTHORS file for details.
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart';
|
||||
|
||||
part 'information_card_component.g.dart';
|
||||
|
||||
@ComponentProxyExtension()
|
||||
abstract class InformationCardComponent extends CardComponent
|
||||
with CopyWithMixin<$InformationCardComponentCWProxy> {
|
||||
const InformationCardComponent({
|
||||
this.icons,
|
||||
this.title,
|
||||
this.subtitle,
|
||||
this.body,
|
||||
this.axis = Axis.vertical,
|
||||
super.radius = 12,
|
||||
super.padding = 25,
|
||||
super.borderColors = const [Color(0xFFDDE0E3), Color(0xFFCACCD4)],
|
||||
super.backgroundColor = const Color(0xFFF6F6F6),
|
||||
super.minSize = const Size(330, 230),
|
||||
super.maxSize = const Size(330, 530),
|
||||
super.shadow = const BoxShadow(
|
||||
blurRadius: 30,
|
||||
offset: Offset(0, 5),
|
||||
color: Color.fromRGBO(0, 0, 0, 0.05),
|
||||
),
|
||||
super.isDarkModeEnabled = false,
|
||||
super.background,
|
||||
super.key,
|
||||
});
|
||||
|
||||
final Axis? axis;
|
||||
final List<Widget>? icons;
|
||||
final Widget? title;
|
||||
final Widget? subtitle;
|
||||
final Widget? body;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'information_card_component.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// ComponentProxyGenerator
|
||||
// **************************************************************************
|
||||
|
||||
abstract class $InformationCardComponentCWProxy {
|
||||
InformationCardComponent icons(List<Widget>? icons);
|
||||
InformationCardComponent title(Widget? title);
|
||||
InformationCardComponent subtitle(Widget? subtitle);
|
||||
InformationCardComponent body(Widget? body);
|
||||
InformationCardComponent axis(Axis? axis);
|
||||
InformationCardComponent radius(double? radius);
|
||||
InformationCardComponent padding(double? padding);
|
||||
InformationCardComponent borderColors(List<Color>? borderColors);
|
||||
InformationCardComponent backgroundColor(Color? backgroundColor);
|
||||
InformationCardComponent minSize(Size? minSize);
|
||||
InformationCardComponent maxSize(Size? maxSize);
|
||||
InformationCardComponent shadow(BoxShadow? shadow);
|
||||
InformationCardComponent isDarkModeEnabled(bool? isDarkModeEnabled);
|
||||
InformationCardComponent background(Widget? background);
|
||||
InformationCardComponent key(Key? key);
|
||||
InformationCardComponent call({
|
||||
List<Widget>? icons,
|
||||
Widget? title,
|
||||
Widget? subtitle,
|
||||
Widget? body,
|
||||
Axis? axis,
|
||||
double? radius,
|
||||
double? padding,
|
||||
List<Color>? borderColors,
|
||||
Color? backgroundColor,
|
||||
Size? minSize,
|
||||
Size? maxSize,
|
||||
BoxShadow? shadow,
|
||||
bool? isDarkModeEnabled,
|
||||
Widget? background,
|
||||
Key? key,
|
||||
});
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart';
|
||||
|
||||
part 'quote_card_component.g.dart';
|
||||
|
||||
@ComponentProxyExtension()
|
||||
abstract class QuoteCardComponent extends CardComponent
|
||||
with CopyWithMixin<$QuoteCardComponentCWProxy> {
|
||||
const QuoteCardComponent({
|
||||
required this.avatar,
|
||||
required this.name,
|
||||
required this.subtitle,
|
||||
required this.gradient,
|
||||
required this.quote,
|
||||
this.leftQuote,
|
||||
this.rightQuote,
|
||||
super.radius = 12,
|
||||
super.padding = 25,
|
||||
super.borderColors = const [Color(0xFFDDE0E3), Color(0xFFCACCD4)],
|
||||
super.backgroundColor = const Color(0xFFF6F6F6),
|
||||
super.minSize = const Size(330, 230),
|
||||
super.maxSize = const Size(330, 530),
|
||||
super.shadow = const BoxShadow(
|
||||
blurRadius: 30,
|
||||
offset: Offset(0, 5),
|
||||
color: Color.fromRGBO(0, 0, 0, 0.05),
|
||||
),
|
||||
super.isDarkModeEnabled = false,
|
||||
super.background,
|
||||
super.key,
|
||||
});
|
||||
|
||||
final Widget avatar;
|
||||
final Widget name;
|
||||
final Text subtitle;
|
||||
final Gradient gradient;
|
||||
final Widget quote;
|
||||
|
||||
final Widget? leftQuote;
|
||||
final Widget? rightQuote;
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'quote_card_component.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// ComponentProxyGenerator
|
||||
// **************************************************************************
|
||||
|
||||
abstract class $QuoteCardComponentCWProxy {
|
||||
QuoteCardComponent avatar(Widget? avatar);
|
||||
QuoteCardComponent name(Widget? name);
|
||||
QuoteCardComponent subtitle(Text? subtitle);
|
||||
QuoteCardComponent gradient(Gradient? gradient);
|
||||
QuoteCardComponent quote(Widget? quote);
|
||||
QuoteCardComponent leftQuote(Widget? leftQuote);
|
||||
QuoteCardComponent rightQuote(Widget? rightQuote);
|
||||
QuoteCardComponent radius(double? radius);
|
||||
QuoteCardComponent padding(double? padding);
|
||||
QuoteCardComponent borderColors(List<Color>? borderColors);
|
||||
QuoteCardComponent backgroundColor(Color? backgroundColor);
|
||||
QuoteCardComponent minSize(Size? minSize);
|
||||
QuoteCardComponent maxSize(Size? maxSize);
|
||||
QuoteCardComponent shadow(BoxShadow? shadow);
|
||||
QuoteCardComponent isDarkModeEnabled(bool? isDarkModeEnabled);
|
||||
QuoteCardComponent background(Widget? background);
|
||||
QuoteCardComponent key(Key? key);
|
||||
QuoteCardComponent call({
|
||||
Widget? avatar,
|
||||
Widget? name,
|
||||
Text? subtitle,
|
||||
Gradient? gradient,
|
||||
Widget? quote,
|
||||
Widget? leftQuote,
|
||||
Widget? rightQuote,
|
||||
double? radius,
|
||||
double? padding,
|
||||
List<Color>? borderColors,
|
||||
Color? backgroundColor,
|
||||
Size? minSize,
|
||||
Size? maxSize,
|
||||
BoxShadow? shadow,
|
||||
bool? isDarkModeEnabled,
|
||||
Widget? background,
|
||||
Key? key,
|
||||
});
|
||||
}
|
@ -16,6 +16,6 @@
|
||||
|
||||
export './app_bar_component.dart';
|
||||
export './bottom_navigation_bar_component.dart';
|
||||
export './component.dart';
|
||||
export './error_widget_component.dart';
|
||||
export './loading_widget_component.dart';
|
||||
export './component.dart';
|
||||
|
@ -14,16 +14,16 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/component.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
part 'error_widget_component.g.dart';
|
||||
|
||||
@ComponentProxyExtension()
|
||||
abstract class ErrorWidgetComponent extends Component
|
||||
with CopyWithMixin<$ErrorWidgetComponentCWProxy> {
|
||||
const ErrorWidgetComponent({required this.error, super.key});
|
||||
final String? error;
|
||||
const ErrorWidgetComponent({required this.error, super.key});
|
||||
}
|
||||
|
@ -15,15 +15,15 @@
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart';
|
||||
import 'package:wyatt_ui_components/src/domain/entities/component.dart';
|
||||
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
|
||||
|
||||
part 'loading_widget_component.g.dart';
|
||||
|
||||
@ComponentProxyExtension()
|
||||
abstract class LoadingWidgetComponent extends Component
|
||||
with CopyWithMixin<$LoadingWidgetComponentCWProxy> {
|
||||
const LoadingWidgetComponent({required this.color, super.key});
|
||||
final Color? color;
|
||||
const LoadingWidgetComponent({required this.color, super.key});
|
||||
}
|
||||
|
@ -18,14 +18,14 @@ import 'package:flutter/material.dart';
|
||||
import 'package:wyatt_ui_components/src/features/features.dart';
|
||||
|
||||
class ComponentTheme extends StatelessWidget {
|
||||
final Widget child;
|
||||
final ComponentThemeData componentThemeWidget;
|
||||
|
||||
const ComponentTheme({
|
||||
required this.child,
|
||||
required this.componentThemeWidget,
|
||||
super.key,
|
||||
});
|
||||
final Widget child;
|
||||
final ComponentThemeData componentThemeWidget;
|
||||
|
||||
static ComponentThemeData of(BuildContext context) {
|
||||
final _InheritedComponentTheme? inheritedThemeComponent =
|
||||
@ -46,11 +46,11 @@ class ComponentTheme extends StatelessWidget {
|
||||
}
|
||||
|
||||
class _InheritedComponentTheme extends InheritedWidget {
|
||||
final ComponentTheme themeWidget;
|
||||
const _InheritedComponentTheme(
|
||||
this.themeWidget, {
|
||||
required super.child,
|
||||
});
|
||||
final ComponentTheme themeWidget;
|
||||
|
||||
@override
|
||||
bool updateShouldNotify(covariant InheritedWidget oldWidget) =>
|
||||
|
@ -17,6 +17,10 @@
|
||||
import 'package:wyatt_ui_components/src/domain/entities/entities.dart';
|
||||
|
||||
class ComponentThemeData {
|
||||
final AppBarComponent? appBar;
|
||||
final BottomNavigationBarComponent? bottomNavigationBar;
|
||||
final ErrorWidgetComponent? errorWidget;
|
||||
final LoadingWidgetComponent? loadingWidget;
|
||||
|
||||
const ComponentThemeData.raw({
|
||||
this.appBar,
|
||||
@ -24,8 +28,4 @@ class ComponentThemeData {
|
||||
this.errorWidget,
|
||||
this.loadingWidget,
|
||||
});
|
||||
final AppBarComponent? appBar;
|
||||
final BottomNavigationBarComponent? bottomNavigationBar;
|
||||
final ErrorWidgetComponent? errorWidget;
|
||||
final LoadingWidgetComponent? loadingWidget;
|
||||
}
|
||||
|
@ -14,5 +14,5 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
export 'component_theme.dart';
|
||||
export 'component_theme_data.dart';
|
||||
export 'component_theme.dart';
|
||||
|
@ -3,18 +3,16 @@ description: Primary ui components
|
||||
repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_ui_components
|
||||
version: 0.0.1
|
||||
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: ">=2.17.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
wyatt_component_copy_with_extension:
|
||||
git:
|
||||
url: ssh://git@git.wyatt-studio.fr:993/Wyatt-FOSS/wyatt-packages.git
|
||||
path: packages/wyatt_component_copy_with_extension
|
||||
wyatt_component_copy_with_extension:
|
||||
git:
|
||||
url: ssh://git@git.wyatt-studio.fr:993/Wyatt-FOSS/wyatt-packages.git
|
||||
path: packages/wyatt_component_copy_with_extension
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
@ -29,5 +27,5 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
@ -57,7 +57,7 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
|
@ -22,5 +22,5 @@ dev_dependencies:
|
||||
wyatt_analysis:
|
||||
git:
|
||||
url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages
|
||||
ref: wyatt_analysis-v2.4.0
|
||||
ref: wyatt_analysis-v2.3.0
|
||||
path: packages/wyatt_analysis
|
||||
|
Loading…
x
Reference in New Issue
Block a user