Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    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

    Scheduled Pinned Locked Moved Support
    17 Posts 8 Posters 80 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bvandehey_9055B Offline
      bvandehey_9055
      last edited by apxltd


      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.~~

      1 Reply Last reply Reply Quote 0
      • stevedennisS Offline
        stevedennis inedo-engineer
        last edited by

        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!

        bvandehey_9055B 1 Reply Last reply Reply Quote 0
        • H Offline
          harald.somnes.hanssen_2204
          last edited by

          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.
          1 Reply Last reply Reply Quote 0
          • bvandehey_9055B Offline
            bvandehey_9055 @stevedennis
            last edited by

            @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.

            1 Reply Last reply Reply Quote 0
            • stevedennisS Offline
              stevedennis inedo-engineer
              last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • H Offline
                harald.somnes.hanssen_2204
                last edited by

                What does the roadmap look like now?

                Seems like flutter is gaining more traction and is the preferred way to create mobile applications quickly.

                H 1 Reply Last reply Reply Quote 0
                • H Offline
                  harald.somnes.hanssen_2204 @harald.somnes.hanssen_2204
                  last edited by

                  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.

                  1 Reply Last reply Reply Quote 0
                  • apxltdA Offline
                    apxltd inedo-engineer
                    last edited by

                    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...

                    https://stackoverflow.com/questions/54143695/how-to-use-my-dart-packages-private-and-not-show-on-pub-dart-lang#54143758

                    Founder and CEO, Inedo

                    1 Reply Last reply Reply Quote 0
                    • jensen.chappell_6168J Offline
                      jensen.chappell_6168
                      last edited by

                      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

                      1 Reply Last reply Reply Quote 1
                      • P Offline
                        proget+markus.koban_7308
                        last edited by

                        We would love to see this implemented in the Future, is there any Chance for this?

                        apxltdA 1 Reply Last reply Reply Quote 0
                        • apxltdA Offline
                          apxltd inedo-engineer @proget+markus.koban_7308
                          last edited by

                          @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?

                          Founder and CEO, Inedo

                          fabian.droege_8705F 1 Reply Last reply Reply Quote 0
                          • fabian.droege_8705F Offline
                            fabian.droege_8705 @apxltd
                            last edited by

                            @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. :)

                            1 Reply Last reply Reply Quote 0
                            • apxltdA Offline
                              apxltd inedo-engineer
                              last edited by

                              @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

                              Founder and CEO, Inedo

                              fabian.droege_8705F 1 Reply Last reply Reply Quote 0
                              • fabian.droege_8705F Offline
                                fabian.droege_8705 @apxltd
                                last edited by

                                @apxltd Awesome, thanks a ton! We're really looking forward to hearing news on the matter. 🍿

                                1 Reply Last reply Reply Quote 0
                                • aaron.bryson_0311A Offline
                                  aaron.bryson_0311
                                  last edited by

                                  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!

                                  apxltdA 1 Reply Last reply Reply Quote 1
                                  • apxltdA Offline
                                    apxltd inedo-engineer @aaron.bryson_0311
                                    last edited by

                                    Hi everyone,

                                    Quick sneak peak of the work-in-progress:

                                    2683e26f-397a-4d72-8aba-b8c2372b1669-image.png

                                    Cheers,
                                    Alex

                                    Founder and CEO, Inedo

                                    apxltdA 1 Reply Last reply Reply Quote 0
                                    • apxltdA Offline
                                      apxltd inedo-engineer @apxltd
                                      last edited by

                                      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

                                      Founder and CEO, Inedo

                                      1 Reply Last reply Reply Quote 0

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      • 1 / 1
                                      • First post
                                        Last post
                                      Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation