# All files / infrastructure/serving serve.ts

100% Statements 17/17
50% Branches 2/4
100% Functions 4/4
100% Lines 16/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    481x

    1x

    1x

    1x
    1x
    1x

    1x

    1x
    2x
    2x

    2x
    2x
    2x

    2x

    1x

    1x
     import * as LiveServer from 'live-server';

    import { InternalConfiguration } from '../../core/entities/internal-configuration';

    interface LiveServerConfiguration {
        root?: string;
        open?: boolean;
        quiet: boolean;
        logLevel: number;
        wait: number;
        host?: string;
        port?: number;
    }

    export class ServeService {
        private static instance: ServeService;

        public liveServerConfiguration: LiveServerConfiguration;

        constructor() {
            this.liveServerConfiguration = {
                quiet: true,
                logLevel: 0,
                wait: 1000
            };
        }

        public static getInstance() {
            Eif (!ServeService.instance) {
                ServeService.instance = new ServeService();
            }
            return ServeService.instance;
        }

        public serve(configuration: InternalConfiguration) {
            Eif (configuration.host !== '') {
                this.liveServerConfiguration.host = configuration.host;
            }
            this.liveServerConfiguration.root = configuration.output;
            this.liveServerConfiguration.open = false;
            this.liveServerConfiguration.port = configuration.port;

            return LiveServer.start(this.liveServerConfiguration);
        }
    }

    export default ServeService.getInstance();