Compare commits
4 Commits
v0.1.7
...
v0.1.11-rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70c60b9daa | ||
|
|
52ab42ffac | ||
|
|
dc66c4006f | ||
|
|
a27a541074 |
@@ -86,14 +86,21 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if npm view "$package_name@$PACKAGE_VERSION" version --registry='https://registry.npmjs.org/' > /dev/null 2>&1; then
|
||||
echo "npmjs package $package_name@$PACKAGE_VERSION already exists" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Validate publish credentials
|
||||
shell: bash
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
|
||||
NPMJS_PUBLISH_TOKEN: ${{ secrets.NPMJS_PUBLISH_TOKEN }}
|
||||
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
: "${NODE_AUTH_TOKEN:?NPM_PUBLISH_TOKEN is required}"
|
||||
: "${NPMJS_PUBLISH_TOKEN:?NPMJS_PUBLISH_TOKEN is required}"
|
||||
: "${RELEASE_TOKEN:?RELEASE_TOKEN is required}"
|
||||
|
||||
- name: Type check
|
||||
@@ -106,6 +113,8 @@ jobs:
|
||||
run: pnpm test:coverage
|
||||
|
||||
- name: Build component
|
||||
env:
|
||||
DEMO_BASE_PATH: /waveform-analysis/
|
||||
run: pnpm build
|
||||
|
||||
- name: Pack component
|
||||
@@ -154,20 +163,47 @@ jobs:
|
||||
npm config set -- '//lqycustomsite.online/api/packages/admin/npm/:_authToken' "$NODE_AUTH_TOKEN"
|
||||
npm publish "./$package_file" --registry="$registry_url" --tag "$NPM_DIST_TAG"
|
||||
|
||||
- name: Publish component package
|
||||
- name: Publish to npmjs.org
|
||||
shell: bash
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPMJS_PUBLISH_TOKEN }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
source release.env
|
||||
: "${NODE_AUTH_TOKEN:?NPMJS_PUBLISH_TOKEN is required}"
|
||||
package_file="release-assets/waveform-analysis-${PACKAGE_VERSION}.tgz"
|
||||
npm config set -- '//registry.npmjs.org/:_authToken' "$NODE_AUTH_TOKEN"
|
||||
npm publish "./$package_file" --registry='https://registry.npmjs.org/' --tag "$NPM_DIST_TAG" --access public
|
||||
|
||||
- name: Deploy stable demo
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
source release.env
|
||||
published_name="waveform-analysis-${PACKAGE_VERSION}.tgz"
|
||||
install -m 644 "release-assets/$published_name" "/downloads/$published_name"
|
||||
cd /downloads
|
||||
sha256sum "$published_name" > "$published_name.sha256"
|
||||
if [[ "$IS_PRERELEASE" == 'false' ]]; then
|
||||
ln -sfn "$published_name" waveform-analysis-latest.tgz
|
||||
ln -sfn "$published_name.sha256" waveform-analysis-latest.tgz.sha256
|
||||
if [[ "$IS_PRERELEASE" == 'true' ]]; then
|
||||
echo 'Skipping demo deployment for prerelease'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
deploy_root='/demo-deploy'
|
||||
releases_dir="$deploy_root/releases"
|
||||
release_dir="$releases_dir/$PACKAGE_VERSION"
|
||||
test ! -e "$release_dir"
|
||||
install -d -m 755 "$releases_dir"
|
||||
staging_dir="$(mktemp -d "$deploy_root/.staging-${PACKAGE_VERSION}-XXXXXX")"
|
||||
trap 'rm -rf -- "$staging_dir"' EXIT
|
||||
cp -a dist-demo/. "$staging_dir/"
|
||||
find "$staging_dir" -type d -exec chmod 755 {} +
|
||||
find "$staging_dir" -type f -exec chmod 644 {} +
|
||||
mv "$staging_dir" "$release_dir"
|
||||
trap - EXIT
|
||||
ln -sfn "releases/$PACKAGE_VERSION" "$deploy_root/current"
|
||||
|
||||
mapfile -t old_releases < <(find "$releases_dir" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort -V | head -n -5)
|
||||
for old_release in "${old_releases[@]}"; do
|
||||
rm -rf -- "$releases_dir/$old_release"
|
||||
done
|
||||
|
||||
- name: Create Gitea release
|
||||
shell: bash
|
||||
env:
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
组件使用 SVG 绘制坐标轴和波形;大数据会按当前可见范围和屏幕像素自动保峰降采样,
|
||||
tooltip 与标注仍使用完整原始数据。
|
||||
|
||||
## 在线示例
|
||||
|
||||
最新稳定版 Demo:<https://lqycustomsite.online/waveform-analysis/>
|
||||
|
||||
## 开始使用
|
||||
|
||||
```bash
|
||||
@@ -30,7 +34,8 @@ pnpm test:coverage
|
||||
pnpm build
|
||||
```
|
||||
|
||||
`pnpm build` 同时生成 `dist` 组件库产物和 `dist-demo` 演示应用。正式公开入口为
|
||||
`pnpm build` 同时生成 `dist` 组件库产物和 `dist-demo` 演示应用。发布稳定版后,在线示例
|
||||
会自动更新;预发布版本不会覆盖在线示例。正式公开入口为
|
||||
`src/index.ts`;发布后使用包入口:
|
||||
|
||||
```ts
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "waveform-analysis",
|
||||
"version": "0.1.7",
|
||||
"version": "0.1.11-rc.1",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
"types": "./dist/types/index.d.ts",
|
||||
|
||||
@@ -4,6 +4,7 @@ import vue from '@vitejs/plugin-vue'
|
||||
import { defineConfig } from 'vitest/config'
|
||||
|
||||
export default defineConfig({
|
||||
base: process.env.DEMO_BASE_PATH ?? '/',
|
||||
plugins: [vue()],
|
||||
server: {
|
||||
host: '0.0.0.0',
|
||||
|
||||
Reference in New Issue
Block a user