Draft
Conversation
no issue - card was related to an abandoned alpha feature in Ghost that Koenig no longer needs to support
- @tryghost/html-to-mobiledoc@3.2.7 - @tryghost/kg-clean-basic-html@4.2.6 - @tryghost/kg-converters@1.1.6 - @tryghost/kg-default-cards@10.1.4 - @tryghost/kg-default-nodes@1.5.0 - @tryghost/kg-default-transforms@1.2.22 - @tryghost/kg-html-to-lexical@1.2.22 - @tryghost/kg-lexical-html-renderer@1.3.22 - @tryghost/kg-parser-plugins@4.2.6 - @tryghost/kg-unsplash-selector@0.3.5 - @tryghost/koenig-lexical@1.7.0
no issue - node renderers are now expected to be passed in as options when renderering - this removes a lot of unused code in our editor build and moves card render output into the consumer which makes more sense and removes a need to constantly bump all of the the editor packages as desired render output changes - node renderers for Ghost now live at https://github.com/TryGhost/Ghost/tree/main/ghost/core/core/server/services/koenig/node-renderers - updated `kg-lexical-html-renderer` card rendering tests to account for cards no longer having default render functions
- @tryghost/html-to-mobiledoc@3.2.8 - @tryghost/kg-card-factory@5.1.2 - @tryghost/kg-clean-basic-html@4.2.7 - @tryghost/kg-converters@1.1.7 - @tryghost/kg-default-atoms@5.1.1 - @tryghost/kg-default-cards@10.1.5 - @tryghost/kg-default-nodes@2.0.0 - @tryghost/kg-default-transforms@1.2.23 - @tryghost/kg-html-to-lexical@1.2.23 - @tryghost/kg-lexical-html-renderer@1.3.23 - @tryghost/kg-markdown-html-renderer@7.1.3 - @tryghost/kg-mobiledoc-html-renderer@7.1.3 - @tryghost/kg-parser-plugins@4.2.7 - @tryghost/kg-utils@1.0.32 - @tryghost/koenig-lexical@1.7.1
This reverts commit 16faf18. - Lexical calls `exportDOM` on nodes when performing cut/copy operations in order to place a HTML representation on the clipboard. Without the default node renderers being present this errors which completely breaks copy/paste - reverting for now to get back to a working version whilst we look into a solution that still allows renderers to exist in the consuming app
no issue - we've had to revert the full removal of default renderers but we still need Ghost to be able to render using it's own provided custom renderers - removed `emailCustomization` flag gating of the custom renderer code because Ghost no longer has that flag in place since going GA
- @tryghost/kg-default-nodes@2.0.1 - @tryghost/kg-default-transforms@1.2.24 - @tryghost/kg-html-to-lexical@1.2.24 - @tryghost/kg-lexical-html-renderer@1.3.24 - @tryghost/kg-unsplash-selector@0.3.6 - @tryghost/koenig-lexical@1.7.2
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
no ref Changes to require-status-checks have conflicted with our yarn ship script. The tags have been pushed and the push to main is not working.
ref https://github.com/TryGhost/Koenig/actions/runs/21952490310/job/63406908253 Another stale yarn lock file caused this CI task to fail.
ref 8727aad Renovate was able to merge a commit with a stale lock file. We use --frozen-lockfile elsewhere for the integrity check and it seems like we should use it here as well.
ref 0973109 The kg-simplemde package is a fork of NextStepWebs/simplemde-markdown-editor. When it was added to this monorepo, the original repository URLs were preserved. With the recent migration to CI-based publishing (0973109), npm provenance verification is now enabled. This verifies that the repository.url in package.json matches the GitHub repository the package is published from. This would otherwise fail on the provenance check and prevent publishing of kg-simplemde and koenig-lexical. Updated homepage, bugs, and repository URLs to point to TryGhost/Koenig while preserving the original author attribution.
- @tryghost/kg-markdown-html-renderer@7.1.11 - @tryghost/kg-mobiledoc-html-renderer@7.1.11 - @tryghost/kg-simplemde@3.0.10 - @tryghost/kg-unsplash-selector@0.3.15 - @tryghost/kg-utils@1.0.39 - @tryghost/koenig-lexical@1.7.12
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ref https://linear.app/ghost/issue/NY-1044/ - expanded list of available nodes and plugin compatibility with a new EMAIL_EDITOR_NODES set - added plugins to exports for use outside of Koenig in the composable editor
- @tryghost/kg-unsplash-selector@0.3.16 - @tryghost/koenig-lexical@1.7.13
Merge all 17 Koenig editor packages into the Ghost monorepo under the koenig/ top-level directory. History has been rewritten using git filter-repo so that file paths match their final locations, preserving full git log/blame history for all Koenig files. Koenig root-level config files (lerna.json, .github/workflows/, renovate.json, etc.) are excluded — Ghost's root config takes over. Packages: html-to-mobiledoc, kg-card-factory, kg-clean-basic-html, kg-converters, kg-default-atoms, kg-default-cards, kg-default-nodes, kg-default-transforms, kg-html-to-lexical, kg-lexical-html-renderer, kg-markdown-html-renderer, kg-mobiledoc-html-renderer, kg-parser-plugins, kg-simplemde, kg-unsplash-selector, kg-utils, koenig-lexical
- Add koenig/* to workspaces array in root package.json - Add koenig node_modules to CI dependency cache paths - Add dev:koenig convenience script - Add ship:koenig and publish:koenig script stubs
Replace all pinned npm version references to @tryghost/kg-*, @tryghost/koenig-lexical, and @tryghost/html-to-mobiledoc with "*" for Yarn workspace resolution. Updated 4 Ghost consumer packages and 10 Koenig internal cross-references to resolve from the local workspace instead of the npm registry.
- publish-koenig.js: Checks npm registry for each koenig package, builds and publishes any with new versions. Supports --dry-run. - ship-koenig.js: Interactive version bumper that detects changed packages, prompts for bump type, and creates a release commit. - publish-koenig.yml: GitHub Actions workflow triggered by version bump commits or manual dispatch. Uses OIDC for npm auth. Replaces Lerna-based publish workflow from the Koenig repo.
- Add koenig path filter group to detect changes in koenig/** - Add changed_koenig output to job_setup - Add new-package detection for koenig/**/package.json - Add job_koenig_tests with font installation, Playwright caching, and full test suite execution via Nx - Include job_koenig_tests in job_required_tests gate
Deploys the koenig-lexical demo to GitHub Pages when koenig/ packages change on main. Replaces the pages.yml workflow from the standalone Koenig repo.
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
|
It looks like this PR contains a migration 👀 General requirements
Schema changes
Data changes
|
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.
Summary
Consolidates the TryGhost/Koenig editor monorepo into Ghost under a top-level
koenig/directory. All 17 packages are moved with full git history preserved —git log,git blame, andgit bisectwork correctly for all Koenig files at their new paths.What's included
git filter-reposo paths match their finalkoenig/*locations, then merged with--allow-unrelated-histories. All 5,260 Koenig commits are ancestors of this branch.koenig/*added to rootpackage.jsonworkspaces. All@tryghost/kg-*and@tryghost/koenig-lexicaldeps converted from pinned npm versions to"*"for workspace resolution (14 package.json files updated).job_koenig_testsinci.ymlwith font installation, Playwright caching, and Nx test execution. Added tojob_required_testsgate. Path filter forkoenig/**changes.publish-koenig.ymlworkflow +publish-koenig.jsscript (checks npm registry, builds via Nx, publishes new versions). Replaces Lerna-based flow. Interactiveship-koenig.jsfor version bumping.koenig-demo.ymldeploys koenig-lexical demo to GitHub Pages (replaces Koenig repo'spages.yml).Packages moved (17)
html-to-mobiledoc,kg-card-factory,kg-clean-basic-html,kg-converters,kg-default-atoms,kg-default-cards,kg-default-nodes,kg-default-transforms,kg-html-to-lexical,kg-lexical-html-renderer,kg-markdown-html-renderer,kg-mobiledoc-html-renderer,kg-parser-plugins,kg-simplemde,kg-unsplash-selector,kg-utils,koenig-lexicalFollow-up items
publish-koenig.ymlyarn installand verify workspace symlinks resolve correctlyyarn nx run-many -t buildandyarn nx run-many -t testpassTest plan
git log -- koenig/koenig-lexical/package.jsonshows full Koenig history (1,100+ commits)git blame koenig/kg-utils/package.jsonshows original authors/datesyarn installresolves all Koenig packages from workspace (not npm)yarn nx run-many -t buildsucceeds for all packagesyarn nx run-many -t test --projects='@tryghost/kg-*,@tryghost/koenig-*'passesjob_koenig_testsruns and passesnode .github/scripts/publish-koenig.js --dry-runreports all packages as already published🤖 Generated with Claude Code