Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5587246
Add test files and fixtures that were previously ignored
Wilson421 Jul 11, 2025
9c8b9e2
Add tests and fixtures
Wilson-MedAR Jul 11, 2025
07cd95f
Updated test fixtures
Wilson-MedAR Jul 11, 2025
3faf473
v0.5.0 Alpha Test - Gold Standard Documentation & Real-World Testing
Wilson421 Jul 11, 2025
797754d
feat: v0.5.0 major fixes and logging improvements
Wilson421 Jul 12, 2025
24d86cd
feat: comprehensive logging audit and repository cleanup
Wilson421 Jul 12, 2025
2731b80
πŸ”§ CRITICAL: Fix test suite timeouts and implement data safety measures
Wilson421 Jul 12, 2025
bf213f3
πŸ”§ CI: Fix GitHub Actions trigger for release branches
Wilson421 Jul 12, 2025
d65e0bd
οΏ½ Enterprise DevOps Setup + CI Node 22/24 Matrix
Wilson421 Jul 12, 2025
079c94a
οΏ½ ULTIMATE Release Pipeline + Smart Version Bumping
Wilson421 Jul 13, 2025
a52e23a
οΏ½ Fix release pipeline: Skip heavy tests, focus on speed
Wilson421 Jul 13, 2025
44d3f0f
οΏ½ CRITICAL: Fix GitHub Actions permissions for release creation
Wilson421 Jul 13, 2025
8e8550a
οΏ½ Update DevOps cheat sheet with enterprise release automation
Wilson421 Jul 13, 2025
09a8d18
οΏ½ v0.5.0-rc.2: Excel Symbols System + Auto-Save Performance Fix
Wilson421 Jul 15, 2025
5a4036a
Fix race condition in watch command registration test
Wilson421 Jul 15, 2025
b65e9cf
οΏ½ Enhance RC release discoverability
Wilson421 Jul 15, 2025
2ee9786
chore: finalize v0.5.0 with professional logging, configurable auto-w…
Wilson421 Jul 15, 2025
0526318
fix: correct watchAlwaysMaxFiles setting configuration
Wilson421 Jul 15, 2025
b7eede1
test: trigger RC numbering validation
Wilson421 Jul 15, 2025
6674aee
οΏ½ feat: batch extract & batch sync (multi-file select, right-click ex…
Wilson421 Jul 16, 2025
444e9db
Finalize v0.5.0: docs, tests, and code cleanup for release
Wilson421 Jul 21, 2025
db71c1f
Finalize v0.5.0 CHANGELOG.md
Wilson421 Jul 21, 2025
5ff446b
Finalize v0.5.0 release summary
Wilson421 Jul 21, 2025
3045fec
Merge branch 'main' into release/v0.5.0
Wilson421 Jul 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
// ...
"name": "EPQE Extension Dev",
"image": "mcr.microsoft.com/devcontainers/typescript-node:22-bookworm",
"features": {
// βœ… Existing
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers/features/git:1": {},
// For VS Code testing
"ghcr.io/devcontainers/features/desktop-lite:1": {}
},
"postCreateCommand": "sudo npm install -g npm@latest && npm --version && npm install && npm run compile",
"customizations": {
"vscode": {
"extensions": [
// existing...
"powerquery.vscode-powerquery",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-vscode.vscode-typescript-next",
"ms-vscode.vscode-json",
"grapecity.gc-excelviewer",
// πŸ†• Testing and debugging tools
"hbenl.vscode-test-explorer",
"ms-vscode.test-adapter-converter",
"ms-vscode.extension-test-runner"
],
"settings": {
// keep your existing stuff
"terminal.integrated.defaultProfile.linux": "bash",
// πŸ†• More useful stuff
"editor.formatOnSave": true,
"files.autoSave": "onWindowChange",
"powerquery.sdk.autoDetect": true
}
}
},
"mounts": [
"source=vscode-extensions,target=/home/vscode/.vscode-server/extensions,type=volume"
],
"forwardPorts": [3000, 9229], // for debug/test in container if needed
"remoteUser": "node"
}
76 changes: 38 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
40 changes: 20 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
87 changes: 87 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: VS Code Extension CI/CD
on:
push:
branches: [main, release/**, wip/**, hotfix/**]
pull_request:
branches: [main, release/**, wip/**, hotfix/**]


jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [22, 24]

runs-on: ${{ matrix.os }}

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Run linting
run: npm run lint
continue-on-error: false

- name: Run type checking
run: npm run check-types
continue-on-error: false

- name: Run tests
uses: coactions/setup-xvfb@v1
with:
run: npm test
env:
CI: true
continue-on-error: false

- name: Build extension
run: npm run package
continue-on-error: false

- name: Package VSIX
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '24'
run: npm run package-vsix

- name: Upload VSIX artifact
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '24'
uses: actions/upload-artifact@v4
with:
name: excel-power-query-editor-vsix
path: "*.vsix"
retention-days: 30

test-summary:
runs-on: ubuntu-latest
needs: test
if: always()

steps:
- name: Test Results Summary
run: |
echo "## Test Results πŸ§ͺ" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ "${{ needs.test.result }}" = "success" ]; then
echo "βœ… **All tests passed!** Extension builds successfully on all platforms." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Test Coverage Areas:" >> $GITHUB_STEP_SUMMARY
echo "- βœ… Extension lifecycle and activation" >> $GITHUB_STEP_SUMMARY
echo "- βœ… Command registration and execution (10 tests)" >> $GITHUB_STEP_SUMMARY
echo "- βœ… Integration with real Excel files (11 tests)" >> $GITHUB_STEP_SUMMARY
echo "- βœ… Utility functions and configuration (11 tests)" >> $GITHUB_STEP_SUMMARY
echo "- βœ… File watching and auto-sync (11 tests)" >> $GITHUB_STEP_SUMMARY
echo "- βœ… Backup creation and management (19 tests)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Total: 63 comprehensive tests covering all v0.5.0 features!**" >> $GITHUB_STEP_SUMMARY
else
echo "❌ **Tests failed.** Please check the test results above." >> $GITHUB_STEP_SUMMARY
fi
Loading
Loading