pub
fvm
Our great sponsors
pub | fvm | |
---|---|---|
21 | 25 | |
1,028 | 4,294 | |
1.4% | 2.3% | |
9.2 | 9.7 | |
3 days ago | 6 days ago | |
Dart | Dart | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pub
-
Writing a Package Manager
Agreed. Version resolution is the interesting problem.
Most package managers use a SAT solver to resolve dependencies. The Dart team has a detailed write up on their SAT-based approach which is worth a read [1]. For contrast, Russ Cox presents an algorithm that doesn't use a SAT solver (intended for Go) [2].
[1] https://github.com/dart-lang/pub/blob/master/doc/solver.md
[2] https://research.swtch.com/vgo-mvs
- Modern SAT solvers: fast, neat and underused (2018)
-
Private pub.dev - is it possible?
Official documentation.
-
Self hosting package repository
As I understand Custom package repositories it's possible to host one's own package repository. The Repository Specification is public, but dart.dev only references cloud based paid services like Cloudsmith and OnePub.
- PubGrub: A next-generation version solving algorithm
-
I am building a pub server. When does the client send the name and version of the package and how can I access it?
As u/Which-Adeptness6908 already pointed out, the repository specification is small, and that's all you need to implement a server: https://github.com/dart-lang/pub/blob/master/doc/repository-spec-v2.md
- So you want to write a package manager
-
Tencent WeChat is now a GitHub secret scanning partner
https://docs.github.com/en/code-security/secret-scanning/sec...
A bit sad, they don't publish the list of regexes, etc.
--------------
I added a similar thing to the package manager for Dart / Flutter, because we saw users accidentally publishing secrets. That code is public, it relies on regexes and entropy estimation:
https://github.com/dart-lang/pub/blob/eb8ee21a089ebe0f2c2dd8...
It was heavily inspired by the researchers in:
-
Another choice of Flutter Version Manager: fvm in shell
Heres are some issues I've faced when trying with the dart-version cli: - The installation - dart pub global activate needs to have flutter/dart global installed already. - Global activated fvm cli got invalid after flutter upgrade, see issue - The cli does not work with customized fork of flutter. - You should run fvm flutter , not flutter , this changes CI/CD workflow
-
Dart on CLI: Foundations
This will add the args dependency in your pubspec file. We used the Darts package manager pub to add this dependency.
fvm
-
My Flutter Development Toolkit 2023: Daily Apps and Software
2.2 - FVM
- Using different flutter versions per-project
-
Flutter Version Management (FVM)
Repositorio Github
-
Udemy Old Code
For Flutter, if you're not working on other projects you can just downgrade your installation to the same version used on the course using the flutter channel command on the command line. If you have other projects then you can use FVM to manage multiple versions of Flutter.
- Downgrade Issue
-
Another choice of Flutter Version Manager: fvm in shell
I'm a frontend developer and recently have some work to do with Flutter, need to switch Flutter version in different projects. For Nodejs we have nvm to manage and switch node version. I've tried the dart-version fvm, but it does not work similar to nvm. So I released a shell-version fvm. Anyone who needs to work with multi flutter version and run into problems with dart-version fvm can have try with this.
-
Puro - A new version manager for Flutter
fvm had a similar issue. This was the commit that fixed it, FYI: https://github.com/fluttertools/fvm/pull/324/files
-
Flutter Downgrade — Any Version
I think the best and easiest way to change flutter version is Flutter Version Manager.
-
Building Flutter Linux on Manjaro
Last week I was eager to check out a little Flutter application built by Lucas Schuster. I was especially interested in trying the Flutter Desktop support for Linux. After installing Flutter via fvm, I checked out his Git repository and issued the following command for building the Flutter app on Linux:
-
Is it necessary to support older versions of Flutter?
It is good when you are can get updates and bug fixes of libs and Flutter. If anyone will try to build your project on older Flutter version, they can install something like FVM of provide path no new version of framework manually.
What are some alternatives?
unpub - Self-hosted private Dart Pub server for Enterprise
asdf-dart - dart plugin for asdf version manager https://github.com/asdf-vm/asdf
pub-dev - The pub.dev website
asdf-flutter - flutter plugin for the asdf version manager
shhgit - Ah shhgit! Find secrets in your code. Secrets detection for your GitHub, GitLab and Bitbucket repositories.
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
fvm - Flutter Version Manager - POSIX-compliant bash script to manage multiple active flutter versions
amplify-flutter - A declarative library with an easy-to-use interface for building Flutter applications on AWS.
courier - Private dart package manager
json2dart - A CLI tool to help generate dart classes from json returned from API
roo - A package and environment manager for R