diff --git a/javascript-astar/javascript-astar-test.ts b/javascript-astar/javascript-astar-test.ts
new file mode 100644
index 0000000000..11e26fe030
--- /dev/null
+++ b/javascript-astar/javascript-astar-test.ts
@@ -0,0 +1,26 @@
+///
+
+function test_create() {
+ let graph: Graph = new Graph([]);
+}
+
+function test_create_with_diagonals() {
+ let graph: Graph = new Graph([], {diagonal: true});
+}
+
+function test_get_node() {
+ let graph: Graph = new Graph([[5, 1, 0, 9], [0, 8, 7, 1]]);
+ let node: GridNode = graph.grid[0][1];
+}
+
+function test_search_returns_nodes() {
+ let nodes: Array = astar.search(new Graph([]), {x: 1, y: 1}, {x: 2, y: 2});
+}
+
+function test_search_alternative_heuristic() {
+ let nodes: Array = astar.search(new Graph([]), {x: 1, y: 1}, {x: 2, y: 2}, {heuristic: astar.heuristics.manhatten});
+}
+
+function test_search_or_closest() {
+ let nodes: Array = astar.search(new Graph([], {diagonal: true}), {x: 1, y: 1}, {x: 2, y: 2}, {closest: true});
+}
diff --git a/javascript-astar/javascript-astar.d.ts b/javascript-astar/javascript-astar.d.ts
new file mode 100644
index 0000000000..c0748493c5
--- /dev/null
+++ b/javascript-astar/javascript-astar.d.ts
@@ -0,0 +1,37 @@
+// Type definitions for javascript-astar
+// Project: https://github.com/bgrins/javascript-astar
+// Definitions by: brian ridley
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+declare class Graph {
+ grid: Array>;
+ constructor(grid: Array>, options?: {diagonal?: boolean});
+}
+
+declare class GridNode {
+ x: number;
+ y: number;
+}
+
+interface Heuristic {
+ (pos0: {x: number, y: number}, pos1: {x: number, y: number}): number;
+}
+
+interface Heuristics {
+ manhatten: Heuristic;
+ diagonal: Heuristic;
+}
+
+declare module astar {
+ function search(
+ graph: Graph,
+ start: {x: number, y: number},
+ end: {x: number, y: number},
+ options?: {
+ closest?: boolean,
+ heuristic?: Heuristic
+ }
+ ): Array;
+ var heuristics: Heuristics;
+}
+