public static function applyConfiguration(NodeBuilder $node_builder)
{
$uglify = $node_builder->arrayNode('uglifyjs')->canBeEnabled()->children();
$compress = $uglify->arrayNode('compress')->cannotBeEmpty()->addDefaultsIfNotSet()->children();
foreach (self::$config_map as list($option, $default, $info)) {
$compress->booleanNode($option)->defaultValue($default)->info($info)->end();
}
$compress->arrayNode('global_defs')->info('global definition')->prototype('scalar')->end()->end();
$uglify->arrayNode('mangle_except')->defaultValue(['$super', '$', 'exports', 'require'])->info('Variable names to not mangle')->prototype('scalar')->end();
$uglify->booleanNode('source_map')->defaultTrue()->info('The plugin uses SourceMaps to map error message locations to modules. This slows down the compilation')->end();
$uglify->scalarNode('test')->defaultValue('/\\.js($|\\?)/i')->info('RegExp to filter processed files')->end();
$uglify->booleanNode('minimize')->defaultTrue()->info('Whether to minimize or not')->end();
}