diff --git a/tmp/tmp-tests.ts b/tmp/tmp-tests.ts
new file mode 100644
index 0000000000..7f489eea41
--- /dev/null
+++ b/tmp/tmp-tests.ts
@@ -0,0 +1,46 @@
+///
+import tmp = require('tmp');
+
+tmp.file((err, path, fd, cleanupCallback) => {
+ if (err) throw err;
+
+ console.log("File: ", path);
+ console.log("Filedescriptor: ", fd);
+
+ cleanupCallback();
+});
+
+tmp.dir((err, path, cleanupCallback) => {
+ if (err) throw err;
+
+ console.log("Dir: ", path);
+
+ cleanupCallback();
+});
+
+tmp.tmpName((err, path) => {
+ if (err) throw err;
+
+ console.log("Created temporary filename: ", path);
+});
+
+tmp.file({ mode: 644, prefix: 'prefix-', postfix: '.txt' }, (err, path, fd) => {
+ if (err) throw err;
+
+ console.log("File: ", path);
+ console.log("Filedescriptor: ", fd);
+});
+
+tmp.dir({ mode: 750, prefix: 'myTmpDir_' }, (err, path) => {
+ if (err) throw err;
+
+ console.log("Dir: ", path);
+});
+
+tmp.tmpName({ template: '/tmp/tmp-XXXXXX' }, (err, path) => {
+ if (err) throw err;
+
+ console.log("Created temporary filename: ", path);
+});
+
+tmp.setGracefulCleanup();
diff --git a/tmp/tmp.d.ts b/tmp/tmp.d.ts
new file mode 100644
index 0000000000..a89d7d1c4d
--- /dev/null
+++ b/tmp/tmp.d.ts
@@ -0,0 +1,33 @@
+// Type definitions for tmp v0.0.24
+// Project: https://www.npmjs.com/package/tmp
+// Definitions by: Jared Klopper
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "tmp" {
+
+ module tmp {
+ interface Options {
+ mode?: number;
+ prefix?: string;
+ postfix?: string;
+ template?: string;
+ dir?: string;
+ tries?: number;
+ keep?: boolean;
+ unsafeCleanup?: boolean;
+ }
+
+ function file(callback: (err: any, path: string, fd: number, cleanupCallback: () => void) => void): void;
+ function file(config: Options, callback?: (err: any, path: string, fd: number, cleanupCallback: () => void) => void): void;
+
+ function dir(callback: (err: any, path: string, cleanupCallback: () => void) => void): void;
+ function dir(config: Options, callback?: (err: any, path: string, cleanupCallback: () => void) => void): void;
+
+ function tmpName(callback: (err: any, path: string) => void): void;
+ function tmpName(config: Options, callback?: (err: any, path: string) => void): void;
+
+ function setGracefulCleanup(): void;
+ }
+
+ export = tmp;
+}