apps/site/, it contains standalone npm packages in the packages/ directory that are published to the npm registry.
Repository structure
@node-core/ui-components
Reusable React UI components shared across Node.js web properties. Compiled TypeScript + CSS, published to npm.
@node-core/website-i18n
Internationalization utilities and locale string bundles used by the website.
Publishing process
Publishing is fully automated through GitHub Actions. You do not need to runnpm publish manually under normal circumstances.
Merge via merge queue
Changes must enter the main branch through GitHub’s merge queue. Direct pushes to
main are not permitted.Automatic publish trigger
After a successful merge, the “Publish Packages” GitHub Actions workflow triggers automatically. It verifies that the committer is
[email protected] (the GitHub Actions bot) before proceeding.Package analysis and version bump
The workflow analyzes which packages changed and bumps their versions accordingly.
npm publish
The workflow compiles TypeScript, compiles CSS, and runs
npm publish for each changed package.Manual workflow dispatch
The “Publish Packages” workflow can also be triggered manually from the GitHub Actions tab usingworkflow_dispatch. This is useful if the automatic trigger failed or if you need to republish a package without new commits.
Compile step
Before publishing, packages are compiled via thecompile Turborepo task:
compile script in each package workspace, which typically:
- Compiles TypeScript source to JavaScript (
tsc) - Compiles CSS (e.g. Tailwind PostCSS processing)
- Outputs artifacts to the
dist/directory
Version bumping
Version numbers are managed by the publishing workflow. Do not manually bump versions inpackage.json files — the automation handles this as part of the publish step.
Workspace-internal dependencies (using
workspace:* specifiers) are resolved to their actual published versions by pnpm when publishing.