Skip to content

Conversation

@rivka-ungar
Copy link
Contributor

@rivka-ungar rivka-ungar commented Dec 30, 2025

User description

https://monday.monday.com/boards/3532714909/views/80492480/pulses/10873331036


PR Type

Enhancement


Description

  • Extract Tipseen component into standalone package

  • Create new @vibe/tipseen package with all component variants

  • Update core package to import from new tipseen package

  • Add comprehensive types, styles, and test coverage


Diagram Walkthrough

flowchart LR
  A["packages/core<br/>Tipseen component"] -->|"refactor"| B["packages/components/tipseen<br/>New package"]
  B -->|"exports"| C["Tipseen<br/>TipseenContent<br/>TipseenWizard<br/>TipseenImage<br/>TipseenMedia"]
  D["packages/core<br/>package.json"] -->|"add dependency"| B
  E["packages/core<br/>src/components/index.ts"] -->|"import from"| B
Loading

File Walkthrough

Relevant files
Enhancement
19 files
Tipseen.types.ts
Define Tipseen type definitions                                                   
+3/-0     
TipseenConstants.ts
Export constants and deprecated enums                                       
+22/-0   
typesciptCssModulesHelper.ts
Add CSS modules style helper utility                                         
+12/-0   
index.ts
Export all Tipseen components and types                                   
+7/-0     
Tipseen.tsx
Main Tipseen component with full implementation                   
+277/-0 
TipseenBasicContent.tsx
Basic content wrapper component                                                   
+42/-0   
TipseenContent.tsx
Content component with submit/dismiss buttons                       
+105/-0 
TipseenImage.tsx
Image display component for Tipseen                                           
+34/-0   
TipseenMedia.tsx
Media container component with color support                         
+39/-0   
TipseenTitle.tsx
Title component for Tipseen                                                           
+32/-0   
TipseenWizard.tsx
Wizard component with step navigation                                       
+76/-0   
Tipseen.module.scss
Main Tipseen component styles                                                       
+51/-0   
TipseenBasicContent.module.scss
Basic content component styles                                                     
+17/-0   
TipseenContent.module.scss
Content component button styles                                                   
+9/-0     
TipseenImage.module.scss
Image component styles                                                                     
+4/-0     
TipseenMedia.module.scss
Media container component styles                                                 
+13/-0   
TipseenTitle.module.scss
Title component styles                                                                     
+4/-0     
TipseenWizard.module.scss
Wizard component styles                                                                   
+8/-0     
index.ts
Update Tipseen import to use new package                                 
+1/-1     
Configuration changes
6 files
files.d.ts
Define module declarations for assets                                       
+14/-0   
package.json
Package configuration and dependencies                                     
+74/-0   
tsconfig.json
TypeScript configuration for package                                         
+8/-0     
vitest.config.mjs
Vitest configuration for testing                                                 
+6/-0     
vitest.setup.mjs
Vitest setup with mocks and polyfills                                       
+21/-0   
rollup.config.mjs
Rollup build configuration                                                             
+3/-0     
Tests
1 files
Tipseen.test.tsx
Comprehensive unit and integration tests                                 
+138/-0 
Dependencies
1 files
package.json
Add @vibe/tipseen as dependency                                                   
+1/-0     

@rivka-ungar rivka-ungar marked this pull request as ready for review December 30, 2025 15:20
@rivka-ungar rivka-ungar requested a review from a team as a code owner December 30, 2025 15:20
@qodo-free-for-open-source-projects
Copy link
Contributor

qodo-free-for-open-source-projects bot commented Dec 30, 2025

PR Reviewer Guide 🔍

(Review updated until commit 03a46f2)

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Import Issue

Line 10 imports IconButton and Text from @vibe/core, which creates a circular dependency since the core package now depends on @vibe/tipseen. These components should be imported from their respective packages (@vibe/icon-button and a text component package if available).

import { IconButton, Text } from "@vibe/core";
import { CloseSmall } from "@vibe/icons";
Circular Dependency

Line 3 imports Steps from @vibe/core, creating a circular dependency. The Steps component should be imported from its own package or the architecture should be reconsidered to avoid this circular reference.

import { Steps, type StepsProps } from "@vibe/core";
import TipseenBasicContent from "./TipseenBasicContent";
Circular Dependency

Line 3 imports Text from @vibe/core, creating a circular dependency since core now depends on tipseen. This should be refactored to import from the appropriate standalone package.

import { Text } from "@vibe/core";
import cx from "classnames";

@qodo-free-for-open-source-projects
Copy link
Contributor

qodo-free-for-open-source-projects bot commented Dec 30, 2025

CI Feedback 🧐

(Feedback updated until commit f7253fe)

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: Build / Build and Upload

Failed stage: Build [❌]

Failure summary:

The action failed during the build process of the @vibe/core package. The specific error is:
-
TypeScript compilation error (TS2307): Cannot find module @vibe/tipseen or its corresponding
type declarations
- Location: src/components/index.ts:74:15
- Code: export * from
"@vibe/tipseen";

The build system (Lerna/Nx) attempted to build 17 projects, but failed because:
- The
@vibe/core:build task failed due to the missing module
- The @vibe/tipseen:build task did not run
because its dependencies failed

This suggests that either:
- The @vibe/tipseen package is not properly installed or built before
@vibe/core attempts to import it
- There is a missing dependency declaration
- The build order is
incorrect

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

123:  * [new branch]          feature/moro/disabled-legacy-editable-heading-text-selection -> origin/feature/moro/disabled-legacy-editable-heading-text-selection
124:  * [new branch]          feature/moshe/auto_scroll_after_back_on_store -> origin/feature/moshe/auto_scroll_after_back_on_store
125:  * [new branch]          feature/moshe/vulcan_upgrade -> origin/feature/moshe/vulcan_upgrade
126:  * [new branch]          feature/sergeyro/icon-deprecate-clickable -> origin/feature/sergeyro/icon-deprecate-clickable
127:  * [new branch]          feature/shanab/input-type-time -> origin/feature/shanab/input-type-time
128:  * [new branch]          fix-add-tslib               -> origin/fix-add-tslib
129:  * [new branch]          fix-chromatic-action        -> origin/fix-chromatic-action
130:  * [new branch]          fix-dialog-show-contextmenu-default-menu -> origin/fix-dialog-show-contextmenu-default-menu
131:  * [new branch]          fix-dropdown-spec           -> origin/fix-dropdown-spec
132:  * [new branch]          fix-showHideEvent-in-dialog-story -> origin/fix-showHideEvent-in-dialog-story
133:  * [new branch]          fix/combobox-spacings-9062326510 -> origin/fix/combobox-spacings-9062326510
134:  * [new branch]          fix/modal-focus             -> origin/fix/modal-focus
135:  * [new branch]          fix/orhal/playwright-install-performance-fix -> origin/fix/orhal/playwright-install-performance-fix
136:  * [new branch]          fix/yossi/test-focus-lock-esm -> origin/fix/yossi/test-focus-lock-esm
137:  * [new branch]          gh-pages                    -> origin/gh-pages
138:  * [new branch]          lint-error-fixes            -> origin/lint-error-fixes
139:  * [new branch]          master                      -> origin/master
...

2039:  �[2K�[1G�[2m$ node scripts/generate-lazy-icons.js�[22m
2040:  Generated lazy components and index.ts for 274 icons.
2041:  �[2K�[1G�[2m$ node scripts/generate-svg-index.js�[22m
2042:  Generated index.ts for SVG exports in ./src/svg
2043:  �[36m
2044:  �[1msrc/react/index.ts, src/lazy/index.ts, src/svg/index.ts, src/iconsMetaData.ts, src/types.ts�[22m → �[1mdist�[22m...�[39m
2045:  �[1m�[33m(!) Generated an empty chunk�[39m�[22m
2046:  types
2047:  �[32mcreated �[1mdist�[22m in �[1m48.7s�[22m�[39m
2048:  �[2K�[1GDone in 58.07s.
2049:  ##[endgroup]
2050:  Lerna (powered by Nx)   Successfully ran target build for 4 projects
2051:  Done in 89.48s.
2052:  ##[group]Run if [[ -n "$(git status --porcelain yarn.lock)" ]]; then
2053:  �[36;1mif [[ -n "$(git status --porcelain yarn.lock)" ]]; then�[0m
2054:  �[36;1m  echo "Error: yarn.lock has uncommitted changes. Please commit it."�[0m
2055:  �[36;1m  exit 1�[0m
...

2078:  �[36;1mif [[ "$GITHUB_REF" == "refs/heads/master" ]]; then�[0m
2079:  �[36;1m  since_flag="--since"�[0m
2080:  �[36;1m  echo "Running on master branch, checking for all changes."�[0m
2081:  �[36;1melse�[0m
2082:  �[36;1m  since_flag="--since=origin/master...HEAD"�[0m
2083:  �[36;1m  echo "Not running on master branch, checking for changes since origin/master."�[0m
2084:  �[36;1mfi�[0m
2085:  �[36;1m�[0m
2086:  �[36;1mecho "since_flag=$since_flag" >> $GITHUB_OUTPUT�[0m
2087:  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2088:  env:
2089:  NPM_CONFIG_USERCONFIG: /home/runner/work/_temp/.npmrc
2090:  NODE_AUTH_TOKEN: XXXXX-XXXXX-XXXXX-XXXXX
2091:  ##[endgroup]
2092:  Not running on master branch, checking for changes since origin/master.
2093:  ##[group]Run changed_packages=$(yarn -s lerna ls $SINCE_FLAG --json --loglevel=error)
2094:  �[36;1mchanged_packages=$(yarn -s lerna ls $SINCE_FLAG --json --loglevel=error)�[0m
2095:  �[36;1m�[0m
...

2647:  �[36m
2648:  �[1m/home/runner/work/vibe/vibe/packages/components/icon-button/src/index.ts�[22m → �[1mdist/mocked_classnames�[22m...�[39m
2649:  Browserslist: caniuse-lite is outdated. Please run:
2650:  npx update-browserslist-db@latest
2651:  Why you should do it regularly: https://github.com/browserslist/update-db#readme
2652:  �[32mcreated �[1mdist/mocked_classnames�[22m in �[1m3.6s�[22m�[39m
2653:  ##[endgroup]
2654:  ##[group]❌ > @vibe/core:build
2655:  �[2K�[1G�[2m$ yarn build:esm && yarn build:esm:mock-classnames && yarn build:metadata�[22m
2656:  �[2K�[1G�[2m$ rollup -c�[22m
2657:  �[36m
2658:  �[1m/home/runner/work/vibe/vibe/packages/core/src/index.ts, /home/runner/work/vibe/vibe/packages/core/src/tests/interactions-utils.ts, /home/runner/work/vibe/vibe/packages/core/src/tests/test-ids-utils.ts, /home/runner/work/vibe/vibe/packages/core/src/components/next.ts�[22m → �[1mdist�[22m...�[39m
2659:  Browserslist: caniuse-lite is outdated. Please run:
2660:  npx update-browserslist-db@latest
2661:  Why you should do it regularly: https://github.com/browserslist/update-db#readme
2662:  �[1m�[31m[!] �[1m(plugin rpt2) Error: �[96msrc/components/index.ts�[0m:�[93m74�[0m:�[93m15�[0m - �[91merror�[0m�[90m TS2307: �[0mCannot find module '@vibe/tipseen' or its corresponding type declarations.
2663:  �[7m74�[0m export * from "@vibe/tipseen";
2664:  �[7m  �[0m �[91m              ~~~~~~~~~~~~~~~�[0m
2665:  �[22m�[1m�[39m�[22m
2666:  src/index.ts
2667:  �[2m
2668:  at error (/home/runner/work/vibe/vibe/node_modules/rollup/dist/shared/rollup.js:198:30)
2669:  at throwPluginError (/home/runner/work/vibe/vibe/node_modules/rollup/dist/shared/rollup.js:21718:12)
2670:  at Object.error (/home/runner/work/vibe/vibe/node_modules/rollup/dist/shared/rollup.js:22672:20)
2671:  at RollupContext.error (/home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/src/context.ts:35:17)
2672:  at /home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/src/diagnostics.ts:70:17
2673:  at Array.forEach (<anonymous>)
2674:  at printDiagnostics (/home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/src/diagnostics.ts:42:14)
2675:  at typecheckFile (/home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/src/index.ts:67:3)
2676:  at Object.<anonymous> (/home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/src/index.ts:257:5)
2677:  at Generator.next (<anonymous>)
2678:  at /home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/node_modules/tslib/tslib.es6.js:76:71
2679:  at new Promise (<anonymous>)
2680:  at __awaiter (/home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/node_modules/tslib/tslib.es6.js:72:12)
2681:  at Object.transform (/home/runner/work/vibe/vibe/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:28084:20)
2682:  at /home/runner/work/vibe/vibe/node_modules/rollup/dist/shared/rollup.js:22879:40�[22m
2683:  �[2K�[1G�[31merror�[39m Command failed with exit code 1.
2684:  �[2K�[1G�[34minfo�[39m Visit �[1mhttps://yarnpkg.com/en/docs/cli/run�[22m for documentation about this command.
2685:  �[2K�[1G�[31merror�[39m Command failed with exit code 1.
2686:  �[2K�[1G�[34minfo�[39m Visit �[1mhttps://yarnpkg.com/en/docs/cli/run�[22m for documentation about this command.
2687:  ##[endgroup]
2688:  Lerna (powered by Nx)   Running target build for 17 projects failed
2689:  Tasks not run because their dependencies failed or --nx-bail=true:
2690:  - @vibe/tipseen:build
2691:  Failed tasks:
2692:  - @vibe/core:build
2693:  error Command failed with exit code 1.
2694:  info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
2695:  ##[error]Process completed with exit code 1.
2696:  Post job cleanup.

@rivka-ungar rivka-ungar marked this pull request as draft December 30, 2025 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants