sip_cli 0.13.2 sip_cli: ^0.13.2 copied to clipboard
Manage mono-repos with `sip`, run scripts and get dependencies concurrently.
0.13.2 | 11.21.2024 #
Features #
- Support querying scripts from
sip list
- Usage:
sip list [query] [arguments]
- Searches for
- Script keys that contain the query string
- Aliases that match the query string
- Descriptions that contain the query string
- Usage:
0.13.0 | 11.20.2024 #
Features #
- Pass packages to
sip pub upgrade
when provided- e.g.
sip pub upgrade analyzer test
will run<dart|flutter> pub upgrade analyzer test
- e.g.
- Create new
sip pub constrain
command- Constrains all dependency versions in the
pubspec.yaml
file
- Constrains all dependency versions in the
- Create new
sip pub deps
command- Lists all dependencies in the
pubspec.yaml
file by running<dart|flutter> pub deps
- Lists all dependencies in the
- Add
--unlock-transitive
flag tosip pub upgrade
command- This will unlock all transitive dependencies when upgrading packages
- Create new
sip pub downgrade
command- Downgrades all dependencies in the
pubspec.yaml
file by running<dart|flutter> pub downgrade
- Downgrades all dependencies in the
Enhancements #
- Always include a space after the label when running scripts concurrently to format the output better
0.12.0+3 | 10/30/2024 #
Features #
- Run all Env commands at the start of all scripts
- Skips this when there are no env commands to run
- Update check that the file to the env exists before running the command
- Exits with 1 if the file does not exist
- Skip test directories that have no files to test when optimizing tests
0.10.0 | 9/25/2024 #
Features #
- Search for barrel file to include in optimized test files
- This is to better support coverage reports
- By including this import statement, files without tests will be included in the coverage report
- The barrel file must be named after the project directory or package name and reside in the
lib
directory- eg.
domain/lib/domain.dart
orlib/my_package.dart
- eg.
0.9.1 | 9/11/2024 #
0.8.2 | 7/26/2024 #
Features #
-
Support multiple env files
my-script: (command): echo $MY_ENV_VAR (env): - .env - .env.local
0.8.1 | 7/26/2024 #
Features #
-
Support env files for scripts
my-script: (command): echo $MY_ENV_VAR (env): .env
0.7.1 | 6/7/2024 #
0.7.0 | 6/7/2024 #
Breaking Changes #
- Revert change to run dart and flutter commands separately
- To continue running dart and flutter commands separately, use the
--separated
flag
- To continue running dart and flutter commands separately, use the
0.6.1 | 6/3/2024 #
Fixes #
- Issue where exception was thrown if
bail
flag was not defined inArgParser
0.6.0 | 5/8/2024 #
Features #
-
Support running specific tests by providing a test file or directory
sip test ./test/my_test.dart
sip test ./test
-
Create new
clean
command- Removes all
.dart_tool
andbuild
directories in dart & flutter packages - Run
flutter clean
in flutter packages
- Removes all
-
Increase retry time frame from 2s to 4s for
flutter pub get
command
0.5.0 | 5/1/2024 #
Breaking Changes #
- Add
--no-pub
when testing Flutter packages
Enhancements #
- Update copy when testing packages to
- Display Flutter test type
- Display args
- Update colors for better readability
Features #
- Speed up getting dependencies via an internal auto-retry mechanism
- For whatever reason, dart/flutter will hang after dependencies are retrieved for a lengthy amount of time. SIP_CLI will now auto-retry if the
pub get
command has been running for too long
- For whatever reason, dart/flutter will hang after dependencies are retrieved for a lengthy amount of time. SIP_CLI will now auto-retry if the
0.4.6 | 4/11/2024 #
- Downgrade args dependency to <2.5.0
0.4.5 | 4/10/2024 #
Features #
- Support different flutter test types to avoid clashing during tests
TestWidgetsFlutterBinding
,AutomatedTestWidgetsFlutterBinding
,LiveTestWidgetsFlutterBinding
can be used to specify the types of tests to run and CANNOT be used together- SIP_CLI will create a new test file for each type of test to avoid clashing
0.4.4 | 3/25/2024 #
Fixes #
- Fix issue where tests were not run without passing an argument to the
sip test
command
0.4.2 | 3/15/2024 #
Fixes #
- Create alternative flags for the
--coverage
flags as they exist in both flutter and dart but accept different arguments--coverage
for dart is changed to--dart-coverage
--coverage
for flutter is changed to--flutter-coverage
Features #
- Support running pub commands for dart or flutter packages only
- If the
--coverage
flag is provided in thesip test
command, default values will be provided to dart and flutter- Dart: Coverage is enabled and sets the coverage directory to
coverage
- Flutter: coverage is enabled
- Dart: Coverage is enabled and sets the coverage directory to
- Add
--ignore-lockfile-exit
flag tosip pub get
command- When using
--enforce-lockfile
, if the lockfile is not up to date, the command will exit with a non-zero exit code. When using--ignore-lockfile-exit
, the command ignore the non-zero exit. Even if the lockfile is not up to date, the dependencies will still be retrieved.
- When using
Enhancements #
- Update copy for the
--version-check
flag
0.4.0 | 3/12/2024 #
Breaking Changes #
- Rename
.optimized_test.dart
to.test_optimizer.dart
- Helps avoid unintentionally running optimized tests
- Rename
--run
to--scope
for thesip test watch
command - Rename
package
toactive
for improved comprehension regarding the test scope for thesip test watch
command
Features #
- Create a new command to clean up optimized test files
sip test clean
Enhancements #
- Wait for a max of 1 second to check for the latest version for
sip_cli
0.3.0 | 3/12/2024 #
0.2.4 | 3/8/2024 #
0.2.3+1 | 3/8/2024 #
Fix #
- Fix issue where
--no-optimize
ran each test file individually - Fix stopwatch stamp formatting
0.2.2 | 3/8/2024 #
0.2.1 | 3/7/2024 #
Enhancements #
- Print first line of command before executing when running scripts non-concurrently
0.2.0+1 | 3/7/2024 #
Breaking Change #
- Remove
--disable-concurrency
in the sip run command- in favor of
--no-concurrent
flag - This is in efforts to keep the flag names consistent
- in favor of
- Dropping use of
sip_console
in favor ofmason_logger
Features #
- Update logging to be more consistent
- Add stopwatch to print statements
- Handle non-null non-string values in script definitions
- ints & bools for example
- Maps are not supported however
Enhancements #
- Use stream controller instead of
Future.wait
to run concurrent commands- Better control over commands
- The ability to bail faster on failure
- Drop use of get_it for dependency injection
- This was overkill 😅
- Ensure that script exists before running with
--never-exit
flag
0.1.2+1 | 3/6/2024 #
Features #
- Add
--never-exit
flag tosip run
command- This will prevent the command from ever exiting, even if a command fails
- This is useful for running a command that will be restarted by another process
- For example, build_runner will stop running whenever the project's dependencies change
- Please use with Caution! There is a second delay between each command run to prevent a runaway process
- The process can be stopped by pressing
ctrl+c
0.1.1 | 3/5/2024 #
Enhancements #
- Add very_good_analysis for linting
- Fix lint warnings
- Restructure Readme
0.1.0 | 3/4/2024 #
Breaking Changes #
- Remove
run-many
command- Use
run
with the--concurrent
flag instead
- Use
Features #
- Add
--concurrent
flag torun
command- This will run all scripts in parallel, regardless of the concurrent symbol defined within the script
- Add
--disable-concurrency
flag torun
command- This will run all scripts in serial, regardless of the concurrent symbol defined within the script
- Add
sip test
command- Runs projects tests
- Can recursively search for
test
directories - Can run concurrent tests
- Passes most dart & flutter args to the
test
command
- Can recursively search for
- Runs projects tests
Enhancements #
- Speed up recursive search for sub-packages using
glob
- Update README
- To include new
test
command - To remove
run-many
command - Spelling and grammar updates
- To include new
- Better handle dependency injection
Fixes #
- Fix issue where
--help
was not printing for therun
command
0.0.17 | 2/13/2024 #
0.0.16 | 2/13/2024 #
Features #
- Add parsing support for chained short flags (
sip run my-script -abc
)
0.0.13 | 2/12/2024 #
Features #
- Allow any args to be provided in any order without the requirement of
--
before any "extra" args.- Before:
sip run-many my-script -- --arg1 --arg2
- After :
sip run-many my-script --arg1 --arg2
- Before:
0.0.10 | 2/12/2024 #
0.0.9 | 2/10/2024 #
0.0.8 | 2/9/2024 #
Fixes #
- Fix issue where bail was not being respected and failing commands were not stopping the script
0.0.5 | 2/9/2024 #
Features #
- Support individual concurrent commands with
(+)
- Support defining variables in
scripts.yaml
to use in commands - Support defining private scripts in
scripts.yaml
to use as references - Add alias for
run-many
command (r-m
,run-m
)
Enhancements #
- Tighten key pattern matching
- Improve color output when listing scripts, lighten color for scripts without a command definition
Fixes #
- Handle
null
scripts
0.0.4 | 2/9/2024 #
- Add version constraints to dependencies to support adding
sip_cli
to flutter projects
0.0.3 | 1/30/2024 #
- Initial Release