Pub Package Github Actions CI

Introduction

This package enables use of 'dart:io' networking APIs in Chrome OS Apps.

Supported 'dart:io' APIs include:

The package is implemented as a driver for package:universal_io. Licensed under the Apache License 2.0. A few files in the package were obtained from package:chrome under the BSD 2-Clause License.

Contributing

Unfortunately writing automatic tests for Chrome OS Apps is painful. At the moment, the project uses the following manual workflow:

  1. Compile the example app.
  2. Open Chrome OS page "chrome://extensions".
  3. Click "Load unpacked extension"
  4. Use buttons in the web app for running tests.
  5. Look at the console (to be sure nothing is wrong).
  • chrome
    • For Chrome extensions.
  • webext
    • For Google Chrome, Mozilla Firefox, and Microsoft Edge extensions.
  • webextdev
    • A tool for browser extension developers.

Getting started

In pubspec.yaml:

dependencies:
  chrome_os_io: ^0.1.0

In main.dart:

import 'package:chrome_os_io/chrome_os_io.dart';
import 'package:universal_io/io.dart';

void main() async {
  chromeIODriver.enable();

  // 'dart:io' works now!
  final socket = await Socket.connect("localhost", 8080);
}

Libraries

chrome_os_io
Support for 'dart:io' sockets in Chrome OS Apps.