1.0.0 • Published 1 year ago

@devtea2025/vero-odit-ullam-soluta v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

MZ - Modernize node.js

NPM version Build status Test coverage Dependency Status License Downloads

Modernize node.js to current ECMAScript specifications! node.js will not update their API to ES6+ for a while. This library is a wrapper for various aspects of node.js' API.

Installation and Usage

Set @devtea2025/vero-odit-ullam-soluta as a dependency and install it.

npm i @devtea2025/vero-odit-ullam-soluta

Then prefix the relevant require()s with @devtea2025/vero-odit-ullam-soluta/:

var fs = require('@devtea2025/vero-odit-ullam-soluta/fs')

fs.exists(__filename).then(function (exists) {
  if (exists) // do something
})

With ES2017, this will allow you to use async functions cleanly with node's core API:

const fs = require('@devtea2025/vero-odit-ullam-soluta/fs')


async function doSomething () {
  if (await fs.exists(__filename)) // do something
}

Promisification

Many node methods are converted into promises. Any properties that are deprecated or aren't asynchronous will simply be proxied. The modules wrapped are:

  • child_process
  • crypto
  • dns
  • fs (uses graceful-fs if available)
  • readline
  • zlib
var exec = require('@devtea2025/vero-odit-ullam-soluta/child_process').exec

exec('node --version').then(function (stdout) {
  console.log(stdout)
})

Promise Engine

@devtea2025/vero-odit-ullam-soluta uses any-promise.

FAQ

Can I use this in production?

Yes, Node 4.x ships with stable promises support. For older engines, you should probably install your own promise implementation and register it with require('any-promise/register')('bluebird').

Will this make my app faster?

Nope, probably slower actually.

Can I add more features?

Sure. Open an issue.

Currently, the plans are to eventually support:

  • New APIs in node.js that are not available in older versions of node
  • ECMAScript7 Streams
emrcjkviewprivate datafunctionscomputed-typesjavascriptregexpbyteLengthArrayendpointReactiveExtensionsauthenticationless mixinsinspectworkflowsymlinkeslint-pluginhas-owntrimRightsuperstructObservablecacheextensionutilitypruneinternal slotstylesmatchAlltoArraystructuredCloneclassessomewafparentsfromglobalgetintrinsicbeanstalkcheckconfigTypeBoxenvironmentsstartcss lessapiObject.fromEntrieswaitstdlibpromisessinatrabindratelimitajvgradients cssObject.entriesdropwhatwgES6arktypetype$.extendclassnamesWebSocketstream256compilerfilterlookmatchRxcurlObject.isES2023Array.prototype.flattenobjectpackage.jsonmovedefinePropertysyntaxesprotobufimportexportprocessnamesequalimmerpropertiesworkerhasponyfillkeyArray.prototype.findLastIndexECMAScript 2020starterformhelpersrandomtypeerrorMapgetPrototypeOfObject.definePropertytraverseurlscss-in-jsamazonartconcatMapes5reactcharactersECMAScript 3busylanguagermdirwritejoienvuninstallES2017arrayswatcherES2015Array.prototype.flatlimitedvest.envmacosforEachmimetypesvalidationspinnerECMAScript 7gradients css3RxJSsigtermvariablesjsonpathes-shimsUnderscorehigher-ordereventDispatchertypanionrm -rfdataviewmulti-packagerecursivesideshellexecutablestablecompile lessthroatReflect.getPrototypeOftoolsfast-copyl10nfast-cloneparsingreact-testing-libraryproxycryptoclonelinkpreprocessorwebcopystyleguideappECMAScript 2015descriptionwarningES2021isConcatSpreadableinvariantURLsespasswordpostcss-pluginHyBilruargvelbshrinkwrapmkdirsslicerestfulkoreanes8findLastaccessorutilutilitiesWeakSetweaksetInt16ArrayfigletgetopttypedarraysruntimesignalmkdirpUint32Arrayargumentestreepackage managerargparseECMAScript 2021querycallwidthfastifychaigdprzodschemaresolveframeworkwritabledom-testing-librarywalkeventEmitterquerystringless.jsec2ES2019es7dependency managertrimEnduuidlastpicomatchArray.prototype.findLastpropWeakMap
1.0.0

1 year ago