Amber code repository

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Amber code repository

Jerome Baum
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.

The code is at: http://www.herospaces.com/client.js

Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Jerome Baum
To clarify, "free-for-all" means that anyone can create new versions in any package. Even a package they didn't create. You can freeze packages though which will lock them in their current state.

On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Jerome Baum
In reply to this post by Jerome Baum
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md

On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Bernat Romagosa
I've just tried it and, I've gotta say, it works great! :)


2013/4/18 Jerome Baum <[hidden email]>
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md


On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bernat Romagosa.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Manfred Kröhnert
Hi Jerome,

this project looks really great and you started to create something like a package format.

We also wanted to discuss about a possible package format and package loader for Amber and I thought you might be interested to join once we start it.

The idea was to first get a list of requirements as a basis for the discussion.
We also have to keep in mind that Amber will be used in conjunction within other projects written in Smalltalk.
So a JS only solution might or might not work in this case.

Best,
Manfred

PS: do you happen to be in the #amber-lang IRC channel on freenode?



On Thu, Apr 18, 2013 at 11:28 AM, Bernat Romagosa <[hidden email]> wrote:
I've just tried it and, I've gotta say, it works great! :)


2013/4/18 Jerome Baum <[hidden email]>
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md


On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bernat Romagosa.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Jerome Baum
Hey Manfred,

Will come on IRC in a moment. Happy to discuss this and I'd also love to hear what else I can offer on HeroSpaces.com that would be helpful to Amber.

Wasn't intended to go deep into any kind of package format. My aim with HeroSpaces.com is to provide infrastructure that projects like Amber can use however they need. So the package repo is very much free-form though the JS client uses major.minor.patch in line with semantic versioning. I implemented the load.js based "format" in the repo browser because I needed something to start with. You could still push all the st files etc. as you normally would. You also don't have to use the client.js — you can see that the protocol is really simple to implement. This includes your own versioning scheme if that's what you need.

For me it's all about lowering the boundary on collaboration. I feel that the primary aim should be to get people to submit new packages and publish their code — if this means a few false starts then IMO that's acceptable. In return for that trade-off there is a package browser available today and everyone can start using it. We can always upgrade formats in a backwards-compatible fashion if/when that becomes necessary. But yes happy to discuss format anyway. :-)

From: Manfred Kröhnert <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Saturday, April 20, 2013 17:44
To: "[hidden email]" <[hidden email]>
Subject: Re: [amber-lang] Re: Amber code repository

Hi Jerome,

this project looks really great and you started to create something like a package format.

We also wanted to discuss about a possible package format and package loader for Amber and I thought you might be interested to join once we start it.

The idea was to first get a list of requirements as a basis for the discussion.
We also have to keep in mind that Amber will be used in conjunction within other projects written in Smalltalk.
So a JS only solution might or might not work in this case.

Best,
Manfred

PS: do you happen to be in the #amber-lang IRC channel on freenode?



On Thu, Apr 18, 2013 at 11:28 AM, Bernat Romagosa <[hidden email]> wrote:
I've just tried it and, I've gotta say, it works great! :)


2013/4/18 Jerome Baum <[hidden email]>
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md


On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bernat Romagosa.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/amber-lang/I1fVhAfXPYU/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Jerome Baum
Am now on IRC.

From: Jerome Baum <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Saturday, April 20, 2013 18:20
To: "[hidden email]" <[hidden email]>
Subject: Re: [amber-lang] Re: Amber code repository

Hey Manfred,

Will come on IRC in a moment. Happy to discuss this and I'd also love to hear what else I can offer on HeroSpaces.com that would be helpful to Amber.

Wasn't intended to go deep into any kind of package format. My aim with HeroSpaces.com is to provide infrastructure that projects like Amber can use however they need. So the package repo is very much free-form though the JS client uses major.minor.patch in line with semantic versioning. I implemented the load.js based "format" in the repo browser because I needed something to start with. You could still push all the st files etc. as you normally would. You also don't have to use the client.js — you can see that the protocol is really simple to implement. This includes your own versioning scheme if that's what you need.

For me it's all about lowering the boundary on collaboration. I feel that the primary aim should be to get people to submit new packages and publish their code — if this means a few false starts then IMO that's acceptable. In return for that trade-off there is a package browser available today and everyone can start using it. We can always upgrade formats in a backwards-compatible fashion if/when that becomes necessary. But yes happy to discuss format anyway. :-)

From: Manfred Kröhnert <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Saturday, April 20, 2013 17:44
To: "[hidden email]" <[hidden email]>
Subject: Re: [amber-lang] Re: Amber code repository

Hi Jerome,

this project looks really great and you started to create something like a package format.

We also wanted to discuss about a possible package format and package loader for Amber and I thought you might be interested to join once we start it.

The idea was to first get a list of requirements as a basis for the discussion.
We also have to keep in mind that Amber will be used in conjunction within other projects written in Smalltalk.
So a JS only solution might or might not work in this case.

Best,
Manfred

PS: do you happen to be in the #amber-lang IRC channel on freenode?



On Thu, Apr 18, 2013 at 11:28 AM, Bernat Romagosa <[hidden email]> wrote:
I've just tried it and, I've gotta say, it works great! :)


2013/4/18 Jerome Baum <[hidden email]>
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md


On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bernat Romagosa.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/amber-lang/I1fVhAfXPYU/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to a topic in the Google Groups "amber-lang" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/amber-lang/I1fVhAfXPYU/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Nicolas Petton
In reply to this post by Manfred Kröhnert
Hi guys,

I'm on holidays next week, and therefore I won't be able to join on irc. Nevertheless, I'd like to join this discussion.
So I like to move the discussion here instead of IRC.

Cheers,
Nico


On Apr 20, 2013, at 5:44 PM, Manfred Kröhnert <[hidden email]> wrote:

Hi Jerome,

this project looks really great and you started to create something like a package format.

We also wanted to discuss about a possible package format and package loader for Amber and I thought you might be interested to join once we start it.

The idea was to first get a list of requirements as a basis for the discussion.
We also have to keep in mind that Amber will be used in conjunction within other projects written in Smalltalk.
So a JS only solution might or might not work in this case.

Best,
Manfred

PS: do you happen to be in the #amber-lang IRC channel on freenode?



On Thu, Apr 18, 2013 at 11:28 AM, Bernat Romagosa <[hidden email]> wrote:
I've just tried it and, I've gotta say, it works great! :)


2013/4/18 Jerome Baum <[hidden email]>
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md


On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bernat Romagosa.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Amber code repository

Manfred Kröhnert
Hi Nico,

the question about IRC was not intended to move the discussion there.
It was just a general question but maybe in the wrong context :-)

I would say that we wait with the discussion until you are back.

Have a nice holiday,
Manfred




On Sun, Apr 21, 2013 at 3:05 PM, Nicolas Petton <[hidden email]> wrote:
Hi guys,

I'm on holidays next week, and therefore I won't be able to join on irc. Nevertheless, I'd like to join this discussion.
So I like to move the discussion here instead of IRC.

Cheers,
Nico


On Apr 20, 2013, at 5:44 PM, Manfred Kröhnert <[hidden email]> wrote:

Hi Jerome,

this project looks really great and you started to create something like a package format.

We also wanted to discuss about a possible package format and package loader for Amber and I thought you might be interested to join once we start it.

The idea was to first get a list of requirements as a basis for the discussion.
We also have to keep in mind that Amber will be used in conjunction within other projects written in Smalltalk.
So a JS only solution might or might not work in this case.

Best,
Manfred

PS: do you happen to be in the #amber-lang IRC channel on freenode?



On Thu, Apr 18, 2013 at 11:28 AM, Bernat Romagosa <[hidden email]> wrote:
I've just tried it and, I've gotta say, it works great! :)


2013/4/18 Jerome Baum <[hidden email]>
The documentation is now in a much better state. https://github.com/jeromebaum/herospaces/blob/master/content/client.noweb.md


On Monday, April 15, 2013 7:28:37 PM UTC+2, Jerome Baum wrote:
FYI I have just created a repository client in JS. Tested in Node.js and should be compatible with a modern browser. You can use it to upload packages to http://www.herospaces.com/repo/amber/?listing=1 which I set up as a "free-for-all" area until there is some sanctioned repo.


Still lacking documentation but here's an example:

    repository.atHeroSpaces('amber').package('foo').version(1, 2, 3).get('code.js', function (err, data) { ... });

The `package` has `create()`, `allVersions()`, `latestVersion()`. The `version` has `cmp()`, `create()`, `freeze()` (make read-only), `put()`, `get()`. You can also use `url()` on either of them if you want to use the lower-level `ls()`, `find()`, etc. functions.

As always eager to hear feedback. It's all very simplistic right now.

A quick, more elaborate example including how to publish a single file:

    var package = repository.atHeroSpaces('amber').package('mypackage');
    var version = package.version(0, 0, 1);
    package.create(function (err) {
        if (err) { alert(err); return; };
        version.create(function (err) {
            if (err) { alert(err); return; };
            version.put('test.json', '{}', function (err) {
                if (err) { alert(err); return; };
                version.freeze(function (err) {
                    if (err) { alert(err); return; };
                });
            });
        });
    });

Now you would do:

    version.get('test.json', function (err, data) {
        if (err) { alert(err); return; };
        alert(data);
    });

You should get an alert with: "{}"

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Bernat Romagosa.

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "amber-lang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.