aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/tar/dist/esm/options.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tar/dist/esm/options.d.ts')
-rw-r--r--node_modules/tar/dist/esm/options.d.ts604
1 files changed, 0 insertions, 604 deletions
diff --git a/node_modules/tar/dist/esm/options.d.ts b/node_modules/tar/dist/esm/options.d.ts
deleted file mode 100644
index e91bd48..0000000
--- a/node_modules/tar/dist/esm/options.d.ts
+++ /dev/null
@@ -1,604 +0,0 @@
-import { type GzipOptions, type ZlibOptions } from 'minizlib';
-import { type Stats } from 'node:fs';
-import { type ReadEntry } from './read-entry.js';
-import { type WarnData } from './warn-method.js';
-import type { WriteEntry } from './write-entry.js';
-/**
- * The options that can be provided to tar commands.
- *
- * Note that some of these are only relevant for certain commands, since
- * they are specific to reading or writing.
- *
- * Aliases are provided in the {@link TarOptionsWithAliases} type.
- */
-export interface TarOptions {
- /**
- * Perform all I/O operations synchronously. If the stream is ended
- * immediately, then it will be processed entirely synchronously.
- */
- sync?: boolean;
- /**
- * The tar file to be read and/or written. When this is set, a stream
- * is not returned. Asynchronous commands will return a promise indicating
- * when the operation is completed, and synchronous commands will return
- * immediately.
- */
- file?: string;
- /**
- * Treat warnings as crash-worthy errors. Defaults false.
- */
- strict?: boolean;
- /**
- * The effective current working directory for this tar command
- */
- cwd?: string;
- /**
- * When creating a tar archive, this can be used to compress it as well.
- * Set to `true` to use the default gzip options, or customize them as
- * needed.
- *
- * When reading, if this is unset, then the compression status will be
- * inferred from the archive data. This is generally best, unless you are
- * sure of the compression settings in use to create the archive, and want to
- * fail if the archive doesn't match expectations.
- */
- gzip?: boolean | GzipOptions;
- /**
- * When creating archives, preserve absolute and `..` paths in the archive,
- * rather than sanitizing them under the cwd.
- *
- * When extracting, allow absolute paths, paths containing `..`, and
- * extracting through symbolic links. By default, the root `/` is stripped
- * from absolute paths (eg, turning `/x/y/z` into `x/y/z`), paths containing
- * `..` are not extracted, and any file whose location would be modified by a
- * symbolic link is not extracted.
- *
- * **WARNING** This is almost always unsafe, and must NEVER be used on
- * archives from untrusted sources, such as user input, and every entry must
- * be validated to ensure it is safe to write. Even if the input is not
- * malicious, mistakes can cause a lot of damage!
- */
- preservePaths?: boolean;
- /**
- * When extracting, do not set the `mtime` value for extracted entries to
- * match the `mtime` in the archive.
- *
- * When creating archives, do not store the `mtime` value in the entry. Note
- * that this prevents properly using other mtime-based features (such as
- * `tar.update` or the `newer` option) with the resulting archive.
- */
- noMtime?: boolean;
- /**
- * Set to `true` or an object with settings for `zlib.BrotliCompress()` to
- * create a brotli-compressed archive
- *
- * When extracting, this will cause the archive to be treated as a
- * brotli-compressed file if set to `true` or a ZlibOptions object.
- *
- * If set `false`, then brotli options will not be used.
- *
- * If this, the `gzip`, and `zstd` options are left `undefined`, then tar
- * will attempt to infer the brotli compression status, but can only do so
- * based on the filename. If the filename ends in `.tbr` or `.tar.br`, and
- * the first 512 bytes are not a valid tar header, then brotli decompression
- * will be attempted.
- */
- brotli?: boolean | ZlibOptions;
- /**
- * Set to `true` or an object with settings for `zstd.compress()` to
- * create a zstd-compressed archive
- *
- * When extracting, this will cause the archive to be treated as a
- * zstd-compressed file if set to `true` or a ZlibOptions object.
- *
- * If set `false`, then zstd options will not be used.
- *
- * If this, the `gzip`, and `brotli` options are left `undefined`, then tar
- * will attempt to infer the zstd compression status, but can only do so
- * based on the filename. If the filename ends in `.tzst` or `.tar.zst`, and
- * the first 512 bytes are not a valid tar header, then zstd decompression
- * will be attempted.
- */
- zstd?: boolean | ZlibOptions;
- /**
- * A function that is called with `(path, stat)` when creating an archive, or
- * `(path, entry)` when extracting. Return true to process the file/entry, or
- * false to exclude it.
- */
- filter?: (path: string, entry: Stats | ReadEntry) => boolean;
- /**
- * A function that gets called for any warning encountered.
- *
- * Note: if `strict` is set, then the warning will throw, and this method
- * will not be called.
- */
- onwarn?: (code: string, message: string, data: WarnData) => unknown;
- /**
- * The maximum allowed ratio of decompressed bytes to compressed bytes when
- * reading gzip, brotli, or zstd-compressed archives.
- *
- * This defaults to `1000` and aborts extraction or parsing when exceeded.
- * Set to `Infinity` to disable the limit.
- */
- maxDecompressionRatio?: number;
- /**
- * When extracting, unlink files before creating them. Without this option,
- * tar overwrites existing files, which preserves existing hardlinks. With
- * this option, existing hardlinks will be broken, as will any symlink that
- * would affect the location of an extracted file.
- */
- unlink?: boolean;
- /**
- * When extracting, strip the specified number of path portions from the
- * entry path. For example, with `{strip: 2}`, the entry `a/b/c/d` would be
- * extracted to `{cwd}/c/d`.
- *
- * Any entry whose entire path is stripped will be excluded.
- */
- strip?: number;
- /**
- * When extracting, keep the existing file on disk if it's newer than the
- * file in the archive.
- */
- newer?: boolean;
- /**
- * When extracting, do not overwrite existing files at all.
- */
- keep?: boolean;
- /**
- * When extracting, set the `uid` and `gid` of extracted entries to the `uid`
- * and `gid` fields in the archive. Defaults to true when run as root, and
- * false otherwise.
- *
- * If false, then files and directories will be set with the owner and group
- * of the user running the process. This is similar to `-p` in `tar(1)`, but
- * ACLs and other system-specific data is never unpacked in this
- * implementation, and modes are set by default already.
- */
- preserveOwner?: boolean;
- /**
- * The maximum depth of subfolders to extract into. This defaults to 1024.
- * Anything deeper than the limit will raise a warning and skip the entry.
- * Set to `Infinity` to remove the limitation.
- */
- maxDepth?: number;
- /**
- * When extracting, force all created files and directories, and all
- * implicitly created directories, to be owned by the specified user id,
- * regardless of the `uid` field in the archive.
- *
- * Cannot be used along with `preserveOwner`. Requires also setting the `gid`
- * option.
- */
- uid?: number;
- /**
- * When extracting, force all created files and directories, and all
- * implicitly created directories, to be owned by the specified group id,
- * regardless of the `gid` field in the archive.
- *
- * Cannot be used along with `preserveOwner`. Requires also setting the `uid`
- * option.
- */
- gid?: number;
- /**
- * When extracting, provide a function that takes an `entry` object, and
- * returns a stream, or any falsey value. If a stream is provided, then that
- * stream's data will be written instead of the contents of the archive
- * entry. If a falsey value is provided, then the entry is written to disk as
- * normal.
- *
- * To exclude items from extraction, use the `filter` option.
- *
- * Note that using an asynchronous stream type with the `transform` option
- * will cause undefined behavior in synchronous extractions.
- * [MiniPass](http://npm.im/minipass)-based streams are designed for this use
- * case.
- */
- transform?: (entry: ReadEntry) => ReadEntry | null | undefined | false | 0 | '';
- /**
- * Call `chmod()` to ensure that extracted files match the entry's mode
- * field. Without this field set, all mode fields in archive entries are a
- * best effort attempt only.
- *
- * Setting this necessitates a call to the deprecated `process.umask()`
- * method to determine the default umask value, unless a `processUmask`
- * config is provided as well.
- *
- * If not set, tar will attempt to create file system entries with whatever
- * mode is provided, and let the implicit process `umask` apply normally, but
- * if a file already exists to be written to, then its existing mode will not
- * be modified.
- *
- * When setting `chmod: true`, it is highly recommend to set the
- * {@link TarOptions#processUmask} option as well, to avoid the call to the
- * deprecated (and thread-unsafe) `process.umask()` method.
- */
- chmod?: boolean;
- /**
- * When setting the {@link TarOptions#chmod} option to `true`, you may
- * provide a value here to avoid having to call the deprecated and
- * thread-unsafe `process.umask()` method.
- *
- * This has no effect with `chmod` is not set to true, as mode values are not
- * set explicitly anyway. If `chmod` is set to `true`, and a value is not
- * provided here, then `process.umask()` must be called, which will result in
- * deprecation warnings.
- *
- * The most common values for this are `0o22` (resulting in directories
- * created with mode `0o755` and files with `0o644` by default) and `0o2`
- * (resulting in directores created with mode `0o775` and files `0o664`, so
- * they are group-writable).
- */
- processUmask?: number;
- /**
- * When parsing/listing archives, `entry` streams are by default resumed
- * (set into "flowing" mode) immediately after the call to `onReadEntry()`.
- * Set `noResume: true` to suppress this behavior.
- *
- * Note that when this is set, the stream will never complete until the
- * data is consumed somehow.
- *
- * Set automatically in extract operations, since the entry is piped to
- * a file system entry right away. Only relevant when parsing.
- */
- noResume?: boolean;
- /**
- * When creating, updating, or replacing within archives, this method will
- * be called with each WriteEntry that is created.
- */
- onWriteEntry?: (entry: WriteEntry) => unknown;
- /**
- * When extracting or listing archives, this method will be called with
- * each entry that is not excluded by a `filter`.
- *
- * Important when listing archives synchronously from a file, because there
- * is otherwise no way to interact with the data!
- */
- onReadEntry?: (entry: ReadEntry) => unknown;
- /**
- * Pack the targets of symbolic links rather than the link itself.
- */
- follow?: boolean;
- /**
- * When creating archives, omit any metadata that is system-specific:
- * `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and
- * `nlink`. Note that `mtime` is still included, because this is necessary
- * for other time-based operations such as `tar.update`. Additionally, `mode`
- * is set to a "reasonable default" for mose unix systems, based on an
- * effective `umask` of `0o22`.
- *
- * This also defaults the `portable` option in the gzip configs when creating
- * a compressed archive, in order to produce deterministic archives that are
- * not operating-system specific.
- */
- portable?: boolean;
- /**
- * When creating archives, do not recursively archive the contents of
- * directories. By default, archiving a directory archives all of its
- * contents as well.
- */
- noDirRecurse?: boolean;
- /**
- * Suppress Pax extended headers when creating archives. Note that this means
- * long paths and linkpaths will be truncated, and large or negative numeric
- * values may be interpreted incorrectly.
- */
- noPax?: boolean;
- /**
- * Set to a `Date` object to force a specific `mtime` value for everything
- * written to an archive.
- *
- * This is useful when creating archives that are intended to be
- * deterministic based on their contents, irrespective of the file's last
- * modification time.
- *
- * Overridden by `noMtime`.
- */
- mtime?: Date;
- /**
- * A path portion to prefix onto the entries added to an archive.
- */
- prefix?: string;
- /**
- * The mode to set on any created file archive, defaults to 0o666
- * masked by the process umask, often resulting in 0o644.
- *
- * This does *not* affect the mode fields of individual entries, or the
- * mode status of extracted entries on the filesystem.
- */
- mode?: number;
- /**
- * A cache of mtime values, to avoid having to stat the same file repeatedly.
- *
- * @internal
- */
- mtimeCache?: Map<string, Date>;
- /**
- * maximum buffer size for `fs.read()` operations.
- *
- * @internal
- */
- maxReadSize?: number;
- /**
- * Filter modes of entries being unpacked, like `process.umask()`
- *
- * @internal
- */
- umask?: number;
- /**
- * Default mode for directories. Used for all implicitly created directories,
- * and any directories in the archive that do not have a mode field.
- *
- * @internal
- */
- dmode?: number;
- /**
- * default mode for files
- *
- * @internal
- */
- fmode?: number;
- /**
- * Map that tracks which directories already exist, for extraction
- *
- * @internal
- */
- dirCache?: Map<string, boolean>;
- /**
- * maximum supported size of meta entries. Defaults to 1MB
- *
- * @internal
- */
- maxMetaEntrySize?: number;
- /**
- * A Map object containing the device and inode value for any file whose
- * `nlink` value is greater than 1, to identify hard links when creating
- * archives.
- *
- * @internal
- */
- linkCache?: Map<LinkCacheKey, string>;
- /**
- * A map object containing the results of `fs.readdir()` calls.
- *
- * @internal
- */
- readdirCache?: Map<string, string[]>;
- /**
- * A cache of all `lstat` results, for use in creating archives.
- *
- * @internal
- */
- statCache?: Map<string, Stats>;
- /**
- * Number of concurrent jobs to run when creating archives.
- *
- * Defaults to 4.
- *
- * @internal
- */
- jobs?: number;
- /**
- * Automatically set to true on Windows systems.
- *
- * When extracting, causes behavior where filenames containing `<|>?:`
- * characters are converted to windows-compatible escape sequences in the
- * created filesystem entries.
- *
- * When packing, causes behavior where paths replace `\` with `/`, and
- * filenames containing the windows-compatible escaped forms of `<|>?:` are
- * converted to actual `<|>?:` characters in the archive.
- *
- * @internal
- */
- win32?: boolean;
- /**
- * For `WriteEntry` objects, the absolute path to the entry on the
- * filesystem. By default, this is `resolve(cwd, entry.path)`, but it can be
- * overridden explicitly.
- *
- * @internal
- */
- absolute?: string;
- /**
- * Used with Parser stream interface, to attach and take over when the
- * stream is completely parsed. If this is set, then the prefinish,
- * finish, and end events will not fire, and are the responsibility of
- * the ondone method to emit properly.
- *
- * @internal
- */
- ondone?: () => void;
- /**
- * Mostly for testing, but potentially useful in some cases.
- * Forcibly trigger a chown on every entry, no matter what.
- */
- forceChown?: boolean;
- /**
- * ambiguous deprecated name for {@link onReadEntry}
- *
- * @deprecated
- */
- onentry?: (entry: ReadEntry) => unknown;
-}
-export type TarOptionsSync = TarOptions & {
- sync: true;
-};
-export type TarOptionsAsync = TarOptions & {
- sync?: false;
-};
-export type TarOptionsFile = TarOptions & {
- file: string;
-};
-export type TarOptionsNoFile = TarOptions & {
- file?: undefined;
-};
-export type TarOptionsSyncFile = TarOptionsSync & TarOptionsFile;
-export type TarOptionsAsyncFile = TarOptionsAsync & TarOptionsFile;
-export type TarOptionsSyncNoFile = TarOptionsSync & TarOptionsNoFile;
-export type TarOptionsAsyncNoFile = TarOptionsAsync & TarOptionsNoFile;
-export type LinkCacheKey = `${number}:${number}`;
-export interface TarOptionsWithAliases extends TarOptions {
- /**
- * The effective current working directory for this tar command
- */
- C?: TarOptions['cwd'];
- /**
- * The tar file to be read and/or written. When this is set, a stream
- * is not returned. Asynchronous commands will return a promise indicating
- * when the operation is completed, and synchronous commands will return
- * immediately.
- */
- f?: TarOptions['file'];
- /**
- * When creating a tar archive, this can be used to compress it as well.
- * Set to `true` to use the default gzip options, or customize them as
- * needed.
- *
- * When reading, if this is unset, then the compression status will be
- * inferred from the archive data. This is generally best, unless you are
- * sure of the compression settings in use to create the archive, and want to
- * fail if the archive doesn't match expectations.
- */
- z?: TarOptions['gzip'];
- /**
- * When creating archives, preserve absolute and `..` paths in the archive,
- * rather than sanitizing them under the cwd.
- *
- * When extracting, allow absolute paths, paths containing `..`, and
- * extracting through symbolic links. By default, the root `/` is stripped
- * from absolute paths (eg, turning `/x/y/z` into `x/y/z`), paths containing
- * `..` are not extracted, and any file whose location would be modified by a
- * symbolic link is not extracted.
- *
- * **WARNING** This is almost always unsafe, and must NEVER be used on
- * archives from untrusted sources, such as user input, and every entry must
- * be validated to ensure it is safe to write. Even if the input is not
- * malicious, mistakes can cause a lot of damage!
- */
- P?: TarOptions['preservePaths'];
- /**
- * When extracting, unlink files before creating them. Without this option,
- * tar overwrites existing files, which preserves existing hardlinks. With
- * this option, existing hardlinks will be broken, as will any symlink that
- * would affect the location of an extracted file.
- */
- U?: TarOptions['unlink'];
- /**
- * When extracting, strip the specified number of path portions from the
- * entry path. For example, with `{strip: 2}`, the entry `a/b/c/d` would be
- * extracted to `{cwd}/c/d`.
- */
- 'strip-components'?: TarOptions['strip'];
- /**
- * When extracting, strip the specified number of path portions from the
- * entry path. For example, with `{strip: 2}`, the entry `a/b/c/d` would be
- * extracted to `{cwd}/c/d`.
- */
- stripComponents?: TarOptions['strip'];
- /**
- * When extracting, keep the existing file on disk if it's newer than the
- * file in the archive.
- */
- 'keep-newer'?: TarOptions['newer'];
- /**
- * When extracting, keep the existing file on disk if it's newer than the
- * file in the archive.
- */
- keepNewer?: TarOptions['newer'];
- /**
- * When extracting, keep the existing file on disk if it's newer than the
- * file in the archive.
- */
- 'keep-newer-files'?: TarOptions['newer'];
- /**
- * When extracting, keep the existing file on disk if it's newer than the
- * file in the archive.
- */
- keepNewerFiles?: TarOptions['newer'];
- /**
- * When extracting, do not overwrite existing files at all.
- */
- k?: TarOptions['keep'];
- /**
- * When extracting, do not overwrite existing files at all.
- */
- 'keep-existing'?: TarOptions['keep'];
- /**
- * When extracting, do not overwrite existing files at all.
- */
- keepExisting?: TarOptions['keep'];
- /**
- * When extracting, do not set the `mtime` value for extracted entries to
- * match the `mtime` in the archive.
- *
- * When creating archives, do not store the `mtime` value in the entry. Note
- * that this prevents properly using other mtime-based features (such as
- * `tar.update` or the `newer` option) with the resulting archive.
- */
- m?: TarOptions['noMtime'];
- /**
- * When extracting, do not set the `mtime` value for extracted entries to
- * match the `mtime` in the archive.
- *
- * When creating archives, do not store the `mtime` value in the entry. Note
- * that this prevents properly using other mtime-based features (such as
- * `tar.update` or the `newer` option) with the resulting archive.
- */
- 'no-mtime'?: TarOptions['noMtime'];
- /**
- * When extracting, set the `uid` and `gid` of extracted entries to the `uid`
- * and `gid` fields in the archive. Defaults to true when run as root, and
- * false otherwise.
- *
- * If false, then files and directories will be set with the owner and group
- * of the user running the process. This is similar to `-p` in `tar(1)`, but
- * ACLs and other system-specific data is never unpacked in this
- * implementation, and modes are set by default already.
- */
- p?: TarOptions['preserveOwner'];
- /**
- * Pack the targets of symbolic links rather than the link itself.
- */
- L?: TarOptions['follow'];
- /**
- * Pack the targets of symbolic links rather than the link itself.
- */
- h?: TarOptions['follow'];
- /**
- * Deprecated option. Set explicitly false to set `chmod: true`. Ignored
- * if {@link TarOptions#chmod} is set to any boolean value.
- *
- * @deprecated
- */
- noChmod?: boolean;
-}
-export type TarOptionsWithAliasesSync = TarOptionsWithAliases & {
- sync: true;
-};
-export type TarOptionsWithAliasesAsync = TarOptionsWithAliases & {
- sync?: false;
-};
-export type TarOptionsWithAliasesFile = (TarOptionsWithAliases & {
- file: string;
-}) | (TarOptionsWithAliases & {
- f: string;
-});
-export type TarOptionsWithAliasesSyncFile = TarOptionsWithAliasesSync & TarOptionsWithAliasesFile;
-export type TarOptionsWithAliasesAsyncFile = TarOptionsWithAliasesAsync & TarOptionsWithAliasesFile;
-export type TarOptionsWithAliasesNoFile = TarOptionsWithAliases & {
- f?: undefined;
- file?: undefined;
-};
-export type TarOptionsWithAliasesSyncNoFile = TarOptionsWithAliasesSync & TarOptionsWithAliasesNoFile;
-export type TarOptionsWithAliasesAsyncNoFile = TarOptionsWithAliasesAsync & TarOptionsWithAliasesNoFile;
-export declare const isSyncFile: <O extends TarOptions>(o: O) => o is O & TarOptionsSyncFile;
-export declare const isAsyncFile: <O extends TarOptions>(o: O) => o is O & TarOptionsAsyncFile;
-export declare const isSyncNoFile: <O extends TarOptions>(o: O) => o is O & TarOptionsSyncNoFile;
-export declare const isAsyncNoFile: <O extends TarOptions>(o: O) => o is O & TarOptionsAsyncNoFile;
-export declare const isSync: <O extends TarOptions>(o: O) => o is O & TarOptionsSync;
-export declare const isAsync: <O extends TarOptions>(o: O) => o is O & TarOptionsAsync;
-export declare const isFile: <O extends TarOptions>(o: O) => o is O & TarOptionsFile;
-export declare const isNoFile: <O extends TarOptions>(o: O) => o is O & TarOptionsNoFile;
-export declare const dealias: (opt?: TarOptionsWithAliases) => TarOptions;
-//# sourceMappingURL=options.d.ts.map \ No newline at end of file