Bun

interface

ArchiveExtractOptions

interface ArchiveExtractOptions

Options for extracting archive contents.

  • glob?: string | readonly string[]

    Glob pattern(s) to filter which entries are extracted. Uses the same syntax as Bun.Glob, including support for wildcards (*, **), character classes ([abc]), alternation ({a,b}), and negation (!pattern).

    Patterns are matched against archive entry paths normalized to use forward slashes (/), regardless of the host operating system. Always write patterns using / as the separator.

    • Positive patterns: Only entries matching at least one pattern will be extracted.
    • Negative patterns (prefixed with !): Entries matching these patterns will be excluded. Negative patterns are applied after positive patterns.

    If not specified, all entries are extracted.

    // Extract only TypeScript files
    await archive.extract("./out", { glob: "**" + "/*.ts" });
    
    // Extract files from multiple directories
    await archive.extract("./out", { glob: ["src/**", "lib/**"] });
    
    // Exclude node_modules using negative pattern
    await archive.extract("./out", { glob: ["**", "!node_modules/**"] });
    
    // Extract source files but exclude tests
    await archive.extract("./out", { glob: ["src/**", "!**" + "/*.test.ts"] });