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
138 lines
3.6 KiB
TypeScript
138 lines
3.6 KiB
TypeScript
import {Options as LocatePathOptions} from 'locate-path';
|
|
|
|
declare const stop: unique symbol;
|
|
|
|
declare namespace findUp {
|
|
interface Options extends LocatePathOptions {}
|
|
|
|
type StopSymbol = typeof stop;
|
|
|
|
type Match = string | StopSymbol | undefined;
|
|
}
|
|
|
|
declare const findUp: {
|
|
/**
|
|
Find a file or directory by walking up parent directories.
|
|
|
|
@param name - Name of the file or directory to find. Can be multiple.
|
|
@returns The first path found (by respecting the order of `name`s) or `undefined` if none could be found.
|
|
|
|
@example
|
|
```
|
|
// /
|
|
// └── Users
|
|
// └── sindresorhus
|
|
// ├── unicorn.png
|
|
// └── foo
|
|
// └── bar
|
|
// ├── baz
|
|
// └── example.js
|
|
|
|
// example.js
|
|
import findUp = require('find-up');
|
|
|
|
(async () => {
|
|
console.log(await findUp('unicorn.png'));
|
|
//=> '/Users/sindresorhus/unicorn.png'
|
|
|
|
console.log(await findUp(['rainbow.png', 'unicorn.png']));
|
|
//=> '/Users/sindresorhus/unicorn.png'
|
|
})();
|
|
```
|
|
*/
|
|
(name: string | string[], options?: findUp.Options): Promise<string | undefined>;
|
|
|
|
/**
|
|
Find a file or directory by walking up parent directories.
|
|
|
|
@param matcher - Called for each directory in the search. Return a path or `findUp.stop` to stop the search.
|
|
@returns The first path found or `undefined` if none could be found.
|
|
|
|
@example
|
|
```
|
|
import path = require('path');
|
|
import findUp = require('find-up');
|
|
|
|
(async () => {
|
|
console.log(await findUp(async directory => {
|
|
const hasUnicorns = await findUp.exists(path.join(directory, 'unicorn.png'));
|
|
return hasUnicorns && directory;
|
|
}, {type: 'directory'}));
|
|
//=> '/Users/sindresorhus'
|
|
})();
|
|
```
|
|
*/
|
|
(matcher: (directory: string) => (findUp.Match | Promise<findUp.Match>), options?: findUp.Options): Promise<string | undefined>;
|
|
|
|
sync: {
|
|
/**
|
|
Synchronously find a file or directory by walking up parent directories.
|
|
|
|
@param name - Name of the file or directory to find. Can be multiple.
|
|
@returns The first path found (by respecting the order of `name`s) or `undefined` if none could be found.
|
|
*/
|
|
(name: string | string[], options?: findUp.Options): string | undefined;
|
|
|
|
/**
|
|
Synchronously find a file or directory by walking up parent directories.
|
|
|
|
@param matcher - Called for each directory in the search. Return a path or `findUp.stop` to stop the search.
|
|
@returns The first path found or `undefined` if none could be found.
|
|
|
|
@example
|
|
```
|
|
import path = require('path');
|
|
import findUp = require('find-up');
|
|
|
|
console.log(findUp.sync(directory => {
|
|
const hasUnicorns = findUp.sync.exists(path.join(directory, 'unicorn.png'));
|
|
return hasUnicorns && directory;
|
|
}, {type: 'directory'}));
|
|
//=> '/Users/sindresorhus'
|
|
```
|
|
*/
|
|
(matcher: (directory: string) => findUp.Match, options?: findUp.Options): string | undefined;
|
|
|
|
/**
|
|
Synchronously check if a path exists.
|
|
|
|
@param path - Path to the file or directory.
|
|
@returns Whether the path exists.
|
|
|
|
@example
|
|
```
|
|
import findUp = require('find-up');
|
|
|
|
console.log(findUp.sync.exists('/Users/sindresorhus/unicorn.png'));
|
|
//=> true
|
|
```
|
|
*/
|
|
exists(path: string): boolean;
|
|
}
|
|
|
|
/**
|
|
Check if a path exists.
|
|
|
|
@param path - Path to a file or directory.
|
|
@returns Whether the path exists.
|
|
|
|
@example
|
|
```
|
|
import findUp = require('find-up');
|
|
|
|
(async () => {
|
|
console.log(await findUp.exists('/Users/sindresorhus/unicorn.png'));
|
|
//=> true
|
|
})();
|
|
```
|
|
*/
|
|
exists(path: string): Promise<boolean>;
|
|
|
|
/**
|
|
Return this in a `matcher` function to stop the search and force `findUp` to immediately return `undefined`.
|
|
*/
|
|
readonly stop: findUp.StopSymbol;
|
|
};
|
|
|
|
export = findUp;
|