UNPKG

@zohodesk/client_build_tool

Version:

A CLI tool to build web applications and client libraries

355 lines (351 loc) 7.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _os = require("os"); // NOTE: Don't use 'config_file' as cli option it was reserved var _default = { context: { value: 'app', cli: 'context' }, devtool: 'source-map', statsLogConfig: null, stats: { enable: { value: false, cli: 'enable_stats', type: 'boolean' }, fileName: null, options: null, excludeKeys: null }, enableFileNameHashing: { value: false, cli: 'enable_hash' }, bundleAnalyze: { value: false, cli: 'bundle_analyze' }, enableMockReplace: { value: false, cli: 'enable_mock_replace' }, noPublicPath: { value: false, cli: 'no_public_path' }, output: { value: 'build', cli: 'output' }, mode: { value: null, cli: 'mode' }, printProgress: { value: false, cli: 'print_progress' }, server: { k8s: { value: false, cli: 'k8s' }, httpsCerts: { value: '', cli: 'https_certs' }, host: { value: (0, _os.hostname)(), cli: 'host' }, port: { value: 9090, cli: 'port' }, domain: { value: null, cli: 'domain' }, disableContextURL: { value: false, cli: 'disable_context' } }, mockServer: { enable: { value: false, cli: 'enable_mock' }, separateSeverPort: { value: null, cli: 'mock_port' }, disableNodemon: { value: false, cli: 'disable_nodemon' }, mockEntryFile: 'mockapi/index.js', mockPrefix: { value: '/api', cli: 'mock_prefix' } }, css: { classNameOptions: { customizations: [{ enable: true, blob: '[local]', patterns: ['*.plain.css'] }, { enable: true, blob: '[prefix]-[filename]-[local]', patterns: [] }], classNamePrefix: 'zd' }, // NOTE: Suggestions // Name Suggestions `customizations` this will be easier then `plugin` to understand for developers plugins: { rtlSplit: { enableRTLSplit: { value: false, cli: 'enable_rtl_split' }, templateLabel: '{{--dir}}', disableMinifySelector: false, dirVarName: 'document.dir' }, selectorWeight: { enable: false, patterns: [], configFile: null, defaultSelector: '', customFileDetails: '', excludeStrings: [] }, // postcss plugins start // NOTE: These we have putted names of post-css-plugins in array // packages/client_build_tool/src/shared/bundler/webpack/custom_postcss_loaders/PostCssOptionConstants.js valueReplacer: { enable: false, patterns: [], config: [] }, selectorReplace: { enable: false, patterns: [], before: [], after: [] }, hoverActive: { enable: false, patterns: [], hover: '(hover: hover)', active: '(hover: none)' }, cssVariableReplacement: { enable: false, patterns: [], configFile: null }, rtl: { enable: false, patterns: [] } // postcss - plugins end }, customPlugins: ['...'] }, i18nChunkSplit: { chunkSplitEnable: { value: false, cli: 'i18n_split' }, disableDefault: false, templateLabel: '{{--user-locale}}', localeVarName: 'document.documentElement.lang', jsonpFunc: 'console.log', jsResource: null, propertiesFolder: null }, publicFolders: { dev: ['...'], prod: ['...'] }, app: { entryFile: { value: 'src/index.js', cli: 'entry' } }, resolve: { preferLocalFirst: false, defaultAlias: true, moduleResolvePath: { value: '', cli: 'module_resolve_path' }, alias: null }, htmlTemplate: { crossorigin: { value: false, cli: 'enable_crossorigin' }, templateFile: { value: 'src/index.html', cli: 'initial_html' }, minify: null, inject: true }, efc: { hasEFC: { value: false, cli: 'enable_efc', type: 'boolean' }, entryPointName: 'efc', entryFile: { value: 'src/efc.js', cli: 'efc_entry' }, version: { value: 'v1', cli: 'efc_version' }, createSDkFile: { value: false, cli: 'create_efc_sdk' }, templateFilePath: 'efcTemplate.js', outputFile: { value: 'efc-sdk-[version].js', cli: 'efc_output' }, resourceCleanup: { value: false, cli: 'enable_efc_resource_cleanup', type: 'boolean' } }, createSeparateSMap: { value: false, cli: 'enable_smap' }, babelCustomizations: { browserList: null, // NOTE: need to consider // presets: [], plugins: [], removeAttribute: { enable: false, options: { attributeNames: ['data-testid'] } }, removePropTypes: { enable: false, options: { mode: 'remove', removeImport: true } }, devConsoleExclude: { enable: { value: false, cli: 'console_exclude' }, options: { exclude: ['error'] } } }, webpackPlugins: [], vendorPatterns: [], customChunksBaseConfig: null, customChunks: [{ name: 'styles', patterns: ['*.css'] }], cdnMapping: { isCdnEnabled: { value: false, cli: 'enable_cdn' }, variableName: '', cssTemplate: '', jsTemplate: '', i18nTemplate: '' }, manifestJson: { enable: false, i18nManifestJson: false, licenseManifest: false }, changeRuntimeChunkChar: '~', serviceWorker: { enable: false, templateFilePath: 'sw.js', outputFilePath: '/v1.js', replaceText: '//<!--AssetsFromBuild -->' }, customLoaders: [], resourceHints: { allowPrefetchingMultipleChunks: false }, devModeContentHashAllowedTypes: null, nameTemplateCustomization: null, devLikeHash: { value: false, cli: 'dev_like_hash' }, disableReactDevWarning: { value: false, cli: 'disable_react_dev_warning' }, preProcess: { enable: { value: false, cli: 'enable_pre_process' }, // This option is for tell the CBT to which is preprocessor js file path runner: { value: '', cli: 'preprocessor' }, // usually preprocessor run in nodemon for, start and docs , preprocessor stopNodemon: { value: false, cli: 'stop_nodemon' } }, fileHashMappingToVariable: null, customAttributes: { enable: false, attributes: null, jsAttributes: null, cssAttributes: null, i18nAttributes: null }, externals: null, typeScript: { enable: { value: false, cli: 'type_script_enable' } }, optimization: { jsExcludePath: '', cssExcludePath: '' }, customScriptLoadingStrategey: { enable: false, options: null } }; exports.default = _default;