@akanjs/cli 0.0.42 → 0.0.44
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/index.js +126 -95
- package/package.json +1 -1
- package/src/templates/__scalar/__model__/__model__.constant.js +36 -0
- package/src/templates/__scalar/__model__/__model__.dictionary.js +47 -0
- package/src/templates/__scalar/__model__/__model__.document.js +34 -0
- package/src/templates/app/akan.config.ts.template +5 -0
- package/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +45 -0
- package/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +46 -0
- package/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +40 -0
- package/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +48 -0
- package/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +39 -0
- package/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +41 -0
- package/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +58 -0
- package/src/templates/app/app/[lang]/(__appName__)/layout.js +50 -0
- package/src/templates/app/app/[lang]/admin/layout.js +51 -0
- package/src/templates/app/app/[lang]/admin/page.js +61 -0
- package/src/templates/app/app/csr.js +32 -0
- package/src/templates/app/app/index.html.template +13 -0
- package/src/templates/app/app/layout.js +36 -0
- package/src/templates/app/app/robots.js +41 -0
- package/src/templates/app/app/sitemap.js +37 -0
- package/src/templates/app/base/baseLogic.js +36 -0
- package/src/templates/app/base/index.js +30 -0
- package/src/templates/app/capacitor.config.ts.template +8 -0
- package/src/templates/app/common/commonLogic.js +36 -0
- package/src/templates/app/common/index.js +30 -0
- package/src/templates/app/env/env.client.js +39 -0
- package/src/templates/app/env/env.client.type.js +36 -0
- package/src/templates/app/env/env.server.js +39 -0
- package/src/templates/app/jest.config.js +37 -0
- package/src/templates/app/lib/___appName__/__appName__.dictionary.js +32 -0
- package/src/templates/app/lib/___appName__/__appName__.service.js +43 -0
- package/src/templates/app/lib/___appName__/__appName__.store.js +37 -0
- package/src/templates/app/lib/___appName__/_server.js +35 -0
- package/src/templates/app/lib/option.js +43 -0
- package/src/templates/app/lib/setting/Setting.Template.js +55 -0
- package/src/templates/app/lib/setting/Setting.Unit.js +36 -0
- package/src/templates/app/lib/setting/Setting.Util.js +32 -0
- package/src/templates/app/lib/setting/Setting.View.js +49 -0
- package/src/templates/app/lib/setting/Setting.Zone.js +78 -0
- package/src/templates/app/lib/setting/_server.js +49 -0
- package/src/templates/app/lib/setting/index.js +59 -0
- package/src/templates/app/lib/setting/setting.constant.js +47 -0
- package/src/templates/app/lib/setting/setting.dictionary.js +47 -0
- package/src/templates/app/lib/setting/setting.document.js +49 -0
- package/src/templates/app/lib/setting/setting.service.js +38 -0
- package/src/templates/app/lib/setting/setting.signal.js +35 -0
- package/src/templates/app/lib/setting/setting.store.js +42 -0
- package/src/templates/app/lib/summary/Summary.Template.js +41 -0
- package/src/templates/app/lib/summary/Summary.Unit.js +36 -0
- package/src/templates/app/lib/summary/Summary.Util.js +31 -0
- package/src/templates/app/lib/summary/Summary.View.js +49 -0
- package/src/templates/app/lib/summary/Summary.Zone.js +60 -0
- package/src/templates/app/lib/summary/_server.js +49 -0
- package/src/templates/app/lib/summary/index.js +65 -0
- package/src/templates/app/lib/summary/summary.constant.js +45 -0
- package/src/templates/app/lib/summary/summary.dictionary.js +50 -0
- package/src/templates/app/lib/summary/summary.document.js +49 -0
- package/src/templates/app/lib/summary/summary.service.js +35 -0
- package/src/templates/app/lib/summary/summary.signal.js +35 -0
- package/src/templates/app/lib/summary/summary.store.js +42 -0
- package/src/templates/app/lib/user/User.Template.js +63 -0
- package/src/templates/app/lib/user/User.Unit.js +36 -0
- package/src/templates/app/lib/user/User.Util.js +92 -0
- package/src/templates/app/lib/user/User.View.js +64 -0
- package/src/templates/app/lib/user/User.Zone.js +72 -0
- package/src/templates/app/lib/user/_server.js +49 -0
- package/src/templates/app/lib/user/index.js +59 -0
- package/src/templates/app/lib/user/user.constant.js +68 -0
- package/src/templates/app/lib/user/user.dictionary.js +53 -0
- package/src/templates/app/lib/user/user.document.js +55 -0
- package/src/templates/app/lib/user/user.service.js +43 -0
- package/src/templates/app/lib/user/user.signal.js +35 -0
- package/src/templates/app/lib/user/user.signal.spec.js +38 -0
- package/src/templates/app/lib/user/user.signal.test.js +40 -0
- package/src/templates/app/lib/user/user.store.js +40 -0
- package/src/templates/app/main.js +41 -0
- package/src/templates/app/middleware.js +36 -0
- package/src/templates/app/nest/backendLogic.js +35 -0
- package/src/templates/app/nest/index.js +30 -0
- package/src/templates/app/next/frontendLogic.js +35 -0
- package/src/templates/app/next/index.js +30 -0
- package/src/templates/app/page.test.ts.template +10 -0
- package/src/templates/app/playwright.config.ts.template +6 -0
- package/src/templates/app/postcss.config.js.template +10 -0
- package/src/templates/app/public/favicon.ico +0 -0
- package/src/templates/app/public/icons/icon-128x128.png +0 -0
- package/src/templates/app/public/icons/icon-144x144.png +0 -0
- package/src/templates/app/public/icons/icon-152x152.png +0 -0
- package/src/templates/app/public/icons/icon-192x192.png +0 -0
- package/src/templates/app/public/icons/icon-256x256.png +0 -0
- package/src/templates/app/public/icons/icon-384x384.png +0 -0
- package/src/templates/app/public/icons/icon-48x48.png +0 -0
- package/src/templates/app/public/icons/icon-512x512.png +0 -0
- package/src/templates/app/public/icons/icon-72x72.png +0 -0
- package/src/templates/app/public/icons/icon-96x96.png +0 -0
- package/src/templates/app/public/logo.svg +70 -0
- package/src/templates/app/public/manifest.json.template +67 -0
- package/src/templates/app/tsconfig.json.template +22 -0
- package/src/templates/app/tsconfig.spec.json.template +7 -0
- package/src/templates/app/ui/Footer.js +65 -0
- package/src/templates/app/ui/MainHeader.js +129 -0
- package/src/templates/app/ui/index.js +31 -0
- package/src/templates/client.js +43 -0
- package/src/templates/crudPages/[__model__Id]/edit/page.js +71 -0
- package/src/templates/crudPages/[__model__Id]/page.js +81 -0
- package/src/templates/crudPages/new/page.js +68 -0
- package/src/templates/crudPages/page.js +69 -0
- package/src/templates/index.js +32 -0
- package/src/templates/lib/__lib/extends/summary.constant.js +44 -0
- package/src/templates/lib/__lib/lib.constant.js +54 -0
- package/src/templates/lib/__lib/lib.dictionary.js +43 -0
- package/src/templates/lib/__lib/lib.document.js +42 -0
- package/src/templates/lib/__lib/lib.service.js +84 -0
- package/src/templates/lib/__lib/lib.signal.js +37 -0
- package/src/templates/lib/__lib/lib.store.js +35 -0
- package/src/templates/lib/__scalar/_server.js +40 -0
- package/src/templates/lib/cnst.js +33 -0
- package/src/templates/lib/cnst_.js +52 -0
- package/src/templates/lib/db.js +54 -0
- package/src/templates/lib/dict.js +46 -0
- package/src/templates/lib/fetch.js +49 -0
- package/src/templates/lib/sig.js +38 -0
- package/src/templates/lib/srv.js +53 -0
- package/src/templates/lib/st.js +37 -0
- package/src/templates/lib/store.js +53 -0
- package/src/templates/lib/usePage.js +34 -0
- package/src/templates/libRoot/.gitignore.template +15 -0
- package/src/templates/libRoot/jest.config.js +37 -0
- package/src/templates/libRoot/package.json.template +5 -0
- package/src/templates/libRoot/tsconfig.json.template +11 -0
- package/src/templates/libRoot/tsconfig.spec.json.template +7 -0
- package/src/templates/module/__Model__.Template.js +52 -0
- package/src/templates/module/__Model__.Unit.js +40 -0
- package/src/templates/module/__Model__.Util.js +68 -0
- package/src/templates/module/__Model__.View.js +46 -0
- package/src/templates/module/__Model__.Zone.js +81 -0
- package/src/templates/module/__model__.constant.js +70 -0
- package/src/templates/module/__model__.dictionary.js +99 -0
- package/src/templates/module/__model__.document.js +54 -0
- package/src/templates/module/__model__.service.js +42 -0
- package/src/templates/module/__model__.signal.js +61 -0
- package/src/templates/module/__model__.signal.spec.js +40 -0
- package/src/templates/module/__model__.signal.test.js +49 -0
- package/src/templates/module/__model__.store.js +40 -0
- package/src/templates/module/_server.js +48 -0
- package/src/templates/module/index.js +59 -0
- package/src/templates/pkgRoot/tsconfig.json.template +12 -0
- package/src/templates/server.js +60 -0
- package/src/templates/workplaceRoot/.env.template +20 -0
- package/src/templates/workplaceRoot/.gitignore.template +195 -0
- package/src/templates/workplaceRoot/.prettierignore.template +10 -0
- package/src/templates/workplaceRoot/.prettierrc.json.template +5 -0
- package/src/templates/workplaceRoot/.swcrc.template +9 -0
- package/src/templates/workplaceRoot/README.md.template +37 -0
- package/src/templates/workplaceRoot/eslint.config.js.template +141 -0
- package/src/templates/workplaceRoot/tsconfig.json.template +29 -0
package/index.js
CHANGED
|
@@ -47,26 +47,31 @@
|
|
|
47
47
|
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
|
|
48
48
|
|
|
49
49
|
// pkgs/@akanjs/devkit/src/baseDevEnv.ts
|
|
50
|
-
var
|
|
50
|
+
var getBaseDevEnv, getSshTunnelOptions;
|
|
51
51
|
var init_baseDevEnv = __esm({
|
|
52
52
|
"pkgs/@akanjs/devkit/src/baseDevEnv.ts"() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
getBaseDevEnv = () => {
|
|
54
|
+
const appName = process.env.NEXT_PUBLIC_APP_NAME;
|
|
55
|
+
const repoName = process.env.NEXT_PUBLIC_REPO_NAME;
|
|
56
|
+
if (!repoName)
|
|
57
|
+
throw new Error("NEXT_PUBLIC_REPO_NAME is not set");
|
|
58
|
+
const serveDomain = process.env.NEXT_PUBLIC_SERVE_DOMAIN;
|
|
59
|
+
if (!serveDomain)
|
|
60
|
+
throw new Error("NEXT_PUBLIC_SERVE_DOMAIN is not set");
|
|
61
|
+
const env = process.env.NEXT_PUBLIC_ENV ?? "debug";
|
|
62
|
+
if (!env)
|
|
63
|
+
throw new Error("NEXT_PUBLIC_ENV is not set");
|
|
64
|
+
return { ...appName ? { appName } : {}, repoName, serveDomain, env };
|
|
65
|
+
};
|
|
66
|
+
getSshTunnelOptions = (appName, environment) => {
|
|
67
|
+
const { serveDomain, repoName } = getBaseDevEnv();
|
|
68
|
+
return {
|
|
69
|
+
host: `${appName}-${environment}.${serveDomain}`,
|
|
70
|
+
port: process.env.SSU_TUNNEL_PORT ? parseInt(process.env.SSU_TUNNEL_PORT) : 32767,
|
|
71
|
+
username: process.env.SSU_TUNNEL_USERNAME ?? "root",
|
|
72
|
+
password: process.env.SSU_TUNNEL_PASSWORD ?? repoName
|
|
73
|
+
};
|
|
74
|
+
};
|
|
70
75
|
}
|
|
71
76
|
});
|
|
72
77
|
|
|
@@ -76,14 +81,14 @@
|
|
|
76
81
|
"pkgs/@akanjs/devkit/src/createTunnel.ts"() {
|
|
77
82
|
import_tunnel_ssh = __require("tunnel-ssh");
|
|
78
83
|
init_baseDevEnv();
|
|
79
|
-
createTunnel = async ({ appName
|
|
84
|
+
createTunnel = async ({ appName, environment, port = 27017 }) => {
|
|
80
85
|
const tunnelOptions = { autoClose: true, reconnectOnError: true };
|
|
81
|
-
const sshOptions = getSshTunnelOptions(
|
|
86
|
+
const sshOptions = getSshTunnelOptions(appName, environment);
|
|
82
87
|
const serverOptions = { port };
|
|
83
88
|
const forwardOptions = {
|
|
84
89
|
srcAddr: "0.0.0.0",
|
|
85
90
|
srcPort: port,
|
|
86
|
-
dstAddr: `mongo-0.mongo-svc.${
|
|
91
|
+
dstAddr: `mongo-0.mongo-svc.${appName}-${environment}`,
|
|
87
92
|
dstPort: 27017
|
|
88
93
|
};
|
|
89
94
|
const [server, client] = await (0, import_tunnel_ssh.createTunnel)(tunnelOptions, serverOptions, sshOptions, forwardOptions);
|
|
@@ -677,19 +682,19 @@
|
|
|
677
682
|
var getBaseConfigEnv;
|
|
678
683
|
var init_baseConfigEnv = __esm({
|
|
679
684
|
"pkgs/@akanjs/config/src/baseConfigEnv.ts"() {
|
|
680
|
-
getBaseConfigEnv = (
|
|
681
|
-
if (!
|
|
685
|
+
getBaseConfigEnv = (appName = process.env.NEXT_PUBLIC_APP_NAME) => {
|
|
686
|
+
if (!appName)
|
|
682
687
|
throw new Error("NEXT_PUBLIC_APP_NAME is not set");
|
|
683
|
-
const
|
|
684
|
-
if (!
|
|
688
|
+
const repoName = process.env.NEXT_PUBLIC_REPO_NAME;
|
|
689
|
+
if (!repoName)
|
|
685
690
|
throw new Error("NEXT_PUBLIC_REPO_NAME is not set");
|
|
686
|
-
const
|
|
687
|
-
if (!
|
|
691
|
+
const serveDomain = process.env.NEXT_PUBLIC_SERVE_DOMAIN;
|
|
692
|
+
if (!serveDomain)
|
|
688
693
|
throw new Error("NEXT_PUBLIC_SERVE_DOMAIN is not set");
|
|
689
|
-
const
|
|
690
|
-
if (!
|
|
694
|
+
const env = process.env.NEXT_PUBLIC_ENV ?? "debug";
|
|
695
|
+
if (!env)
|
|
691
696
|
throw new Error("NEXT_PUBLIC_ENV is not set");
|
|
692
|
-
return { appName
|
|
697
|
+
return { appName, repoName, serveDomain, env };
|
|
693
698
|
};
|
|
694
699
|
}
|
|
695
700
|
});
|
|
@@ -728,7 +733,7 @@
|
|
|
728
733
|
disable: commandType === "serve"
|
|
729
734
|
});
|
|
730
735
|
devDomain = process.env.NEXT_PUBLIC_SERVE_DOMAIN ?? "akanjs.com";
|
|
731
|
-
withBase = (
|
|
736
|
+
withBase = (appName, config, libs, routes = []) => {
|
|
732
737
|
return composePlugins(
|
|
733
738
|
(0, import_bundle_analyzer.default)({ enabled: process.env.ANALYZE === "true" }),
|
|
734
739
|
...commandType !== "serve" || process.env.USE_PWA === "true" ? [withPWA] : []
|
|
@@ -762,7 +767,7 @@
|
|
|
762
767
|
experimental: {
|
|
763
768
|
...config.experimental ?? {},
|
|
764
769
|
optimizePackageImports: [
|
|
765
|
-
...[
|
|
770
|
+
...[appName, ...libs].map((lib) => [`@${lib}/ui`, `@${lib}/next`, `@${lib}/common`, `@${lib}/client`]).flat(),
|
|
766
771
|
"@contract",
|
|
767
772
|
"@akanjs/next",
|
|
768
773
|
"@akanjs/common"
|
|
@@ -873,10 +878,10 @@ export default getNextConfig(config, appInfo);
|
|
|
873
878
|
makeAppConfig = (config, props = {}) => {
|
|
874
879
|
const baseConfigEnv = getBaseConfigEnv(props.appName);
|
|
875
880
|
const {
|
|
876
|
-
appName
|
|
877
|
-
repoName
|
|
878
|
-
serveDomain
|
|
879
|
-
env
|
|
881
|
+
appName = baseConfigEnv.appName,
|
|
882
|
+
repoName = baseConfigEnv.repoName,
|
|
883
|
+
serveDomain = baseConfigEnv.serveDomain,
|
|
884
|
+
env = baseConfigEnv.env,
|
|
880
885
|
command = "build"
|
|
881
886
|
} = props;
|
|
882
887
|
return {
|
|
@@ -898,10 +903,10 @@ RUN npx pnpm i --prod
|
|
|
898
903
|
COPY . .
|
|
899
904
|
ENV PORT 8080
|
|
900
905
|
ENV NODE_OPTIONS=--max_old_space_size=8192
|
|
901
|
-
ENV NEXT_PUBLIC_REPO_NAME=${
|
|
902
|
-
ENV NEXT_PUBLIC_SERVE_DOMAIN=${
|
|
903
|
-
ENV NEXT_PUBLIC_APP_NAME=${
|
|
904
|
-
ENV NEXT_PUBLIC_ENV=${
|
|
906
|
+
ENV NEXT_PUBLIC_REPO_NAME=${repoName}
|
|
907
|
+
ENV NEXT_PUBLIC_SERVE_DOMAIN=${serveDomain}
|
|
908
|
+
ENV NEXT_PUBLIC_APP_NAME=${appName}
|
|
909
|
+
ENV NEXT_PUBLIC_ENV=${env}
|
|
905
910
|
ENV NEXT_PUBLIC_OPERATION_MODE=cloud
|
|
906
911
|
CMD ["node", "main.js"]`,
|
|
907
912
|
explicitDependencies: config.backend?.explicitDependencies ?? []
|
|
@@ -917,14 +922,14 @@ RUN npx pnpm i --prod
|
|
|
917
922
|
COPY . .
|
|
918
923
|
ENV PORT 4200
|
|
919
924
|
ENV NODE_OPTIONS=--max_old_space_size=8192
|
|
920
|
-
ENV NEXT_PUBLIC_REPO_NAME=${
|
|
921
|
-
ENV NEXT_PUBLIC_SERVE_DOMAIN=${
|
|
922
|
-
ENV NEXT_PUBLIC_APP_NAME=${
|
|
923
|
-
ENV NEXT_PUBLIC_ENV=${
|
|
925
|
+
ENV NEXT_PUBLIC_REPO_NAME=${repoName}
|
|
926
|
+
ENV NEXT_PUBLIC_SERVE_DOMAIN=${serveDomain}
|
|
927
|
+
ENV NEXT_PUBLIC_APP_NAME=${appName}
|
|
928
|
+
ENV NEXT_PUBLIC_ENV=${env}
|
|
924
929
|
ENV NEXT_PUBLIC_OPERATION_MODE=cloud
|
|
925
930
|
CMD ["npm", "start"]`,
|
|
926
931
|
nextConfig: withBase(
|
|
927
|
-
|
|
932
|
+
appName,
|
|
928
933
|
config.frontend?.nextConfig ? typeof config.frontend.nextConfig === "function" ? config.frontend.nextConfig() : config.frontend.nextConfig : {},
|
|
929
934
|
config.libs ?? [],
|
|
930
935
|
config.frontend?.routes
|
|
@@ -1345,21 +1350,21 @@ CMD ["npm", "start"]`,
|
|
|
1345
1350
|
WorkspaceExecutor = class _WorkspaceExecutor extends Executor {
|
|
1346
1351
|
workspaceRoot;
|
|
1347
1352
|
repoName;
|
|
1348
|
-
constructor({ workspaceRoot, repoName
|
|
1349
|
-
super(`${
|
|
1353
|
+
constructor({ workspaceRoot, repoName }) {
|
|
1354
|
+
super(`${repoName} Executor`, workspaceRoot);
|
|
1350
1355
|
this.workspaceRoot = workspaceRoot;
|
|
1351
|
-
this.repoName =
|
|
1356
|
+
this.repoName = repoName;
|
|
1352
1357
|
}
|
|
1353
1358
|
static fromRoot() {
|
|
1354
|
-
const
|
|
1355
|
-
return new _WorkspaceExecutor({ workspaceRoot: process.cwd(), repoName
|
|
1359
|
+
const repoName = import_path3.default.basename(process.cwd());
|
|
1360
|
+
return new _WorkspaceExecutor({ workspaceRoot: process.cwd(), repoName });
|
|
1356
1361
|
}
|
|
1357
1362
|
async scan() {
|
|
1358
1363
|
const [appNames, libNames, pkgNames] = await Promise.all([this.getApps(), this.getLibs(), this.getPkgs()]);
|
|
1359
1364
|
const [appScanResults, libScanResults, pkgScanResults] = await Promise.all([
|
|
1360
1365
|
Promise.all(
|
|
1361
|
-
appNames.map(async (
|
|
1362
|
-
const app = AppExecutor.from(this,
|
|
1366
|
+
appNames.map(async (appName) => {
|
|
1367
|
+
const app = AppExecutor.from(this, appName);
|
|
1363
1368
|
const akanConfig = await app.getConfig("scan");
|
|
1364
1369
|
return await app.scan({ akanConfig });
|
|
1365
1370
|
})
|
|
@@ -1433,7 +1438,7 @@ CMD ["npm", "start"]`,
|
|
|
1433
1438
|
this.type = type;
|
|
1434
1439
|
}
|
|
1435
1440
|
async getConfig(command) {
|
|
1436
|
-
return this.type === "app" ? await getAppConfig(this.cwdPath, { ...
|
|
1441
|
+
return this.type === "app" ? await getAppConfig(this.cwdPath, { ...getBaseDevEnv(), appName: this.name, command }) : await getLibConfig(this.cwdPath, { ...getBaseDevEnv(), appName: this.name, command });
|
|
1437
1442
|
}
|
|
1438
1443
|
async scan({
|
|
1439
1444
|
tsconfig = this.getTsConfig(`${this.cwdPath}/tsconfig.json`),
|
|
@@ -1587,7 +1592,7 @@ CMD ["npm", "start"]`,
|
|
|
1587
1592
|
return new _AppExecutor({ workspace: executor.workspace, name });
|
|
1588
1593
|
}
|
|
1589
1594
|
async getConfig(command) {
|
|
1590
|
-
return await getAppConfig(this.cwdPath, { ...
|
|
1595
|
+
return await getAppConfig(this.cwdPath, { ...getBaseDevEnv(), appName: this.name, command });
|
|
1591
1596
|
}
|
|
1592
1597
|
async syncAssets(libDeps) {
|
|
1593
1598
|
const projectPublicLibPath = `${this.cwdPath}/public/libs`;
|
|
@@ -1628,7 +1633,7 @@ CMD ["npm", "start"]`,
|
|
|
1628
1633
|
return new _LibExecutor({ workspace: executor.workspace, name });
|
|
1629
1634
|
}
|
|
1630
1635
|
async getConfig(command) {
|
|
1631
|
-
return await getLibConfig(this.cwdPath, { ...
|
|
1636
|
+
return await getLibConfig(this.cwdPath, { ...getBaseDevEnv(), appName: this.name, command });
|
|
1632
1637
|
}
|
|
1633
1638
|
};
|
|
1634
1639
|
PkgExecutor = class _PkgExecutor extends Executor {
|
|
@@ -1671,10 +1676,10 @@ CMD ["npm", "start"]`,
|
|
|
1671
1676
|
workspaceRoot;
|
|
1672
1677
|
repoName;
|
|
1673
1678
|
name;
|
|
1674
|
-
constructor({ workspaceRoot, repoName
|
|
1679
|
+
constructor({ workspaceRoot, repoName, name }) {
|
|
1675
1680
|
super(`${name} Dist Pkg Executor`, `${workspaceRoot}/dist/pkgs/${name}`);
|
|
1676
1681
|
this.workspaceRoot = workspaceRoot;
|
|
1677
|
-
this.repoName =
|
|
1682
|
+
this.repoName = repoName;
|
|
1678
1683
|
this.name = name;
|
|
1679
1684
|
}
|
|
1680
1685
|
static from(workspaceExecutor, name) {
|
|
@@ -2052,11 +2057,12 @@ CMD ["npm", "start"]`,
|
|
|
2052
2057
|
});
|
|
2053
2058
|
|
|
2054
2059
|
// pkgs/@akanjs/devkit/src/commandDecorators/command.ts
|
|
2055
|
-
var import_prompts3, import_commander, camelToKebabCase, handleOption, convertOptionValue, getOptionValue, getArgumentValue, runCommands;
|
|
2060
|
+
var import_prompts3, import_commander, import_dotenv, camelToKebabCase, handleOption, convertOptionValue, getOptionValue, getArgumentValue, runCommands;
|
|
2056
2061
|
var init_command = __esm({
|
|
2057
2062
|
"pkgs/@akanjs/devkit/src/commandDecorators/command.ts"() {
|
|
2058
2063
|
import_prompts3 = __require("@inquirer/prompts");
|
|
2059
2064
|
import_commander = __require("commander");
|
|
2065
|
+
import_dotenv = __toESM(__require("dotenv"));
|
|
2060
2066
|
init_executors();
|
|
2061
2067
|
init_argMeta();
|
|
2062
2068
|
init_targetMeta();
|
|
@@ -2131,8 +2137,8 @@ CMD ["npm", "start"]`,
|
|
|
2131
2137
|
if (value)
|
|
2132
2138
|
return AppExecutor.from(workspace, value);
|
|
2133
2139
|
const apps = await workspace.getApps();
|
|
2134
|
-
const
|
|
2135
|
-
return AppExecutor.from(workspace,
|
|
2140
|
+
const appName = await (0, import_prompts3.select)({ message: `Select the ${sysType} name`, choices: apps });
|
|
2141
|
+
return AppExecutor.from(workspace, appName);
|
|
2136
2142
|
} else if (sysType === "lib") {
|
|
2137
2143
|
if (value)
|
|
2138
2144
|
return LibExecutor.from(workspace, value);
|
|
@@ -2149,6 +2155,7 @@ CMD ["npm", "start"]`,
|
|
|
2149
2155
|
throw new Error(`Invalid system type: ${argMeta.type}`);
|
|
2150
2156
|
};
|
|
2151
2157
|
runCommands = async (...commands) => {
|
|
2158
|
+
import_dotenv.default.config();
|
|
2152
2159
|
import_commander.program.version("0.0.1").description("An example CLI for managing a directory");
|
|
2153
2160
|
for (const command of commands) {
|
|
2154
2161
|
const targetMetas = getTargetMetas(command);
|
|
@@ -3395,7 +3402,7 @@ page.tsx_end
|
|
|
3395
3402
|
});
|
|
3396
3403
|
|
|
3397
3404
|
// pkgs/@akanjs/cli/src/application/application.runner.ts
|
|
3398
|
-
var import_prompts4, import_output_parsers, import_prompts5, import_runnables2, import_openai2, import_plugin_react,
|
|
3405
|
+
var import_prompts4, import_output_parsers, import_prompts5, import_runnables2, import_openai2, import_plugin_react, import_dotenv2, esbuild, import_fs10, import_promises2, import_js_yaml2, import_ora2, import_path4, vite, import_vite_plugin_node_polyfills, import_vite_tsconfig_paths, ApplicationRunner;
|
|
3399
3406
|
var init_application_runner = __esm({
|
|
3400
3407
|
"pkgs/@akanjs/cli/src/application/application.runner.ts"() {
|
|
3401
3408
|
init_src();
|
|
@@ -3407,7 +3414,7 @@ page.tsx_end
|
|
|
3407
3414
|
import_runnables2 = __require("@langchain/core/runnables");
|
|
3408
3415
|
import_openai2 = __require("@langchain/openai");
|
|
3409
3416
|
import_plugin_react = __toESM(__require("@vitejs/plugin-react"));
|
|
3410
|
-
|
|
3417
|
+
import_dotenv2 = __toESM(__require("dotenv"));
|
|
3411
3418
|
esbuild = __toESM(__require("esbuild"));
|
|
3412
3419
|
import_fs10 = __toESM(__require("fs"));
|
|
3413
3420
|
import_promises2 = __toESM(__require("fs/promises"));
|
|
@@ -3420,20 +3427,20 @@ page.tsx_end
|
|
|
3420
3427
|
init_application_prompt();
|
|
3421
3428
|
ApplicationRunner = class {
|
|
3422
3429
|
async scanSync(app) {
|
|
3423
|
-
const akanConfig = await getAppConfig(app.cwdPath, { ...
|
|
3430
|
+
const akanConfig = await getAppConfig(app.cwdPath, { ...getBaseDevEnv(), appName: app.name, command: "serve" });
|
|
3424
3431
|
const scanResult = await app.scan({ akanConfig });
|
|
3425
3432
|
await app.syncAssets(scanResult.akanConfig.libs);
|
|
3426
3433
|
return scanResult;
|
|
3427
3434
|
}
|
|
3428
3435
|
async #prepareCommand(app, distApp, type, target) {
|
|
3429
3436
|
await distApp.exec(`rm -rf ${target}`);
|
|
3430
|
-
const
|
|
3437
|
+
const env = import_dotenv2.default.parse(app.workspace.readFile(".env"));
|
|
3431
3438
|
if (target === "frontend")
|
|
3432
3439
|
app.writeFile("next.config.ts", defaultNextConfigFile);
|
|
3433
3440
|
return {
|
|
3434
3441
|
env: {
|
|
3435
3442
|
...process.env,
|
|
3436
|
-
...
|
|
3443
|
+
...env,
|
|
3437
3444
|
AKAN_COMMAND_TYPE: type,
|
|
3438
3445
|
NEXT_PUBLIC_APP_NAME: app.name,
|
|
3439
3446
|
AKAN_WORKSPACE_ROOT: app.workspace.workspaceRoot
|
|
@@ -3466,7 +3473,7 @@ page.tsx_end
|
|
|
3466
3473
|
distApp.writeFile(import_path4.default.join(distApp.cwdPath, "backend", "Dockerfile"), akanConfig.backend.dockerfile);
|
|
3467
3474
|
}
|
|
3468
3475
|
async serveBackend(app, distApp) {
|
|
3469
|
-
const { env
|
|
3476
|
+
const { env } = await this.#prepareCommand(app, distApp, "serve", "backend");
|
|
3470
3477
|
const ctx = await esbuild.context({
|
|
3471
3478
|
write: true,
|
|
3472
3479
|
entryPoints: [`${app.cwdPath}/main.ts`],
|
|
@@ -3478,12 +3485,12 @@ page.tsx_end
|
|
|
3478
3485
|
});
|
|
3479
3486
|
await ctx.watch();
|
|
3480
3487
|
await sleep(100);
|
|
3481
|
-
await distApp.spawn("node", ["--watch", "backend/main.js"], { env
|
|
3488
|
+
await distApp.spawn("node", ["--watch", "backend/main.js"], { env });
|
|
3482
3489
|
}
|
|
3483
3490
|
async buildFrontend(app, distApp) {
|
|
3484
|
-
const { env
|
|
3491
|
+
const { env } = await this.#prepareCommand(app, distApp, "build", "frontend");
|
|
3485
3492
|
const akanConfig = await app.getConfig("build");
|
|
3486
|
-
await app.spawn("npx", ["next", "build", "--no-lint"], { env
|
|
3493
|
+
await app.spawn("npx", ["next", "build", "--no-lint"], { env });
|
|
3487
3494
|
await esbuild.build({
|
|
3488
3495
|
entryPoints: [`${app.cwdPath}/next.config.ts`],
|
|
3489
3496
|
outdir: `${distApp.cwdPath}/frontend`,
|
|
@@ -3519,12 +3526,12 @@ page.tsx_end
|
|
|
3519
3526
|
distApp.writeFile("frontend/Dockerfile", akanConfig.frontend.dockerfile);
|
|
3520
3527
|
}
|
|
3521
3528
|
async serveFrontend(app, distApp) {
|
|
3522
|
-
const { env
|
|
3523
|
-
await app.spawn("npx", ["next", "dev", "-p", "4200"], { env
|
|
3529
|
+
const { env } = await this.#prepareCommand(app, distApp, "serve", "frontend");
|
|
3530
|
+
await app.spawn("npx", ["next", "dev", "-p", "4200"], { env });
|
|
3524
3531
|
}
|
|
3525
3532
|
async #getViteConfig(app, distApp) {
|
|
3526
|
-
const { env
|
|
3527
|
-
const processEnv =
|
|
3533
|
+
const { env } = await this.#prepareCommand(app, distApp, "build", "csr");
|
|
3534
|
+
const processEnv = env;
|
|
3528
3535
|
const akanjsPrefix = process.env.USE_AKANJS_PKGS === "true" ? "../../../../pkgs/" : "";
|
|
3529
3536
|
const config = vite.defineConfig({
|
|
3530
3537
|
root: `${app.cwdPath}/app`,
|
|
@@ -3837,11 +3844,11 @@ page.tsx_end
|
|
|
3837
3844
|
local
|
|
3838
3845
|
});
|
|
3839
3846
|
}
|
|
3840
|
-
async createApplicationTemplate(workspace,
|
|
3847
|
+
async createApplicationTemplate(workspace, appName) {
|
|
3841
3848
|
await workspace.applyTemplate({
|
|
3842
|
-
basePath: `apps/${
|
|
3849
|
+
basePath: `apps/${appName}`,
|
|
3843
3850
|
template: "appRoot",
|
|
3844
|
-
dict: { appName
|
|
3851
|
+
dict: { appName, AppName: capitalize(appName) }
|
|
3845
3852
|
});
|
|
3846
3853
|
}
|
|
3847
3854
|
async generateApplicationTemplate(app) {
|
|
@@ -4191,6 +4198,30 @@ page.tsx_end
|
|
|
4191
4198
|
plugins: [(0, import_esbuild_plugin_d.dtsPlugin)({ tsconfig: `${pkg.cwdPath}/tsconfig.json` })]
|
|
4192
4199
|
});
|
|
4193
4200
|
await pkg.workspace.exec(`rsync -aq ${pkg.cwdPath}/src/ ${distPkg.cwdPath}/src/`);
|
|
4201
|
+
} else if (pkg.name === "@akanjs/cli") {
|
|
4202
|
+
await esbuild2.build({
|
|
4203
|
+
write: true,
|
|
4204
|
+
entryPoints: [`${pkg.cwdPath}/index.ts`],
|
|
4205
|
+
bundle: true,
|
|
4206
|
+
packages: "external",
|
|
4207
|
+
outdir: distPkg.cwdPath,
|
|
4208
|
+
logLevel: "warning",
|
|
4209
|
+
plugins: [(0, import_esbuild_plugin_d.dtsPlugin)({ tsconfig: `${pkg.cwdPath}/tsconfig.json` })]
|
|
4210
|
+
});
|
|
4211
|
+
await esbuild2.build({
|
|
4212
|
+
write: true,
|
|
4213
|
+
entryPoints: [`${pkg.cwdPath}/src/templates/**/*.ts`, `${pkg.cwdPath}/src/templates/**/*.tsx`],
|
|
4214
|
+
bundle: true,
|
|
4215
|
+
packages: "external",
|
|
4216
|
+
outdir: `${distPkg.cwdPath}/src/templates`,
|
|
4217
|
+
outbase: `${pkg.cwdPath}/src/templates`,
|
|
4218
|
+
platform: "node",
|
|
4219
|
+
format: "cjs",
|
|
4220
|
+
footer: { js: "module.exports = module.exports.default;" }
|
|
4221
|
+
});
|
|
4222
|
+
await pkg.workspace.exec(
|
|
4223
|
+
`rsync -aq --exclude="*.ts" --exclude="*.tsx" ${pkg.cwdPath}/src/templates/ ${distPkg.cwdPath}/src/templates/`
|
|
4224
|
+
);
|
|
4194
4225
|
} else {
|
|
4195
4226
|
await esbuild2.build({
|
|
4196
4227
|
write: true,
|
|
@@ -4633,12 +4664,12 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4633
4664
|
const [appNames, libNames] = await sys2.workspace.getSyss();
|
|
4634
4665
|
const scalarConstantExampleFiles = [
|
|
4635
4666
|
...(await Promise.all(
|
|
4636
|
-
appNames.map(async (
|
|
4637
|
-
const app = AppExecutor.from(sys2.workspace,
|
|
4667
|
+
appNames.map(async (appName) => {
|
|
4668
|
+
const app = AppExecutor.from(sys2.workspace, appName);
|
|
4638
4669
|
const scalarModules = await app.getScalarModules();
|
|
4639
4670
|
return await Promise.all(
|
|
4640
4671
|
scalarModules.map((scalarModule) => ({
|
|
4641
|
-
path: `${
|
|
4672
|
+
path: `${appName}/${scalarModule}/${scalarModule}.constant.ts`,
|
|
4642
4673
|
content: app.readFile(`lib/__scalar/${scalarModule}/${scalarModule}.constant.ts`)
|
|
4643
4674
|
}))
|
|
4644
4675
|
);
|
|
@@ -4859,19 +4890,19 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4859
4890
|
init_devkit();
|
|
4860
4891
|
import_uuid2 = __require("uuid");
|
|
4861
4892
|
WorkspaceRunner = class {
|
|
4862
|
-
async createWorkspace(
|
|
4893
|
+
async createWorkspace(repoName, appName, dirname = ".") {
|
|
4863
4894
|
}
|
|
4864
4895
|
async generateMongo(workspace) {
|
|
4865
4896
|
const namespace = "00000000-0000-0000-0000-000000000000";
|
|
4866
4897
|
const appNames = await workspace.getApps();
|
|
4867
|
-
const apps = appNames.map((
|
|
4898
|
+
const apps = appNames.map((appName) => AppExecutor.from(workspace, appName));
|
|
4868
4899
|
const appDatas = apps.reduce(
|
|
4869
4900
|
(acc, app) => [
|
|
4870
4901
|
...acc,
|
|
4871
|
-
...["debug", "develop", "main"].map((
|
|
4902
|
+
...["debug", "develop", "main"].map((env) => ({
|
|
4872
4903
|
appName: app.name,
|
|
4873
|
-
env
|
|
4874
|
-
secret: getCredentials(app,
|
|
4904
|
+
env,
|
|
4905
|
+
secret: getCredentials(app, env)
|
|
4875
4906
|
}))
|
|
4876
4907
|
],
|
|
4877
4908
|
[]
|
|
@@ -4879,17 +4910,17 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4879
4910
|
const mongoConnectionList = {
|
|
4880
4911
|
type: "Compass Connections",
|
|
4881
4912
|
version: { $numberInt: "1" },
|
|
4882
|
-
connections: appDatas.map(({ appName
|
|
4883
|
-
id: (0, import_uuid2.v5)(`${
|
|
4913
|
+
connections: appDatas.map(({ appName, env, secret }) => ({
|
|
4914
|
+
id: (0, import_uuid2.v5)(`${appName}-${env}`, namespace),
|
|
4884
4915
|
favorite: {
|
|
4885
|
-
name: `${
|
|
4916
|
+
name: `${appName}-${env}`,
|
|
4886
4917
|
color: "color9"
|
|
4887
4918
|
},
|
|
4888
4919
|
savedConnectionType: "favorite",
|
|
4889
4920
|
connectionOptions: {
|
|
4890
|
-
connectionString: `mongodb://${secret.mongo.account.user.username}:${secret.mongo.account.user.password}@mongo-0.mongo-svc.${
|
|
4921
|
+
connectionString: `mongodb://${secret.mongo.account.user.username}:${secret.mongo.account.user.password}@mongo-0.mongo-svc.${appName}-${env}/?directConnection=true&authSource=${appName}-${env}`,
|
|
4891
4922
|
sshTunnel: {
|
|
4892
|
-
host: `${
|
|
4923
|
+
host: `${appName}-${env}.akamir.com`,
|
|
4893
4924
|
port: "32767",
|
|
4894
4925
|
username: "root",
|
|
4895
4926
|
password: "akamir"
|
|
@@ -4919,10 +4950,10 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4919
4950
|
init_workspace_runner();
|
|
4920
4951
|
WorkspaceScript = class {
|
|
4921
4952
|
#runner = new WorkspaceRunner();
|
|
4922
|
-
async createWorkspace(
|
|
4953
|
+
async createWorkspace(repoName, appName, dirname = ".") {
|
|
4923
4954
|
const cwdPath = process.cwd();
|
|
4924
|
-
const workspaceRoot = import_path5.default.join(cwdPath, dirname,
|
|
4925
|
-
const workspace = new WorkspaceExecutor({ workspaceRoot, repoName
|
|
4955
|
+
const workspaceRoot = import_path5.default.join(cwdPath, dirname, repoName);
|
|
4956
|
+
const workspace = new WorkspaceExecutor({ workspaceRoot, repoName });
|
|
4926
4957
|
const dependencies = [
|
|
4927
4958
|
"@akanjs/base",
|
|
4928
4959
|
"@akanjs/cli",
|
|
@@ -4943,9 +4974,9 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4943
4974
|
const devDependencies = ["@akanjs/test", "@akanjs/devkit"];
|
|
4944
4975
|
const latestPublishedVersionOfBase = await (0, import_latest_version2.default)("@akanjs/base");
|
|
4945
4976
|
const packageJson = {
|
|
4946
|
-
name:
|
|
4977
|
+
name: repoName,
|
|
4947
4978
|
version: "0.0.1",
|
|
4948
|
-
description: `${
|
|
4979
|
+
description: `${repoName} workspace`,
|
|
4949
4980
|
dependencies: Object.fromEntries(dependencies.map((dependency) => [dependency, latestPublishedVersionOfBase])),
|
|
4950
4981
|
devDependencies: Object.fromEntries(
|
|
4951
4982
|
devDependencies.map((dependency) => [dependency, latestPublishedVersionOfBase])
|
|
@@ -4955,7 +4986,7 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4955
4986
|
await workspace.applyTemplate({
|
|
4956
4987
|
basePath: ".",
|
|
4957
4988
|
template: "workspaceRoot",
|
|
4958
|
-
dict: { repoName
|
|
4989
|
+
dict: { repoName, RepoName: capitalize(repoName) }
|
|
4959
4990
|
});
|
|
4960
4991
|
workspace.log("Installing dependencies...");
|
|
4961
4992
|
await workspace.spawn("pnpm", ["i"]);
|
package/package.json
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// pkgs/@akanjs/cli/src/templates/__scalar/__model__/__model__.constant.ts
|
|
20
|
+
var model_constant_exports = {};
|
|
21
|
+
__export(model_constant_exports, {
|
|
22
|
+
default: () => getContent
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(model_constant_exports);
|
|
25
|
+
function getContent(scanResult, dict) {
|
|
26
|
+
return `
|
|
27
|
+
import { Field, Model } from "@akanjs/constant";
|
|
28
|
+
|
|
29
|
+
@Model.Scalar("${dict.Model}")
|
|
30
|
+
export class ${dict.Model} {
|
|
31
|
+
@Field.Prop(() => String)
|
|
32
|
+
field: string;
|
|
33
|
+
}
|
|
34
|
+
`;
|
|
35
|
+
}
|
|
36
|
+
module.exports = module.exports.default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// pkgs/@akanjs/cli/src/templates/__scalar/__model__/__model__.dictionary.ts
|
|
20
|
+
var model_dictionary_exports = {};
|
|
21
|
+
__export(model_dictionary_exports, {
|
|
22
|
+
default: () => getContent
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(model_dictionary_exports);
|
|
25
|
+
function getContent(scanResult, dict) {
|
|
26
|
+
return `
|
|
27
|
+
import { ModelDictionary } from "@akanjs/dictionary";
|
|
28
|
+
|
|
29
|
+
import type { ${dict.Model} } from "./${dict.model}.constant";
|
|
30
|
+
|
|
31
|
+
const modelDictionary = {
|
|
32
|
+
modelName: ["${dict.Model}", "${dict.Model}"],
|
|
33
|
+
modelDesc: ["${dict.Model}", "${dict.Model}"],
|
|
34
|
+
|
|
35
|
+
// * ==================== Model ==================== * //
|
|
36
|
+
field: ["Field", "\uD544\uB4DC"],
|
|
37
|
+
"desc-field": ["Field", "\uD544\uB4DC"],
|
|
38
|
+
// * ==================== Model ==================== * //
|
|
39
|
+
|
|
40
|
+
// * ==================== Etc ==================== * //
|
|
41
|
+
// * ==================== Etc ==================== * //
|
|
42
|
+
} satisfies ModelDictionary<${dict.Model}>;
|
|
43
|
+
|
|
44
|
+
export const ${dict.model}Dictionary = modelDictionary;
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
47
|
+
module.exports = module.exports.default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// pkgs/@akanjs/cli/src/templates/__scalar/__model__/__model__.document.ts
|
|
20
|
+
var model_document_exports = {};
|
|
21
|
+
__export(model_document_exports, {
|
|
22
|
+
default: () => getContent
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(model_document_exports);
|
|
25
|
+
function getContent(scanResult, dict) {
|
|
26
|
+
return `
|
|
27
|
+
import { by } from "@akanjs/document";
|
|
28
|
+
|
|
29
|
+
import * as cnst from "./${dict.model}.constant";
|
|
30
|
+
|
|
31
|
+
export class ${dict.Model} extends by(cnst.${dict.Model}) {}
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
module.exports = module.exports.default;
|