anchor.diff:  String _formatDart2jsArgs(Map<String, String> args) {
     var values = args.entries.map((entry) => '"-D${entry.key}=${entry.value}"');
     return '[${values.join(',')}]';
  +}
  +
  +/// Formats a map of argument key and values to be passed as DDC environment
  +/// variables.
  +String _formatDdcArgs(Map<String, String> args) {
  +  var values = args.entries.map((entry) => '"${entry.key}":"${entry.value}"');
  +  return '{${values.join(',')}}';
   }
   
   @Task()
  
positive.code:   PubApp.local('build_runner').run([
      'build',
      if (!args.hasFlag(_debugFlag)) '-r',
      if (dart2jsArgs.isNotEmpty)
        '--define=build_web_compilers:entrypoint='
            'dart2js_args=${_formatDart2jsArgs(dart2jsArgs)}',
      '-o',
      'web:build',
      '--delete-conflicting-outputs',
  
negative.code: @Task('Build the `web/index.html` entrypoint')
  build() {
    var args = context.invocation.arguments;
    var compilerArgs = {
      if (args.hasOption(_preNullSafetyServerUrlOption))
        preNullSafetyServerUrlEnvironmentVar:
            args.getOption(_preNullSafetyServerUrlOption),
  