Ignite UI Package and Repo Name Changes

Jason Beres [Infragistics] / Sunday, January 7, 2018

Over the years, Ignite UI has evolved from a jQuery UI widget library, to a family of UI component libraries and extensions that cover a wide variety of JavaScript frameworks for modern web development.  Along with this product evolution, our distributions for Ignite UI and its supported frameworks has become a bit more interesting.  We’ve evolved products to open source, changed how you can install via npm, and where you can access our bits in github.  As the number of repositories grew, with most of them made available as npm packages via npmjs, we’re starting to run into issues around repository names and the core product / framework they supported.  This blog is to inform you on how we are overcoming some of our naming issues with changes that will begin on January 15th, 2018.

Core Repositories and Packages

The current core repositories and packages (all accessible via github) that represent our UI components and extensions are:

Repository Name

Description

ignite-ui

Core Ignite UI for JavaScript repository and package. This is the jQuery-based product that Infragistics has been iterating on since 2010

ignite-ui-full

The full Ignite UI for JavaScript package. Available on our private npm feed (https://packages.infragistics.com/npm/js-licensed). The package includes ignite-ui

igniteui-angularjs

AngularJS extensions (up to AngularJS 1.6) for the core Ignite UI product (ignite-ui) and for the full Ignite UI for JavaScript product (ignite-ui-full)

igniteui-angular2

Angular extensions (up to version 2, 4 & 5) for the core Ignite UI product (ignite-ui) and for the full Ignite UI for JavaScript product (ignite-ui-full)

igniteui-react

ReactJS extensions for the core Ignite UI product (ignite-ui) and for the full Ignite UI for JavaScript product (ignite-ui-full)

igniteui-js-blocks

Native Angular UI components that are independent of the Ignite UI for JavaScript product. Initially code-named “JS Blocks”, the official name of the product is Ignite UI for Angular

igniteui-cli

Our command-line interface (CLI) built for all Ignite UI products and extensions

js-blocks-ui-kits

Our Sketch UI Kit which maps to our Angular widgets for pixel-perfect design in Sketch

 

This all made sense until 2 things happened:

  1. Google / Angular team released guidelines on how to name / refer to Angular version
  2. Infragistics renamed Ignite UI JS Blocks to Ignite UI for Angular

Which is where things started to get muddy … we renamed igniteui-angularjs from igniteui-angular, because both of those repositories and the igniteui-angular2 repository were created prior to the current naming conventions for Angular (when AngularJS was still referred to as “Angular” and Angular was referred to as “Angular 2”). Since those changes were introduced by Angular, we want to align our repository naming with their convention, but we were hesitant to do so for all repositories at once, to introduce as little breaking changes as possible, which is what we are announcing today.

Repository and Package Renaming

To correct the naming issue, we are introducing a breaking change in the repository names, which will make more sense long term with the naming conventions that the Angular team has introduced and with our own product names.

With this change, the existing Ignite UI for JavaScript main repositories remain unchanged, while derivative tools or extensions (for example, our React extensions) will be renamed igniteui-extensionName

If there is conflicts between extensions and products native to a framework, the extensions repository and package will be named “*-wrappers”.  We have a naming collision today with the old Ignite UI for JavaScript AngularJS wrappers and the new Ignite UI for Angular product, the main driver for this change.   

Yes, it’s confusing, but this table below clears it up.  The key takeaway is if you are doing Angular development, and want a pure Angular experience, your package is igniteui-angular, and your controls and everything good that goes along with it can start here.

 

Old Repo Name

New Repo Name

Description

ignite-ui

No Change

Core Ignite UI for JavaScript repository and package. This is the jQuery-based product that Infragistics has been iterating on since 2010

ignite-ui-full

No Change

The full Ignite UI for JavaScript package. Available on our private npm feed (https://packages.infragistics.com/npm/js-licensed). The package includes ignite-ui

igniteui-angularjs

No Change

AngularJS extensions (up to AngularJS 1.6) for the core Ignite UI product (ignite-ui) and for the full Ignite UI for JavaScript product (ignite-ui-full)

igniteui-angular2

igniteui-angular-wrappers

Angular extensions (up to version 2, 4 & 5) for the core Ignite UI product (ignite-ui) and for the full Ignite UI for JavaScript product (ignite-ui-full)

igniteui-react

No Change

ReactJS extensions for the core Ignite UI product (ignite-ui) and for the full Ignite UI for JavaScript product (ignite-ui-full)

igniteui-js-blocks

igniteui-angular

Our native Angular UI components that are independent of the Ignite UI for JavaScript product. Initially code-named “JS Blocks”, the official name of the product is Ignite UI for Angular

igniteui-cli

No Change

Our command-line interface (CLI) built for all Ignite UI products and extensions

js-blocks-ui-kits

igniteui-angular-ui-kits

Our Sketch UI Kit which maps to our Angular widgets for pixel-perfect design in Sketch

 

This change goes into effect January 15th 2018.  On the 15th, we will:

  • Existing igniteui-angular packages will be deprecated from npmjs, and will be replaced with a new package, under the same name, with the Ignite UI for Angular
  • The igniteui-js-blocks package will have a deprecation message
  • Any packages that have a new package name or change will include a deprecation message.

 

To make your life a lot easier … we recommend using the CLI to create projects that target Ignite UI for Angular or Ignite UI for JavaScript.  To get started with the CLI, go here, and follow the instructions to install and get creating awesome modern web experiences with Ignite UI.

If you have any questions, please shoot me an email jasonb@infragistics.com, I would love to hear from you.