npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@progress/kendo-cli

v1.23.0

Published

To install:

Readme

Kendo CLI

To install:

npm install --global @progress/kendo-cli

Interactive Mode

Run kendo without any arguments to launch the interactive wizard — a guided, tree-structured experience that walks you through every command with a visual step-by-step flow.

kendo

Menu Structure

The wizard presents a two-level menu. The top level contains direct actions and two sub-menus that group related commands:

● Create new project
○ Set up your environment
○ Enhance Project ──────────────────────────────────────────────
  ○ Add pages / components            (kendo scaffold)
  ○ Add Kendo to existing project     (kendo add)
  ○ Migrate to latest version         (kendo migrate)
  ○ Build custom jQuery bundle        (kendo custom-build)
  ○ Configure AI generator (MCP)      (kendo mcp)
  ○ Go Back
○ Utilities ────────────────────────────────────────────────────
  ○ Manage license                    (kendo license)
  ○ Account settings
  ○ Display system & configuration info
  ○ Print machine ID
  ○ Go Back
○ Upgrade CLI
○ Exit

Guided Flows

Each command prompts you through its options interactively:

  • Create — Select product, template, app name, theme, swatch, and styling
  • Scaffold — Select product, detect/confirm project directory, choose component
  • Add — Detect framework, choose Kendo UI packages to add
  • Setup — Detects already-configured products, prompts only for remaining ones
  • MCP — Detects already-configured servers, prompts for product and IDE
  • Migrate — Choose scope, target version, mode, optional codemods, and AI mode
  • License — Choose action (View info, Activate, Download / refresh, Go Back)
  • Custom Build — Runs the jQuery custom bundle build flow
  • Account settings — Show current user or log in via browser OAuth

Tree UI

The wizard uses a tree-flow visual style to show progress through selections:

◆ Kendo CLI
│
◆  Interactive Menu
 ● Create new project  (kendo create)
 ○ Set up your environment
 ...

After each selection a completed node is printed and persists in the terminal history:

◇  Interactive Menu
│   Create new project
│
◇  Which product?
│   KendoReact
│
◇  KendoReact app ready  ✓──────────────────────────────────────╮
│                                                                │
│ Next steps                                                     │
│ • cd KendoReactApp                                             │
│ • npm install                                                  │
│ • npm run dev                                                  │
│                                                                │
│ Theme    Meridian                                              │
│ Swatch   meridian-main                                         │
│ Styling  CSS                                                   │
│ License  KendoReact Perpetual (2029-07-04)                     │
│                                                                │
│ Docs  https://www.telerik.com/kendo-react-ui/components/       │
╰────────────────────────────────────────────────────────────────╯
│

? What would you like to do next?
› Back to main menu
  Exit

Features

  • Tree-flow UI with ◆ / ◇ / │ visual connectors for clear step progression
  • Nested sub-menus for grouped commands (Enhance Project, Utilities)
  • Color-coded selection indicators (● selected, ○ unselected, faded non-selected items)
  • Meridian theme listed first in theme selection; Default listed last
  • Automatic detection of already-configured products (setup, MCP)
  • Project detection for scaffold commands
  • Progress spinner during command execution
  • Connected result box after each command (box border joins the tree trunk)
  • "What would you like to do next?" prompt after Account settings and Upgrade CLI

License

A valid Telerik / Kendo UI license is required to use the components in your projects.

Activate your license

Find your license key at https://www.telerik.com/account/your-licenses, then run:

kendo license activate

The command searches for a license key in the TELERIK_LICENSE / KENDO_UI_LICENSE environment variables and in telerik-license.txt / kendo-ui-license.txt files located in the current directory, any parent directory, or ~/.telerik/.

Download / refresh a license key

Opens a browser to authenticate with telerik.com and saves a fresh key to ~/.telerik/telerik-license.txt:

kendo license refresh

Inspect the active license

kendo license info

Prints the audience, issue date, and the list of products covered by the current license key.

license activate options

| Option | Description | |--------|-------------| | --ignore-no-license | Exit with code 0 even when no license file is found. Useful in CI pipelines where a missing license should be a warning, not a failure. |


Kendo UI Agent (MCP)

Connect your AI coding assistant to the Kendo UI / Telerik MCP servers so it can look up components, APIs, and best practices directly from the official documentation.

Configure for a specific product and IDE

# Configure the KendoReact MCP server for Cursor
kendo mcp config react --ide=cursor

# Configure the Kendo UI for jQuery MCP server for Visual Studio
kendo mcp config jquery --ide=visualstudio

# Configure for all supported IDEs at once
kendo mcp config react --ide=all

Available products: react, angular, jquery, all

Supported IDEs: cursor, vscode, visualstudio, all

Configure all products for all IDEs in one shot

kendo mcp all

Force-overwrite existing entries

By default, mcp config and mcp all skip servers that are already present in a config file. Pass --force to overwrite them instead — useful after a CLI update that ships corrected package names or new arguments:

kendo mcp config react --ide=cursor --force
kendo mcp all --force

JSON output (useful in scripts / CI)

Pass --json to any mcp command to get machine-readable output:

kendo mcp config react --ide=cursor --json
{
  "exitCode": 0,
  "message": "MCP servers registered successfully.",
  "data": {
    "registered": [
      { "ide": "Cursor", "configPath": "/Users/you/.cursor/mcp.json" }
    ]
  },
  "success": true
}

MCP config files written per IDE:

| IDE | Config file | |-----|-------------| | Cursor | ~/.cursor/mcp.json | | Visual Studio Code | ~/Library/Application Support/Code/User/mcp.json (macOS) | | Visual Studio | ~/.mcp.json |

MCP command synopsis

kendo mcp config <product>

Configures MCP servers for a specific IDE and product

Positionals:
  product  Product to configure
           [string] [required]
           [choices: "angular", "jquery", "react", "all"]

Options:
  --ide    IDE to configure
           [string] [required] [choices: "cursor", "vscode", "visualstudio", "all"] [default: "all"]
  --json   Output in JSON format                          [boolean] [default: false]
  --force  Overwrite existing MCP server entries instead of skipping them
                                                         [boolean] [default: false]
kendo mcp all

Configures all MCP servers for all IDEs and products

Options:
  --json   Output in JSON format                          [boolean] [default: false]
  --force  Overwrite existing MCP server entries instead of skipping them
                                                         [boolean] [default: false]

mcp options reference

| Option | Applies to | Description | |--------|-----------|-------------| | --ide=<ide> | mcp config | IDE to configure. One of cursor, vscode, visualstudio, all. Defaults to all. | | --json | mcp config, mcp all | Print a machine-readable JSON result instead of human-readable output. | | --force | mcp config, mcp all | Overwrite server entries that are already present in a config file. Without this flag, existing entries are left untouched. |


KendoReact Project Generator

Kendo ♥ Next.js

To use KendoReact and create a new React project using Next.js:

# JavaScript with routing
npx kendo create react nextjs MyKendoApp --theme
# JavaScript without routing
npx kendo create react nextjs MyKendoApp --no-app
# TypeScript with routing
npx kendo create react nextjs MyKendoApp --ts
# TypeScript without routing
npx kendo create react nextjs MyKendoApp --ts --no-app

Options

Language options:

  • --js - Use JavaScript (default)
  • --ts - Use TypeScript

Theme options:

  • --theme=meridian
  • --theme=bootstrap
  • --theme=material
  • --theme=fluent
  • --theme=default

Other:

  • --eslint - Initialize with eslint config.
  • --no-app - Initialize as no App Router project.
  • --no-src-dir - Initialize without a src/ directory.
  • --import-alias="@/*" - Specify import alias to use.

Build and Run

After the project is generated, navigate into the new directory, install packages, build and run:

cd MyKendoApp
npm install
npm run dev

KendoReact Project Generator Synopsis

kendo create react nextjs [name]

Create KendoReact app based on NextJS

Positionals:
  name  Name of the generated application.   [string] [default: "KendoReactApp"]

Options:
      --help              Show help                                    [boolean]
      --version           Show version number                          [boolean]
  -v, --verbose           Set verbosity level, e.g. -vvv sets verbosity to level
                          3. max 5.                         [count] [default: 1]
  -q, --quiet             Silence output as much as possible. Sets verbosity to
                          level 0.                    [boolean] [default: false]
      --javascript, --js  Initialize as a JavaScript project.
                                                      [boolean] [default: false]
      --typescript, --ts  Initialize as a TypeScript project.
                                                      [boolean] [default: false]
      --eslint            Initialize with eslint config.
                                                      [boolean] [default: false]
      --app               Initialize as an App Router project.
                                                       [boolean] [default: true]
      --src-dir           Initialize inside a `src/` directory.
                                                       [boolean] [default: true]
      --import-alias      Specify import alias to use (default "@/*").
                                                       [string] [default: "@/*"]
      --theme             Kendo theme to apply.
     [string] [choices: "meridian", "bootstrap", "material", "fluent", "default"] [default: "default"]

Kendo ♥ Vite

To use KendoReact and create a new React project using Vite:

# Create KendoReact app with Vite with theme option 
npx kendo create react nextjs MyKendoApp --theme=bootstrap

# Create KendoReact app with Vite with styling option
npx kendo create react nextjs MyKendoApp --styling=Sass

Options

Styling options:

  • --styling=CSS - Use CSS styling (default)
  • --styling=Sass - Use Sass styling

Theme options:

  • --theme=meridian
  • --theme=bootstrap
  • --theme=material
  • --theme=fluent
  • --theme=default

Other options:

  • --free - Use KendoReact Free components only.

kendo create react vite [name]

Create KendoReact app with Vite.

Positionals:
  name  Name of the generated application.   [string] [default: "KendoReactApp"]

Options:
      --help              Show help                                    [boolean]
      --version           Show version number                          [boolean]
  -v, --verbose           Set verbosity level, e.g. -vvv sets verbosity to level
                          3. max 5.                         [count] [default: 1]
  -q, --quiet             Silence output as much as possible. Sets verbosity to
                          level 0.                    [boolean] [default: false]
      --typescript, --ts  Initialize as a TypeScript project.
                                                      [boolean] [default: false]
      --styling           Styling language
                              [string] [choices: "CSS", "Sass"] [default: "CSS"]
      --theme             Kendo theme to apply.
     [string] [choices: "meridian", "bootstrap", "material", "fluent", "default"] [default: "default"]

Kendo ♥ Astro

To use KendoReact and create a new React project using Astro:

# Create KendoReact app with Astro with theme option 
npx kendo create react astro MyKendoApp --theme=bootstrap

# Create KendoReact app with Astro with styling option
npx kendo create react astro MyKendoApp --styling=Sass

Options

Styling options:

  • --styling=CSS - Use CSS styling (default)
  • --styling=Sass - Use Sass styling

Theme options:

  • --theme=meridian
  • --theme=bootstrap
  • --theme=material
  • --theme=fluent
  • --theme=default
kendo create react astro [name]

Create KendoReact app with Astro.

Positionals:
  name  Name of the generated application.   [string] [default: "KendoReactApp"]

Options:
      --help              Show help                                    [boolean]
      --version           Show version number                          [boolean]
  -v, --verbose           Set verbosity level, e.g. -vvv sets verbosity to level
                          3. max 5.                         [count] [default: 1]
  -q, --quiet             Silence output as much as possible. Sets verbosity to
                          level 0.                    [boolean] [default: false]
      --typescript, --ts  Initialize as a TypeScript project.
                                                      [boolean] [default: false]
      --styling           Styling language
                              [string] [choices: "CSS", "Sass"] [default: "CSS"]
      --theme             Kendo theme to apply.
     [string] [choices: "meridian", "bootstrap", "material", "fluent", "default"] [default: "default"]

Kendo jQuery Project Generator

To use Kendo UI for jQuery and create a new jQuery project using our new project templates:

  1. Blank Template - A simple ASP.NET MVC project with no pages with included Kendo UI for jQuery scripts and stylesheets.
# Create Kendo UI for jQuery app with Blank Template
npx kendo create jquery jba MyjQueryBlankApp 
  1. Admin Template - A complex ASP.NET MVC application with multiple views which include a Task Dashboard, Products and Performance statistics as well as an Account Settings page (back-end is not included). The project showcases many Kendo UI for jQuery components, including Grid, Charts, and many navigational components.
# Create Kendo UI for jQuery app with Admin Template 
npx kendo create jquery jqa MyjQueryAdminApp
  1. *Dashboard Template - An ASP.NET MVC project which mocks a Team Efficiency report, with a ListView component that contains team members, and a Scheduler and Chart components that represent task and performance information.
# Create Kendo UI for jQuery app with Dashboard Template
npx kendo create jquery jda MyjQueryDashboardApp
  1. *Dashboard Layout Template - An ASP.NET MVC project that represents various data displayed through multiple Chart components, which are placed in a TileLayout.
# Create Kendo UI for jQuery app with Dashboard Layout Template
npx kendo create jquery jdla MyjQueryDashboardLayoutApp
  1. Grid Template - An ASP.NET MVC project that demonstrates a simple Grid configuration.
# Create Kendo UI for jQuery app with Grid Template
npx kendo create jquery jga MyjQueryGridApp
  1. Standard Template - An ASP.NET MVC project that showcases some of the navigational components in the Kendo UI for jQuery suite, such as PanelBar, Menu, TabStrip, and TreeView.
# Create Kendo UI for jQuery app with Standard Template
npx kendo create jquery jsa MyjQueryStandardApp

Options

Theme options:

  • --theme=meridian
  • --theme=bootstrap
  • --theme=material
  • --theme=fluent
  • --theme=default

Build and Run

After the project is generated, navigate into the new directory, install packages, build and run:

cd MyKendojQueryApp
npm install
npm start

Kendo UI for jQuery Project Generator Synopsis

kendo create jquery [template] [name] 

Create a new jQuery app.

Commands:
  kendo create jquery jqa [name]   Create jQuery Admin app
  kendo create jquery jba [name]   Create jQuery Blank app
  kendo create jquery jda [name]   Create jQuery Dashboard app
  kendo create jquery jdla [name]  Create jQuery Dashboard Layout app
  kendo create jquery jga [name]   Create jQuery Grid app
  kendo create jquery jsa [name]   Create jQuery Standard app

Options:
      --help     Show help                                             [boolean]
      --version  Show version number                                   [boolean]
  -v, --verbose  Set verbosity level, e.g. -vvv sets verbosity to level 3. max
                 5.                                         [count] [default: 1]
  -q, --quiet    Silence output as much as possible. Sets verbosity to level 0.
                                                      [boolean] [default: false]
      --theme    Kendo theme to apply.
     [string] [choices: "meridian", "bootstrap", "material", "fluent", "default"] [default: "default"]

Kendo Angular Project Generator

To use Kendo UI for Angular and create a new Angular project using our new project template:

  1. Blank Template - A simple Angular project with no pages with included Kendo UI for Angular scripts and stylesheets.
# Create Kendo UI for Angular app with Blank Template
npx kendo create angular aba MyAngularBlankApp 

Options

Theme options:

  • --theme=meridian
  • --theme=bootstrap
  • --theme=material
  • --theme=fluent
  • --theme=default

Swatch options:

  • --swatch=default-main
  • --swatch=default-main-dark
  • --swatch=default-nordic
  • --swatch=default-purple
  • --swatch=default-turquoise
  • --swatch=default-ocean-blue
  • --swatch=default-ocean-blue-a11y
  • --swatch=fluent-main
  • --swatch=fluent-main-dark
  • --swatch=bootstrap-main
  • --swatch=bootstrap-main-dark
  • --swatch=bootstrap-nordic
  • --swatch=bootstrap-urban
  • --swatch=bootstrap-vintage
  • --swatch=material-main
  • --swatch=material-main-dark
  • --swatch=material-arctic
  • --swatch=material-lime-dark
  • --swatch=material-nova

Build and Run

After the project is generated, navigate into the new directory, install packages, build and run:

cd MyAngularBlankApp
npm install
ng build 
ng serve

Kendo UI for Angular Project Generator Synopsis


Create a new Kendo UI for Angular app.

Commands:
  kendo create angular aba [name]  Create Angular Blank app

Options:
  -h, --help     Show help                                             [boolean]
      --version  Show version number                                   [boolean]
  -v, --verbose  Set verbosity level, e.g. -vvv sets verbosity to level 3. max
                 5.                                         [count] [default: 1]
  -q, --quiet    Silence output as much as possible. Sets verbosity to level 0.
                                                      [boolean] [default: false]
      --theme    Kendo theme to apply.
     [string] [choices: "meridian", "bootstrap", "material", "fluent", "default"] [default: "default"] 
      --swatch    Kendo theme swatch to apply.
     [string] [choices: "default-main", "default-main-dark", "default-nordic", "default-purple", "default-turquoise", "default-ocean-blue", "default-ocean-blue-a11y",
            "fluent-main", "fluent-main-dark", "bootstrap-main", "bootstrap-main-dark", "bootstrap-nordic", "bootstrap-urban", "bootstrap-vintage",
            "material-main", "material-main-dark", "material-arctic", "material-lime-dark", "material-nova"]                                                                             

Kendo UI for Vue Project Generator Synopsis

To use Kendo UI for Vue and create a new Vue project using Vite:

# Create KendoReact app with Vite with theme option 
npx kendo create vue vite MyKendoVueApp --theme=bootstrap

# Create KendoReact app with Vite with styling option
npx kendo create vue vite MyKendoVueApp --styling=Sass

Options

Styling options:

  • --styling=CSS - Use CSS styling (default)
  • --styling=Sass - Use Sass styling

Theme options:

  • --theme=meridian
  • --theme=bootstrap
  • --theme=material
  • --theme=fluent
  • --theme=default
kendo create vue vite [name]

Create Kendo UI for Vue app with Vite.

Positionals:
  name  Name of the generated application.   [string] [default: "KendoUIForVueApp"]

Options:
      --help              Show help                                    [boolean]
      --version           Show version number                          [boolean]
  -v, --verbose           Set verbosity level, e.g. -vvv sets verbosity to level
                          3. max 5.                         [count] [default: 1]
  -q, --quiet             Silence output as much as possible. Sets verbosity to
                          level 0.                    [boolean] [default: false]
      --typescript, --ts  Initialize as a TypeScript project.
                                                      [boolean] [default: false]
      --styling           Styling language
                              [string] [choices: "CSS", "Sass"] [default: "CSS"]
      --theme             Kendo theme to apply.
     [string] [choices: "meridian", "bootstrap", "material", "fluent", "default"] [default: "default"]

Custom Build

Generate a custom Kendo UI for jQuery UMD bundle that includes only the components you need, reducing the overall file size.

Quick Start

# Run interactive component selection and build
kendo custom-build jquery

# Use a specific Kendo UI version
kendo custom-build jquery --version 2026.1.1

# Use an existing config file without prompts
kendo custom-build jquery --no-interactive

# Specify a custom config file path
kendo custom-build jquery --config path/to/kendo-config.json

How It Works

  1. The CLI resolves and installs the target @progress/kendo-ui version.
  2. It discovers all available components from the installed package.
  3. In interactive mode, you select the components and features to include.
  4. The CLI bundles the selected components into a single kendo-custom.min.js file.
  5. A kendo-config.json file is saved so you can reproduce the build later.

Options

| Option | Description | Default | |--------|-------------|---------| | --version | Target @progress/kendo-ui version (2026+ only) | Latest | | --config, -c | Path to kendo-config.json | kendo-config.json | | --interactive | Run interactive selection (use --no-interactive to skip) | true |

Custom Build Synopsis

kendo custom-build jquery [options]

Generate a custom Kendo UI for jQuery UMD bundle with selected components.

Options:
      --help         Show help                                         [boolean]
      --version      Target @progress/kendo-ui version (2026+ only)    [string]
  -c, --config       Path to kendo-config.json    [string] [default: "kendo-config.json"]
      --interactive  Run interactive selection (use --no-interactive to skip)
                                                       [boolean] [default: true]

Setup

Set up Kendo UI in your development environment. The setup wizard walks you through license activation and MCP server configuration for your IDE.

Quick Start

# Set up KendoReact
kendo setup react

# Set up Kendo UI for Angular
kendo setup angular

# Set up Kendo UI for jQuery
kendo setup jquery

# Set up Kendo UI for Vue
kendo setup vue

Available products: react, vue, jquery, angular

What the Setup Wizard Does

  1. License — Checks for a valid Kendo license and opens a browser to authenticate if needed.
  2. MCP Server — Configures the product-specific MCP server for your IDE (Cursor, VS Code).

Machine ID

Print a hardware-based hash for your machine. Useful for license troubleshooting.

kendo machine-id

Upgrade CLI

Check whether a newer version of the Kendo CLI is available and print the upgrade command.

kendo upgrade

Also available from the interactive wizard under Utilities → Upgrade CLI.

The command compares the installed version against the latest published version on npm and shows:

| Field | Description | |-------|-------------| | Status | Whether you are up to date or an update is available | | Upgrade command | The exact npm install -g command to run |


Account Settings

View your Telerik / Progress account details from within the interactive wizard.

kendo
# → Utilities → Account settings

| Action | Description | |--------|-------------| | Show current user | Displays email and name from the stored session | | Log in | Opens a browser to authenticate with telerik.com and saves the session | | Go Back | Returns to the Utilities sub-menu |


Assisted Migration

Overview

  1. Install the Kendo CLI globally.

    npm i -g @progress/kendo-cli
  2. In the root of your project, run:

    npx @progress/kendo-cli migrate

    If not already installed, you will be prompted to install the Kendo CLI. Next, this command checks for available Kendo UI updates (including any peer dependencies), prompts you to install the updates, and then applies any available codemods on top.

  3. Confirm that you want to install the available updates.

  4. Confirm that you want to apply the available transformations.

  5. Review and accept the suggested transformations.The Kendo CLI begins to apply the available codemods version by version, starting with the transformations for the earliest version.

  6. Look for newly added code comments to your code. These indicate that you need to further adjust any existing custom logic.

  7. Finally, do a test run of your project to verify that everything works as expected.

Best Practices

For a more manageable migration process, consider the following recommended practices:

  • Migrate between consecutive major versions. For example, migrate from v10 to v11. This lets you review and adjust your code version by version, avoiding possible conflicts between breaking changes.
  • Migrate one package at a time. This provides finer control over the migration process.

Codemod Discovery Process

When upgrading a package, kendo-cli uses the package's package.json file to discover the available codemods.

The package metadata contains the codemod configuration, which defines the migration files associated with specific package versions.

The CLI reads this configuration and determines the codemods available for the requested upgrade version. The codemod definitions can either be provided directly in the package metadata or referenced through an external configuration file.


Codemod Configuration

Codemods are defined per package version. Each version can either contain:

  • A codemod definition directly.
  • An array of codemod definitions.
  • A path to a file that contains the codemod definition or the array of codemod definitions.

Supported Codemod Formats

Inline Codemod Configuration

The version property can directly contain the codemod or an array of codemod objects:

migrations: {
  ...,
  codemods {
    version: {
      description: "string description",
      file: "path/to/codemod/file",
      instructionsOnly: boolean
    },
  }
}
migrations: {
  ...,
  codemods {
    version: [
        {
          description: "string description",
          file: "path/to/codemod/file",
          instructionsOnly: boolean
        },
        ...
    ];
  }
}

Example:

migrations: {
  ...,
  codemods {
    "5.0.0": [
          {
              "description": "Update deprecated Grid configuration",
              "file": "./codemods/grid-update.js",
              "instructionsOnly": false
          }
      ]
  }
}

External Codemod Configuration File

Instead of defining the codemods directly inside package.json, the version properties can reference an external JSON file that contains the codemod definitions.

This approach is useful when a package contains multiple codemods or when keeping the package.json configuration minimal is preferred.

Example:

migrations: {
  ...,
  codemods {
    "v5": "/codemods/v5.json",
  }
}

The referenced JSON file should contain an array of codemod objects:

[
    {
        "description": "Update deprecated Grid configuration",
        "file": "./grid-update.js",
        "instructionsOnly": false
    }
]

The CLI resolves the provided path, loads the JSON file, and uses the array inside it as the codemod configuration for the specified version.

The structure of the codemod objects inside the external file is the same as the inline configuration format:

Both inline and external configurations result in the same internal codemod structure used by kendo-cli.

CLI Quick Guide

The following list describes the most common migration scenarios.

  • You can run any of the listed commands with or without a package specified.
  • If not already installed, you will be prompted to install the Kendo CLI when running npx @progress/kendo-cli migrate for the first time.
  • Once installed, you can also run commands with the kendo handle instead of npx @progress/kendo-cli. For example: kendo migrate.
# Install the Kendo CLI globally.
npm i -g @progress/kendo-cli

# Run a guided migration. You will be prompted every step of the way.
npx @progress/kendo-cli migrate

# Migrate a specific package.
npx @progress/kendo-cli migrate @progress/kendo-react-grid

# Migrate between specific versions.
npx @progress/kendo-cli migrate @progress/kendo-react-grid --from 10 --to 11

# Run a quick migration without any prompts.
npx @progress/kendo-cli migrate --force

# Only install the available updates. Do not run any codemods.
# Useful when you want to manually migrate your code.
npx @progress/kendo-cli migrate --no-codemods

# Only run the available codemods. Do not install any packages.
# Useful when you already have the packages installed.
npx @progress/kendo-cli migrate @progress/kendo-react-grid --no-install 

# Ignoring specific files or directories during the migration.
npx @progress/kendo-cli migrate @progress/kendo-react-grid --no-install --ignore-pattern="dist/**"

CLI Arguments

If you want more control over the migration, you can use any of the following arguments when running npx @progress/kendo-cli migrate.

| Argument | Description | Sample Use | | -------- | ----------- | ---------- | | <pkg> | Specifies one or more packages for which to execute the assisted migration (with any additional arguments). If not set, runs for all available Kendo packages. | npx @progress/kendo-cli migrate @progress/kendo-react-grid | | --help | Prints the help for the command. | npx @progress/kendo-cli migrate --help | | --version | Prints the version of the Kendo CLI. | npx @progress/kendo-cli --version | | --verbose | Sets the verbosity level of the command output on a level from 0 (silent) to 5 (most verbose). By default: 1. | npx @progress/kendo-cli migrate --verbose=3 | | --quiet | Silences the output as much as possible. Shorthand for --verbose=0. | npx @progress/kendo-cli migrate --quiet | | --force | Runs in force mode and does not ask for any confirmations. | npx @progress/kendo-cli migrate --force | | --to | Specifies the package version to migrate to. If not set, migrates to the latest available version of the respective package(s). | npx @progress/kendo-cli migrate @progress/kendo-react-grid --codemods --to=11 | | --from | Specifies the package version to migrate from. If not set, uses the current version. | npx @progress/kendo-cli migrate @progress/kendo-react-grid --codemods --from=10 | | --no-install | Skips the installation part of the migration. Use this option if you have already updated your packages and want to only run the available codemods. | npx @progress/kendo-cli migrate --no-install | | --no-codemods | Skips the codemods step of the migration. Use this option to only install the available updates. | npx @progress/kendo-cli migrate --no-codemods | | --no-peer-deps | Skips the installation of any peer dependencies for the updated packages. By default, the migrate command always installs the available peer dependencies. | npx @progress/kendo-cli migrate --no-peer-deps | | --no-optional | Skips the optional codemods, if any. Use this option to run only the required transformations. | npx @progress/kendo-cli migrate --no-optional | | --ignore-pattern | Specifies a glob pattern to ignore specific files or directories during the migration. Use this option to exclude files that you do not want to be modified. | npx @progress/kendo-cli migrate --ignore-pattern="dist/**" |


Telemetry

The Kendo CLI collects anonymous usage telemetry to help us understand how the tool is used and to improve it. Telemetry is sent to Progress Telerik's Application Insights service via OpenTelemetry.

What we collect

For each invocation we record a span that includes:

  • the executed command path (e.g. react create, jquery scaffold grid)
  • the action type (ProjectCreation, Scaffolding, Setup, Migrate, CustomBuild, Mcp, License)
  • the product code (e.g. KENDOUIREACT), template/scaffolder name and framework when applicable
  • the outcome (Success / Failure / Cancelled)
  • the CLI version, Node.js version, OS platform
  • an exit code and a sanitized error message when the command fails

We do not collect file contents, project names, source code, or any personally identifiable information. Absolute paths and email addresses that may appear in error messages are masked ([path], a*****@example.com) before they leave your machine.

Opting out

Telemetry honors the same environment variables as the .NET Telerik CLI:

| Variable | Effect | | ------------------------------------- | ----------------------------------------------------- | | TELERIK_TELEMETRY_OPTOUT=1 | Disables telemetry for all Telerik CLIs. | | TELERIK_KENDO_CLI_TELEMETRY_OPTOUT=1| Disables telemetry for the Kendo CLI only. |

Set either variable to 1, true, yes, or on to opt out. The first time the CLI runs after telemetry is enabled it prints a one-time notice to stderr and creates a sentinel file under your user profile so the notice is not shown again.

Local debugging

Set TELERIK_KENDO_CLI_TELEMETRY_LOG=/path/to/file.log to also write each span and log record to a local pipe-delimited file. This is useful for verifying what the CLI is about to send before opting in to remote collection.

The file sink is additive — by default the CLI still ships spans to its development Application Insights workspace at the same time. To run file-only (for example, during local development of new telemetry without polluting the shared dev workspace), explicitly disable the Azure exporter:

TELERIK_KENDO_CLI_APPINSIGHTS_CONNECTION_STRING=none \
TELERIK_KENDO_CLI_TELEMETRY_LOG=/tmp/kendo.log \
node libs/kendo-cli/dist/index.js machine-id

Accepted disable tokens: none, off, disabled, 0, false, empty string. Any other value is treated as a real connection string override.


Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.