Skip to content

All 3.0.2#775

Open
gouravmore wants to merge 541 commits intoall-2.5.0from
all-3.0.2
Open

All 3.0.2#775
gouravmore wants to merge 541 commits intoall-2.5.0from
all-3.0.2

Conversation

@gouravmore
Copy link
Copy Markdown
Member

@gouravmore gouravmore commented Mar 23, 2026

Summary by CodeRabbit

  • New Features

    • Integrated new UI component library with modern styling framework to enhance visual consistency and development efficiency.
  • Chores

    • Optimized build process with improved memory allocation and TypeScript support.
    • Streamlined environment configuration file management.

vishnuvinay89 and others added 30 commits February 4, 2026 17:24
…ponents (CustomIconButton and CustomTooltip) inside the component function. This causes these component types to be re-created on every render, leading to flickering tooltips and potential performance issues.
…et to 100 and fuel validation set to proper 80%
IssueId #0000 fix: Discovery redirect issue fix, letterLauncher timer set to 100 and fuel validation set to proper 80%
IssueId #0000 fix : LetterLauncher and Memory challnge create api issue fix and add lesson issue fix from A1
Issue #0000 fix: not able to complete M1 p2
Issue #0000 fix: M2 - P2 and P4 as well showing only 5 contents.
IssueId #0000 fix: On completion M1 S1 rendering some other mechanics.
IssueId #253602 fix : fixed the addLesson milestone issue
Feat: In AddLesson api subMilestone added for A1,A2,A3
IssueId #253617 fix : F3- After completing Apply1 user is directly moving to P7 instead of P6.
Issue #0000 fix: native language symbol issue fixes
suresh6602 and others added 27 commits March 10, 2026 18:59
Removing the unwanted word in telugu
feat: add Kannada Gunithas to Alphabet Chart and improve demo data validation
TaskId #0000 task : 3.0.2 requested changes
fix: sync AlphabetChartPreview demo order with AlphabetChart for te/kn
Task #255450 - Kannada M1 to M3 Content
IssueId #0000 Fix:Jira issue Fix 54,60,61
Issue #0000 fix: Duplicate Audio Trigger for First Letter in F3 Levels
IssueId #0000 fix : Apply level issue fix for F1,F2 and F3 pass
TaskId #255626,#255625,#255624 fix : Jira issues (ALL-52,43,39) fix
Issue #ALL-66 fix: In lab2 guest login is been taken to start level B
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 23, 2026

Walkthrough

This change removes the local .env configuration file and introduces TypeScript support alongside Tailwind CSS styling framework. The build process is updated to use react-app-rewired with increased Node memory allocation, and a new engagement prediction URL environment variable is added to the CI workflow.

Changes

Cohort / File(s) Summary
Environment Configuration
.env, .gitignore
Removed entire .env file containing all REACT_APP_* variables and infrastructure settings; added .env.local and explicit .env entries to .gitignore.
Build Tooling & Webpack Configuration
config-overrides.js, package.json
Introduced Create React App Webpack override via customize-cra to prepend TypeScript extensions (.ts, .tsx) to module resolution; updated build/start scripts to use react-app-rewired with NODE_OPTIONS: --max-old-space-size=4096.
Styling & Preprocessor Stack
postcss.config.js, package.json (dependencies)
Added PostCSS configuration for Tailwind CSS and autoprefixer; introduced Radix UI component libraries (@radix-ui/react-progress, @radix-ui/react-slot, @radix-ui/react-tooltip) and styling utilities (tailwindcss, class-variance-authority, clsx, tailwind-merge, tailwindcss-animate).
CI/CD Workflow Updates
.github/workflows/all-dev-rig.yml
Updated workflow display name to "ALL rig (UAT) dev Deployment", changed branch trigger from all-2.5.0 to all-3.0.2, added REACT_APP_ENGAGEMENT_PREDICT_URL environment variable from vars.REAL_APP_ENGAGEMENT_PREDICT_URL.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • swayangjit
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'All 3.0.2' appears to be a version bump identifier rather than a descriptive summary of the actual changes made in the pull request. Revise the title to clearly describe the main changes, such as 'Add Tailwind CSS and Radix UI components with TypeScript support' or 'Update build configuration for ALL 3.0.2 release'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch all-3.0.2

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
132 Security Hotspots
15.9% Duplication on New Code (required ≤ 3%)
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/all-dev-rig.yml (1)

40-75: ⚠️ Potential issue | 🔴 Critical

Remove AWS credentials from React build-time env immediately.

Line 74 and Line 75 inject AWS keys as REACT_APP_*; those values are embedded into the client bundle and become publicly accessible.

Suggested immediate patch
-          REACT_APP_AWS_ACCESS_KEY_ID: ${{ secrets.REACT_APP_AWS_ACCESS_KEY_ID }}
-          REACT_APP_AWS_SECRET_ACCESS_KEY: ${{ secrets.REACT_APP_AWS_SECRET_ACCESS_KEY }}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/all-dev-rig.yml around lines 40 - 75, The workflow is
exporting AWS credentials into the client build via REACT_APP_AWS_ACCESS_KEY_ID
and REACT_APP_AWS_SECRET_ACCESS_KEY which will embed them in the frontend
bundle; remove these two REACT_APP_* entries from the env block so they are not
injected at build-time, and instead move credential usage to a secure
server-side runtime (or use a backend proxy/separate deployment-secret that
supplies temporary credentials), updating any code that expects
process.env.REACT_APP_AWS_* to read from a server endpoint or server-side env
rather than from the client bundle.
🧹 Nitpick comments (1)
.gitignore (1)

114-115: Remove duplicate env ignore entries.

Line 114 and Line 115 are redundant because Line 15 (*.env*) already ignores both, and Line 12 already ignores .env. Keeping duplicates makes .gitignore harder to maintain.

Suggested cleanup
 build
-.env.local
-.env
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.gitignore around lines 114 - 115, Remove the duplicate .env entries by
deleting the explicit ".env.local" and ".env" lines because the existing ignore
patterns ("*.env*" and ".env") already cover them; locate the entries named
".env.local" and ".env" in the .gitignore and remove those two lines so the file
only keeps the broader "*.env*" and ".env" patterns for maintainability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Around line 111-125: The package.json is missing the TypeScript compiler
package; add "typescript" to package.json (preferably under devDependencies)
alongside the existing "@babel/preset-typescript" entry so the project can
perform actual TypeScript compilation and type-checking, then run your package
manager install to update lockfile; ensure the new dependency is reflected where
the other dev tools (e.g., "eslint", "husky", "@babel/preset-typescript") are
declared so editors/CI pick up TypeScript support.

---

Outside diff comments:
In @.github/workflows/all-dev-rig.yml:
- Around line 40-75: The workflow is exporting AWS credentials into the client
build via REACT_APP_AWS_ACCESS_KEY_ID and REACT_APP_AWS_SECRET_ACCESS_KEY which
will embed them in the frontend bundle; remove these two REACT_APP_* entries
from the env block so they are not injected at build-time, and instead move
credential usage to a secure server-side runtime (or use a backend
proxy/separate deployment-secret that supplies temporary credentials), updating
any code that expects process.env.REACT_APP_AWS_* to read from a server endpoint
or server-side env rather than from the client bundle.

---

Nitpick comments:
In @.gitignore:
- Around line 114-115: Remove the duplicate .env entries by deleting the
explicit ".env.local" and ".env" lines because the existing ignore patterns
("*.env*" and ".env") already cover them; locate the entries named ".env.local"
and ".env" in the .gitignore and remove those two lines so the file only keeps
the broader "*.env*" and ".env" patterns for maintainability.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 36f1c5f5-3ff4-4a9b-9a3d-ac7f8f7d550b

📥 Commits

Reviewing files that changed from the base of the PR and between 18a8466 and 4b0ff4a.

⛔ Files ignored due to path filters (294)
  • package-lock.json is excluded by !**/package-lock.json
  • public/audio/audio-preview/Alphabet Chart/Chart Icon/en/ChartNarration.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/Chart Icon/kn/ChartNarration.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/Chart Icon/te/ChartNarration.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/en/alphabetNarration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/en/alphabetNarration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/en/alphabetNarration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/en/syllableNarration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/en/syllableNarration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/en/syllableNarration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/kn/alphabetNarration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/kn/alphabetNarration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/kn/alphabetNarration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/kn/syllableNarration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/kn/syllableNarration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/kn/syllableNarration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/te/alphabetNarration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/te/alphabetNarration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/te/alphabetNarration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/te/syllableNarration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/te/syllableNarration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/Alphabet Chart/te/syllableNarration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/introduction/en/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/introduction/hi/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/introduction/kn/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/introduction/mr/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/introduction/te/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-hunt/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/all_ready.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/amazing.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/correct_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_meter.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_requirement.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_rilo.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/game_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/great_job.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/intro_destination.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/intro_narrator.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/intro_rocket.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/practice_controls.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/practice_intro.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/practice_question.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/ready_to_start.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/rilo_appears.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/en/wrong_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/all_ready.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/amazing.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/correct_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_meter.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_requirement.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_rilo.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/game_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/great_job.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/intro_destination.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/intro_narrator.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/intro_rocket.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/practice_controls.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/practice_intro.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/practice_question.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/ready_to_start.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/rilo_appears.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/wrong_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/all_ready.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/amazing.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/correct_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_meter.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_requirement.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_rilo.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/game_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/great_job.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/intro_destination.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/intro_narrator.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/intro_rocket.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/practice_controls.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/practice_intro.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/practice_question.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/ready_to_start.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/rilo_appears.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/wrong_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/all_ready.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/amazing.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/correct_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_meter.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_requirement.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_rilo.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/game_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/great_job.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/intro_destination.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/intro_narrator.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/intro_rocket.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/practice_controls.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/practice_intro.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/practice_question.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/ready_to_start.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/rilo_appears.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/wrong_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/all_ready.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/amazing.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/correct_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_meter.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_requirement.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_rilo.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/game_explanation.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/great_job.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/intro_destination.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/intro_narrator.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/intro_rocket.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/practice_controls.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/practice_intro.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/practice_question.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/ready_to_start.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/rilo_appears.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/letter-launcher-story/te/wrong_feedback.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/memory-challenge/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-letter-games/quick-sight/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/introduction/en/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/introduction/hi/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/introduction/kn/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/introduction/mr/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/introduction/te/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-sentence-games/true-or-false/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/introduction/en/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/introduction/hi/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/introduction/kn/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/introduction/mr/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/introduction/te/introduction.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/picture-words/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/en/bread.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/en/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/en/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/en/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/en/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/hi/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/hi/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/hi/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/hi/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/kn/bread.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/kn/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/kn/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/kn/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/kn/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/kn/ಪಕ್ಷಿ.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/mr/bread.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/mr/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/mr/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/mr/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/mr/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/mr/सफरचंद.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/te/bread.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/te/narration1.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/te/narration2.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/te/narration3.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/te/narration4.wav is excluded by !**/*.wav
  • public/audio/audio-preview/combined-word-games/sound-match/te/పక్షి.wav is excluded by !**/*.wav
📒 Files selected for processing (6)
  • .env
  • .github/workflows/all-dev-rig.yml
  • .gitignore
  • config-overrides.js
  • package.json
  • postcss.config.js
💤 Files with no reviewable changes (1)
  • .env

Comment on lines +111 to +125
"@babel/preset-typescript": "^7.28.5",
"@mui/styles": "^5.15.10",
"autoprefixer": "^10.4.23",
"customize-cra": "^1.0.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"husky": "^9.0.11",
"lint-staged": "^11.0.0",
"postcss": "^8.5.6",
"prettier": "^2.3.2",
"react": "^18.2.0"
"react": "^18.2.0",
"react-app-rewired": "^2.2.1",
"tailwindcss": "^3.4.17",
"tailwindcss-animate": "^1.0.7"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== typescript dependency presence =="
jq -r '.dependencies.typescript // "MISSING in dependencies"' package.json
jq -r '.devDependencies.typescript // "MISSING in devDependencies"' package.json

echo
echo "== tsconfig files =="
fd -HI 'tsconfig*.json' || true

echo
echo "== TypeScript source files =="
fd -e ts -e tsx || true

echo
echo "== Babel preset usage check =="
rg -n "@babel/preset-typescript|preset-typescript|babel.config|\\.babelrc" || true

Repository: Sunbird-ALL/all-learner-ai-app

Length of output: 15589


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Root-level tsconfig.json =="
if [ -f tsconfig.json ]; then
  cat -n tsconfig.json | head -30
else
  echo "NOT FOUND at root"
fi

echo
echo "== Check if react-scripts (CRA core) is in dependencies =="
jq -r '.dependencies."react-scripts" // .devDependencies."react-scripts" // "NOT FOUND"' package.json

echo
echo "== Check build/start scripts =="
jq -r '.scripts.start, .scripts.build' package.json

Repository: Sunbird-ALL/all-learner-ai-app

Length of output: 347


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== TypeScript availability via react-scripts =="
if [ -d "node_modules/typescript" ]; then
  echo "✓ typescript found in node_modules"
  cat node_modules/typescript/package.json | jq -r '.version'
else
  echo "✗ typescript NOT found"
fi

echo
echo "== Check if react-scripts lists typescript as dependency =="
if [ -f "node_modules/react-scripts/package.json" ]; then
  jq -r '.peerDependencies.typescript // .dependencies.typescript // "NOT LISTED"' node_modules/react-scripts/package.json
else
  echo "react-scripts package.json not found"
fi

echo
echo "== Check if there's a config override file for react-app-rewired =="
find . -maxdepth 2 -name "config-overrides.js" -o -name ".babelrc*" -o -name "babel.config.*" 2>/dev/null || echo "No override files found"

Repository: Sunbird-ALL/all-learner-ai-app

Length of output: 333


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== config-overrides.js content =="
head -50 config-overrides.js

echo
echo "== Look for typescript in pnpm store =="
find node_modules/.pnpm -maxdepth 1 -name "*typescript*" -type d 2>/dev/null | head -5 || echo "Not found in pnpm store"

echo
echo "== Check pnpm-lock.yaml for typescript =="
if [ -f "pnpm-lock.yaml" ]; then
  rg "typescript:" pnpm-lock.yaml | head -10 || echo "typescript not in lock file"
else
  echo "pnpm-lock.yaml not found"
fi

Repository: Sunbird-ALL/all-learner-ai-app

Length of output: 928


Add typescript dependency to enable TypeScript compilation and type checking.

The project contains 150+ .ts/.tsx source files but is missing the typescript package. While @babel/preset-typescript strips type annotations and config-overrides.js adds extension resolution, neither provides actual TypeScript compilation, type-checking, or IDE support. The typescript package is required for the build to properly handle these files.

Suggested fix
"devDependencies": {
+  "typescript": "^5.6.0",
   "@babel/preset-typescript": "^7.28.5",
   "autoprefixer": "^10.4.23",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` around lines 111 - 125, The package.json is missing the
TypeScript compiler package; add "typescript" to package.json (preferably under
devDependencies) alongside the existing "@babel/preset-typescript" entry so the
project can perform actual TypeScript compilation and type-checking, then run
your package manager install to update lockfile; ensure the new dependency is
reflected where the other dev tools (e.g., "eslint", "husky",
"@babel/preset-typescript") are declared so editors/CI pick up TypeScript
support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants