open-index/open-npm huggingface dataset:
npm package: @mgct/cli
Description: MGCT - MaGiC Tool
Author: Artem Deikun
Latest version: 0.7.6

# MGCT - MaGiC Tool

[![Codacy Badge](https://img.shields.io/codacy/coverage/d5c10d44cd184248947aa0e615414f94)](https://www.codacy.com/gh/FED-tools/cli-magic/dashboard?utm_source=github.com&utm_medium=referral&utm_content=FED-tools/cli-magic&utm_campaign=Badge_Coverage)

Magic that will help you with managing repositories.

Set of tools that helps to roll out and maintain GIT repositories of your project or company extremely fast.

## Clone all projects from GIT to local

Create file config.json

```json
[
  {
    "project": "React",
    "repo": "git@github.com:facebook/react.git",
    "path": "lib/react"
  }
]
```

Then run command in the folder where you have **config.json**

```bash
npx mgct create
```

**Result:**
Projects that is listed in **config.json** will be cloned from GIT into folder **./projects**

## Update all projects from GIT to local

To update all projects with latest change - navigate to folder where **config.json** located:

```bash
npx mgct update
```

## Show list of commits

```bash
npx mgct commits
```

### Advanced

You can customize the location for projects:

```bash
npx mgct create --src=repos
```

**Result:**
Projects that is listed in **config.json** will be cloned from GIT into specific folder **./repos**

You can customize the config file for projects and source for projects to be cloned:

```bash
npx mgct create --src=repos --config=list.json
```

## Copy/Paste for checking after deployment

```bash
# Step 1 - (Remove previous files)
rm -rf ~/Desktop/projects
rm -rf ~/Desktop/config.json
cd ~/Desktop
# Step 2 - (Generate Config)
echo "[{\"project\": \"Bootstrap\", \"repo\": \"git@github.com:twbs/bootstrap.git\", \"path\": \"bootstrap\"}]" > ./config.json
# Step 3 - (Optionally for cleaning npx cache)
npx clear-npx-cache
npx mgct create
# Step 4 - (Pull GIT projects)
npx mgct update
# Step 5 - (See commits list)
npx mgct commits
```
npm package: @mgdarrow/eslint-config-base
Description: Конфиг для ESLint от MGDArrow
Author: MGDArrow
Latest version: 1.0.3

# ESLint Base конфиг

Данный конфиг создан MGDArrow для собственных нужд!

# Установка

Установить пакет:

```shell
npm i -D eslint globals @eslint/js @eslint/json @eslint/markdown @stylistic/eslint-plugin @mgdarrow/eslint-config-base

```

Создать файл в eslint.config.js
```js
import js from '@eslint/js';
import globals from 'globals';
import stylistic from '@stylistic/eslint-plugin';
import json from '@eslint/json';
import markdown from '@eslint/markdown';
import { defineConfig } from 'eslint/config';
import MGDbase from '@mgdarrow/eslint-config-base';

export default defineConfig([
  {
    name           : '@mgdarrow/eslint-config-base',
    files          : ['**/*.{js,mjs,cjs,ts,mts,cts,vue}', '*.{js,mjs,cjs,ts,mts,cts,vue}'],
    plugins        : { js, '@stylistic': stylistic },
    languageOptions: { globals: { ...globals.browser, ...globals.node } },
    rules          : MGDbase,
  },
  {
    files   : ['**/*.json'],
    plugins : { json },
    language: 'json/json',
    extends : ['json/recommended'],
  },
  {
    files   : ['**/*.md'],
    plugins : { markdown },
    language: 'markdown/commonmark',
    extends : ['markdown/recommended'],
  },
]);


```


# Смежные пакеты

[ESLint TS](https://www.npmjs.com/package/@mgdarrow/eslint-config-ts)

[ESLint VUE](https://www.npmjs.com/package/@mgdarrow/eslint-config-vue)
npm package: @mgdarrow/eslint-config-ts
Description: Конфиг для ESLint от MGDArrow
Author: MGDArrow
Latest version: 1.0.2

# ESLint TS конфиг

Данный конфиг создан MGDArrow для собственных нужд!

# Установка

Установить пакет:

```shell
npm i -D eslint typescript-eslint @mgdarrow/eslint-config-ts

```

Добавить в файл eslint.config.js
```js
import tseslint from 'typescript-eslint';
import MGDts from '@mgdarrow/eslint-config-ts';

export default defineConfig([
tseslint.configs.base,
  {
    name           : '@mgdarrow/eslint-config-ts',
    files          : ['**/*.{ts,mts,cts,vue}', '*.{ts,mts,cts,vue}'],
    languageOptions: {
      parserOptions: {
        projectService     : true,
        extraFileExtensions: ['.vue'],
      },
    },
    rules: MGDts,
  },
]);
```


# Смежные пакеты

[ESLint BASE](https://www.npmjs.com/package/@mgdarrow/eslint-config-base)

[ESLint VUE](https://www.npmjs.com/package/@mgdarrow/eslint-config-vue)
npm package: @mgdarrow/eslint-config-vue
Description: Конфиг для ESLint от MGDArrow
Author: MGDArrow
Latest version: 1.0.1

# ESLint Vue конфиг

Данный конфиг создан MGDArrow для собственных нужд!

# Установка

Установить пакет:

```shell
npm i -D eslint eslint-plugin-vue @mgdarrow/eslint-config-vue

```

Добавить в файл eslint.config.js
```js
import pluginVue from 'eslint-plugin-vue';
import MGDVue from '@mgdarrow/eslint-config-vue';

export default defineConfig([
  pluginVue.configs['flat/base'],
  {
    name           : '@mgdarrow/eslint-config-vue',
    files          : ['**/*.vue', '*.vue'],
    languageOptions: { parserOptions: { parser: tseslint.parser } },
    rules          : MGDVue,
  },
]);


```


# Смежные пакеты

[ESLint BASE](https://www.npmjs.com/package/@mgdarrow/eslint-config-base)

[ESLint TS](https://www.npmjs.com/package/@mgdarrow/eslint-config-ts)
npm package: @mgdarrow/prettier-config
Description: Конфиг для Prettier от MGDArrow
Author: MGDArrow
Latest version: 1.1.2

# Prettire конфиг

Данный конфиг создан MGDArrow для собственных нужд!

# Установка

Установить пакет:

```shell
npm i -D prettier @mgdarrow/prettier-config
```

Добавить в package.json
`"prettier": "@mgdarrow/prettier-config"`
npm package: @mgdarrow/stylelint-config
Description: Конфиг для Stylelint от MGDArrow
Author: MGDArrow
Latest version: 1.1.3

# Stylelint конфиг

Данный конфиг создан MGDArrow для собственных нужд!

# Установка

Установить пакет:

```shell
npm i -D stylelint stylelint-order stylelint-config-rational-order stylelint-config-standard-scss stylelint-config-standard-vue @mgdarrow/stylelint-config
```

Добавить в package.json
```json
"stylelint": {
    "extends": [
      "@mgdarrow/stylelint-config"
    ]
  }
```
npm package: @mgdis/gol-got
Description: Wrapper for got with proxy env variables management
Latest version: 1.2.0

# gol-got [![Build Status](https://travis-ci.org/MGDIS/gol-got.svg?branch=master)](https://travis-ci.org/MGDIS/gol-got) [![Coverage Status](https://coveralls.io/repos/github/MGDIS/gol-got/badge.svg?branch=master)](https://coveralls.io/github/MGDIS/gol-got?branch=master)

> Convenience wrapper for [`got`](https://github.com/sindresorhus/got) with automatic consideration of proxy env variables.


## Install

```
$ npm install gol-got
```


## Usage

Instead of:

```js
// Exemple based on https://github.com/sindresorhus/got#proxies
const got = require('got');
const tunnel = require('tunnel');

/* Proxy env variables */
process.env.NO_PROXY = 'https://noproxy.com'
process.env.HTTPS_PROXY = 'https://proxy.mgdis.fr'

/* Indigestible code part to create the method for tunneling*/
const method = ...; //httpOverHttp or httpsOverHttp or httpOverHttps or httpsOverHttps
let agent;
switch (method) {
  case 'httpOverHttp': 
    agent = tunnel.httpOverHttp({
      proxy: {
        host: 'proxy.mgdis.fr'
      });
    break:
  ...
}
/* ------------------------------------------------------- */

const response = await got('https://www/mgdis.fr/resource/1', { agent });

```

You can do:

```js
const golGot = require('gol-got');

/* Proxy env variables*/
process.env.NO_PROXY = 'https://noproxy.com'
process.env.HTTPS_PROXY = 'https://proxy.mgdis.fr'

// Prepare a Got instance
const got = golGot('https://www/mgdis.fr/resource/1');

// Use Got as usual
const response = await got('https://www/mgdis.fr/resource/1');
```


## Why use gol-got
[`got`](https://github.com/sindresorhus/got) actually does not manage proxy environment variables : see this [issue](https://github.com/sindresorhus/got/issues/79).  
If you use [`got`](https://github.com/sindresorhus/got) in many projets that have to manage proxy environment variables, you probably don't want to write the same code routine all the time.

## API

Same as [`got`](https://github.com/sindresorhus/got).

## Clarification

- The tunnel agent used is [`tunnel-agent`](https://github.com/request/tunnel-agent) included in the popular [`request`](https://github.com/request/request) http calls library.
- [`proxy-from-env`](https://github.com/Rob--W/proxy-from-env) is used to get the proxy URL for the given URL based on standard proxies environment variables.


## License

MIT © [MGDIS](https://www.mgdis.fr)