Check whether or not a directory and its descendants are valid
Validity determined via the @bevry/valid-filename package.
Requires Node.js version >= 18 for recursive directory support.
import validate from 'valid-directory'
const path = process.cwd()
validate(path)
.then(([valid, invalidPaths]) => {
if (valid) {
console.log(path, 'is a valid directory')
} else {
console.log(
path,
'is an INVALID directory due to these:',
invalidPaths,
)
process.exit(1)
}
})
.catch((err) => throw err)Run npm install -g valid-directory then run against the current working directory with valid-directory or a specified directory via valid-directory <path>.
Exit code will be 1 if a path is invalid, 2 if something went wrong, and 0 if validation passed.
To validate your packages before you publish them, you can do the following:
- Inside your package directory, run:
npm install --save-dev valid-directory - Then append
&& npx valid-directoryto yourtestscript inside yourpackage.jsonfile
- Install:
npm install --global valid-directory - Executable:
valid-directory
- Install:
npm install --save valid-directory - Executable:
npx valid-directory - Import:
import pkg from ('valid-directory') - Require:
const pkg = require('valid-directory').default
import pkg from 'https://unpkg.com/valid-directory@^4.9.0/edition-deno/index.ts'This package is published with the following editions:
valid-directory/source/index.tsis TypeScript source code with Import for modulesvalid-directoryaliasesvalid-directory/edition-es2022/index.jsvalid-directory/edition-es2022/index.jsis TypeScript compiled against ES2022 for Node.js 18 || 20 || 21 with Require for modulesvalid-directory/edition-es2022-esm/index.jsis TypeScript compiled against ES2022 for Node.js 18 || 20 || 21 with Import for modulesvalid-directory/edition-types/index.d.tsis TypeScript compiled Types with Import for modulesvalid-directory/edition-deno/index.tsis TypeScript source code made to be compatible with Deno
Discover the release history by heading on over to the HISTORY.md file.
Discover how to contribute via the CONTRIBUTING.md file.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Andrew Nesbitt — Software engineer and researcher
- Balsa — We're Balsa, and we're building tools for builders.
- Codecov — Empower developers with tools to improve code quality and testing.
- Poonacha Medappa
- Rob Morris
- Sentry — Real-time crash reporting for your web apps, mobile apps, and games.
- Syntax — Syntax Podcast
- Andrew Nesbitt
- Armen Mkrtchian
- Balsa
- Chad
- Codecov
- dr.dimitru
- Elliott Ditman
- entroniq
- GitHub
- Hunter Beast
- Jean-Luc Geering
- Michael Duane Mooring
- Michael Harry Scepaniak
- Mohammed Shah
- Mr. Henry
- Nermal
- Pleo
- Poonacha Medappa
- Rob Morris
- Robert de Forest
- Sentry
- ServieJS
- Skunk Team
- Syntax
- WriterJohnBuck
Unless stated otherwise all works are:
- Copyright © Benjamin Lupton
and licensed under: