Nekoton repository package
❗ In order to start using Nekoton Repository you must have the Flutter SDK installed on your machine.
Add nekoton_repository to your pubspec.yaml
:
dependencies:
nekoton_repository:
Setup DI:
@InjectableInit(
externalPackageModulesBefore: [
ExternalModule(NekotonRepositoryPackageModule),
],
)
void configureDependencies() => getIt.init();
Init:
Future<void> configureNekoton() async {
final nekotonRepository = inject<NekotonRepository>();
await nekotonRepository.setupNekotonAndStorage(
storage: inject<NekotonStorageService>(),
);
}
Using melos makes it very easy to work with the project, so enjoy.
You can run any job interactively run running melos run
and selecting needed case or directly (e.g. melos run test
).
Melos takes care about dependencies of all packages, including managing of local-generated library version. So, just run:
melos bs
This thing will run all code generators for all packages:
$ melos run codegen
Just run commands below to clean all, including build directories and flutter projects.
melos clean
You can run all tests at one by running this command.
melos run test
You can run code analysis:
melos run analyze
melos run check-format
will check, melos run format
will fix dart code formatting.
melos run check-format
melos run format
melos run check-all
will ckeck, analyze and run all tests.
melos run check-all
This magic will update version and build our library automatically using commit messages and tags. Conventional Commits is a lightweight convention on top of commit messages.
Package version control is done by melos. It runs by gh action 'Create version PR' melos version -a --yes
.
Nekoton Repository comes with a built-in GitHub Actions workflow powered by Very Good Workflows but you can also add your preferred CI/CD solution.
Out of the box, on each pull request and push, the CI formats
, lints
, and tests
the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses Very Good Analysis for a strict set of analysis options used by our team. Code coverage is enforced using the Very Good Workflows.