node_io 1.1.1

  • Readme
  • Changelog
  • Example
  • Installing
  • 91

node_io #

This library exposes Node I/O functionality in dart:io way. It wraps Node.js I/O modules (like fs and http) and implements them using abstractions provided by dart:io (like File, Directory or HttpServer).

If you are looking for direct access to Node.js API see node_interop package.

Usage #

A basic example of accessing file system:

import 'package:node_io/node_io.dart';

void main() {
  print("Current directory exists: ${Directory.current.existsSync()}");
  print('Current directory contents: ');

Configuration and build #

Add build_node_compilers and build_runner to dev_dependencies section in pubspec.yaml of your project:

  build_runner: # needed to run the build

Add build.yaml file to the root of your project:

      - "node/**"
      - "test/**" # Include this if you want to compile tests.
      - "example/**" # Include this if you want to compile examples.

By convention all Dart files which declare main function go in node/ folder.

To build your project run following:

pub run build_runner build --output=build/

Detailed instructions can be found in build_node_compilers package docs.

Features and bugs #

Please file feature requests and bugs at the issue tracker.

1.1.1 #

  • Implemented stdout and stderr library-level properties.
  • Platform.isIOS and Platform.isFuchsia now throw UnsupportedError.

1.1.0 #

  • Added support for Dart 2.8 (#75)
  • Bumped Dart SDK constraint to 2.2.0

1.0.1+2 #

  • More preparation for Uint8List SDK breaking change (dart-lang/sdk#36900). See #61 and #63 for details.

1.0.1+1 #

  • Prepare for Uint8List SDK breaking change (dart-lang/sdk#36900). See #59 and #60 for details.

1.0.1 #

  • Server side NodeHttpRequest and NodeHttpResponse are now available in public interface.

1.0.0 #

First stable release of this library which implements subset of dart:io interfaces, including File System objects, HttpServer, Platform and other common classes.

Not all dart:io interfaces are covered yet. Feel free to file an issue on Github if you need a specific class implemented in node_io.

  • Complete file system implementations for Directory, File, RandomAccessFile, Link.
  • Added which reflects coverage of already implemented or exported dart:io APIs.

1.0.0-dev.10.0 #

  • Fixed NodeHttpResponse.redirect failing to convert Uri to string.

1.0.0-dev.9.0 #

  • Upgraded to latest build_node_compilers (0.2.0)

1.0.0-dev.8.0 #

  • Fixed: analysis warnings with latest Pub and Dart SDK.

1.0.0-dev.7.0 #

  • Fixed: handling errors in Directory.delete.
  • Fixed: handling relative paths in Directory.list.
  • Fixed: strong mode issues in Directory and File.
  • Added: File.create, File.delete, File.readAsString, File.rename, File.writeAsBytes, File.writeAsString.
  • Fixed: handling errors in, File.stat, File.statSync.
  • Fixed: converting byte data in NodeIOSink.
  • Added: Minimal scaffold for Link FS entities.

1.0.0-dev.6.0 #

  • Upgraded to latest build_node_compilers.

1.0.0-dev.5.0 #

  • Fixed deprecation warnings with Dart 2 dev 61 SDK version.

1.0.0-dev.4.0 #

  • Fixed deprecation warnings with latest Dart 2 dev SDK.
  • Refactored HttpHeaders to not rely on Node.js API introduced in v7.7.0 Allows using this wrapper in Google Cloud Functions environment which runs on Node.js 6.x (LTS).

1.0.0-dev.3.0 #

  • Allow list values in HttpHeaders.set.

1.0.0-dev.2.0 #

  • Complete implementation of InternetAddress.

1.0.0-dev.1.0 #

  • Split from node_interop.


import 'package:node_io/node_io.dart';

void main() {
  print('Current directory exists: ${Directory.current.existsSync()}');
  print('Current directory contents: ');

  stderr.writeln('This is error');

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  node_io: ^1.1.1

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:node_io/node_io.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Jun 4, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.2
  • pana: 0.13.8-dev

Maintenance issues and suggestions

No valid SDK. (-20 points)

The analysis could not detect a valid SDK that can use this package.

The package description is too short. (-20 points)

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.0 <3.0.0
node_interop ^1.1.1 1.1.1
path ^1.6.2 1.7.0
Dev dependencies
build_node_compilers ^0.2.0
build_runner ^1.0.0
build_test any
js ^0.6.0 0.6.1+1
pedantic ^1.0.0
test ^1.0.0