diff --git a/arkoala-arkts/arkui/src/ArkState.ts b/arkoala-arkts/arkui/src/ArkState.ts new file mode 100644 index 0000000000000000000000000000000000000000..e81fa37c6b4c71717a6d8b4bea02190e0739c4f5 --- /dev/null +++ b/arkoala-arkts/arkui/src/ArkState.ts @@ -0,0 +1,13 @@ +import { mutableState, MutableState } from "@koalaui/runtime"; +import { observableProxy } from "@koalaui/arkui-common" +import { CustomComponent } from "./CustomComponent" + +/** + * So what's going on here? We need to create states that persists across + * routing and lifecycle events. To achieve that we create `ValueStorage` + * instance and make it a router-local variable. As these variables persists + * across routing, so we'll get stable values. + */ +export function stateOf(value: Value, instance?: CustomComponent, index?: number): MutableState { + return mutableState(observableProxy(value)) +} diff --git a/arkoala-arkts/arkui/src/CustomComponent.ts b/arkoala-arkts/arkui/src/CustomComponent.ts index e1f1c83b7513970661942b87487130f61b4a658f..d54587b3e7531f8f32ff1c45b8d4665f4201ca9c 100644 --- a/arkoala-arkts/arkui/src/CustomComponent.ts +++ b/arkoala-arkts/arkui/src/CustomComponent.ts @@ -53,7 +53,7 @@ export interface CustomComponent { // onDidBuild?(): void; } -export abstract class CustomComponentImpl { +export abstract class CustomComponentImpl implements CustomComponent { // /** @memo */ // build(): void { // } diff --git a/arkoala-arkts/arkui/src/generated/arkts/index.ts b/arkoala-arkts/arkui/src/generated/arkts/index.ts index d52673bcfcf5b4a6065ffdb3a94d9d6b2ce3c673..da7583c9436c7ac80d5a6c78f6ab4eeb50d17ba4 100644 --- a/arkoala-arkts/arkui/src/generated/arkts/index.ts +++ b/arkoala-arkts/arkui/src/generated/arkts/index.ts @@ -6,4 +6,4 @@ import { NativeModule as NativeModule1, nativeModule as nativeModule1 } from "./ // export * from "./NativeModule" export type TypeChecker = TypeChecker1 export type NativeModule = NativeModule1 -export const nativeModule = nativeModule1 +export const nativeModule: (() => NativeModule) = nativeModule1 diff --git a/arkoala-arkts/arkui/src/index.ts b/arkoala-arkts/arkui/src/index.ts index dee4afb2e617b4dfc809c05bc0d95833f15b1883..a5bc83d5b7129112157d22be9daf83c52e767a9e 100644 --- a/arkoala-arkts/arkui/src/index.ts +++ b/arkoala-arkts/arkui/src/index.ts @@ -14,7 +14,11 @@ */ export * from "./ArkStructBase" -export * from "./Storage" -export * from "./ArkPageTransition" + export * from "./generated/ArkButton" export * from "./generated/ArkColumn" + +export { stateOf } from "./ArkState" + +export * from "@koalaui/arkui-common" +export * from "@koalaui/runtime" \ No newline at end of file diff --git a/arkoala-arkts/arkui/tsconfig-unmemoize.json b/arkoala-arkts/arkui/tsconfig-unmemoize.json index 035e6b20173bf0cbe589b50ecd304cad9140baa3..271cb21d3f41eec541945066281b0d725234e6df 100644 --- a/arkoala-arkts/arkui/tsconfig-unmemoize.json +++ b/arkoala-arkts/arkui/tsconfig-unmemoize.json @@ -10,9 +10,28 @@ } ], "outDir": "./build/garbage", + "baseUrl": ".", "paths": { - "#arkui": ["./src/generated/ts"] - } + "@koalaui/common": [ + "../../incremental/common/src" + ], + "@koalaui/runtime": [ + "../../incremental/runtime/src" + ], + "@koalaui/compat": [ + "../../incremental/compat/src" + ], + "@koalaui/arkui-common": [ + "../../arkoala/arkui-common/src/arkts" + ], + "#arkui-common/*": [ + "../../arkoala/arkui-common/src/arkts/*" + ], + "#arkui": [ + "./src/generated/ts" + ] + }, + "rootDir": "../../../" }, "include": [ "./src/**/*.ts", @@ -20,9 +39,14 @@ "exclude": [ "./src/generated/arkts" ], + "files": [ + "../../arkoala/arkui-common/ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/index-full.d.ts", + "../../arkoala/arkui-common/ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/koala-extensions.d.ts", + "../../arkoala/arkui-common/ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/api/@internal/full/global.d.ts" + ], "references": [ - { "path": "../../incremental/runtime" }, - { "path": "../../incremental/runtime/tsconfig-unmemoize.json" }, + { "path": "../../arkoala/arkui-common" }, + { "path": "../../arkoala/arkui-common/tsconfig-unmemoize.json" }, { "path": "../../interop" } ] } diff --git a/arkoala-arkts/arkui/tsconfig.json b/arkoala-arkts/arkui/tsconfig.json index 6bf82d2505bf3e282c4ebc1e019084028ab0ce0f..c85032ebd7d43b3d0dbeb7eb66e7f86c15122e99 100644 --- a/arkoala-arkts/arkui/tsconfig.json +++ b/arkoala-arkts/arkui/tsconfig.json @@ -9,11 +9,25 @@ "compilerOptions": { "outDir": "./build/ts", "paths": { - "#arkui": ["./src/generated/ts"] + "@koalaui/arkui-common": [ + "../../arkoala/arkui-common/src/arkts" + ], + "#arkui-common/*": [ + "../../arkoala/arkui-common/src/arkts/*" + ], + "#arkui": [ + "./src/generated/ts" + ], } }, + "files": [ + "../../arkoala/arkui-common/ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/index-full.d.ts", + "../../arkoala/arkui-common/ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/koala-extensions.d.ts", + "../../arkoala/arkui-common/ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/api/@internal/full/global.d.ts" + ], // TODO: maybe delete this section "references": [ { "path": "../../incremental/runtime" }, + { "path": "../../arkoala/arkui-common" }, { "path": "../../interop" } ] } diff --git a/arkoala-arkts/loader/arktsconfig-run-unmemoized.json b/arkoala-arkts/loader/arktsconfig-run-unmemoized.json index f6614a8080f1a9e5129e979443b00043f2402982..0a7a59d1f5db7bf4a9aa1470d4e7c48df2e223eb 100644 --- a/arkoala-arkts/loader/arktsconfig-run-unmemoized.json +++ b/arkoala-arkts/loader/arktsconfig-run-unmemoized.json @@ -1,15 +1,35 @@ { - "include": ["./unmemoized/generated/hello.ts"], + "include": [ + "./unmemoized/generated/hello.ts" + ], "compilerOptions": { "outDir": "build/abc", "baseUrl": ".", "paths": { - "@koalaui/compat": ["../../incremental/compat/src/arkts"], - "@koalaui/common": ["../../incremental/common/src"], - "@koalaui/runtime": ["../../incremental/runtime/unmemoized/src"], - "@koalaui/arkts-arkui": ["../arkui/unmemoized/src"], - "@koalaui/interop": ["../../interop/src/arkts"], - "#arkui": ["../arkui/unmemoized/src/generated/arkts"] + "@koalaui/compat": [ + "../../incremental/compat/src/arkts" + ], + "@koalaui/common": [ + "../../incremental/common/src" + ], + "@koalaui/runtime": [ + "../../incremental/runtime/unmemoized/src" + ], + "@koalaui/arkts-arkui": [ + "../arkui/unmemoized/src" + ], + "@koalaui/interop": [ + "../../interop/src/arkts" + ], + "#arkui": [ + "../arkui/unmemoized/src/generated/arkts" + ], + "@koalaui/arkui-common": [ + "../../arkoala/arkui-common/unmemoized/src/arkts" + ], + "#arkui-common": [ + "../../arkoala/arkui-common/src" + ] } } } \ No newline at end of file diff --git a/arkoala-arkts/loader/package.json b/arkoala-arkts/loader/package.json index dc9afb459df2d02e9cbcfa6366ddd1efb9d95064..c178008c3ef5d4d3cd858bc64c541b356bb2f681 100644 --- a/arkoala-arkts/loader/package.json +++ b/arkoala-arkts/loader/package.json @@ -4,10 +4,14 @@ "private": true, "description": "", "scripts": { - "clean": "rimraf generated unmemoized js_output abc", - "compile:plugin": "cd ../../arkoala/ets-plugin && npm run compile", - "compile:ets": "npm run compile:plugin && cd src/ets && ets-tsc -p ./tsconfig.ets.json", + "clean": "rimraf build generated unmemoized js_output abc", "panda:sdk:install": "cd ../../incremental/tools/panda && npm run panda:sdk:install", + + "compile:plugin": "cd ../../arkoala/ets-plugin && npm run compile", + "compile:arkui": "cd ../arkui && npm run compile && npm run unmemoize", + "compile:deps": "npm run compile:plugin && npm run compile:plugin", + + "compile:ets": "npm run compile:deps && cd src/ets && ets-tsc -p ./tsconfig.ets.json", "unmemoize": "npm run compile:ets && memo-tsc -b tsconfig-unmemoize.json", "run": "npm run unmemoize && npm run unmemoize --prefix ../arkui && npm run compile:unmemoize --prefix ../../incremental/runtime && bash -x ../../incremental/tools/panda/arkts/arktsc --arktsconfig ./arktsconfig-run-unmemoized.json" }, diff --git a/arkoala-arkts/loader/src/ets/hello.ets b/arkoala-arkts/loader/src/ets/hello.ets index b5950f7a107e5975bd59442ef88c9307214cc732..61c433400f075f07e09d0f02d4fe3511573870eb 100644 --- a/arkoala-arkts/loader/src/ets/hello.ets +++ b/arkoala-arkts/loader/src/ets/hello.ets @@ -1,5 +1,6 @@ @Component struct X { + @State x: number = 7 build() { Column() { Button() diff --git a/arkoala-arkts/loader/tsconfig-unmemoize.json b/arkoala-arkts/loader/tsconfig-unmemoize.json index 0ce299f8eb76f89ebc873386cf18f6bd59e9c1b5..7bf4359ee8849867b102b42a24406eb19d720347 100644 --- a/arkoala-arkts/loader/tsconfig-unmemoize.json +++ b/arkoala-arkts/loader/tsconfig-unmemoize.json @@ -1,22 +1,32 @@ { - "extends": "@koalaui/build-common/tsconfig.json", - "compilerOptions": { - "types": [], - "plugins": [ - { - "transform": "@koalaui/compiler-plugin/build/lib/src/koala-transformer.js", - "trace": false, - "only_unmemoize": true - } - ], - "outDir": "./build/garbage" - }, + "extends": "@koalaui/build-common/tsconfig.json", + "compilerOptions": { + "types": [], + "plugins": [ + { + "transform": "@koalaui/compiler-plugin/build/lib/src/koala-transformer.js", + "trace": false, + "only_unmemoize": true + } + ], + "outDir": "./build/garbage", + "baseUrl": ".", + "paths": { + "@koalaui/arkui-common": [ + "../../arkoala/arkui-common/src/arkts", + ], + "#arkui-common": [ + "../../arkoala/arkui-common/src/arkts", + ] + } + }, "include": [ - "./generated" + "./generated" ], "references": [ - { "path": "../../arkoala/arkui-common" }, - { "path": "../../incremental/runtime" }, - { "path": "../arkui" }, + { "path": "../../arkoala/arkui-common" }, + { "path": "../../arkoala/arkui-common/tsconfig-unmemoize.json" }, + { "path": "../../incremental/runtime" }, + { "path": "../arkui" }, ] } diff --git a/arkoala-arkts/package.json b/arkoala-arkts/package.json index 28158af4788955299c2ae25a3cecc7e6d631bf2e..20d2f7accefe1af1d6ff8a2571c74c9c114454f6 100644 --- a/arkoala-arkts/package.json +++ b/arkoala-arkts/package.json @@ -3,7 +3,6 @@ "private": true, "workspaces": [ "./arkui", - "./loader", "../arkoala/arkui-common", "../arkoala/ets-plugin", "../incremental/build-common", diff --git a/arkoala/arkui-common/arktsconfig.json b/arkoala/arkui-common/arktsconfig.json index b45c7bef0bd29dbdf7da8b272828d4978f52d322..f071b4b2e554def7ece570d2fd9d0473694dafb6 100644 --- a/arkoala/arkui-common/arktsconfig.json +++ b/arkoala/arkui-common/arktsconfig.json @@ -1,19 +1,33 @@ { - "files": [ - "./ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/index-full.d.ts", - "./ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/api/@internal/full/global.d.ts" - ], - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@koalaui/common": ["../../incremental/common/src"], - "@koalaui/runtime": ["../../incremental/runtime/src"] - } - }, - "include": ["./src/**/*.ts"], - "references": [ - { "path": "../../incremental/common" }, - { "path": "../../incremental/runtime" } - ] - + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@koalaui/common": [ + "../../incremental/common/src" + ], + "@koalaui/runtime": [ + "../../incremental/runtime/src" + ], + "@koalaui/compat": [ + "../../incremental/compat/src" + ], + "#arkui-common/*": [ + "./unmemoized/src/arkts/*" + ], + "#platform": [ + "../../incremental/compat/src/arkts" + ] + } + }, + "include": [ + "./unmemoized/src/index.ts" + ], + "references": [ + { + "path": "../../incremental/common" + }, + { + "path": "../../incremental/runtime" + } + ] } diff --git a/arkoala/arkui-common/package.json b/arkoala/arkui-common/package.json index 3416c7728ab967f259a95c5ff6c5d38619f294e6..e89551b8282e216fc925d77692ecda9dd680a8df 100644 --- a/arkoala/arkui-common/package.json +++ b/arkoala/arkui-common/package.json @@ -4,10 +4,15 @@ "description": "", "main": "build/lib/src/index.js", "exports": { - ".": "./build/lib/src/index.js", + ".": "./build/lib/src/typescript/index.js", "./config/tsconfig.base.json": "./config/tsconfig.base.json", "./*": "./build/lib/src/*.js" }, + "imports": { + "#arkui-common/*": { + "default": "./build/lib/src/typescript/*" + } + }, "types": "./index.d.ts", "typesVersions": { "*": { diff --git a/arkoala/arkui-common/src/ArkState.ts b/arkoala/arkui-common/src/ArkState.ts index f90ca7f0b25eb3980990845264b4ee824d45a4c1..ce68366f3d7b86af7f305b43f97a6c531f11b463 100644 --- a/arkoala/arkui-common/src/ArkState.ts +++ b/arkoala/arkui-common/src/ArkState.ts @@ -15,7 +15,7 @@ import { propDeepCopy } from "@koalaui/common"; import { MutableState, __context, __id, mutableState, scheduleCallback } from "@koalaui/runtime" -import { observableProxy } from "./observable" +import { observableProxy } from "#arkui-common/observable" /** * @param name - a name of a context state diff --git a/arkoala/arkui-common/src/Router.ts b/arkoala/arkui-common/src/Router.ts index a3352297adc018d0683f12fe98c28e07a9f25004..5aaccd30875a07af7268fafc8bc41af85b21d9c1 100644 --- a/arkoala/arkui-common/src/Router.ts +++ b/arkoala/arkui-common/src/Router.ts @@ -24,7 +24,7 @@ import { remember, RepeatByArray, } from "@koalaui/runtime" -import { observableProxyArray } from "./observable" +import { observableProxyArray } from "#arkui-common/observable" export enum RouterTransitionVisibility { Hidden, diff --git a/arkoala-arkts/arkui/src/ArkPageTransition.ts b/arkoala/arkui-common/src/arkts/ArkPageTransition.ts similarity index 100% rename from arkoala-arkts/arkui/src/ArkPageTransition.ts rename to arkoala/arkui-common/src/arkts/ArkPageTransition.ts diff --git a/arkoala-arkts/arkui/src/Storage.ts b/arkoala/arkui-common/src/arkts/Storage.ts similarity index 100% rename from arkoala-arkts/arkui/src/Storage.ts rename to arkoala/arkui-common/src/arkts/Storage.ts diff --git a/arkoala/arkui-common/src/arkts/index.ts b/arkoala/arkui-common/src/arkts/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..7493dda4e60aace753d3e5b8f923af9d4b67c778 --- /dev/null +++ b/arkoala/arkui-common/src/arkts/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from "./observable" +export * from "./ArkPageTransition" +export * from "./Storage" \ No newline at end of file diff --git a/arkoala/arkui-common/src/arkts/observable.ts b/arkoala/arkui-common/src/arkts/observable.ts new file mode 100644 index 0000000000000000000000000000000000000000..329711e8685db0b19e5ec39709321cc3add4fc90 --- /dev/null +++ b/arkoala/arkui-common/src/arkts/observable.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2022-2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Observable } from "@koalaui/runtime" + +/** + * @internal + */ +export function observableProxyArray(...value: Value[]): Value[] { + return observableProxy(value) +} + +/** + * @internal + */ +export function observableProxy(value: Value, parent?: Observable, observed?: boolean, strict: boolean = true): Value { + return value +} diff --git a/arkoala/arkui-common/src/ArkPageTransition.ts b/arkoala/arkui-common/src/typescript/ArkPageTransition.ts similarity index 100% rename from arkoala/arkui-common/src/ArkPageTransition.ts rename to arkoala/arkui-common/src/typescript/ArkPageTransition.ts diff --git a/arkoala/arkui-common/src/Storage.ts b/arkoala/arkui-common/src/typescript/Storage.ts similarity index 100% rename from arkoala/arkui-common/src/Storage.ts rename to arkoala/arkui-common/src/typescript/Storage.ts diff --git a/arkoala/arkui-common/src/index.ts b/arkoala/arkui-common/src/typescript/index.ts similarity index 75% rename from arkoala/arkui-common/src/index.ts rename to arkoala/arkui-common/src/typescript/index.ts index 85568ee0b61da91c88f5cc08be6971c9ce03eead..677ca7c34ea449bec2c77e2d491583ace4b5fe5e 100644 --- a/arkoala/arkui-common/src/index.ts +++ b/arkoala/arkui-common/src/typescript/index.ts @@ -13,14 +13,16 @@ * limitations under the License. */ -import "./enumImpl" -export * from "./ArkState" -export * from "./basic" -export * from "./observable" -export * from "./Router" +import "../enumImpl" + export * from "./ArkPageTransition" -export * from "./ohos.router" -export * from "./ohos.matrix4" -export * from "./interfaces" export * from "./Storage" -export * from "./system.router" +export * from "./observable" + +export * from "../ArkState" +export * from "../basic" +export * from "../Router" +export * from "../ohos.router" +export * from "../ohos.matrix4" +export * from "../interfaces" +export * from "../system.router" diff --git a/arkoala/arkui-common/src/observable.ts b/arkoala/arkui-common/src/typescript/observable.ts similarity index 99% rename from arkoala/arkui-common/src/observable.ts rename to arkoala/arkui-common/src/typescript/observable.ts index d4081a72421e231f5b416ab276bd2284baaa7336..d13655497d882577583b0c4460ef9eff3791fa18 100644 --- a/arkoala/arkui-common/src/observable.ts +++ b/arkoala/arkui-common/src/typescript/observable.ts @@ -172,7 +172,7 @@ function proxyObject(value: any, observable: ObservableHandler) { return new Proxy(value, { get(target, property, receiver) { if (property == OBSERVABLE_TARGET) return target - const value = Reflect.get(target, property, receiver) + const value: any = Reflect.get(target, property, receiver) ObservableHandler.find(target)?.onAccess() return typeof value == "function" ? value.bind(target) diff --git a/arkoala/arkui-common/tsconfig-run-unmemoized.json b/arkoala/arkui-common/tsconfig-run-unmemoized.json index bbbaffa4de96dcce613bd1bd3bc56060c9ee5163..5d7149c3afa190baedd06fd07065311ce67697ca 100644 --- a/arkoala/arkui-common/tsconfig-run-unmemoized.json +++ b/arkoala/arkui-common/tsconfig-run-unmemoized.json @@ -3,18 +3,32 @@ "baseUrl": ".", "compilerOptions": { "outDir": "build/lib/unmemoized", + "plugins": [], + "baseUrl": ".", "paths": { - "@koalaui/common": ["../../incremental/common/src"], - "@koalaui/runtime": ["../../incremental/runtime/unmemoized/src"] - }, - "plugins": [] - + "#arkui-common/*": [ + "./unmemoized/src/typescript/*", + ], + "@koalaui/runtime": [ + "../../incremental/runtime/unmemoized/src" + ] + } }, - "include": ["unmemoized/src/**/*"], - "exclude": ["src/**/*"], + "include": [ + "unmemoized/src/**/*" + ], + "exclude": [ + "src/arkts/*" + ], "references": [ - { "path": "../../incremental/common" }, - { "path": "../../incremental/compiler-plugin" }, - { "path": "../../incremental/runtime/tsconfig-run-unmemoized.json" } + { + "path": "../../incremental/common" + }, + { + "path": "../../incremental/compiler-plugin" + }, + { + "path": "../../incremental/runtime/tsconfig-run-unmemoized.json" + } ] } diff --git a/arkoala/arkui-common/tsconfig-unmemoize-ts.json b/arkoala/arkui-common/tsconfig-unmemoize-ts.json new file mode 100644 index 0000000000000000000000000000000000000000..8c9135c3aa661b3f31a826f984827e31e4c751d5 --- /dev/null +++ b/arkoala/arkui-common/tsconfig-unmemoize-ts.json @@ -0,0 +1,35 @@ +{ + "extends": "@koalaui/build-common/tsconfig.json", + "compilerOptions": { + "outDir": "build/garbage", + "lib": ["ES2020"], + "rootDirs": ["src", "test"], + "baseUrl": ".", + "module": "CommonJS", + "experimentalDecorators": true, + "plugins": [ + { "transform": "@koalaui/compiler-plugin/build/lib/src/koala-transformer.js", "trace": false, "only_unmemoize": true } + ], + "paths": { + "#arkui-common/*": [ + "./src/typescript/*", + ] + } + }, + "include": [ + "src/**/*.ts", + ], + "exclude": [ + "src/arkts/**/*", + ], + "files": [ + "./ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/index-full.d.ts", + "./ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/component/koala-extensions.d.ts", + "./ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/api/@internal/full/global.d.ts", + ], + "references": [ + { "path": "../../incremental/compiler-plugin" }, + { "path": "../../incremental/common" }, + { "path": "../../incremental/runtime/tsconfig-unmemoize.json" } + ] +} diff --git a/arkoala/arkui-common/tsconfig-unmemoize.json b/arkoala/arkui-common/tsconfig-unmemoize.json index 7c5d1cda1fcca03c9814b0c6804716518b1b47c3..6bbdda4f890ed45197b09993b5d03dc5e691f7c1 100644 --- a/arkoala/arkui-common/tsconfig-unmemoize.json +++ b/arkoala/arkui-common/tsconfig-unmemoize.json @@ -6,7 +6,7 @@ "./ohos-sdk-ets/HarmonyOS-NEXT-DB1/openharmony/ets/api/@internal/full/global.d.ts", ], "compilerOptions": { - "outDir": "build/lib/garbage", + "outDir": "build/garbage", "lib": ["ES2020"], "rootDirs": ["src", "test"], "baseUrl": ".", @@ -15,8 +15,16 @@ "plugins": [ { "transform": "@koalaui/compiler-plugin/build/lib/src/koala-transformer.js", "trace": false, "only_unmemoize": true } ], + "paths": { + "#arkui-common/*": [ + "./src/arkts/*", + ] + } }, - "include": ["src/**/*"], + "include": [ + "src/index.ts", + "src/arkts/**/*.ts" + ], "references": [ { "path": "../../incremental/compiler-plugin" }, { "path": "../../incremental/common" }, diff --git a/arkoala/arkui-common/tsconfig.json b/arkoala/arkui-common/tsconfig.json index 644434def4c13c0775c770f3c970fcea081990ae..d1d7873955fcecaa0526d733762e266d3539b82a 100644 --- a/arkoala/arkui-common/tsconfig.json +++ b/arkoala/arkui-common/tsconfig.json @@ -13,14 +13,16 @@ "baseUrl": ".", "module": "CommonJS", "experimentalDecorators": true, - "plugins": [ /* TODO Check */ + "plugins": [ { "transform": "@koalaui/compiler-plugin/build/lib/src/koala-transformer.js", "trace": false } ], "paths": { "@koalaui/common": ["../../incremental/common/src"], "@koalaui/runtime": ["../../incremental/runtime/src"], - "@koalaui/arkui-common": ["./src"], - "@koalaui/arkui-common/*": ["./src/*"] + "@koalaui/arkui-common": ["./src/typescript"], + "@koalaui/arkui-common/*": ["./src/typescript/*"], + "#arkui-common/*": ["./src/typescript/*"], + "#arkui-common": ["./src/typescript"] } }, diff --git a/arkoala/arkui/src/index.ts b/arkoala/arkui/src/index.ts index 77f1502389a415d94126cdc3a1808de64068c041..94905ec51befbf604115a3bbc4c9df99cb75b35e 100644 --- a/arkoala/arkui/src/index.ts +++ b/arkoala/arkui/src/index.ts @@ -122,7 +122,7 @@ export { ArkPageTransitionExitComponent, ArkPageTransitionExitComponent as PageTransitionExitAttribute } from "@koalaui/arkui-common" -export * from "@koalaui/arkui-common/Storage" +export * from "@koalaui/arkui-common" export * from "./shared/ArkUtils" export * from "./ArkSideBarContainer" export * from "./peers/ArkButtonPeer" diff --git a/arkoala/arkui/tsconfig-run-unmemoized.json b/arkoala/arkui/tsconfig-run-unmemoized.json index 7fcef6ba767eeb792331763cab86fa80e714d901..57424f10b517b5f8bb6acc0bc91f7241d17c8f74 100644 --- a/arkoala/arkui/tsconfig-run-unmemoized.json +++ b/arkoala/arkui/tsconfig-run-unmemoized.json @@ -14,9 +14,10 @@ "experimentalDecorators": true, "paths": { "@koalaui/runtime": ["../../incremental/runtime/unmemoized/src"], - "@koalaui/arkui-common": ["../arkui-common/unmemoized/src"], + "@koalaui/arkui-common": ["../arkui-common/unmemoized/src/typescript"], "@koalaui/arkoala": ["../framework/unmemoized/src"], - "@koalaui/arkoala-arkui": ["./unmemoized/src"] + "@koalaui/arkoala-arkui": ["./unmemoized/src"], + "#arkui-common": ["../arkui-common/unmemoized/src/typescript"], }, "plugins": [] diff --git a/arkoala/arkui/tsconfig-unmemoize.json b/arkoala/arkui/tsconfig-unmemoize.json index 24f71dd44918dff28244366b896c1d6b2c11cf63..337600f1faead6b3ca7b21f43e931b07a6561e67 100644 --- a/arkoala/arkui/tsconfig-unmemoize.json +++ b/arkoala/arkui/tsconfig-unmemoize.json @@ -14,14 +14,19 @@ "experimentalDecorators": true, "plugins": [ { "transform": "@koalaui/compiler-plugin/build/lib/src/koala-transformer.js", "trace": false, "only_unmemoize": true } - ] + ], + "paths": { + "#arkui-common": ["../arkui-common/src/typescript"], + "#arkui-common/*": ["../arkui-common/src/typescript/*"], + "@koalaui/arkui-common": ["../arkui-common/src/typescript"] + } }, "include": ["src/**/*"], "references": [ { "path": "../../incremental/compiler-plugin" }, { "path": "../../interop" }, { "path": "../../incremental/runtime/tsconfig-unmemoize.json" }, - { "path": "../arkui-common/tsconfig-unmemoize.json" }, + { "path": "../arkui-common/tsconfig-unmemoize-ts.json" }, { "path": "../framework/tsconfig-unmemoize.json" } ] } diff --git a/arkoala/arkui/tsconfig.json b/arkoala/arkui/tsconfig.json index 243ae1392dd6ecbc6ad3da6acdbe4f40dd02ec80..1c8c65477312f79af2fe7904ff0de25aae6b412d 100644 --- a/arkoala/arkui/tsconfig.json +++ b/arkoala/arkui/tsconfig.json @@ -9,7 +9,18 @@ "outDir": "build/lib", "lib": ["ES2020"], "rootDirs": ["src", "test"], - "baseUrl": "..", + "baseUrl": ".", + "paths": { + "#arkui-common/*": [ + "../arkui-common/src/typescript/*" + ], + "#arkui-common": [ + "../arkui-common/src/typescript" + ], + "@koalaui/arkui-common": [ + "../../arkoala/arkui-common/src/typescript" + ], + }, "module": "ESNext", "experimentalDecorators": true, "plugins": [ @@ -22,6 +33,7 @@ { "path": "../../interop" }, { "path": "../../incremental/runtime" }, { "path": "../arkui-common" }, - { "path": "../framework" } + { "path": "../framework" }, + { "path": "../arkui-common/tsconfig-unmemoize-ts.json" } ] } diff --git a/arkoala/har/arkoala-har-bundle/tsconfig.json b/arkoala/har/arkoala-har-bundle/tsconfig.json index 6ac4abf7d031bcac21ddc6acf35a287039f04f9b..1fd9841f2daeec49bfa488e0ea4eda96f9c33f1d 100644 --- a/arkoala/har/arkoala-har-bundle/tsconfig.json +++ b/arkoala/har/arkoala-har-bundle/tsconfig.json @@ -3,6 +3,15 @@ "lib": ["ESNext"], "types": [] }, + "baseUrl": ".", + "paths": { + "@koalaui/arkui-common": [ + "../../arkui-common/build/lib/src/typescript" + ], + "#arkui-common": [ + "../../arkui-common/build/lib/src/typescript" + ], + } // "files": ["bundle.d.ts"] "include": [ "bundle.d.ts", diff --git a/arkoala/loader/tsconfig-run-unmemoized.json b/arkoala/loader/tsconfig-run-unmemoized.json index def431dc8d257741361227cfd4d9241afd9abcff..ed26cb5912a8363d80fbcc04c4a6d4bfa76c15af 100644 --- a/arkoala/loader/tsconfig-run-unmemoized.json +++ b/arkoala/loader/tsconfig-run-unmemoized.json @@ -18,11 +18,15 @@ "baseUrl": "..", "paths": { "@koalaui/runtime": ["../incremental/runtime/unmemoized/src"], - "@koalaui/arkui-common": ["./arkui-common/unmemoized/src"], + "@koalaui/arkui-common": ["./arkui-common/unmemoized/src/typescript"], "@koalaui/arkoala": ["./framework/unmemoized/src"], "@koalaui/arkoala-arkui": ["./arkui/unmemoized/src"], "@koalaui/arkoala-extension-component": ["./extension-component/unmemoized/src"], - "#common/wrappers/*": ["../interop/src/napi/wrappers/*", "../interop/src/wasm/wrappers/*"] + "#common/wrappers/*": ["../interop/src/napi/wrappers/*", "../interop/src/wasm/wrappers/*"], + + + "#arkui-common": ["./arkui-common/unmemoized/src/typescript"], + "#arkui-common/*": ["./arkui-common/unmemoized/src/typescript/*"] }, "plugins": [] diff --git a/arkoala/loader/tsconfig-unmemoize.json b/arkoala/loader/tsconfig-unmemoize.json index c5a370e558546db0a725a16c3871f4bbf579ba1f..e8157dfff30029b2a5be9143f5c8dcb5ef1b8c90 100644 --- a/arkoala/loader/tsconfig-unmemoize.json +++ b/arkoala/loader/tsconfig-unmemoize.json @@ -20,7 +20,11 @@ "outDir": "build/garbage", "baseUrl": "..", "paths": { - "#common/wrappers/*": ["../interop/src/napi/wrappers/*", "../interop/src/wasm/wrappers/*"] + "#common/wrappers/*": ["../interop/src/napi/wrappers/*", "../interop/src/wasm/wrappers/*"], + + "#arkui-common": ["./arkui-common/src/typescript"], + "#arkui-common/*": ["./arkui-common/src/typescript/*"], + "@koalaui/arkui-common": ["./arkui-common/src/typescript"] } }, "files": [ @@ -44,7 +48,7 @@ { "path": "../extension-component" }, { "path": "../../incremental/runtime/tsconfig-unmemoize.json" }, { "path": "../framework/tsconfig-unmemoize.json" }, - { "path": "../arkui-common/tsconfig-unmemoize.json" }, + { "path": "../arkui-common/tsconfig-unmemoize-ts.json" }, { "path": "../arkui/tsconfig-unmemoize.json" }, { "path": "../extension-component/tsconfig-unmemoize.json" }