B Oracle JET App Migration for Release 18.1.0
If you used Oracle JET tooling to scaffold your app with Oracle JET version
5.x.0
or later, you can migrate your app manually to version
18.1.0
.
Before you migrate your app, be sure to check the Oracle JET Release Notes for any component, framework, or other change that could impact your app.
Important:
This process is not supported for Oracle JET releases prior to version5.0.0
.
If you use the Alta theme in your Oracle JET app, we encourage you to switch to using the Redwood theme as soon as possible. Note the following about the Alta theme:
- The Alta theme was deprecated in release 10.0.0 and supported through the 12.x releases. In release 13.0.0 and later, Oracle JET provides "best effort" support for Alta. No bug fixes or new features will be provided for Alta-only issues. For more information about Oracle JET's release schedule, see What is the release schedule for Oracle JET?
- The content that described how to use the Alta theme in an Oracle JET app has been removed from the documentation and it has been removed from the Oracle JET Cookbook.
- In release 18.0.0, Oracle JET replaced its dependency on
node-sass
withsass
(Dart Sass). The third-party author ofnode-sass
no longer supports it. If you continue to use Alta or a custom theme based on Alta, you need to installnode-sass
. For information about how to installnode-sass
, including the Node.js version support policy ofnode-sass
, see thenode-sass
page on the NPM registry website.
Prepare for Oracle JET App Migration
To migrate your Oracle JET app source from version
9.x.0
or later to the latest version 18.1.0, you must upgrade NPM packages, update theme and library reference paths,
and replace the path_mapping.json
file. Additionally, you replace
references to the oj-redwood-cssvars*.css
files that introduced CSS
variables as a preview feature in JET release 9.0.0. CSS variables were a production feature
in JET release 10.0.0
. Finally, you include script injector tokens in
appDirRoot/src/index.html
that will automatically be replaced with the
required scripts tags at build time.
You can migrate your Oracle JET app using the ojet migrate
command
that Oracle JET introduced in JET release 18.0.0, but before you begin the migration
task, perform a pre-migration audit and the other preliminary tasks listed below. Once
you have completed these tasks, proceed to migrate your app using the Oracle CLI
migrate
command or manually migrate the app as described in
subsequent sections of this chapter.
-
Create a backup copy of the Oracle JET app that you want to migrate.
-
Uninstall any globally-installed instances of the Oracle JET CLI
As Administrator on Windows or using
sudo
as needed on Macintosh and Linux systems, enter the following commands in a terminal window to ensure that your system has no globally-installed instances of theojet-cli
tooling package:-
[sudo] npm uninstall -g ojet-cli
Releases 3.2.0 and earlier of the Oracle JET CLI were published without using "
@oracle
" in the namespace name of the package. -
[sudo] npm uninstall -g @oracle/ojet-cli
Post-3.2.0 releases of the the Oracle JET CLI were published using "
@oracle
" in the namespace name of the package.
-
-
A maintenance or active long-term support (LTS) version of Node.js is required. Open a terminal window as an administrator and check your Node.js version.
node -v
If your Node.js version is earlier than the versions listed as maintenance or active LTS on the Releases page of the Nodejs.org website, download a newer LTS version. Go to the Nodejs.org website. Under LTS Version (Recommended for Most Users), download the installer for your system. In the Download dialog box, choose a location for the file and click Save. Run the downloaded installer as an administrator and follow the steps in the installation wizard to install Node.js.
-
We recommend that you audit your app with Oracle JET Audit Framework (JAF) before any migration. The built-in audit rules provided with JAF will help you to identify and fix invalid functionality, including deprecated components and APIs. Implement the audit results with some attention to detail to ensure a successful migration to JET release 18.1.0.
As Administrator on Windows or using
sudo
as needed on Macintosh and Linux systems, enter the following command in a terminal window:npm install -g @oracle/oraclejet-audit
On your app root, run the following JAF command to initialize the audit of your app.
ojaf --init
In the generated
AppRootDir/oraclejafconfig.json
file, set the value of thejetVer
property to the release to which you are migrating your app. For example,"jetVer": "18.1.0"
.Run the following command to audit your app and review any issues that the audit identifies.
ojaf
For more details about JAF, see Initialize Oracle JAF and Run an Audit in Using and Extending the Oracle JET Audit Framework.
-
At a terminal prompt, create a temporary app to obtain the files that you will copy to your migrating app.
The type of temporary app you create depends on the kind of app you're migrating, whether it's a TypeScript-based MVVM app, a JavaScript-based MVVM app, or a virtual DOM-based app.
-
Create a JavaScript-based MVVM app
npx @oracle/ojet-cli create tempApp --template=navdrawer
-
Create a TypeScript-based MVVM app
npx @oracle/ojet-cli create tempApp --template=navdrawer --typescript
-
Create a virtual DOM app
npx @oracle/ojet-cli create tempApp --template=basic --vdom
-
Migrate an App Using the Oracle JET CLI
The Oracle JET CLI includes a migrate
command that migrates
Oracle JET apps created in release 13.0.0
or later and that use the Redwood
theme (or a Redwood-based custom theme) to the current release.
The migrate
command processes your app's source and
configuration files and makes changes necessary to migrate the app. This includes validating
that the version the Oracle JET that you are migrating from is release
13.0.0
or later. In addition, it updates and validates the:
oraclejetconfig.json
filepath_mappings.json
filemain.js
fileindex.html
file- Hook files in the
scripts
directory - Components from the Oracle Component Exchange
For Oracle JET apps created prior to release 13.0.0
or apps that don’t use
the Redwood theme, see the subsequent sections for information about how to manually migrate
these apps.
To migrate your app using the Oracle JET CLI:
Migrate Redwood-themed Apps from Releases 9.x.0 or Later to Release 18.1.0
To migrate your Oracle JET app source from version
9.x.0
or later to the latest version 18.1.0
, you must upgrade NPM packages, update theme and library reference
paths, and replace the path_mapping.json
file. Additionally, you replace
references to the oj-redwood-cssvars*.css
files that introduced CSS variables
as a preview feature in JET release 9.0.0. CSS variables were a production feature in JET
release 10.0.0
. Finally, you include script injector tokens in
appDirRoot/src/index.html
that will automatically be replaced with the
required scripts tags at build time.
To migrate your app:
Migrate to the Redwood Theme CSS
Redwood theme is the Oracle JET standard for app look and feel and is available when you want to migrate your app to the Redwood theme.
If you have an existing app that you want to migrate from the Alta theme, you can
migrate to JET release 18.1.0
and configure the
app to run with the Redwood CSS included with Oracle JET. You obtained the Redwood CSS
distribution when you completed the app source migration process.
Migrating your app's Alta theme to Redwood theme requires making a change at the app
level. You edit the oraclejetconfig.json
file to control whether JET
Tooling builds with the Redwood or Alta CSS. With the setting configured, you can rebuild
your app and all the pages will use the appropriate CSS, as specified by the stylesheet
injector in your app's index.html
file.
After you set the Redwood theme as the new default and run your app, you will find the look and feel of your app changes considerably. To adjust to the Redwood theme, you will need to make manual updates to app layout for new fonts, sizes, and patterns.
CSS variables, which are supported by the Redwood theme, were introduced in
the oj-redwood-cssvars*.css
files as a preview feature in JET release
9.0.0
. In JET release 10.0.0
, CSS variables became a
production feature and are now included in the oj-redwood*.css
files.
Replace references to the oj-redwood-cssvars*.css
files with references to
the oj-redwood*.css
files in your migrated apps. Be aware of this change if
you migrated your app to use the Redwood theme and started to use CSS variables in JET
releases prior to release 10.0.0
.
Before You Begin:
-
Complete migration of your app source files before attempting to migrate to the Redwood theme. First migrate with the Alta theme preserved and then migrate to the Redwood theme. This way you can test your app with the Redwood theme and easily revert back to the Alta theme, if desired. See Migrate Alta-themed Apps from Releases Prior to 8.3.0 to Release 18.1.0 for details.
-
If you use a custom theme, review the Theme Changes section in the release notes and update your custom theme manually.
Be aware that Sass variables that you may have overridden in an Alta theme will need to be migrated to CSS variables in the Redwood theme. For more information about migrating a custom theme, please see About CSS Variables and Custom Themes in Oracle JET.
-
Review app images and consider how you will replace images that belong to the deprecated Oracle JET framework images library with public domain images, such as those found on Oracle Apex Universal Theme and on Font Awesome. The Oracle JET framework image classes are no longer shown in JET Cookbook, starting in release 9.0.0.
To migrate to the Redwood theme CSS:
Migrate Alta-themed Apps from Releases Prior to 8.3.0 to Release 18.1.0
To migrate your Oracle JET app source from version
5.x.0
through version 8.3.0
to the latest version 18.1.0, you must upgrade NPM packages, update theme and
library reference paths, and replace the path_mapping.json
file. Additionally,
you must update the oraclejetconfig.json
file to enable Alta CSS usage in JET
release 18.1.0. We recommend that you migrate to the Redwood CSS theme
only after successful migration of the app source has been verified. Finally, you include script
injector tokens in appDirRoot/src/index.html
that will automatically be
replaced with the required scripts tags at build time.
To migrate your app:
After you migrate your app and ensure it runs with the Alta theme, you can follow an additional, separate process to migrate to the Redwood theme, as described in Migrate to the Redwood Theme CSS.