Skip to content

Rename the packages to the @wantedly scope - #1149

Closed
unblee wants to merge 4 commits into
masterfrom
unblee/rename-packages-to-wantedly-scope
Closed

Rename the packages to the @wantedly scope#1149
unblee wants to merge 4 commits into
masterfrom
unblee/rename-packages-to-wantedly-scope

Conversation

@unblee

@unblee unblee commented Sep 8, 2026

Copy link
Copy Markdown

WHY

Publishing to GitHub Packages requires the package name to carry the owner's scope.
This PR renames the six packages to the @wantedly scope and updates the in-repo references that have to follow.

It does not change the publish path itself.
That part is split into a follow-up PR touching only .github/workflows/release.yml, so this PR can be reviewed purely for whether the rename is complete.

WHAT

Renaming the packages

  • Changed name of the six packages to the @wantedly scope and pointed publishConfig.registry at GitHub Packages

References updated to follow the rename

Build and lint fail unless the cross references inside the repository follow the rename to @wantedly/*.

  • Updated the references in .prettierrc, eslint.config.mjs, the base.js / react.js of each config package, and packages/frolint/src
  • Updated the unreleased changeset, which still pointed at the old names. Left as is, changesets cannot resolve the packages and the release fails
  • Aligned the ESLint plugins' meta.name with the actual package names and updated the snapshots
  • Updated the .scaffdog template and the reference in InstallCommand

CI

Unrelated to the rename and pre-existing, but included here because CI stays red after the rename without it.

  • Added build to the lint job. The lint job was the only one that did not build first, so the main of eslint-plugin-wantedly (a build artifact) that the shared ESLint config loads did not exist and ESLint could not start
  • Bumped actions/cache to v4

Merge order

Merge this PR first.
If the follow-up publish-path PR lands first, publishing to GitHub Packages fails with the unscoped names, the npm job behind it does not meet published == 'true' and is skipped, and the supply to npm that consumers still reference stops.

Note

No changeset is added here.
The renamed packages do not exist on GitHub Packages yet, so changeset publish publishes the current versions as they are.
That lets consumers keep the version unchanged when they switch names, which makes the migration easier.

KosukeTakahashi0410 and others added 3 commits September 8, 2026 13:31
The shared ESLint config loads eslint-plugin-wantedly, whose main entry is its
build output. The lint job never built, so ESLint failed to load whenever the
job had files to lint.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: takahashikosuke <takohashi0410@gmail.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added repo Root directory of this project frolint https://www.npmjs.com/package/frolint eslint-config-wantedly-typescript https://www.npmjs.com/package/eslint-config-wantedly-typescript eslint-config-wantedly https://www.npmjs.com/package/eslint-config-wantedly eslint-plugin-use-macros https://www.npmjs.com/package/eslint-plugin-use-macros eslint-plugin-wantedly https://www.npmjs.com/package/eslint-plugin-wantedly prettier-config-wantedly https://www.npmjs.com/package/prettier-config-wantedly labels Sep 8, 2026
@unblee
unblee marked this pull request as ready for review September 8, 2026 05:03
unblee

This comment was marked as abuse.

The three-level resolve keeps working after the rename because frolint and
the config packages both move under the same @wantedly scope directory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@unblee

unblee commented Sep 9, 2026

Copy link
Copy Markdown
Author

Closing in favour of a different approach.

Renaming the packages in the tree breaks the consumers. Their lockfiles resolve the unscoped names from npm today. Once the names carry the @wantedly scope, a consumer cannot pick up a new version until it rewrites the name, and rewriting it points the lockfile at GitHub Packages, which asks for authentication even for a public package.

The rename also does not stop at name. The six packages reference each other by the old names, and so do the shared ESLint and Prettier configs, so those references have to move to @wantedly/ as well — while no package under that scope exists in any registry yet. Stripping the scope back off for the npm publish then has to reach the build output too, not just package.json.

The replacement leaves the tree, the lockfile and the published npm names exactly as they are on master, and scopes the manifests inside the release workflow instead, right before the publish to GitHub Packages. That reduces the whole migration to a single-file change in .github/workflows/release.yml, so neither this PR nor #1150 is needed.

The branch is left in place.

@unblee unblee closed this Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eslint-config-wantedly https://www.npmjs.com/package/eslint-config-wantedly eslint-config-wantedly-typescript https://www.npmjs.com/package/eslint-config-wantedly-typescript eslint-plugin-use-macros https://www.npmjs.com/package/eslint-plugin-use-macros eslint-plugin-wantedly https://www.npmjs.com/package/eslint-plugin-wantedly frolint https://www.npmjs.com/package/frolint prettier-config-wantedly https://www.npmjs.com/package/prettier-config-wantedly repo Root directory of this project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants