VSCode tasks.json ease of use additions #6156

Closed
opened 2026-02-07 03:11:25 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @ItsAllAboutTheCode on GitHub (Jul 28, 2024).

For development purposes, I have a suggestion of updating the VSCode tasks.json file to have a task that can generate an updated openapi.json that can be used by developers with to generate an updated typescript API using the jellyfin-sdk-typescript repo.

Currently there is not many documented steps for how a contributor can make an openapi change in the jellyfin server repo and then use that change in the jellyfin-web repo without first waiting an update to the jellyfin SDK package and then an update to the jellyfin-web package.json to use that updated package.

Looking through the three repos of jellyfin, jellyfin-sdk-typescript and jellyfin-web I found that the process involves

  1. Running the Jellyfin.Server.Integration.Tests test from the jellyfin server repo
  2. Copying the openapi.json that the test outputs in the <jellyfin-server-repo-folder>//tests/Jellyfin.Server.Integration.Tests/bin/Release/net8.0/ to the <jellyfin-sdk-typescript-repo-folder>
  3. In the jellyfin-sdk-typescript repo to update the generated client code, the build:generated-client and build:sdk task need to run using npm or yarn.
  4. Creating a package .tar.gz for the jellyfin sdk using the npm pack or yarn pack command.
  5. From the jellyfin-web repo root the package.json needs to be updated to use the locally built package using the npm install --save <path-to-local-jellyfin-sdk-pkg> or yarn add file:<path-to-local-jellyfin-sdk-pkg>.

At this point the local jellyfin-web client project can now run against the local jellyfin server project openapi modifications.
To make it easier for VS Code users to go through this process, I propose adding an openapi-generation command that can perform steps 1 and 2 above to generate an openapi.json file using the current code and to copy it to a developer's local jellyfin-sdk-typescript repo.

Below is a video showing how the task would run in VS Code

https://github.com/user-attachments/assets/d801f6b2-fd1a-4b1c-8b46-8602278cd0b7

Originally created by @ItsAllAboutTheCode on GitHub (Jul 28, 2024). For development purposes, I have a suggestion of updating the VSCode [tasks.json](https://github.com/jellyfin/jellyfin/blob/master/.vscode/tasks.json) file to have a task that can generate an updated `openapi.json` that can be used by developers with to generate an updated typescript API using the [jellyfin-sdk-typescript](https://github.com/jellyfin/jellyfin-sdk-typescript) repo. Currently there is not many documented steps for how a contributor can make an openapi change in the `jellyfin` server repo and then use that change in the `jellyfin-web` repo without first waiting an update to the jellyfin SDK package and then an update to the `jellyfin-web` package.json to use that updated package. Looking through the three repos of `jellyfin`, `jellyfin-sdk-typescript` and `jellyfin-web` I found that the process involves 1. Running the `Jellyfin.Server.Integration.Tests` test from the `jellyfin` server repo 2. Copying the `openapi.json` that the test outputs in the `<jellyfin-server-repo-folder>//tests/Jellyfin.Server.Integration.Tests/bin/Release/net8.0/` to the `<jellyfin-sdk-typescript-repo-folder>` 3. In the `jellyfin-sdk-typescript` repo to update the generated client code, the `build:generated-client` and `build:sdk` task need to run using npm or yarn. 4. Creating a package .tar.gz for the jellyfin sdk using the `npm pack` or `yarn pack` command. 5. From the `jellyfin-web` repo root the package.json needs to be updated to use the locally built package using the `npm install --save <path-to-local-jellyfin-sdk-pkg>` or `yarn add file:<path-to-local-jellyfin-sdk-pkg>`. At this point the local `jellyfin-web` client project can now run against the local `jellyfin` server project openapi modifications. To make it easier for VS Code users to go through this process, I propose adding an `openapi-generation` command that can perform steps 1 and 2 above to generate an `openapi.json` file using the current code and to copy it to a developer's local `jellyfin-sdk-typescript` repo. Below is a video showing how the task would run in VS Code https://github.com/user-attachments/assets/d801f6b2-fd1a-4b1c-8b46-8602278cd0b7
OVERLORD added the stale label 2026-02-07 03:11:25 +03:00
Author
Owner

@jellyfin-bot commented on GitHub (Nov 25, 2024):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Nov 25, 2024): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@ItsAllAboutTheCode commented on GitHub (Nov 25, 2024):

The fix for this issue is up for PR in #12348

@ItsAllAboutTheCode commented on GitHub (Nov 25, 2024): The fix for this issue is up for PR in #12348
Author
Owner

@jellyfin-bot commented on GitHub (Mar 26, 2025):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Mar 26, 2025): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@jellyfin-bot commented on GitHub (Jul 25, 2025):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Jul 25, 2025): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@jellyfin-bot commented on GitHub (Aug 16, 2025):

This issue was closed due to inactivity.

@jellyfin-bot commented on GitHub (Aug 16, 2025): This issue was closed due to inactivity.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#6156