feat: initial CLI structure

- init: create plugin boilerplate
- install: install from local path with deps
- list: show installed plugins
- validate: check manyplug.json syntax
This commit is contained in:
synt-xerror
2026-04-09 01:15:00 -03:00
commit bbc44bec52
83 changed files with 11356 additions and 0 deletions

29
node_modules/fs-extra/lib/util/async.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
'use strict'
// https://github.com/jprichardson/node-fs-extra/issues/1056
// Performing parallel operations on each item of an async iterator is
// surprisingly hard; you need to have handlers in place to avoid getting an
// UnhandledPromiseRejectionWarning.
// NOTE: This function does not presently handle return values, only errors
async function asyncIteratorConcurrentProcess (iterator, fn) {
const promises = []
for await (const item of iterator) {
promises.push(
fn(item).then(
() => null,
(err) => err ?? new Error('unknown error')
)
)
}
await Promise.all(
promises.map((promise) =>
promise.then((possibleErr) => {
if (possibleErr !== null) throw possibleErr
})
)
)
}
module.exports = {
asyncIteratorConcurrentProcess
}