Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
3dca054
Fix sizing issues (#529)
dnfield Apr 6, 2021
7c6d9ad
stable nullsafe release
dnfield Apr 6, 2021
1eff869
Fix alignment issues again (#530)
dnfield Apr 7, 2021
0edef39
expose cache on PictureProvider so that users can change the limit (#…
dnfield Apr 22, 2021
635c00f
Improve performance of SVG parsing (#546)
jefflim-google May 5, 2021
fbbce53
version bumps (#547)
dnfield May 5, 2021
1fc769f
missing bump
dnfield May 5, 2021
c3fd0ef
Update README.md (#548)
thecalamiity May 6, 2021
feea7e2
Update coveralls.sh
dnfield May 10, 2021
de08e17
sort directives
dnfield May 10, 2021
af7963b
skip golden test on non-linux
dnfield May 10, 2021
9e19fd3
Update for the latest Dart analyze unnecessary_import check (#555)
jason-simmons May 18, 2021
a7388eb
Implemented text-style parser (#556)
beroso May 23, 2021
c1e7689
Add text-decoration support (#562)
jnschulze May 27, 2021
38ca86e
Add support for xml:space (#563)
jnschulze Jun 1, 2021
f75eaea
change golden file compares to allow +/- 1 in color components (#575)
flar Jul 15, 2021
08d248b
pub get
dnfield Aug 16, 2021
5de1f00
Unused parameter `bounds` of method draw() (#584)
Aug 16, 2021
50d2d69
add a simple scrolling benchmark for the example (#583)
flar Aug 16, 2021
2b422b0
ignore avoid_classe_with_only_static_members for now
dnfield Aug 16, 2021
86ab68f
update opacity
dnfield Aug 23, 2021
3ffb3bc
Add hacky support for currentColor (#588)
lstanden Sep 15, 2021
d2ca8bd
Add support for `currentColor` to `SvgPicture` (#602)
bselwe Oct 1, 2021
1d63286
Update flutter_svg.dart
dnfield Oct 8, 2021
d4a001f
Make the SvgTheme change less breaking (#606)
dnfield Oct 11, 2021
bbc34d1
bumps
dnfield Oct 13, 2021
4f00807
Merge remote-tracking branch 'origin/master'
dnfield Oct 13, 2021
02b8595
Bump again
dnfield Oct 13, 2021
12e2be4
Improve performance when an animation is present over the SVG (#592)
dnfield Oct 13, 2021
8722145
Fix layer reuse, add regression test (#608)
dnfield Oct 13, 2021
0974e60
Make new painting method opt in to allow migration
dnfield Oct 16, 2021
fbe9278
Conditionally import `File` from `dart:io` (#613)
sarbagyastha Oct 28, 2021
01f9974
Remove difficult to use flag
dnfield Nov 4, 2021
17507b8
version bumps
dnfield Nov 4, 2021
f225dfc
Fix issues with hashing mutable objects
dnfield Nov 8, 2021
666b171
Add support for em units (#605)
bselwe Nov 18, 2021
3cd92c6
Update picture_provider.dart
dnfield Nov 30, 2021
5e484da
Update picture_provider.dart
dnfield Nov 30, 2021
b02ee6f
Update xml_parsers.dart
dnfield Nov 30, 2021
8d1ec84
update readme
dnfield Dec 1, 2021
1c47efa
Version bump information
dnfield Dec 2, 2021
fa5f0c3
Requires Flutter >=2.4.0 for LayerHandle usage. (#611)
daohoangson Dec 3, 2021
dc9e644
Add support for ex units (#618)
bselwe Dec 8, 2021
c482b3f
Fix but in <use> element fills, analysis cleanup
dnfield Jan 10, 2022
5ad8acc
Merge branch 'master' of github.com:dnfield/flutter_svg
dnfield Jan 10, 2022
24e06f6
Fix bug where empty group can affect rendering
dnfield Jan 11, 2022
c728d60
oops
dnfield Jan 11, 2022
65dbfc6
Avoid invalid dasharrays
dnfield Jan 11, 2022
7c14bf7
Fix bug in dash array update: zero values should be acceptable in som…
dnfield Jan 11, 2022
38c638f
Fix nested g in defs; sync*; v1.0.1
dnfield Jan 11, 2022
4ff4565
drop mocktail dependency
dnfield Jan 12, 2022
49bcd4b
Added support for "rem" units (#647)
0xba1 Jan 13, 2022
cf2d541
Avoid cache invalidation when currentColor/em/rem units change but do…
dnfield Jan 18, 2022
ad6dd2b
bumps
dnfield Jan 18, 2022
6c5443b
Paragraphs: Use longestLine instead of minIntrinsicWidth (#621)
jnschulze Jan 18, 2022
c02155f
update changelog
dnfield Jan 18, 2022
ce9dc0e
Make sure setting a render equal picture does not result in paint upd…
dnfield Jan 21, 2022
2dbbd37
Update golden images for SkParagraph text rendering (#658)
jason-simmons Jan 25, 2022
8c5ec0b
Fix bugs in picture disposal (#664)
dnfield Feb 15, 2022
d0fd7a1
Remove obsolete paragraph from README
dnfield Feb 15, 2022
943924c
Fix stroke attribute handling when gradients or groups are involved (…
dnfield Mar 1, 2022
789f560
Update .cirrus.yml
dnfield Mar 1, 2022
1e923a3
Make sure the SvgPictureState holds on to a handle (#674)
dnfield Mar 5, 2022
f350eaf
Remove redundant canvas.restore() (#701)
FaFre May 1, 2022
f0a1b4f
Update project to support flutter 3.0 (#713)
erdemyerebasmaz May 19, 2022
c75f121
changelog
dnfield May 23, 2022
1e053b9
remove stale files
dnfield May 23, 2022
e25f0da
update goldens for fractional translation (#721)
Jun 17, 2022
1e3777c
Added the flutter_lints to the development dependency for project 'ex…
Lufan Jun 21, 2022
28073a2
Fix 720 (#724)
dnfield Jun 21, 2022
48178f4
version bumps
dnfield Jun 28, 2022
177667a
fix whitespace, update simple example to be simpler
dnfield Jun 28, 2022
5c3c99a
Update currentColor handling. (#730)
dnfield Jul 2, 2022
6bbe047
format code (#554)
matthewyan Jul 4, 2022
1413a9a
missing unused import
dnfield Jul 6, 2022
9a5a42e
Merge branch 'master' of github.com:dnfield/flutter_svg
dnfield Jul 6, 2022
509f86b
bump path_parsing
dnfield Aug 4, 2022
f9fc52c
update goldens
dnfield Aug 4, 2022
2623d11
handle PT values (#747)
dnfield Aug 5, 2022
1a36ae7
bumps
dnfield Aug 5, 2022
43f7ac7
Default image width/height correclty (#750)
dnfield Aug 17, 2022
fc382c8
Update pub.dev links (#767)
nohli Sep 6, 2022
f1fff6b
Colors (#773)
dnfield Sep 9, 2022
215e0f4
Strokes with zero width should not be painted (#798)
FeodorFitsner Oct 22, 2022
791e624
Transform clip path when applied to a group (#794)
FeodorFitsner Oct 24, 2022
d43b6b8
Apply image transform before translate and scale (#790)
FeodorFitsner Oct 25, 2022
3753ff9
version bumps
dnfield Oct 25, 2022
b285441
Fix typo (#799)
TortillaZHawaii Oct 25, 2022
2c9223d
Start using VG (#782)
dnfield Nov 18, 2022
dd6876f
Drop unused deps (#808)
dnfield Nov 21, 2022
dc20410
update readme to add more details about precompiliation (#816)
Dec 10, 2022
3d48ca2
Avoid anon closure (#817)
dnfield Dec 11, 2022
525507a
Use strict analysis modes instead of deprecated 'strong-mode' options…
srawlins Dec 16, 2022
c394083
more
dnfield Jan 20, 2023
6ae078f
fix pubspec
dnfield Jan 20, 2023
8074ee7
readme
dnfield Jan 20, 2023
c951f21
Remove AssetLoader() precompiled asset example (#833)
pento Jan 27, 2023
c1e4773
bumps
dnfield Feb 2, 2023
59a78a8
Fix CI
dnfield Feb 2, 2023
cc1f619
more
dnfield Feb 2, 2023
c599bfe
Fix CI (#835)
dnfield Feb 2, 2023
127197b
Packages (#838)
dnfield Feb 3, 2023
b9c47a0
fix gradle versions
dnfield Feb 6, 2023
e7a0943
Hide vector_graphics_compiler types (#853)
Feb 13, 2023
b977d27
disable isolate parsing in debug mode (#854)
Feb 13, 2023
06e814e
bumps for 2.0.1
dnfield Feb 13, 2023
461ed86
update readme
dnfield Feb 13, 2023
c190052
Consume new vector_graphics
dnfield Feb 22, 2023
d731f27
Fix faulty cache assertion, bump vg (#879)
dnfield Mar 9, 2023
f96f5f0
Reintroduce clip behavior (#860)
sabifa Mar 13, 2023
bd80505
Manage cache count correctly (#885)
dnfield Mar 14, 2023
c6ec463
bumps
dnfield Mar 14, 2023
3916b90
Remove unecessary file
dnfield Mar 14, 2023
3df8543
Allow malformed UTF-8 (#889)
dnfield Mar 16, 2023
957b8a3
Make cache respect SvgTheme (#890)
dnfield Mar 16, 2023
b60fc15
Consider colorMapper for cache key data (#902)
dnfield Apr 8, 2023
016f1b6
Bumps for 2.0.5
dnfield Apr 10, 2023
fd85e3c
Add svg finder (#880)
SimonWeidemann Apr 11, 2023
d0fa1aa
Update README.md
dnfield Apr 19, 2023
f12e664
Update test golden images for the latest Skia roll (#908)
jason-simmons Apr 20, 2023
72d9f46
Add a script that will be run by the Flutter customer test suite (#911)
jason-simmons Apr 25, 2023
99e6eee
Avoid use of pushd in the script run in the customer test CI environm…
jason-simmons Apr 25, 2023
5e79858
rework example
dnfield May 1, 2023
4c88f8b
Update widget_svg_test.dart
dnfield May 11, 2023
d4c98e2
[deps] update vector_graphics to 1.1.5+1 (#923)
MrJohnDev May 18, 2023
3a13376
Fix analysis for CI, update changelog, roll v_g further (#924)
dnfield May 18, 2023
9c7c9cd
License file
dnfield May 18, 2023
ad9e4d9
License for _test
dnfield May 27, 2023
33fb64b
Fix typo in README.md (#929)
tattuu May 27, 2023
1ed5a99
Fix broken link in Readme (#935)
dxvid-pts Jun 7, 2023
d7b5c23
Fix broken textDirection (#940)
dnfield Jun 12, 2023
3148f72
Adds DefaultSvgTheme (#964)
GP4cK Jul 13, 2023
6a24687
Fixed minor typo in link on the README.md (#995)
bramp Oct 10, 2023
b6b399e
Added debugFillProperties to SvgPicture to enable easier debugging. (…
bramp Oct 16, 2023
6164f36
Fixed formatting broken in https://github.com/dnfield/flutter_svg/pul…
bramp Oct 17, 2023
16c062b
Fixes issue where a incorrect key was being given to the ImageCache (…
bramp Oct 17, 2023
05f0f19
fixes
dnfield Oct 24, 2023
1114a0f
missing file
dnfield Oct 24, 2023
20932e2
Fix semver violation for SvgPicture (#1008)
dnfield Oct 31, 2023
ac2ef32
skip out of date test
dnfield Dec 5, 2023
1a33cbd
ignore unnecessary cast
dnfield Dec 5, 2023
a3911bb
Avoid expanding the parameter type of operator== (#1017)
srawlins Dec 5, 2023
09fd110
Use package:http, drop dart:html (#1038)
dnfield Feb 20, 2024
2f7c8ca
Relax http (#1041)
dnfield Feb 20, 2024
2c33e0a
update readme.md
dev-aniketj Mar 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .ci/coveralls.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

set -x

if [[ -z $COVERALLS_REPO_TOKEN ]]; then
echo "Skipping coveralls, user not authorized"
exit 0
fi

dart pub global activate coveralls
dart pub global run coveralls coverage/lcov.info
28 changes: 0 additions & 28 deletions .cirrus.yml

This file was deleted.

30 changes: 30 additions & 0 deletions .github/workflows/flutter_svg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: analyze and test

on:
push:
branches: [master]
paths-ignore:
- '**/*.md'
pull_request:
branches: [master]

jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/flutter_svg
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter --version
- run: flutter pub get
- run: dart format --set-exit-if-changed .
- run: flutter analyze .
- run: flutter test --coverage
# - uses: romeovs/[email protected]
# with:
# lcov-file: ./packages/vector_graphics_codec/coverage/lcov.info
# github-token: ${{ secrets.GITHUB_TOKEN }}
30 changes: 30 additions & 0 deletions .github/workflows/flutter_svg_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: analyze and test flutter_svg_test

on:
push:
branches: [master]
paths-ignore:
- '**/*.md'
pull_request:
branches: [master]

jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/flutter_svg_test
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter --version
- run: flutter pub get
- run: dart format --set-exit-if-changed .
- run: flutter analyze .
- run: flutter test --coverage
# - uses: romeovs/[email protected]
# with:
# lcov-file: ./packages/vector_graphics_codec/coverage/lcov.info
# github-token: ${{ secrets.GITHUB_TOKEN }}
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@ pubspec.lock
.pub/
build/
ios/.generated/
packages
.flutter-plugins
doc/api/
coverage/
.project

# golden failure diffs
test/failures
**/test/failures
# Flutter crash logs
/flutter_*.log
183 changes: 10 additions & 173 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,196 +1,33 @@
# flutter_svg

[![Pub](https://img.shields.io/pub/v/flutter_svg.svg)](https://pub.dartlang.org/packages/flutter_svg) [![Build Status](https://travis-ci.org/dnfield/flutter_svg.svg?branch=master)](https://travis-ci.org/dnfield/flutter_svg) [![Coverage Status](https://coveralls.io/repos/github/dnfield/flutter_svg/badge.svg?branch=master)](https://coveralls.io/github/dnfield/flutter_svg?branch=master)
[![Pub](https://img.shields.io/pub/v/flutter_svg.svg)](https://pub.dartlang.org/packages/flutter_svg) [![Coverage Status](https://coveralls.io/repos/github/dnfield/flutter_svg/badge.svg?branch=master)](https://coveralls.io/github/dnfield/flutter_svg?branch=master)

<!-- markdownlint-disable MD033 -->
<img src="https://raw.githubusercontent.com/dnfield/flutter_svg/7d374d7107561cbd906d7c0ca26fef02cc01e7c8/example/assets/flutter_logo.svg?sanitize=true" width="200px" alt="Flutter Logo which can be rendered by this package!">
<!-- markdownlint-enable MD033 -->

Draw SVG (and _some_ Android VectorDrawable (XML)) files on a Flutter Widget.
Draw SVG files using Flutter.

## Getting Started
## Overview

This is a Dart-native rendering library. Issues/PRs will be raised in Flutter
and flutter/engine as necessary for features that are not good candidates for
Dart implementations (especially if they're impossible to implement without
engine support). However, not everything that Skia can easily do needs to be
done by Skia; for example, the Path parsing logic here isn't much slower than
doing it in native, and Skia isn't always doing low level GPU accelerated work
where you might think it is (e.g. Dash Paths).
This library consists of two packages: [**flutter_svg**](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg) and [**flutter_svg_test**](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg_test).

All of the SVGs in the `assets/` folder (except the text related one(s)) now
have corresponding PNGs in the `golden/` folder that were rendered using
`flutter test tool/gen_golden.dart` and compared against their rendering output
in Chrome. Automated tests will continue to compare these to ensure code changes
do not break known-good renderings.
[flutter_svg](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg) provides a wrapper around Dart implementations of SVG parsing, including SVG path data. In particular, it provides efficient `BytesLoader` implementations for [`package:vector_graphics`](https://pub.dev/packages/vector_graphics). The package is easier to use but not as performant as using the `vector_graphics` and `vector_graphics_compiler` packages directly. Those packages allow you to do ahead-of-time compilation and optimization of SVGs, and offer some more performant rasterization strategies at runtime.

Basic usage (to create an SVG rendering widget from an asset):

```dart
final String assetName = 'assets/image.svg';
final Widget svg = SvgPicture.asset(
assetName,
semanticsLabel: 'Acme Logo'
);
```

You can color/tint the image like so:

```dart
final String assetName = 'assets/up_arrow.svg';
final Widget svgIcon = SvgPicture.asset(
assetName,
color: Colors.red,
semanticsLabel: 'A red up arrow'
);
```

The default placeholder is an empty box (`LimitedBox`) - although if a `height`
or `width` is specified on the `SvgPicture`, a `SizedBox` will be used instead
(which ensures better layout experience). There is currently no way to show an
Error visually, however errors will get properly logged to the console in debug
mode.

You can also specify a placeholder widget. The placeholder will display during
parsing/loading (normally only relevant for network access).

```dart
// Will print error messages to the console.
final String assetName = 'assets/image_that_does_not_exist.svg';
final Widget svg = SvgPicture.asset(
assetName,
);

final Widget networkSvg = SvgPicture.network(
'https://site-that-takes-a-while.com/image.svg',
semanticsLabel: 'A shark?!',
placeholderBuilder: (BuildContext context) => Container(
padding: const EdgeInsets.all(30.0),
child: const CircularProgressIndicator()),
);
```

If you'd like to render the SVG to some other canvas, you can do something like:

```dart
import 'package:flutter_svg/flutter_svg.dart';
final String rawSvg = '''<svg viewBox="...">...</svg>''';
final DrawableRoot svgRoot = await svg.fromSvgString(rawSvg, rawSvg);

// If you only want the final Picture output, just use
final Picture picture = svgRoot.toPicture();

// Otherwise, if you want to draw it to a canvas:
// Optional, but probably normally desirable: scale the canvas dimensions to
// the SVG's viewbox
svgRoot.scaleCanvasToViewBox(canvas);

// Optional, but probably normally desireable: ensure the SVG isn't rendered
// outside of the viewbox bounds
svgRoot.clipCanvasToViewBox(canvas);
svgRoot.draw(canvas, size);
```

The `SvgPicture` helps to automate this logic, and it provides some convenience
wrappers for getting assets from multiple sources and caching the resultant
`Picture`. _It does not render the data to an `Image` at any point_; you
certainly can do that in Flutter, but you then lose some of the benefit of
having a vector format to begin with.

While I'm making every effort to avoid needlessly changing the API, it's not
guarnateed to be stable yet (hence the pre-1.0.0 version). To date, the biggest
change is deprecating the `SvgImage` widgets in favor of `SvgPicture` - it
became very confusing to maintain that name, as `Picture`s are the underlying
mechanism for rendering rather than `Image`s.

See [main.dart](/../master/example/lib/main.dart) for a complete sample.

## Check SVG compatibility

As not all SVG features are supported by this library (see below), sometimes we have to dynamically
check if an SVG contains any unsupported features resulting in broken images.
You might also want to throw errors in tests, but only warn about them at runtime.
This can be done by using the snippet below:

```dart
final SvgParser parser = SvgParser();
try {
parser.parse(svgString, warningsAsErrors: true);
print('SVG is supported');
} catch (e) {
print('SVG contains unsupported features');
}
```

> Note:
> The library currently only detects unsupported elements (like the `<style>`-tag), but not unsupported attributes.

## Use Cases

- Your designer creates a vector asset that you want to include without
converting to 5 different raster format resolutions.
- Your vector drawing is meant to be static and non (or maybe minimally)
interactive.
- You want to load SVGs dynamically from network sources at runtime.
- You want to paint SVG data and render it to an image.

## TODO

This list is not very well ordered. I'm mainly picking up things that seem
interesting or useful, or where I've gotten a request to fix something/example
of something that's broken.

- Support Radial gradients that use percentages in the offsets.
- Dash path with percentage dasharray values (need good examples).
- Markers.
- Filters/effects (will require upstream engine changes, but doable).
- Android Vector Drawable support beyond PoC - I'm willing to put more time into
this if there's actually demand, but it doesn't come up often.
[**flutter_svg_test**](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg_test) provides a set of functions to find images generated by `flutter_svg` in widget tests.

## Out of scope/non-goals

- SMIL animations. That just seems crazy. I think it'll be possible to animate
the SVG but probably in a more Flutter driven way.
- SMIL animations. That just seems crazy. I think it'll be possible to animate the SVG but probably in a more Flutter-driven way.
- Interactivity/events in SVG.
- Any CSS support - preprocess your SVGs (perhaps with [usvg](https://github.com/RazrFalcon/resvg/tree/master/usvg) or [scour](https://github.com/scour-project/scour) to get rid of all CSS?).
- Any CSS support - preprocess your SVGs (perhaps with [usvg](https://github.com/RazrFalcon/resvg/tree/master/crates/usvg) or [scour](https://github.com/scour-project/scour) to get rid of all CSS?).
- Scripting in SVGs
- Foreign elements
- Rendering properties/hints

## Recommended Adobe Illustrator SVG Configuration
- In Styling: choose Presentation Attributes instead of Inline CSS because CSS is not fully supported.
- In Images: choose Embded not Linked to other file to get a single svg with no dependency to other files.
- In Objects IDs: choose layer names to add every layer name to svg tags or you can use minimal,it is optional.
![Export configuration](https://user-images.githubusercontent.com/2842459/62599914-91de9c00-b8fe-11e9-8fb7-4af57d5100f7.png)
## SVG sample attribution

SVGs in `/assets/w3samples` pulled from [W3 sample files](https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/)

SVGs in `/assets/deborah_ufw` provided by @deborah-ufw

SVGs in `/assets/simple` are pulled from trivial examples or generated to test
basic functionality - some of them come directly from the SVG 1.1 spec. Some
have also come or been adapted from issues raised in this repository.

SVGs in `/assets/wikimedia` are pulled from [Wikimedia Commons](https://commons.wikimedia.org/wiki/Main_Page)

Android Drawables in `/assets/android_vd` are pulled from Android Documentation
and examples.

The Flutter Logo created based on the Flutter Logo Widget © Google.

The Dart logo is from
[dartlang.org](https://github.com/dart-lang/site-shared/blob/master/src/_assets/images/dart/logo%2Btext/horizontal/original.svg)
© Google

SVGs in `/assets/noto-emoji` are from [Google i18n noto-emoji](https://github.com/googlei18n/noto-emoji),
licensed under the Apache license.

Please submit SVGs this can't render properly (e.g. that don't render here the
way they do in chrome), as long as they're not using anything "probably out of
scope" (above).

## Alternatives

- [vector_graphics](https://pub.dev/packages/vector_graphics) which powers this package.
- [Rive](https://rive.app/) supports importing SVGs and animating vector graphics.
- [FlutterShapeMaker](https://fluttershapemaker.com) supports converting SVGs to [CustomPaint](https://api.flutter.dev/flutter/widgets/CustomPaint-class.html) widgets.
- [Jovial SVG](https://pub.dev/packages/jovial_svg) supports a slightly different feature set and a fast binary format.
10 changes: 4 additions & 6 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
# Android Studio, and the `flutter analyze` command.

analyzer:
strong-mode:
implicit-casts: false
implicit-dynamic: false
language:
strict-casts: true
strict-raw-types: true
errors:
# treat missing required parameters as a warning (not a hint)
missing_required_param: warning
Expand Down Expand Up @@ -50,6 +50,7 @@ linter:
# - avoid_catching_errors # we do this commonly
- avoid_classes_with_only_static_members
# - avoid_double_and_int_checks # only useful when targeting JS runtime
- avoid_equals_and_hash_code_on_mutable_classes
- avoid_empty_else
- avoid_field_initializers_in_const_classes
- avoid_function_literals_in_foreach_calls
Expand Down Expand Up @@ -90,12 +91,10 @@ linter:
- hash_and_equals
- implementation_imports
# - invariant_booleans # too many false positives: https://github.com/dart-lang/linter/issues/811
- iterable_contains_unrelated_type
# - join_return_with_assignment # not yet tested
- library_names
- library_prefixes
# - lines_longer_than_80_chars # not yet tested
- list_remove_unrelated_type
# - literal_only_boolean_expressions # too many false positives: https://github.com/dart-lang/sdk/issues/34181
- no_adjacent_strings_in_list
- no_duplicate_case_values
Expand All @@ -119,7 +118,6 @@ linter:
- prefer_const_literals_to_create_immutables
# - prefer_constructors_over_static_methods # not yet tested
- prefer_contains
- prefer_equal_for_default_values
# - prefer_expression_function_bodies # conflicts with https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#consider-using--for-short-functions-and-methods
- prefer_final_fields
- prefer_final_locals
Expand Down
8 changes: 0 additions & 8 deletions example/.metadata

This file was deleted.

Binary file removed example/android/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
Loading