1e41f4b71Sopenharmony_ci# ArkCompiler Subsystem Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.ArkCompiler.1 ArkTS Syntax Rule Change 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciSince OpenHarmony SDK 4.1.5.5, the ArkTS syntax rules are changed as follows. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci**Removed** 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci**arkts-no-decorators-except-arkui**, **arkts-no-side-effects-imports**, **arkts-no-regexp-literals** 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci**Downgraded** 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ciThe severity level of **rules arkts-no-globalthis** and **arkts-no-classes-as-obj** is lowered to warning, which means that they do not block project compilation. 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciRule **arkts-no-func-apply-bind-call** is split into the following two rules: 16e41f4b71Sopenharmony_ci1. **arkts-no-func-apply-call**, at error level 17e41f4b71Sopenharmony_ci2. **arkts-no-func-bind**, at level warning 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciCompared with that in the earlier version, the quantity of highlighted code and total number of errors remain unchanged. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**Relaxed** 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciRule **arkts-identifiers-as-prop-names** is relaxed. Attribute names can be string literals or string type enumeration constants. 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciNo error is reported in the following code: 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci``` 28e41f4b71Sopenharmony_cienum Test { 29e41f4b71Sopenharmony_ci A = 'aaa', 30e41f4b71Sopenharmony_ci B = 'bbb' 31e41f4b71Sopenharmony_ci} 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_cilet obj: Record<string, number> = { 34e41f4b71Sopenharmony_ci [Test.A]: 1, // String type enumeration constants 35e41f4b71Sopenharmony_ci [Test.B]: 2, // String type enumeration constants 36e41f4b71Sopenharmony_ci ['value']: 3 // String literal 37e41f4b71Sopenharmony_ci} 38e41f4b71Sopenharmony_ci``` 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci**Change Impact** 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ciThere is no compatibility impact. No code adaptation is required. 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci## cl.ArkCompiler.2 TS Check Change for Third-party Packages 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci**Access Level** 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ciOther 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci**Reason for Change** 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ciCode in third-party packages in the **oh_modules** directory must comply with the TS syntax specifications. In versions earlier than 4.0.10.3, an error is reported for any noncompliance. However, due to code implementation, no error is reported for such noncompliance since 4.0.10.3. This change is made to rectify the issue. 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci**Change Since** 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.5.5 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci**Change Impact** 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ciIf code that does not comply with TS syntax specifications is contained in a third-party package, an error is reported during compilation. 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ciFor example, if a third-party package contains the following code: 63e41f4b71Sopenharmony_ci``` 64e41f4b71Sopenharmony_cilet a: string = 1; 65e41f4b71Sopenharmony_ci``` 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ciThe following error is reported during compilation: 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci``` 70e41f4b71Sopenharmony_ciType 'number' is not assignable to type 'string'. 71e41f4b71Sopenharmony_ci``` 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci**Adaptation Guide** 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ciMake sure all code in the third-party package complies with the TS syntax specifications. 76