Simple and complete Flutter hooks testing utilities that encourage good testing practices.

Overview

Flutter Hooks Testing Library



fishing pole


Simple and complete Flutter hooks testing utilities that encourage good testing practices.


Inspired by react-hooks-testing-library.


flutter_lints

The first thing

This package has great respect for react-hooks-testing-library. So the idea is based on it.

The problem

You're writing an awesome custom hook and you want to test it, but as soon as you call it you see the following error:

Invariant Violation: Hooks can only be called inside the body of a function component.

You don't really want to write a component solely for testing this hook and have to work out how you were going to trigger all the various ways the hook can be updated, especially given the complexities of how you've wired the whole thing together.

The solution

The Flutter Hooks Testing Library allows you to create a simple test harness for Flutter hooks that handles running them within the body of a function component, as well as providing various useful utility functions for updating the inputs and retrieving the outputs of your amazing custom hook. This library aims to provide a testing experience as close as possible to natively using your hook from within a real component.

Using this library, you do not have to concern yourself with how to construct, render or interact with the flutter component in order to test your hook. You can just use the hook directly and assert the results.

When to use this library

  1. You're writing a library with one or more custom hooks that are not directly tied to a component
  2. You have a complex hook that is difficult to test through component interactions

When not to use this library

  1. Your hook is defined alongside a component and is only used there
  2. Your hook is easy to test by just testing the components using it

Installation

dev_dependencies:
  flutter_hooks_test: ^0.0.1

Example

use_update.dart

VoidCallback useUpdate() {
  final attempt = useState(0);
  return () => attempt.value++;
}

use_update_test.dart

Not using

testWidgets('should re-build component each time returned function is called', (tester) async {
  // Before
  const key = Key('button');
  var buildCount = 0;

  // called count is 1
  await tester.pumpWidget(HookBuilder(builder: (context) {
    final update = useUpdate();
    buildCount++;
    return GestureDetector(
      key: key,
      onTap: () => update(),
    );
  }));
  // called count is 2
  await tester.tap(find.byKey(key));
  await tester.pumpAndSettle(const Duration(milliseconds: 1));
  expect(buildCount, 2);
});

Using

testWidgets('should re-build component each time returned function is called', (tester) async {
  // After
  var buildCount = 0;
  final result = await buildHook((_) {
    buildCount++;
    return useUpdate();
  });

  expect(buildCount, 1);
  final update = result.current;
  await act(() => update());
  expect(buildCount, 2);
});

Issues

Please file Flutter Hooks Testing Library specific issues, bugs, or feature requests in our issue tracker.

Plugin issues that are not specific to Flutter Hooks Testing Library can be filed in the Flutter issue tracker.

Contributing

If you wish to contribute a change to any of the existing plugins in this repo, please review our contribution guide and open a pull request.

Comments
  • Update dependency lint-staged to v13

    Update dependency lint-staged to v13

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | lint-staged | 12.3.5 -> 13.0.3 | age | adoption | passing | confidence |


    Release Notes

    okonet/lint-staged

    v13.0.3

    Compare Source

    Bug Fixes

    v13.0.2

    Compare Source

    Bug Fixes
    • use new --diff and --diff-filter options when checking task modifications (1a5a66a)

    v13.0.1

    Compare Source

    Bug Fixes
    • correct spelling of "0 files" (f27f1d4)
    • suppress error from process.kill when killing tasks on failure (f2c6bdd)
    • deps: update pidtree@^0.6.0 to fix screen size error in WSL (1a77e42)
    • ignore "No matching pid found" error (cb8a432)
    • prevent possible race condition when killing tasks on failure (bc92aff)
    Performance Improvements
    • use EventsEmitter instead of setInterval for killing tasks on failure (c508b46)

    v13.0.0

    Compare Source

    Bug Fixes
    • deps: update execa@^6.1.0 (659c85c)
    • deps: update yaml@^2.1.1 (2750a3d)
    Features
    • remove support for Node.js 12 (5fb6df9)
    BREAKING CHANGES
    • lint-staged will no longer support Node.js 12, which is EOL since 30 April 2022

    v12.5.0

    Compare Source

    Bug Fixes
    • include all files when using --config <path> (641d1c2)
    • skip backup stash when using the --diff option (d4da24d)
    Features
    • add --diff-filter option for overriding list of (staged) files (753ef72)
    • add --diff option for overriding list of (staged) files (35fcce9)

    v12.4.3

    Compare Source

    Bug Fixes

    v12.4.2

    Compare Source

    Bug Fixes
    • correctly handle --max-arg-length cli option (1db5f26)

    v12.4.1

    Compare Source

    Bug Fixes
    • correctly handle symlinked config files (b3f63ec)

    v12.4.0

    Compare Source

    Bug Fixes
    • handle empty input by returning empty array from parseGitZOutput (a118817)
    • limit configuration discovery to cwd (d8fdf1d)
    • restore functionality of parent globs for a single configuration file (877ab4c)
    Features
    • expose --max-arg-length cli option (e8291b0)

    v12.3.8

    Compare Source

    Bug Fixes
    • avoid passing unexpected arguments from forEach to process.kill() (1b1f0e4)
    • clear execution interruption interval on first catch (46952cb)

    v12.3.7

    Compare Source

    Bug Fixes
    • improve renderer logic for --silent and FORCE_COLOR settings (d327873)

    v12.3.6

    Compare Source

    Bug Fixes

    Configuration

    📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • Update dependency flutter_lints to v2

    Update dependency flutter_lints to v2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | flutter_lints | dev_dependencies | major | ^1.0.4 -> ^2.0.0 |


    Release Notes

    flutter/packages

    v2.0.1

    Compare Source

    v2.0.0

    Compare Source


    Configuration

    📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • Update dependency lint-staged to v12.5.0

    Update dependency lint-staged to v12.5.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | lint-staged | 12.3.5 -> 12.5.0 | age | adoption | passing | confidence |


    Release Notes

    okonet/lint-staged

    v12.5.0

    Compare Source

    Bug Fixes
    • include all files when using --config <path> (641d1c2)
    • skip backup stash when using the --diff option (d4da24d)
    Features
    • add --diff-filter option for overriding list of (staged) files (753ef72)
    • add --diff option for overriding list of (staged) files (35fcce9)

    v12.4.3

    Compare Source

    Bug Fixes

    v12.4.2

    Compare Source

    Bug Fixes
    • correctly handle --max-arg-length cli option (1db5f26)

    v12.4.1

    Compare Source

    Bug Fixes
    • correctly handle symlinked config files (b3f63ec)

    v12.4.0

    Compare Source

    Bug Fixes
    • handle empty input by returning empty array from parseGitZOutput (a118817)
    • limit configuration discovery to cwd (d8fdf1d)
    • restore functionality of parent globs for a single configuration file (877ab4c)
    Features
    • expose --max-arg-length cli option (e8291b0)

    v12.3.8

    Compare Source

    Bug Fixes
    • avoid passing unexpected arguments from forEach to process.kill() (1b1f0e4)
    • clear execution interruption interval on first catch (46952cb)

    v12.3.7

    Compare Source

    Bug Fixes
    • improve renderer logic for --silent and FORCE_COLOR settings (d327873)

    v12.3.6

    Compare Source

    Bug Fixes

    Configuration

    📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • Update dependency husky to v8

    Update dependency husky to v8

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | husky (source) | ^7.0.0 -> ^8.0.0 | age | adoption | passing | confidence |


    Release Notes

    typicode/husky

    v8.0.1

    Compare Source

    • fix: use POSIX equality operator

    v8.0.0

    Compare Source

    What's Changed

    Feats
    Fixes
    Docs
    Chore

    Configuration

    📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update actions/checkout action to v3

    Update actions/checkout action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/checkout | action | major | v2 -> v3 |


    Release Notes

    actions/checkout

    v3

    Compare Source


    Configuration

    📅 Schedule: "before 10am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update dependency lint-staged to v12.3.5

    Update dependency lint-staged to v12.3.5

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | lint-staged | 12.3.4 -> 12.3.5 | age | adoption | passing | confidence |


    Release Notes

    okonet/lint-staged

    v12.3.5

    Compare Source

    Bug Fixes
    • search all configs regardless of staged files (4b605cd)

    Configuration

    📅 Schedule: "before 10am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    WhiteSource Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    🔧 This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    📅 Schedule: "before 5am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update subosito/flutter-action action to v2

    Update subosito/flutter-action action to v2

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | subosito/flutter-action | action | major | v1 -> v2 |


    Release Notes

    subosito/flutter-action

    v2

    Compare Source


    Configuration

    📅 Schedule: "before 10am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update dependency lint-staged to v12.3.4

    Update dependency lint-staged to v12.3.4

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | lint-staged | 12.1.5 -> 12.3.4 | age | adoption | passing | confidence |


    Release Notes

    okonet/lint-staged

    v12.3.4

    Compare Source

    Bug Fixes

    v12.3.3

    Compare Source

    Bug Fixes
    • use config directory as cwd, when multiple configs present (#​1091) (9a14e92)

    v12.3.2

    Compare Source

    Bug Fixes
    • handle symlinked .git directories (3a897ff)

    v12.3.1

    Compare Source

    Bug Fixes
    • deps: update dependencies (f190fc3)

    v12.3.0

    Compare Source

    Features
    • add --cwd option for overriding task directory (62b5b83)

    v12.2.2

    Compare Source

    Bug Fixes
    • always search config from cwd first (4afcda5)

    v12.2.1

    Compare Source

    Bug Fixes
    • only throw if no configurations were found (36b9546)

    v12.2.0

    Compare Source

    Bug Fixes
    • make console task titles more explicit (1c94c27)
    Features
    • support multiple configuration files (90d1035)

    v12.1.7

    Compare Source

    Bug Fixes

    v12.1.6

    Compare Source

    Bug Fixes
    • always run non-git tasks in the current working directory (893f3d7)

    Configuration

    📅 Schedule: "before 10am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    WhiteSource Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    🔧 This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    📅 Schedule: "before 5am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update dependency gradle to v7

    Update dependency gradle to v7

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Update | Change | |---|---|---| | gradle (source) | major | 6.7 -> 7.3.3 |


    Release Notes

    gradle/gradle

    v7.3.3

    This is a patch release for Gradle 7.3.

    It fixes the following issues:

    We recommend users upgrade to 7.3.3 instead of 7.3.

    Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.

    Upgrade Instructions

    Switch your build to use Gradle 7.3.3 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.3.3
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.3.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.3.2

    This is a patch release for Gradle 7.3.

    It fixes the following issues:

    • #​19300 Mitigations for log4j vulnerability in Gradle builds
    • #​19257 Incremental java compilation fails when renaming classname with $ character

    We recommend users upgrade to 7.3.2 instead of 7.3.

    Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.

    Upgrade Instructions

    Switch your build to use Gradle 7.3.2 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.3.2
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.2.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.3.1

    This is a patch release for Gradle 7.3.

    It fixes the following issues:

    • #​19058 Consider reverting breaking change about test configuration
    • #​19067 Fix multiple annotation processing issues discovered by Micronaut

    We recommend users upgrade to 7.3.1 instead of 7.3.

    Upgrade Instructions

    Switch your build to use Gradle 7.3.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.3.1
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.3.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.3

    v7.2

    v7.1.1

    This is a patch release for Gradle 7.1.

    It fixes the following issues:

    • #​17488 Many Micronaut builds failing with NPE with Gradle 7.1 & JDK 8
    • #​17548 [Configuration cache] Task not up-to-date for SantaTracker
    • #​17542 [Configuration cache] Filtered FC with mapped elements stored incorrectly

    We recommend users upgrade to 7.1.1 instead of 7.1.

    Upgrade Instructions

    Switch your build to use Gradle 7.1.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.1.1
    

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.1.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.1

    v7.0.2

    This is a patch release for Gradle 7.0.

    This fixes an issue with files system watching on certain Linux distributions.

    We recommend users upgrade to 7.0.2 instead of 7.0.

    Upgrade Instructions

    Switch your build to use Gradle 7.0.2 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.0.2
    

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.0.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.0.1

    This is a patch release for Gradle 7.0.

    This fixes several issues reported against 7.0.

    We recommend users upgrade to 7.0.1 instead of 7.0.

    Upgrade Instructions

    Switch your build to use Gradle 7.0.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.0.1
    

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 7.0.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v7.0

    v6.9.2

    This is a patch release for Gradle 6.9, containing backported bugfixes in Gradle 7.2 to Gradle 6.x.

    It fixes the following issues:

    • #​18163 Fix excludes for substituted dependencies
    • #​18164 POSIX shell scripts improvements
    • #​18697 Fix corrupted resolution result from replacement / capability conflict
    • #​19328 Mitigations for log4j vulnerability in Gradle builds
    • #​19372 Multiple transformed artifacts selected

    We recommend users upgrade to 6.9.2 instead of 6.9.

    Given the context of the Log4Shell vulnerability, make sure you take a look at our blog post on this topic.

    Upgrade Instructions

    Switch your build to use Gradle 6.9.2 by updating your wrapper:

    ./gradlew wrapper --gradle-version=6.9.2
    

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 6.9.2.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v6.9.1

    This is a patch release for Gradle 6.9, containing backported bugfixes in Gradle 7.2 to Gradle 6.x.

    It fixes the following issues:

    • #​18089 Deprecate jcenter() repository
    • #​17950 Renaming and recreating the project directory causes Gradle to lose track of changes on Windows
    • #​17949 Gradle's up-to-date checks do not work on Windows FAT drives

    We recommend users upgrade to 6.9.1 instead of 6.9.

    Upgrade Instructions

    Switch your build to use Gradle 6.9.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=6.9.1
    

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 6.9.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v6.8.3

    This is a patch release for Gradle 6.8.

    This fixes a critical bug present in Gradle 6.8, 6.8.1 and 6.8.2.

    All issues fixed in this patch release

    Please don’t use the original 6.8 release or previous patch releases, and instead upgrade to 6.8.3.

    Upgrade Instructions

    Switch your build to use Gradle 6.8.3 by updating your wrapper:

    ./gradlew wrapper --gradle-version=6.8.3 --gradle-distribution-sha256-sum 7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205
    

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 6.8.3.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v6.8.2

    This is a patch release for Gradle 6.8.

    This fixes several bugs in Gradle 6.8.1.

    All issues fixed in this patch release

    Please don’t use the original 6.8 release or the 6.8.1, and instead upgrade to 6.8.2.

    Upgrade Instructions

    Switch your build to use Gradle 6.8.2 by updating your wrapper:

    ./gradlew wrapper --gradle-version=6.8.2

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 6.8.2.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v6.8.1

    This is a patch release for Gradle 6.8.

    This fixes several critical bugs in Gradle 6.8.

    All issues fixed in this patch release

    We recommend that you use Gradle 6.8.1 over the initial release of Gradle 6.8.

    Upgrade Instructions

    Switch your build to use Gradle 6.8.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=6.8.1

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 6.8.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

    v6.7.1

    This is a patch release for Gradle 6.7.

    This fixes several critical bugs in Gradle 6.7.

    All issues fixed in this patch release

    We recommend that you use Gradle 6.7.1 over the initial release of Gradle 6.7.

    Upgrade Instructions

    Switch your build to use Gradle 6.7.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=6.7.1

    See the Gradle 6.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading to Gradle 6.7.1.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.


    Configuration

    📅 Schedule: "before 10am on monday" in timezone Asia/Tokyo.

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update dependency node to v18

    Update dependency node to v18

    Mend Renovate

    This PR contains the following updates:

    | Package | Update | Change | |---|---|---| | node (source) | major | 17.2.0 -> 18.12.1 |


    Release Notes

    nodejs/node

    v18.12.1: 2022-11-04, Version 18.12.1 'Hydrogen' (LTS), @​juanarbol

    Compare Source

    This is a security release.

    Notable changes

    The following CVEs are fixed in this release:

    • CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow (High)
    • CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow (High)
    • CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address (Medium)

    More detailed information on each of the vulnerabilities can be found in November 2022 Security Releases blog post.

    Commits

    v18.12.0: 2022-10-25, Version 18.12.0 'Hydrogen' (LTS), @​ruyadorno and @​RafaelGSS

    Compare Source

    Notable Changes

    This release marks the transition of Node.js 18.x into Long Term Support (LTS) with the codename 'Hydrogen'. The 18.x release line now moves into "Active LTS" and will remain so until October 2023. After that time, it will move into "Maintenance" until end of life in April 2025.

    v18.11.0: 2022-10-13, Version 18.11.0 (Current), @​danielleadams

    Compare Source

    Notable changes
    watch mode (experimental)

    Running in 'watch' mode using node --watch restarts the process when an imported file is changed.

    Contributed by Moshe Atlow in #​44366

    Other notable changes
    • fs:
      • (SEMVER-MINOR) add FileHandle.prototype.readLines (Antoine du Hamel) #​42590
    • http:
      • (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing) #​44180
    • http2:
      • (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #​44820
    • lib:
      • (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #​44048
    • src:
      • (SEMVER-MINOR) add detailed embedder process initialization API (Anna Henningsen) #​44121
    • util:
      • (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon) #​44631
    Commits

    v18.10.0: 2022-09-28, Version 18.10.0 (Current), @​RafaelGSS

    Compare Source

    Notable changes
    • doc:
      • (SEMVER-MINOR) deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #​44588
      • add legendecas to TSC list (Michael Dawson) #​44662
      • move policy docs to the permissions scope (Rafael Gonzaga) #​44222
    • gyp:
      • libnode for ios app embedding (chexiongsheng) #​44210
    • http:
      • (SEMVER-MINOR) throw error on content-length mismatch (sidwebworks) #​44588
    • stream:
      • (SEMVER-MINOR) add ReadableByteStream.tee() (Daeyeon Jeong) #​44505
    Commits

    v18.9.1: 2022-09-23, Version 18.9.1 (Current), @​RafaelGSS

    Compare Source

    This is a security release.

    Notable changes

    The following CVEs are fixed in this release:

    • CVE-2022-32212: DNS rebinding in --inspect on macOS (High)
      • Insufficient fix for macOS devices on v18.5.0
    • CVE-2022-32222: Node 18 reads openssl.cnf from /home/iojs/build/ upon startup on MacOS (Medium)
    • CVE-2022-32213: HTTP Request Smuggling - Flawed Parsing of Transfer-Encoding (Medium)
      • Insufficient fix on v18.5.0
    • CVE-2022-32215: HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)
      • Insufficient fix on v18.5.0
    • CVE-2022-35256: HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)
    • CVE-2022-35255: Weak randomness in WebCrypto keygen

    More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.

    llhttp updated to 6.0.10

    llhttp is updated to 6.0.10 which includes fixes for the following vulnerabilities.

    • HTTP Request Smuggling - CVE-2022-32213 bypass via obs-fold mechanic (Medium)(CVE-2022-32213 ): The llhttp parser in the http module does not correctly parse and validate Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
    • HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)(CVE-2022-32215): The llhttp parser in the http module does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).
    • HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)(CVE-35256): The llhttp parser in the http does not correctly handle header fields that are not terminated with CLRF. This can lead to HTTP Request Smuggling (HRS).
    Commits

    v18.9.0: 2022-09-08, Version 18.9.0 (Current), @​RafaelGSS

    Compare Source

    Notable changes
    • doc
      • add daeyeon to collaborators (Daeyeon Jeong) #​44355
    • lib
      • (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #​44045
    • os
      • (SEMVER-MINOR) add machine method (theanarkh) #​44416
    • report
      • (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #​44255
    • src
      • (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #​44362
    • vm
      • include vm context in the embedded snapshot (Joyee Cheung) #​44252
    Commits

    Configuration

    📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    Mend Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    🔧 This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    📅 Schedule: Branch creation - "before 5am on monday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    asdf
    .tool-versions
    • node 17.2.0
    github-actions
    .github/workflows/ci.yaml
    • actions/checkout v3
    • subosito/flutter-action v2
    • dart-lang/setup-dart v1
    .github/workflows/release.yaml
    • actions/checkout v3
    • subosito/flutter-action v2
    • dart-lang/setup-dart v1
    • softprops/action-gh-release v1
    npm
    package.json
    • husky ^8.0.1
    • lint-staged 13.0.3
    • prettier ^2.7.1
    pub
    pubspec.yaml
    • flutter_hooks ^0.18.5+1
    • flutter_lints ^2.0.1
    • mockito ^5.3.0

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(v0.0.2)
Owner
Daichi Furiya
Google Developers Expert for Android
Daichi Furiya
Raden Saleh 53 Jul 27, 2023
A Very Good Flutter Federated Plugin created by the Very Good Ventures Team 🦄

Very Good Flutter Plugin Developed with ?? by Very Good Ventures ?? A Very Good Flutter Plugin created by the Very Good Ventures Team. Getting Started

Very Good Open Source 14 Oct 19, 2022
A Very Good Flutter Package Template created by the Very Good Ventures Team 🦄

Very Good Flutter Package Developed with ?? by Very Good Ventures ?? A Very Good Flutter package created by Very Good Ventures ?? . Getting Started ??

Very Good Open Source 32 Dec 13, 2022
A Very Good Dart Package Template created by the Very Good Ventures Team 🦄

Very Good Dart Package Developed with ?? by Very Good Ventures ?? A Very Good Dart package created by Very Good Ventures ?? . Getting Started ?? Insta

Very Good Open Source 8 Aug 14, 2022
A Very Good Dart CLI Template created by the Very Good Ventures Team 🦄

Very Good Dart CLI Developed with ?? by Very Good Ventures ?? A Dart CLI template created by the Very Good Ventures Team. Generated by the Very Good C

Very Good Open Source 26 Dec 15, 2022
Hooks but for and of Flutter

reactives A new way for Flutter to reuse/group common logic. Think of them like React hooks but for and of flutter. Idea copied from the lit world Mot

Ripe Mango 27 Dec 22, 2022
Custom flutter testing CLI tool for individual test runs and group testing

fluttertest Custom flutter testing CLI tool for inidividual test runs or group testing Overview Flutter is a great framework which has helps developer

vi_mi 15 Nov 6, 2022
Coffee flutter - A coffee app Used Firestore, GetX, flutter hooks, Provider

coffee_flutter A Coffee Flutter project. Used Firestore, GetX, flutter_hooks, Pr

deargo 4 Oct 26, 2022
🟧 Lints for Dart and Flutter based on software industry standards and best practices.

Solid Lints Flutter/Dart lints configuration based on software engineering industry standards (ISO/IEC, NIST) and best practices. Usage Add dependency

Solid Software 17 Oct 12, 2022
🚀 Sample Flutter Clean Architecture on Rorty App focused on the scalability, testability and maintainability written in Dart, following best practices using Flutter.

Rorty Flutter Rorty ?? (work-in-progress for V2 ?? ??️ ??‍♀️ ⛏ ) Getting Started Flutter Clean Architecture in Rorty is a sample project that presents

Mr.Sanchez 138 Jan 1, 2023
[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

R. Rifa Fauzi Komara 17 Jan 2, 2023
best flutter / dart practices + Custom Painter + Sliver App Bar + Custom Scrollview

Weekly Budget Flutter App A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get yo

Mohamed Awnallah 4 Oct 21, 2021
A Flutter Weather App primarily developed to showcase my technical knowledge as well as practices I believe are the best.

Weather One This is a Flutter Weather App primarily developed to showcase my technical knowledge as well as practices I believe are the best. The weat

Phumudzo Muvhango 1 Apr 27, 2022
Dart and Flutter sealed class generator and annotations, with match methods and other utilities. There is also super_enum compatible API.

Dart Sealed Class Generator Generate sealed class hierarchy for Dart and Flutter. Features Generate sealed class with abstract super type and data sub

6thSolution 15 Jan 2, 2023
Nebula makes your Flutter development journey easier by providing helper widgets, utilities and abstractions.

Nebula makes your Flutter development journey easier by providing helper widgets, utilities and abstractions.

Aldrin's Art Factory 1 Apr 21, 2022
A package containing different kinds of services and utilities.

TODO: Put a short description of the package here that helps potential users know whether this package might be useful for them. Features TODO: List w

Daniel 0 Nov 26, 2021
A set of utilities, themes and components for RTU MIREA applications by Mirea Ninja.

rtu-app-core - это красиво оформленный пакет компонентов графического интерфейса и многоцелевой набор утилит, разработанный для Flutter. rtu-app-core

Mirea Ninja 3 Aug 10, 2022
Cross-platform utilities for developers.

DevWidgets DevWidgets is a W.I.P Flutter application with several tools such as generators, formatters and converters for developers. Clicking here yo

Gustavo Mauricio de Barros 90 Dec 29, 2022
Masked text field - A flutter package for masked text field for formet your text and good UI

Masked Text Field Masked Text Field Features A package for masked text field for

Alok Dubey 7 Sep 4, 2022