リリース19.0.0のOracle JETドキュメントで説明されている新機能
ここでは、リリース19.0.0に追加された新機能および拡張機能について説明する、Oracle JETのドキュメントの更新を示します。
このリリースのその他の変更については、製品のリリース・ノートを参照してください。
Oracle JET
このリリースのOracle JETのドキュメントの更新事項。
-
Oracle JET CLI
add translationコマンドおよびICU翻訳バンドルのサポート新しいコマンドライン引数(
add translation)を使用すると、Oracle JETアプリケーションでのICU翻訳バンドルの作成および管理が容易になります。 Oracle JET仮想DOMアプリケーションでのICU翻訳バンドルの操作を参照してください。 -
ソース・マップ・ファイルを生成するための構成プロパティ
oraclejetconfig.jsonファイルの新しいプロパティgenerateSourceMapsによって、ソース・マップ・ファイルの生成が制御されます。trueの場合、Oracle JETアプリケーションのビルド時に、Oracle JET CLIによってTerserおよびRequireJSパッケージが構成され、ソース・マップ・ファイルが生成されます。 デフォルト値はfalseです。 oraclejetconfig.jsonファイルのプロパティおよびWebアプリケーションのデバッグを参照してください。 -
NPMの
--legacy-peer-depsフラグを使用できるようにする構成プロパティoraclejetconfig.jsonファイルでは、新しい構成プロパティenableLegacyPeerDepsがサポートされており、trueに設定すると、NPMパッケージのインストール時に--legacy-peer-depsフラグをオプションに含めるためのサポートが実装されます。trueの場合、Oracle JET CLIは、起動された既存のNPMインストール・コマンド(Oracle JET CLIのadd docgenコマンドなど)を、--legacy-peer-depsフラグを含むように変更します。 このオプション機能を使用する場合は、enableLegacyPeerDepsプロパティをoraclejetconfig.jsonファイルに追加する必要があります。 デフォルト値のfalseは、NPMのインストールが--legacy-peer-depsフラグなしで続行されることを意味します。 oraclejetconfig.jsonファイルのプロパティに関する項を参照してください。 -
TypeScript
このリリースのJETでは、バージョン
5.8.3のTypeScriptが使用されます。 Oracle JETアプリケーションにおけるTypeScriptの詳細は、TypeScript開発用のOracle JETアプリケーションの構成に関する項を参照してください。 -
移行ログ・ファイル
Oracle JET CLIの
migrateコマンドは、ojet.migrate.logという名前のファイルを、移行しようとするOracle JETアプリケーションのルート・ディレクトリに書き込みます。 このログ・ファイルには、migrateコマンドが実行する更新の詳細(たとえば、oraclejetconfig.jsonファイルに追加されたプロパティ)が含まれます。 このリリースへのOracle JETアプリケーションの移行の詳細は、現在のリリースへのOracle JETアプリケーションの移行を参照してください。
Oracle JET Audit Framework
Oracle JET Audit Frameworkの使用および拡張は、次のように更新されました。
新規および変更されたJAF監査機能:
-
Oracle JAFでは、WAI-ARIA 1.1で導入された
aria-modalなどのプロパティを含む、WAI-ARIA 1.2がサポートされるようになりました。 以前は、WAI-ARIA 1.0をサポートしていました。 -
Oracle JET以外のプロジェクトでのOracle JAF
Oracle JAF構成ファイル(たとえば、
jafconfig.json)がVComponentコンパイルのtypescript.compileプロパティをtrueに設定したが、ルート・ディレクトリにoraclejetconfig.jsonファイル(Oracle JET以外のプロジェクトを示す)が見つからない場合、Oracle JAFでは、VComponentコンパイルを設定できないために以前に終了した監査が続行されます。 -
JAFには、既存のルールの更新が含まれています。
csp-html-unsafe-exprルールは、JET式でのasync awaitの使用を検出するようになりました。-
builtinJetWcRulesルール・セットのjetwc-use-public-apisルールがデフォルトで有効になりました。 -
oj-acc-select-aria-labelこのルールは、誤検出を回避するために
oj-c-select-multipleおよびoj-c-select-singleコア・パック・コンポーネントをチェックしなくなりました。 -
oj-html-alta-deprecatedこのルールのメッセージは、できるだけ早くすべてのAlta CCSまたはSCSSを削除するように要求するように改訂されました。
-
oj-html-form-bindif, oj-tsx-form-bindif, and oj-html-binding-as-slot-childoj-html-form-bindifおよびoj-tsx-form-bindifルールでは、レガシーoj-html-form-layoutコンポーネントに加えてoj-c-form-layoutCore Packコンポーネントを処理するようになり、oj-html-binding-as-slot-childルールではoj-c-form-layoutとoj-form-layoutの両方が免除されるようになりました。 redwood-strictプロファイルのoj-html-msgs-cat-textルールの重大度は、blockerに昇格されます。-
oj-html-wctag-forおよびoj-html-wctag-idこれらのルールでは、関連する
component.jsonメタデータにcompositeのtypeプロパティがあるか、省略されていることを確認します。 -
oj-tsx-ojattrこのルールの重大度は、kebab-case属性に
[[…]]または{{…}}という形式の文字列が割り当てられ、さらに、結果が文字列に強制されるというメッセージで警告が出される場合に重要になります。
- JAFには新しいルールが含まれます:
-
oj-acc-navigable-link and oj-tsx-acc-navigable-linkRule: oj-acc-navigable-link Severity: blocker Message ID: jet-2190 Rule: oj-tsx-acc-navigable-link Severity: blocker Message ID: jet-7278 In order to be keyboard accessible, hyperlinks must be defined with either an 'href' or a 'tabindex' property (or both). -
oj-css-bp-zindexRule: oj-css-bp-zindex Severity: major¹ Message ID's: jet-6075, 6076 For best practices, CSS z-index property values should not be used. Use of JET standard secondary window components (popup, dialog or messages) is recommended for proper UI element stacking. ¹ Possibility of more than 1 severity since there are 2 message ID's -
oj-cca-compjson-prop-conflictRule: oj-cca-compjson-prop-conflict Severity: major¹ Message ID's: jet-8045, 8046, 8047 JET custom components should not define custom property names that conflict with HTML global attributes. Overriding standard HTML APIs in a custom component implementation can cause unexpected behavior and bugs that are hard to diagnose. As an alternative, JET custom VComponents have the ability to observe a subset of the available global attributes of their HTML custom element. Refer to the ObservedGlobalProps helper type in the JET VComponent documentation for further details. ¹ Possibility of more than 1 severity since there are 3 message ID's -
oj-html-badge-maintenanceRule: oj-html-badge-maintenance Severity: info Message ID: jet-0017 class 'oj-badge' is moved to maintenance status starting in JET 19.0, and is superseded by oj-c-badge. -
oj-html-corequired and oj-tsx-corequiredRule: oj-html-corequired Severity: blocker Message ID: jet-2260 Rule: oj-tsx-corequired Severity: blocker Message ID: jet-7280 Some components need to be configured such that at least one property or slot must be populated out of a given set for the component to function correctly (the 'anyOf' requirement), or alternatively the component should not be configured with properties and slots from a given set (the 'not' requirement). This requirements are often used for accessibility. -
oj-html-oj-ux-ico-slotRule: oj-html-oj-ux-ico-slot Severity: blocker Message ID: jet-8040 Menus and other action components that can be configured with an icon starting with 'oj-ux-ico-', should always have the icon applied via a span tag in the assigned slot. Applying the icon class anywhere else will result in the component not functioning as expected. -
oj-html-redwood-ojoption-disabledRule: oj-html-redwood-ojoption-disabled Severity: blocker Message ID: jet-8055 By extending the profile 'redwood-strict', Redwood compliance is required by the Audit. Redwood compliant designs do not allow individual child <oj-option> components of <oj-radioset> and <oj-checkboxset> to be disabled, and should be removed. If an option is not available for interaction by the user, it should not be included in the set of options.redwood-strictプロファイルを拡張して、このルールを有効にします。 デフォルトでは無効です。 -
oj-html-nav-tab-nointeractiveRule: oj-html-nav-tab-nointeractive Severity: blocker Message ID: jet-8050 The <template> 'itemTemplate' slot in <oj-tab-bar> and <oj-navigation-list> must not contain interactive tags. That is, content other than <li>, <a>, <div>, <span>, <oj-badge>, text, <oj-bind-text>, <oj-bind-if>, <oj-bind-for-each>, or <oj-if>. -
oj-tsx-tabbar-progressive-popupRule: oj-tsx-tabbar-progressive-popup Severity: minor Message ID: jet-7285 For JET 18.0.0 and later, <oj-tab-bar> truncation="progressive" should always be used with overflow="popup" for handling overflow properly. If truncation="progressive" is used alone, for long labels it is possible that all items may not fit within oj-tab-bar despite being truncated. -
oj-tsx-prop-ko-bindingRule: oj-tsx-prop-ko-binding Severity: critical Message ID: jet-7275 When components are used in VDOM, properties should be using the appropriate VDOM style of binding syntax which uses single curly braces. Knockout style binding syntax using string values with pairs of square brackets or curly braces will be simply treated as a literal strings and this is likely to have unexpected effects on the operation of the component. -
jetwc-use-public-apisRule: jetwc-use-public-apis Severity: blocker¹ Message ID's: jetwc-0250, 0251, 0252, 0253 This rule checks that any components or APIs used by a component are either from within the same pack or are marked as public and from a declared dependency ¹ Possibility of more than 1 severity since there are 4 message ID's
-
ルール・ライターの変更:
- ファイル・システム・ユーティリティ・ライブラリの新しいAPI
isFolderWritableSync()を使用すると、フォルダに書込みアクセス権があるかどうかを確認できます。 このAPIには、<rule_context>.utils.fsUtilsを介してアクセスできます。 FsUtils: ファイル・システム関数に関する項を参照してください。 -
新しいリスナー・タイプ:
jetcorecompは、Oracle JETコア・パック・コンポーネントをリスニングします。globtagは、オプションでHTMLグローバル要素の名前を引数として受け入れるように拡張されました。 たとえば、"globtag(a)"または"globtag(span)"です。- HTMLの場合は
attr-aria、TSXの場合はTsxAriaを使用すると、すべての要素プロパティを調べるのではなく、すべてのaria-*プロパティを直接リスニングできます。 - 要件メタデータを持つWebコンポーネントの要件。
-
HTMLおよびJSONルールのリスナー・タイプを参照してください。
TsxRequirementsは、requirementsメタデータを持つWebコンポーネントに対してコールされます。 TSXルールのリスナー・タイプに関する項を参照してください。
- JAF事前監査フェーズでは、
ruleCtxを介して使用可能なjafLibインタフェースが拡張され、isCLI()、isAMD()およびisAPI()メソッドが含まれるようになりました。このメソッドは、以前はメイン監査フェーズでのみ使用可能でした。 JafLib: JAFコア・アクセス・メソッドに関する項を参照してください。
Windowsプラットフォームのファイル・パス・セパレータ
Oracle JAFの今後のリリースでは、Windowsでエスケープされたバックスラッシュを使用したGLOBパスのサポートが削除される予定です。 この変更に備えるには、"files"、"exclude"、"components"などのoraclejafconfig.jsonプロパティを確認し、エスケープされたバックスラッシュを使用してフォワード・スラッシュを使用する値を置き換えます。
たとえば、"files"プロパティに次のような値がある場合:
"files": [
".\\src\\**\\*.html",次のように置き換えます。
"files": [
"./src/**/*.html",この変更を行わないと、将来のリリースでJAFによってWindows上で参照ファイルが処理されなくなります。
ドキュメントのアクセシビリティについて
オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。
Oracleサポートへのアクセス
お客様のOracleサポート・サービスへのアクセスおよびご利用は、該当するサービスの注文時に指定された利用条件に従うものとします。
Oracle JavaScript Extension Toolkit (Oracle JET) Oracle JETの新機能, 19.0.0
G33838-02
原本主著者: Oracle Corporation