-
Notifications
You must be signed in to change notification settings - Fork 22
Pull latest from jaredpalmer master (#1078) #183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Jared Palmer <[email protected]>
Co-authored-by: Jared Palmer <[email protected]>
|
ha, is the tsdx going to be alive? |
|
closing and reopening to re-trigger the ci. |
|
Administering compressions now |
Replace the entire tsdx toolchain with modern, high-performance tools: ## New Tool Stack - **Bundler**: bunchee (Rollup + SWC) - zero-config npm package bundler - **Testing**: vitest - next-generation testing framework - **Linting**: oxlint - Rust-powered linter (50-100x faster than ESLint) - **Formatting**: oxfmt - Rust-powered formatter (35x faster than Prettier) - **Package Manager**: bun - native speed package management - **Node**: LTS only (20+) ## CLI Changes - Simplified CLI using Commander.js - Commands: create, build, dev/watch, test, lint, format, typecheck, init - Modern interactive prompts with Enquirer - Streamlined project scaffolding ## Template Updates - Updated basic and react templates with modern tooling - React template uses Vite for example app development - Vitest + Testing Library for React component testing - Modern ESM-first package.json exports configuration ## Removed - Rollup direct configuration (now handled by bunchee) - Babel (replaced by SWC via bunchee) - Jest (replaced by vitest) - ESLint/Prettier (replaced by oxlint/oxfmt) - UMD/System module formats - Error extraction feature - Storybook template - Website documentation ## Breaking Changes - Requires Node.js 20+ (LTS only) - Requires bun for package management - Jest config files need migration to vitest - ESLint config needs migration to oxlint Note: GitHub Actions workflow updates require separate commit with workflow permissions
Contains the updated workflow configurations that require 'workflows' permission to apply. Includes instructions for updating the main CI workflow and all template workflows.
* Initial plan * chore: Update GitHub Actions workflows to modern tooling stack Co-authored-by: jaredpalmer <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: jaredpalmer <[email protected]>
bunchee automatically injects these variables for ESM modules, so manual declarations cause a redeclaration error. Also removed unused dependencies (chalk, tiny-glob).
Enquirer doesn't export Select/Input as named exports. Use default import with type assertion instead.
The templates should use the tsdx abstraction layer (tsdx build, tsdx test, tsdx lint, etc.) rather than calling the underlying tools directly. This honors the original TSDX design philosophy of providing a zero-config wrapper. - Updated basic template to use tsdx commands - Updated react template to use tsdx commands - Removed direct tool dependencies (bunchee, vitest, oxlint) - Added tsdx as the single dev dependency for tooling
Adds thorough end-to-end tests covering: - CLI basics (help, version, all commands) - Create command for both basic and react templates - Init command with various scenarios - Template structure validation - Build, test, lint, format, typecheck command help - Edge cases and error handling - Integration tests for full workflow - GitHub workflow validation - Vitest configuration validation Also increases test timeouts for e2e operations.
- Handle cases where author prompt fails in non-TTY environments by accepting either updated or template default values - Fix lint tests to not assume oxlint is unavailable (it's installed in the main project's node_modules) - Update assertions to be more flexible for CI environments
- Comprehensive README with all commands, configuration, and FAQ - New MIGRATION.md guide for upgrading from v0.x to v1.0 - Updated CONTRIBUTING.md for modern bun-based workflow - Updated issue templates for bug reports and feature requests - Removed workflow.md (superseded by MIGRATION.md)
|
Important Review skippedToo many files! 51 files out of 201 files are above the max files limit of 150. You can disable this status message by setting the ✨ 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 |
Add documentation file to help Claude Code instances work effectively with this codebase, including development commands, architecture overview, and template creation guidelines.
Replace the old Nextra-based documentation site with a modern fumadocs implementation. The new site documents TSDX 1.0's modern toolchain: - Zero-config approach with bunchee, vitest, oxlint, and oxfmt - Modern project structure with ESM/CJS dual builds - Complete API reference for all CLI commands - Migration guide for upgrading from TSDX v0.x - Templates documentation (basic and react) - Configuration options for all underlying tools The site is built with: - fumadocs-ui and fumadocs-mdx for documentation framework - Next.js 15 with App Router - Tailwind CSS for styling - MDX for content authoring Preserves all original assets (logo, favicons, og image) from the previous website for brand continuity.
- Upgrade Next.js from 15.1.2 to 16.1.1 - Upgrade Fumadocs (core, mdx, ui) from v14 to v16 - Upgrade React from 19.0.0 to 19.2.3 - Upgrade Tailwind CSS from v3.4 to v4.1 Breaking changes addressed: - Migrate to CSS-first Tailwind v4 config (remove tailwind.config.js) - Update fumadocs-ui provider import to fumadocs-ui/provider/next - Update source loader to use toFumadocsSource from runtime/server - Add fumadocs-mdx:collections path alias in tsconfig.json - Add Tab and Tabs components to MDX components - Use @tailwindcss/postcss for PostCSS integration
- Add IBM Plex Sans (400-700) as the primary sans-serif font - Add IBM Plex Mono (400-600) as the monospace font - Configure font CSS variables in Tailwind v4 @theme - Enable turbopackUseSystemTlsCerts for Google Fonts fetch in CI
- Remove DocsTitle and DocsDescription components since MDX already renders the frontmatter title and description - Rename "Quick Start" sidebar section to "Getting Started" to distinguish it from the "Quick Start" page
*Total -- 107.12kb -> 67.76kb (36.75%) /website/public/favicon/android-chrome-512x512.png -- 14.84kb -> 4.36kb (70.64%) /website/public/favicon.png -- 9.41kb -> 4.17kb (55.67%) /website/public/og_image.jpg -- 56.67kb -> 39.04kb (31.11%) /website/public/favicon/apple-touch-icon.png -- 6.19kb -> 4.55kb (26.46%) /website/public/bg.svg -- 10.94kb -> 8.15kb (25.55%) /website/public/favicon/android-chrome-192x192.png -- 6.66kb -> 5.09kb (23.62%) /website/public/logo.svg -- 2.41kb -> 2.40kb (0.36%) Signed-off-by: ImgBotApp <[email protected]>
- Add @changesets/cli and @changesets/changelog-github - Configure changesets with GitHub changelog - Add changeset and release scripts to package.json
Documents changesets workflow for version management and npm publishing.
Removed NPM_TOKEN and NODE_AUTH_TOKEN from release workflow.
Skip version 1.0 and jump to 2.0 across all documentation and markdown files including README, CLAUDE.md, MIGRATION.md, changeset, and website docs.
No description provided.