|
@@ -1,4 +1,7 @@
|
|
|
|
+define("amber_cli/AmberCli", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_core/Kernel-Objects"], function(smalltalk,nil,_st){
|
|
smalltalk.addPackage('AmberCli');
|
|
smalltalk.addPackage('AmberCli');
|
|
|
|
+smalltalk.packages["AmberCli"].transport = {"type":"amd","amdNamespace":"amber_cli"};
|
|
|
|
+
|
|
smalltalk.addClass('AmberCli', smalltalk.Object, [], 'AmberCli');
|
|
smalltalk.addClass('AmberCli', smalltalk.Object, [], 'AmberCli');
|
|
smalltalk.AmberCli.comment="I am the Amber CLI (CommandLine Interface) tool which runs on Node.js.\x0a\x0aMy responsibility is to start different Amber programs like the FileServer or the Repl.\x0aWhich program to start is determined by the first commandline parameters passed to the AmberCli executable.\x0aUse `help` to get a list of all available options.\x0aAny further commandline parameters are passed to the specific program.\x0a\x0a## Commands\x0a\x0aNew commands can be added by creating a class side method in the `commands` protocol which takes one parameter.\x0aThis parameter is an array of all commandline options + values passed on to the program.\x0aAny `camelCaseCommand` is transformed into a commandline parameter of the form `camel-case-command` and vice versa.";
|
|
smalltalk.AmberCli.comment="I am the Amber CLI (CommandLine Interface) tool which runs on Node.js.\x0a\x0aMy responsibility is to start different Amber programs like the FileServer or the Repl.\x0aWhich program to start is determined by the first commandline parameters passed to the AmberCli executable.\x0aUse `help` to get a list of all available options.\x0aAny further commandline parameters are passed to the specific program.\x0a\x0a## Commands\x0a\x0aNew commands can be added by creating a class side method in the `commands` protocol which takes one parameter.\x0aThis parameter is an array of all commandline options + values passed on to the program.\x0aAny `camelCaseCommand` is transformed into a commandline parameter of the form `camel-case-command` and vice versa.";
|
|
|
|
|
|
@@ -90,7 +93,7 @@ _st(console)._log_("Required is at least Node.js v0.8.x or greater.");
|
|
return (-1);
|
|
return (-1);
|
|
};
|
|
};
|
|
args=_st(process)._argv();
|
|
args=_st(process)._argv();
|
|
-_st(args)._removeFrom_to_((1),(3));
|
|
|
|
|
|
+_st(args)._removeFrom_to_((1),(2));
|
|
$2=_st(args)._isEmpty();
|
|
$2=_st(args)._isEmpty();
|
|
if(smalltalk.assert($2)){
|
|
if(smalltalk.assert($2)){
|
|
self._help_(nil);
|
|
self._help_(nil);
|
|
@@ -100,7 +103,7 @@ return $3;
|
|
};
|
|
};
|
|
return self}, function($ctx1) {$ctx1.fill(self,"main",{args:args,nodeMinorVersion:nodeMinorVersion},smalltalk.AmberCli.klass)})},
|
|
return self}, function($ctx1) {$ctx1.fill(self,"main",{args:args,nodeMinorVersion:nodeMinorVersion},smalltalk.AmberCli.klass)})},
|
|
args: [],
|
|
args: [],
|
|
-source: "main\x0a\x09\x22Main entry point for Amber applications.\x0a\x09Parses commandline arguments and starts the according subprogram.\x22\x0a\x09| args nodeMinorVersion |\x0a\x0a\x09nodeMinorVersion := ((process version) tokenize: '.') second asNumber.\x0a\x09nodeMinorVersion < 8 ifTrue: [\x0a\x09\x09console log: 'You are currently using Node.js ', (process version).\x0a\x09\x09console log: 'Required is at least Node.js v0.8.x or greater.'.\x0a\x09\x09^ -1.\x0a\x09].\x0a\x0a\x09args := process argv.\x0a\x09\x22Remove the first args which contain the path to the node executable and the script file.\x22\x0a\x09args removeFrom: 1 to: 3.\x0a\x09\x0a\x09(args isEmpty)\x0a\x09\x09ifTrue: [self help: nil]\x0a\x09\x09ifFalse: [^self handleArguments: args]",
|
|
|
|
|
|
+source: "main\x0a\x09\x22Main entry point for Amber applications.\x0a\x09Parses commandline arguments and starts the according subprogram.\x22\x0a\x09| args nodeMinorVersion |\x0a\x0a\x09nodeMinorVersion := ((process version) tokenize: '.') second asNumber.\x0a\x09nodeMinorVersion < 8 ifTrue: [\x0a\x09\x09console log: 'You are currently using Node.js ', (process version).\x0a\x09\x09console log: 'Required is at least Node.js v0.8.x or greater.'.\x0a\x09\x09^ -1.\x0a\x09].\x0a\x0a\x09args := process argv.\x0a\x09\x22Remove the first args which contain the path to the node executable and the script file.\x22\x0a\x09args removeFrom: 1 to: 2.\x0a\x09\x0a\x09(args isEmpty)\x0a\x09\x09ifTrue: [self help: nil]\x0a\x09\x09ifFalse: [^self handleArguments: args]",
|
|
messageSends: ["asNumber", "second", "tokenize:", "version", "ifTrue:", "log:", ",", "<", "argv", "removeFrom:to:", "ifTrue:ifFalse:", "help:", "handleArguments:", "isEmpty"],
|
|
messageSends: ["asNumber", "second", "tokenize:", "version", "ifTrue:", "log:", ",", "<", "argv", "removeFrom:to:", "ifTrue:ifFalse:", "help:", "handleArguments:", "isEmpty"],
|
|
referencedClasses: []
|
|
referencedClasses: []
|
|
}),
|
|
}),
|
|
@@ -455,7 +458,7 @@ category: 'initialization',
|
|
fn: function (){
|
|
fn: function (){
|
|
var self=this;
|
|
var self=this;
|
|
return smalltalk.withContext(function($ctx1) {
|
|
return smalltalk.withContext(function($ctx1) {
|
|
-smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
|
|
|
|
|
|
+smalltalk.FileServer.superclass.fn.prototype._initialize.apply(_st(self), []);
|
|
self["@path"]=self._require_("path");
|
|
self["@path"]=self._require_("path");
|
|
self["@http"]=self._require_("http");
|
|
self["@http"]=self._require_("http");
|
|
self["@fs"]=self._require_("fs");
|
|
self["@fs"]=self._require_("fs");
|
|
@@ -1381,7 +1384,7 @@ fn: function (){
|
|
var self=this;
|
|
var self=this;
|
|
function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
|
|
function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
|
|
return smalltalk.withContext(function($ctx1) {
|
|
return smalltalk.withContext(function($ctx1) {
|
|
-smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
|
|
|
|
|
|
+smalltalk.Repl.superclass.fn.prototype._initialize.apply(_st(self), []);
|
|
self["@session"]=_st($DoIt())._new();
|
|
self["@session"]=_st($DoIt())._new();
|
|
self["@readline"]=_st(require)._value_("readline");
|
|
self["@readline"]=_st(require)._value_("readline");
|
|
self["@util"]=_st(require)._value_("util");
|
|
self["@util"]=_st(require)._value_("util");
|
|
@@ -1765,4 +1768,4 @@ referencedClasses: []
|
|
}),
|
|
}),
|
|
smalltalk.Repl.klass);
|
|
smalltalk.Repl.klass);
|
|
|
|
|
|
-
|
|
|
|
|
|
+});
|