[6a3a178] | 1 | import {Options as FastGlobOptions, Entry as FastGlobEntry} from 'fast-glob';
|
---|
| 2 |
|
---|
| 3 | declare namespace globby {
|
---|
| 4 | type ExpandDirectoriesOption =
|
---|
| 5 | | boolean
|
---|
| 6 | | readonly string[]
|
---|
| 7 | | {files?: readonly string[]; extensions?: readonly string[]};
|
---|
| 8 |
|
---|
| 9 | type Entry = FastGlobEntry;
|
---|
| 10 |
|
---|
| 11 | interface GlobbyOptions extends FastGlobOptions {
|
---|
| 12 | /**
|
---|
| 13 | 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.
|
---|
| 14 |
|
---|
| 15 | Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`.
|
---|
| 16 |
|
---|
| 17 | @default true
|
---|
| 18 |
|
---|
| 19 | @example
|
---|
| 20 | ```
|
---|
| 21 | import globby = require('globby');
|
---|
| 22 |
|
---|
| 23 | (async () => {
|
---|
| 24 | const paths = await globby('images', {
|
---|
| 25 | expandDirectories: {
|
---|
| 26 | files: ['cat', 'unicorn', '*.jpg'],
|
---|
| 27 | extensions: ['png']
|
---|
| 28 | }
|
---|
| 29 | });
|
---|
| 30 |
|
---|
| 31 | console.log(paths);
|
---|
| 32 | //=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg']
|
---|
| 33 | })();
|
---|
| 34 | ```
|
---|
| 35 | */
|
---|
| 36 | readonly expandDirectories?: ExpandDirectoriesOption;
|
---|
| 37 |
|
---|
| 38 | /**
|
---|
| 39 | Respect ignore patterns in `.gitignore` files that apply to the globbed files.
|
---|
| 40 |
|
---|
| 41 | @default false
|
---|
| 42 | */
|
---|
| 43 | readonly gitignore?: boolean;
|
---|
| 44 | }
|
---|
| 45 |
|
---|
| 46 | interface GlobTask {
|
---|
| 47 | readonly pattern: string;
|
---|
| 48 | readonly options: GlobbyOptions;
|
---|
| 49 | }
|
---|
| 50 |
|
---|
| 51 | interface GitignoreOptions {
|
---|
| 52 | readonly cwd?: string;
|
---|
| 53 | readonly ignore?: readonly string[];
|
---|
| 54 | }
|
---|
| 55 |
|
---|
| 56 | type FilterFunction = (path: string) => boolean;
|
---|
| 57 | }
|
---|
| 58 |
|
---|
| 59 | interface Gitignore {
|
---|
| 60 | /**
|
---|
| 61 | @returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
|
---|
| 62 | */
|
---|
| 63 | sync: (options?: globby.GitignoreOptions) => globby.FilterFunction;
|
---|
| 64 |
|
---|
| 65 | /**
|
---|
| 66 | `.gitignore` files matched by the ignore config are not used for the resulting filter function.
|
---|
| 67 |
|
---|
| 68 | @returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
|
---|
| 69 |
|
---|
| 70 | @example
|
---|
| 71 | ```
|
---|
| 72 | import {gitignore} from 'globby';
|
---|
| 73 |
|
---|
| 74 | (async () => {
|
---|
| 75 | const isIgnored = await gitignore();
|
---|
| 76 | console.log(isIgnored('some/file'));
|
---|
| 77 | })();
|
---|
| 78 | ```
|
---|
| 79 | */
|
---|
| 80 | (options?: globby.GitignoreOptions): Promise<globby.FilterFunction>;
|
---|
| 81 | }
|
---|
| 82 |
|
---|
| 83 | declare const globby: {
|
---|
| 84 | /**
|
---|
| 85 | Find files and directories using glob patterns.
|
---|
| 86 |
|
---|
| 87 | 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()`.
|
---|
| 88 |
|
---|
| 89 | @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
|
---|
| 90 | @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
|
---|
| 91 | @returns The matching paths.
|
---|
| 92 | */
|
---|
| 93 | sync: ((
|
---|
| 94 | patterns: string | readonly string[],
|
---|
| 95 | options: globby.GlobbyOptions & {objectMode: true}
|
---|
| 96 | ) => globby.Entry[]) & ((
|
---|
| 97 | patterns: string | readonly string[],
|
---|
| 98 | options?: globby.GlobbyOptions
|
---|
| 99 | ) => string[]);
|
---|
| 100 |
|
---|
| 101 | /**
|
---|
| 102 | Find files and directories using glob patterns.
|
---|
| 103 |
|
---|
| 104 | 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()`.
|
---|
| 105 |
|
---|
| 106 | @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
|
---|
| 107 | @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
|
---|
| 108 | @returns The stream of matching paths.
|
---|
| 109 |
|
---|
| 110 | @example
|
---|
| 111 | ```
|
---|
| 112 | import globby = require('globby');
|
---|
| 113 |
|
---|
| 114 | (async () => {
|
---|
| 115 | for await (const path of globby.stream('*.tmp')) {
|
---|
| 116 | console.log(path);
|
---|
| 117 | }
|
---|
| 118 | })();
|
---|
| 119 | ```
|
---|
| 120 | */
|
---|
| 121 | stream: (
|
---|
| 122 | patterns: string | readonly string[],
|
---|
| 123 | options?: globby.GlobbyOptions
|
---|
| 124 | ) => NodeJS.ReadableStream;
|
---|
| 125 |
|
---|
| 126 | /**
|
---|
| 127 | 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.
|
---|
| 128 |
|
---|
| 129 | @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
|
---|
| 130 | @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
|
---|
| 131 | @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.
|
---|
| 132 | */
|
---|
| 133 | generateGlobTasks: (
|
---|
| 134 | patterns: string | readonly string[],
|
---|
| 135 | options?: globby.GlobbyOptions
|
---|
| 136 | ) => globby.GlobTask[];
|
---|
| 137 |
|
---|
| 138 | /**
|
---|
| 139 | Note that the options affect the results.
|
---|
| 140 |
|
---|
| 141 | This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options).
|
---|
| 142 |
|
---|
| 143 | @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
|
---|
| 144 | @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3).
|
---|
| 145 | @returns Whether there are any special glob characters in the `patterns`.
|
---|
| 146 | */
|
---|
| 147 | hasMagic: (
|
---|
| 148 | patterns: string | readonly string[],
|
---|
| 149 | options?: FastGlobOptions
|
---|
| 150 | ) => boolean;
|
---|
| 151 |
|
---|
| 152 | readonly gitignore: Gitignore;
|
---|
| 153 |
|
---|
| 154 | (
|
---|
| 155 | patterns: string | readonly string[],
|
---|
| 156 | options: globby.GlobbyOptions & {objectMode: true}
|
---|
| 157 | ): Promise<globby.Entry[]>;
|
---|
| 158 |
|
---|
| 159 | /**
|
---|
| 160 | Find files and directories using glob patterns.
|
---|
| 161 |
|
---|
| 162 | 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()`.
|
---|
| 163 |
|
---|
| 164 | @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
|
---|
| 165 | @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
|
---|
| 166 | @returns The matching paths.
|
---|
| 167 |
|
---|
| 168 | @example
|
---|
| 169 | ```
|
---|
| 170 | import globby = require('globby');
|
---|
| 171 |
|
---|
| 172 | (async () => {
|
---|
| 173 | const paths = await globby(['*', '!cake']);
|
---|
| 174 |
|
---|
| 175 | console.log(paths);
|
---|
| 176 | //=> ['unicorn', 'rainbow']
|
---|
| 177 | })();
|
---|
| 178 | ```
|
---|
| 179 | */
|
---|
| 180 | (
|
---|
| 181 | patterns: string | readonly string[],
|
---|
| 182 | options?: globby.GlobbyOptions
|
---|
| 183 | ): Promise<string[]>;
|
---|
| 184 | };
|
---|
| 185 |
|
---|
| 186 | export = globby;
|
---|