建立專案
建立專案。
1 | npm create vite |
建立 lib
資料夾,用來存放此套件相關的程式。
1 | cd markdown2html |
修改 tsconfig.json
檔。
1 | { |
安裝 TypeScript 相關套件。
1 | npm i @types/node -D |
安裝檢查工具
安裝 ESLint 相關套件。
1 | npm i eslint @eslint/js typescript-eslint globals @types/eslint__js -D |
建立 eslint.config.js
檔。
1 | import pluginJs from '@eslint/js'; |
修改 package.json
檔。
1 | { |
執行檢查。
1 | npm run lint |
實作
修改 tsconfig.json
檔,添加 ~
路徑別名。
1 | { |
進到 lib
資料夾。
1 | cd lib |
實作功能
安裝依賴套件。
1 | npm i --save-peer marked dompurify |
在 lib/converter
資料夾,建立 Converter.ts
檔。
1 | import createDOMPurify, { DOMPurify, Config as DOMPurifyConfig } from 'dompurify'; |
匯出模組
在 lib/converter
資料夾,建立 index.ts
檔。
1 | import Converter from './Converter'; |
在 lib
資料夾,建立 index.ts
檔。
1 | import Converter from './converter'; |
單元測試
安裝 Vitest 相關套件。
1 | npm i vitest -D |
修改 package.json
檔。
1 | { |
在 lib/converter
資料夾,建立 Converter.test.ts
檔。
1 | import DOMPurify from 'dompurify'; |
執行測試。
1 | npm run test |
編譯
安裝 vite-plugin-dts
套件,用來產生定義檔。
1 | npm i vite-plugin-dts -D |
建立 vite.config.ts
檔。
1 | import path from 'path'; |
建立 tsconfig.build.json
檔。
1 | { |
修改 package.json
檔。
1 | { |
執行編譯。
1 | npm run build |
檢查 dist
資料夾。
1 | tree dist |
使用
透過 ES 模組使用
修改 src/main.ts
檔,透過 ES 模組使用套件。
1 | import { Converter } from '../dist'; |
啟動服務。
1 | npm run dev |
輸出如下:
1 | Hello, World! |
透過 UMD 模組使用
修改 index.html
檔。
1 |
|
啟動服務。
1 | npm run dev |
輸出如下:
1 | <h1>Hello, World!</h1> |
發布
登入 npm
套件管理平台。
1 | npm login |
測試發布,查看即將發布的檔案列表。
1 | npm publish --dry-run |
發布套件。
1 | npm publish --access=public |