PR 3/N: publish as @textcortex/slidewise via changesets + CI#7
Draft
karthikmudunuri wants to merge 1 commit intokarthikmudunuri/style-isolationfrom
Draft
PR 3/N: publish as @textcortex/slidewise via changesets + CI#7karthikmudunuri wants to merge 1 commit intokarthikmudunuri/style-isolationfrom
karthikmudunuri wants to merge 1 commit intokarthikmudunuri/style-isolationfrom
Conversation
Wires Slidewise up to be released as @textcortex/slidewise via
changesets and GitHub Actions, so platform hosts can pin a real semver
range instead of cross-repo workspace deps.
What's added
* package.json — scoped to @textcortex/slidewise, publishConfig
(access: restricted, registry: npm), repo/homepage/bugs metadata,
changeset/version-packages/release scripts. React and react-dom
moved from dependencies to devDependencies; peerDependencies still
declares the runtime contract (>=19), so consumers don't end up
with a duplicate React.
* .changeset/ — initialised by `changesets init`. Default config
matches our publish settings (access: restricted, baseBranch: main).
First changeset (`initial-1-0-0.md`) marks v1.0.0 as the public API
contract.
* .github/workflows/ci.yml — runs typecheck, vitest, and build:lib on
every PR and push to main.
* .github/workflows/release.yml — on push to main, runs the same
checks then `changesets/action`. With pending changesets present
it opens (or updates) a "Version Packages" PR; once that PR merges
it publishes to the registry. Skips publish if NPM_TOKEN is unset.
* README.md — quick-start with the real SlidewiseFileEditor API
(loadBlob/saveBlob), lower-level SlidewiseEditor example, programmatic
parsePptx/serializeDeck/migrate snippet, release docs, repo layout.
* src/index.ts — re-exports `migrate` and `CURRENT_DECK_VERSION` so
the README's persistence snippet compiles for consumers.
Open items for the platform team (not blocking merge of this PR; they
gate the first actual publish):
- Confirm registry: keep npmjs.org with a paid @textcortex scope, or
point publishConfig.registry at an internal Verdaccio / GitHub
Packages.
- Add NPM_TOKEN secret to the repo (automation token with publish
rights for @textcortex).
- When ready, merge this PR; CI will open a "Version Packages" PR
bumping 0.2.0 → 1.0.0 and consuming the initial changeset; merging
that triggers the first publish.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third PR in the integration plan. Stacked on top of #6 — review/merge that first (which is on #5, on #4).
Summary
Wires Slidewise up to be released as
@textcortex/slidewisevia changesets and GitHub Actions, so platform hosts can pin a real semver range instead of cross-repo workspace deps.What's added
@textcortex/slidewise,publishConfig(access: restricted, default registry npmjs.org), repo/homepage/bugs metadata,changeset/version-packages/releasescripts. React and react-dom moved fromdependenciestodevDependencies—peerDependenciesstill declares the runtime contract (>=19), so consumers don't end up with a duplicate React..changeset/— initialised bychangesets init. Default config matches our publish settings. First changeset (initial-1-0-0.md) marks v1.0.0 as the public API contract..github/workflows/ci.yml— typecheck + vitest +build:libon every PR and push to main..github/workflows/release.yml— on push tomain, runs the same checks thenchangesets/action. With pending changesets present it opens (or updates) a "Version Packages" PR; once that PR merges it publishes to the registry. Skips publish ifNPM_TOKENis unset.SlidewiseFileEditorAPI (loadBlob/saveBlob), lower-levelSlidewiseEditorexample, programmaticparsePptx/serializeDeck/migratesnippet, release docs, repo layout.migrateandCURRENT_DECK_VERSIONso the README's persistence snippet compiles for consumers.Release flow once merged
mainsees a pending changeset; opens a "Version Packages" PR bumping0.2.0 → 1.0.0and writing CHANGELOG entries.changeset publish→ first release of@textcortex/slidewise@1.0.0to the registry.Open items for the platform team
These don't block merging this PR but they gate the first actual publish:
@textcortexscope, or pointpublishConfig.registryat an internal Verdaccio / GitHub Packages npm registry.NPM_TOKENsecret: add an automation token with publish rights for the@textcortexscope (or whatever registry the team picks) to repo Actions secrets.CI / Typecheck, test, buildcheck onmainonce the workflow has run once.Test plan
pnpm exec tsc -bcleanpnpm test— 14/14pnpm run build:lib— emitsdist/slidewise.css(159 kB) +dist/index.mjs(864 kB), no errorspnpm exec changeset status— reports the pending v1.0.0 major bumpmainNPM_TOKEN