Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
bfa6598
Feature/setup extension (#1)
norilanda May 18, 2025
3831cd0
Merge branch 'fuhrmanator:master' into dev
norilanda Jun 16, 2025
060a400
Set up 2 extension projects: client and LSP server (#2)
norilanda Jun 16, 2025
de7a52a
Change tsconfig: Add the 'composite' property
norilanda Jun 16, 2025
5c663a4
Feature/command to generate model from zero (#3)
norilanda Jun 23, 2025
d934c81
Rename the outputFilePath to the FamixModelOutputFilePath
norilanda Jun 23, 2025
896976d
Add tests, Setup the CI pipeline (#4)
norilanda Jun 27, 2025
e1badca
Setup eslint indentation rules (#5)
norilanda Jul 4, 2025
50c8133
Change extension author, Add contributors
norilanda Jul 4, 2025
76aad70
Refactor global state (#6)
norilanda Jul 4, 2025
b2bab54
Feature/incremental update (#64)
norilanda Sep 2, 2025
92723e6
Add tests for the import clause
norilanda Sep 2, 2025
9aab421
Rename methods, add more comments and TODOs, add a test
norilanda Sep 3, 2025
e5330a8
Add useful links and resources to the README file
norilanda Sep 3, 2025
ef5af06
Merge pull request #66 from norilanda/dev
norilanda Nov 1, 2025
178fa3f
Update docs for branch master
github-actions[bot] Nov 1, 2025
0292d43
Fix extension packaging: copy ts2famix dependencies to server/node_mo…
May 12, 2026
7d26f67
Add prepare script to auto-compile ts2famix on install
Leoo-code May 13, 2026
7221b76
Fix server dependencies: install ts2famix from GitHub instead of loca…
Leoo-code May 13, 2026
c8f220e
Clean installation: npm install now handles all dependencies automati…
Leoo-code May 13, 2026
0ae6027
Add install script for easy extension setup
Leoo-code May 13, 2026
bc4b53f
Add .vscodeignore and update publisher for marketplace publication
Leoo-code May 14, 2026
2a02425
fix: bundle client and server with esbuild to fix missing node_module…
Leoo-code May 14, 2026
35519c7
Add incremental update tests: validate update vs full rebuild
Leoo-code May 20, 2026
6fdf005
feat: add real-time Famix Model tree view panel
Leoo-code May 20, 2026
54ea04a
feat: add tree view panel and update README
Leoo-code May 20, 2026
c38e953
feat: auto path for model.json, tree view panel, updated README
Leoo-code May 20, 2026
a6efaa4
feat: add GitHub Actions workflow for automatic marketplace publishing
Leoo-code May 20, 2026
3f6154f
fix: remove Not implemented throws, better errors, auto path, relativ…
Leoo-code May 22, 2026
52ecef5
fix: update ts2famix bundle with Not implemented fix for Emojiopoly
Leoo-code May 25, 2026
614553f
fix: refresh Famix Model panel with auto path when no config set
Leoo-code May 25, 2026
7dec577
chore: bump version to 1.0.0
Leoo-code May 25, 2026
817a3b8
fix: trigger workflow on git tags instead of releases
Leoo-code May 25, 2026
d0e1e6b
chore: bump version to 1.0.1
Leoo-code May 25, 2026
55289ba
fix: reduce extension size by bundling all deps with esbuild
Leoo-code May 25, 2026
7079b43
chore: patch release
Leoo-code May 26, 2026
a642212
feat: add automated tests in CI pipeline
Leoo-code May 26, 2026
fab18e7
feat: add class diagram webview with Mermaid
Leoo-code May 26, 2026
ec03cfa
chore: minor release
Leoo-code May 26, 2026
9ec70eb
chore: patch release
Leoo-code May 27, 2026
c42c8f8
fix: force reinstall ts2famix in CI to avoid cache issues
Leoo-code May 27, 2026
a1bbef2
chore: patch release
Leoo-code May 27, 2026
01e9811
chore: patch release
Leoo-code May 27, 2026
7349bb6
chore: patch release
Leoo-code May 27, 2026
045850f
fix: fix jest config ignoreDeprecations and smoke test timeout
Leoo-code May 28, 2026
e1a48ca
feat: add model generation smoke test
Leoo-code May 28, 2026
c011d1c
fix: fix jest config and tsconfig for cross-platform CI
Leoo-code May 28, 2026
9f2556b
chore: patch release
Leoo-code May 28, 2026
c425c2c
chore: patch release
Leoo-code May 28, 2026
7d4feda
npm audit fix
Leoo-code May 28, 2026
39aa409
fix: auto path for model.json on Windows, include server/node_modules
Leoo-code Jun 1, 2026
e336caa
chore: patch release
Leoo-code Jun 1, 2026
1860c39
feat: smoke tests now test the .vsix directly
Leoo-code Jun 2, 2026
335bdff
feat: add vscode-test config and model generation smoke test
Leoo-code Jun 3, 2026
2cd3698
feat: add smoke test for project with external imports
Leoo-code Jun 3, 2026
2891ee7
fix: package vsix before tests and use test:client in CI
Leoo-code Jun 3, 2026
0e14f2d
fix: use relative path for mocha in test runner
Leoo-code Jun 3, 2026
f000cb7
fix: add user-data-dir to avoid socket path too long on macOS CI
Leoo-code Jun 3, 2026
20b44b0
fix: revert external typescript for Windows compatibility
Leoo-code Jun 3, 2026
c57f05f
fix: split prepublish script for Windows compatibility
Leoo-code Jun 3, 2026
5649908
feat: add smoke test for Emojiopoly-like project
Leoo-code Jun 3, 2026
ff38b54
chore: patch release
Leoo-code Jun 3, 2026
133a199
fix: auto package vsix before running tests
Leoo-code Jun 3, 2026
ee1c2d8
vsix test harness and test runner for testing the packaged extension …
fuhrmanator Jun 4, 2026
6781573
remove redundant launch arguments for user data and extensions direct…
fuhrmanator Jun 4, 2026
c557882
Truly isolated VSIX test, typescript is not externalized, and smoke t…
fuhrmanator Jun 4, 2026
e9e9b1b
Default import syntax in smoke test
fuhrmanator Jun 4, 2026
d306315
improved error handling and messaging in command execution, updated p…
fuhrmanator Jun 4, 2026
89e332a
Make sure to test the VSIX that corresponds to the current package.js…
fuhrmanator Jun 4, 2026
3d936b6
ChatGPT re-installed ts2famix to update the version used in the proje…
fuhrmanator Jun 4, 2026
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
54 changes: 40 additions & 14 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,51 @@
name: Publish Package (npmjs)
name: Publish VSCode Extension

on:
release:
types: [published]
push:
tags:
- 'v*'
branches:
- dev

jobs:
build:
test:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v4
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npm run build
node-version: 22
- name: Install dependencies
run: |
npm install
cd vscode-extension
npm install
- name: Run ts2famix tests
run: npm test
- name: Run server tests
run: cd vscode-extension/server && npm test

# Publish to npm
- run: npm publish --access=public
publish:
needs: test
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install and build
run: |
npm install
cd vscode-extension
npm install
cd server
npm cache clean --force
rm -rf node_modules/ts2famix
npm install
- name: Publish to marketplace
run: |
cd vscode-extension
npx @vscode/vsce publish --allow-missing-repository --baseContentUrl https://github.com/Leoo-code/FamixTypeScriptImporter/blob/dev/vscode-extension
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
VSCE_PAT: ${{ secrets.VSCE_PAT }}
56 changes: 56 additions & 0 deletions .github/workflows/vscode-extension-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: VS Code Extension CI

on:
push:
branches: [ master, dev, feature/add-tests ]
pull_request:
branches: [ master, dev ]
workflow_dispatch:

jobs:
test-vscode-extension:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
node-version: [20.x]

name: Test VS Code Extension 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 }}

- name: Install dependencies for the ts2famix project
run: npm ci

- name: Build the ts2famix project
run: npm run build

- name: Install dependencies for the VS Code extension
working-directory: ./vscode-extension
run: npm install

- name: Package VS Code extension
working-directory: ./vscode-extension
run: npx @vscode/vsce package --allow-missing-repository --baseContentUrl https://github.com/Leoo-code/FamixTypeScriptImporter/blob/dev/vscode-extension

- name: Run VS Code extension tests (Linux)
uses: coactions/setup-xvfb@v1
if: runner.os == 'Linux'
with:
run: npm run test:client
working-directory: ./vscode-extension

- name: Run VS Code extension tests (Windows/macOS)
if: runner.os != 'Linux'
working-directory: ./vscode-extension
run: npm run test:client
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,5 @@ doc-metamodel/*
JSONModels/*
PUMLModels/*
.vscode/settings.json
*.vsix
.DS_Store
31 changes: 31 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug ts2famix-cli",
"program": "${workspaceFolder}/src/ts2famix-cli.ts",
"runtimeArgs": [
"-r",
"ts-node/register"
],
// NOTE: change this to your tsconfig.json path and output file path
"args": [
"--input",
"<your-path-here/tsconfig.json>",
"--output",
"${workspaceFolder}/<your-path-here/file-name.json>"
],
"cwd": "${workspaceFolder}",
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"console": "integratedTerminal",
"skipFiles": [
"<node_internals>/**"
]
},
]
}
Loading
Loading