@zohodesk/client_build_tool
Version:
A CLI tool to build web applications and client libraries
187 lines (183 loc) • 4.08 kB
JavaScript
"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: 'app',
devtool: 'hidden-cheap-source-map',
enableFileNameHashing: false,
bundleAnalyze: false,
enableMockReplace: false,
noPublicPath: false,
output: 'build',
mode: null,
printProgress: false,
server: {
httpsCerts: '@zohodesk-private/client_dev_cert',
host: (0, _os.hostname)(),
port: 9090,
domain: 'tsi',
disableContextURL: false
},
mockServer: {
enable: false,
separateSeverPort: 5000,
disableNodemon: false,
mockEntryFile: 'mockapi/index.js',
mockPrefix: '/api/'
},
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: false,
templateLabel: '{{--dir}}',
disableMinifySelector: false,
dirVarName: 'document.dir'
},
selectorWeight: {
enable: false,
patterns: [],
configFile: null,
defaultSelector: '',
customFileDetails: '',
excludeStrings: []
},
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: false,
disableDefault: false,
templateLabel: '{{--user-locale}}',
localeVarName: 'document.documentElement.lang',
jsonpFunc: 'console.log',
jsResource: null,
propertiesFolder: null
},
publicFolders: {
dev: ['...'],
prod: ['...']
},
app: {
entryFile: 'src/index.js',
tpFolder: null,
moduleResolvePath: 'node_modules'
},
resolve: {
preferLocalFirst: false,
defaultAlias: true,
moduleResolvePath: 'node_modules',
alias: null
},
// EFC means Embedded Functional Components
efc: {
hasEFC: false,
entryPointName: 'efc',
entryFile: 'src/efc.js',
version: 'v1',
createSDkFile: false,
templateFilePath: 'efcTemplate.js',
outputFile: 'efc-sdk-[version].js',
resourceCleanup: false
},
createSeparateSMap: false,
babelCustomizations: {
browserList: null,
removeAttribute: {
enable: false,
options: {
attributeNames: ['data-testid']
}
},
removePropTypes: {
enable: false,
options: {
mode: 'remove',
removeImport: true
}
},
devConsoleExclude: {
enable: false,
options: {
exclude: ['error']
}
},
// NOTE: need to consider
// presets: [],
plugins: []
},
webpackPlugins: [],
vendorPatterns: [],
customChunks: [{
name: 'styles',
patterns: ['*.css']
}],
htmlTemplate: {
templateFile: 'src/index.html',
minify: null,
inject: true
},
// CDN means Content Delivery Network
cdnMapping: {
isCdnEnabled: false,
variableName: '',
cssTemplate: '',
jsTemplate: '',
i18nTemplate: ''
},
manifestJson: {
enable: true
},
changeRuntimeChunkChar: '~',
serviceWorker: {
enable: false,
templateFilePath: 'sw.js',
outputFilePath: '/v1.js',
replaceText: '//<!--AssetsFromBuild -->'
},
stats: {
enable: false,
fileName: null,
options: null,
excludeKeys: null
}
};
exports.default = _default;