pkgs: add writeJS{,Bin}
This commit is contained in:
1
ci.nix
1
ci.nix
@@ -18,6 +18,7 @@ in
|
|||||||
bash = writeTest "bash features" simples.bash;
|
bash = writeTest "bash features" simples.bash;
|
||||||
dash = writeTest "dash features" simples.dash;
|
dash = writeTest "dash features" simples.dash;
|
||||||
haskell = writeTest "Rolf" simples.haskell;
|
haskell = writeTest "Rolf" simples.haskell;
|
||||||
|
js = writeTest "function add(n,d){return n+d}" simples.js;
|
||||||
perl = writeTest "Howdy!" simples.perl;
|
perl = writeTest "Howdy!" simples.perl;
|
||||||
python2 = writeTest "['some', 'random', 'variables']" simples.python2;
|
python2 = writeTest "['some', 'random', 'variables']" simples.python2;
|
||||||
python3 = writeTest "['some', 'random', 'variables']" simples.python3;
|
python3 = writeTest "['some', 'random', 'variables']" simples.python3;
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ in {
|
|||||||
main = do
|
main = do
|
||||||
putStrLn "hello world"
|
putStrLn "hello world"
|
||||||
'';
|
'';
|
||||||
|
js = pkgs.writeJS "hello-world" {} ''
|
||||||
|
console.log("hello world")
|
||||||
|
'';
|
||||||
perl = pkgs.writePerl "hello-world" {} ''
|
perl = pkgs.writePerl "hello-world" {} ''
|
||||||
print "hello world\n";
|
print "hello world\n";
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -14,6 +14,12 @@ in {
|
|||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = print Rolf
|
main = print Rolf
|
||||||
'';
|
'';
|
||||||
|
js = pkgs.writeJS "example-js" { deps = [ pkgs.nodePackages.uglify-js ]; } ''
|
||||||
|
var UglifyJS = require("uglify-js");
|
||||||
|
var code = "function add(first, second) { return first + second; }";
|
||||||
|
var result = UglifyJS.minify(code);
|
||||||
|
console.log(result.code);
|
||||||
|
'';
|
||||||
perl = pkgs.writePerl "simple.pl" { deps = [ pkgs.perlPackages.boolean ]; } ''
|
perl = pkgs.writePerl "simple.pl" { deps = [ pkgs.perlPackages.boolean ]; } ''
|
||||||
use boolean;
|
use boolean;
|
||||||
print "Howdy!\n" if true;
|
print "Howdy!\n" if true;
|
||||||
|
|||||||
@@ -297,6 +297,23 @@ pkgs: oldpkgs: {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
writeJS = name: { deps ? [] }: text:
|
||||||
|
let
|
||||||
|
node-env = pkgs.buildEnv {
|
||||||
|
name = "node";
|
||||||
|
paths = deps;
|
||||||
|
pathsToLink = [
|
||||||
|
"/lib/node_modules"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in pkgs.writeDash name ''
|
||||||
|
export NODE_PATH=${node-env}/lib/node_modules
|
||||||
|
exec ${pkgs.nodejs}/bin/node ${pkgs.writeText "js" text}
|
||||||
|
'';
|
||||||
|
|
||||||
|
writeJSBin = name:
|
||||||
|
pkgs.writeJS "/bin/${name}";
|
||||||
|
|
||||||
writeJSON = name: value: pkgs.runCommand name {
|
writeJSON = name: value: pkgs.runCommand name {
|
||||||
json = toJSON value;
|
json = toJSON value;
|
||||||
passAsFile = [ "json" ];
|
passAsFile = [ "json" ];
|
||||||
|
|||||||
Reference in New Issue
Block a user