@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.
- package/cjs/index.js +57 -8
- package/cjs/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
- package/cjs/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
- package/cjs/src/templates/app/app/index.html.template +13 -0
- package/cjs/src/templates/app/capacitor.config.ts.template +8 -0
- package/cjs/src/templates/app/env/env.client.debug.ts.template +7 -0
- package/cjs/src/templates/app/env/env.client.develop.ts.template +7 -0
- package/cjs/src/templates/app/env/env.client.local.ts.template +7 -0
- package/cjs/src/templates/app/env/env.client.main.ts.template +7 -0
- package/cjs/src/templates/app/env/env.client.testing.ts.template +7 -0
- package/cjs/src/templates/app/env/env.server.debug.ts.template +15 -0
- package/cjs/src/templates/app/env/env.server.develop.ts.template +15 -0
- package/cjs/src/templates/app/env/env.server.local.ts.template +15 -0
- package/cjs/src/templates/app/env/env.server.main.ts.template +15 -0
- package/cjs/src/templates/app/env/env.server.testing.ts.template +7 -0
- package/cjs/src/templates/app/main.js +2 -1
- package/cjs/src/templates/app/page.test.ts.template +10 -0
- package/cjs/src/templates/app/playwright.config.ts.template +6 -0
- package/cjs/src/templates/app/postcss.config.js.template +10 -0
- package/cjs/src/templates/app/public/manifest.json.template +67 -0
- package/cjs/src/templates/app/tsconfig.json.template +22 -0
- package/cjs/src/templates/app/tsconfig.spec.json.template +7 -0
- package/cjs/src/templates/libRoot/.gitignore.template +15 -0
- package/cjs/src/templates/libRoot/env/env.server.example.ts.template +7 -0
- package/cjs/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
- package/cjs/src/templates/libRoot/package.json.template +4 -0
- package/cjs/src/templates/libRoot/tsconfig.json.template +13 -0
- package/cjs/src/templates/libRoot/tsconfig.spec.json.template +7 -0
- package/cjs/src/templates/localDev/docker-compose.yaml.template +36 -0
- package/cjs/src/templates/pkgRoot/tsconfig.json.template +15 -0
- package/cjs/src/templates/workspaceRoot/.env.template +20 -0
- package/cjs/src/templates/workspaceRoot/.gitignore.template +118 -0
- package/cjs/src/templates/workspaceRoot/.prettierignore.template +10 -0
- package/cjs/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
- package/cjs/src/templates/workspaceRoot/.swcrc.template +9 -0
- package/cjs/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
- package/cjs/src/templates/workspaceRoot/README.md.template +37 -0
- package/cjs/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
- package/cjs/src/templates/workspaceRoot/package.json.template +43 -0
- package/cjs/src/templates/workspaceRoot/tsconfig.json.template +29 -0
- package/esm/index.js +58 -9
- package/esm/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
- package/esm/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
- package/esm/src/templates/app/app/index.html.template +13 -0
- package/esm/src/templates/app/capacitor.config.ts.template +8 -0
- package/esm/src/templates/app/env/env.client.debug.ts.template +7 -0
- package/esm/src/templates/app/env/env.client.develop.ts.template +7 -0
- package/esm/src/templates/app/env/env.client.local.ts.template +7 -0
- package/esm/src/templates/app/env/env.client.main.ts.template +7 -0
- package/esm/src/templates/app/env/env.client.testing.ts.template +7 -0
- package/esm/src/templates/app/env/env.server.debug.ts.template +15 -0
- package/esm/src/templates/app/env/env.server.develop.ts.template +15 -0
- package/esm/src/templates/app/env/env.server.local.ts.template +15 -0
- package/esm/src/templates/app/env/env.server.main.ts.template +15 -0
- package/esm/src/templates/app/env/env.server.testing.ts.template +7 -0
- package/esm/src/templates/app/main.js +2 -1
- package/esm/src/templates/app/page.test.ts.template +10 -0
- package/esm/src/templates/app/playwright.config.ts.template +6 -0
- package/esm/src/templates/app/postcss.config.js.template +10 -0
- package/esm/src/templates/app/public/manifest.json.template +67 -0
- package/esm/src/templates/app/tsconfig.json.template +22 -0
- package/esm/src/templates/app/tsconfig.spec.json.template +7 -0
- package/esm/src/templates/libRoot/.gitignore.template +15 -0
- package/esm/src/templates/libRoot/env/env.server.example.ts.template +7 -0
- package/esm/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
- package/esm/src/templates/libRoot/package.json.template +4 -0
- package/esm/src/templates/libRoot/tsconfig.json.template +13 -0
- package/esm/src/templates/libRoot/tsconfig.spec.json.template +7 -0
- package/esm/src/templates/localDev/docker-compose.yaml.template +36 -0
- package/esm/src/templates/pkgRoot/tsconfig.json.template +15 -0
- package/esm/src/templates/workspaceRoot/.env.template +20 -0
- package/esm/src/templates/workspaceRoot/.gitignore.template +118 -0
- package/esm/src/templates/workspaceRoot/.prettierignore.template +10 -0
- package/esm/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
- package/esm/src/templates/workspaceRoot/.swcrc.template +9 -0
- package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
- package/esm/src/templates/workspaceRoot/README.md.template +37 -0
- package/esm/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
- package/esm/src/templates/workspaceRoot/package.json.template +43 -0
- package/esm/src/templates/workspaceRoot/tsconfig.json.template +29 -0
- package/package.json +1 -1
- package/src/application/application.command.d.ts +1 -0
- package/src/application/application.runner.d.ts +6 -1
- package/src/application/application.script.d.ts +3 -1
- 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
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
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: [
|
|
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,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
|
+
};
|
|
@@ -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,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,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,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
|