assert-modules-support-case-insensitive-fs
v1.0.1
Published
Assert that JS and TS modules support case-insensitive file systems
Downloads
43
Maintainers
Readme
assert-modules-support-case-insensitive-fs
Assert that JS and TS modules support case-insensitive file systems.
Install
Requires node@14 or higher:
npm install assert-modules-support-case-insensitive-fs --save-devUsage
This package takes a list of paths, and checks all directories and all subdirectories (at all nesting levels) along those paths.
Checking one directory consists in searching in this directory for two JS
(or TS, or .vue, or .cjs, or .mjs, or .json) modules whose names differ only in case.
If there are such modules, the package throws an exception specifying these modules,
because in a case-insensitive file system, such modules will not be distinguished
(without specifying extensions).
Examples of directories throwing an exception:
foo/
├── bar.js
└── Bar.js
foo/
├── bar.js
└── baR.ts
foo/
├── Bar/
└── bar.cjs
foo/
├── BAR.jsx
└── Bar.tsx
foo/
├── BAR.json
└── bAr.mjsExamples of directories passing validation (not throwing an exception):
foo/
├── Bar.jsx
└── Bar.tsx
foo/
├── bar.js
├── bar.ts
├── bar.mjs
└── bar.json
foo/
├── Bar/
├── Bar.vue
└── Bar.tsx
foo/
├── bar.js
└── Bar.cssCLI
Assert that JS and TS modules in directory src and all it subdirectories support
case-insensitive file systems:
npx assert-modules-support-case-insensitive-fs srcAssert modules in directories src and bin:
npx assert-modules-support-case-insensitive-fs src binJavaScript/TypeScript API
import assertModulesSupportCaseInsensitiveFS from 'assert-modules-support-case-insensitive-fs';
// or
import {assertModulesSupportCaseInsensitiveFS} from 'assert-modules-support-case-insensitive-fs';
assertModulesSupportCaseInsensitiveFS(['src', 'tests']);