Socket
Socket
Sign inDemoInstall

globby

Package Overview
Dependencies
103
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 9.1.0 to 9.2.0

233

index.d.ts
import {IOptions as NodeGlobOptions} from 'glob';
import {Options as FastGlobOptions} from 'fast-glob';
export type ExpandDirectoriesOption =
| boolean
| ReadonlyArray<string>
| {files: ReadonlyArray<string>; extensions: ReadonlyArray<string>};
declare namespace globby {
type ExpandDirectoriesOption =
| boolean
| ReadonlyArray<string>
| {files: ReadonlyArray<string>; extensions: ReadonlyArray<string>};
export interface GlobbyOptions extends FastGlobOptions {
/**
* 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';
*
* (async () => {
* 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;
interface GlobbyOptions extends FastGlobOptions {
/**
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.
/**
* Respect ignore patterns in `.gitignore` files that apply to the globbed files.
*
* @default false
*/
readonly gitignore?: boolean;
}
Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`.
/**
* @param patterns - See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
* @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-1) in addition to the ones in this package.
* @returns A `Promise<Array>` of matching paths.
*/
export default function globby(
patterns: string | ReadonlyArray<string>,
options?: GlobbyOptions
): Promise<string[]>;
@default true
/**
* @param patterns - See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
* @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-1) in addition to the ones in this package.
* @returns An `Array` of matching paths.
*/
export function sync(
patterns: string | ReadonlyArray<string>,
options?: GlobbyOptions
): string[];
@example
```
import globby = require('globby');
export interface GlobTask {
readonly pattern: string;
readonly options: GlobbyOptions;
}
(async () => {
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;
/**
* 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 supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
* @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-1) in addition to the ones in this package.
* @returns An `Array<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 | ReadonlyArray<string>,
options?: GlobbyOptions
): GlobTask[];
/**
Respect ignore patterns in `.gitignore` files that apply to the globbed files.
/**
* Note that the options affect the results. If `noext: true` is set, then `+(a|b)` will not be considered a magic pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}`, then that is considered magical, unless `nobrace: true` is set.
*
* This function is backed by [`node-glob`](https://github.com/isaacs/node-glob#globhasmagicpattern-options).
*
* @param patterns - See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
* @param options - See the [`node-glob` options](https://github.com/isaacs/node-glob#globhasmagicpattern-options).
* @returns A boolean of whether there are any special glob characters in the `patterns`.
*/
export function hasMagic(
patterns: string | ReadonlyArray<string>,
options?: NodeGlobOptions
): boolean;
@default false
*/
readonly gitignore?: boolean;
}
export interface GitignoreOptions {
readonly cwd?: string;
readonly ignore?: ReadonlyArray<string>;
interface GlobTask {
readonly pattern: string;
readonly options: globby.GlobbyOptions;
}
interface GitignoreOptions {
readonly cwd?: string;
readonly ignore?: ReadonlyArray<string>;
}
type FilterFunction = (path: string) => boolean;
}
export type FilterFunction = (path: string) => boolean;
interface Gitignore {
/**
`.gitignore` files matched by the ignore config are not used for the resulting filter function.
export interface Gitignore {
(options?: GitignoreOptions): Promise<FilterFunction>;
@returns A `Promise` for a filter function indicating whether a given path is ignored via a `.gitignore` file.
@example
```
import {gitignore} from 'globby';
(async () => {
const isIgnored = await gitignore();
console.log(isIgnored('some/file'));
})();
```
*/
(options?: globby.GitignoreOptions): Promise<globby.FilterFunction>;
/**
* @returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
*/
sync(options?: GitignoreOptions): FilterFunction;
@returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
*/
sync(options?: globby.GitignoreOptions): globby.FilterFunction;
}
/**
* `.gitignore` files matched by the ignore config are not used for the resulting filter function.
*
* @returns A `Promise` for a filter function indicating whether a given path is ignored via a `.gitignore` file.
*
* @example
*
* import {gitignore} from 'globby';
*
* (async () => {
* const isIgnored = await gitignore();
* console.log(isIgnored('some/file'));
* })();
*/
export const gitignore: Gitignore;
declare const globby: {
/**
@param patterns - See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-1) in addition to the ones in this package.
@returns A `Promise<Array>` of matching paths.
@example
```
import globby = require('globby');
(async () => {
const paths = await globby(['*', '!cake']);
console.log(paths);
//=> ['unicorn', 'rainbow']
})();
```
*/
(
patterns: string | ReadonlyArray<string>,
options?: globby.GlobbyOptions
): Promise<string[]>;
/**
@param patterns - See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-1) in addition to the ones in this package.
@returns An `Array` of matching paths.
*/
sync(
patterns: string | ReadonlyArray<string>,
options?: globby.GlobbyOptions
): string[];
/**
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 supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
@param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-1) in addition to the ones in this package.
@returns An `Array<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.
*/
generateGlobTasks(
patterns: string | ReadonlyArray<string>,
options?: globby.GlobbyOptions
): globby.GlobTask[];
/**
Note that the options affect the results. If `noext: true` is set, then `+(a|b)` will not be considered a magic pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}`, then that is considered magical, unless `nobrace: true` is set.
This function is backed by [`node-glob`](https://github.com/isaacs/node-glob#globhasmagicpattern-options).
@param patterns - See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
@param options - See the [`node-glob` options](https://github.com/isaacs/node-glob#globhasmagicpattern-options).
@returns A boolean of whether there are any special glob characters in the `patterns`.
*/
hasMagic(
patterns: string | ReadonlyArray<string>,
options?: NodeGlobOptions
): boolean;
readonly gitignore: Gitignore;
// TODO: Remove this for the next major release
default: typeof globby;
};
export = globby;

@@ -118,2 +118,3 @@ 'use strict';

module.exports = globby;
// TODO: Remove this for the next major release
module.exports.default = globby;

@@ -120,0 +121,0 @@

{
"name": "globby",
"version": "9.1.0",
"version": "9.2.0",
"description": "Extends `glob` with support for multiple patterns and exposes a Promise API",

@@ -17,3 +17,3 @@ "license": "MIT",

"bench": "npm update glob-stream fast-glob && matcha bench.js",
"test": "xo && ava && tsd-check"
"test": "xo && ava && tsd"
},

@@ -62,3 +62,3 @@ "files": [

"array-union": "^1.0.2",
"dir-glob": "^2.2.1",
"dir-glob": "^2.2.2",
"fast-glob": "^2.2.6",

@@ -71,3 +71,3 @@ "glob": "^7.1.3",

"devDependencies": {
"ava": "^1.2.1",
"ava": "^1.4.1",
"glob-stream": "^6.1.0",

@@ -77,3 +77,3 @@ "globby": "sindresorhus/globby#master",

"rimraf": "^2.6.3",
"tsd-check": "^0.3.0",
"tsd": "^0.7.1",
"xo": "^0.24.0"

@@ -80,0 +80,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc