feat: add missing igr-ts templates - #1796
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The new Range Slider template imports a missing style.module.css, which will cause generated projects to fail to build.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds missing Ignite UI for React (TypeScript / igr-ts) component templates to the CLI so ig add can scaffold additional React components with default sample code and tests, addressing the React template coverage gap from #1784.
Changes:
- Adds new
BaseComponentregistrations for multiple React components underpackages/cli/templates/react/igr-ts/*/index.ts. - Adds default template metadata (
IgniteUIForReactTemplate) plus scaffolded component samples (.tsx) and module CSS for each component. - Adds Vitest-based component rendering smoke tests for most new templates.
File summaries
| File | Description |
|---|---|
| packages/cli/templates/react/igr-ts/tooltip/index.ts | Registers Tooltip component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/tooltip/default/index.ts | Defines the default Tooltip template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/tooltip/default/files/src/app/path/style.module.css | Styling for the generated Tooltip sample component. |
| packages/cli/templates/react/igr-ts/tooltip/default/files/src/app/path/filePrefix.tsx | Tooltip sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/tooltip/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Tooltip sample. |
| packages/cli/templates/react/igr-ts/toggle-button/index.ts | Registers Toggle Button component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/toggle-button/default/index.ts | Defines the default Toggle Button template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/toggle-button/default/files/src/app/path/style.module.css | Styling for the generated Toggle Button sample component. |
| packages/cli/templates/react/igr-ts/toggle-button/default/files/src/app/path/filePrefix.tsx | Toggle Button sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/toggle-button/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Toggle Button sample. |
| packages/cli/templates/react/igr-ts/toast/index.ts | Registers Toast component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/toast/default/index.ts | Defines the default Toast template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/toast/default/files/src/app/path/style.module.css | Styling for the generated Toast sample component. |
| packages/cli/templates/react/igr-ts/toast/default/files/src/app/path/filePrefix.tsx | Toast sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/toast/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Toast sample. |
| packages/cli/templates/react/igr-ts/tile-manager/index.ts | Registers Tile Manager component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/tile-manager/default/index.ts | Defines the default Tile Manager template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/tile-manager/default/files/src/app/path/style.module.css | Styling for the generated Tile Manager sample component. |
| packages/cli/templates/react/igr-ts/tile-manager/default/files/src/app/path/filePrefix.tsx | Tile Manager sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/tile-manager/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Tile Manager sample. |
| packages/cli/templates/react/igr-ts/stepper/index.ts | Registers Stepper component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/stepper/default/index.ts | Defines the default Stepper template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/stepper/default/files/src/app/path/style.module.css | Styling for the generated Stepper sample component. |
| packages/cli/templates/react/igr-ts/stepper/default/files/src/app/path/filePrefix.tsx | Stepper sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/stepper/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Stepper sample. |
| packages/cli/templates/react/igr-ts/snackbar/index.ts | Registers Snackbar component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/snackbar/default/index.ts | Defines the default Snackbar template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/snackbar/default/files/src/app/path/style.module.css | Styling for the generated Snackbar sample component. |
| packages/cli/templates/react/igr-ts/snackbar/default/files/src/app/path/filePrefix.tsx | Snackbar sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/snackbar/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Snackbar sample. |
| packages/cli/templates/react/igr-ts/select/index.ts | Registers Select component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/select/default/index.ts | Defines the default Select template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/select/default/files/src/app/path/style.module.css | Styling for the generated Select sample component. |
| packages/cli/templates/react/igr-ts/select/default/files/src/app/path/filePrefix.tsx | Select sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/select/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Select sample. |
| packages/cli/templates/react/igr-ts/range-slider/index.ts | Registers Range Slider component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/range-slider/default/index.ts | Defines the default Range Slider template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/range-slider/default/files/src/app/path/filePrefix.tsx | Range Slider sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/nav-drawer/index.ts | Registers Nav Drawer component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/nav-drawer/default/index.ts | Defines the default Nav Drawer template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/nav-drawer/default/files/src/app/path/style.module.css | Styling for the generated Nav Drawer sample component. |
| packages/cli/templates/react/igr-ts/nav-drawer/default/files/src/app/path/filePrefix.tsx | Nav Drawer sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/nav-drawer/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Nav Drawer sample. |
| packages/cli/templates/react/igr-ts/mask-input/index.ts | Registers Mask Input component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/mask-input/default/index.ts | Defines the default Mask Input template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/mask-input/default/files/src/app/path/style.module.css | Styling for the generated Mask Input sample component. |
| packages/cli/templates/react/igr-ts/mask-input/default/files/src/app/path/filePrefix.tsx | Mask Input sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/mask-input/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Mask Input sample. |
| packages/cli/templates/react/igr-ts/highlight/index.ts | Registers Highlight component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/highlight/default/index.ts | Defines the default Highlight template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/highlight/default/files/src/app/path/style.module.css | Styling for the generated Highlight sample component. |
| packages/cli/templates/react/igr-ts/highlight/default/files/src/app/path/filePrefix.tsx | Highlight sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/highlight/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Highlight sample. |
| packages/cli/templates/react/igr-ts/file-input/index.ts | Registers File Input component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/file-input/default/index.ts | Defines the default File Input template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/file-input/default/files/src/app/path/style.module.css | Styling for the generated File Input sample component. |
| packages/cli/templates/react/igr-ts/file-input/default/files/src/app/path/filePrefix.tsx | File Input sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/file-input/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated File Input sample. |
| packages/cli/templates/react/igr-ts/dialog/index.ts | Registers Dialog component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/dialog/default/index.ts | Defines the default Dialog template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/dialog/default/files/src/app/path/style.module.css | Styling for the generated Dialog sample component. |
| packages/cli/templates/react/igr-ts/dialog/default/files/src/app/path/filePrefix.tsx | Dialog sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/dialog/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Dialog sample. |
| packages/cli/templates/react/igr-ts/date-time-input/index.ts | Registers Date Time Input component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/date-time-input/default/index.ts | Defines the default Date Time Input template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/date-time-input/default/files/src/app/path/style.module.css | Styling for the generated Date Time Input sample component. |
| packages/cli/templates/react/igr-ts/date-time-input/default/files/src/app/path/filePrefix.tsx | Date Time Input sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/date-time-input/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Date Time Input sample. |
| packages/cli/templates/react/igr-ts/date-range-picker/index.ts | Registers Date Range Picker component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/date-range-picker/default/index.ts | Defines the default Date Range Picker template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/date-range-picker/default/files/src/app/path/style.module.css | Styling for the generated Date Range Picker sample component. |
| packages/cli/templates/react/igr-ts/date-range-picker/default/files/src/app/path/filePrefix.tsx | Date Range Picker sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/date-range-picker/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Date Range Picker sample. |
| packages/cli/templates/react/igr-ts/combo/index.ts | Registers Combo component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/combo/default/index.ts | Defines the default Combo template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/combo/default/files/src/app/path/style.module.css | Styling for the generated Combo sample component. |
| packages/cli/templates/react/igr-ts/combo/default/files/src/app/path/filePrefix.tsx | Combo sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/combo/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Combo sample. |
| packages/cli/templates/react/igr-ts/chat/index.ts | Registers Chat component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/chat/default/index.ts | Defines the default Chat template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/chat/default/files/src/app/path/style.module.css | Styling for the generated Chat sample component. |
| packages/cli/templates/react/igr-ts/chat/default/files/src/app/path/filePrefix.tsx | Chat sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/chat/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Chat sample. |
| packages/cli/templates/react/igr-ts/carousel/index.ts | Registers Carousel component metadata for the CLI template library. |
| packages/cli/templates/react/igr-ts/carousel/default/index.ts | Defines the default Carousel template metadata (id, packages, etc.). |
| packages/cli/templates/react/igr-ts/carousel/default/files/src/app/path/style.module.css | Styling for the generated Carousel sample component. |
| packages/cli/templates/react/igr-ts/carousel/default/files/src/app/path/filePrefix.tsx | Carousel sample component implementation for generated apps. |
| packages/cli/templates/react/igr-ts/carousel/default/files/src/app/path/filePrefix.test.tsx | Vitest render smoke test for the generated Carousel sample. |
Review details
- Files reviewed: 88/88 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| import style from './style.module.css'; | ||
| import { IgrRangeSlider } from 'igniteui-react'; | ||
| import 'igniteui-webcomponents/themes/light/bootstrap.css'; |
|
Two components are missing templates: IgrThemeProvider and IgrSplitter. Other than that I made a commit fixing the missing test and style for range-slider and made a fix for chat template style. |
Description
Related Issue
Closes #1784
Type of Change
Affected Packages
igniteui-cli(packages/cli)@igniteui/cli-core(packages/core)@igniteui/angular-templates(packages/igx-templates)@igniteui/angular-schematics(packages/ng-schematics)@igniteui/mcp-server(packages/igniteui-mcp)Checklist
npm run test)npm run build)npm run lint)Additional Context