Conversation
…bundle - Replace dead posit.co/wp-content link for the Posit logo in the docs footer/404 pages and Python API docs with the working tidyverse.org URL already used by the R pkgdown config (fixes #234). - Emit dist/THIRDPARTY.txt during the JS build via generate-license-file, covering the full production dependency graph bundled into shinychat.js (react, react-dom, scheduler, use-sync-external-store, use-stick-to-bottom, tabbable, etc.), so MIT license texts ship alongside the vendored code (fixes #299).
Sync generated third-party license file into js/dist and both package asset directories (make update-dist).
…te-license-file Avoids pulling in generate-license-file's ~160-package dependency tree (@npmcli/arborist, etc.) just to concatenate license files. esbuild already tracks every file that ends up in shinychat.js via its metafile; resolve each input path back to its node_modules package root, dedupe, and read the license file each package already ships. This is also more precise than scanning package.json's declared dependencies, which pulled in type-only @types/* packages that never ship any runtime code.
This branch has not been deployed
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
The Posit logo in the docs footer/404 pages and Python API docs pointed to a dead
posit.co/wp-content/...URL, so the logo was showing as broken. It now uses the same workingtidyverse.orglogo URL already relied on by the R pkgdown config.shinychat.jsbundles MIT-licensed third-party code (React,use-stick-to-bottom,tabbable, and dozens of others in the remark/rehype/unified/prosemirror/tiptap tree), but only shipped esbuild's attribution comment pointing at aLICENSEfile we don't distribute — leaving the bundle without the license text it's required to carry.The JS build now walks esbuild's own metafile (already generated for every build) to find every package that actually contributed code to
shinychat.js, and concatenates each package's own license file (already present in every bundled package'snode_modules/directory) intodist/THIRDPARTY.txt. This is synced into both the Python and R package asset directories via the existingmake update-distflow. No new npm dependency was needed for this — it reuses build metadatabuild.tsalready produces.Fixes #234, fixes #299.
Test plan
npm run build(lint + bundle) succeeds and producesjs/dist/THIRDPARTY.txtcovering all 125 packages actually bundled intoshinychat.jsnpm test— 1360 tests passmake update-distsyncsTHIRDPARTY.txtintopkg-py/src/shinychat/www/andpkg-r/inst/lib/shiny/uv build(Python sdist + wheel) — verifiedTHIRDPARTY.txtpresent in both viatar tzf/unzip -lpkgbuild::build()(R package tarball) — verifiedTHIRDPARTY.txtpresent viatar tzfhttps://www.tidyverse.org/posit-logo.svgresolves (200,image/svg+xml)