Skip to content

Commit 70a96b8

Browse files
fix: testing husky
1 parent cf8565e commit 70a96b8

File tree

12 files changed

+2821
-93
lines changed

12 files changed

+2821
-93
lines changed

.github/workflows/release.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
9+
permissions:
10+
contents: write
11+
issues: write
12+
pull-requests: write
13+
id-token: write
14+
15+
jobs:
16+
release:
17+
name: Release
18+
runs-on: ubuntu-latest
19+
if: "!contains(github.event.head_commit.message, 'skip ci')"
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
persist-credentials: false
27+
28+
- name: Setup Node.js
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: '20'
32+
33+
- name: Setup pnpm
34+
uses: pnpm/action-setup@v4
35+
with:
36+
version: latest
37+
38+
- name: Install dependencies
39+
run: pnpm install --frozen-lockfile
40+
41+
- name: Build extension
42+
run: pnpm run package
43+
44+
- name: Run tests
45+
run: pnpm run test
46+
47+
- name: Release
48+
env:
49+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
51+
OVSX_PAT: ${{ secrets.OVSX_PAT }}
52+
run: pnpm run release

.husky/commit-msg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx --no -- commitlint --edit "$1"

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pnpm run check-types && pnpm run lint

.releaserc.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"branches": ["main", "master"],
3+
"plugins": [
4+
"@semantic-release/commit-analyzer",
5+
"@semantic-release/release-notes-generator",
6+
[
7+
"@semantic-release/changelog",
8+
{
9+
"changelogFile": "CHANGELOG.md"
10+
}
11+
],
12+
[
13+
"semantic-release-vsce",
14+
{
15+
"packageVsix": true,
16+
"publishVsix": true
17+
}
18+
],
19+
[
20+
"@semantic-release/git",
21+
{
22+
"assets": ["CHANGELOG.md", "package.json"],
23+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
24+
}
25+
]
26+
]
27+
}

CHANGELOG.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1-
# Change Log
1+
# Changelog
22

3-
All notable changes to the "justlang-lsp" extension will be documented in this file.
3+
All notable changes to this project will be documented in this file.
44

5-
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
67

78
## [Unreleased]
89

9-
- Initial release
10+
### Changed
11+
- Updated repository references to `elasticdotventures/just-vscode-extension`
12+
- Set up automated release workflow with semantic-release
13+
- Added conventional commit tooling (commitizen, commitlint, husky)
14+
15+
## [0.0.33] - Previous Release
16+
17+
See git history for previous changes.

CLAUDE.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Once installed, you can either add the `just-lsp` executable to your system's `P
3737

3838
## Development
3939
### Prerequisites
40-
- Node.js
40+
- Node.js (20+)
4141
- TypeScript
4242
- PNPM
4343
- Rust and Cargo
@@ -47,10 +47,39 @@ Once installed, you can either add the `just-lsp` executable to your system's `P
4747
2. Run `pnpm install` to install dependencies.
4848
3. Use `pnpm run compile` to build the extension.
4949

50+
### Development Workflow
51+
- **Build**: `pnpm run package` - Build for production
52+
- **Watch**: `pnpm run watch` - Development with hot reload
53+
- **Lint**: `pnpm run lint` - Code linting
54+
- **Type Check**: `pnpm run check-types` - TypeScript validation
55+
5056
### Testing
51-
Run `npm test` to execute the test suite.
52-
open a justfile
53-
Developer: Inspect Editor Tokens and Scopes
57+
- Run `pnpm run test-local` for local testing
58+
- Full test suite requires VSCode Test Runner
59+
- Open a justfile and use "Developer: Inspect Editor Tokens and Scopes"
60+
61+
## Release Process
62+
63+
This project uses automated semantic versioning and releases through conventional commits.
64+
65+
**📋 For detailed release instructions, see [RELEASE.md](./RELEASE.md)**
66+
67+
### Quick Start
68+
1. **Making Commits**: `pnpm run commit` - Interactive conventional commit creation
69+
2. **Development**: Work on feature branches with conventional commits
70+
3. **Release**: Merge to `main` branch triggers automated release
71+
72+
### Commit Types
73+
- `feat`: New features → minor version bump
74+
- `fix`: Bug fixes → patch version bump
75+
- `BREAKING CHANGE`: → major version bump
76+
77+
### Automated Release Workflow
78+
Merging to `main` automatically:
79+
- Analyzes commits and determines version bump
80+
- Generates CHANGELOG.md
81+
- Creates GitHub release
82+
- Publishes to VSCode Marketplace & Open VSX Registry
5483

5584

5685
## References

commitlint.config.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
module.exports = {
2+
extends: ['@commitlint/config-conventional'],
3+
rules: {
4+
'type-enum': [
5+
2,
6+
'always',
7+
[
8+
'feat',
9+
'fix',
10+
'docs',
11+
'style',
12+
'refactor',
13+
'perf',
14+
'test',
15+
'build',
16+
'ci',
17+
'chore',
18+
'revert'
19+
]
20+
],
21+
'subject-case': [2, 'never', ['start-case', 'pascal-case', 'upper-case']],
22+
'subject-max-length': [2, 'always', 72],
23+
'body-max-line-length': [2, 'always', 100]
24+
}
25+
};

feature-lsp-exit-shutdown.md

Whitespace-only changes.

foo

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[2025-07-23 14:15:37 UTC] SERVER: Starting just-lsp server
2+
[2025-07-23 14:15:37 UTC] SERVER: Creating new server instance for client
3+
[2025-07-23 14:15:37 UTC] SERVER: LSP service created, starting to serve requests
4+
[2025-07-23 14:15:37 UTC] RAW_INPUT: Content-Length: 76
5+
6+
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"capabilities":{}}}
7+
[2025-07-23 14:15:37 UTC] RECEIVED: initialize request with params: {"processId":null,"rootUri":null,"capabilities":{}}
8+
[2025-07-23 14:15:37 UTC] SENDING: initialize response: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{"includeText":false}},"hoverProvider":true,"completionProvider":{},"definitionProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"codeActionProvider":true,"documentFormattingProvider":true,"renameProvider":true,"foldingRangeProvider":true,"executeCommandProvider":{"commands":["just-lsp.run_recipe"]}},"serverInfo":{"name":"just-lsp-ng","version":"0.3.1"}}
9+
[2025-07-23 14:15:37 UTC] SERVER: Just-lsp server stopped

0 commit comments

Comments
 (0)