Skip to content

chore: migrate package to @mat3ra scope - #206

Merged
timurbazhirov merged 1 commit into
devfrom
chore/migrate-to-mat3ra-scope
Jul 18, 2026
Merged

chore: migrate package to @mat3ra scope#206
timurbazhirov merged 1 commit into
devfrom
chore/migrate-to-mat3ra-scope

Conversation

@timurbazhirov

Copy link
Copy Markdown
Member

Renames the npm package @exabyte-io/wave.js@mat3ra/wave.js (name, repository/bugs/homepage URLs, README, lockfile) to match where the repo already lives (github.com/mat3ra/wave.js). Same pattern as the cove.js scope migration (mat3ra/cove#91).

Also fixes two pre-existing README bugs while touching these lines: the git-clone command was missing .js and pointed at the wrong org (Exabyte-io/wave instead of mat3ra/wave.js); the npm badge/install line said @exabyte-io.

On merge, CI publishes the first @mat3ra/wave.js release. Existing @exabyte-io/wave.js versions stay on npm for older branches; consumers (materials-designer, web-app, and any other repo pinning wave.js) migrate in follow-up PRs.

Verified locally: npm run transpile builds clean.

🤖 Generated with Claude Code

Rename @exabyte-io/wave.js -> @mat3ra/wave.js and point repository/bugs/
homepage URLs at the mat3ra org (matches where the repo already lives).
Also fixes pre-existing README bugs: the git-clone URL was missing '.js'
and pointed at the wrong org; the npm badge and install line said
@Exabyte-io.

Existing @exabyte-io/wave.js versions remain published for older branches.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@timurbazhirov
timurbazhirov merged commit 0ee31b6 into dev Jul 18, 2026
3 checks passed
timurbazhirov added a commit to mat3ra/move that referenced this pull request Jul 18, 2026
@exabyte-io/wave.js was renamed to @mat3ra/wave.js (mat3ra/wave.js#206);
switch the dependency to the new scope and bump to 2026.7.18-1.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
timurbazhirov added a commit to mat3ra/workflow-designer that referenced this pull request Jul 18, 2026
@exabyte-io/wave.js was renamed to @mat3ra/wave.js (mat3ra/wave.js#206);
switch the dependency to the new scope and bump to 2026.7.18-1.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
timurbazhirov added a commit to mat3ra/job-designer that referenced this pull request Jul 18, 2026
@exabyte-io/wave.js was renamed to @mat3ra/wave.js (mat3ra/wave.js#206);
switch the dependency and its standalone-demo import, bump to 2026.7.18-1.

Also add an explicit tsconfig paths entry for @mat3ra/wave.js -- same class
of bug as workflow-designer#5: the generic `@mat3ra/*` -> src/typings.d.ts
fallback now swallows wave.js's real deep imports since it moved into the
@mat3ra scope for the first time.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
timurbazhirov added a commit to mat3ra/materials-designer that referenced this pull request Jul 18, 2026
@exabyte-io/wave.js was renamed to @mat3ra/wave.js (mat3ra/wave.js#206);
switch the dependency and all import paths, bump to 2026.7.18-1.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
timurbazhirov pushed a commit that referenced this pull request Aug 12, 2026
…peers

Three changes on request, two of which correct earlier commits on this
branch.

@mat3ra scope, matching what dev already did in #205/#206:

- package renamed @mat3ra/wave.js; author updated
- @exabyte-io/cove.js -> @mat3ra/cove@2026.7.18-4 in peer and dev
  dependencies, and in prestart's npm-link-shared path
- all 8 source import sites, jest.config.js's transformIgnorePatterns, and
  the README badge, install command and cove-linking instructions

Every import path and export shape was verified against the new package
before migrating, since it is a ~17-month jump: DarkMaterialUITheme is
still a named export of dist/theme, ThemeProvider is still the default
export of dist/theme/provider, NestedDropdown/IconByName/Dialog are still
default exports with NestedDropdownAction and NestedDropdownProps named
alongside, and the downloader and alerts helpers are unchanged. tsc is
clean against it and the test suite is unchanged.

The migration also removes the one import that reached into a dependency's
untranspiled source: AlertProvider came from cove.js/src/theme/provider
because that version did not export it from dist/. @mat3ra/cove ships it
from dist/theme/provider next to the default ThemeProvider, so the two
collapse into a single dist/ import. That import was the only reason
wave.js forced a bundler exception on its consumers, and it is why
jest.config.js needed cove in transformIgnorePatterns at all.

dist/ is tracked again. Other packages consume it directly from the
repository, so it has to be in the tree; the pre-commit hook rebuilds and
stages it as before. `prepack` is kept so a published tarball always
carries a freshly-built dist/ regardless of how the publish action
installs. The build step added to the publish job is reverted as redundant.

While re-adding it: a clean build produces 97 files where 129 were tracked.
The 32-file difference is orphaned output - AtomColorManager, atomLabels,
baseLabels, elementLabels, labelUtils, labelsHolder, angleMeasurement,
baseMeasurement, distanceMeasurement, threeJsUtils, screenshot and others,
all compiled from source files deleted during the editor restructuring.
tsc does not remove outputs for deleted inputs and `git add dist` only ever
adds, so the committed dist/ had been accumulating them. This is the same
mechanism that shipped the stale dist/exports.d.ts caught in the PR #204
review. `transpile` now removes dist/ before building, so a tracked dist/
cannot drift from src/ again.

Restored dependencies wrongly pruned earlier on this branch: moment,
classnames, @mui/styles, @mui/lab and underscore. wave.js does not import
them, which is what the original analysis checked - but they are
@mat3ra/cove's peerDependencies, and this project installs with
--legacy-peer-deps (the publish action passes it explicitly), which does
not auto-install peers. dev declares all five for the same reason. Only
underscore.string, sprintf-js and jquery were genuinely unreferenced and
stay removed; the SquareIconButton and jQuery rewrites stand on their own.

Verified: lint 0 errors, tsc clean, 168 passing with the 17 known
stale-baseline snapshot failures unchanged, production build clean.
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