Gitlab

December 23, 2024 ยท View on GitHub

version Maintenance OpenSSF
Scorecard MIT build

Download and (optionaly) extract gitlab repository archive.

Requirements

Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn.

$ npm i @nodesecure/gitlab
# or
$ yarn add @nodesecure/gitlab

Usage example

import * as gitlab from "@nodesecure/gitlab";

// Note: repository can be either namespace path or repository ID
const result = await gitlab.download(
  "NodeSecure.utils"
);
console.log(result);

API

Both download and downloadAndExtract functions use the same set of options.

interface DownloadOptions {
  /**
   * The destination (location) to extract the tar.gz
   *
   * @default process.cwd()
   */
  dest?: string;
  /**
   * The default gitlab branch name (master, main ...).
   * By default it fetch the "default" gitlab branch.
   *
   * @default null
   */
  branch?: string | null;
  /**
   * Authentication token for private repositories
   *
   * @default process.env.GITLAB_TOKEN
   */
  token?: string;
  /**
   * @default https://gitlab.com/api/v4/projects/
   */
  gitlab?: string;
}

download(repository: string, options?: DownloadOptions): Promise< DownloadResult >

Download the tar.gz archive of the GIT repository.

interface DownloadResult {
  /** Archive or repository location on disk */
  location: string;
  /** Gitlab repository name */
  repository: string;
  /** Gitlab organization name */
  organization: string;
  /** Gitlab branch name */
  branch: string;
}

downloadAndExtract(repository: string, options?: DownloadExtractOptions): Promise< DownloadResult >

Use download but extract the tar.gz archive.

interface DownloadExtractOptions extends DownloadOptions {
  /**
   * Remove the tar.gz archive after a succesfull extraction
   *
   * @default true
   */
  removeArchive?: boolean;
}

Contributors โœจ

All Contributors

Thanks goes to these wonderful people (emoji key):

Gentilhomme
Gentilhomme

๐Ÿ’ป ๐Ÿ“– ๐Ÿ‘€ ๐Ÿ›ก๏ธ ๐Ÿ›
Haze
Haze

๐Ÿ’ป
Alexandre Malaj
Alexandre Malaj

๐Ÿ’ป ๐Ÿ“–
Kouadio Fabrice Nguessan
Kouadio Fabrice Nguessan

๐Ÿšง
FredGuiou
FredGuiou

๐Ÿšง

License

MIT