Replace CDN React/ReactDOM/Babel with local libs; remove Babel and inline scripts Build Tailwind locally, add safelist; switch to assets/tailwind.css Self-host Font Awesome and Inter (CSS + woff2); remove external font CDNs Implement strict CSP (no unsafe-inline/eval; scripts/styles/fonts from self) Extract inline handlers; move PWA scripts to external files Add local QR code generation (qrcode lib) and remove api.qrserver.com Improve SessionTypeSelector visual selection (highlighted background and ring) Keep PWA working with service worker and offline assets Refs: CSP hardening, offline-first, no external dependencies
locate-path 
Get the first path that exists on disk of multiple paths
Install
$ npm install locate-path
Usage
Here we find the first file that exists on disk, in array order.
const locatePath = require('locate-path');
const files = [
'unicorn.png',
'rainbow.png', // Only this one actually exists on disk
'pony.png'
];
(async () => {
console(await locatePath(files));
//=> 'rainbow'
})();
API
locatePath(paths, [options])
Returns a Promise<string> for the first path that exists or undefined if none exists.
paths
Type: Iterable<string>
Paths to check.
options
Type: Object
concurrency
Type: number
Default: Infinity
Minimum: 1
Number of concurrently pending promises.
preserveOrder
Type: boolean
Default: true
Preserve paths order when searching.
Disable this to improve performance if you don't care about the order.
cwd
Type: string
Default: process.cwd()
Current working directory.
type
Type: string
Default: file
Values: file directory
The type of paths that can match.
allowSymlinks
Type: boolean
Default: true
Allow symbolic links to match if they point to the chosen path type.
locatePath.sync(paths, [options])
Returns the first path that exists or undefined if none exists.
paths
Type: Iterable<string>
Paths to check.
options
Type: Object
cwd
Same as above.
type
Same as above.
allowSymlinks
Same as above.
Related
- path-exists - Check if a path exists
License
MIT © Sindre Sorhus