summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2019-09-15 22:58:06 +1000
committerRyan Dahl <ry@tinyclouds.org>2019-09-15 08:58:06 -0400
commitc30decab77c4ebeb34ebd1d73b0f45bb26944c79 (patch)
tree9665d533e7a204d0658c25bd72b6f94f4d76b9f1
parent686b86edb1ee4cbac90ecb1c3931174879531207 (diff)
Fix type directive parsing (#2954)
-rw-r--r--js/type_directives.ts4
-rw-r--r--tests/type_definitions.ts4
-rw-r--r--tests/type_definitions.ts.out2
-rw-r--r--tests/type_definitions/fizz.d.ts4
-rw-r--r--tests/type_definitions/fizz.js2
-rw-r--r--tests/type_definitions/qat.ts1
6 files changed, 12 insertions, 5 deletions
diff --git a/js/type_directives.ts b/js/type_directives.ts
index 4817738c7..b457d2394 100644
--- a/js/type_directives.ts
+++ b/js/type_directives.ts
@@ -39,9 +39,9 @@ const typeDirectiveRegEx = /@deno-types\s*=\s*(["'])((?:(?=(\\?))\3.)*?)\1/gi;
* import * as foo from "./foo.js"
* export { a, b, c } from "./bar.js"
*
- * [See Diagram](https://bit.ly/2lK0izL)
+ * [See Diagram](http://bit.ly/2lOsp0K)
*/
-const importExportRegEx = /(?:import|export)\s+(?:[\s\S]*?from\s+)?(["'])((?:(?=(\\?))\3.)*?)\1/;
+const importExportRegEx = /(?:import|export)(?:\s+|\s+[\s\S]*?from\s+)?(["'])((?:(?=(\\?))\3.)*?)\1/;
/** Parses out any Deno type directives that are part of the source code, or
* returns `undefined` if there are not any.
diff --git a/tests/type_definitions.ts b/tests/type_definitions.ts
index 8e85df2b9..ecf3ae0b2 100644
--- a/tests/type_definitions.ts
+++ b/tests/type_definitions.ts
@@ -3,4 +3,8 @@ import { foo } from "./type_definitions/foo.js";
// @deno-types="./type_definitions/fizz.d.ts"
import "./type_definitions/fizz.js";
+import * as qat from "./type_definitions/qat.ts";
+
console.log(foo);
+console.log(fizz);
+console.log(qat.qat);
diff --git a/tests/type_definitions.ts.out b/tests/type_definitions.ts.out
index 291e85a7b..b4fa88c50 100644
--- a/tests/type_definitions.ts.out
+++ b/tests/type_definitions.ts.out
@@ -1 +1,3 @@
[WILDCARD]foo
+fizz
+qat
diff --git a/tests/type_definitions/fizz.d.ts b/tests/type_definitions/fizz.d.ts
index 4b087efb7..34eb41b96 100644
--- a/tests/type_definitions/fizz.d.ts
+++ b/tests/type_definitions/fizz.d.ts
@@ -1,2 +1,2 @@
-/** An exported value. */
-export const fizz: string;
+/** A global value. */
+declare const fizz: string;
diff --git a/tests/type_definitions/fizz.js b/tests/type_definitions/fizz.js
index 5141a4ddf..852162c94 100644
--- a/tests/type_definitions/fizz.js
+++ b/tests/type_definitions/fizz.js
@@ -1 +1 @@
-export const fizz = "fizz";
+globalThis.fizz = "fizz";
diff --git a/tests/type_definitions/qat.ts b/tests/type_definitions/qat.ts
new file mode 100644
index 000000000..6196c9d38
--- /dev/null
+++ b/tests/type_definitions/qat.ts
@@ -0,0 +1 @@
+export const qat = "qat";