summaryrefslogtreecommitdiff
path: root/node_modules/globby/index.d.ts
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:54:57 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:57:48 +0100
commitb1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch)
tree49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/globby/index.d.ts
Docs
Diffstat (limited to 'node_modules/globby/index.d.ts')
-rw-r--r--node_modules/globby/index.d.ts205
1 files changed, 205 insertions, 0 deletions
diff --git a/node_modules/globby/index.d.ts b/node_modules/globby/index.d.ts
new file mode 100644
index 0000000..7e3c981
--- /dev/null
+++ b/node_modules/globby/index.d.ts
@@ -0,0 +1,205 @@
+import {Options as FastGlobOptions, Entry} from 'fast-glob';
+
+export type GlobEntry = Entry;
+
+export interface GlobTask {
+ readonly patterns: string[];
+ readonly options: Options;
+}
+
+export type ExpandDirectoriesOption =
+ | boolean
+ | readonly string[]
+ | {files?: readonly string[]; extensions?: readonly string[]};
+
+type FastGlobOptionsWithoutCwd = Omit<FastGlobOptions, 'cwd'>;
+
+export interface Options extends FastGlobOptionsWithoutCwd {
+ /**
+ If set to `true`, `globby` will automatically glob directories for you. If you define an `Array` it will only glob files that matches the patterns inside the `Array`. You can also define an `Object` with `files` and `extensions` like in the example below.
+
+ Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`.
+
+ @default true
+
+ @example
+ ```
+ import {globby} from 'globby';
+
+ const paths = await globby('images', {
+ expandDirectories: {
+ files: ['cat', 'unicorn', '*.jpg'],
+ extensions: ['png']
+ }
+ });
+
+ console.log(paths);
+ //=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg']
+ ```
+ */
+ readonly expandDirectories?: ExpandDirectoriesOption;
+
+ /**
+ Respect ignore patterns in `.gitignore` files that apply to the globbed files.
+
+ @default false
+ */
+ readonly gitignore?: boolean;
+
+ /**
+ Glob patterns to look for ignore files, which are then used to ignore globbed files.
+
+ This is a more generic form of the `gitignore` option, allowing you to find ignore files with a [compatible syntax](http://git-scm.com/docs/gitignore). For instance, this works with Babel's `.babelignore`, Prettier's `.prettierignore`, or ESLint's `.eslintignore` files.
+
+ @default undefined
+ */
+ readonly ignoreFiles?: string | readonly string[];
+
+ /**
+ The current working directory in which to search.
+
+ @default process.cwd()
+ */
+ readonly cwd?: URL | string;
+}
+
+export interface GitignoreOptions {
+ readonly cwd?: URL | string;
+}
+
+export type GlobbyFilterFunction = (path: URL | string) => boolean;
+
+/**
+Find files and directories using glob patterns.
+
+Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
+
+@param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
+@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
+@returns The matching paths.
+
+@example
+```
+import {globby} from 'globby';
+
+const paths = await globby(['*', '!cake']);
+
+console.log(paths);
+//=> ['unicorn', 'rainbow']
+```
+*/
+export function globby(
+ patterns: string | readonly string[],
+ options: Options & {objectMode: true}
+): Promise<GlobEntry[]>;
+export function globby(
+ patterns: string | readonly string[],
+ options?: Options
+): Promise<string[]>;
+
+/**
+Find files and directories using glob patterns.
+
+Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
+
+@param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
+@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
+@returns The matching paths.
+*/
+export function globbySync(
+ patterns: string | readonly string[],
+ options: Options & {objectMode: true}
+): GlobEntry[];
+export function globbySync(
+ patterns: string | readonly string[],
+ options?: Options
+): string[];
+
+/**
+Find files and directories using glob patterns.
+
+Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
+
+@param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
+@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
+@returns The stream of matching paths.
+
+@example
+```
+import {globbyStream} from 'globby';
+
+for await (const path of globbyStream('*.tmp')) {
+ console.log(path);
+}
+```
+*/
+export function globbyStream(
+ patterns: string | readonly string[],
+ options?: Options
+): NodeJS.ReadableStream;
+
+/**
+Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration.
+
+@param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
+@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
+@returns An object in the format `{pattern: string, options: object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages.
+*/
+export function generateGlobTasks(
+ patterns: string | readonly string[],
+ options?: Options
+): Promise<GlobTask[]>;
+
+/**
+@see generateGlobTasks
+
+@returns An object in the format `{pattern: string, options: object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages.
+*/
+export function generateGlobTasksSync(
+ patterns: string | readonly string[],
+ options?: Options
+): GlobTask[];
+
+/**
+Note that the options affect the results.
+
+This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options).
+
+@param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
+@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3).
+@returns Whether there are any special glob characters in the `patterns`.
+*/
+export function isDynamicPattern(
+ patterns: string | readonly string[],
+ options?: FastGlobOptionsWithoutCwd & {
+ /**
+ The current working directory in which to search.
+
+ @default process.cwd()
+ */
+ readonly cwd?: URL | string;
+ }
+): boolean;
+
+/**
+`.gitignore` files matched by the ignore config are not used for the resulting filter function.
+
+@returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
+
+@example
+```
+import {isGitIgnored} from 'globby';
+
+const isIgnored = await isGitIgnored();
+
+console.log(isIgnored('some/file'));
+```
+*/
+export function isGitIgnored(options?: GitignoreOptions): Promise<GlobbyFilterFunction>;
+
+/**
+@see isGitIgnored
+
+@returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
+*/
+export function isGitIgnoredSync(options?: GitignoreOptions): GlobbyFilterFunction;