リリース17.0.0Oracle JETドキュメントで説明されている新機能

ここでは、リリース17.0.0に追加された新機能および拡張機能について説明する、Oracle JETのドキュメントの更新を示します。

このリリースのその他の変更については、製品のリリース・ノートを参照してください。

Oracle JET

このリリースのOracle JETのドキュメントの更新事項。

  • プログレッシブWebアプリケーション・サポート

    Oracle JET Webアプリケーションに対するプログレッシブWebアプリケーション・サポートは、スプラッシュ画面およびアプリケーション・ランチャ・アイコン用の様々なイメージ・ファイルを含むassetsフォルダを含めることで強化されました。WebアプリケーションへのプログレッシブWebアプリケーション・サポートの追加に関する項を参照してください。

  • TypeScript

    このリリースのJETでは、バージョン5.4.5のTypeScriptが使用されます。Oracle JETアプリケーションにおけるTypeScriptの詳細は、TypeScript開発用のOracle JETアプリケーションの構成に関する項を参照してください。

  • 出力ディレクトリ・パスからコンポーネント・バージョン番号を省略します

    oraclejetconfig.jsonファイルにunversionedプロパティが含まれるようになりました。trueに設定した場合、コンポーネントを出力するOracle JETコマンド(buildserve)を実行すると、Oracle JETではコンポーネント・バージョン番号なしのディレクトリ・パスにコンポーネントが生成されます。たとえば、"unversioned": trueの場合、Oracle JETアプリケーションのコンポーネントの出力パスは、ターミナル・コンソールの次のスニペットに示すようになります。

    runAllComponentHooks for component: web\components\my-component-pack\component.json finished

    oraclejetconfig.jsonファイルでunversionedプロパティを指定しない場合、buildまたはserveコマンドでOracle JET --omit-component-versionコマンドライン引数を使用すると、コンポーネント・バージョン番号なしのディレクトリ・パスにコンポーネントが生成されます。

    oraclejetconfig.jsonファイルに"unversioned": falseが含まれている場合、--omit-component-versionコマンドライン引数を使用した場合でも、buildまたはserveコマンドを実行すると、Oracle JETではコンポーネント・バージョン番号を含むディレクトリ・パスにコンポーネントが生成されます。次に例を示します。

    runAllComponentHooks for component: web\components\my-component-pack\1.0.0\component.json finished

    つまり、oraclejetconfig.jsonファイルで"unversioned"trueまたはfalseに設定すると、コマンドライン引数よりも優先されます。oraclejetconfig.jsonファイルのプロパティに関する項を参照してください。

  • パス・マッピング

    このリリースでは、パス・マッピング・プロセスとその使用可能な構成オプションについて詳細に説明しています。パス・マッピング構成ファイルを使用してサードパーティ・ツールおよびライブラリをアプリケーションに追加する方法の詳細が含まれるようになりました。Oracle JETアプリケーションへのサード・パーティ・ツールまたはライブラリの追加に関する項およびパス・マッピング・スクリプト・ファイルと構成オプションの理解に関する項を参照してください。

移行情報

リリース17.0.0に移行するJETアプリケーションに影響する次の変更に注意してください:

このリリースのOracle JETへのアプリケーションの移行に関するステップバイステップ情報については、次の項を参照してください。

Oracle JET Audit Framework

Oracle JET Audit Frameworkの使用および拡張は、次のように更新されました。

ルール・ライターにとって注意すべき重要な変更は、JAFによって、監査に対して定義するカスタム構成プロパティがcustomOptsルール・プロパティで定義される必要があるというルールが強制されるようになったことです。<context>.ruleOpts<context>.rulePack.getRuleOptions()または<context>.rulePack.getRuleOption()からのカスタム・オプションの直接アクセスがないかルールをスキャンし、関連するカスタム・オプションAPIを使用するように修正してください。たとえば、<context>.rulePack.getRuleCustomOptions()です。カスタム監査ルールの実行時プロパティの定義に関する項を参照してください。

新規および変更されたJAF監査機能:

  • JAFでは既存のルールに変更が加えられています:

    • best-practiceおよびredwoood-strictプロファイルによって、メッセージIDがJET-5040およびJET-6035oj-html-style-bp-font-familyおよびoj-css-style-bp-font-familyルールの重大度が、majorからblockerに増えました。
    • oj-html-style-bp-margin-paddingルールでは、新しいstylemember登録済リスナー・タイプを使用して、起動のオーバーヘッドを削減します。
    • 次のルールでは、style.borderColor="xxx"style.minHeight="xxx"などのスタイル属性メンバーをさらにチェックするようになりました。
      oj-html-style-abs-units
      oj-html-style-bp-color
      oj-html-style-bp-display
      oj-html-style-bp-font
      oj-html-style-bp-font-family
    • 新しい<oj-if>要素をサポートするように、次のルールが更新されました。
      oj-html-bindif-test 
      oj-html-binding-as-slot-child
      oj-html-form-bindif 
      oj-slot-pref-content 
      oj-tsx-form-bindif

      また、次のルールでは、oj-bind-ifではなくoj-ifの使用が推奨されるようになりました。

      oj-css-style-bp-display 
      oj-html-ko_databind
      oj-html-ko-comment
      oj-html-style-display
  • JAFには新しいルールが含まれます:
    • Rule: oj-html-bp-button-xs-chroming  Severity: major  Message ID: jet-5135
      Rule: oj-tsx-bp-button-xs-chroming  Severity: major  Message ID: jet-7220
      For <oj-button> and <oj-c-button> property size="xs" is only supported using ghost chroming and icon
      display mode. For size="xs":
        1) chroming="ghost" is required, and:
        2) display="icons" is required.
    • Rule: oj-html-bp-title-to-tooltip  Severity: major  Message ID: jet-5140
      Rule: oj-tsx-bp-title-to-tooltip  Severity: major  Message ID: jet-7230
      The 'tooltip' attribute matches the Redwood specification, but 'title' does not. Additionally, 
      there are accessibility issues with 'title' that are solved using 'tooltip'.
      Action: replace attribute 'title' with 'tooltip'.
    • Rule: oj-acc-button-label  Severity: blocker  Message ID: jet-2185
      Rule: oj-tsx-acc-button-label  Severity: blocker  Message ID: jet-7225
      For button accessibility, the 'label' attribute should be applied to the following button
      components: <oj-c-button>, <oj-c-menu-button> and <oj-c-split-menu-button>.
    • Rule: oj-tsx-style-bp-margin-padding  Severity: major¹  Message ID's: jet-7200, 7201, 7202
      Rule: oj-html-style-bp-margin-padding  Severity: major¹  Message ID's: jet-5120, 5121, 5122
      For best practices, margin/padding classes such as 'oj-sm-margin-4x' and 'oj-sm-padding-4x' are
      preferred over numeric values. See the Margins & Padding demo category in the JET cookbook under
      the Framework Utility CSS category.
      Negative values are not supported.
      The currently supported values are 4px - 48px, 0.25rem - 12rem, and 0.25em - 12em.
      ¹ Possibility of more than 1 severity since there are 3 message ID's
    • Rule: oj-tsx-button-size-chroming  Severity: major¹  Message ID's: jet-7215, 7216
      Rule: oj-html-button-size-chroming  Severity: major¹  Message ID's: jet-5130, 5131
      The Redwood input designs require the use of small buttons. Please update the button attributes in
      the 'start' or 'end' slot:
       1) For <oj-button>, use class="oj-button-sm"
       2) For <oj-c-button>, set size="sm" and chroming="ghost"
      ¹ Possibility of more than 1 severity since there are 2 message ID's
    • Rule: oj-tsx-style-abs-units  Severity: major¹  Message ID's: jet-7210, 7211, 7212
      In general it is preferable to use relative length units in place of absolute units. Specifically,
      'rem' units are recommended because they proportionately adjust to the root font size. 'rem' can be
      used for anything that takes a length unit - e.g. font-size, line-height, width, height, padding,
      margin, etc. However, there are cases where absolute units are required. This project is configured
      to allow absolute units in selector names that include one of the following terms: 'image, and
      'picture'.
      ¹ Possibility of more than 1 severity since there are 3 message ID's
    • 次の新しいルールは、構成ファイルがextends構成プロパティを使用してredwood-strictプロファイルから継承する場合にのみアクティブになります。

      Rule: oj-html-redwood-clear-icon  Severity: blocker  Message ID: jet-0535
      For JET components <oj-input-text>, <oj-c-input-text>, <oj-c-input-password>, and
      <oj-c-input-sensitive>, the 'clear-icon' attribute value 'always' is not permitted using the
      'redwood-strict' profile'. Only Typing, Focus, and Selection states
      can show the Clear button. Other states don't show the Clear button since there is no active value
      to clear or delete. The value 'always' would keep the icon showing at all times, while 'conditional'
      behaves in the manner above.
      
      Rule: oj-tsx-redwood-clear-icon  Severity: blocker  Message ID: jet-8000
      For JET components <oj-input-text>, <oj-c-input-text>, <oj-c-input-password>, and
      <oj-c-input-sensitive>, the 'clear-icon' attribute value 'always' is not permitted using the
      'redwood-strict' profile'. Only Typing, Focus, and Selection states can show the Clear button. 
      Other states don't show the Clear button since there is no active value
      to clear/delete. The value 'always' would keep the icon showing at all times, while 'conditional'
      behaves in the manner above.

ルール・ライターの変更:

  • 構成の簡易メソッドを含む新しいユーティリティ・ライブラリcontext.utils.configUtils。たとえば、getExtendsProfileName()メソッドは、現在のアクティブな構成が拡張されたプロファイル名を返します。ConfigLib: 構成ライブラリに関する項を参照してください。

  • 新しいルール登録リスナー・タイプstylemember。このタイプのリスナーは、スタイル属性およびメンバー参照が宣言されると起動します。たとえば、style.marginTop="4px"です。
  • サンプルの仮想DOM TSX監査ルールのウォークスルーが追加され、Oracle JET仮想DOMアプリケーションのTSXファイルに対する監査ルールの記述方法が示されました。
  • 指定されたユーザー・コンポーネントにプロパティがない場合のmetaLib.getPropStatus()でのエラーが修正されました。

ドキュメントのアクセシビリティについて

Oracleサポートへのアクセス