All files / lib/utils cli-config-manager.js

36.36% Statements 4/11
0% Branches 0/2
0% Functions 0/1
36.36% Lines 4/11
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 48                          11x   11x                                               11x           11x    
/* 
 * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 *
 *     http://aws.amazon.com/apache2.0/
 *
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
*/
"use strict";
const fs = require('fs-extra')
 
const pathManager = require('./awsmobilejs-path-manager.js')
 
function getAWSMobileCLIConfig()
{
    let cliConfig
 
    let cliConfigFilePath = pathManager.getAWSMobileCLIConfigFilePath()
    if(fs.existsSync(cliConfigFilePath)){
        try{
            cliConfig = JSON.parse(fs.readFileSync(cliConfigFilePath, 'utf8'))
        }catch(e){
            cliConfig = undefined
        }
    }else{
        cliConfig = undefined
    }
    return cliConfig
}
 
//this is a sample json to be put in ~/.awsmobilejs/awsmobile-cli-config.json
//when the file exists and isInDevMode is set to true, the cli will use
//awsmobileAPIEndpoint or deviceFarmTestUrl set in the file instead of the
//production ones.
const cliConfigTemplate =
{
    "isInDevMode": true,
    "awsmobileAPIEndpoint": "",
    "deviceFarmTestUrl": ""
}
 
module.exports = {
    getAWSMobileCLIConfig
}