nodejs_interop 0.9.0

  • Readme
  • Changelog
  • Installing
  • 0

Node.js Interop for Dart #

Dart Node.js Release License Coverage Build

Node.js interoperability for Dart.

Resources #

Requirements #

If you plan to play with the sources, you will also need the latest Grinder version.

Unit tests #

In order to run the tests, you must install the Node.js test dependencies by running the following command:

$ npm install

Then, you can launch the test runner from the command prompt:

$ pub run test

License #

Node.js Interop for Dart is distributed under the MIT License.

Changelog #

This file contains highlights of what changes on each version of the Node.js Interop for Dart library.

Version 0.9.0

  • Breaking change: starting to use and support the Dart 2 SDK.
  • Added a user guide based on MkDocs.
  • Added the Platform.operatingSystemVersion property.
  • Added the throwDeprecation and traceDeprecation properties to the Process class.
  • Added the ProcessSignal class.
  • Updated the dependencies.

Version 0.8.0

  • Breaking change: removed most classes of the nodejs_interop.js library (JSObject, Json, Reflect, TypedArray and Uint8Array).
  • Breaking change: removed the instance methods of the Buffer class, as this class is casted to the Uint8List class by the Dart runtime.
  • Breaking change: renamed the convertToFuture() function to asFuture().
  • Breaking change: renamed the convertToStream() function to asStream().
  • Breaking change: renamed the DeleteOptions class to DelOptions.
  • Breaking change: renamed the NodeProcess class to Process.
  • Breaking change: renamed the NodeRelease class to Release.
  • Breaking change: renamed the ReadStream class to FSReadStream.
  • Breaking change: renamed the WriteStream class to FSWriteStream.
  • Breaking change: the FileStat.fromStats() constructor is now private.
  • Added the tty module.
  • Added utility functions for converting functions following the Node.js callback style to a Future (e.g. fn1cb0ToFuture(), fn3cb2ToFuture(), ...).
  • Added the RandomAccessFile and SystemEncoding classes.
  • Added the asPromise(), deleteProperty() and getProperties() functions.
  • Added the Promise.JS$catch() method.
  • Added new unit tests.
  • Fixed the implementation of the FileStat class.
  • The nodejs_interop.js library exports the functions from the dart:js_util library.
  • Updated the Node.js dependencies.

Version 0.7.0

  • Breaking change: renamed the convertToDart() function to dartify().
  • Breaking change: renamed the ReaddirEnhancedModule class to ReaddirModule.
  • Breaking change: the, nodejs_interop.js, nodejs_interop.node and nodejs_interop.npm libraries are no longer exported individually.
  • Added the exit() and sleep() functions.
  • Added the exitCode and pid properties.
  • Added the Buffer.BYTES_PER_ELEMENT static property.
  • Added the InternetAddress, InternetAddressType, JSObject, NetworkInterface, ProcessInfo and Reflect classes.
  • Added the minify option to the Pub transformer.
  • Added new methods to the Console and Uint8Array classes.
  • Added new unit tests.
  • Fixed the implementation of the dns module.

Version 0.6.0

  • Breaking change: renamed the Path class to PathObject.
  • Breaking change: renamed the ReadOptions class to ReadFileOptions.
  • Breaking change: renamed the ResolveOptions class to ResolveFunctionOptions.
  • Breaking change: renamed the WarningOptions class to EmitWarningOptions.
  • Breaking change: renamed the WriteOptions class to WriteFileOptions.
  • Added setters to properties of all @anonymous classes.
  • Added the dns module.
  • Added the querystring module.
  • Added the string_decoder module.
  • Added the url module.
  • Added a partial implementation of the process manager API.
  • Added a Pub transformer.
  • Finished the implementation of the util module.

Version 0.5.0

  • Breaking change: removed the FileStat.toJson() method.
  • Breaking change: renamed the Process class to NodeProcess.
  • Added the child_process module.
  • Added the cluster module.
  • Added the stream module.
  • Added the vm module.
  • Added the BufferEncoding.fromEncoding() method.
  • Added the current and systemTemp static properties to the Directory class.
  • Finished the implementation of the fs module.

Version 0.4.0

  • Breaking change: renamed the Js prefix to JS for JavaScript errors.
  • Breaking change: renamed the NodejsPlatform class to Platform.
  • Added bindings for a predefined set of npm packages.
  • Added the buffer module.
  • Added the console module.
  • Added the convertToStream() and loadLibrary() functions.
  • Added the Json, Module and Writable classes.
  • Added a partial implementation of the fs module.
  • Added a partial implementation of the util module.
  • Added a partial implementation of the file system API.
  • Finished the implementation of the Process class.
  • Finished the implementation of the require() function.
  • Splitted the library in modules: io, js, node and npm.

Version 0.3.0

  • Added the os module.
  • Added the convertToDart() and convertToFuture() functions.
  • Added the CpuUsage, NodejsPlatform and Promise classes.
  • Added a partial implementation of the Process class.

Version 0.2.0

  • Breaking change: renamed the PathObject class to Path.
  • Added the assert module.
  • Added the errors module.
  • Added the events module.

Version 0.1.0 #

  • Initial release: provides the require() function and the path module.

Use this package as a library

1. Depend on it

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

  nodejs_interop: ^0.9.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:nodejs_interop/io.dart';
import 'package:nodejs_interop/js.dart';
import 'package:nodejs_interop/node.dart';
import 'package:nodejs_interop/npm.dart';
import 'package:nodejs_interop/transformer.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.

This package is not analyzed, because it is discontinued.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

Dependencies were not resolved.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev <2.0.0