dart_dev 4.2.2 dart_dev: ^4.2.2 copied to clipboard
Centralized tooling for Dart projects. Consistent interface across projects. Easily configurable.
Changelog #
4.2.2 #
- For Dart 3x, use webdev ^3 for the serve task
4.2.1 #
- Update
hackFastFormat
to detect and respect the project'sorganizeDirectives
configuration.
4.2.0 #
- Add a
clean
command by default that removes temporary files used by dart_dev, like the compiled version of the run script. - Use
dart compile exe
to compile the.dart_tool/dart_dev/run.dart
script for better startup performance on subsequent runs. This compilation step will be cached untiltool/dart_dev/config.dart
, the installed packages, or the current Dart SDK is changed. - Updated dependencies to allow analyzer 6, lints 4
- Require Dart SDK minimum of 2.19
4.1.1 #
- Optimization pass to reduce filesystem iteration.
4.1.0 #
- Raise maximum SDK to include Dart 3.
4.0.3 #
- Fix generation of the run script that the
dart_dev
CLI uses so that it can run with sound null safety (and thus run on Dart 3).
4.0.1 #
- Fix type mismatch between the expected return type of the function passed to
DevTool.fromFunction()
and theDevTool.run()
method. The updated type is more permissive and so should not be breaking.
4.0.0 #
- Migrated to null safety. The new SDK minimum is 2.18
- Fixes lints on Dart 2.18
- Formatting changes on Dart 2.18
- Replace deprecated pedantic package with lints package
3.9.2 #
- Automatically use
dart analyze
instead ofdartanalyzer
when on Dart SDK v2.18 or higher (dartanalyzer
was removed in this version). - Automatically use
dart format
instead ofdartfmt
when on Dart SDK v2.15 or higher (dartfmt
was removed in this version).
3.9.1 #
- Fixes to be compatible with Windows.
3.9.0 #
- Add an
organizeDirectives
option to theFormatTool
(default false). When true, the formatter will also sort a file's imports and exports.
3.8.8 #
- CI tweaks.
3.8.7 #
- Allow analyzer v2.
3.8.6 #
- Widen dependency ranges.
3.8.5 #
- Fix errors when running in mixed-version packages that have opted into null safety via pubspec.yaml.
3.8.4 #
- Replace deprecated CLI command.
3.8.3 #
- CI improvement.
3.8.2 #
- Update
TestTool
to allow arguments after a separator (--
). These arguments will always be passed to thedart test
process. The main use case for this is integration with IDE plugins that enable running tests directly from the IDE. - Update
FunctionTool
to allow arguments after a separator (--
). There isn't a strong reason to disallow this since the function tool could do anything it wants with those args (and now we have a concrete use case for just that). - Fix a bug in
takeAllArgs
(the arg mapper util used withCompoundTool
) so that it now properly restores the first separator (--
) if present in the original arguments list.
3.8.1 #
- Tech debt: use the new
dart
CLI everywhere.
3.8.0 #
- Upgrade to analyzer ^1.0.0 and build_runner to ^2.0.0. This also brings along several other dependency upgrades.
3.7.0 #
- Export ArgResults utilities.
3.6.7 #
- Treat Dart 2.13.4 as the primary Dart SDK for development and CI.
3.6.6 #
- Only use build_runner to run tests if the package has direct dependencies on
both
build_runner
andbuild_test
(previously we only checked forbuild_test
). For packages that contain builder implementations, they will likely have a dependency onbuild_test
for use in their builder tests, but don't need to run tests viabuild_runner
.
3.6.5 #
- Widen dependency ranges to allow resolution on Dart 2.7 and Dart 2.13
- Switch to GitHub actions for CI
3.6.4 #
- Widen
analyzer
constraint to>=0.39.0 <0.42.0
3.6.1 #
- Fix issue where tests that load a deferred library would throw an exception
when run with
pub run dart_dev test --path/to/file.dart
.
3.6.0 #
- Support a faster format command for better integration with JetBrains file watching for format-on-save functionality.
3.5.0 #
- Added an optional
collapseDirectories
param toFormatTool.getInputs()
. Whentrue
, it will return the smallest list of inputs possible by returning parent directories instead of all of its individual children file paths whenever it can. This behavior is now enabled by default when using theFormatTool
directly. It has no effect if there are noexclude
globs configured.
3.4.0 #
- Added
BackgroundProcessTool
to make it easier to run background processes as a part of aCompoundTool
.
3.3.0 #
- Added the
--reporter
option toTestTool
so that a reporter can be selected directly instead of having to use--test-args="--reporter <reporter>"
.
3.2.2 #
- Remove unnecessary newlines from
CompoundTool
output. - Remove deprecated
authors
field frompubspec.yaml
3.2.0 + 3.2.1 #
- Add an optional
String workingDirectory
parameter when creating aDevTool.fromProcess()
orProcessTool()
. - Expose the
Process
created by aProcessTool
via a public field. - Fix release configuration (the 3.2.0 release did not get created properly).
- Add SDK constraints to all of the test fixture
pubspec.yaml
files.
3.1.0 #
- Update
FormatTool.getInputs()
to support an optionalfollowLinks
param. When enabled, links will be followed instead of skipped. - Export the
FormatterInputs
class that is the return type ofFormatTool.getInputs()
.
3.0.0 #
This is a major release of dart_dev
with breaking changes. It is also the
first release that drops support for Dart 1.
2.0.6 #
- Improvement: On dart 2, the
test
task now properly sets a non-zero exit code if the build fails. As a result, it also no longer runs a separatepub run build_runner build
prior to running tests.
2.0.5 #
-
Improvement: Added
config.test.deleteConflictingOutputs
that when enabled will include the--delete-conflicting-outputs
flag when running tests viabuild_runner
. -
Bug Fix: Fix a type-related RTE in the
TaskProcess
class.
2.0.4 #
- Bug Fix: When on Dart 2 and the package has a dependency on
build_test
, thetest
task will now properly exit with a non-zero exit code if the build fails.
2.0.3 #
- Feature: Use
--disable-serve-std-out
or setconfig.test.disableServeStdOut = true
with thetest
task to silence the pub serve output.
2.0.2 #
-
Improvement: The test task now fails early if running on Dart 2 with either the
dartium
orcontent-shell
platforms are selected. -
Bug Fix: Prevent a null exception in the reporter when running on Dart
=2.1.0.
2.0.1 #
December 11, 2018
- Bug Fix: The format task now ignores the
.dart_tool/
directory. Prior to this, it would try to format.dart
files in.dart_tool/
, often resulting inProcessException: Argument list too long
errors.
2.0.0 #
October 11, 2018
-
BREAKING CHANGE:
docs
,examples
, andsaucelabs
tasks have been removed. -
BREAKING CHANGE:
ExamplesTask
andserveExamples
have been removed from thepackage:dart_dev/api.dart
entry point. -
BREAKING CHANGE:
SaucePlatform
and the constant platform instances have been removed from thepackage:dart_dev/dart_dev.dart
entry point. -
Improvement: Dart 2 compatible!
Notable change to the
test
task: Pub serve functionality is now ignored when running thetest
task on Dart 2, as that functionality was removed from the pub executable as a part of the Dart 2.0.0 SDK release. To accommodate this change, thetest
task will now run tests viabuild_runner test
when on Dart 2 and whenbuild_test
is found in your package'spubspec.yaml
.Caveat: The
coverage
task exits with a non-zero exit code immediately when run on Dart2, as there is not yet any support for collecting coverage from browser tests.
1.10.1 #
October 9, 2018
-
Deprecations: The following members of the
package:dart_dev/dart_dev.dart
entry point have been deprecated and will be removed in 2.0.0:SaucePlatform
const SaucePlatform chrome
const SaucePlatform chromeWindows
const SaucePlatform chromeOsx
const SaucePlatform firefoxWindows
const SaucePlatform firefoxOsx
const SaucePlatform safari
const SaucePlatform ie10
const SaucePlatform ie11
1.10.0 #
October 8, 2018
-
New Tasks:
dart1-only
anddart2-only
Use these tasks to conditionally run another dart_dev task or an arbitrary shell command only when running on Dart1 or Dart2.
# Run a dart_dev task only on Dart1: $ ddev dart1-only test # Run a dart_dev task with additional args only on Dart1: $ ddev dart1-only -- format --check # Run an shell script only on Dart1: $ ddev dart1-only ./example.sh # Run an executable with additional args only on Dart1: $ ddev dart1-only -- pub serve web --port 8080 # The `dart2-only` task works exactly the same, but only runs on Dart2: $ ddev dart2-only test $ ddev dart2-only -- format --check $ ddev dart2-only ./example.sh $ ddev dart2-only -- pub run build_runner serve web:8080
-
Deprecated Tasks:
docs
,examples
, andsaucelabs
.These three tasks have been deprecated and will be removed in 2.0.0.
1.1.2 #
March 22, 2016
-
Bug fix: The test reporter output now respects the
--no-color
flag. -
Bug fix: The test task was previously running the unit test suite even when it was disabled. This has been fixed. Additionally, passing in individual test files/directories overrides the unit and integration suites.
1.1.1 #
February 24, 2016
- Bug fix: 1.1.0 introduced a regression that caused the test task to no
longer default to running the unit test suite and instead run all tests in the
test/
directory when the--unit
flag was not explicitly set. This has been fixed and should match the behavior from before 1.1.0.
1.1.0 #
February 23, 2016
-
Improvement: Set the coverage task's exit code to non-zero when a test fails.
-
Improvement: Add support for the
-n, --name
arg for the test task. -
Bug fix: Catch and silence exception when reading a non-utf8 file during the copy-license task.
-
Bug fix: Make sure the test task observes the
--no-unit
flag.
1.0.6 #
December 16, 2015
-
Improvement:
--strong
flag added to the Analyze task. -
Improvement: The Analyze task's
--fatal-hints
flag is now implemented by utilizing the--fatal-hints
flag ondartanalyzer
instead of parsing the output. -
Documentation: Add zsh completion instructions to the README.
1.0.5 #
November 25, 2015
New Feature: pub server support for tests and coverage #
-
The Test and Coverage tasks now take a
--pub-serve
flag that will automatically spin up a pub server that is used to run the tests. -
Tests that require a pub transformer can now be run by passing in this flag!
Changes #
- Improvement:
--fatal-hints
flag added to the Analyze task.
1.0.4 #
November 20, 2015
-
Tooling: Bash completions are available in the
tool/
directory! See the README for installation instructions. -
Bug Fix: Dart 1.13 introduced a change to the
dart2js
output on which the coverage task relied fordart:html
detection. This has been fixed.
1.0.3 #
November 12, 2015
-
Improvement: The test task can now run individual test files:
ddev test test/path/to/test.dart
-
Improvement: Widen the
dartdoc
dependency range.
1.0.2 #
October 15, 2015
-
Improvement: The copy-license task now trims empty leading and trailing lines.
-
Bug Fix: Coverage task no longer incorrectly ignores test files that don't end in
_test.dart
.
1.0.1 #
September 8, 2015
New Task: docs
#
-
ddev docs
orpub run dart_dev docs
-
Documentation generation via the dartdoc package.
Changes #
-
Improvement: The
coverage
task now checks for thelcov
dependency before trying to generate the HTML report. If missing, installation instructions are given. -
Improvement: The dependency range for the
dart_style
package has been widened to>=0.1.8 <0.3.0
to avoid dependency version conflicts. -
Bug Fix: Fixed a bug that could prevent the HTML coverage report from being opened automatically.
-
Bug Fix: When running the
examples
task, pub serve errors no longer cause the process to exit prematurely.
1.0.0 #
August 20, 2015
- Initial version of dart_dev