diff --git a/json5/json5-test.ts b/json5/json5-test.ts
new file mode 100644
index 0000000000..da945c3413
--- /dev/null
+++ b/json5/json5-test.ts
@@ -0,0 +1,7 @@
+///
+import JSON5 = require('json5');
+
+var obj = JSON5.parse("{ key:'val', 'key2':[0,1,2,] } //comment ");
+var str = JSON5.stringify(obj, null, "\t");
+console.log(str);
+
diff --git a/json5/json5.d.ts b/json5/json5.d.ts
new file mode 100644
index 0000000000..2ea49bf969
--- /dev/null
+++ b/json5/json5.d.ts
@@ -0,0 +1,45 @@
+// Type definitions for JSON5
+// Project: http://json5.org/
+// Definitions by: Jason Swearingen
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+
+//commonjs loader
+declare module "json5" {
+ /**
+ * The following is the exact list of additions to JSON's syntax introduced by JSON5. All of these are optional, and all of these come from ES5.
+
+Objects
+
+Object keys can be unquoted if they're valid identifiers. Yes, even reserved keywords (like default) are valid unquoted keys in ES5 [§11.1.5, §7.6]. (More info)
+
+(TODO: Unicode characters and escape sequences aren’t yet supported in this implementation.)
+
+Objects can have trailing commas.
+
+Arrays
+
+Arrays can have trailing commas.
+Strings
+
+Strings can be single-quoted.
+
+Strings can be split across multiple lines; just prefix each newline with a backslash. [ES5 §7.8.4]
+
+Numbers
+
+Numbers can be hexadecimal (base 16).
+
+Numbers can begin or end with a (leading or trailing) decimal point.
+
+Numbers can include Infinity, -Infinity, NaN, and -NaN.
+
+Numbers can begin with an explicit plus sign.
+
+Comments
+
+Both inline (single-line) and block (multi-line) comments are allowed.
+ */
+ var json5: JSON;
+ export = json5;
+}
\ No newline at end of file