@codecademy/workshop-client
v0.22.0
Published
Client for propeller backend
Downloads
2,486
Readme
Workshop JavaScript Client Library
The Workshop Client library is installed in Codecademy web clients and provides access from those clients to code execution services (Propeller, previously known as Workshop). Propeller manages a persistent websocket connection allowing clients to sync user code, execute that code in a variety of server environments, run terminal commands, and perform other code/workspace management and execution actions.
Testing changes locally
- Check out both this repo and the Codecademy repo
- Run
yarn build
in the workshop-client directory - Run
yarn link
in the workshop-client directory - In the monorepo, run
yarn link @codecademy/workshop-client
- Run (or re-run)
yarn nx start learning-environment
in the monorepo - Verify that you can connect to the LE in your local branch. If you continue to make changes in the client, you'll need to re-
yarn build
and restart the LE application.
Starting a session
To start a session, create a client instance and connect to workshop.
import WorkshopSession from '@codecademy/workshop-client';
let session = new WorkshopSession({
protocol: 'https',
apiBase: 'effective-lamp.cc-propeller.cloud',
workspaceSlug: 'my-workspace',
jwt: 'my.user.jwt',
});
session
.initialize()
.then(() => {
// Ready to use
})
.catch(error => {
// Something went wrong
});
Publishing the package
This package is automatically published when the version number changes
- merge your PR into main
- create a new PR that updates the version of the package in package.json. Base the version bump on all of the changes that will be added in this version.
- merge the version PR into main
- check the actions to see when the package is published