typescript plugin for vibe.d diet templates

via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sun Jan 18 03:43:15 PST 2015


On Saturday, 17 January 2015 at 18:24:52 UTC, Fatih Kadir Akin 
wrote:
>
>> 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:
>
> TypeScript compiler doesn't accept stdin pipes, I tried using 
> Unix fifo but since I'm not an Unix expert, couldn't figure it 
> out. The last thing was using a temporary file -- which also 
> sounds not good to me :)

I was going to make a PR to use pipes, but also found that `tsc` 
sadly doesn't support stdin/stdout. But they have an as-of-yet 
unimplemented enhancement request; they probably wouldn't refuse 
a PR:
https://github.com/Microsoft/TypeScript/issues/1226

As for FIFOs, they unfortunately don't work on Windows... (and 
NTFS _does_ support symlinks!)

>
>> 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
>>    );
>
> It really makes sense, I'm going to update -- you also can open 
> a PR.
>

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


More information about the Digitalmars-d-announce mailing list