From 64f7efd65d926964808dacceb989bf5c5d0a14cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 28 Jun 2026 12:18:09 +0000 Subject: [PATCH 1/2] Bump melos from 6.3.3 to 8.0.0 Bumps [melos](https://github.com/invertase/melos/tree/main/packages) from 6.3.3 to 8.0.0. - [Changelog](https://github.com/invertase/melos/blob/main/CHANGELOG.md) - [Commits](https://github.com/invertase/melos/commits/melos-v8.0.0/packages) --- updated-dependencies: - dependency-name: melos dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 49cf0ed..ad98e45 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,5 +5,5 @@ environment: sdk: '>=3.2.3 <4.0.0' dev_dependencies: - melos: ^6.1.0 + melos: ^8.0.0 From d33f924566b735270e940c6637436336921c07ef Mon Sep 17 00:00:00 2001 From: Anindya Chatterjee Date: Sun, 28 Jun 2026 18:45:41 +0530 Subject: [PATCH 2/2] chore: migrate to melos 8 and bump to dart 3.5.0 workspaces - Upgrade SDK constraint to >=3.5.0 <4.0.0 across all packages - Remove melos.yaml and move config to root pubspec.yaml - Enable Dart Workspaces resolution - Bump all package major versions and add CHANGELOG notes - Downgrade test dependency in nitrite_generator to fix workspace conflict --- examples/nitrite_demo/CHANGELOG.md | 4 + .../linux/flutter/generated_plugins.cmake | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 2 - examples/nitrite_demo/pubspec.yaml | 12 ++- examples/nitrite_demo/pubspec_overrides.yaml | 8 -- .../windows/flutter/generated_plugins.cmake | 1 + melos.yaml | 92 ------------------- packages/nitrite/CHANGELOG.md | 4 + .../lib/src/store/memory/in_memory_meta.dart | 5 +- packages/nitrite/pubspec.yaml | 9 +- packages/nitrite/pubspec_overrides.yaml | 4 - packages/nitrite_generator/CHANGELOG.md | 4 + packages/nitrite_generator/pubspec.yaml | 11 ++- .../nitrite_generator/pubspec_overrides.yaml | 4 - packages/nitrite_hive_adapter/CHANGELOG.md | 4 + .../lib/src/store/hive_meta.dart | 1 + packages/nitrite_hive_adapter/pubspec.yaml | 11 ++- .../pubspec_overrides.yaml | 6 -- packages/nitrite_spatial/CHANGELOG.md | 4 + packages/nitrite_spatial/pubspec.yaml | 12 ++- .../nitrite_spatial/pubspec_overrides.yaml | 8 -- packages/nitrite_support/CHANGELOG.md | 4 + packages/nitrite_support/pubspec.yaml | 13 +-- .../nitrite_support/pubspec_overrides.yaml | 8 -- pubspec.yaml | 80 +++++++++++++++- 25 files changed, 148 insertions(+), 164 deletions(-) create mode 100644 examples/nitrite_demo/CHANGELOG.md delete mode 100644 examples/nitrite_demo/pubspec_overrides.yaml delete mode 100644 melos.yaml delete mode 100644 packages/nitrite/pubspec_overrides.yaml delete mode 100644 packages/nitrite_generator/pubspec_overrides.yaml delete mode 100644 packages/nitrite_hive_adapter/pubspec_overrides.yaml delete mode 100644 packages/nitrite_spatial/pubspec_overrides.yaml delete mode 100644 packages/nitrite_support/pubspec_overrides.yaml diff --git a/examples/nitrite_demo/CHANGELOG.md b/examples/nitrite_demo/CHANGELOG.md new file mode 100644 index 0000000..9cf8415 --- /dev/null +++ b/examples/nitrite_demo/CHANGELOG.md @@ -0,0 +1,4 @@ +## 2.0.0 + +* **BREAKING CHANGE**: Upgraded minimum Dart SDK to 3.5.0 and migrated to Dart Workspaces to support Melos 8. + diff --git a/examples/nitrite_demo/linux/flutter/generated_plugins.cmake b/examples/nitrite_demo/linux/flutter/generated_plugins.cmake index 2e1de87..be1ee3e 100644 --- a/examples/nitrite_demo/linux/flutter/generated_plugins.cmake +++ b/examples/nitrite_demo/linux/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/examples/nitrite_demo/macos/Flutter/GeneratedPluginRegistrant.swift b/examples/nitrite_demo/macos/Flutter/GeneratedPluginRegistrant.swift index e777c67..cccf817 100644 --- a/examples/nitrite_demo/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/examples/nitrite_demo/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,8 +5,6 @@ import FlutterMacOS import Foundation -import path_provider_foundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) } diff --git a/examples/nitrite_demo/pubspec.yaml b/examples/nitrite_demo/pubspec.yaml index 8311443..7f0e4f6 100644 --- a/examples/nitrite_demo/pubspec.yaml +++ b/examples/nitrite_demo/pubspec.yaml @@ -3,10 +3,10 @@ description: A simple Flutter project to demonstrate Nitrite database usage. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 1.1.1 +version: 2.0.0 environment: - sdk: ">=3.1.0 <4.0.0" + sdk: '>=3.5.0 <4.0.0' dependencies: flutter: @@ -15,8 +15,8 @@ dependencies: flutter_slidable: ^3.0.0 flutter_riverpod: ^3.0.0 riverpod_annotation: ^4.0.0 - nitrite: ^1.1.1 - nitrite_hive_adapter: ^1.1.1 + nitrite: ^2.0.0 + nitrite_hive_adapter: ^2.0.0 path_provider: ^2.0.15 uuid: ^4.2.0 @@ -26,7 +26,7 @@ dev_dependencies: flutter_lints: ^4.0.0 riverpod_generator: ^4.0.0 build_runner: ^2.4.6 - nitrite_generator: ^1.1.1 + nitrite_generator: ^2.0.0 icons_launcher: ^2.1.3 flutter: @@ -34,3 +34,5 @@ flutter: assets: - assets/ + +resolution: workspace diff --git a/examples/nitrite_demo/pubspec_overrides.yaml b/examples/nitrite_demo/pubspec_overrides.yaml deleted file mode 100644 index a293642..0000000 --- a/examples/nitrite_demo/pubspec_overrides.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# melos_managed_dependency_overrides: nitrite,nitrite_generator,nitrite_hive_adapter -dependency_overrides: - nitrite: - path: ../../packages/nitrite - nitrite_generator: - path: ../../packages/nitrite_generator - nitrite_hive_adapter: - path: ../../packages/nitrite_hive_adapter diff --git a/examples/nitrite_demo/windows/flutter/generated_plugins.cmake b/examples/nitrite_demo/windows/flutter/generated_plugins.cmake index b93c4c3..3ad69c6 100644 --- a/examples/nitrite_demo/windows/flutter/generated_plugins.cmake +++ b/examples/nitrite_demo/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/melos.yaml b/melos.yaml deleted file mode 100644 index c7ee051..0000000 --- a/melos.yaml +++ /dev/null @@ -1,92 +0,0 @@ -name: Nitrite -repository: https://github.com/nitrite/nitrite-flutter - -packages: - - packages/** - - examples/** - -ignore: - - packages/**/build/** - - examples/**/build/** - -command: - version: - # Generate commit links in package changelogs. - linkToCommits: true - # Only allow versioning to happen on release branch. - branch: release - # Additionally build a changelog at the root of the workspace. - workspaceChangelog: true - bootstrap: - runPubGetInParallel: false - -scripts: - generate: - run: | - melos exec -- dart run build_runner build --delete-conflicting-outputs - description: Run `build_runner` for all package. - - lint:all: - run: melos run analyze && melos run format - description: Run all static analysis checks. - - analyze: - run: | - melos exec -c 10 -- flutter analyze --fatal-infos - description: Run `flutter analyze` for all packages. - - format: - run: melos exec dart format . - description: Run `dart format` for all packages. - - dartdoc: - run: melos exec dart doc . - description: Run dartdoc checks for all packages. - - upgrade: - run: melos exec -- flutter pub upgrade - description: Run `flutter pub upgrade` for all packages. - - test: - run: | - melos run test-with-coverage --no-select - description: | - Run all tests available with coverage. - - test:without-coverage: - run: | - melos run test-without-coverage --no-select - description: | - Run all tests available without coverage - - test-with-coverage: - run: > - melos run generate && - melos exec -c 6 --fail-fast --ignore="*generator*" --ignore="*demo*" -- flutter test --coverage --no-pub && - melos exec -c 6 --fail-fast --scope="*generator*" -- dart pub global run coverage:test_with_coverage && - melos exec -c 1 --file-exists=coverage/lcov.info --scope="nitrite" -- lcov --ignore-errors unused --remove coverage/lcov.info "lib/src/migration/*" "lib/src/transaction/*" "lib/src/index/fulltext/stop_words.dart" && - melos exec --ignore="*demo*" -- genhtml coverage/lcov.info --output-directory=coverage/ && - melos exec -c 1 --file-exists=coverage/lcov.info -- coverde filter --input ./coverage/lcov.info --output MELOS_ROOT_PATH/coverage/filtered.lcov.info --filters \.g\.dart && - coverde value -i coverage/filtered.lcov.info --file-coverage-log-level=none > MELOS_ROOT_PATH/coverage/result.txt - description: Run `flutter test` for a specific package with coverage. - - test-without-coverage: - run: > - melos run generate && - melos exec -c 6 --fail-fast --ignore="*generator*" --ignore="*demo*" -- flutter test --no-pub && - melos exec -c 6 --fail-fast --scope="*generator*" -- dart test - description: Run `flutter test` for a specific package without coverage. - - clean:deep: - run: git clean -x -d -f -q - description: Clean things very deeply, can be used to establish "pristine checkout" status. - - clean: - run: melos exec -- flutter clean - description: Run `flutter clean` for all packages. - - publish: - run: | - melos run generate && - melos exec --ignore="*demo*" -- dart pub publish --force - description: Run `flutter pub publish` for all packages. \ No newline at end of file diff --git a/packages/nitrite/CHANGELOG.md b/packages/nitrite/CHANGELOG.md index 4c70725..aab713b 100644 --- a/packages/nitrite/CHANGELOG.md +++ b/packages/nitrite/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 + +* **BREAKING CHANGE**: Upgraded minimum Dart SDK to 3.5.0 and migrated to Dart Workspaces to support Melos 8. + ## 1.1.2 - Widened the `rxdart` dependency constraint to `^0.28.0` to support its latest version. diff --git a/packages/nitrite/lib/src/store/memory/in_memory_meta.dart b/packages/nitrite/lib/src/store/memory/in_memory_meta.dart index 2c237b0..9c7471e 100644 --- a/packages/nitrite/lib/src/store/memory/in_memory_meta.dart +++ b/packages/nitrite/lib/src/store/memory/in_memory_meta.dart @@ -1,3 +1,6 @@ /// DO NOT EDIT THIS FILE EXCEPT TO ENTER INITIAL VERSION AND OTHER META INFO /// THIS FILE IS AUTOMATICALLY OVER WRITTEN BY MetaUpdate -Map meta = {"version": "1.1.2"}; +Map meta = { + "version": "2.0.0", +}; + \ No newline at end of file diff --git a/packages/nitrite/pubspec.yaml b/packages/nitrite/pubspec.yaml index 67f7cc9..3edee01 100644 --- a/packages/nitrite/pubspec.yaml +++ b/packages/nitrite/pubspec.yaml @@ -1,11 +1,11 @@ name: nitrite description: An embedded nosql document store for dart/flutter. It supports both in-memory and file based persistent store. -version: 1.1.2 +version: 2.0.0 homepage: https://nitrite.dizitart.com/ repository: https://github.com/nitrite/nitrite-flutter environment: - sdk: '^3.11.4' + sdk: '>=3.5.0 <4.0.0' dependencies: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter flutter_lints: ">=3.0.1 <5.0.0" build_runner: ^2.3.3 - nitrite_generator: ^1.1.1 + nitrite_generator: ^2.0.0 mockito: ^5.2.0 test: ^1.24.6 faker: ^2.0.0 @@ -35,4 +35,5 @@ flutter: - pubspec.yaml funding: - - https://github.com/sponsors/anidotnet \ No newline at end of file + - https://github.com/sponsors/anidotnet +resolution: workspace diff --git a/packages/nitrite/pubspec_overrides.yaml b/packages/nitrite/pubspec_overrides.yaml deleted file mode 100644 index ff0920a..0000000 --- a/packages/nitrite/pubspec_overrides.yaml +++ /dev/null @@ -1,4 +0,0 @@ -# melos_managed_dependency_overrides: nitrite_generator -dependency_overrides: - nitrite_generator: - path: ../nitrite_generator diff --git a/packages/nitrite_generator/CHANGELOG.md b/packages/nitrite_generator/CHANGELOG.md index e0bf7ab..71a2625 100644 --- a/packages/nitrite_generator/CHANGELOG.md +++ b/packages/nitrite_generator/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 + +* **BREAKING CHANGE**: Upgraded minimum Dart SDK to 3.5.0 and migrated to Dart Workspaces to support Melos 8. + ## 1.1.2 - Migrated to `analyzer` 13.x, `source_gen` 4.x, `build` 4.x and `dart_style` 3.x, including the updated analyzer element model API. diff --git a/packages/nitrite_generator/pubspec.yaml b/packages/nitrite_generator/pubspec.yaml index 5490247..cf95e99 100644 --- a/packages/nitrite_generator/pubspec.yaml +++ b/packages/nitrite_generator/pubspec.yaml @@ -1,11 +1,11 @@ name: nitrite_generator description: Nitrite entity generator. Automatically generates Nitrite entities from Dart classes. -version: 1.1.2 +version: 2.0.0 homepage: https://nitrite.dizitart.com/ repository: https://github.com/nitrite/nitrite-flutter environment: - sdk: '>=3.2.3 <4.0.0' + sdk: '>=3.5.0 <4.0.0' dependencies: build: ">=2.4.0 <5.0.0" @@ -14,14 +14,15 @@ dependencies: dart_style: ">=3.0.0 <4.0.0" source_gen: ">=4.2.3 <5.0.0" analyzer: ">=12.0.0 <15.0.0" - nitrite: ^1.1.1 + nitrite: ^2.0.0 collection: ^1.19.1 dev_dependencies: build_test: ^3.5.15 build_runner: ">=2.15.0 <4.0.0" - test: ^1.31.2 + test: ^1.24.6 lints: ^4.0.0 funding: - - https://github.com/sponsors/anidotnet \ No newline at end of file + - https://github.com/sponsors/anidotnet +resolution: workspace diff --git a/packages/nitrite_generator/pubspec_overrides.yaml b/packages/nitrite_generator/pubspec_overrides.yaml deleted file mode 100644 index b4925e2..0000000 --- a/packages/nitrite_generator/pubspec_overrides.yaml +++ /dev/null @@ -1,4 +0,0 @@ -# melos_managed_dependency_overrides: nitrite -dependency_overrides: - nitrite: - path: ../nitrite diff --git a/packages/nitrite_hive_adapter/CHANGELOG.md b/packages/nitrite_hive_adapter/CHANGELOG.md index 83aafa5..084e889 100644 --- a/packages/nitrite_hive_adapter/CHANGELOG.md +++ b/packages/nitrite_hive_adapter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 + +* **BREAKING CHANGE**: Upgraded minimum Dart SDK to 3.5.0 and migrated to Dart Workspaces to support Melos 8. + ## 1.1.3 - Renamed the `isSorted` test helper to avoid a name collision with the latest `matcher` package so the test suite compiles in CI. diff --git a/packages/nitrite_hive_adapter/lib/src/store/hive_meta.dart b/packages/nitrite_hive_adapter/lib/src/store/hive_meta.dart index 99a9a9e..e42e062 100644 --- a/packages/nitrite_hive_adapter/lib/src/store/hive_meta.dart +++ b/packages/nitrite_hive_adapter/lib/src/store/hive_meta.dart @@ -3,3 +3,4 @@ Map meta = { "version": "2.2.3", }; + \ No newline at end of file diff --git a/packages/nitrite_hive_adapter/pubspec.yaml b/packages/nitrite_hive_adapter/pubspec.yaml index d7e535a..a7d759e 100644 --- a/packages/nitrite_hive_adapter/pubspec.yaml +++ b/packages/nitrite_hive_adapter/pubspec.yaml @@ -1,16 +1,16 @@ name: nitrite_hive_adapter description: A persistent storage module for Nitrite database based on Hive. -version: 1.1.3 +version: 2.0.0 homepage: https://nitrite.dizitart.com/ repository: https://github.com/nitrite/nitrite-flutter environment: - sdk: '>=3.2.3 <4.0.0' + sdk: '>=3.5.0 <4.0.0' dependencies: hive: ^2.2.3 path: ^1.8.3 - nitrite: ^1.1.1 + nitrite: ^2.0.0 path_provider: ^2.1.1 logging: ^1.0.2 meta: ^1.10.0 @@ -21,7 +21,7 @@ dev_dependencies: flutter_lints: ">=3.0.1 <5.0.0" test: ^1.24.6 build_runner: ^2.4.7 - nitrite_generator: ^1.1.1 + nitrite_generator: ^2.0.0 encrypt: ^5.0.3 faker: ^2.0.0 yaml: ^3.1.1 @@ -33,4 +33,5 @@ flutter: - pubspec.yaml funding: - - https://github.com/sponsors/anidotnet \ No newline at end of file + - https://github.com/sponsors/anidotnet +resolution: workspace diff --git a/packages/nitrite_hive_adapter/pubspec_overrides.yaml b/packages/nitrite_hive_adapter/pubspec_overrides.yaml deleted file mode 100644 index cb2655f..0000000 --- a/packages/nitrite_hive_adapter/pubspec_overrides.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# melos_managed_dependency_overrides: nitrite,nitrite_generator -dependency_overrides: - nitrite: - path: ../nitrite - nitrite_generator: - path: ../nitrite_generator diff --git a/packages/nitrite_spatial/CHANGELOG.md b/packages/nitrite_spatial/CHANGELOG.md index 11efd59..ef95909 100644 --- a/packages/nitrite_spatial/CHANGELOG.md +++ b/packages/nitrite_spatial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 + +* **BREAKING CHANGE**: Upgraded minimum Dart SDK to 3.5.0 and migrated to Dart Workspaces to support Melos 8. + ## 1.1.3 - Added the `test` dev dependency so the package test suite compiles and runs in CI. diff --git a/packages/nitrite_spatial/pubspec.yaml b/packages/nitrite_spatial/pubspec.yaml index cc444bf..2caff0b 100644 --- a/packages/nitrite_spatial/pubspec.yaml +++ b/packages/nitrite_spatial/pubspec.yaml @@ -1,15 +1,15 @@ name: nitrite_spatial description: Nitrite Spatial module provides support for spatial queries. The module uses JTS port of the dart package dart_jts for spatial operations. -version: 1.1.3 +version: 2.0.0 homepage: https://nitrite.dizitart.com/ repository: https://github.com/nitrite/nitrite-flutter environment: - sdk: '>=3.2.3 <4.0.0' + sdk: '>=3.5.0 <4.0.0' dependencies: dart_jts: ^0.3.0+1 - nitrite: ^1.1.1 + nitrite: ^2.0.0 hive: ^2.2.3 dev_dependencies: @@ -20,8 +20,8 @@ dev_dependencies: flutter_lints: ">=3.0.1 <5.0.0" test: ^1.24.6 build_runner: ^2.4.7 - nitrite_hive_adapter: ^1.1.1 - nitrite_generator: ^1.1.1 + nitrite_hive_adapter: ^2.0.0 + nitrite_generator: ^2.0.0 path: ^1.8.3 path_provider: ^2.1.1 logging: ^1.0.2 @@ -34,3 +34,5 @@ flutter: funding: - https://github.com/sponsors/anidotnet + +resolution: workspace diff --git a/packages/nitrite_spatial/pubspec_overrides.yaml b/packages/nitrite_spatial/pubspec_overrides.yaml deleted file mode 100644 index 72cad2b..0000000 --- a/packages/nitrite_spatial/pubspec_overrides.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# melos_managed_dependency_overrides: nitrite,nitrite_generator,nitrite_hive_adapter -dependency_overrides: - nitrite: - path: ../nitrite - nitrite_generator: - path: ../nitrite_generator - nitrite_hive_adapter: - path: ../nitrite_hive_adapter diff --git a/packages/nitrite_support/CHANGELOG.md b/packages/nitrite_support/CHANGELOG.md index 0485d09..45c57b8 100644 --- a/packages/nitrite_support/CHANGELOG.md +++ b/packages/nitrite_support/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 + +* **BREAKING CHANGE**: Upgraded minimum Dart SDK to 3.5.0 and migrated to Dart Workspaces to support Melos 8. + ## 1.1.2 - Corrected doc comments to satisfy the latest analysis rules. diff --git a/packages/nitrite_support/pubspec.yaml b/packages/nitrite_support/pubspec.yaml index 0cfd272..b877cc4 100644 --- a/packages/nitrite_support/pubspec.yaml +++ b/packages/nitrite_support/pubspec.yaml @@ -1,15 +1,15 @@ name: nitrite_support description: Support library for Nitrite database to provide some additional features like encryption, import/export database etc. -version: 1.1.2 +version: 2.0.0 homepage: https://nitrite.dizitart.com/ repository: https://github.com/nitrite/nitrite-flutter environment: - sdk: '>=3.2.3 <4.0.0' + sdk: '>=3.5.0 <4.0.0' dependencies: path: ^1.8.0 - nitrite: ^1.1.1 + nitrite: ^2.0.0 compute: ^1.0.2 convert: ^3.1.1 encrypt: ^5.0.1 @@ -20,10 +20,11 @@ dev_dependencies: flutter_lints: ">=3.0.1 <5.0.0" test: ^1.24.6 faker: ^2.0.0 - nitrite_hive_adapter: ^1.1.1 - nitrite_generator: ^1.1.1 + nitrite_hive_adapter: ^2.0.0 + nitrite_generator: ^2.0.0 collection: ^1.16.0 build_runner: ^2.3.3 funding: - - https://github.com/sponsors/anidotnet \ No newline at end of file + - https://github.com/sponsors/anidotnet +resolution: workspace diff --git a/packages/nitrite_support/pubspec_overrides.yaml b/packages/nitrite_support/pubspec_overrides.yaml deleted file mode 100644 index 72cad2b..0000000 --- a/packages/nitrite_support/pubspec_overrides.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# melos_managed_dependency_overrides: nitrite,nitrite_generator,nitrite_hive_adapter -dependency_overrides: - nitrite: - path: ../nitrite - nitrite_generator: - path: ../nitrite_generator - nitrite_hive_adapter: - path: ../nitrite_hive_adapter diff --git a/pubspec.yaml b/pubspec.yaml index ad98e45..dc9caaa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,8 +2,86 @@ name: nitrite_flutter publish_to: none environment: - sdk: '>=3.2.3 <4.0.0' + sdk: '>=3.5.0 <4.0.0' dev_dependencies: melos: ^8.0.0 +workspace: + - packages/nitrite + - packages/nitrite_generator + - packages/nitrite_hive_adapter + - packages/nitrite_spatial + - packages/nitrite_support + - examples/nitrite_demo + +melos: + repository: https://github.com/nitrite/nitrite-flutter + ignore: + - packages/**/build/** + - examples/**/build/** + command: + version: + linkToCommits: true + branch: release + workspaceChangelog: true + bootstrap: + runPubGetInParallel: false + scripts: + generate: + run: | + melos exec -- dart run build_runner build --delete-conflicting-outputs + description: Run `build_runner` for all package. + lint:all: + run: melos run analyze && melos run format + description: Run all static analysis checks. + analyze: + run: | + melos exec -c 10 -- flutter analyze --fatal-infos + description: Run `flutter analyze` for all packages. + format: + run: melos exec dart format . + description: Run `dart format` for all packages. + dartdoc: + run: melos exec dart doc . + description: Run dartdoc checks for all packages. + upgrade: + run: melos exec -- flutter pub upgrade + description: Run `flutter pub upgrade` for all packages. + test: + run: | + melos run test-with-coverage --no-select + description: | + Run all tests available with coverage. + test:without-coverage: + run: | + melos run test-without-coverage --no-select + description: | + Run all tests available without coverage + test-with-coverage: + run: > + melos run generate && + melos exec -c 6 --fail-fast --ignore="*generator*" --ignore="*demo*" -- flutter test --coverage --no-pub && + melos exec -c 6 --fail-fast --scope="*generator*" -- dart pub global run coverage:test_with_coverage && + melos exec -c 1 --file-exists=coverage/lcov.info --scope="nitrite" -- lcov --ignore-errors unused --remove coverage/lcov.info "lib/src/migration/*" "lib/src/transaction/*" "lib/src/index/fulltext/stop_words.dart" && + melos exec --ignore="*demo*" -- genhtml coverage/lcov.info --output-directory=coverage/ && + melos exec -c 1 --file-exists=coverage/lcov.info -- coverde filter --input ./coverage/lcov.info --output MELOS_ROOT_PATH/coverage/filtered.lcov.info --filters \.g\.dart && + coverde value -i coverage/filtered.lcov.info --file-coverage-log-level=none > MELOS_ROOT_PATH/coverage/result.txt + description: Run `flutter test` for a specific package with coverage. + test-without-coverage: + run: > + melos run generate && + melos exec -c 6 --fail-fast --ignore="*generator*" --ignore="*demo*" -- flutter test --no-pub && + melos exec -c 6 --fail-fast --scope="*generator*" -- dart test + description: Run `flutter test` for a specific package without coverage. + clean:deep: + run: git clean -x -d -f -q + description: Clean things very deeply, can be used to establish "pristine checkout" status. + clean: + run: melos exec -- flutter clean + description: Run `flutter clean` for all packages. + publish: + run: | + melos run generate && + melos exec --ignore="*demo*" -- dart pub publish --force + description: Run `flutter pub publish` for all packages.