diff --git a/resources/ts/app.ts b/resources/ts/app.ts
index 9617a57..a58d8c2 100644
--- a/resources/ts/app.ts
+++ b/resources/ts/app.ts
@@ -1,10 +1,6 @@
///
import '../styles/main.scss'
-
-import './font-awesome'
-import './filters'
-
import "leaflet/dist/leaflet.css";
import Popper from 'popper.js';
@@ -19,6 +15,13 @@ window['Popper'] = Popper;
import 'bootstrap'
import { Vue } from "vue-property-decorator";
+import './filters'
+
+// async dependencies
+(async function () {
+ import ('./font-awesome');
+})();
+
// here goes "public" API
window['czydojade'] = {
components
diff --git a/resources/ts/components/departures.ts b/resources/ts/components/departures.ts
index e0924a3..7a968de 100644
--- a/resources/ts/components/departures.ts
+++ b/resources/ts/components/departures.ts
@@ -2,7 +2,7 @@ import Vue from 'vue'
import { Departure, Stop } from "../model";
import { Component, Prop, Watch } from "vue-property-decorator";
import urls from '../urls';
-import moment = require("moment");
+import * as moment from "moment";
import { Jsonified } from "../utils";
import { debounce } from "../decorators";
diff --git a/resources/ts/components/map.ts b/resources/ts/components/map.ts
index 7ac34f9..b971c0d 100644
--- a/resources/ts/components/map.ts
+++ b/resources/ts/components/map.ts
@@ -1,12 +1,12 @@
import { LMap, LTileLayer, LMarker } from 'vue2-leaflet';
import Vue from 'vue';
-import L = require('leaflet')
+import * as L from 'leaflet'
import 'leaflet/dist/leaflet.css'
-import iconRetinaUrl = require('leaflet/dist/images/marker-icon-2x.png');
-import iconUrl = require('leaflet/dist/images/marker-icon.png');
-import shadowUrl = require('leaflet/dist/images/marker-shadow.png');
+import * as iconRetinaUrl from 'leaflet/dist/images/marker-icon-2x.png';
+import * as iconUrl from 'leaflet/dist/images/marker-icon.png';
+import * as shadowUrl from 'leaflet/dist/images/marker-shadow.png';
delete L.Icon.Default.prototype._getIconUrl;
diff --git a/resources/ts/components/messages.ts b/resources/ts/components/messages.ts
index 745bcdd..f6ca4e7 100644
--- a/resources/ts/components/messages.ts
+++ b/resources/ts/components/messages.ts
@@ -5,7 +5,7 @@ import urls from "../urls";
import { faInfoCircle, faExclamationTriangle, faQuestionCircle } from "@fortawesome/pro-light-svg-icons";
import { Jsonified } from "../utils";
-import moment = require("moment");
+import * as moment from "moment";
@Component({ template: require("../../components/messages.html") })
export class MessagesComponent extends Vue {
diff --git a/resources/ts/icons.ts b/resources/ts/icons.ts
index 2b32c9c..9dd6072 100644
--- a/resources/ts/icons.ts
+++ b/resources/ts/icons.ts
@@ -1,11 +1,11 @@
import { IconPack, IconDefinition } from '@fortawesome/fontawesome-svg-core';
-import bus = require("../icons/light/bus.svg");
-import tram = require("../icons/light/tram.svg");
-import trolleybus = require("../icons/light/trolleybus.svg");
-import metro = require("../icons/light/metro.svg");
-import train = require("../icons/light/train.svg");
-import unknown = require("../icons/light/unknown.svg");
+import * as bus from "../icons/light/bus.svg";
+import * as tram from "../icons/light/tram.svg";
+import * as trolleybus from "../icons/light/trolleybus.svg";
+import * as metro from "../icons/light/metro.svg";
+import * as train from "../icons/light/train.svg";
+import * as unknown from "../icons/light/unknown.svg";
export const faBus: IconDefinition = {
prefix: 'fac',
diff --git a/tsconfig.json b/tsconfig.json
index e6f36a5..9f6d92c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,6 +3,7 @@
"lib": ["dom", "es2015", "es2016.array.include", "es2017.object"],
"experimentalDecorators": true,
"target": "es5",
+ "module": "esnext",
"sourceMap": true,
"noImplicitThis": true,
"moduleResolution": "node",