On Saturday, 17 January 2015 at 11:26:40 UTC, Mengu wrote:
a friend of mine liked d so much -you know, after i show off all the kewl features :)- he just built a typescript plugin for vibe.d diet templates. it's a fork of martin's coffeescript plugin.


https://github.com/f/diet-typescript

for the uninformed, typescript is a typed superset of javascript that compiles to plain old javascript. more info can be reached at www.typescriptlang.org.

Nice work, but I have some gripes with it:

First, creating temporary files with predictable names is a bad idea, because it opens the door for symlink attacks. Unfortunately, I don't know of an alternative way to do this safely using only the standard library; it seems, this crucial functionality is missing. I've asked here:

http://forum.dlang.org/thread/xliylzcxrsfilmqsn...@forum.dlang.org

The second thing is that you're using `pipeShell()`, which takes only the entire command as a parameter. Because this command will be interpreted by the shell, you have to make sure that all you're arguments are correctly escaped. However, in your case you don't actually need a shell; `pipeProcess()` is a better solution, because it takes the argument list as an array:

    auto pipes = pipeProcess(
        ["tsc", inputFileName, "--out", outputFileName],
        Redirect.stderrToStdout | Redirect.stdout
    );

Reply via email to