diff --git a/cli/js/lib.deno.ns.d.ts b/cli/js/lib.deno.ns.d.ts
index f3ee04243c..cd82b4adf3 100644
--- a/cli/js/lib.deno.ns.d.ts
+++ b/cli/js/lib.deno.ns.d.ts
@@ -3,6 +3,22 @@
///
///
+declare interface ImportMeta {
+ /** A string representation of the fully qualified module URL. */
+ url: string;
+
+ /** A flag that indicates if the current module is the main module that was
+ * called when starting the program under Deno.
+ *
+ * ```ts
+ * if (import.meta.main) {
+ * // this was loaded as the main module, maybe do some bootstrapping
+ * }
+ * ```
+ */
+ main: boolean;
+}
+
declare namespace Deno {
/** A set of error constructors that are raised by Deno APIs. */
export const errors: {
diff --git a/cli/js/lib.deno.shared_globals.d.ts b/cli/js/lib.deno.shared_globals.d.ts
index 58d25cea4a..7bb987ef4f 100644
--- a/cli/js/lib.deno.shared_globals.d.ts
+++ b/cli/js/lib.deno.shared_globals.d.ts
@@ -219,6 +219,10 @@ declare function clearInterval(id?: number): void;
*/
declare function clearTimeout(id?: number): void;
+interface VoidFunction {
+ (): void;
+}
+
/** A microtask is a short function which is executed after the function or
* module which created it exits and only if the JavaScript execution stack is
* empty, but before returning control to the event loop being used to drive the
@@ -227,7 +231,7 @@ declare function clearTimeout(id?: number): void;
*
* queueMicrotask(() => { console.log('This event loop stack is complete'); });
*/
-declare function queueMicrotask(func: Function): void;
+declare function queueMicrotask(func: VoidFunction): void;
declare var console: Console;
declare var crypto: Crypto;
@@ -266,11 +270,6 @@ declare function removeEventListener(
options?: boolean | EventListenerOptions | undefined
): void;
-declare interface ImportMeta {
- url: string;
- main: boolean;
-}
-
interface DomIterable {
keys(): IterableIterator;
values(): IterableIterator;