Configuration

Below is an overview of the different kinds of configuration we have.

Fixed configuration

name description source
webpack config main webpack configuration repo:/build-tools/config/webpack/webpack.config.*.js
build options Default values for build options (see build options in dynamic config table below) repo:/build-tools/config/default.buildoptions.js
eslint Configuration for JS linter repo:/.eslintrc and repo:/.esilntignore
editorconfig Code style options to be used by IDE repo:/.editorconfig
scss lint Config for scss linter repo:/scss-lint.yml
package.json npm module dependencies + npm scripts definitions repo:/package.json
yarn.lock lockfile for alternative package manager. used by by build server instead of npm to lock down package versions repo:/yarn.lock
jsdoc config Configuration to render this documentation repo:/docs/conf.json and repo:/docs/tutorials/tutorials.json
jsdoc template Custom build of docstrap jsdoc template repo:/docs/template/

Dynamic configuration

name description* parsed at source parsed by
themes Styling differences per market buildtime repo:/theme custom webpack loaders in respository:/build-tools
build options Webpack build options per microservice per target (browser vs nodejs) per mode (development vs distribution) buildtime repo:/<microservice>/config/webpack/<microservice>-<web/node>-<dist/dev>.buildoptions.json repo:/build-tools/config/BuildOptionsManager.js
configdefinitions Application options per microservice buildtime repo:/<microservice>/config/<microservice>.json config-injector-loader in frontend repo
environment config Application options per environment runtime repo:/config/<environment>.json + overrides in azure appsettings node-config JS module (see https://github.com/lorenwest/node-config)
localized copy Copy definitions per market correct copy bundle for market is passed at buildtime. messages are parsed from that bundle at runtime. repo:/<microservice>/src/app/locale/<locale>.i18n + various <locale>.json files throughout frontend repo locale-loader in frontend repo to create copy bundles per market. LocaleProvider component in frontend repo to read messages from bundle

* A market refers to localization (e.g. US, UK). A microservice refers to different deployment targets (e.g. member, account, admin).