На днях я создал свой первый пакет npm, так что оставлю вам отчет о моем рабочем процессе. Новой информации может быть немного.
Созданный мной пакет является компонентом виртуального фона, о котором я упоминал ранее.



Вы можете использовать его, если хотите.

Резюме

Создание и публикация пакета npm в среде Typescript.

помещение

  • Создайте npm-аккаунт.
  • Создайте учетную запись github и репозиторий.
  • Клонируйте репозиторий git и перейдите в этот каталог.

Рабочий процесс

Во-первых, давайте настроим и войдем в npm.

$ npm set init.author.name "xxxxxx"
$ npm set init.author.email "[email protected]"
$ npm set init.author.url "https://qiita.com/wok"
$ npm adduser

Теперь инициализируйте проект и создайте package.json.

$ npm init -y

Далее вам нужно установить необходимые модули.
Поскольку мы будем создавать пакет с помощью машинописного текста, нам нужно установить Подготовка среды. «npx tsc» сгенерирует tsconfig.json.

$ npm install -D typescript @types/node
$ npx tsc --init

Мы настраиваем файл tsconfig.json для создания файла объявления, чтобы люди, использующие пакет, могли использовать вывод типов. Я также создам исходную карту, чтобы упростить отладку. Это мое предпочтение. Вывод должен быть «. /dist», чтобы соответствовать тем, что описаны в разных местах. Модуль нужно менять в зависимости от назначения, но я в этом не очень разбираюсь. В данном случае я использую esnext.
Если вы используете esnext, вам нужно изменить moduleResolution на node. Сборка вроде не проходит.

"declaration": true, 
"sourceMap": true,
"outDir": "./dist",
"module": "esnext",
"moduleResolution": "node",

На этом этапе можно приступать к написанию исходного кода. (На самом деле я скопировал и вставил исходный код.)
Затем скомпилируйте. Если ошибок нет, вы должны увидеть следующий вывод файла.

$ npx tsc
$ ls dist/
index.d.ts  index.js  index.js.map

Далее мы изменим package.json и установим для вас точку входа.
В этом случае описание будет выглядеть так.

"main": "dist/index.js",

В то же время информация о пакете включена в package.json. Имя автоматически устанавливается на имя репозитория, но если это имя уже используется (кем-то другим), это приведет к ошибке при публикации. Так настройте его так, чтобы он не был таким же. Сообщение об ошибке бессмысленно, поэтому в него сложно попасть. Я думаю, что сообщение было чем-то вроде «безопасность — это проблема».

"name": "local-video-effector",
"author": "xxxxxx <[email protected]> (https://qiita.com/wok)",
"license": "Apache-2.0",

После этого вы почти готовы к публикации.
Добавьте информацию о версии и синхронизируйте ее с вашим репозиторием git, чтобы вы могли анализировать ее при возникновении проблемы. будет легко.

npm version patch
git tag -a v1.x.x
git commit
git push

Наконец, опубликуйте, и все готово. Спасибо за уделенное время.

В следующей статье я опишу разработку демо с использованием пакета виртуального фона, который я создал здесь.

Увидимся скоро.