djblets.pipeline.settings¶
Utilities and constants for configuring Pipeline.
Note
This is safe to import from a project’s settings.py without
side effects (for instance, it will not load any Django models or apps).
New in version 2.1.
- DEFAULT_PIPELINE_COMPILERS: List[str] = ['djblets.pipeline.compilers.es6.ES6Compiler', 'djblets.pipeline.compilers.typescript.TypeScriptCompiler', 'djblets.pipeline.compilers.less.LessCompiler']¶
- Default list of compilers used by Djblets. 
- build_pipeline_settings(*, pipeline_enabled: bool, node_modules_path: str, static_root: str, javascript_bundles: Dict = {}, stylesheet_bundles: Dict = {}, compilers: List[str] = ['djblets.pipeline.compilers.es6.ES6Compiler', 'djblets.pipeline.compilers.typescript.TypeScriptCompiler', 'djblets.pipeline.compilers.less.LessCompiler'], babel_extra_plugins: List[str] = [], babel_extra_args: List[str] = [], less_extra_args: List[str] = [], validate_paths: bool = True, use_rollup: bool = True, rollup_extra_args: List[str] = [], extra_config: Dict = {}) Dict[source]¶
- Build a standard set of Pipeline settings. - This can be used to create a - PIPELINEsettings dictionary in a- settings.pyfile based on the standard Djblets Pipeline settings.- By default, this makes use of Babel, LessCSS, and UglifyJS, along with a preset list of plugins. - The following base set of Babel plugins are used: - The following LessCSS plugin is used: - Optionally, rollup.js <https://www.rollupjs.org> can be used by setting - use_rollup=True. This will make use of- djblets.pipeline.rollup.RollupCompiler, configuring it to automatically compile any of the following files:- index.js
- index.es6,
- index.es6.js
- index.ts
 - These modules can make use of modern JavaScript - import/- exportstatements. Any relatively-imported modules will be rolled up during compilation for the- indexfile.- Note - These files should not be specified as part of the Pipeline bundle! Rollup will instead bundle them into the compiled index file. - As a convenience, this function will also set the value of - node_modules_pathin the- NODE_PATHenvironment variable.- Changed in version 4.0: - Added support for rollup.js <https://www.rollupjs.org>. 
- Added - extra_config,- use_rollup`, and ``rollup_extra_argsparameters.
 - Parameters:
- pipeline_enabled ( - bool) –- Whether Pipelining of static media should be enabled. - This must be provided by a caller. It’s recommended to enable this if - DEBUGis- False(or, better, use another variable indicating a production vs. development environment).
- node_modules_path ( - unicode) – The path to the loal- node_modulesdirectory for the project.
- static_root ( - unicode) – The value of the- settings.STATIC_ROOT. This must be provided explicitly, since- settings.pyis likely the module calling this.
- javascript_bundles ( - listof- dict, optional) – A list of JavaScript bundle packages for Pipeline to handle.
- stylesheet_bundles ( - listof- dict, optional) – A list of stylesheet bundle packages for Pipeline to handle.
- compilers ( - listof- unicode, optional) – A list of compilers to use for static media.
- babel_extra_plugins ( - listof- unicode, optional) – A list of additional Babel plugins to enable.
- babel_extra_args ( - listof- unicode, optional) – Extra command line arguments to pass to Babel.
- less_extra_args ( - listof- unicode, optional) – Extra command line arguments to pass to LessCSS.
- validate_paths ( - bool, optional) –- Whether to validate any expected paths to binary files. - It’s recommended to set this based on - DEBUG, or another variable indicating a production vs. development environment.- If the - DJBLETS_SKIP_PIPELINE_VALIDATIONenvironment variable is set to- 1, then this will be forced to- False. This is primarily used for packaging building.
 
 
