Skip to content

Commit 249d560

Browse files
committed
Reset public history around the migrated repository home
The project moved under SivanCola/JumpJump, and the current 0.1.2 workspace is intended to become the baseline public history. This re-roots main with the current source tree, updated repository/support links, idempotent release publishing, and local OMX runtime state ignored. Constraint: User explicitly authorized rewriting remote main history with the current version as the only root commit Constraint: Local .omx runtime state must stay ignored and unpushed Rejected: Append a normal migration commit | would leave previous main history in place Rejected: Re-publish 0.1.1 | plugin markets already contain SivanLiu.jumpjump v0.1.1 Confidence: high Scope-risk: broad Directive: Do not reintroduce SivanZeroX repository/support URLs without confirming ownership Tested: npm run lint; npm test; npm run package:vsix under Node 24.14.0 Not-tested: Direct local Marketplace publish, local VS Code publisher token lacks authorization
0 parents  commit 249d560

22 files changed

Lines changed: 9737 additions & 0 deletions

.github/workflows/ci.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch: {}
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: 22
25+
cache: npm
26+
27+
- name: Install dependencies
28+
run: npm ci
29+
30+
- name: Build
31+
run: npm run build
32+
33+
- name: Test
34+
run: npm test
35+
36+
- name: Package VSIX
37+
run: npm run package:vsix
38+
39+
- name: Upload VSIX artifact
40+
uses: actions/upload-artifact@v4
41+
with:
42+
name: JumpJump-vsix
43+
path: dist/jumpjump.vsix

.github/workflows/release.yml

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
name: Release Extension
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
workflow_dispatch:
8+
inputs:
9+
release_tag:
10+
description: "发布标签,例如 v0.1.0"
11+
required: true
12+
release_name:
13+
description: "Release 标题,默认使用标签名"
14+
required: false
15+
prerelease:
16+
description: "是否标记为预发布"
17+
required: false
18+
type: boolean
19+
default: false
20+
21+
permissions:
22+
contents: write
23+
24+
jobs:
25+
build-and-release:
26+
runs-on: ubuntu-latest
27+
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
33+
34+
- name: Validate dispatch tag exists
35+
if: github.event_name == 'workflow_dispatch'
36+
run: |
37+
if ! git rev-parse "${{ inputs.release_tag }}" >/dev/null 2>&1; then
38+
echo "Tag ${{ inputs.release_tag }} does not exist."
39+
exit 1
40+
fi
41+
42+
- name: Setup Node.js
43+
uses: actions/setup-node@v4
44+
with:
45+
node-version: 22
46+
cache: npm
47+
48+
- name: Install dependencies
49+
run: npm ci
50+
51+
- name: Build
52+
run: npm run build
53+
54+
- name: Test
55+
run: npm test
56+
57+
- name: Package VSIX
58+
run: npm run package:vsix
59+
60+
- name: Resolve release metadata
61+
id: meta
62+
shell: bash
63+
run: |
64+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
65+
TAG="${{ inputs.release_tag }}"
66+
NAME="${{ inputs.release_name }}"
67+
PRERELEASE="${{ inputs.prerelease }}"
68+
else
69+
TAG="${GITHUB_REF_NAME}"
70+
NAME=""
71+
PRERELEASE="false"
72+
fi
73+
74+
if [ -z "$NAME" ]; then
75+
NAME="$TAG"
76+
fi
77+
78+
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
79+
echo "name=$NAME" >> "$GITHUB_OUTPUT"
80+
echo "prerelease=$PRERELEASE" >> "$GITHUB_OUTPUT"
81+
82+
- name: Publish to VS Code Marketplace
83+
env:
84+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
85+
shell: bash
86+
run: |
87+
set +e
88+
OUTPUT="$(npx @vscode/vsce publish --packagePath dist/jumpjump.vsix -p "$VSCE_PAT" 2>&1)"
89+
STATUS="$?"
90+
set -e
91+
echo "$OUTPUT"
92+
if [ "$STATUS" -ne 0 ]; then
93+
if echo "$OUTPUT" | grep -Eqi "already exists|duplicate"; then
94+
echo "VS Code Marketplace version already exists; skipping publish."
95+
else
96+
exit "$STATUS"
97+
fi
98+
fi
99+
100+
- name: Publish to Open VSX
101+
env:
102+
OVSX_PAT: ${{ secrets.OVSX_PAT }}
103+
shell: bash
104+
run: |
105+
set +e
106+
OUTPUT="$(npx ovsx publish dist/jumpjump.vsix -p "$OVSX_PAT" 2>&1)"
107+
STATUS="$?"
108+
set -e
109+
echo "$OUTPUT"
110+
if [ "$STATUS" -ne 0 ]; then
111+
if echo "$OUTPUT" | grep -Eqi "already exists|duplicate"; then
112+
echo "Open VSX version already exists; skipping publish."
113+
else
114+
exit "$STATUS"
115+
fi
116+
fi
117+
118+
- name: Create GitHub Release
119+
uses: softprops/action-gh-release@v2
120+
with:
121+
tag_name: ${{ steps.meta.outputs.tag }}
122+
name: ${{ steps.meta.outputs.name }}
123+
prerelease: ${{ steps.meta.outputs.prerelease }}
124+
files: dist/jumpjump.vsix

.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build outputs
5+
out/
6+
7+
# Packaged extension artifacts
8+
*.vsix
9+
10+
# VS Code extension test runtime
11+
.vscode-test/
12+
13+
# OS files
14+
.DS_Store
15+
.omx/

.vscode/launch.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "运行 JumpJump 扩展",
6+
"type": "extensionHost",
7+
"request": "launch",
8+
"args": [
9+
"--extensionDevelopmentPath=${workspaceFolder}"
10+
],
11+
"outFiles": [
12+
"${workspaceFolder}/out/**/*.js"
13+
],
14+
"preLaunchTask": "npm: build"
15+
},
16+
{
17+
"name": "监听并运行 JumpJump 扩展",
18+
"type": "extensionHost",
19+
"request": "launch",
20+
"args": [
21+
"--extensionDevelopmentPath=${workspaceFolder}"
22+
],
23+
"outFiles": [
24+
"${workspaceFolder}/out/**/*.js"
25+
],
26+
"preLaunchTask": "npm: watch"
27+
}
28+
]
29+
}

.vscode/tasks.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"type": "npm",
6+
"script": "build",
7+
"group": {
8+
"kind": "build",
9+
"isDefault": true
10+
},
11+
"problemMatcher": "$tsc",
12+
"label": "npm: build"
13+
},
14+
{
15+
"type": "npm",
16+
"script": "watch",
17+
"isBackground": true,
18+
"problemMatcher": "$tsc-watch",
19+
"label": "npm: watch"
20+
},
21+
{
22+
"type": "npm",
23+
"script": "package:vsix",
24+
"group": "build",
25+
"label": "npm: package:vsix"
26+
}
27+
]
28+
}

CHANGELOG.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Changelog
2+
3+
## 0.1.2
4+
5+
发布迁移版本。
6+
7+
### Changed
8+
9+
- 仓库地址迁移到 `SivanCola/JumpJump`
10+
- Bug 反馈地址迁移到 `SivanCola/issues`
11+
- Release 工作流在市场同版本已存在时跳过重复发布并继续后续步骤
12+
- 忽略本地 `.omx/` 运行时目录,避免推送本地 agent 状态
13+
14+
## 0.1.1
15+
16+
发布修正版本。
17+
18+
### Changed
19+
20+
- VSIX 打包输出统一改为 `dist/jumpjump.vsix`
21+
- CI、Release、市场发布统一使用同一份 VSIX 产物
22+
- Marketplace 图标压缩到约 300KB,减少包体积
23+
24+
### Fixed
25+
26+
- 修复 `files``.vscodeignore` 同时存在导致的 `vsce package` 失败问题
27+
- 修复 VSIX 误打入测试产物与旧残留构建文件的问题
28+
- 修复手动触发 release 时过早创建 tag 的风险
29+
30+
## 0.1.0
31+
32+
首个公开发布版本。
33+
34+
### Added
35+
36+
- 支持收藏 3 类书签:
37+
- 文件夹
38+
- 文件
39+
- 代码位置
40+
- 提供 JumpJump 侧边栏工作台,用于统一查看、筛选和跳转书签
41+
- 支持手动创建分组,新增书签默认进入 `未分组`
42+
- 支持把书签移动到指定分组
43+
- 支持每个分组独立排序:
44+
- 手动
45+
- 名称
46+
- 添加时间
47+
- 修改时间
48+
- 类型
49+
- 支持组内置顶
50+
- 支持手动排序分组中的书签上移 / 下移
51+
- 支持自定义分组拖拽调整顺序
52+
- 支持失效路径检测与一键清理
53+
- 支持中英文界面切换
54+
- 支持通过编辑器右键、标签页右键、资源管理器右键快速添加书签
55+
56+
### Changed
57+
58+
- 交互统一为侧边栏内完成:
59+
- 新建分组
60+
- 重命名分组
61+
- 移动到分组
62+
- 书签重命名
63+
- 取消全局“置顶捷径”分区,改为分组内置顶
64+
- 书签保存结构升级为仓库内 `.jumpjump/bookmarks.json` 的分组化 schema
65+
66+
### Fixed
67+
68+
- 修复分组排序点击后不生效的问题
69+
- 修复“移动到分组”菜单没有弹出目标分组选择的问题
70+
- 修复 `未分组` 与其他分组在排序状态上的不一致
71+
- 修复窄宽度下多个按钮、badge、行号文本对齐不稳定的问题
72+
- 修复 section 收起 / 展开状态下布局抖动的问题

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Xinwei
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)