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.
- 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.
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
});
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