@keshavsoft/kschema-cli 1.12.8 → 1.12.11

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 (188) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/v12/commands/exportCommands/tally.js +9 -0
  3. package/bin/v12/commands/tally/template/v3/Api/V1/BillsTable/Config/schema.json +2 -2
  4. package/bin/v12/commands/tally/template/v3/Api/V1/BillsTable/Insert/rest.http +12 -12
  5. package/bin/v12/commands/tally/template/v3/Api/V1/BillsTable/end-points.js +4 -4
  6. package/bin/v12/commands/tally/template/v3/Api/V1/ItemsTable/Config/schema.json +2 -2
  7. package/bin/v12/commands/tally/template/v3/Api/V1/ItemsTable/Insert/rest.http +13 -13
  8. package/bin/v12/commands/tally/template/v3/Api/V1/ItemsTable/end-points.js +4 -4
  9. package/bin/v12/commands/tally/template/v3/Api/V1/LedgerNames/Config/schema.json +2 -2
  10. package/bin/v12/commands/tally/template/v3/Api/V1/LedgerNames/end-points.js +2 -2
  11. package/bin/v12/commands/tally/template/v3/Api/V1/StockItems/Config/schema.json +2 -2
  12. package/bin/v12/commands/tally/template/v3/Api/V1/StockItems/end-points.js +2 -2
  13. package/bin/v12/commands/tally/template/v3/Api/V1/routes.js +8 -8
  14. package/bin/v12/commands/tally/template/v3/Api/routes.js +2 -2
  15. package/bin/v12/commands/tally/template/v3/FromTally/V1/StockItems/Config/schema.json +2 -2
  16. package/bin/v12/commands/tally/template/v3/FromTally/V1/routes.js +2 -2
  17. package/bin/v12/commands/tally/template/v3/app.js +4 -4
  18. package/index.js +10 -2
  19. package/package.json +1 -1
  20. package/bin/v10/commands/generateSamples.js +0 -26
  21. package/bin/v10/commands/init.js +0 -23
  22. package/bin/v10/commands/steps/announce.js +0 -3
  23. package/bin/v10/commands/steps/createProject.js +0 -6
  24. package/bin/v10/commands/steps/decideTemplate.js +0 -3
  25. package/bin/v10/commands/steps/locateDestination.js +0 -5
  26. package/bin/v10/commands/steps/locateSource.js +0 -14
  27. package/bin/v10/commands/template/baseTemplate.js +0 -11
  28. package/bin/v10/commands/template/basic/.vscode/launch.json +0 -12
  29. package/bin/v10/commands/template/basic/Config/Schemas/BillsTable.json +0 -165
  30. package/bin/v10/commands/template/basic/Config/Schemas/ItemsTable.json +0 -200
  31. package/bin/v10/commands/template/basic/Config/Schemas/LedgerNames.json +0 -50
  32. package/bin/v10/commands/template/basic/Config/Schemas/StockItems.json +0 -45
  33. package/bin/v10/commands/template/basic/Config/api.json +0 -8
  34. package/bin/v10/commands/template/basic/Config/schema.json +0 -8
  35. package/bin/v10/commands/template/basic/Config/ui.json +0 -8
  36. package/bin/v10/commands/template/basic/Data/BillsTable.json +0 -165
  37. package/bin/v10/commands/template/basic/Data/ItemsTable.json +0 -200
  38. package/bin/v10/commands/template/basic/Data/LedgerNames.json +0 -6
  39. package/bin/v10/commands/template/basic/Data/StockItems.json +0 -45
  40. package/bin/v10/commands/template/basic/app.js +0 -4
  41. package/bin/v10/commands/template/basic/config.json +0 -4
  42. package/bin/v10/commands/template/basic/package-lock.json +0 -21
  43. package/bin/v10/commands/template/basic/package.json +0 -14
  44. package/bin/v10/commands/template/basic/read.js +0 -8
  45. package/bin/v10/commands/template/basic/write.js +0 -8
  46. package/bin/v10/commands/template/express/.env +0 -8
  47. package/bin/v10/commands/template/express/.env.local +0 -7
  48. package/bin/v10/commands/template/express/.vscode/launch.json +0 -12
  49. package/bin/v10/commands/template/express/Config/Schemas/BillsTable.json +0 -166
  50. package/bin/v10/commands/template/express/Config/Schemas/ItemsTable.json +0 -206
  51. package/bin/v10/commands/template/express/Config/Schemas/LedgerNames.json +0 -50
  52. package/bin/v10/commands/template/express/Config/Schemas/StockItems.json +0 -45
  53. package/bin/v10/commands/template/express/Config/api.json +0 -8
  54. package/bin/v10/commands/template/express/Config/schema.json +0 -8
  55. package/bin/v10/commands/template/express/Config/ui.json +0 -8
  56. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/build.js +0 -6
  57. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/config.js +0 -12
  58. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/main.js +0 -29
  59. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/publish.js +0 -22
  60. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/repo.js +0 -20
  61. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/schema.js +0 -16
  62. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/utils.js +0 -26
  63. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/Builder/version.js +0 -25
  64. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/buildAndCopy.js +0 -166
  65. package/bin/v10/commands/template/express/ForFrontEnd/NonSecured/latestVersion.js +0 -38
  66. package/bin/v10/commands/template/express/ForFrontEnd/Secured/buildProtected.js +0 -108
  67. package/bin/v10/commands/template/express/ForFrontEnd/Secured/latestVersion.js +0 -38
  68. package/bin/v10/commands/template/express/app.js +0 -33
  69. package/bin/v10/commands/template/express/config.json +0 -4
  70. package/bin/v10/commands/template/express/package.json +0 -18
  71. package/bin/v10/commands/test.js +0 -36
  72. package/bin/v10/core/parseInput.js +0 -10
  73. package/bin/v10/core/resolveCommand.js +0 -14
  74. package/bin/v10/core/resolveFolderName.js +0 -17
  75. package/bin/v10/core/showUsage.js +0 -42
  76. package/bin/v10/start.js +0 -22
  77. package/bin/v8/commands/generateSamples.js +0 -25
  78. package/bin/v8/commands/init.js +0 -23
  79. package/bin/v8/commands/steps/announce.js +0 -3
  80. package/bin/v8/commands/steps/createProject.js +0 -6
  81. package/bin/v8/commands/steps/decideTemplate.js +0 -3
  82. package/bin/v8/commands/steps/locateDestination.js +0 -5
  83. package/bin/v8/commands/steps/locateSource.js +0 -14
  84. package/bin/v8/commands/template/baseTemplate.js +0 -11
  85. package/bin/v8/commands/template/basic/.vscode/launch.json +0 -12
  86. package/bin/v8/commands/template/basic/Config/Schemas/BillsTable.json +0 -165
  87. package/bin/v8/commands/template/basic/Config/Schemas/ItemsTable.json +0 -200
  88. package/bin/v8/commands/template/basic/Config/Schemas/LedgerNames.json +0 -50
  89. package/bin/v8/commands/template/basic/Config/Schemas/StockItems.json +0 -45
  90. package/bin/v8/commands/template/basic/Config/api.json +0 -8
  91. package/bin/v8/commands/template/basic/Config/schema.json +0 -8
  92. package/bin/v8/commands/template/basic/Config/ui.json +0 -8
  93. package/bin/v8/commands/template/basic/Data/BillsTable.json +0 -165
  94. package/bin/v8/commands/template/basic/Data/ItemsTable.json +0 -200
  95. package/bin/v8/commands/template/basic/Data/LedgerNames.json +0 -6
  96. package/bin/v8/commands/template/basic/Data/StockItems.json +0 -45
  97. package/bin/v8/commands/template/basic/app.js +0 -4
  98. package/bin/v8/commands/template/basic/config.json +0 -4
  99. package/bin/v8/commands/template/basic/package-lock.json +0 -21
  100. package/bin/v8/commands/template/basic/package.json +0 -13
  101. package/bin/v8/commands/template/basic/read.js +0 -8
  102. package/bin/v8/commands/template/basic/write.js +0 -8
  103. package/bin/v8/commands/template/express/.env +0 -8
  104. package/bin/v8/commands/template/express/.env.local +0 -7
  105. package/bin/v8/commands/template/express/.vscode/launch.json +0 -12
  106. package/bin/v8/commands/template/express/Config/Schemas/BillsTable.json +0 -166
  107. package/bin/v8/commands/template/express/Config/Schemas/ItemsTable.json +0 -206
  108. package/bin/v8/commands/template/express/Config/Schemas/LedgerNames.json +0 -50
  109. package/bin/v8/commands/template/express/Config/Schemas/StockItems.json +0 -45
  110. package/bin/v8/commands/template/express/Config/api.json +0 -8
  111. package/bin/v8/commands/template/express/Config/schema.json +0 -8
  112. package/bin/v8/commands/template/express/Config/ui.json +0 -8
  113. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/build.js +0 -6
  114. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/config.js +0 -12
  115. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/main.js +0 -29
  116. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/publish.js +0 -22
  117. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/repo.js +0 -20
  118. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/schema.js +0 -16
  119. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/utils.js +0 -26
  120. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/Builder/version.js +0 -25
  121. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/buildAndCopy.js +0 -166
  122. package/bin/v8/commands/template/express/ForFrontEnd/NonSecured/latestVersion.js +0 -38
  123. package/bin/v8/commands/template/express/ForFrontEnd/Secured/buildProtected.js +0 -108
  124. package/bin/v8/commands/template/express/ForFrontEnd/Secured/latestVersion.js +0 -38
  125. package/bin/v8/commands/template/express/app.js +0 -33
  126. package/bin/v8/commands/template/express/config.json +0 -4
  127. package/bin/v8/commands/template/express/package.json +0 -18
  128. package/bin/v8/commands/test.js +0 -36
  129. package/bin/v8/core/parseInput.js +0 -10
  130. package/bin/v8/core/resolveCommand.js +0 -12
  131. package/bin/v8/core/resolveFolderName.js +0 -17
  132. package/bin/v8/start.js +0 -23
  133. package/bin/v9/commands/generateSamples.js +0 -26
  134. package/bin/v9/commands/init.js +0 -23
  135. package/bin/v9/commands/steps/announce.js +0 -3
  136. package/bin/v9/commands/steps/createProject.js +0 -6
  137. package/bin/v9/commands/steps/decideTemplate.js +0 -3
  138. package/bin/v9/commands/steps/locateDestination.js +0 -5
  139. package/bin/v9/commands/steps/locateSource.js +0 -14
  140. package/bin/v9/commands/template/baseTemplate.js +0 -11
  141. package/bin/v9/commands/template/basic/.vscode/launch.json +0 -12
  142. package/bin/v9/commands/template/basic/Config/Schemas/BillsTable.json +0 -165
  143. package/bin/v9/commands/template/basic/Config/Schemas/ItemsTable.json +0 -200
  144. package/bin/v9/commands/template/basic/Config/Schemas/LedgerNames.json +0 -50
  145. package/bin/v9/commands/template/basic/Config/Schemas/StockItems.json +0 -45
  146. package/bin/v9/commands/template/basic/Config/api.json +0 -8
  147. package/bin/v9/commands/template/basic/Config/schema.json +0 -8
  148. package/bin/v9/commands/template/basic/Config/ui.json +0 -8
  149. package/bin/v9/commands/template/basic/Data/BillsTable.json +0 -165
  150. package/bin/v9/commands/template/basic/Data/ItemsTable.json +0 -200
  151. package/bin/v9/commands/template/basic/Data/LedgerNames.json +0 -6
  152. package/bin/v9/commands/template/basic/Data/StockItems.json +0 -45
  153. package/bin/v9/commands/template/basic/app.js +0 -4
  154. package/bin/v9/commands/template/basic/config.json +0 -4
  155. package/bin/v9/commands/template/basic/package-lock.json +0 -21
  156. package/bin/v9/commands/template/basic/package.json +0 -13
  157. package/bin/v9/commands/template/basic/read.js +0 -8
  158. package/bin/v9/commands/template/basic/write.js +0 -8
  159. package/bin/v9/commands/template/express/.env +0 -8
  160. package/bin/v9/commands/template/express/.env.local +0 -7
  161. package/bin/v9/commands/template/express/.vscode/launch.json +0 -12
  162. package/bin/v9/commands/template/express/Config/Schemas/BillsTable.json +0 -166
  163. package/bin/v9/commands/template/express/Config/Schemas/ItemsTable.json +0 -206
  164. package/bin/v9/commands/template/express/Config/Schemas/LedgerNames.json +0 -50
  165. package/bin/v9/commands/template/express/Config/Schemas/StockItems.json +0 -45
  166. package/bin/v9/commands/template/express/Config/api.json +0 -8
  167. package/bin/v9/commands/template/express/Config/schema.json +0 -8
  168. package/bin/v9/commands/template/express/Config/ui.json +0 -8
  169. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/build.js +0 -6
  170. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/config.js +0 -12
  171. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/main.js +0 -29
  172. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/publish.js +0 -22
  173. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/repo.js +0 -20
  174. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/schema.js +0 -16
  175. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/utils.js +0 -26
  176. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/Builder/version.js +0 -25
  177. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/buildAndCopy.js +0 -166
  178. package/bin/v9/commands/template/express/ForFrontEnd/NonSecured/latestVersion.js +0 -38
  179. package/bin/v9/commands/template/express/ForFrontEnd/Secured/buildProtected.js +0 -108
  180. package/bin/v9/commands/template/express/ForFrontEnd/Secured/latestVersion.js +0 -38
  181. package/bin/v9/commands/template/express/app.js +0 -33
  182. package/bin/v9/commands/template/express/config.json +0 -4
  183. package/bin/v9/commands/template/express/package.json +0 -18
  184. package/bin/v9/commands/test.js +0 -36
  185. package/bin/v9/core/parseInput.js +0 -10
  186. package/bin/v9/core/resolveCommand.js +0 -14
  187. package/bin/v9/core/resolveFolderName.js +0 -17
  188. package/bin/v9/start.js +0 -63
@@ -1,38 +0,0 @@
1
- import fs from "fs";
2
-
3
- const PREFIX = "V";
4
- const ENV_FILE = ".env";
5
-
6
- /* -------- STEP 1: GET NEXT VERSION -------- */
7
- const dirs = fs.readdirSync("./", { withFileTypes: true })
8
- .filter(d => d.isDirectory() && d.name.startsWith(PREFIX));
9
-
10
- let max = 0;
11
-
12
- dirs.forEach(d => {
13
- const num = parseInt(d.name.replace(PREFIX, ""), 10);
14
- if (!isNaN(num) && num > max) max = num;
15
- });
16
-
17
- const latestVersion = `${PREFIX}${max}`;
18
- console.log("Next Version:", latestVersion);
19
-
20
- /* -------- STEP 2: UPDATE .env -------- */
21
- let envContent = "";
22
-
23
- if (fs.existsSync(ENV_FILE)) {
24
- envContent = fs.readFileSync(ENV_FILE, "utf8")
25
- .split("\n")
26
- .map(line =>
27
- line.startsWith("VERSION=")
28
- ? `VERSION=${latestVersion}`
29
- : line
30
- )
31
- .join("\n");
32
- } else {
33
- envContent = `VERSION=${latestVersion}\n`;
34
- };
35
-
36
- fs.writeFileSync(ENV_FILE, envContent);
37
-
38
- console.log(".env updated successfully ✔");
@@ -1,108 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
-
4
- import { execSync } from "child_process";
5
-
6
- /* ================= CONFIG ================= */
7
- const PUBLIC_DIR = "Public";
8
- const VERSION_PREFIX = "V";
9
- const SCHEMA_DIR = "ui.json";
10
- const COMMON_REPO = "VoltUiGulpV1";
11
- const COMMON_REPO_GIT = `https://github.com/keshavsoft/${COMMON_REPO}`;
12
- const COMMON_REPO_PATH = path.join("..", COMMON_REPO);
13
- /* ========================================== */
14
-
15
- function run(cmd, cwd = process.cwd()) {
16
- console.log(`> ${cmd}`);
17
- execSync(cmd, { stdio: "inherit", cwd });
18
- }
19
-
20
- /* ---------- STEP 1: GET NEXT VERSION ---------- */
21
- let max = 0;
22
-
23
- if (fs.existsSync(PUBLIC_DIR)) {
24
- fs.readdirSync(PUBLIC_DIR, { withFileTypes: true })
25
- .filter(d => d.isDirectory() && d.name.startsWith(VERSION_PREFIX))
26
- .forEach(d => {
27
- const n = parseInt(d.name.replace(VERSION_PREFIX, ""), 10);
28
- if (!isNaN(n) && n > max) max = n;
29
- });
30
- };
31
-
32
- const nextVersion = `${VERSION_PREFIX}${max + 1}`;
33
- console.log("Next Version:", nextVersion);
34
-
35
- const versionPath = path.join(PUBLIC_DIR, nextVersion);
36
- fs.mkdirSync(versionPath, { recursive: true });
37
-
38
- /* ---------- STEP 2: CLONE COMMON REPO ---------- */
39
- if (!fs.existsSync(COMMON_REPO_PATH)) {
40
- console.log(`${COMMON_REPO} not found. Cloning...`);
41
- run(`git clone ${COMMON_REPO_GIT} ${COMMON_REPO_PATH}`);
42
- }
43
-
44
- /* ---------- STEP 3: INSTALL DEPENDENCIES ---------- */
45
- if (!fs.existsSync(path.join(COMMON_REPO_PATH, "node_modules"))) {
46
- console.log("node_modules not found. Running npm install...");
47
- run("npm install", COMMON_REPO_PATH);
48
- }
49
-
50
- /* ---------- STEP 4: COPY .env ---------- */
51
- if (fs.existsSync(".env")) {
52
- fs.copyFileSync(".env", path.join(COMMON_REPO_PATH, ".env"));
53
- }
54
-
55
- /* ---------- STEP 5: PROCESS SCHEMAS ---------- */
56
- const uiJson = fs.readFileSync(SCHEMA_DIR);
57
- const uiJsonParsed = JSON.parse(uiJson);
58
-
59
- uiJsonParsed.Tables.forEach(schemaFile => {
60
- const schemaName = path.parse(schemaFile).name;
61
- console.log(`\nProcessing ${schemaFile}`);
62
-
63
- /* Copy schema */
64
- fs.copyFileSync(
65
- path.join("Schemas", `${schemaFile}.json`),
66
- path.join(COMMON_REPO_PATH, "schema.json")
67
- );
68
-
69
- /* Build */
70
- run("npm run NonSec", COMMON_REPO_PATH);
71
-
72
- /* Target dirs */
73
- const targetDir = path.join(versionPath, schemaName);
74
- const protectedDir = path.join(targetDir, "UnProtected");
75
-
76
- fs.mkdirSync(protectedDir, { recursive: true });
77
-
78
- /* Copy dist */
79
- copyRecursive(
80
- path.join(COMMON_REPO_PATH, "dist"),
81
- protectedDir
82
- );
83
-
84
- /* Copy menu */
85
- fs.copyFileSync(
86
- path.join(COMMON_REPO_PATH, "Menu", "index.html"),
87
- path.join(targetDir, "index.html")
88
- );
89
-
90
- console.log(`Done with ${schemaFile}`);
91
- });
92
-
93
- console.log("\n✔ All schemas processed successfully");
94
-
95
- /* ---------- UTIL ---------- */
96
- function copyRecursive(src, dest) {
97
- fs.readdirSync(src, { withFileTypes: true }).forEach(entry => {
98
- const srcPath = path.join(src, entry.name);
99
- const destPath = path.join(dest, entry.name);
100
-
101
- if (entry.isDirectory()) {
102
- fs.mkdirSync(destPath, { recursive: true });
103
- copyRecursive(srcPath, destPath);
104
- } else {
105
- fs.copyFileSync(srcPath, destPath);
106
- }
107
- });
108
- };
@@ -1,38 +0,0 @@
1
- import fs from "fs";
2
-
3
- const PREFIX = "V";
4
- const ENV_FILE = ".env";
5
-
6
- /* -------- STEP 1: GET NEXT VERSION -------- */
7
- const dirs = fs.readdirSync("./", { withFileTypes: true })
8
- .filter(d => d.isDirectory() && d.name.startsWith(PREFIX));
9
-
10
- let max = 0;
11
-
12
- dirs.forEach(d => {
13
- const num = parseInt(d.name.replace(PREFIX, ""), 10);
14
- if (!isNaN(num) && num > max) max = num;
15
- });
16
-
17
- const latestVersion = `${PREFIX}${max}`;
18
- console.log("Next Version:", latestVersion);
19
-
20
- /* -------- STEP 2: UPDATE .env -------- */
21
- let envContent = "";
22
-
23
- if (fs.existsSync(ENV_FILE)) {
24
- envContent = fs.readFileSync(ENV_FILE, "utf8")
25
- .split("\n")
26
- .map(line =>
27
- line.startsWith("VERSION=")
28
- ? `VERSION=${latestVersion}`
29
- : line
30
- )
31
- .join("\n");
32
- } else {
33
- envContent = `VERSION=${latestVersion}\n`;
34
- };
35
-
36
- fs.writeFileSync(ENV_FILE, envContent);
37
-
38
- console.log(".env updated successfully ✔");
@@ -1,33 +0,0 @@
1
- import { kschema } from "@keshavsoft/kschema";
2
- import consfigJson from './config.json' with { type: 'json' };
3
-
4
- kschema.loadConfig(consfigJson);
5
-
6
- import express from 'express';
7
- import http from 'http';
8
-
9
- const app = express();
10
- const server = http.createServer(app);
11
-
12
- var port = normalizePort(process.env.PORT || 3000);
13
-
14
- app.use(express.static('Public'));
15
-
16
- function normalizePort(val) {
17
- var port = parseInt(val, 10);
18
-
19
- if (isNaN(port)) {
20
- return val;
21
- }
22
-
23
- if (port >= 0) {
24
- return port;
25
- }
26
-
27
- return false;
28
- };
29
-
30
- server.listen(port, () => {
31
- console.log(`Example app listening on port ${port}`);
32
- console.log(`Open here http://localhost:${port}`);
33
- });
@@ -1,4 +0,0 @@
1
- {
2
- "DataPath": "Data",
3
- "SchemaPath": "Config/Schemas"
4
- }
@@ -1,18 +0,0 @@
1
- {
2
- "name": "KeshavSoft",
3
- "version": "1.7.1",
4
- "description": "",
5
- "main": "app.js",
6
- "type": "module",
7
- "scripts": {
8
- "test": "echo \"Error: no test specified\" && exit 1",
9
- "start": "node --env-file=.env app.js"
10
- },
11
- "author": "",
12
- "license": "ISC",
13
- "dependencies": {
14
- "@keshavsoft/kschema": "^1.6.1",
15
- "body-parser": "^2.2.0",
16
- "express": "^5.1.0"
17
- }
18
- }
@@ -1,36 +0,0 @@
1
- // commands/test.js
2
-
3
- import fs from "fs";
4
- import path from "path";
5
-
6
- export default (arg) => {
7
- const projectPath = arg
8
- ? path.resolve(process.cwd(), arg)
9
- : process.cwd();
10
-
11
- // 1. Check folder exists
12
- if (!fs.existsSync(projectPath)) {
13
- console.log("Invalid path");
14
- return;
15
- }
16
-
17
- // 2. Check required structure
18
- const hasConfigJson = fs.existsSync(
19
- path.join(projectPath, "config.json")
20
- );
21
-
22
- const hasConfigFolder = fs.existsSync(
23
- path.join(projectPath, "Config")
24
- );
25
-
26
- const hasSchemasFolder = fs.existsSync(
27
- path.join(projectPath, "Config", "Schemas")
28
- );
29
-
30
- // 3. Final decision
31
- if (hasConfigJson && hasConfigFolder && hasSchemasFolder) {
32
- console.log("Already initialized");
33
- } else {
34
- console.log("Not initialized");
35
- }
36
- };
@@ -1,10 +0,0 @@
1
- export default function parseInput() {
2
- const [cmd, ...args] = process.argv.slice(2);
3
-
4
- return {
5
- cmd: cmd || null,
6
- args,
7
- template: cmd || null,
8
- folderName: args[0] || null,
9
- };
10
- };
@@ -1,12 +0,0 @@
1
- import init from "../commands/init.js";
2
- import test from "../commands/test.js";
3
- // import generateSamples from "../commands/generateSamples.js";
4
-
5
- const map = {
6
- init,
7
- test
8
- };
9
-
10
- export default function resolveCommand(cmd) {
11
- return map[cmd] || null;
12
- };
@@ -1,17 +0,0 @@
1
- import fs from "fs";
2
-
3
- export default function resolveFolderName({ name }) {
4
- const defaultFolerName = `keshavsoft-basic-${Date.now()}`;
5
-
6
- // case 1: force new → timestamp
7
- if (name === null) {
8
- name = defaultFolerName;
9
- };
10
-
11
- // case 2: user provided → strict
12
- if (fs.existsSync(name)) {
13
- throw new Error(`Folder already exists: ${name}`);
14
- };
15
-
16
- return name;
17
- };
package/bin/v8/start.js DELETED
@@ -1,23 +0,0 @@
1
- import parseInput from "./core/parseInput.js";
2
- import resolveCommand from "./core/resolveCommand.js";
3
-
4
- const run = async () => {
5
- const input = parseInput();
6
-
7
- if (!input.cmd) {
8
- console.log("Usage: kschema <init|test> [args]");
9
- return;
10
- }
11
-
12
- const command = resolveCommand(input.cmd);
13
-
14
- if (!command) {
15
- console.log(`Unknown command: ${input.cmd}`);
16
- console.log("Usage: kschema <init|test> [args]");
17
- return;
18
- };
19
-
20
- await command(input);
21
- };
22
-
23
- export default run;
@@ -1,26 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
-
4
- import { exampleSchema } from "@keshavsoft/kschema";
5
- import { baseTemplate } from "./template/baseTemplate.js";
6
-
7
- export default ({ args }) => {
8
- const OUTPUT_DIR = path.resolve(process.cwd(), "samples");
9
-
10
- if (!fs.existsSync(OUTPUT_DIR)) {
11
- fs.mkdirSync(OUTPUT_DIR, { recursive: true });
12
- };
13
-
14
- Object.entries(exampleSchema).forEach(([intent, methods]) => {
15
- Object.entries(methods).forEach(([key, meta]) => {
16
- if (Array.isArray(meta)) {
17
- const finalCode = baseTemplate({
18
- body: meta.join("\r\n"),
19
- inTableName: args[0]
20
- });
21
-
22
- fs.writeFileSync(path.join(OUTPUT_DIR, `${intent}_${key}.js`), finalCode);
23
- };
24
- });
25
- });
26
- };
@@ -1,23 +0,0 @@
1
- import { decideTemplate } from "./steps/decideTemplate.js";
2
-
3
- import { locateSource } from "./steps/locateSource.js";
4
- import { locateDestination } from "./steps/locateDestination.js";
5
- import { createProject } from "./steps/createProject.js";
6
- import { announce } from "./steps/announce.js";
7
-
8
- import resolveFolderName from "../core/resolveFolderName.js";
9
-
10
- export default ({ template, folderName }) => {
11
- const finalTemplate = decideTemplate({ inTemplate: template });
12
-
13
- const resolvedFolderName = resolveFolderName({
14
- name: folderName
15
- });
16
-
17
- const source = locateSource({ template: finalTemplate });
18
- const destination = locateDestination({ inResolvedFolderName: resolvedFolderName });
19
-
20
- createProject({ source, destination });
21
-
22
- announce({ inResolvedFolderName: resolvedFolderName });
23
- };
@@ -1,3 +0,0 @@
1
- export const announce = ({ inResolvedFolderName }) => {
2
- console.log(`[keshavsoft] Project created: ${inResolvedFolderName}`);
3
- };
@@ -1,6 +0,0 @@
1
- import fs from "fs";
2
-
3
- export const createProject = ({ source, destination }) => {
4
- fs.mkdirSync(destination, { recursive: true });
5
- fs.cpSync(source, destination, { recursive: true });
6
- };
@@ -1,3 +0,0 @@
1
- export const decideTemplate = ({ inTemplate }) => {
2
- return inTemplate || "basic";
3
- };
@@ -1,5 +0,0 @@
1
- import path from "path";
2
-
3
- export const locateDestination = ({ inResolvedFolderName }) => {
4
- return path.join(process.cwd(), inResolvedFolderName);
5
- };
@@ -1,14 +0,0 @@
1
- import path from "path";
2
- import { fileURLToPath } from "url";
3
-
4
- const __filename = fileURLToPath(import.meta.url);
5
- const __dirname = path.dirname(__filename);
6
-
7
- export const locateSource = ({ template }) => {
8
- return path.join(
9
- __dirname,
10
- "..",
11
- "template",
12
- template === "express" ? "express" : "basic"
13
- );
14
- };
@@ -1,11 +0,0 @@
1
- export const baseTemplate = ({ body, inTableName = "SampleTable" }) => `
2
- import { kschema } from "@keshavsoft/kschema";
3
-
4
- import configJson from "../config.json" with { type: "json" };
5
-
6
- kschema.loadConfig(configJson);
7
-
8
- const table = kschema.table("${inTableName}");
9
-
10
- ${body}
11
- `;
@@ -1,12 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "type": "node",
6
- "request": "launch",
7
- "name": "Debug App",
8
- "program": "${workspaceFolder}/app.js",
9
- "envFile": "${workspaceFolder}/.env"
10
- }
11
- ]
12
- }
@@ -1,165 +0,0 @@
1
- {
2
- "tableName": "BillsTable",
3
- "columns": [
4
- {
5
- "field": "LedgerName",
6
- "title": "LedgerName",
7
- "type": "text",
8
- "isInput": false,
9
- "isAutoFocus": true,
10
- "WidthOptions": {
11
- "inPx": 200
12
- },
13
- "defaultvalue": "Keshav",
14
- "isDataList": true,
15
- "dataListId": "LedgerNames",
16
- "isConsider": true
17
- },
18
- {
19
- "field": "LedgerParentName",
20
- "title": "LedgerParentName",
21
- "type": "text",
22
- "isInput": true,
23
- "WidthOptions": {
24
- "inPx": 200
25
- },
26
- "isConsider": true,
27
- "showInUi": false
28
- },
29
- {
30
- "field": "LedgerGST",
31
- "title": "LedgerGST",
32
- "type": "text",
33
- "isInput": true,
34
- "isAutoFocus": true,
35
- "WidthOptions": {
36
- "inPx": 200
37
- },
38
- "isConsider": true,
39
- "showInUi": false
40
- },
41
- {
42
- "field": "InvoiceNo",
43
- "title": "InvoiceNo",
44
- "type": "number",
45
- "isInput": true,
46
- "WidthOptions": {
47
- "inPx": 200
48
- },
49
- "isConsider": true
50
- },
51
- {
52
- "field": "InvoiceDate",
53
- "title": "InvoiceDate",
54
- "isDate": true,
55
- "type": "date",
56
- "WidthOptions": {
57
- "inPx": 200
58
- },
59
- "defaultvalue": "today",
60
- "isConsider": true
61
- },
62
- {
63
- "field": "InvoiceStateCode",
64
- "title": "InvoiceStateCode",
65
- "defaultvalue": "37",
66
- "isInput": true,
67
- "WidthOptions": {
68
- "inPx": 200
69
- },
70
- "isConsider": true,
71
- "showInUi": false
72
- },
73
- {
74
- "field": "pk",
75
- "title": "pk",
76
- "primary": true
77
- }
78
- ],
79
- "data": [],
80
- "Vertical": [
81
- {
82
- "field": "LedgerName",
83
- "title": "LedgerName",
84
- "type": "text",
85
- "isInput": false,
86
- "isAutoFocus": true,
87
- "WidthOptions": {
88
- "inPx": 200
89
- },
90
- "defaultvalue": "Keshav",
91
- "isDataList": true,
92
- "dataListId": "LedgerNames"
93
- },
94
- {
95
- "field": "LedgerParentName",
96
- "title": "LedgerParentName",
97
- "type": "text",
98
- "isInput": true,
99
- "WidthOptions": {
100
- "inPx": 200
101
- }
102
- },
103
- {
104
- "field": "LedgerGST",
105
- "title": "LedgerGST",
106
- "type": "text",
107
- "isInput": true,
108
- "isAutoFocus": true,
109
- "WidthOptions": {
110
- "inPx": 200
111
- }
112
- },
113
- {
114
- "field": "InvoiceNo",
115
- "title": "InvoiceNo",
116
- "type": "number",
117
- "isInput": true,
118
- "WidthOptions": {
119
- "inPx": 200
120
- }
121
- },
122
- {
123
- "field": "InvoiceDate",
124
- "title": "InvoiceDate",
125
- "isDate": true,
126
- "type": "date",
127
- "WidthOptions": {
128
- "inPx": 200
129
- },
130
- "defaultvalue": "today"
131
- },
132
- {
133
- "field": "InvoiceStateCode",
134
- "title": "InvoiceStateCode",
135
- "defaultvalue": "37",
136
- "isInput": true,
137
- "WidthOptions": {
138
- "inPx": 200
139
- }
140
- }
141
- ],
142
- "DataTableOptions": {
143
- "Header": {
144
- "autoFocus": "LedgerName"
145
- }
146
- },
147
- "ForeignkeyTables": [
148
- "ItemsTable"
149
- ],
150
- "DependantTables": [
151
- "LedgerNames"
152
- ],
153
- "NonSecured": {
154
- "SubRoutes": [
155
- "ShowAll",
156
- "Insert",
157
- "Find",
158
- "InsertAndReturnPk",
159
- "FindWithForeignData",
160
- "InsertToTally"
161
- ]
162
- },
163
- "PrimarykeyTableNames": [],
164
- "PrimarykeyTables": []
165
- }