Рубрики
Без рубрики

Создайте мусорную программу на JS и сделайте его NPM PKG & опубликовать его

Привет, в этом посте мы создадим программу для мусора JS, после ее создания, эта программа будет NPM Packag … Теги с JavaScript, NPM, Bash, Node.

Привет, в этом посте мы создадим программу для мусора по JS , После создания этого эта программа будет NPM упаковка.

До реквизиты

Прежде чем мы будем двигаться дальше, вам понадобится:

  • NPM учетная запись.

  • NPM , Узел установлены.

Поехали

Мы собираемся создать package.json

Первая команда – NPM INIT.

$ npm init

Я назову это манс

Так что вам должно было понравиться …

{
  "name": "@your_npm_user_name/your_proj_name",
  "version": "1.0.0",
  "description": "Cli app can move files/folders to the trash without any dangerous",
  "main": "cli.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://Git_Repos_Site/Your_Git_Repo"
  },
  "keywords": [
    "cli-app",
    "cli",
    "trash"
  ],
  "author": "Your_Name",
  "license": "ISC"
}

Мы не хотим иметь Package-lock.json , так тип

$ touch .npmrc

в .npmrc.

package-lock=false

Теперь мы установим @ abdfnx/hac_k & мусор

$ npm i @abdfnx/hac_k trash

Хорошо, давайте создадим cli.js.

в cli.js.

#!/usr/bin/env node
"use strict";

Теперь нам потребуют пакеты

#!/usr/bin/env node
"use strict";

const hac_k = require("@abdfnx/hac_k");
const manx = require("trash");

Приятно, также создайте две переменные

// Ignore all flags of `rm` program.
const ignoredFlags = ["r", "f", "i", "d", "P", "R", "v", "W"];

const ignoredFlagsConfig = {};

Эти переменные очень важны, поэтому мы сделаем для петля

for (const flag of ignoredFlags) {
    ignoredFlagsConfig[flag] = {
        type: "boolean",
    };
}

Самая важная переменная – выступ

const cli = hac_k(
    `
    Usage
      $ manx  […]

    Examples
      # file
      $ manx xcode.tsx layout.tsx edge.tsx
      $ manx '*.tsx' '!xcode.tsx'
      # folder
      $ manx app
    `,
    {
        flags: {
            ...ignoredFlagsConfig,
        },
    }
);

Но что, если пользователь вступил в пространство, нам нужно Если утверждение

if (cli.input.length === 0) {
    console.error("Specify at least one path");
    process.exit(1);
}

В конце добавить

manx(cli.input);

окончательный результат файла

#!/usr/bin/env node
"use strict";
const hac_k = require("@abdfnx/hac_k");
const manx = require("trash");

// Ignore all flags of `rm` program.
const ignoredFlags = ["r", "f", "i", "d", "P", "R", "v", "W"];

const ignoredFlagsConfig = {};

for (const flag of ignoredFlags) {
    ignoredFlagsConfig[flag] = {
        type: "boolean",
    };
}

const cli = hac_k(
    `
    Usage
      $ manx  […]

    Examples
      # file
      $ manx xcode.tsx layout.tsx edge.tsx
      $ manx '*.tsx' '!xcode.tsx'
      # folder
      $ manx app
    `,
    {
        flags: {
            ...ignoredFlagsConfig,
        },
    }
);

if (cli.input.length === 0) {
    console.error("Specify at least one path");
    process.exit(1);
}

manx(cli.input);

Ты хорош, теперь давайте тестишь, перейдем к package.json и добавить Bin , Двигатели , Файлы реквизит

{
  "name": "@your_npm_user_name/your_proj_name",
  "version": "1.0.0",
  "description": "Cli app can move files/folders to the trash without any dangerous",
  "main": "cli.js",
  "bin": {
        "manx": "cli.js"
  },
  "engines": {
        "node": ">=10"
  },
  "files": [
        "cli.js"
  ],
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://Git_Repos_Site/Your_Git_Repo"
  },
  "keywords": [
    "cli-app",
    "cli",
    "trash"
  ],
  "author": "Your_Name",
  "license": "ISC",
  "dependencies": {
    "@abdfnx/hac_k": "^1.0.2",
    "trash": "^7.0.0"
  }
}

Тип NPM Link.

$ npm link

Добавить файл и папку для тестирования

$ touch test_file && mkdir test_folder

Сейчас Ожидаемый момент в терминале

$ manx --help
    Usage
      $ manx  […]

    Examples
      # file
      $ manx xcode.tsx layout.tsx edge.tsx
      $ manx '*.tsx' '!xcode.tsx'
      # folder
      $ manx app
$ manx test_file test_folder

Поздравляю, у вас сейчас отличная программа …

NPM публикация (необязательно)

Если вы хотите опубликовать свой удивительный проект в NPM , Подписывайтесь на меня

Перед опубликом добавьте некоторые файлы

.editorconfig , . Гитаттрибуты , .gitignore и .travis.yml.yml.yml

Это необязательно, но лучше его создать

в .editorconfig.

root = true

[*]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.yml]
indent_style = space
indent_size = 2

. Гитаттрибуты

* text=auto eol=lf

.gitignore.

node_modules
yarn.lock

.travis.yml.yml.yml

language: node_js
node_js:
  - '14'
  - '12'
  - '10'

хорошо, тип

$ npm unlink

И теперь мы должны войти в NPM

$ npm login

публиковать

$ npm publish --access=public

И если вы хотите установить его, вы должны установить его по всему миру

$ npm i -g YOUR_PKG

Вы можете увидеть ваш пакет в NPM

посетить https://www.npmjs.com/package/YOUR_PKG

Вот вы, у вас есть программа для мусора и пакет NPM …

Наслаждайтесь и увидимся в следующий раз.

Оригинал: “https://dev.to/abdfnx/build-trash-program-by-js-and-make-it-npm-pkg-publish-it-3pbj”