Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Support for Dart/Flutter pub.dev package repo
-
UPDATE: ProGet 2024.11 added support for pub (Dart/Flutter) Feeds!
In December 2018, Google released the 1.0 version of Flutter and adoption has been growing exponentially since it's release. Flutter is a cross-platform development framework that leverages the Dart language similar in concept to React-Native. Flutter supports the development of a single code base that runs across all platforms (iOS, Android, Web, Windows, MacOS, Linux). Pub.dev is the public repository for hosting packages.
We have recently adopted Flutter for our mobile development framework and are looking for how to host packages in a private feed similar to the way we have feeds for nuget and NPM packages using Proget.
While I understand the difficulties of supporting a new feed type, the source code for pub.dev is freely available on Github which should make it easier to reverse-engineering. The format of the package is well defined and it's package format is just a tar.gz file with a manifest.
We strongly believe we are only at the beginning of the adoption curve for Flutter and we will see even more expansive growth in the user community over the next year. It would be great if Proget was leading that adoption by adding a feed type supporting the pub.dev protocol.~~
-
Thanks @bvandehey_9055 !
Just a couple questions to help us understand...
- Do you intend to publish your own, first-party packages?
- Are there any other third-party package sources, other than pub.dev?
- Aside from your own packages, what are the main benefits of a private repository for third-party packages?
The recommended private server (https://pub.dev/packages/pub_server) seems to be discontinued and no longer maintained. Are there any other private package server on the market?
This will help us come up with how to evaluate this!
-
We have the same need for an internal Flutter repository.
The reasons are
- We have an internal proxy - which means the build servers has to be configured with proxy settings. With an internal repository we avoid it
- Better grasp of which packages are deemed insecure
- Pulling packages directly from the web without any sort of evaluation is not ideal securitywise.
- Even if OSS Index does not support Flutter packages today, it might be come a thing in the future.
- Caching packages elevate traffic to providers.
-
@stevedennis Our use case is for first-party, proprietary packages developed by Alkami and it's customers/partners with the ability to share those packages with others. I'm not aware of any source other than pub.dev but I'm sure there are companies running their own internal instance of the pub.dev site (we are). The benefit of a private repository is limiting who has access to our proprietary packages which includes all of the source code which is included in the package since Flutter doesn't support binary libraries.
-
Thanks @bvandehey_9055 and @harald-somnes-hanssen_2204 !
It's likely not something we can consider in the next quarter (q2) or so, but we can reinvestigate our roadmap as we approach Q3.
-
What does the roadmap look like now?
Seems like flutter is gaining more traction and is the preferred way to create mobile applications quickly.
-
After recent events in the NPM community regarding ua-parser-js, makes me concerned having unmonitored package sources in our enviroment. Doesn't seem like there are package repositories available for flutter quite yet, that mitigates that concern.
-
I'm afraid it didn't make the roadmap for Q4. There's no documented API that we saw, and reverse engineering and then supporting the inevitable quirks takes a lot of effort -- and there still doesn't seem to be a market opportunity for us here I'm afraid (no search volume, etc.)...
This SO Question seems to indicate that using Git repositories is a popular way to reference packages...
-
It seems that api documentation on this format is available.
https://dart.dev/tools/pub/custom-package-repositories#getting-a-custom-package-repository
https://github.com/dart-lang/pub/blob/master/doc/repository-spec-v2.md
-
We would love to see this implemented in the Future, is there any Chance for this?
-
@proget-markus-koban_7308 over the past few years, a lot of the "chatter" I've seen on social/news over the past couple years seems to have trended negatively towards Dart/Flutter as a platform/technology - and I haven't seen growth. It seems pretty niche still?
And then just last week or so, I saw headlines about Google laying off the Dart/Flutter team.
What do you think of the future of the platform?
-
@apxltd When it comes to to Mobile and Web development, Dart/Flutter is pretty massive (see here and here) and has is not going to fade.
When it comes to the current layoffs @ Google (discussed for example here), people from the Flutter team itself are actually pretty clear that Flutter is come to stay ("[...] You're betting on Flutter and Dart. So am I. So is Google.").Of course, for small(-ish) teams, using MonoRepos (e.g. w/ melos) or packages via Git is perfectly fine. For larger enterprise use, custom Dart/Flutter repositories are essential. Internally, we're currently exploring the existing possibilities for custom Pub repos (the same company as @proget-markus-koban_7308), but they are not really satisfactory from what I heard. Integration into ProGet would be a game changer here. :)
-
@fabian-droege_8705 thanks for the insight! I know basically nothing about the platform, so good to hear from someone familiar w/ the ecosystem.
We'll take another look in the coming weeks, and I'll post an update once we have a better idea of roadmap. Just skimming the thread here, it seems that there is a package/archive format, an API, and documentation for private repositories - so that's a huge positive
-
@apxltd Awesome, thanks a ton! We're really looking forward to hearing news on the matter.
-
Hello,
We are seeking support for the Dart/Flutter as well. It would be amazing if y'all supported this. Your competitors sure don't!
-
Hi everyone,
Quick sneak peak of the work-in-progress:
Cheers,
Alex
-
Good news everyone, ProGet 2024.11 now has support for pub (Dart/Flutter) feeds! I'm going to lock this topic now, but if you run into any issues please start a new topic
cc/ @aaron-bryson_0311 @fabian-droege_8705 @proget-markus-koban_7308 @jensen-chappell_6168 @harald-somnes-hanssen_2204 @bvandehey_9055