@akanjs/cli 0.0.119 → 0.0.121

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.
Files changed (80) hide show
  1. package/cjs/index.js +34 -3
  2. package/esm/index.js +34 -3
  3. package/esm/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
  4. package/esm/src/templates/app/app/index.html.template +13 -0
  5. package/esm/src/templates/app/capacitor.config.ts.template +8 -0
  6. package/esm/src/templates/app/env/env.client.debug.ts.template +7 -0
  7. package/esm/src/templates/app/env/env.client.develop.ts.template +7 -0
  8. package/esm/src/templates/app/env/env.client.local.ts.template +7 -0
  9. package/esm/src/templates/app/env/env.client.main.ts.template +7 -0
  10. package/esm/src/templates/app/env/env.client.testing.ts.template +7 -0
  11. package/esm/src/templates/app/env/env.server.debug.ts.template +15 -0
  12. package/esm/src/templates/app/env/env.server.develop.ts.template +15 -0
  13. package/esm/src/templates/app/env/env.server.local.ts.template +15 -0
  14. package/esm/src/templates/app/env/env.server.main.ts.template +15 -0
  15. package/esm/src/templates/app/env/env.server.testing.ts.template +7 -0
  16. package/esm/src/templates/app/page.test.ts.template +10 -0
  17. package/esm/src/templates/app/playwright.config.ts.template +6 -0
  18. package/esm/src/templates/app/postcss.config.js.template +10 -0
  19. package/esm/src/templates/app/public/manifest.json.template +67 -0
  20. package/esm/src/templates/app/tsconfig.json.template +22 -0
  21. package/esm/src/templates/app/tsconfig.spec.json.template +7 -0
  22. package/esm/src/templates/libRoot/.gitignore.template +15 -0
  23. package/esm/src/templates/libRoot/env/env.server.example.ts.template +7 -0
  24. package/esm/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
  25. package/esm/src/templates/libRoot/package.json.template +4 -0
  26. package/esm/src/templates/libRoot/tsconfig.json.template +13 -0
  27. package/esm/src/templates/libRoot/tsconfig.spec.json.template +7 -0
  28. package/esm/src/templates/localDev/docker-compose.yaml.template +36 -0
  29. package/esm/src/templates/pkgRoot/tsconfig.json.template +15 -0
  30. package/esm/src/templates/workspaceRoot/.env.template +20 -0
  31. package/esm/src/templates/workspaceRoot/.gitignore.template +118 -0
  32. package/esm/src/templates/workspaceRoot/.prettierignore.template +10 -0
  33. package/esm/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
  34. package/esm/src/templates/workspaceRoot/.swcrc.template +9 -0
  35. package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
  36. package/esm/src/templates/workspaceRoot/README.md.template +37 -0
  37. package/esm/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
  38. package/esm/src/templates/workspaceRoot/package.json.template +38 -0
  39. package/esm/src/templates/workspaceRoot/tsconfig.json.template +29 -0
  40. package/package.json +1 -1
  41. package/src/cloud/cloud.command.d.ts +1 -0
  42. package/src/cloud/cloud.runner.d.ts +1 -0
  43. package/src/cloud/cloud.script.d.ts +1 -0
  44. /package/{src → cjs/src}/templates/app/app/[lang]/(__appName__)/styles.css.template +0 -0
  45. /package/{src → cjs/src}/templates/app/app/index.html.template +0 -0
  46. /package/{src → cjs/src}/templates/app/capacitor.config.ts.template +0 -0
  47. /package/{src → cjs/src}/templates/app/env/env.client.debug.ts.template +0 -0
  48. /package/{src → cjs/src}/templates/app/env/env.client.develop.ts.template +0 -0
  49. /package/{src → cjs/src}/templates/app/env/env.client.local.ts.template +0 -0
  50. /package/{src → cjs/src}/templates/app/env/env.client.main.ts.template +0 -0
  51. /package/{src → cjs/src}/templates/app/env/env.client.testing.ts.template +0 -0
  52. /package/{src → cjs/src}/templates/app/env/env.server.debug.ts.template +0 -0
  53. /package/{src → cjs/src}/templates/app/env/env.server.develop.ts.template +0 -0
  54. /package/{src → cjs/src}/templates/app/env/env.server.local.ts.template +0 -0
  55. /package/{src → cjs/src}/templates/app/env/env.server.main.ts.template +0 -0
  56. /package/{src → cjs/src}/templates/app/env/env.server.testing.ts.template +0 -0
  57. /package/{src → cjs/src}/templates/app/page.test.ts.template +0 -0
  58. /package/{src → cjs/src}/templates/app/playwright.config.ts.template +0 -0
  59. /package/{src → cjs/src}/templates/app/postcss.config.js.template +0 -0
  60. /package/{src → cjs/src}/templates/app/public/manifest.json.template +0 -0
  61. /package/{src → cjs/src}/templates/app/tsconfig.json.template +0 -0
  62. /package/{src → cjs/src}/templates/app/tsconfig.spec.json.template +0 -0
  63. /package/{src → cjs/src}/templates/libRoot/.gitignore.template +0 -0
  64. /package/{src → cjs/src}/templates/libRoot/env/env.server.example.ts.template +0 -0
  65. /package/{src → cjs/src}/templates/libRoot/env/env.server.testing.ts.template +0 -0
  66. /package/{src → cjs/src}/templates/libRoot/package.json.template +0 -0
  67. /package/{src → cjs/src}/templates/libRoot/tsconfig.json.template +0 -0
  68. /package/{src → cjs/src}/templates/libRoot/tsconfig.spec.json.template +0 -0
  69. /package/{src → cjs/src}/templates/localDev/docker-compose.yaml.template +0 -0
  70. /package/{src → cjs/src}/templates/pkgRoot/tsconfig.json.template +0 -0
  71. /package/{src → cjs/src}/templates/workspaceRoot/.env.template +0 -0
  72. /package/{src → cjs/src}/templates/workspaceRoot/.gitignore.template +0 -0
  73. /package/{src → cjs/src}/templates/workspaceRoot/.prettierignore.template +0 -0
  74. /package/{src → cjs/src}/templates/workspaceRoot/.prettierrc.json.template +0 -0
  75. /package/{src → cjs/src}/templates/workspaceRoot/.swcrc.template +0 -0
  76. /package/{src → cjs/src}/templates/workspaceRoot/.vscode/settings.json.template +0 -0
  77. /package/{src → cjs/src}/templates/workspaceRoot/README.md.template +0 -0
  78. /package/{src → cjs/src}/templates/workspaceRoot/eslint.config.ts.template +0 -0
  79. /package/{src → cjs/src}/templates/workspaceRoot/package.json.template +0 -0
  80. /package/{src → cjs/src}/templates/workspaceRoot/tsconfig.json.template +0 -0
package/cjs/index.js CHANGED
@@ -2188,6 +2188,7 @@ var Builder = class {
2188
2188
  return {
2189
2189
  entryPoints: [
2190
2190
  ...bundle ? [`${this.#executor.cwdPath}/index.ts`] : [`${this.#executor.cwdPath}/**/*.ts`, `${this.#executor.cwdPath}/**/*.tsx`],
2191
+ `${this.#executor.cwdPath}/**/*.template`,
2191
2192
  ...additionalEntryPoints
2192
2193
  ],
2193
2194
  bundle,
@@ -2196,7 +2197,8 @@ var Builder = class {
2196
2197
  platform: this.#pkgJson.esbuild?.platform,
2197
2198
  format,
2198
2199
  outdir: `${this.#distExecutor.cwdPath}/${format}`,
2199
- logLevel: "error"
2200
+ logLevel: "error",
2201
+ loader: { ".template": "copy" }
2200
2202
  };
2201
2203
  }
2202
2204
  #getAssetBuildOptions() {
@@ -2206,12 +2208,11 @@ var Builder = class {
2206
2208
  entryPoints: [
2207
2209
  `${this.#executor.cwdPath}/**/*.css`,
2208
2210
  `${this.#executor.cwdPath}/**/*.md`,
2209
- `${this.#executor.cwdPath}/**/*.template`,
2210
2211
  `${this.#executor.cwdPath}/**/*.js`
2211
2212
  ],
2212
2213
  outdir: this.#distExecutor.cwdPath,
2213
2214
  logLevel: "error",
2214
- loader: { ".css": "copy", ".md": "copy", ".template": "copy", ".js": "copy" }
2215
+ loader: { ".css": "copy", ".md": "copy", ".js": "copy" }
2215
2216
  };
2216
2217
  }
2217
2218
  async build(options = {}) {
@@ -4975,6 +4976,26 @@ ${import_chalk4.default.green("\u27A4")} Authentication Required`));
4975
4976
  );
4976
4977
  Logger.info("All libraries are published to npm");
4977
4978
  }
4979
+ async update(workspace) {
4980
+ const latestPublishedVersionOfBase = await (0, import_latest_version.default)("@akanjs/base");
4981
+ const rootPackageJson = workspace.readJson("package.json");
4982
+ if (!rootPackageJson.dependencies)
4983
+ throw new Error("No dependencies found in package.json");
4984
+ Object.keys(rootPackageJson.dependencies).forEach((dependency) => {
4985
+ if (dependency.startsWith("@akanjs/"))
4986
+ Object.assign(rootPackageJson.dependencies ?? {}, { [dependency]: latestPublishedVersionOfBase });
4987
+ });
4988
+ Object.keys(rootPackageJson.devDependencies ?? {}).forEach((dependency) => {
4989
+ if (dependency.startsWith("@akanjs/"))
4990
+ Object.assign(rootPackageJson.devDependencies ?? {}, { [dependency]: latestPublishedVersionOfBase });
4991
+ });
4992
+ workspace.writeJson("package.json", rootPackageJson);
4993
+ await Promise.all([
4994
+ workspace.spawn("npm", ["update", "-g", "@akanjs/cli", "--latest"]),
4995
+ workspace.spawn("pnpm", ["install"])
4996
+ ]);
4997
+ Logger.info(`Akan.js is updated to the latest version ${latestPublishedVersionOfBase}`);
4998
+ }
4978
4999
  };
4979
5000
 
4980
5001
  // pkgs/@akanjs/cli/src/cloud/cloud.script.ts
@@ -5005,6 +5026,9 @@ var CloudScript = class {
5005
5026
  );
5006
5027
  await this.#runner.deployAkan(workspace, akanPkgs);
5007
5028
  }
5029
+ async update(workspace) {
5030
+ await this.#runner.update(workspace);
5031
+ }
5008
5032
  };
5009
5033
 
5010
5034
  // pkgs/@akanjs/cli/src/cloud/cloud.command.ts
@@ -5028,6 +5052,9 @@ var CloudCommand = class {
5028
5052
  async deployAkan(workspace) {
5029
5053
  await this.cloudScript.deployAkan(workspace);
5030
5054
  }
5055
+ async update(workspace) {
5056
+ await this.cloudScript.update(workspace);
5057
+ }
5031
5058
  };
5032
5059
  __decorateClass([
5033
5060
  Target.Public()
@@ -5049,6 +5076,10 @@ __decorateClass([
5049
5076
  Target.Public({ devOnly: true }),
5050
5077
  __decorateParam(0, Workspace())
5051
5078
  ], CloudCommand.prototype, "deployAkan", 1);
5079
+ __decorateClass([
5080
+ Target.Public(),
5081
+ __decorateParam(0, Workspace())
5082
+ ], CloudCommand.prototype, "update", 1);
5052
5083
  CloudCommand = __decorateClass([
5053
5084
  Commands()
5054
5085
  ], CloudCommand);
package/esm/index.js CHANGED
@@ -2175,6 +2175,7 @@ var Builder = class {
2175
2175
  return {
2176
2176
  entryPoints: [
2177
2177
  ...bundle ? [`${this.#executor.cwdPath}/index.ts`] : [`${this.#executor.cwdPath}/**/*.ts`, `${this.#executor.cwdPath}/**/*.tsx`],
2178
+ `${this.#executor.cwdPath}/**/*.template`,
2178
2179
  ...additionalEntryPoints
2179
2180
  ],
2180
2181
  bundle,
@@ -2183,7 +2184,8 @@ var Builder = class {
2183
2184
  platform: this.#pkgJson.esbuild?.platform,
2184
2185
  format,
2185
2186
  outdir: `${this.#distExecutor.cwdPath}/${format}`,
2186
- logLevel: "error"
2187
+ logLevel: "error",
2188
+ loader: { ".template": "copy" }
2187
2189
  };
2188
2190
  }
2189
2191
  #getAssetBuildOptions() {
@@ -2193,12 +2195,11 @@ var Builder = class {
2193
2195
  entryPoints: [
2194
2196
  `${this.#executor.cwdPath}/**/*.css`,
2195
2197
  `${this.#executor.cwdPath}/**/*.md`,
2196
- `${this.#executor.cwdPath}/**/*.template`,
2197
2198
  `${this.#executor.cwdPath}/**/*.js`
2198
2199
  ],
2199
2200
  outdir: this.#distExecutor.cwdPath,
2200
2201
  logLevel: "error",
2201
- loader: { ".css": "copy", ".md": "copy", ".template": "copy", ".js": "copy" }
2202
+ loader: { ".css": "copy", ".md": "copy", ".js": "copy" }
2202
2203
  };
2203
2204
  }
2204
2205
  async build(options = {}) {
@@ -4962,6 +4963,26 @@ ${chalk4.green("\u27A4")} Authentication Required`));
4962
4963
  );
4963
4964
  Logger.info("All libraries are published to npm");
4964
4965
  }
4966
+ async update(workspace) {
4967
+ const latestPublishedVersionOfBase = await latestVersion("@akanjs/base");
4968
+ const rootPackageJson = workspace.readJson("package.json");
4969
+ if (!rootPackageJson.dependencies)
4970
+ throw new Error("No dependencies found in package.json");
4971
+ Object.keys(rootPackageJson.dependencies).forEach((dependency) => {
4972
+ if (dependency.startsWith("@akanjs/"))
4973
+ Object.assign(rootPackageJson.dependencies ?? {}, { [dependency]: latestPublishedVersionOfBase });
4974
+ });
4975
+ Object.keys(rootPackageJson.devDependencies ?? {}).forEach((dependency) => {
4976
+ if (dependency.startsWith("@akanjs/"))
4977
+ Object.assign(rootPackageJson.devDependencies ?? {}, { [dependency]: latestPublishedVersionOfBase });
4978
+ });
4979
+ workspace.writeJson("package.json", rootPackageJson);
4980
+ await Promise.all([
4981
+ workspace.spawn("npm", ["update", "-g", "@akanjs/cli", "--latest"]),
4982
+ workspace.spawn("pnpm", ["install"])
4983
+ ]);
4984
+ Logger.info(`Akan.js is updated to the latest version ${latestPublishedVersionOfBase}`);
4985
+ }
4965
4986
  };
4966
4987
 
4967
4988
  // pkgs/@akanjs/cli/src/cloud/cloud.script.ts
@@ -4992,6 +5013,9 @@ var CloudScript = class {
4992
5013
  );
4993
5014
  await this.#runner.deployAkan(workspace, akanPkgs);
4994
5015
  }
5016
+ async update(workspace) {
5017
+ await this.#runner.update(workspace);
5018
+ }
4995
5019
  };
4996
5020
 
4997
5021
  // pkgs/@akanjs/cli/src/cloud/cloud.command.ts
@@ -5015,6 +5039,9 @@ var CloudCommand = class {
5015
5039
  async deployAkan(workspace) {
5016
5040
  await this.cloudScript.deployAkan(workspace);
5017
5041
  }
5042
+ async update(workspace) {
5043
+ await this.cloudScript.update(workspace);
5044
+ }
5018
5045
  };
5019
5046
  __decorateClass([
5020
5047
  Target.Public()
@@ -5036,6 +5063,10 @@ __decorateClass([
5036
5063
  Target.Public({ devOnly: true }),
5037
5064
  __decorateParam(0, Workspace())
5038
5065
  ], CloudCommand.prototype, "deployAkan", 1);
5066
+ __decorateClass([
5067
+ Target.Public(),
5068
+ __decorateParam(0, Workspace())
5069
+ ], CloudCommand.prototype, "update", 1);
5039
5070
  CloudCommand = __decorateClass([
5040
5071
  Commands()
5041
5072
  ], CloudCommand);
@@ -0,0 +1,19 @@
1
+ @import "tailwindcss";
2
+ @import "@akanjs/config/styles.css";
3
+
4
+ @plugin "daisyui" {
5
+ logs: false;
6
+ }
7
+
8
+ @plugin "daisyui/theme" {
9
+ name: "light";
10
+ }
11
+
12
+ @plugin "daisyui/theme" {
13
+ name: "dark";
14
+ }
15
+
16
+ @theme {
17
+ --font-lemonmilk: var(--font-lemonmilk);
18
+ --font-pretendard: var(--font-pretendard);
19
+ }
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>CSR</title>
6
+ <base href="/" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/csr.tsx"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,8 @@
1
+ //! will be replaced with akan.config.ts
2
+ import { withBase } from "@akanjs/config/capacitor.base.config";
3
+
4
+ export default withBase((config) => {
5
+ return {
6
+ ...config,
7
+ };
8
+ });
@@ -0,0 +1,7 @@
1
+ import { baseClientEnv } from "@akanjs/base";
2
+
3
+ import { AppClientEnv } from "./env.client.type";
4
+
5
+ export const env: AppClientEnv = {
6
+ ...baseClientEnv,
7
+ } as const;
@@ -0,0 +1,7 @@
1
+ import { baseClientEnv } from "@akanjs/base";
2
+
3
+ import { AppClientEnv } from "./env.client.type";
4
+
5
+ export const env: AppClientEnv = {
6
+ ...baseClientEnv,
7
+ } as const;
@@ -0,0 +1,7 @@
1
+ import { baseClientEnv } from "@akanjs/base";
2
+
3
+ import { AppClientEnv } from "./env.client.type";
4
+
5
+ export const env: AppClientEnv = {
6
+ ...baseClientEnv,
7
+ } as const;
@@ -0,0 +1,7 @@
1
+ import { baseClientEnv } from "@akanjs/base";
2
+
3
+ import { AppClientEnv } from "./env.client.type";
4
+
5
+ export const env: AppClientEnv = {
6
+ ...baseClientEnv,
7
+ } as const;
@@ -0,0 +1,7 @@
1
+ import { baseClientEnv } from "@akanjs/base";
2
+
3
+ import { AppClientEnv } from "./env.client.type";
4
+
5
+ export const env: AppClientEnv = {
6
+ ...baseClientEnv,
7
+ } as const;
@@ -0,0 +1,15 @@
1
+ import { baseEnv } from "@akanjs/base";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...baseEnv,
7
+ hostname: null,
8
+ redis: {},
9
+ mongo: { password: "S20n-D2bUg" },
10
+ security: {
11
+ verifies: [["password", "phone", "naver", "kakao"]],
12
+ sso: {},
13
+ },
14
+ rootAdminInfo: { accountId: "akamirofficial@gmail.com", password: "akamir190319" },
15
+ };
@@ -0,0 +1,15 @@
1
+ import { baseEnv } from "@akanjs/base";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...baseEnv,
7
+ hostname: null,
8
+ redis: {},
9
+ mongo: { password: "S20n-D2VeL0p-0905*" },
10
+ security: {
11
+ verifies: [["password", "phone", "naver", "kakao"]],
12
+ sso: {},
13
+ },
14
+ rootAdminInfo: { accountId: "akamirofficial@gmail.com", password: "akamir190319" },
15
+ };
@@ -0,0 +1,15 @@
1
+ import { baseEnv } from "@akanjs/base";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...baseEnv,
7
+ hostname: null,
8
+ redis: {},
9
+ mongo: {},
10
+ security: {
11
+ verifies: [["password", "phone", "naver", "kakao"]],
12
+ sso: {},
13
+ },
14
+ rootAdminInfo: { accountId: "akamirofficial@gmail.com", password: "akamir190319" },
15
+ };
@@ -0,0 +1,15 @@
1
+ import { baseEnv } from "@akanjs/base";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...baseEnv,
7
+ hostname: null,
8
+ redis: {},
9
+ mongo: { password: "S20n-m@In-0905*-SEON" },
10
+ security: {
11
+ verifies: [["password", "phone", "naver", "kakao"]],
12
+ sso: {},
13
+ },
14
+ rootAdminInfo: { accountId: "akamirofficial@gmail.com", password: "akamir190319" },
15
+ };
@@ -0,0 +1,7 @@
1
+ import { env as shared } from "@shared/server";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...shared,
7
+ };
@@ -0,0 +1,10 @@
1
+ // import { PageAgent } from "@akanjs/next";
2
+ // import { expect, test } from "@playwright/test";
3
+
4
+ // test.describe("index page", () => {
5
+ // test("has title", async ({ page }) => {
6
+ // const agent = new PageAgent(page);
7
+ // await agent.goto("/");
8
+ // expect(agent.page).toBeTruthy();
9
+ // });
10
+ // });
@@ -0,0 +1,6 @@
1
+ //! will be replaced with akan.config.ts
2
+ import { withBase } from "@akanjs/test/playwright.config.base";
3
+
4
+ const config = withBase(__filename);
5
+
6
+ export default config;
@@ -0,0 +1,10 @@
1
+ //! will be replaced with akan.config.ts
2
+ const akanjsPrefix = process.env.USE_AKANJS_PKGS === "true" ? "../../pkgs/" : "";
3
+ const { withBase } = require(`${akanjsPrefix}@akanjs/config/postcss.config.base`);
4
+
5
+ /**
6
+ * @type {import('postcss-load-config').Config}
7
+ */
8
+ const config = {};
9
+
10
+ module.exports = withBase(config);
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "<%= AppName %>",
3
+ "short_name": "<%= AppName %>",
4
+ "orientation": "portrait",
5
+ "theme_color": "#1976d2",
6
+ "background_color": "#fafafa",
7
+ "display": "standalone",
8
+ "scope": "/",
9
+ "description": "<%= appName %>",
10
+ "start_url": "/",
11
+ "icons": [
12
+ {
13
+ "src": "icons/icon-72x72.png",
14
+ "sizes": "72x72",
15
+ "type": "image/png",
16
+ "purpose": "any"
17
+ },
18
+ {
19
+ "src": "icons/icon-96x96.png",
20
+ "sizes": "96x96",
21
+ "type": "image/png",
22
+ "purpose": "any"
23
+ },
24
+ {
25
+ "src": "icons/icon-128x128.png",
26
+ "sizes": "128x128",
27
+ "type": "image/png",
28
+ "purpose": "any"
29
+ },
30
+ {
31
+ "src": "icons/icon-144x144.png",
32
+ "sizes": "144x144",
33
+ "type": "image/png",
34
+ "purpose": "any"
35
+ },
36
+ {
37
+ "src": "icons/icon-152x152.png",
38
+ "sizes": "152x152",
39
+ "type": "image/png",
40
+ "purpose": "any"
41
+ },
42
+ {
43
+ "src": "icons/icon-192x192.png",
44
+ "sizes": "192x192",
45
+ "type": "image/png",
46
+ "purpose": "any"
47
+ },
48
+ {
49
+ "src": "icons/icon-256x256.png",
50
+ "sizes": "256x256",
51
+ "type": "image/png",
52
+ "purpose": "any"
53
+ },
54
+ {
55
+ "src": "icons/icon-384x384.png",
56
+ "sizes": "384x384",
57
+ "type": "image/png",
58
+ "purpose": "any"
59
+ },
60
+ {
61
+ "src": "icons/icon-512x512.png",
62
+ "sizes": "512x512",
63
+ "type": "image/png",
64
+ "purpose": "any"
65
+ }
66
+ ]
67
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "allowJs": true,
5
+ "strict": false,
6
+ "noEmit": true,
7
+ "incremental": true,
8
+ "resolveJsonModule": true,
9
+ "jsx": "preserve",
10
+ "plugins": [
11
+ {
12
+ "name": "next"
13
+ }
14
+ ]
15
+ },
16
+ "include": ["./**/*.ts", "./**/*.tsx", ".next/types/**/*.ts"],
17
+ "references": [
18
+ {
19
+ "path": "./tsconfig.spec.json"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["jest", "node"]
5
+ },
6
+ "include": ["jest.config.ts", "**/*.test.ts"]
7
+ }
@@ -0,0 +1,15 @@
1
+ **/script.ts
2
+ **/script*.ts
3
+ **/.env
4
+ **/env.client.debug.ts*
5
+ **/env.client.develop.ts*
6
+ **/env.client.main.ts*
7
+ **/env.client.testing.ts*
8
+ **/env.server.debug.ts*
9
+ **/env.server.develop.ts*
10
+ **/env.server.main.ts*
11
+ **/env.server.testing.ts*
12
+
13
+ # System Files
14
+ .DS_Store
15
+ Thumbs.db
@@ -0,0 +1,7 @@
1
+ import { env as shared } from "@shared/server";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...shared,
7
+ };
@@ -0,0 +1,7 @@
1
+ import { env as shared } from "@shared/server";
2
+
3
+ import type { ModulesOptions } from "../lib/option";
4
+
5
+ export const env: ModulesOptions = {
6
+ ...shared,
7
+ };
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "@<%= libName %>",
3
+ "version": "0.0.1"
4
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "jsx": "preserve",
5
+ "declaration": true,
6
+ "declarationDir": "dist"
7
+ },
8
+ "references": [
9
+ {
10
+ "path": "./tsconfig.spec.json"
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["jest", "node"]
5
+ },
6
+ "include": ["jest.config.ts", "**/*.test.ts"]
7
+ }
@@ -0,0 +1,36 @@
1
+ version: "3.8"
2
+ networks:
3
+ <%= repoName %>-network:
4
+ driver: bridge
5
+ services:
6
+ redis:
7
+ container_name: redis
8
+ image: redis
9
+ restart: unless-stopped
10
+ ports:
11
+ - 6379:6379
12
+ networks:
13
+ - <%= repoName %>-network
14
+ mongo:
15
+ image: mongo
16
+ container_name: mongo
17
+ restart: unless-stopped
18
+ ports:
19
+ - 27017:27017
20
+ volumes:
21
+ - ./mongo/local/data:/data/db
22
+ command: mongod --dbpath /data/db
23
+ networks:
24
+ - <%= repoName %>-network
25
+ meili:
26
+ image: getmeili/meilisearch:latest
27
+ container_name: meili
28
+ restart: unless-stopped
29
+ ports:
30
+ - "7700:7700"
31
+ environment:
32
+ - MEILI_ENV=development
33
+ - MEILI_MASTER_KEY=masterKey
34
+ - MEILI_NO_ANALYTICS=true
35
+ networks:
36
+ - <%= repoName %>-network
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "jsx": "preserve",
5
+ "declaration": true,
6
+ "declarationDir": "dist"
7
+ },
8
+ "files": [],
9
+ "include": ["**/*.ts", "**/*.tsx"],
10
+ "references": [
11
+ {
12
+ "path": "./tsconfig.spec.json"
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,20 @@
1
+ # organization configuration, no need to change
2
+ NEXT_PUBLIC_REPO_NAME=<%= repoName %>
3
+ NEXT_PUBLIC_SERVE_DOMAIN="<%= serveDomain %>"
4
+
5
+ # development branch, debug, develop, main, etc. mainly it changes databases.
6
+ NEXT_PUBLIC_ENV=local
7
+
8
+ # local, cloud, edge it changes the connection point of the clients.
9
+ NEXT_PUBLIC_OPERATION_MODE=local
10
+ # hybrid app specific config, will be depreciated in the future
11
+ APP_OPERATION_MODE=local
12
+
13
+ # backend service mode, federation, batch, all
14
+ SERVER_MODE=federation
15
+
16
+ # analyze the bundle size
17
+ ANALYZE=false
18
+
19
+ # log level, debug, info, warn, error
20
+ NEXT_PUBLIC_LOG_LEVEL=debug
@@ -0,0 +1,118 @@
1
+ **/dist
2
+ /node_modules
3
+ /.akan
4
+ .vscode/*
5
+ .DS_Store
6
+ Thumbs.db
7
+ *.env
8
+ **/node_modules
9
+ /data
10
+ apps/*/data
11
+ /releases
12
+ apps/*/scripts
13
+ **/.env
14
+ **/env.client.debug.ts
15
+ **/env.client.develop.ts
16
+ **/env.client.main.ts
17
+ **/env.client.testing.ts
18
+ **/env.server.debug.ts
19
+ **/env.server.develop.ts
20
+ **/env.server.main.ts
21
+ **/env.server.testing.ts
22
+ **/*secrets.yaml
23
+ **/kubeconfig.yaml
24
+ **/secrets.*
25
+ **/.idea
26
+ apps/**/src/schema.gql
27
+ .next
28
+ dump
29
+ local
30
+
31
+ # Xcode
32
+ build/
33
+ *.pbxuser
34
+ !default.pbxuser
35
+ *.mode1v3
36
+ !default.mode1v3
37
+ *.mode2v3
38
+ !default.mode2v3
39
+ *.perspectivev3
40
+ !default.perspectivev3
41
+ xcuserdata
42
+ *.xccheckout
43
+ *.moved-aside
44
+ DerivedData
45
+ *.hmap
46
+ *.ipa
47
+ *.xcuserstate
48
+
49
+ # **/android
50
+ build/
51
+ .gradle
52
+ local.properties
53
+ *.iml
54
+ *.hprof
55
+ .cxx/
56
+ *.keystore
57
+ !debug.keystore
58
+
59
+ **/public/precache.*.*.js
60
+ **/public/sw.js
61
+ **/public/workbox-*.js
62
+ **/public/worker-*.js
63
+ **/public/fallback-*.js
64
+ **/public/precache.*.*.js.map
65
+ **/public/sw.js.map
66
+ **/public/workbox-*.js.map
67
+ **/public/worker-*.js.map
68
+ **/public/fallback-*.js
69
+ **/public/libs
70
+
71
+ **/vendor/bundle/
72
+ **/ios/App/App/public
73
+ **/ios/App/App/Podfile.lock
74
+ **/ios/App/App.pbxproj
75
+ **/*-secret.yaml
76
+
77
+ # Akanjs files
78
+ **/akan.app.json
79
+ **/akan.lib.json
80
+ **/akan.pkg.json
81
+ **/next.config.ts
82
+ **/next-env.d.ts
83
+ apps/**/lib/__lib/**
84
+ libs/**/lib/__lib/**
85
+ apps/*/lib/cnst.ts
86
+ apps/*/lib/cnst_.ts
87
+ apps/*/lib/dict.ts
88
+ apps/*/lib/db.ts
89
+ apps/*/lib/fetch.ts
90
+ apps/*/lib/srv.ts
91
+ apps/*/lib/st.ts
92
+ apps/*/lib/sig.ts
93
+ apps/*/lib/store.ts
94
+ apps/*/lib/usePage.ts
95
+ apps/*/lib/__scalar/_server.ts
96
+ apps/*/client.ts
97
+ apps/*/server.ts
98
+ libs/*/lib/cnst.ts
99
+ libs/*/lib/cnst_.ts
100
+ libs/*/lib/dict.ts
101
+ libs/*/lib/db.ts
102
+ libs/*/lib/fetch.ts
103
+ libs/*/lib/srv.ts
104
+ libs/*/lib/st.ts
105
+ libs/*/lib/sig.ts
106
+ libs/*/lib/store.ts
107
+ libs/*/lib/usePage.ts
108
+ libs/*/lib/__scalar/_server.ts
109
+ libs/*/client.ts
110
+ libs/*/server.ts
111
+ libs/*/index.ts
112
+ # **/capacitor.config.ts
113
+ # **/postcss.config.js
114
+ # **/playwright.config.ts
115
+ # **/jest.config.ts
116
+ # **/next-env.d.ts
117
+ # **/tsconfig.json
118
+ # **/tsconfig.spec.json
@@ -0,0 +1,10 @@
1
+ # Add files here to ignore them from prettier formatting
2
+
3
+ /dist
4
+ /coverage
5
+ /node_modules
6
+ /dump
7
+ /data
8
+ /releases
9
+ /tmp
10
+ **/*.yaml
@@ -0,0 +1,6 @@
1
+ {
2
+ "trailingComma": "es5",
3
+ "singleQuote": false,
4
+ "printWidth": 120,
5
+ "plugins": ["prettier-plugin-tailwindcss"]
6
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "jsc": {
3
+ "target": "es2016",
4
+ "parser": {
5
+ "syntax": "typescript"
6
+ }
7
+ },
8
+ "exclude": [".*\\.spec|test\\.ts$"]
9
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "testing.saveBeforeTest": false,
3
+ "jest.autoRun": "false",
4
+ "jestTestExplorer.flattenExplorer": false,
5
+ "eslint.validate": ["json"],
6
+ "prettier.configPath": ".prettierrc.json",
7
+ "tailwindCSS.classAttributes": ["class", "className", ".*Class", ".*ClassName"],
8
+ "colorize.languages": ["typescript", "javascript", "css", "scss"],
9
+ "typescript.tsserver.maxTsServerMemory": 16384,
10
+ "typescript.enablePromptUseWorkspaceTsdk": true,
11
+ "typescript.tsdk": "node_modules/typescript/lib",
12
+ "eslint.useFlatConfig": true
13
+ }
@@ -0,0 +1,37 @@
1
+ ## Get Started
2
+
3
+ Run the code below.
4
+
5
+ ```
6
+ npm run downloadEnv # Need to register your public key
7
+
8
+ npm i -g akan pnpm
9
+
10
+ pnpm i
11
+
12
+ cat <<EOF >> .env
13
+ # organization configuration, no need to change
14
+ NEXT_PUBLIC_REPO_NAME=<%= repoName %>
15
+ NEXT_PUBLIC_SERVE_DOMAIN="<%= serveDomain %>"
16
+
17
+ # development branch, debug, develop, main, etc. mainly it changes databases.
18
+ NEXT_PUBLIC_ENV=debug
19
+
20
+ # local, cloud, edge it changes the connection point of the clients.
21
+ NEXT_PUBLIC_OPERATION_MODE=local
22
+ # hybrid app specific config, will be depreciated in the future
23
+ APP_OPERATION_MODE=local
24
+
25
+ # backend service mode, federation, batch, all
26
+ SERVER_MODE=federation
27
+
28
+ # analyze the bundle size
29
+ ANALYZE=false
30
+
31
+ # log level, debug, info, warn, error
32
+ NEXT_PUBLIC_LOG_LEVEL=debug
33
+ EOF
34
+
35
+ akan serve-backend <%= appName %>
36
+ # or akan serve-frontend <%= appName %>, etc
37
+ ```
@@ -0,0 +1,3 @@
1
+ import { eslintConfig } from "@akanjs/lint";
2
+
3
+ export default eslintConfig;
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "<%= repoName %>",
3
+ "description": "<%= repoName %> workspace",
4
+ "version": "0.0.1",
5
+ "dependencies": {
6
+ "next": "15.3.2",
7
+ "react": "18.3.1",
8
+ "react-dom": "18.3.1",
9
+ "tailwindcss": "^4.1.7",
10
+ "daisyui": "^5.0.35"
11
+ },
12
+ "devDependencies": {
13
+ "@types/react": "18.3.1",
14
+ "@types/react-dom": "18.3.1",
15
+ "crypto-browserify": "^3.12.1",
16
+ "eslint": "^9.19.0",
17
+ "https-browserify": "^1.0.0",
18
+ "jest": "^29.7.0",
19
+ "jiti": "^2.4.2",
20
+ "os-browserify": "^0.3.0",
21
+ "prettier": "^3.5.3",
22
+ "process": "^0.11.10",
23
+ "stream-browserify": "^3.0.0",
24
+ "stream-http": "^3.2.0",
25
+ "ts-jest": "^29.3.4",
26
+ "url-polyfill": "^1.1.13",
27
+ "vite": "^6.3.5",
28
+ "vite-plugin-commonjs": "^0.10.4",
29
+ "vite-plugin-node-polyfills": "^0.23.0",
30
+ "vite-tsconfig-paths": "^5.1.4",
31
+ "vm-browserify": "^1.1.2",
32
+ },
33
+ "packageManager": "pnpm@10.11.0",
34
+ "engines": {
35
+ "node": ">=22",
36
+ "pnpm": ">=10"
37
+ }
38
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "compileOnSave": false,
3
+ "compilerOptions": {
4
+ "rootDir": ".",
5
+ "sourceMap": true,
6
+ "declaration": false,
7
+ "moduleResolution": "node",
8
+ "emitDecoratorMetadata": true,
9
+ "isolatedModules": true,
10
+ "esModuleInterop": true,
11
+ "experimentalDecorators": true,
12
+ "noPropertyAccessFromIndexSignature": false,
13
+ "importHelpers": false,
14
+ "target": "es2022",
15
+ "module": "esnext",
16
+ "types": ["node", "webpack-env", "vite/client", "kakao.maps.d.ts", "jest"],
17
+ "lib": ["es2017", "dom", "webworker"],
18
+ "skipLibCheck": true,
19
+ "skipDefaultLibCheck": true,
20
+ "strictNullChecks": true,
21
+ "baseUrl": ".",
22
+ "jsx": "preserve",
23
+ "resolveJsonModule": true,
24
+ "paths": {
25
+ "@/*": ["*"]
26
+ }
27
+ },
28
+ "exclude": ["**/node_modules", "tmp", "**/ios", "**/android"]
29
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "sourceType": "module",
3
3
  "name": "@akanjs/cli",
4
- "version": "0.0.119",
4
+ "version": "0.0.121",
5
5
  "bin": {
6
6
  "akan": "cjs/index.js"
7
7
  },
@@ -8,4 +8,5 @@ export declare class CloudCommand {
8
8
  resetLlm(): void;
9
9
  ask(question: string): Promise<void>;
10
10
  deployAkan(workspace: Workspace): Promise<void>;
11
+ update(workspace: Workspace): Promise<void>;
11
12
  }
@@ -6,4 +6,5 @@ export declare class CloudRunner {
6
6
  resetLlm(): void;
7
7
  getAkanPkgs(workspace: Workspace): Promise<string[]>;
8
8
  deployAkan(workspace: Workspace, akanPkgs: string[]): Promise<void>;
9
+ update(workspace: Workspace): Promise<void>;
9
10
  }
@@ -7,4 +7,5 @@ export declare class CloudScript {
7
7
  resetLlm(): void;
8
8
  ask(question: string): Promise<void>;
9
9
  deployAkan(workspace: Workspace): Promise<void>;
10
+ update(workspace: Workspace): Promise<void>;
10
11
  }