installWeb function
Implementation
Future<void> installWeb(List<String> args) async {
if (args.contains('-h') || args.contains('--help')) {
stdout.writeln(_usage);
return;
}
final from = _valueOf(args, '--from');
final out = Directory(_valueOf(args, '--out') ?? _defaultOut);
final force = args.contains('--force');
final mtFrom = _valueOf(args, '--mt-from');
final mtOut = Directory(_valueOf(args, '--mt-out') ?? 'web/cera_mt');
final pubspec = await _readPubspec();
await out.create(recursive: true);
await _installWorker(out, force: force);
if (from != null) {
await _copyModule(Directory(from), out, force: force);
} else {
await _downloadModule(pubspec, out, force: force);
}
if (mtFrom != null) {
await mtOut.create(recursive: true);
await _copyModule(Directory(mtFrom), mtOut, force: force);
}
final url = _urlOf(out);
final prefix = url.isEmpty ? '' : (url.endsWith('/') ? url : '$url/');
stdout
..writeln()
..writeln('Installed into ${out.path}/')
..writeln()
..writeln('Point the engine at it if you changed --out:')
..writeln(
' Cera.openBytes(bytes, options: CeraOptions(web: CeraWebAssets(',
)
..writeln(" workerUrl: '${prefix}cera_worker.js',")
..writeln(" moduleUrl: '${prefix}cera_wasm.js',")
..writeln(' )));');
}