readdir-cluster
Advanced tools
Comparing version 5.3.0 to 6.0.0
<!-- LICENSEFILE/ --> | ||
<h1>License</h1> | ||
# License | ||
Unless stated otherwise all works are: | ||
<ul><li>Copyright © 2015+ <a href="http://bevry.me">Bevry Pty Ltd</a></li></ul> | ||
- Copyright © [Benjamin Lupton](https://balupton.com) | ||
and licensed under: | ||
<ul><li><a href="http://spdx.org/licenses/Artistic-2.0.html">Artistic License 2.0</a></li></ul> | ||
- [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html) | ||
<h2>The Artistic License 2.0</h2> | ||
## The Artistic License 2.0 | ||
@@ -15,0 +15,0 @@ <pre> |
232
package.json
{ | ||
"title": "readdir-cluster", | ||
"name": "readdir-cluster", | ||
"version": "5.3.0", | ||
"description": "Use multiple CPU cores via clusters for the fastest way to read nested directories and their stats", | ||
"version": "6.0.0", | ||
"license": "Artistic-2.0", | ||
"description": "Create a cluster of workers to iterate through the filesystem", | ||
"homepage": "https://github.com/bevry/readdir-cluster", | ||
"license": "Artistic-2.0", | ||
"funding": "https://bevry.me/fund", | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/bevry/readdir-cluster.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/bevry/readdir-cluster/issues" | ||
}, | ||
"keywords": [ | ||
"cluster", | ||
"directory", | ||
"esnext", | ||
"es2015", | ||
"es2017", | ||
"es2022", | ||
"es5", | ||
"export-default", | ||
"folder", | ||
@@ -20,2 +32,5 @@ "fs", | ||
"tree", | ||
"typed", | ||
"types", | ||
"typescript", | ||
"watch", | ||
@@ -64,17 +79,48 @@ "watching", | ||
}, | ||
"funding": "https://bevry.me/fund", | ||
"author": "2015+ Bevry Pty Ltd <us@bevry.me> (http://bevry.me)", | ||
"author": "Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton)", | ||
"authors": [ | ||
"Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton): Accelerating collaborative wisdom." | ||
], | ||
"maintainers": [ | ||
"Benjamin Lupton <b@lupton.cc> (https://github.com/balupton)" | ||
"Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton): Accelerating collaborative wisdom." | ||
], | ||
"contributors": [ | ||
"Benjamin Lupton <b@lupton.cc> (https://github.com/balupton)" | ||
"Benjamin Lupton <b@lupton.cc> (https://balupton.com) (https://github.com/balupton)" | ||
], | ||
"bugs": { | ||
"url": "https://github.com/bevry/readdir-cluster/issues" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/bevry/readdir-cluster.git" | ||
}, | ||
"sponsors": [ | ||
"Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew): Software engineer and researcher", | ||
"Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa): We're Balsa, and we're building tools for builders.", | ||
"Codecov <hello-codecov@sentry.io> (https://codecov.io) (https://github.com/codecov): Empower developers with tools to improve code quality and testing.", | ||
"Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)", | ||
"Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)", | ||
"Sentry (https://sentry.io) (https://github.com/getsentry): Real-time crash reporting for your web apps, mobile apps, and games.", | ||
"Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm): Syntax Podcast" | ||
], | ||
"donors": [ | ||
"Andrew Nesbitt (https://nesbitt.io) (https://github.com/andrew)", | ||
"Armen Mkrtchian (https://mogoni.dev) (https://github.com/Armenm)", | ||
"Balsa <hello@balsa.com> (https://balsa.com) (https://github.com/balsa)", | ||
"Chad (https://opencollective.com/chad8)", | ||
"Codecov <hello-codecov@sentry.io> (https://codecov.io) (https://github.com/codecov)", | ||
"dr.dimitru (https://veliovgroup.com) (https://github.com/dr-dimitru)", | ||
"Elliott Ditman (https://elliottditman.com) (https://github.com/elliottditman)", | ||
"entroniq (https://gitlab.com/entroniq) (https://thanks.dev/d/gl/entroniq)", | ||
"GitHub (https://github.com/about) (https://github.com/github)", | ||
"Hunter Beast (https://cryptoquick.com) (https://github.com/cryptoquick)", | ||
"Jean-Luc Geering (https://github.com/jlgeering) (https://opencollective.com/jlgeering) (https://twitter.com/jlgeering)", | ||
"Michael Duane Mooring (https://mdm.cc) (https://github.com/mikeumus) (https://opencollective.com/mikeumus) (https://twitter.com/mikeumus)", | ||
"Michael Harry Scepaniak <mhs1.sys@gmail.com> (https://michaelscepaniak.com) (https://github.com/hispanic)", | ||
"Mohammed Shah <shah@idk.uno> (https://github.com/smashah) (https://thanks.dev/d/gh/smashah) (https://twitter.com/smashah)", | ||
"Mr. Henry <hello@mrhenry.be> (https://mrhenry.be) (https://github.com/mrhenry)", | ||
"Nermal <nermalcat69@skiff.com> (https://arjunaditya.vercel.app) (https://github.com/nermalcat69)", | ||
"Pleo (https://pleo.io) (https://github.com/pleo-io)", | ||
"Poonacha Medappa (https://poonachamedappa.com) (https://github.com/km-Poonacha)", | ||
"Rob Morris <rob@prismatik.com.au> (https://github.com/Rob-Morris)", | ||
"Robert de Forest <guitar.robot@gmail.com> (https://github.com/rdeforest)", | ||
"Sentry (https://sentry.io) (https://github.com/getsentry)", | ||
"ServieJS (https://github.com/serviejs) (https://thanks.dev/d/gh/serviejs)", | ||
"Skunk Team (https://skunk.team) (https://github.com/skunkteam)", | ||
"Syntax <scott@syntax.fm> (https://syntax.fm) (https://github.com/syntaxfm)", | ||
"WriterJohnBuck (https://github.com/WriterJohnBuck)" | ||
], | ||
"engines": { | ||
@@ -85,37 +131,146 @@ "node": ">=4" | ||
{ | ||
"description": "ESNext source code for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules", | ||
"description": "TypeScript source code with Import for modules", | ||
"directory": "source", | ||
"entry": "index.ts", | ||
"tags": [ | ||
"source", | ||
"typescript", | ||
"import" | ||
], | ||
"engines": false | ||
}, | ||
{ | ||
"description": "TypeScript compiled against ES2022 for Node.js 14 || 16 || 18 || 20 || 21 with Require for modules", | ||
"directory": "edition-es2022", | ||
"entry": "index.js", | ||
"tags": [ | ||
"source", | ||
"compiled", | ||
"javascript", | ||
"esnext", | ||
"es2022", | ||
"require" | ||
], | ||
"engines": { | ||
"node": "4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21" | ||
"node": "14 || 16 || 18 || 20 || 21", | ||
"browsers": false | ||
} | ||
}, | ||
{ | ||
"description": "TypeScript compiled against ES2017 for Node.js 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules", | ||
"directory": "edition-es2017", | ||
"entry": "index.js", | ||
"tags": [ | ||
"compiled", | ||
"javascript", | ||
"es2017", | ||
"require" | ||
], | ||
"engines": { | ||
"node": "8 || 10 || 12 || 14 || 16 || 18 || 20 || 21", | ||
"browsers": false | ||
} | ||
}, | ||
{ | ||
"description": "TypeScript compiled against ES2015 for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules", | ||
"directory": "edition-es2015", | ||
"entry": "index.js", | ||
"tags": [ | ||
"compiled", | ||
"javascript", | ||
"es2015", | ||
"require" | ||
], | ||
"engines": { | ||
"node": "6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21", | ||
"browsers": false | ||
} | ||
}, | ||
{ | ||
"description": "TypeScript compiled against ES5 for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules", | ||
"directory": "edition-es5", | ||
"entry": "index.js", | ||
"tags": [ | ||
"compiled", | ||
"javascript", | ||
"es5", | ||
"require" | ||
], | ||
"engines": { | ||
"node": "4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21", | ||
"browsers": false | ||
} | ||
}, | ||
{ | ||
"description": "TypeScript compiled against ES2017 for Node.js 12 || 14 || 16 || 18 || 20 || 21 with Import for modules", | ||
"directory": "edition-es2017-esm", | ||
"entry": "index.js", | ||
"tags": [ | ||
"compiled", | ||
"javascript", | ||
"es2017", | ||
"import" | ||
], | ||
"engines": { | ||
"node": "12 || 14 || 16 || 18 || 20 || 21", | ||
"browsers": false | ||
} | ||
}, | ||
{ | ||
"description": "TypeScript compiled Types with Import for modules", | ||
"directory": "edition-types", | ||
"entry": "index.d.ts", | ||
"tags": [ | ||
"compiled", | ||
"types", | ||
"import" | ||
], | ||
"engines": false | ||
} | ||
], | ||
"type": "commonjs", | ||
"main": "source/index.js", | ||
"bin": "bin.cjs", | ||
"types": "edition-types/index.d.ts", | ||
"type": "module", | ||
"main": "index.cjs", | ||
"exports": { | ||
"node": { | ||
"types": "./edition-types/index.d.ts", | ||
"import": "./edition-es2017-esm/index.js", | ||
"default": "./index.cjs", | ||
"require": "./edition-es2022/index.js" | ||
} | ||
}, | ||
"dependencies": { | ||
"editions": "^6.21.0" | ||
}, | ||
"devDependencies": { | ||
"@bevry/update-contributors": "^1.23.0", | ||
"assert-helpers": "^11.9.0", | ||
"eslint": "^8.55.0", | ||
"eslint-config-bevry": "^5.2.0", | ||
"@types/node": "^20.10.6", | ||
"@typescript-eslint/eslint-plugin": "^6.16.0", | ||
"@typescript-eslint/parser": "^6.16.0", | ||
"assert-helpers": "^11.12.0", | ||
"eslint": "^8.56.0", | ||
"eslint-config-bevry": "^5.4.0", | ||
"eslint-config-prettier": "^9.1.0", | ||
"eslint-plugin-prettier": "^5.0.1", | ||
"kava": "^7.5.0", | ||
"prettier": "^3.1.0", | ||
"projectz": "^3.4.0", | ||
"valid-directory": "^4.6.0" | ||
"eslint-plugin-prettier": "^5.1.2", | ||
"filedirname": "^3.4.0", | ||
"kava": "^7.8.0", | ||
"prettier": "^3.1.1", | ||
"projectz": "^4.2.0", | ||
"typedoc": "^0.25.4", | ||
"typescript": "5.3.3", | ||
"valid-directory": "^4.9.0" | ||
}, | ||
"scripts": { | ||
"our:bin": "node ./bin.cjs", | ||
"our:clean": "rm -rf ./docs ./edition* ./es2015 ./es5 ./out ./.next", | ||
"our:compile": "printf '%s\n' 'no need for this project'", | ||
"our:compile": "npm run our:compile:edition-es2015 && npm run our:compile:edition-es2017 && npm run our:compile:edition-es2017-esm && npm run our:compile:edition-es2022 && npm run our:compile:edition-es5 && npm run our:compile:edition-types", | ||
"our:compile:edition-es2015": "tsc --module commonjs --target ES2015 --outDir ./edition-es2015 --project tsconfig.json && ( test ! -d edition-es2015/source || ( mv edition-es2015/source edition-temp && rm -rf edition-es2015 && mv edition-temp edition-es2015 ) ) && printf '%s' '{\"type\": \"commonjs\"}' > edition-es2015/package.json", | ||
"our:compile:edition-es2017": "tsc --module commonjs --target ES2017 --outDir ./edition-es2017 --project tsconfig.json && ( test ! -d edition-es2017/source || ( mv edition-es2017/source edition-temp && rm -rf edition-es2017 && mv edition-temp edition-es2017 ) ) && printf '%s' '{\"type\": \"commonjs\"}' > edition-es2017/package.json", | ||
"our:compile:edition-es2017-esm": "tsc --module ESNext --target ES2017 --outDir ./edition-es2017-esm --project tsconfig.json && ( test ! -d edition-es2017-esm/source || ( mv edition-es2017-esm/source edition-temp && rm -rf edition-es2017-esm && mv edition-temp edition-es2017-esm ) ) && printf '%s' '{\"type\": \"module\"}' > edition-es2017-esm/package.json", | ||
"our:compile:edition-es2022": "tsc --module commonjs --target ES2022 --outDir ./edition-es2022 --project tsconfig.json && ( test ! -d edition-es2022/source || ( mv edition-es2022/source edition-temp && rm -rf edition-es2022 && mv edition-temp edition-es2022 ) ) && printf '%s' '{\"type\": \"commonjs\"}' > edition-es2022/package.json", | ||
"our:compile:edition-es5": "tsc --module commonjs --target ES5 --outDir ./edition-es5 --project tsconfig.json && ( test ! -d edition-es5/source || ( mv edition-es5/source edition-temp && rm -rf edition-es5 && mv edition-temp edition-es5 ) ) && printf '%s' '{\"type\": \"commonjs\"}' > edition-es5/package.json", | ||
"our:compile:edition-types": "tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir ./edition-types --project tsconfig.json && ( test ! -d edition-types/source || ( mv edition-types/source edition-temp && rm -rf edition-types && mv edition-temp edition-types ) )", | ||
"our:deploy": "printf '%s\n' 'no need for this project'", | ||
"our:meta": "npm run our:meta:contributors && npm run our:meta:projectz", | ||
"our:meta:contributors": "update-contributors", | ||
"our:meta:projectz": "projectz compile", | ||
"our:meta": "npm run our:meta:docs && npm run our:meta:projectz", | ||
"our:meta:docs": "npm run our:meta:docs:typedoc", | ||
"our:meta:docs:typedoc": "rm -rf ./docs && typedoc --exclude '**/+(*test*|node_modules)' --excludeExternals --out ./docs ./source", | ||
"our:meta:projectz": "projectz --offline", | ||
"our:release": "npm run our:release:prepare && npm run our:release:check-changelog && npm run our:release:check-dirty && npm run our:release:tag && npm run our:release:push", | ||
@@ -130,7 +285,6 @@ "our:release:check-changelog": "cat ./HISTORY.md | grep \"v$npm_package_version\" || (printf '%s\n' \"add a changelog entry for v$npm_package_version\" && exit -1)", | ||
"our:test": "npm run our:verify && npm test", | ||
"our:verify": "npm run our:verify:directory && npm run our:verify:eslint && npm run our:verify:prettier", | ||
"our:verify:directory": "valid-directory", | ||
"our:verify": "npm run our:verify:eslint && npm run our:verify:prettier", | ||
"our:verify:eslint": "eslint --fix --ignore-pattern '**/*.d.ts' --ignore-pattern '**/vendor/' --ignore-pattern '**/node_modules/' --ext .mjs,.js,.jsx,.ts,.tsx ./source", | ||
"our:verify:prettier": "prettier --write .", | ||
"test": "node ./source/test.js" | ||
"test": "node ./test.cjs" | ||
}, | ||
@@ -145,5 +299,5 @@ "eslintConfig": { | ||
"singleQuote": true, | ||
"trailingComma": "all", | ||
"trailingComma": "es5", | ||
"endOfLine": "lf" | ||
} | ||
} | ||
} |
163
README.md
<!-- TITLE/ --> | ||
<h1>readdir-cluster</h1> | ||
# readdir-cluster | ||
<!-- /TITLE --> | ||
<!-- BADGES/ --> | ||
@@ -28,6 +27,5 @@ | ||
<!-- DESCRIPTION/ --> | ||
Use multiple CPU cores via clusters for the fastest way to read nested directories and their stats | ||
Create a cluster of workers to iterate through the filesystem | ||
@@ -39,72 +37,106 @@ <!-- /DESCRIPTION --> | ||
```javascript | ||
const readdir = require('readdir-cluster') | ||
const paths = [] | ||
[Complete API Documentation.](http://master.readdir-cluster.bevry.surge.sh/docs/) | ||
function iterator(fullPath, relativePath, statObject) { | ||
if (statObject.directory && relativePath[0] === '.') { | ||
return false // do not delve deeper into hidden paths | ||
} | ||
paths.push(fullPath) | ||
```typescript | ||
import readdirCluster, { Stat } from 'readdir-cluster' | ||
// note that Stat is not the same as fs.Stats as it has functions removed, as it needed to be serialisable | ||
function iterator(path: string, filename: string, stat: Stat) { | ||
// skip directories and files that start with . | ||
if (filename[0] === '.') return false | ||
// do not recurse into directories | ||
if (stat.directory) return false | ||
} | ||
readdir(__dirname, iterator, function (err) { | ||
if (err) throw err | ||
console.log('completed successfully:', paths) | ||
}) | ||
const paths = await readdirCluster({ directory: '.', iterator }) | ||
console.log(paths) | ||
``` | ||
### Performance | ||
- Running `readdir-cluster .` returns 7388 files in 500ms | ||
- Running [`readdir`](https://nodejs.org/api/fs.html#fsreaddirpath-options-callback) with `recursive: true` returns 7388 files in 100ms | ||
```javascript | ||
import { readdir } from 'fs' | ||
readdir('.', { recursive: true }, (err, files) => { | ||
if (err) console.error(err) | ||
else if (files.length) process.stdout.write(files.join('\n') + '\n') | ||
}) | ||
``` | ||
- Running [fdir](https://github.com/thecodrr/fdir) returns 6480 files in 100ms | ||
```javascript | ||
import { fdir } from 'fdir' | ||
const api = new fdir().withBasePath().crawl(process.argv[2]) | ||
api.withPromise().then((files) => { | ||
if (files.length) process.stdout.write(files.join('\n') + '\n') | ||
}) | ||
``` | ||
As such, you should probably use `readdir` with `recursive: true` or `fdir` instead. As for why this package exists, readdir-cluster was created in 2005, recursive was added to Node.js in 2023, and fdir was created in 2020. That said, there are [several issues](https://github.com/bevry/readdir-cluster/issues) that could potentially improve readdir-cluster performance. | ||
<!-- INSTALL/ --> | ||
<h2>Install</h2> | ||
## Install | ||
<a href="https://npmjs.com" title="npm is a package manager for javascript"><h3>npm</h3></a> | ||
<ul> | ||
<li>Install: <code>npm install --save readdir-cluster</code></li> | ||
<li>Import: <code>import * as pkg from ('readdir-cluster')</code></li> | ||
<li>Require: <code>const pkg = require('readdir-cluster')</code></li> | ||
</ul> | ||
### [npm](https://npmjs.com "npm is a package manager for javascript") | ||
<h3><a href="https://editions.bevry.me" title="Editions are the best way to produce and consume packages you care about.">Editions</a></h3> | ||
#### Install Globally | ||
<p>This package is published with the following editions:</p> | ||
- Install: `npm install --global readdir-cluster` | ||
- Executable: `readdir-cluster` | ||
<ul><li><code>readdir-cluster</code> aliases <code>readdir-cluster/source/index.js</code></li> | ||
<li><code>readdir-cluster/source/index.js</code> is <a href="https://en.wikipedia.org/wiki/ECMAScript#ES.Next" title="ECMAScript Next">ESNext</a> source code for <a href="https://nodejs.org" title="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine">Node.js</a> 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with <a href="https://nodejs.org/dist/latest-v5.x/docs/api/modules.html" title="Node/CJS Modules">Require</a> for modules</li></ul> | ||
#### Install Locally | ||
- Install: `npm install --save readdir-cluster` | ||
- Executable: `npx readdir-cluster` | ||
- Import: `import pkg from ('readdir-cluster')` | ||
- Require: `const pkg = require('readdir-cluster').default` | ||
### [Editions](https://editions.bevry.me "Editions are the best way to produce and consume packages you care about.") | ||
This package is published with the following editions: | ||
- `readdir-cluster` aliases `readdir-cluster/index.cjs` which uses the [Editions Autoloader](https://github.com/bevry/editions "You can use the Editions Autoloader to autoload the appropriate edition for your consumers environment") to automatically select the correct edition for the consumer's environment | ||
- `readdir-cluster/source/index.ts` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") source code with [Import](https://babeljs.io/docs/learn-es2015/#modules "ECMAScript Modules") for modules | ||
- `readdir-cluster/edition-es2022/index.js` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") compiled against [ES2022](https://en.wikipedia.org/wiki/ES2022 "ECMAScript 2022") for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules | ||
- `readdir-cluster/edition-es2017/index.js` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") compiled against [ES2017](https://en.wikipedia.org/wiki/ES2017 "ECMAScript 2017") for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules | ||
- `readdir-cluster/edition-es2015/index.js` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") compiled against [ES2015](https://babeljs.io/docs/en/learn#ecmascript-2015-features "ECMAScript 2015") for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules | ||
- `readdir-cluster/edition-es5/index.js` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") compiled against ES5 for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules | ||
- `readdir-cluster/edition-es2017-esm/index.js` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") compiled against [ES2017](https://en.wikipedia.org/wiki/ES2017 "ECMAScript 2017") for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 12 || 14 || 16 || 18 || 20 || 21 with [Import](https://babeljs.io/docs/learn-es2015/#modules "ECMAScript Modules") for modules | ||
- `readdir-cluster/edition-types/index.d.ts` is [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.") compiled Types with [Import](https://babeljs.io/docs/learn-es2015/#modules "ECMAScript Modules") for modules | ||
<!-- /INSTALL --> | ||
<!-- HISTORY/ --> | ||
<h2>History</h2> | ||
## History | ||
<a href="https://github.com/bevry/readdir-cluster/blob/master/HISTORY.md#files">Discover the release history by heading on over to the <code>HISTORY.md</code> file.</a> | ||
[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/readdir-cluster/blob/HEAD/HISTORY.md#files) | ||
<!-- /HISTORY --> | ||
<!-- BACKERS/ --> | ||
<!-- CONTRIBUTE/ --> | ||
## Backers | ||
<h2>Contribute</h2> | ||
### Code | ||
<a href="https://github.com/bevry/readdir-cluster/blob/master/CONTRIBUTING.md#files">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a> | ||
[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/readdir-cluster/blob/HEAD/CONTRIBUTING.md#files) | ||
<!-- /CONTRIBUTE --> | ||
#### Authors | ||
- [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom. | ||
<!-- BACKERS/ --> | ||
#### Maintainers | ||
<h2>Backers</h2> | ||
- [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom. | ||
<h3>Maintainers</h3> | ||
#### Contributors | ||
These amazing people are maintaining this project: | ||
- [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/readdir-cluster/commits?author=balupton "View the GitHub contributions of Benjamin Lupton on repository bevry/readdir-cluster") | ||
<ul><li><a href="https://github.com/balupton">Benjamin Lupton</a> — <a href="https://github.com/bevry/readdir-cluster/commits?author=balupton" title="View the GitHub contributions of Benjamin Lupton on repository bevry/readdir-cluster">view contributions</a></li></ul> | ||
### Finances | ||
<h3>Sponsors</h3> | ||
No sponsors yet! Will you be the first? | ||
<span class="badge-githubsponsors"><a href="https://github.com/sponsors/balupton" title="Donate to this project using GitHub Sponsors"><img src="https://img.shields.io/badge/github-donate-yellow.svg" alt="GitHub Sponsors donate button" /></a></span> | ||
@@ -119,25 +151,54 @@ <span class="badge-thanksdev"><a href="https://thanks.dev/u/gh/bevry" title="Donate to this project using ThanksDev"><img src="https://img.shields.io/badge/thanksdev-donate-yellow.svg" alt="ThanksDev donate button" /></a></span> | ||
<h3>Contributors</h3> | ||
#### Sponsors | ||
These amazing people have contributed code to this project: | ||
- [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher | ||
- [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders. | ||
- [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing. | ||
- [Poonacha Medappa](https://poonachamedappa.com) | ||
- [Rob Morris](https://github.com/Rob-Morris) | ||
- [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games. | ||
- [Syntax](https://syntax.fm) — Syntax Podcast | ||
<ul><li><a href="https://github.com/balupton">Benjamin Lupton</a> — <a href="https://github.com/bevry/readdir-cluster/commits?author=balupton" title="View the GitHub contributions of Benjamin Lupton on repository bevry/readdir-cluster">view contributions</a></li></ul> | ||
#### Donors | ||
<a href="https://github.com/bevry/readdir-cluster/blob/master/CONTRIBUTING.md#files">Discover how you can contribute by heading on over to the <code>CONTRIBUTING.md</code> file.</a> | ||
- [Andrew Nesbitt](https://nesbitt.io) | ||
- [Armen Mkrtchian](https://mogoni.dev) | ||
- [Balsa](https://balsa.com) | ||
- [Chad](https://opencollective.com/chad8) | ||
- [Codecov](https://codecov.io) | ||
- [dr.dimitru](https://veliovgroup.com) | ||
- [Elliott Ditman](https://elliottditman.com) | ||
- [entroniq](https://gitlab.com/entroniq) | ||
- [GitHub](https://github.com/about) | ||
- [Hunter Beast](https://cryptoquick.com) | ||
- [Jean-Luc Geering](https://github.com/jlgeering) | ||
- [Michael Duane Mooring](https://mdm.cc) | ||
- [Michael Harry Scepaniak](https://michaelscepaniak.com) | ||
- [Mohammed Shah](https://github.com/smashah) | ||
- [Mr. Henry](https://mrhenry.be) | ||
- [Nermal](https://arjunaditya.vercel.app) | ||
- [Pleo](https://pleo.io) | ||
- [Poonacha Medappa](https://poonachamedappa.com) | ||
- [Rob Morris](https://github.com/Rob-Morris) | ||
- [Robert de Forest](https://github.com/rdeforest) | ||
- [Sentry](https://sentry.io) | ||
- [ServieJS](https://github.com/serviejs) | ||
- [Skunk Team](https://skunk.team) | ||
- [Syntax](https://syntax.fm) | ||
- [WriterJohnBuck](https://github.com/WriterJohnBuck) | ||
<!-- /BACKERS --> | ||
<!-- LICENSE/ --> | ||
<h2>License</h2> | ||
## License | ||
Unless stated otherwise all works are: | ||
<ul><li>Copyright © 2015+ <a href="http://bevry.me">Bevry Pty Ltd</a></li></ul> | ||
- Copyright © [Benjamin Lupton](https://balupton.com) | ||
and licensed under: | ||
<ul><li><a href="http://spdx.org/licenses/Artistic-2.0.html">Artistic License 2.0</a></li></ul> | ||
- [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html) | ||
<!-- /LICENSE --> |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
99224
37
1669
202
Yes
1
15
5
1
+ Addededitions@^6.21.0
+ Addededitions@6.21.0(transitive)
+ Addedversion-range@4.14.0(transitive)