@akanjs/cli 0.0.147 → 0.0.149

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 (85) hide show
  1. package/cjs/index.js +57 -8
  2. package/cjs/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
  3. package/cjs/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
  4. package/cjs/src/templates/app/app/index.html.template +13 -0
  5. package/cjs/src/templates/app/capacitor.config.ts.template +8 -0
  6. package/cjs/src/templates/app/env/env.client.debug.ts.template +7 -0
  7. package/cjs/src/templates/app/env/env.client.develop.ts.template +7 -0
  8. package/cjs/src/templates/app/env/env.client.local.ts.template +7 -0
  9. package/cjs/src/templates/app/env/env.client.main.ts.template +7 -0
  10. package/cjs/src/templates/app/env/env.client.testing.ts.template +7 -0
  11. package/cjs/src/templates/app/env/env.server.debug.ts.template +15 -0
  12. package/cjs/src/templates/app/env/env.server.develop.ts.template +15 -0
  13. package/cjs/src/templates/app/env/env.server.local.ts.template +15 -0
  14. package/cjs/src/templates/app/env/env.server.main.ts.template +15 -0
  15. package/cjs/src/templates/app/env/env.server.testing.ts.template +7 -0
  16. package/cjs/src/templates/app/main.js +2 -1
  17. package/cjs/src/templates/app/page.test.ts.template +10 -0
  18. package/cjs/src/templates/app/playwright.config.ts.template +6 -0
  19. package/cjs/src/templates/app/postcss.config.js.template +10 -0
  20. package/cjs/src/templates/app/public/manifest.json.template +67 -0
  21. package/cjs/src/templates/app/tsconfig.json.template +22 -0
  22. package/cjs/src/templates/app/tsconfig.spec.json.template +7 -0
  23. package/cjs/src/templates/libRoot/.gitignore.template +15 -0
  24. package/cjs/src/templates/libRoot/env/env.server.example.ts.template +7 -0
  25. package/cjs/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
  26. package/cjs/src/templates/libRoot/package.json.template +4 -0
  27. package/cjs/src/templates/libRoot/tsconfig.json.template +13 -0
  28. package/cjs/src/templates/libRoot/tsconfig.spec.json.template +7 -0
  29. package/cjs/src/templates/localDev/docker-compose.yaml.template +36 -0
  30. package/cjs/src/templates/pkgRoot/tsconfig.json.template +15 -0
  31. package/cjs/src/templates/workspaceRoot/.env.template +20 -0
  32. package/cjs/src/templates/workspaceRoot/.gitignore.template +118 -0
  33. package/cjs/src/templates/workspaceRoot/.prettierignore.template +10 -0
  34. package/cjs/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
  35. package/cjs/src/templates/workspaceRoot/.swcrc.template +9 -0
  36. package/cjs/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
  37. package/cjs/src/templates/workspaceRoot/README.md.template +37 -0
  38. package/cjs/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
  39. package/cjs/src/templates/workspaceRoot/package.json.template +43 -0
  40. package/cjs/src/templates/workspaceRoot/tsconfig.json.template +29 -0
  41. package/esm/index.js +58 -9
  42. package/esm/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
  43. package/esm/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
  44. package/esm/src/templates/app/app/index.html.template +13 -0
  45. package/esm/src/templates/app/capacitor.config.ts.template +8 -0
  46. package/esm/src/templates/app/env/env.client.debug.ts.template +7 -0
  47. package/esm/src/templates/app/env/env.client.develop.ts.template +7 -0
  48. package/esm/src/templates/app/env/env.client.local.ts.template +7 -0
  49. package/esm/src/templates/app/env/env.client.main.ts.template +7 -0
  50. package/esm/src/templates/app/env/env.client.testing.ts.template +7 -0
  51. package/esm/src/templates/app/env/env.server.debug.ts.template +15 -0
  52. package/esm/src/templates/app/env/env.server.develop.ts.template +15 -0
  53. package/esm/src/templates/app/env/env.server.local.ts.template +15 -0
  54. package/esm/src/templates/app/env/env.server.main.ts.template +15 -0
  55. package/esm/src/templates/app/env/env.server.testing.ts.template +7 -0
  56. package/esm/src/templates/app/main.js +2 -1
  57. package/esm/src/templates/app/page.test.ts.template +10 -0
  58. package/esm/src/templates/app/playwright.config.ts.template +6 -0
  59. package/esm/src/templates/app/postcss.config.js.template +10 -0
  60. package/esm/src/templates/app/public/manifest.json.template +67 -0
  61. package/esm/src/templates/app/tsconfig.json.template +22 -0
  62. package/esm/src/templates/app/tsconfig.spec.json.template +7 -0
  63. package/esm/src/templates/libRoot/.gitignore.template +15 -0
  64. package/esm/src/templates/libRoot/env/env.server.example.ts.template +7 -0
  65. package/esm/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
  66. package/esm/src/templates/libRoot/package.json.template +4 -0
  67. package/esm/src/templates/libRoot/tsconfig.json.template +13 -0
  68. package/esm/src/templates/libRoot/tsconfig.spec.json.template +7 -0
  69. package/esm/src/templates/localDev/docker-compose.yaml.template +36 -0
  70. package/esm/src/templates/pkgRoot/tsconfig.json.template +15 -0
  71. package/esm/src/templates/workspaceRoot/.env.template +20 -0
  72. package/esm/src/templates/workspaceRoot/.gitignore.template +118 -0
  73. package/esm/src/templates/workspaceRoot/.prettierignore.template +10 -0
  74. package/esm/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
  75. package/esm/src/templates/workspaceRoot/.swcrc.template +9 -0
  76. package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
  77. package/esm/src/templates/workspaceRoot/README.md.template +37 -0
  78. package/esm/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
  79. package/esm/src/templates/workspaceRoot/package.json.template +43 -0
  80. package/esm/src/templates/workspaceRoot/tsconfig.json.template +29 -0
  81. package/package.json +1 -1
  82. package/src/application/application.command.d.ts +1 -0
  83. package/src/application/application.runner.d.ts +6 -1
  84. package/src/application/application.script.d.ts +3 -1
  85. package/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
package/cjs/index.js CHANGED
@@ -3476,6 +3476,34 @@ var ApplicationRunner = class {
3476
3476
  await app.syncAssets(scanResult.akanConfig.libs);
3477
3477
  return scanResult;
3478
3478
  }
3479
+ async getScriptFilename(app) {
3480
+ if (!app.exists("scripts")) {
3481
+ app.mkdir("scripts");
3482
+ throw new Error(`No script files found. make a script file in apps/${app.name}/scripts folder`);
3483
+ }
3484
+ const scriptFiles = (await app.readdir("scripts")).filter((file) => file.endsWith(".ts"));
3485
+ const scriptFile = await (0, import_prompts6.select)({
3486
+ message: "Select script to run",
3487
+ choices: scriptFiles.map((file) => ({ name: file, value: file.replace(".ts", "") }))
3488
+ });
3489
+ return scriptFile;
3490
+ }
3491
+ async runScript(app, filename) {
3492
+ const buildResult = await esbuild2.build({
3493
+ write: true,
3494
+ entryPoints: [`${app.cwdPath}/scripts/${filename}.ts`],
3495
+ bundle: true,
3496
+ format: "cjs",
3497
+ packages: "external",
3498
+ platform: "node",
3499
+ outdir: `${app.cwdPath}/scripts`,
3500
+ logLevel: "warning"
3501
+ });
3502
+ await app.spawn("node", [`scripts/${filename}.js`], {
3503
+ stdio: "inherit",
3504
+ env: this.#getEnv(app)
3505
+ });
3506
+ }
3479
3507
  #getEnv(app, env = {}) {
3480
3508
  const rootEnv = import_dotenv3.default.parse(app.workspace.readFile(".env"));
3481
3509
  return {
@@ -3543,10 +3571,10 @@ var ApplicationRunner = class {
3543
3571
  setTimeout(() => (0, import_open.default)("http://localhost:8080/backend/graphql"), 3e3);
3544
3572
  await app.dist.spawn("node", ["--watch", "backend/main.js"], { env, stdio: "inherit" });
3545
3573
  }
3546
- async buildFrontend(app) {
3574
+ async buildFrontend(app, { spawnOptions } = {}) {
3547
3575
  const { env } = await this.#prepareCommand(app, "build", "frontend");
3548
3576
  const akanConfig = await app.getConfig("build");
3549
- await app.spawn("npx", ["next", "build", "--no-lint"], { env });
3577
+ await app.spawn("npx", ["next", "build", "--no-lint"], { env, ...spawnOptions });
3550
3578
  const buildResult = await esbuild2.build({
3551
3579
  entryPoints: [`${app.cwdPath}/next.config.ts`],
3552
3580
  outdir: `${app.dist.cwdPath}/frontend`,
@@ -3951,6 +3979,11 @@ var ApplicationScript = class {
3951
3979
  spinner.succeed("Application scanned");
3952
3980
  return scanResult;
3953
3981
  }
3982
+ async script(app, filename) {
3983
+ const scriptFilename = filename ?? await this.#runner.getScriptFilename(app);
3984
+ await this.syncApplication(app);
3985
+ await this.#runner.runScript(app, scriptFilename);
3986
+ }
3954
3987
  async build(app) {
3955
3988
  await this.syncApplication(app);
3956
3989
  await Promise.all([this.buildBackend(app, { sync: false }), this.buildFrontend(app, { sync: false })]);
@@ -3981,12 +4014,16 @@ var ApplicationScript = class {
3981
4014
  }
3982
4015
  });
3983
4016
  }
3984
- async buildFrontend(app, { sync = true } = {}) {
4017
+ async buildFrontend(app, { sync = true, standalone = false } = {}) {
3985
4018
  if (sync)
3986
4019
  await this.syncApplication(app);
3987
- const spinner = app.spinning("Building frontend...");
3988
- await this.#runner.buildFrontend(app);
3989
- spinner.succeed(`Frontend built in dist/apps/${app.name}/frontend`);
4020
+ if (standalone)
4021
+ await this.#runner.buildFrontend(app, { spawnOptions: { stdio: "inherit" } });
4022
+ else {
4023
+ const spinner = app.spinning("Building frontend...");
4024
+ await this.#runner.buildFrontend(app);
4025
+ spinner.succeed(`Frontend built in dist/apps/${app.name}/frontend`);
4026
+ }
3990
4027
  }
3991
4028
  async startFrontend(app, { open: open2 = false, turbo = false, sync = true } = {}) {
3992
4029
  if (sync)
@@ -4113,6 +4150,9 @@ var ApplicationCommand = class {
4113
4150
  async syncApplication(app) {
4114
4151
  await this.applicationScript.syncApplication(app);
4115
4152
  }
4153
+ async script(app, filename) {
4154
+ await this.applicationScript.script(app, filename);
4155
+ }
4116
4156
  async build(app) {
4117
4157
  await this.applicationScript.build(app);
4118
4158
  }
@@ -4120,7 +4160,7 @@ var ApplicationCommand = class {
4120
4160
  await this.applicationScript.buildBackend(app);
4121
4161
  }
4122
4162
  async buildFrontend(app) {
4123
- await this.applicationScript.buildFrontend(app);
4163
+ await this.applicationScript.buildFrontend(app, { standalone: true });
4124
4164
  }
4125
4165
  async buildCsr(app) {
4126
4166
  await this.applicationScript.buildCsr(app);
@@ -4194,6 +4234,11 @@ __decorateClass([
4194
4234
  Target.Public(),
4195
4235
  __decorateParam(0, App())
4196
4236
  ], ApplicationCommand.prototype, "syncApplication", 1);
4237
+ __decorateClass([
4238
+ Target.Public(),
4239
+ __decorateParam(0, App()),
4240
+ __decorateParam(1, Argument("filename", { desc: "name of script", nullable: true }))
4241
+ ], ApplicationCommand.prototype, "script", 1);
4197
4242
  __decorateClass([
4198
4243
  Target.Public({ short: true }),
4199
4244
  __decorateParam(0, App())
@@ -4344,7 +4389,11 @@ var PackageRunner = class {
4344
4389
  if (pkg.name === "@akanjs/cli")
4345
4390
  await builder.build({
4346
4391
  bundle: true,
4347
- additionalEntryPoints: [`${pkg.cwdPath}/src/templates/**/*.ts`, `${pkg.cwdPath}/src/guidelines/**/*.md`]
4392
+ additionalEntryPoints: [
4393
+ `${pkg.cwdPath}/src/templates/**/*.ts`,
4394
+ `${pkg.cwdPath}/src/templates/**/*.template`,
4395
+ `${pkg.cwdPath}/src/guidelines/**/*.md`
4396
+ ]
4348
4397
  });
4349
4398
  else
4350
4399
  await builder.build();
@@ -559,24 +559,6 @@ Key features:
559
559
  - Simultaneous Korean/English address provision
560
560
  - Modal address search
561
561
 
562
- ### 26. Field.KoreanCityDistrict
563
-
564
- \`\`\`typescript
565
- interface KoreanCityDistrictProps {
566
- city: string | null;
567
- onChangeCity: (city: string | null) => void;
568
- district: string | null;
569
- onChangeDistrict: (district: string | null) => void;
570
- disabled?: boolean;
571
- }
572
- \`\`\`
573
- Key features:
574
-
575
- - Hardcoded Korean region data
576
- - Two-level selection (city/province → district/county)
577
- - Includes detailed regions: 25 districts in Seoul, 16 in Busan, etc.
578
- - Linked selection (district activates after city selection)
579
-
580
562
  ## Common Patterns and Features
581
563
 
582
564
  ### 1. Caching System
@@ -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><%= appName %></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
+ };
@@ -32,7 +32,8 @@ import { registerModules } from "./server";
32
32
  const bootstrap = async () => {
33
33
  const serverMode = process.env.SERVER_MODE as "federation" | "batch" | "all" | null;
34
34
  if (!serverMode) throw new Error("SERVER_MODE environment variable is not defined");
35
- await createNestApp({ registerModules, serverMode, env });
35
+ const app = await createNestApp({ registerModules, serverMode, env });
36
+ return () => app.close();
36
37
  };
37
38
  void bootstrap();
38
39
  `;
@@ -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