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