Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Commit

Permalink
release(core): Nxtend 11 (#386)
Browse files Browse the repository at this point in the history
release(ionic-react/ionic-angular): Nxtend 11
  • Loading branch information
devinshoemaker committed Jan 5, 2021
1 parent 60a0db8 commit 4b43a21
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
---
title: 'Nx 11 Support and Plugin Updates'
author: Devin Shoemaker
author_title: Maintainer of nxtend
author_title: Maintainer of Nxtend
author_url: https://twitter.com/paranoidcoder
author_image_url: https://avatars2.githubusercontent.com/u/1919548?s=460&u=e8799ad545249d59bf57b7ee35a8841825004ca0&v=4
tags: [ionic-react, capacitor, release]
tags: [ionic-react, ionic-angular, capacitor, release]
---

The Nxtend plugins have been updated to support Nx 11, and with that are coming some changes. Nxtend plugin versions will now be more closely aligned with Nx, so all Nxtend plugins will be bumped to version 11.0.0.
The Nxtend plugins have been updated to support Nx 11, and with that are coming some changes. Nxtend plugin versions will now be more closely aligned with Nx, and the Ionic and Capacitor plugins will be more closely aligned with their respective projects. A lot of work have gone into the updates of each of these plugins. Features have been added, bugs have been fixed, and there were even some breaking changes. However, I think that Nxtend is the most sustainable and maintanable than ever.

# Ionic React
Read more for details on updates and upgrades...

<!-- truncate -->

## Ionic React

This plugin has some more dramatic changes compared to the rest. I have determined that some changes needed to be made to ensure the longevity of this project, and that resulted in the removal of some functionality. This is a breaking change in terms of interfacing with the plugin schematics, but it should not break existing applications. In this case, a number of options have been removed from the `application` schematic.

Expand All @@ -24,21 +28,21 @@ This includes:
--js
```

Ionic is built with the intention of supporting a certain stack, and maintaining additional configurations take a lot of effort, and a lot of CI/CD time. End-to-end tests for this plugin alone exceed 25 minutes, and every new configuration that is supported only adds to that. It will also be much easier to adopt upstream changes to the Ionic starters if there's not a need to support a variety of different configurations. In the future I want to support more schematics such as libraries, pages, and more, and I want to be able add these enhancements in a scalable manner.
In exchange, this plugin now supports generating several of the official starter templates, such as tabs and sidemenu. These changes more closely align this plugin with the Ionic CLI and will make the project vastly more maintainable. In the future I want to support more schematics such as libraries, pages, and more, and I want to be able add these enhancements in a scalable manner.

I hope the users of this plugin will understand this decision. Removing functionality is never a good user experience, but I believe that this change will pay dividends in the future.

## Features
### Features

- add additional Ionic starter templates to application schematic
- support custom Nx layouts
- update Ionic to 5.5.2

## Bug Fixes
### Bug Fixes

- fix generating an application in a sub-directory with Capacitor enabled

## BREAKING CHANGES
### BREAKING CHANGES

- remove `classComponent` option from `application` schematic (now defaults to functional components)
- remove `style` option from the `application` schematic (now defaults to CSS)
Expand All @@ -47,27 +51,75 @@ I hope the users of this plugin will understand this decision. Removing function
- remove `linter` option from the `application` schematic (now defaults to ESLint)
- remove `js` option from the `application` schematic (now defaults to true)

# Ionic Angular
## Ionic Angular

## Features
### Features

- Nx 11 support (Nx 11 now required)
- update Ionic to 5.5.2
- add additional Ionic starter templates to application schematic
- support `none` as a unit test and e2e config for the application schematic

## Bug Fixes
### Bug Fixes

- fix generating an application in a sub-directory with Capacitor enabled

# Capacitor
## Capacitor

## Features
### Features

- Nx 11 support (Nx 11 now required)
- update Capacitor to 2.4.5
- added `cap` builder for a more generic interface with the Capacitor CLI

# Capacitor
## Upgrading

If you are utilizing the `@nxtend/capacitor` plugin then you should upgrade this first:

```
nx migrate @nxtend/capacitor
yarn install
# or
npm install
nx migrate --run-migrations migrations.json
yarn install
# or
npm install
```

Next, you can upgrade the `@nxtend/ionic-react` plugin:

```
nx migrate @nxtend/ionic-react
yarn install
# or
npm install
nx migrate --run-migrations migrations.json
yarn install
# or
npm install
```

Or the `@nxtend/ionic-angular` plugin:

```
nx migrate @nxtend/ionic-react
yarn install
# or
npm install
nx migrate --run-migrations migrations.json
yarn install
# or
npm install
```

For information on upgrading the plugin, visit the [nxtend upgrades documentation](../docs/nxtend/upgrades).
For information on upgrading the plugin, visit the [nxtend upgrades documentation](../../../../docs/nxtend/upgrades).
2 changes: 1 addition & 1 deletion packages/capacitor/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@nxtend/capacitor",
"version": "2.0.2",
"version": "11.0.0",
"description": "An Nx plugin for developing cross-platform applications using Capacitor",
"author": {
"name": "Devin Shoemaker",
Expand Down
4 changes: 2 additions & 2 deletions packages/ionic-angular/package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "@nxtend/ionic-angular",
"version": "1.0.0",
"version": "11.0.0",
"main": "src/index.js",
"schematics": "./collection.json",
"builders": "./builders.json",
"peerDependencies": {
"@nrwl/angular": "^11.0.19",
"@nxtend/capacitor": "^1.0.0"
"@nxtend/capacitor": "^11.0.0"
},
"nx-migrations": {
"migrations": "./migrations.json"
Expand Down
2 changes: 1 addition & 1 deletion packages/ionic-angular/src/utils/versions.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export const nxtendCapacitorVersion = '2.0.2';
export const nxtendCapacitorVersion = '^11.0.0';
export const ionicAngularVersion = '^5.5.2';
export const ionicNativeVersion = '^5.30.0';
4 changes: 2 additions & 2 deletions packages/ionic-react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@nxtend/ionic-react",
"version": "5.0.0-alpha.1",
"version": "11.0.0",
"description": "An Nx plugin for developing Ionic React applications and libraries",
"author": {
"name": "Devin Shoemaker",
Expand All @@ -20,6 +20,6 @@
},
"peerDependencies": {
"@nrwl/react": "^11.0.19",
"@nxtend/capacitor": "*"
"@nxtend/capacitor": "^11.0.0"
}
}
2 changes: 1 addition & 1 deletion packages/ionic-react/src/utils/versions.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export const nxtendCapacitorVersion = '2.0.2';
export const nxtendCapacitorVersion = '^11.0.0';

export const ionicReactVersion = '^5.5.2';
export const ionicReactRouterVersion = '^5.5.2';
Expand Down

0 comments on commit 4b43a21

Please sign in to comment.