Private pub server implementation (Speakeasy)

86 views
Skip to first unread message

Don Olmstead

unread,
Sep 2, 2015, 1:28:54 PM9/2/15
to Dart Misc
I started work on a private pub server implementation off of the pub_api called Speakeasy, https://github.com/donny-dont/speakeasy. Its meant for corporate deployments for use cases like wanting to publish private packages, or for CI to have a caching server right next to the CI system which improves latency and handles the rare case where pub.dartlang.org is down.

Its early days, the current implementation just took out the examples directory in pub_api and then started adding configuration options. I wanted to get a read on what people would want out of a private pub server in terms of configuration. Currently I'm following Sinopia, https://github.com/rlidwka/sinopia, a private NPM registry which I've had a lot of success with at work. I was wondering what people's use cases were for something like this and what features you might like to see. One big thing I think is missing from pub currently is the ability to add webhooks so I wanted to add that capability to Speakeasy. Other than that I'm pretty open to ideas and collaborators.

Any feedback is appreciated!

Thanks!
Don

Natalie Weizenbaum

unread,
Sep 2, 2015, 4:43:18 PM9/2/15
to General Dart Discussion
Great name :).

--
For other discussions, see https://groups.google.com/a/dartlang.org/
 
For HOWTO questions, visit http://stackoverflow.com/tags/dart
 
To file a bug report or feature request, go to http://www.dartbug.com/new

To unsubscribe from this group and stop receiving emails from it, send an email to misc+uns...@dartlang.org.

Don Olmstead

unread,
Sep 2, 2015, 5:01:12 PM9/2/15
to mi...@dartlang.org
Thanks! I thought it was clever :)

Dániel Varga

unread,
Sep 3, 2015, 10:19:27 AM9/3/15
to Dart Misc
Great idea (and awesome name)!

I would definitely use a private pub server. I have got a few questions:
While I think the answer will be yes, do you plan on supporting package versioning for private packages?
Will it be a drop-in replacement for pub?
What steps can the Speakeasy administrator take to make sure that the source code won't get published by accident?

Thanks,
Daniel

Günter Zöchbauer

unread,
Sep 3, 2015, 1:13:44 PM9/3/15
to Dart Misc
You can prevent accidental publishing

Instead of 'none' you can specify a server where the package is allowed to be published.
Not sure this is what you are asking for.

Don Olmstead

unread,
Sep 3, 2015, 3:00:10 PM9/3/15
to mi...@dartlang.org
Right what Gunter said for preventing public publishing. You'd just want that in your pubspec and you're good to go.

In terms of versioning it does support it out of the box as I'm piggybacking on https://github.com/dart-lang/pub_server which is what the pub server uses in the wild. The problem with running a server on your own is that there's a dependence on app engine which is not what you want for an on prem install.

If you have any other specific asks feel free to open an issue on the tracker for more discussion.
Reply all
Reply to author
Forward
0 new messages