build: 构建
This commit is contained in:
parent
0ca27f6f6f
commit
1dcb0ce6a7
207
.github/workflows/build.yml
vendored
Normal file
207
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,207 @@
|
||||||
|
name: Build and Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup JDK 21
|
||||||
|
uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
java-version: '21'
|
||||||
|
distribution: 'temurin'
|
||||||
|
|
||||||
|
- name: Make gradlew executable
|
||||||
|
run: chmod +x ./gradlew
|
||||||
|
|
||||||
|
- name: Build with Gradle
|
||||||
|
run: ./gradlew build
|
||||||
|
|
||||||
|
- name: Prepare release files
|
||||||
|
run: |
|
||||||
|
mkdir -p release-files
|
||||||
|
cp build/libs/*.jar release-files/ 2>/dev/null || true
|
||||||
|
echo "准备发布的文件:"
|
||||||
|
ls -la release-files/
|
||||||
|
|
||||||
|
- name: Upload release artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-files
|
||||||
|
path: release-files/
|
||||||
|
retention-days: 7
|
||||||
|
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout with full history
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: release-files
|
||||||
|
path: ./dist
|
||||||
|
|
||||||
|
- name: Generate CZ-compliant changelog
|
||||||
|
id: generate_changelog
|
||||||
|
run: |
|
||||||
|
CURRENT_TAG="${{ github.ref_name }}"
|
||||||
|
PREV_TAG=$(git describe --tags --abbrev=0 $(git rev-list --tags --skip=1 --max-count=1) 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
# 创建临时文件
|
||||||
|
TEMP_FILE=$(mktemp)
|
||||||
|
|
||||||
|
echo "# 🚀 版本 $CURRENT_TAG 发布" > $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
echo "## 📋 变更摘要" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
|
||||||
|
if [ -z "$PREV_TAG" ]; then
|
||||||
|
echo "### 初始版本发布" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
echo "这是项目的第一个正式版本。" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
# 获取所有提交并按类型分组
|
||||||
|
git log --pretty=format:"%s" --reverse | while read -r line; do
|
||||||
|
echo "- $line" >> $TEMP_FILE
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "### 从 $PREV_TAG 到 $CURRENT_TAG 的变更" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
|
||||||
|
# 定义符合CZ规范的提交类型映射
|
||||||
|
declare -A commit_types
|
||||||
|
commit_types=(
|
||||||
|
["✨ 新功能"]="^(feat|feature)(\(.*\))?:"
|
||||||
|
["🐛 修复"]="^(fix|bugfix)(\(.*\))?:"
|
||||||
|
["📝 文档"]="^(docs|documentation)(\(.*\))?:"
|
||||||
|
["🎨 样式"]="^(style)(\(.*\))?:"
|
||||||
|
["🔨 重构"]="^(refactor)(\(.*\))?:"
|
||||||
|
["⚡️ 性能"]="^(perf|performance)(\(.*\))?:"
|
||||||
|
["✅ 测试"]="^(test)(\(.*\))?:"
|
||||||
|
["🔧 构建"]="^(build)(\(.*\))?:"
|
||||||
|
["👷 CI"]="^(ci)(\(.*\))?:"
|
||||||
|
["📦 依赖"]="^(chore|deps)(\(.*\))?:"
|
||||||
|
["⏪ 回退"]="^(revert)(\(.*\))?:"
|
||||||
|
)
|
||||||
|
|
||||||
|
# 获取所有提交
|
||||||
|
COMMITS=$(git log --pretty=format:"%s" $PREV_TAG..HEAD)
|
||||||
|
|
||||||
|
# 处理每种类型的提交
|
||||||
|
for type_name in "${!commit_types[@]}"; do
|
||||||
|
pattern="${commit_types[$type_name]}"
|
||||||
|
|
||||||
|
# 提取匹配的提交
|
||||||
|
matched_commits=$(echo "$COMMITS" | grep -E "$pattern" || true)
|
||||||
|
|
||||||
|
if [ -n "$matched_commits" ]; then
|
||||||
|
echo "#### $type_name" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
|
||||||
|
# 处理每条提交,提取scope和subject
|
||||||
|
echo "$matched_commits" | while read -r commit; do
|
||||||
|
# 解析scope和subject
|
||||||
|
if [[ $commit =~ ^[a-z]+\((.*)\):\ (.*) ]]; then
|
||||||
|
scope="${BASH_REMATCH[1]}"
|
||||||
|
subject="${BASH_REMATCH[2]}"
|
||||||
|
echo "- **$scope**: $subject" >> $TEMP_FILE
|
||||||
|
elif [[ $commit =~ ^[a-z]+:\ (.*) ]]; then
|
||||||
|
subject="${BASH_REMATCH[1]}"
|
||||||
|
echo "- $subject" >> $TEMP_FILE
|
||||||
|
else
|
||||||
|
echo "- $commit" >> $TEMP_FILE
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 处理破坏性变更(BREAKING CHANGE)
|
||||||
|
breaking_changes=$(git log --pretty=format:"%b" $PREV_TAG..HEAD | grep -i "BREAKING CHANGE" || true)
|
||||||
|
if [ -n "$breaking_changes" ]; then
|
||||||
|
echo "#### ⚠️ 破坏性变更" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
echo "$breaking_changes" | while read -r line; do
|
||||||
|
echo "- $line" >> $TEMP_FILE
|
||||||
|
done
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 处理未分类的提交
|
||||||
|
uncategorized="$COMMITS"
|
||||||
|
for pattern in "${commit_types[@]}"; do
|
||||||
|
uncategorized=$(echo "$uncategorized" | grep -v -E "$pattern" || true)
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$uncategorized" ]; then
|
||||||
|
echo "#### 📝 其他更改" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
echo "$uncategorized" | while read -r commit; do
|
||||||
|
echo "- $commit" >> $TEMP_FILE
|
||||||
|
done
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "## 📊 统计信息" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
|
||||||
|
if [ -z "$PREV_TAG" ]; then
|
||||||
|
TOTAL_COMMITS=$(git rev-list --count HEAD)
|
||||||
|
echo "- 总提交数: $TOTAL_COMMITS" >> $TEMP_FILE
|
||||||
|
echo "- 首次发布" >> $TEMP_FILE
|
||||||
|
else
|
||||||
|
COMMITS=$(git rev-list --count $PREV_TAG..HEAD)
|
||||||
|
echo "- 本次发布提交数: $COMMITS" >> $TEMP_FILE
|
||||||
|
echo "- 上一个版本: $PREV_TAG" >> $TEMP_FILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "- 发布日期: $(date '+%Y年%m月%d日')" >> $TEMP_FILE
|
||||||
|
echo "- 当前版本: $CURRENT_TAG" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
echo "---" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
echo "### 📜 详细提交历史" >> $TEMP_FILE
|
||||||
|
echo "" >> $TEMP_FILE
|
||||||
|
|
||||||
|
# 显示所有提交的详细列表,包含scope信息
|
||||||
|
if [ -z "$PREV_TAG" ]; then
|
||||||
|
git log --pretty=format:"- **%h** %s - %an (%ad)" --date=short --reverse | head -100 >> $TEMP_FILE
|
||||||
|
else
|
||||||
|
git log --pretty=format:"- **%h** %s - %an (%ad)" --date=short $PREV_TAG..HEAD | head -100 >> $TEMP_FILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 将文件内容输出到变量
|
||||||
|
CHANGELOG_CONTENT=$(cat $TEMP_FILE)
|
||||||
|
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
||||||
|
echo "$CHANGELOG_CONTENT" >> $GITHUB_OUTPUT
|
||||||
|
echo "EOF" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
artifacts: "dist/*.jar"
|
||||||
|
tag: ${{ github.ref_name }}
|
||||||
|
name: "版本 ${{ github.ref_name }}"
|
||||||
|
body: ${{ steps.generate_changelog.outputs.changelog }}
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,6 +1,5 @@
|
||||||
.idea
|
.idea
|
||||||
.gradle
|
.gradle
|
||||||
.github
|
|
||||||
build
|
build
|
||||||
run
|
run
|
||||||
run-data
|
run-data
|
||||||
2
node_modules/balanced-match/.github/FUNDING.yml
generated
vendored
Normal file
2
node_modules/balanced-match/.github/FUNDING.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
tidelift: "npm/balanced-match"
|
||||||
|
patreon: juliangruber
|
||||||
20
node_modules/commitizen/.github/workflows/release.yml
generated
vendored
Normal file
20
node_modules/commitizen/.github/workflows/release.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
name: Release
|
||||||
|
"on":
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
cache: npm
|
||||||
|
node-version: lts/*
|
||||||
|
- run: npm clean-install
|
||||||
|
- run: npx semantic-release
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
|
||||||
21
node_modules/fast-uri/.github/.stale.yml
generated
vendored
Normal file
21
node_modules/fast-uri/.github/.stale.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Number of days of inactivity before an issue becomes stale
|
||||||
|
daysUntilStale: 15
|
||||||
|
# Number of days of inactivity before a stale issue is closed
|
||||||
|
daysUntilClose: 7
|
||||||
|
# Issues with these labels will never be considered stale
|
||||||
|
exemptLabels:
|
||||||
|
- "discussion"
|
||||||
|
- "feature request"
|
||||||
|
- "bug"
|
||||||
|
- "help wanted"
|
||||||
|
- "plugin suggestion"
|
||||||
|
- "good first issue"
|
||||||
|
# Label to use when marking an issue as stale
|
||||||
|
staleLabel: stale
|
||||||
|
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||||
|
markComment: >
|
||||||
|
This issue has been automatically marked as stale because it has not had
|
||||||
|
recent activity. It will be closed if no further activity occurs. Thank you
|
||||||
|
for your contributions.
|
||||||
|
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||||
|
closeComment: false
|
||||||
13
node_modules/fast-uri/.github/dependabot.yml
generated
vendored
Normal file
13
node_modules/fast-uri/.github/dependabot.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "monthly"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
|
||||||
|
- package-ecosystem: "npm"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "monthly"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
8
node_modules/fast-uri/.github/tests_checker.yml
generated
vendored
Normal file
8
node_modules/fast-uri/.github/tests_checker.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
comment: |
|
||||||
|
Hello! Thank you for contributing!
|
||||||
|
It appears that you have changed the code, but the tests that verify your change are missing. Could you please add them?
|
||||||
|
fileExtensions:
|
||||||
|
- '.ts'
|
||||||
|
- '.js'
|
||||||
|
|
||||||
|
testDir: 'test'
|
||||||
101
node_modules/fast-uri/.github/workflows/ci.yml
generated
vendored
Normal file
101
node_modules/fast-uri/.github/workflows/ci.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- next
|
||||||
|
- 'v*'
|
||||||
|
paths-ignore:
|
||||||
|
- 'docs/**'
|
||||||
|
- '*.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- 'docs/**'
|
||||||
|
- '*.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-regression-check-node10:
|
||||||
|
name: Test compatibility with Node.js 10
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '10'
|
||||||
|
cache: 'npm'
|
||||||
|
cache-dependency-path: package.json
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
npm install --ignore-scripts
|
||||||
|
|
||||||
|
- name: Copy project as fast-uri to node_node_modules
|
||||||
|
run: |
|
||||||
|
rm -rf ./node_modules/fast-uri/lib &&
|
||||||
|
rm -rf ./node_modules/fast-uri/index.js &&
|
||||||
|
cp -r ./lib ./node_modules/fast-uri/lib &&
|
||||||
|
cp ./index.js ./node_modules/fast-uri/index.js
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
npm run test:unit
|
||||||
|
env:
|
||||||
|
NODE_OPTIONS: no-network-family-autoselection
|
||||||
|
|
||||||
|
test-browser:
|
||||||
|
name: Test browser compatibility
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
|
||||||
|
browser: ['chromium', 'firefox', 'webkit']
|
||||||
|
exclude:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
browser: webkit
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '24'
|
||||||
|
cache: 'npm'
|
||||||
|
cache-dependency-path: package.json
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
npm install --ignore-scripts
|
||||||
|
|
||||||
|
- if: ${{ matrix.os == 'windows-latest' }}
|
||||||
|
run: npx playwright install winldd
|
||||||
|
|
||||||
|
- name: Run browser tests
|
||||||
|
run: |
|
||||||
|
npm run test:browser:${{ matrix.browser }}
|
||||||
|
|
||||||
|
test:
|
||||||
|
needs:
|
||||||
|
- test-regression-check-node10
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
uses: fastify/workflows/.github/workflows/plugins-ci.yml@v5
|
||||||
|
with:
|
||||||
|
license-check: true
|
||||||
|
lint: true
|
||||||
|
node-versions: '["16", "18", "20", "22", "24"]'
|
||||||
24
node_modules/fast-uri/.github/workflows/package-manager-ci.yml
generated
vendored
Normal file
24
node_modules/fast-uri/.github/workflows/package-manager-ci.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
name: package-manager-ci
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- next
|
||||||
|
- 'v*'
|
||||||
|
paths-ignore:
|
||||||
|
- 'docs/**'
|
||||||
|
- '*.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- 'docs/**'
|
||||||
|
- '*.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
uses: fastify/workflows/.github/workflows/plugins-ci-package-manager.yml@v5
|
||||||
2
node_modules/json-schema-traverse/.github/FUNDING.yml
generated
vendored
Normal file
2
node_modules/json-schema-traverse/.github/FUNDING.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
github: epoberezkin
|
||||||
|
tidelift: "npm/json-schema-traverse"
|
||||||
28
node_modules/json-schema-traverse/.github/workflows/build.yml
generated
vendored
Normal file
28
node_modules/json-schema-traverse/.github/workflows/build.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master]
|
||||||
|
pull_request:
|
||||||
|
branches: ["*"]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [10.x, 12.x, 14.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- run: npm install
|
||||||
|
- run: npm test
|
||||||
|
- name: Coveralls
|
||||||
|
uses: coverallsapp/github-action@master
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
27
node_modules/json-schema-traverse/.github/workflows/publish.yml
generated
vendored
Normal file
27
node_modules/json-schema-traverse/.github/workflows/publish.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
name: publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish-npm:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
- run: npm install
|
||||||
|
- run: npm test
|
||||||
|
- name: Publish beta version to npm
|
||||||
|
if: "github.event.release.prerelease"
|
||||||
|
run: npm publish --tag beta
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
- name: Publish to npm
|
||||||
|
if: "!github.event.release.prerelease"
|
||||||
|
run: npm publish
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
12
node_modules/minimist/.github/FUNDING.yml
generated
vendored
Normal file
12
node_modules/minimist/.github/FUNDING.yml
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: [ljharb]
|
||||||
|
patreon: # Replace with a single Patreon username
|
||||||
|
open_collective: # Replace with a single Open Collective username
|
||||||
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
|
tidelift: npm/minimist
|
||||||
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
liberapay: # Replace with a single Liberapay username
|
||||||
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
|
otechie: # Replace with a single Otechie username
|
||||||
|
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||||
Loading…
Reference in New Issue
Block a user