-
Notifications
You must be signed in to change notification settings - Fork 0
feat: bamboo monorepo and tailwindcss refactor #434
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the Bamboo project into a monorepo structure and migrates from SCSS to Tailwind CSS v4.
Key changes:
- Restructured the repository into a Turborepo monorepo with separate packages (
@bamboo/core,@mrksbnc/bamboo-vue,@bamboo/docs) - Replaced custom CSS variables and SCSS with Tailwind CSS v4
- Updated build configuration to use the new monorepo structure
Reviewed changes
Copilot reviewed 64 out of 122 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
turbo.json |
Added Turborepo configuration for monorepo task orchestration |
pnpm-workspace.yaml |
Configured workspace packages structure |
package.json |
Converted root to monorepo with Turbo scripts |
packages/bamboo-core/ |
New core package with shared constants and utilities |
packages/bamboo-vue/ |
New Vue components package |
packages/bamboo-docs/ |
New documentation package |
vite.config.ts |
Added Tailwind CSS Vite plugin, removed SVG loader |
src/lib.css |
Replaced custom CSS imports with Tailwind CSS import |
vendor/tailwindcss.txt |
Updated copyright information |
vendor/feather.txt |
Updated copyright information |
Comments suppressed due to low confidence (2)
packages/bamboo-vue/src/components/bo-icon/bo-icon.ts:1
- The import path '@/core/constants/size.js' references a file that no longer exists. In the monorepo structure, this should import from '@bamboo/core' package instead.
packages/bamboo-vue/src/components/bo-icon/bo-icon.ts:1 - The
Icontype is referenced but not imported. It should be imported from '@bamboo/core' or defined in this file.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/bamboo-core/src/index.ts
Outdated
| type BoButtonStyle, | ||
| type BoButtonVariant, | ||
| BoButtonVariantStyle, | ||
| type BoVariantStyle, |
Copilot
AI
Jan 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The export BoVariantStyle is inconsistent with the naming convention. It should be BoButtonVariantStyle to match the actual type exported from bo-button.ts.
| type BoVariantStyle, | |
| type BoButtonVariantStyle, |
packages/bamboo-core/src/index.ts
Outdated
|
|
||
| export { AriaLive } from './bo-accessibility.js'; | ||
| export { BoLocalStorageKey } from './bo-local-storage.js'; | ||
| export type { Booleanish, ConditionalCssProperties } from './common-types.js'; |
Copilot
AI
Jan 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The import path './common-types.js' is incorrect. Based on the file structure shown in the diff, the correct path should be './core/bo-common.js'.
| export type { Booleanish, ConditionalCssProperties } from './common-types.js'; | |
| export type { Booleanish, ConditionalCssProperties } from './core/bo-common.js'; |
packages/bamboo-core/src/index.ts
Outdated
| export { AriaLive } from './bo-accessibility.js'; | ||
| export { BoLocalStorageKey } from './bo-local-storage.js'; |
Copilot
AI
Jan 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The import paths './bo-accessibility.js' and './bo-local-storage.js' are incorrect. Based on the file structure shown in the diff, the correct paths should be './core/bo-accessibility.js' and './core/bo-local-storage.js'.
| export { AriaLive } from './bo-accessibility.js'; | |
| export { BoLocalStorageKey } from './bo-local-storage.js'; | |
| export { AriaLive } from './core/bo-accessibility.js'; | |
| export { BoLocalStorageKey } from './core/bo-local-storage.js'; |
| import { InputHTMLAttributes } from 'vue'; | ||
|
|
||
| export type BoInputSize = 'sm' | 'md' | 'lg'; | ||
|
|
||
| export type BoInputType = InputHTMLAttributes['type']; |
Copilot
AI
Jan 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
InputHTMLAttributes is not exported from 'vue'. This should import from the standard DOM types or be defined within the bamboo core package.
| import { InputHTMLAttributes } from 'vue'; | |
| export type BoInputSize = 'sm' | 'md' | 'lg'; | |
| export type BoInputType = InputHTMLAttributes['type']; | |
| export type BoInputSize = 'sm' | 'md' | 'lg'; | |
| export type BoInputType = HTMLInputElement['type']; |
.prettierrc.yaml
Outdated
| - prettier-plugin-svelte | ||
|
|
||
| overrides: | ||
| - files: '*.svelte' | ||
| options: | ||
| parser: svelte |
Copilot
AI
Jan 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The prettier-plugin-svelte plugin is configured but there are no Svelte files in this Vue-based project. This plugin should be removed.
| - prettier-plugin-svelte | |
| overrides: | |
| - files: '*.svelte' | |
| options: | |
| parser: svelte |
Description