From efa4da1e7ac49df1d2f50b75515ca79c60c41832 Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Sun, 16 Sep 2018 18:50:59 +0200 Subject: [PATCH] split assets into multiple files --- resources/ts/app.ts | 11 +++++++---- resources/ts/components/departures.ts | 2 +- resources/ts/components/map.ts | 8 ++++---- resources/ts/components/messages.ts | 2 +- resources/ts/icons.ts | 12 ++++++------ tsconfig.json | 1 + 6 files changed, 20 insertions(+), 16 deletions(-) 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",