akanjs 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/cli/application/application.command.ts +4 -1
- package/cli/application/application.runner.ts +6 -8
- package/cli/build.ts +3 -1
- package/cli/cloud/cloud.runner.ts +7 -8
- package/cli/index.js +288 -115
- package/cli/library/library.runner.ts +2 -2
- package/cli/module/module.runner.ts +2 -2
- package/cli/npmRegistry.ts +13 -0
- package/cli/openBrowser.ts +15 -0
- package/cli/pluralizeName.ts +5 -0
- package/cli/scalar/scalar.prompt.ts +2 -2
- package/cli/scalar/scalar.runner.ts +2 -2
- package/cli/semver.ts +18 -0
- package/cli/templates/lib/sig.ts +2 -2
- package/cli/workspace/workspace.runner.ts +3 -3
- package/client/cookie.ts +10 -15
- package/common/index.ts +1 -0
- package/common/jwtDecode.ts +17 -0
- package/constant/serialize.ts +1 -1
- package/devkit/akanApp/akanApp.host.ts +46 -9
- package/devkit/akanConfig/akanConfig.ts +2 -1
- package/devkit/capacitor.base.config.ts +18 -4
- package/devkit/capacitorApp.ts +118 -64
- package/devkit/incrementalBuilder/incrementalBuilder.host.ts +83 -9
- package/devkit/mobile/mobileTarget.ts +2 -1
- package/devkit/scanInfo.ts +1 -0
- package/document/dataLoader.ts +140 -6
- package/document/database.ts +1 -1
- package/package.json +7 -13
- package/server/akanApp.ts +250 -44
- package/server/di/diLifecycle.ts +1 -1
- package/server/processMetricsCollector.ts +79 -1
- package/server/proxy/localeWebProxy.ts +29 -12
- package/server/resolver/database.resolver.ts +82 -31
- package/server/resolver/signal.resolver.ts +67 -28
- package/service/ipcTypes.ts +5 -0
- package/service/predefinedAdaptor/database.adaptor.ts +95 -27
- package/service/predefinedAdaptor/solidSqlite.ts +7 -7
- package/service/predefinedAdaptor/storage.adaptor.ts +35 -9
- package/service/serviceModule.ts +1 -6
- package/signal/base.signal.ts +1 -1
- package/signal/index.ts +1 -0
- package/signal/middleware.ts +5 -1
- package/signal/signalContext.ts +85 -31
- package/signal/signalRegistry.ts +35 -10
- package/signal/trace.ts +279 -0
- package/types/cli/npmRegistry.d.ts +1 -0
- package/types/cli/openBrowser.d.ts +1 -0
- package/types/cli/pluralizeName.d.ts +1 -0
- package/types/cli/semver.d.ts +1 -0
- package/types/client/cookie.d.ts +6 -1
- package/types/common/index.d.ts +1 -0
- package/types/common/jwtDecode.d.ts +2 -0
- package/types/devkit/capacitorApp.d.ts +14 -5
- package/types/devkit/incrementalBuilder/incrementalBuilder.host.d.ts +9 -5
- package/types/document/dataLoader.d.ts +21 -2
- package/types/document/database.d.ts +1 -1
- package/types/server/processMetricsCollector.d.ts +2 -0
- package/types/service/ipcTypes.d.ts +5 -0
- package/types/service/predefinedAdaptor/database.adaptor.d.ts +26 -32
- package/types/service/predefinedAdaptor/solidSqlite.d.ts +3 -3
- package/types/service/predefinedAdaptor/storage.adaptor.d.ts +8 -2
- package/types/service/serviceModule.d.ts +1 -1
- package/types/signal/index.d.ts +1 -0
- package/types/signal/signalContext.d.ts +4 -1
- package/types/signal/signalRegistry.d.ts +25 -4
- package/types/signal/trace.d.ts +97 -0
- package/types/ui/Signal/style.d.ts +15 -0
- package/ui/Signal/Arg.tsx +22 -15
- package/ui/Signal/Doc.tsx +30 -24
- package/ui/Signal/Listener.tsx +15 -39
- package/ui/Signal/Message.tsx +32 -50
- package/ui/Signal/Object.tsx +16 -13
- package/ui/Signal/PubSub.tsx +29 -47
- package/ui/Signal/Response.tsx +7 -17
- package/ui/Signal/RestApi.tsx +41 -57
- package/ui/Signal/WebSocket.tsx +1 -1
- package/ui/Signal/style.ts +36 -0
- package/webkit/useCsrValues.ts +147 -37
package/README.ko.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Akan.js
|
|
2
2
|
|
|
3
|
-
[English](
|
|
3
|
+
[English](https://unpkg.com/akanjs@latest/README.md) | [Docs](https://akanjs.com/docs) | [npm](https://www.npmjs.com/package/akanjs)
|
|
4
4
|
|
|
5
5
|
**코드가 아니라, 비즈니스를 씁니다.**
|
|
6
6
|
**Write the business, not the plumbing.**
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Akan.js
|
|
2
2
|
|
|
3
|
-
[한국어](
|
|
3
|
+
[한국어](https://unpkg.com/akanjs@latest/README.ko.md) | [Docs](https://akanjs.com/docs) | [npm](https://www.npmjs.com/package/akanjs)
|
|
4
4
|
|
|
5
5
|
**Write the business, not the plumbing.**
|
|
6
6
|
|
|
@@ -94,7 +94,10 @@ export class ApplicationCommand extends command("application", [ApplicationScrip
|
|
|
94
94
|
}),
|
|
95
95
|
startIos: target({ short: true, desc: "Start iOS app in simulator or device" })
|
|
96
96
|
.with(App)
|
|
97
|
-
.option("target", String, {
|
|
97
|
+
.option("target", String, {
|
|
98
|
+
ask: "Select mobile target",
|
|
99
|
+
enum: async ({ app }) => await getMobileTargetChoices(app),
|
|
100
|
+
})
|
|
98
101
|
.option("env", String, {
|
|
99
102
|
enum: ["local", "debug", "develop", "main"],
|
|
100
103
|
desc: "backend environment",
|
|
@@ -25,8 +25,8 @@ import {
|
|
|
25
25
|
type TypecheckOptions,
|
|
26
26
|
type Workspace,
|
|
27
27
|
} from "akanjs/devkit";
|
|
28
|
-
import openBrowser from "open";
|
|
29
28
|
import ora from "ora";
|
|
29
|
+
import { openBrowser } from "../openBrowser";
|
|
30
30
|
|
|
31
31
|
export class ApplicationRunner extends runner("application") {
|
|
32
32
|
async createApplication(appName: string, workspace: Workspace, libs: string[] = []) {
|
|
@@ -117,7 +117,7 @@ export class ApplicationRunner extends runner("application") {
|
|
|
117
117
|
const targets = await resolveMobileTargets(app, target);
|
|
118
118
|
await this.#buildMobileCsr(app, env);
|
|
119
119
|
await this.#runMobileTargets(targets, async (mobileTarget) => {
|
|
120
|
-
await new CapacitorApp(app, mobileTarget.config).buildIos({ regenerate });
|
|
120
|
+
await new CapacitorApp(app, mobileTarget.config).buildIos({ env, regenerate });
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
async startIos(
|
|
@@ -152,7 +152,7 @@ export class ApplicationRunner extends runner("application") {
|
|
|
152
152
|
const targets = await resolveMobileTargets(app, target);
|
|
153
153
|
await this.#buildMobileCsr(app, env);
|
|
154
154
|
for (const mobileTarget of targets) {
|
|
155
|
-
await new CapacitorApp(app, mobileTarget.config).buildIos({ regenerate });
|
|
155
|
+
await new CapacitorApp(app, mobileTarget.config).buildIos({ env, regenerate });
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -163,7 +163,7 @@ export class ApplicationRunner extends runner("application") {
|
|
|
163
163
|
const targets = await resolveMobileTargets(app, target);
|
|
164
164
|
await this.#buildMobileCsr(app, env);
|
|
165
165
|
await this.#runMobileTargets(targets, async (mobileTarget) => {
|
|
166
|
-
await new CapacitorApp(app, mobileTarget.config).buildAndroid("apk", { regenerate });
|
|
166
|
+
await new CapacitorApp(app, mobileTarget.config).buildAndroid("apk", { env, regenerate });
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -201,11 +201,9 @@ export class ApplicationRunner extends runner("application") {
|
|
|
201
201
|
const targets = await resolveMobileTargets(app, target);
|
|
202
202
|
await this.#buildMobileCsr(app, env);
|
|
203
203
|
for (const mobileTarget of targets) {
|
|
204
|
-
await new CapacitorApp(app, mobileTarget.config).buildAndroid(assembleType, { regenerate });
|
|
204
|
+
await new CapacitorApp(app, mobileTarget.config).buildAndroid(assembleType, { env, regenerate });
|
|
205
205
|
app.log(`Release Android ${app.name}/${mobileTarget.name} ${assembleType} Completed.`);
|
|
206
|
-
app.log(
|
|
207
|
-
`Path : ${app.cwdPath}/mobile/${mobileTarget.name}/android/app/build/outputs/${assembleType === "apk" ? "apk" : "bundle"}/release`,
|
|
208
|
-
);
|
|
206
|
+
app.log(`Path : ${app.cwdPath}/android/app/build/outputs/${assembleType === "apk" ? "apk" : "bundle"}/release`);
|
|
209
207
|
}
|
|
210
208
|
}
|
|
211
209
|
|
package/cli/build.ts
CHANGED
|
@@ -7,13 +7,15 @@ const OUT_DIR = process.env.DIST_DIR ?? `${WORKSPACE_ROOT}/dist/pkgs/akanjs`;
|
|
|
7
7
|
|
|
8
8
|
const build = async () => {
|
|
9
9
|
try {
|
|
10
|
+
const packageJson = await Bun.file(`${PACKAGE_DIR}/package.json`).json();
|
|
10
11
|
await $`rm -rf ${OUT_DIR}/cli`;
|
|
11
12
|
await Bun.build({
|
|
12
13
|
entrypoints: [`${CLI_DIR}/index.ts`],
|
|
13
14
|
splitting: false,
|
|
14
15
|
target: "bun",
|
|
15
16
|
outdir: `${OUT_DIR}/cli`,
|
|
16
|
-
external: Object.keys(
|
|
17
|
+
external: Object.keys({ ...packageJson.dependencies, ...packageJson.peerDependencies }),
|
|
18
|
+
plugins: [],
|
|
17
19
|
});
|
|
18
20
|
await $`cp -R ${CLI_DIR}/templates ${OUT_DIR}/cli/templates`;
|
|
19
21
|
} catch (error) {
|
|
@@ -11,10 +11,9 @@ import {
|
|
|
11
11
|
type Workspace,
|
|
12
12
|
} from "akanjs/devkit";
|
|
13
13
|
import chalk from "chalk";
|
|
14
|
-
import latestVersion from "latest-version";
|
|
15
|
-
import open from "open";
|
|
16
14
|
import * as QRcode from "qrcode";
|
|
17
|
-
import {
|
|
15
|
+
import { getLatestPackageVersion } from "../npmRegistry";
|
|
16
|
+
import { openBrowser } from "../openBrowser";
|
|
18
17
|
|
|
19
18
|
export class CloudRunner extends runner("cloud") {
|
|
20
19
|
async login() {
|
|
@@ -24,7 +23,7 @@ export class CloudRunner extends runner("cloud") {
|
|
|
24
23
|
Logger.rawLog(chalk.green(`\n✓ Already logged in akan cloud as ${self.nickname}\n`));
|
|
25
24
|
return true;
|
|
26
25
|
}
|
|
27
|
-
const remoteId =
|
|
26
|
+
const remoteId = crypto.randomUUID();
|
|
28
27
|
const signinUrl = `${akanCloudUrl}/signin?remoteId=${remoteId}`;
|
|
29
28
|
|
|
30
29
|
Logger.rawLog(chalk.bold(`\n${chalk.green("➤")} Authentication Required`));
|
|
@@ -39,7 +38,7 @@ export class CloudRunner extends runner("cloud") {
|
|
|
39
38
|
});
|
|
40
39
|
});
|
|
41
40
|
Logger.rawLog(qrcode);
|
|
42
|
-
await
|
|
41
|
+
await openBrowser(signinUrl);
|
|
43
42
|
Logger.rawLog(chalk.dim("Opening browser..."));
|
|
44
43
|
} catch {
|
|
45
44
|
Logger.rawLog(chalk.yellow("Could not open browser. Please visit the URL manually."));
|
|
@@ -96,13 +95,13 @@ export class CloudRunner extends runner("cloud") {
|
|
|
96
95
|
const tag = isOfficialRelease ? "latest" : (patchVersion.split("-").at(1) ?? "dev");
|
|
97
96
|
const getNextVersion = async (prefix: string, tag: string) => {
|
|
98
97
|
try {
|
|
99
|
-
const latestPublishedVersion = await
|
|
98
|
+
const latestPublishedVersion = await getLatestPackageVersion("akanjs", tag);
|
|
100
99
|
const latestPatch = latestPublishedVersion.startsWith(prefix)
|
|
101
100
|
? parseInt(latestPublishedVersion.split(".").at(-1) ?? "-1")
|
|
102
101
|
: -1;
|
|
103
102
|
const nextVersion = `${prefix}.${latestPatch + 1}`;
|
|
104
103
|
return { nextVersion, latestPublishedVersion };
|
|
105
|
-
} catch
|
|
104
|
+
} catch {
|
|
106
105
|
return { nextVersion: `${prefix}.0`, latestPublishedVersion: null };
|
|
107
106
|
}
|
|
108
107
|
};
|
|
@@ -147,7 +146,7 @@ export class CloudRunner extends runner("cloud") {
|
|
|
147
146
|
]);
|
|
148
147
|
}
|
|
149
148
|
async #updateAkanPkgs(workspace: Workspace, tag: string = "latest") {
|
|
150
|
-
const latestPublishedVersion = await
|
|
149
|
+
const latestPublishedVersion = await getLatestPackageVersion("akanjs", tag);
|
|
151
150
|
const rootPackageJson = await workspace.getPackageJson();
|
|
152
151
|
if (!rootPackageJson.dependencies) throw new Error("No dependencies found in package.json");
|
|
153
152
|
if (rootPackageJson.dependencies.akanjs) rootPackageJson.dependencies.akanjs = latestPublishedVersion;
|