diff --git a/deep-equal/deep-equal-tests.ts b/deep-equal/deep-equal-tests.ts
new file mode 100755
index 000000000..922dcf449
--- /dev/null
+++ b/deep-equal/deep-equal-tests.ts
@@ -0,0 +1,9 @@
+///
+
+import * as deepEqual from "deep-equal";
+
+let isDeepEqual1: boolean = deepEqual({}, {});
+let isDeepEqual2: boolean = deepEqual({}, {}, { strict: true });
+let isDeepEqual3: boolean = deepEqual({}, {}, { strict: false });
+
+console.log(isDeepEqual1, isDeepEqual2, isDeepEqual3);
diff --git a/deep-equal/deep-equal.d.ts b/deep-equal/deep-equal.d.ts
new file mode 100755
index 000000000..ea2fb88ad
--- /dev/null
+++ b/deep-equal/deep-equal.d.ts
@@ -0,0 +1,18 @@
+// Type definitions for deep-equal
+// Project: https://github.com/substack/node-deep-equal
+// Definitions by: remojansen
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "deep-equal" {
+
+ interface DeepEqualOptions {
+ strict: boolean;
+ }
+
+ let deepEqual: (
+ actual: Object,
+ expected: Object,
+ opts?: DeepEqualOptions) => boolean;
+
+ export = deepEqual;
+}
\ No newline at end of file