"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _os = require("os");

var _getIp = _interopRequireDefault(require("../utils/getIp"));

var _getCurrentBranch = _interopRequireDefault(require("../utils/getCurrentBranch"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// TODO move deprecated options to separate file and manage seperately
var _default = {
  unstableDepsInverse: {
    value: false,
    cli: 'unstable_deps_inverse'
  },
  sslCertURL: {
    value: null,
    cli: 'ssl_cert_url'
  },
  preprocess: {
    // This option is for tell the  react-cli which in preprocessor js file path
    runner: {
      value: '',
      cli: 'preprocessor'
    },
    // usally preprocessor run in nodemon for, start and docs , preprocessor
    stopNodemon: {
      value: false,
      cli: 'stop_nodemon'
    }
  },
  resourceHints: {
    allowPrefetchingMultipleChunks: false
  },
  i18n: {
    chunkSplitEnable: {
      value: false,
      cli: 'i18n_split'
    },
    disableDefault: false,
    templateLabel: '{{--user-locale}}',
    jsResource: null,
    localeVarName: 'document.documentElement.lang',
    jsonpFunc: 'console.log',
    propertiesFolder: null
  },
  css: {
    enableRTLSplit: false,
    valueReplacer: null,
    //valueReplacer: [
    //   {
    //     props: ['font', 'font-family'],
    //     values: {
    //       'zdfonts-rCallBar': 'zdfonts-rCallBar01',
    //       'zdfonts-rCall': 'zdfonts-rCallBar02'
    //     }
    //     // ,suffix: '0'
    //   }
    // ],
    templateLabel: '{{--dir}}',
    disableMiniFiySelector: false,
    dirVarName: 'document.dir',
    selectorReplace: {
      before: [],
      after: []
    },
    plugins: null,
    // @type  {Boolean | Array}
    postCssPluginOrder: null,
    patterns: {
      valueReplacer: [],
      selectorReplace: [],
      hoverActive: [],
      combinerMediaQuery: [],
      hasRTL: [],
      cssVariableReplacement: [],
      selectorWeight: [],
      cssUniqueness: [],
      composeMinification: []
    },
    exclude: {
      rtl: [],
      hoverActive: [],
      combinerMediaQuery: [],
      cssVariableReplacement: [],
      selectorWeight: [],
      hasRTL: []
    },
    cssVariableReplacementConfig: '',
    selectorWeightConfig: {
      defaultSelector: '',
      customFileDetails: '',
      excludeStrings: []
    }
  },
  efc: {
    hasEFC: {
      value: false,
      cli: 'enable_efc'
    },
    createSDkFile: false,
    nameScope: 'ZOHODESK',
    version: {
      value: 'stable',
      cli: 'efc_version'
    },
    outputFile: {
      value: 'efc-sdk-[version].js',
      cli: 'efc_output_file'
    },
    templateFilePath: '',
    localeAttr: 'data-efc-locale',
    localeDefaultValue: 'en_US',
    localeStatement: null,
    cssDirAttr: 'data-efc-dir',
    cssDirDefaultValue: 'ltr',
    cdnStatement: '',
    // cdnStatement: "new URL(document.querySelector(\"script[src*='zohodesk-efc-sdk']\").src).origin",
    cssDirStatement: null
  },
  app: {
    moduleResolvePath: {
      value: '@zohodesk/client_packages_group',
      cli: 'module_resolve_path'
    },
    enableMjsLoader: {
      value: false,
      cli: 'enableMjsLoader'
    },
    customClassNamePrefix: [],
    // this option only for impact testing
    devCssFileBountry: {
      value: '',
      cli: 'impact_cssbountry'
    },
    disableWatch: {
      value: false,
      cli: 'disable_watch'
    },
    enableDevCache: {
      value: false,
      cli: 'dev_cache'
    },
    crossorigin: {
      value: false,
      cli: 'enable_crossorigin'
    },
    context: {
      value: 'app',
      cli: 'app_context'
    },
    tpFolder: null,
    folder: 'src',
    vendorExclude: [],
    vendorInclude: [],
    cssHashSelectors: {
      filenames: [],
      packages: []
    },
    customAttributes: {
      enable: false,
      attributes: null,
      jsAttributes: null,
      cssAttributes: null,
      i18nAttributes: null
    },
    server: {
      host: {
        value: (0, _os.hostname)(),
        cli: 'app_host'
      },
      port: {
        value: 9090,
        cli: 'app_port'
      },
      domain: {
        value: null,
        cli: 'app_domain'
      },
      mode: {
        value: 'dev',
        cli: 'app_mode'
      },
      httpsCerts: {
        value: null,
        cli: 'https_certs'
      },
      branch: {
        value: 'master',
        cli: 'app_branch'
      },
      redisHost: {
        value: '127.0.0.1',
        cli: 'redis:host'
      },
      redisPort: {
        value: '6379',
        cli: 'redis:port'
      },
      disableContextURL: false,
      hasMock: false,
      mockPrefix: {
        value: '/api',
        cli: 'mock_prefix'
      },
      mockPort: {
        value: 5000,
        cli: 'mock_port'
      }
    },
    mediaQueryHoverActiveString: {
      hover: 'all and (min--moz-device-pixel-ratio:0) and (hover: hover), (hover: hover)',
      none: '(hover: none)'
    },
    disableES5Transpile: false,
    isReactMig: false,
    hasWidget: false,
    hasEFC: {
      value: false,
      cli: 'enable_efc'
    },
    enableChunkHash: {
      value: false,
      cli: 'hash_enable'
    },
    cssUniqueness: {
      value: true,
      cli: 'css_unique'
    },
    outputFolder: {
      value: 'build',
      cli: 'output_folder'
    },
    bundleAnalyze: {
      value: false,
      cli: 'bundle_analyze'
    },
    optimize: true,
    manifestFileName: 'manifest.json',
    removeAttribute: {
      value: true,
      cli: 'rm_attr'
    },
    attrbuteNames: {
      value: ['data-testid'],
      cli: 'attr_name'
    },
    publicPaths: false,
    // TODO: Deprecated
    hasRTL: false,
    rtlExclude: [],
    instrumentScript: {
      value: false,
      cli: 'instru_script'
    },
    enableSMap: {
      value: false,
      cli: 'enable_smap'
    },
    enableSMapHook: {
      value: true,
      cli: 'enable_smaphook'
    },
    plugins: null,
    postCssPluginOrder: null,
    patterns: {
      valueReplacer: [],
      selectorReplace: [],
      hoverActive: [],
      combinerMediaQuery: [],
      hasRTL: [],
      cssVariableReplacement: [],
      selectorWeight: [],
      cssUniqueness: [],
      composeMinification: []
    },
    exclude: {
      rtl: [],
      hoverActive: [],
      combinerMediaQuery: [],
      cssVariableReplacement: [],
      selectorWeight: [],
      hasRTL: []
    },
    cssVariableReplacementConfig: '',
    selectorWeightConfig: {
      defaultSelector: '',
      customFileDetails: '',
      excludeStrings: []
    },
    seperateCssModules: {
      value: false,
      cli: 'sep_cssmodules'
    },
    hasShadowDOM: {
      value: false,
      cli: 'has_shadowdom'
    },
    resourceHints: [],
    changeRuntimeChunkChar: false,
    classNamePrefix: {
      value: 'zd',
      cli: 'class_prefix'
    },
    selectorReplace: null,
    devConsoleExculde: {
      value: false,
      cli: 'console_exculde'
    },
    serviceWorker: {
      enableSw: false,
      filePath: 'sw.js',
      fileName: 'v1.js',
      exitPath: '/',
      replaceText: '//<!--AssetsFromBuild -->'
    },
    htmlTemplate: {
      minify: null,
      inject: true
    },
    removePropTypes: false,
    customChunksBaseConfig: null,
    customChunks: [{
      name: 'styles',
      pattern: '\\.css$'
    }],
    tpHashMapping: [],
    cdnMapping: {
      isCdnEnabled: false,
      variableName: '',
      cssTemplate: '',
      jsTemplate: '',
      i18nTemplate: ''
    },
    sourcemap: {
      cli: 'source_map',
      value: 'cheap-eval-source-map'
    },
    externals: null
  },
  docs: {
    externals: null,
    server: {
      iphost: (0, _getIp.default)(),
      host: (0, _os.hostname)(),
      port: {
        value: 9292,
        cli: 'docs_port'
      },
      domain: {
        value: null,
        cli: 'docs_domain'
      },
      branch: false
    },
    mediaQueryHoverActiveString: {
      hover: 'all and (min--moz-device-pixel-ratio:0) and (hover: hover), (hover: hover)',
      none: '(hover: none)'
    },
    customClassNamePrefix: [],
    componentFolder: 'src',
    cssUniqueness: {
      value: true,
      cli: 'css_unique'
    },
    enableChunkHash: false,
    folder: 'src',
    disableES5Transpile: false,
    // TODO: Deprecated
    hasRTL: false,
    enableReactLive: {
      value: true,
      cli: 'react_live'
    },
    enableMDParser: {
      value: true,
      cli: 'markdown_parser'
    },
    rtlExclude: [],
    selectorReplace: null,
    plugins: null,
    postCssPluginOrder: null,
    patterns: {
      valueReplacer: [],
      selectorReplace: [],
      hoverActive: [],
      combinerMediaQuery: [],
      hasRTL: [],
      cssVariableReplacement: [],
      selectorWeight: [],
      cssUniqueness: []
    },
    exclude: {
      rtl: [],
      hoverActive: [],
      combinerMediaQuery: [],
      cssVariableReplacement: [],
      selectorWeight: [],
      hasRTL: []
    },
    cssVariableReplacementConfig: '',
    selectorWeightConfig: {
      defaultSelector: '',
      customFileDetails: '',
      excludeStrings: []
    },
    cssHashSelectors: {
      filenames: [],
      packages: []
    },
    classNamePrefix: {
      value: 'zd',
      cli: 'class_prefix'
    }
  },
  test: {
    classnameFormat: '[classname]',
    srcBranch: {
      value: 'master',
      cli: 'src_branch'
    },
    targetBranch: {
      value: 'master',
      cli: 'target_branch'
    },
    serviceName: {
      value: 'ZohoDeskReactApp',
      cli: 'service_name'
    },
    branchName: {
      value: null,
      cli: 'branch_name'
    },
    impactServerDomain: {
      value: 'ht' + 'tp://desk-automation.csez.zohocorpin.com:8080',
      cli: 'impact_server_domain'
    },
    isCommitCoverage: {
      value: false,
      cli: 'commit_coverage'
    }
  },
  ssTest: {
    seleniumHub: {
      value: 'ht' + 'tp://desk-react.tsi.zohocorpin.com:4444',
      cli: 'sstest_hub'
    },
    domain: {
      value: null,
      cli: 'sstest_domain'
    },
    serviceName: {
      value: 'ZohoDeskReactApp',
      cli: 'service_name'
    },
    impactServerDomain: {
      value: 'ht' + 'tp://desk-automation.csez.zohocorpin.com:8080',
      cli: 'impact_server_domain'
    },
    remoteBranch: false,
    referBranch: {
      value: 'master',
      cli: 'sstest_referbranch'
    },
    enableImage: {
      value: false,
      cli: 'sstest_image'
    },
    currentBranch: {
      value: (0, _getCurrentBranch.default)('git', process.cwd()),
      cli: 'sstest_currentbranch'
    },
    isStore: {
      value: false,
      cli: 'sstest_store'
    },
    isImpactRun: {
      value: false,
      cli: 'sstest_impact'
    },
    dbURL: {
      value: 'ht' + 'tp://tsi-desk-mock.tsi.zohocorpin.com:8080/Hbase',
      cli: 'sstest_db'
    },
    tableName: {
      value: 'screenshottest',
      cli: 'sstest_table'
    },
    pathToSubProjects: {
      value: 'jsapps',
      cli: 'path_to_sub_projs'
    },
    tokenGit: {
      value: '',
      cli: 'git_token'
    },
    changesOnly: {
      value: false,
      cli: 'changes_only'
    }
  },
  impactService: {
    cssSelectorZipPath: {
      value: '',
      cli: 'cssselector_zip'
    },
    writeToDisk: {
      value: false,
      cli: 'write_disk'
    },
    componentServiceName: {
      value: 'ZohoDeskLibrary',
      cli: 'impact_component_service'
    },
    svgServiceName: {
      value: 'ZohoDeskLibrary',
      cli: 'impact_svg_service'
    },
    iconServiceName: {
      value: 'ZohoDeskLibrary',
      cli: 'impact_icon_service'
    },
    variableServiceName: {
      value: 'ZohoDeskLibrary',
      cli: 'impact_variable_service'
    },
    dotServiceName: {
      value: 'ZohoDeskLibrary',
      cli: 'impact_dot_service'
    },
    sourceServiceName: {
      value: 'ZohoDeskReactApp',
      cli: 'impact_source_service'
    }
  },
  ssr: {
    server: {
      host: (0, _os.hostname)(),
      port: {
        value: 4040,
        cli: 'ssr_port'
      },
      domain: {
        value: false,
        cli: 'ssr_domain'
      },
      repoUrl: 'https://vimalesan.a@git.csez.zohocorpin.com/zohodesk/supportportal.git',
      branch: {
        value: 'theme1',
        cli: 'ssr_branch'
      },
      clientAppPath: 'jsapps/portalapp'
    },
    watch: {
      value: false,
      cli: 'ssr_watch'
    }
  },
  cluster: {
    server: {
      host: (0, _os.hostname)(),
      port: 4000,
      domain: {
        value: false,
        cli: 'cluster_domain'
      }
    }
  },
  help: {
    server: {
      host: (0, _os.hostname)(),
      port: 3000,
      domain: {
        value: false,
        cli: 'help_domain'
      }
    }
  },
  umd: {
    component: {
      watch: {
        value: false,
        cli: 'umdComp_watch'
      },
      umdVar: 'Component',
      isDocs: false,
      isHtml: false,
      outputFolder: 'build',
      cssUniqueness: {
        value: true,
        cli: 'umdComp_css_unique'
      },
      folder: 'src'
    },
    css: {
      watch: {
        value: false,
        cli: 'umdCss_watch'
      },
      outputFolder: 'dist',
      umdVar: 'CSS',
      cssUniqueness: {
        value: true,
        cli: 'umdCss_css_unique'
      },
      folder: 'src',
      publicPath: {
        value: false,
        cli: 'umdCss_public_path'
      },
      cssHashSelectors: {
        filenames: [],
        packages: []
      },
      classNamePrefix: {
        value: 'zd',
        cli: 'class_prefix'
      }
    },
    library: {
      umdVar: 'Component',
      outputFolder: 'build',
      watch: {
        value: false,
        cli: 'umdLib_watch'
      }
    }
  },
  unusedFiles: {
    usedFilesExcludes: ['node_modules'],
    appFilesExcludes: ['.docs.js$', '/__tests__/.*(spec|test).js$'],
    delete: false,
    enable: {
      value: false,
      cli: 'enable_unusedfiles'
    },
    outputFileName: 'Unusedfiles.json'
  },
  esLint: {
    enable: {
      value: false,
      cli: 'enable_eslint'
    },
    ignoreFilePaths: false,
    fix: {
      value: false,
      cli: 'eslint_fix'
    },
    isCI: {
      value: false,
      cli: 'eslint_ci'
    },
    reportType: {
      value: 'json',
      cli: 'report_type'
    },
    reportPath: {
      value: './eslint/report.json',
      cli: 'report_path'
    },
    srcBranch: {
      value: 'master',
      cli: 'src_branch'
    },
    targetBranch: {
      value: 'master',
      cli: 'target_branch'
    },
    serviceName: {
      value: 'ZohoDeskReactApp',
      cli: 'service_name'
    },
    impactServerDomain: {
      value: 'ht' + 'tp://desk-automation.csez.zohocorpin.com:8080',
      cli: 'impact_server_domain'
    },
    impactRun: {
      value: false,
      cli: 'impact_run'
    }
  },
  clone: {
    type: {
      value: null,
      cli: 'clone_type'
    },
    url: {
      value: null,
      cli: 'clone_url'
    },
    branch: {
      value: null,
      cli: 'clone_branch'
    },
    revision: {
      value: null,
      cli: 'clone_revision'
    },
    shallowClone: {
      value: false,
      cli: 'shallow_clone'
    },
    projectName: {
      value: null,
      cli: 'clone_proj_name'
    },
    remoteName: {
      value: 'origin',
      cli: 'clone_remote_name'
    },
    cacheDir: {
      value: null,
      cli: 'clone_cacheDir'
    },
    shouldDelete: {
      value: true,
      cli: 'clone_delete'
    }
  },
  module: {
    mode: {
      value: 'prod',
      cli: 'module_mode'
    },
    disableES5Transpile: true
  },
  stats: {
    enable: {
      value: false,
      cli: 'enable_stats'
    },
    fileName: null,
    options: null,
    excludeKeys: null
  }
};
exports.default = _default;