Skip to content

Feat/conductor stepper#43

Merged
Shrey5132 merged 7 commits into
source-academy:mainfrom
Shrey5132:feat/conductor-stepper
Jun 26, 2026
Merged

Feat/conductor stepper#43
Shrey5132 merged 7 commits into
source-academy:mainfrom
Shrey5132:feat/conductor-stepper

Conversation

@Shrey5132

Copy link
Copy Markdown
Contributor

No description provided.

Shrey Jain and others added 7 commits June 26, 2026 21:54
- Handle 'error' event in spawnPromise to avoid unhandled rejection crashes
- Guard renderNode against null/undefined AST nodes
- Guard renderFunctionArguments and renderArguments against undefined nodes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n-tabs

- Add @sourceacademy/common-tabs (ITabService / Tab) — the standard contract for
  web plugins to register, show and hide side-content tabs.
- The web stepper now registers its tab through the injected ITabService
  (registerTab + showTab) instead of exposing a structural `tab`, and the bundle
  default-exports a `default(require) => PluginClass` factory; wrap.mjs wraps the
  CommonJS output so React/Blueprint resolve via the host's require-provider.
- Runner and host ship the per-language SyntaxProfile in the steps message, so
  the language-agnostic host renders each language's surface syntax with no
  per-language host code.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ring

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- import conductor types (IChannel/IConduit/IPlugin) as type-only so rollup
  does not try to resolve them as runtime values
- replace this-alias in StepperHostPlugin with captured method locals
- drop explicit any in readNodeProp and literal stringification
- remove stale react/display-name eslint-disable referencing an undefined rule

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The vitest config does not enable globals, so the stepper test suites must
import test/expect explicitly like the other plugin tests do. Without this the
suites fail to load with "ReferenceError: test is not defined".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@changeset-bot

changeset-bot Bot commented Jun 26, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: e7eca14

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

💥 An error occurred when fetching the changed packages and changesets in this PR
Some errors occurred when validating the changesets config:
The package or glob expression "@sourceacademy/web-stepper" is specified in the `ignore` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch

@Shrey5132 Shrey5132 merged commit 9385a98 into source-academy:main Jun 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant