Привет, в этом посте мы создадим программу для мусора по JS , После создания этого эта программа будет 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”