@codecademy/workshop-client
TypeScript icon, indicating that this package has built-in type declarations

0.20.1-canary.6 • Public • Published

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

  1. Check out both this repo and the Codecademy repo
  2. Run yarn build in the workshop-client directory
  3. Run yarn link in the workshop-client directory
  4. In the monorepo, run yarn link @codecademy/workshop-client
  5. Run (or re-run) yarn nx start learning-environment in the monorepo
  6. 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

Readme

Keywords

none

Package Sidebar

Install

npm i @codecademy/workshop-client

Weekly Downloads

1,060

Version

0.20.1-canary.6

License

ISC

Unpacked Size

86.9 kB

Total Files

75

Last publish

Collaborators

  • codecademy