blob: 58880364490e52211f450cea88f26b1e4ba93afc [file] [log] [blame]
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library initialize.build.loader_replacer;
import 'dart:async';
import 'package:barback/barback.dart';
/// Removes `mirror_loader.dart` and replaces it with `static_loader.dart`.
class LoaderReplacer extends Transformer {
LoaderReplacer.asPlugin();
bool isPrimary(AssetId id) =>
id.package == 'initialize' && id.path == 'lib/initialize.dart';
Future apply(Transform transform) {
var id = transform.primaryInput.id;
return transform.primaryInput.readAsString().then((code) {
transform.addOutput(new Asset.fromString(
id, code.replaceFirst('mirror_loader.dart', 'static_loader.dart')));
});
}
}