node_io 1.0.0-dev.10.0

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 76

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(Directory.current);
  print("Current directory exists: ${Directory.current.existsSync()}");
  print('Current directory contents: ');
  Directory.current.list().listen(print);
}

Configuration and build

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

dev_dependencies:
  build_runner: # needed to run the build
  build_node_compilers:

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

targets:
  $default:
    sources:
      - "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.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.open, 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.

example/node_io.dart

import 'package:node_io/node_io.dart';

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

Use this package as a library

1. Depend on it

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


dependencies:
  node_io: ^1.0.0-dev.10.0

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';
  
Version Uploaded Documentation Archive
1.0.0-dev.10.0 Nov 7, 2018 Go to the documentation of node_io 1.0.0-dev.10.0 Download node_io 1.0.0-dev.10.0 archive
1.0.0-dev.9.0 Oct 5, 2018 Go to the documentation of node_io 1.0.0-dev.9.0 Download node_io 1.0.0-dev.9.0 archive
1.0.0-dev.8.0 Jul 24, 2018 Go to the documentation of node_io 1.0.0-dev.8.0 Download node_io 1.0.0-dev.8.0 archive
1.0.0-dev.7.0 Jun 25, 2018 Go to the documentation of node_io 1.0.0-dev.7.0 Download node_io 1.0.0-dev.7.0 archive
1.0.0-dev.6.0 Jun 22, 2018 Go to the documentation of node_io 1.0.0-dev.6.0 Download node_io 1.0.0-dev.6.0 archive
1.0.0-dev.5.0 Jun 11, 2018 Go to the documentation of node_io 1.0.0-dev.5.0 Download node_io 1.0.0-dev.5.0 archive
1.0.0-dev.4.0 Jun 6, 2018 Go to the documentation of node_io 1.0.0-dev.4.0 Download node_io 1.0.0-dev.4.0 archive
1.0.0-dev.3.0 Apr 16, 2018 Go to the documentation of node_io 1.0.0-dev.3.0 Download node_io 1.0.0-dev.3.0 archive
1.0.0-dev.2.0 Feb 14, 2018 Go to the documentation of node_io 1.0.0-dev.2.0 Download node_io 1.0.0-dev.2.0 archive
1.0.0-dev.1.0 Feb 13, 2018 Go to the documentation of node_io 1.0.0-dev.1.0 Download node_io 1.0.0-dev.1.0 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
63
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
75
Overall:
Weighted score of the above. [more]
76
Learn more about scoring.

We analyzed this package on Dec 5, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.7

Platforms

Detected platforms: web, other

Primary library: package:node_io/node_io.dart with components: js, io.

Maintenance suggestions

The description is too short. (-20 points)

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Package is pre-release. (-5 points)

Pre-release versions should be used with caution, their API may change in breaking ways.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev <3.0.0
node_interop ^1.0.0-dev.11.0 1.0.0
path ^1.6.2 1.6.2
Dev dependencies
build_node_compilers ^0.2.0
build_runner ^1.0.0
build_test any
js ^0.6.0 0.6.1+1
test ^1.0.0