@keshavsoft/kschema-cli 1.12.11 → 1.12.13

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 (41) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/v12/commands/express/steps/locateSource.js +3 -1
  3. package/bin/v12/commands/express/template/v4/.env +8 -0
  4. package/bin/v12/commands/express/template/v4/.env.local +7 -0
  5. package/bin/v12/commands/express/template/v4/.vscode/launch.json +12 -0
  6. package/bin/v12/commands/express/template/v4/Config/Schemas/BillsTable.json +165 -0
  7. package/bin/v12/commands/express/template/v4/Config/Schemas/ItemsTable.json +200 -0
  8. package/bin/v12/commands/express/template/v4/Config/Schemas/LedgerNames.json +60 -0
  9. package/bin/v12/commands/express/template/v4/Config/Schemas/StockItems.json +50 -0
  10. package/bin/v12/commands/express/template/v4/Config/api.json +8 -0
  11. package/bin/v12/commands/express/template/v4/Config/schema.json +8 -0
  12. package/bin/v12/commands/express/template/v4/Config/ui.json +8 -0
  13. package/bin/v12/commands/express/template/v4/Public/index.html +129 -0
  14. package/bin/v12/commands/express/template/v4/app.js +12 -0
  15. package/bin/v12/commands/express/template/v4/config.json +4 -0
  16. package/bin/v12/commands/express/template/v4/configLoader.js +6 -0
  17. package/bin/v12/commands/express/template/v4/package-lock.json +834 -0
  18. package/bin/v12/commands/express/template/v4/package.json +18 -0
  19. package/bin/v12/commands/express/template/v4/port.js +6 -0
  20. package/bin/v12/commands/express/template/v4/routes.js +5 -0
  21. package/bin/v12/commands/express/template/v4/server.js +11 -0
  22. package/bin/v12/commands/express/template/v5/.env +9 -0
  23. package/bin/v12/commands/express/template/v5/.env.local +7 -0
  24. package/bin/v12/commands/express/template/v5/.vscode/launch.json +12 -0
  25. package/bin/v12/commands/express/template/v5/Config/Schemas/BillsTable.json +165 -0
  26. package/bin/v12/commands/express/template/v5/Config/Schemas/ItemsTable.json +200 -0
  27. package/bin/v12/commands/express/template/v5/Config/Schemas/LedgerNames.json +60 -0
  28. package/bin/v12/commands/express/template/v5/Config/Schemas/StockItems.json +50 -0
  29. package/bin/v12/commands/express/template/v5/Config/api.json +8 -0
  30. package/bin/v12/commands/express/template/v5/Config/schema.json +8 -0
  31. package/bin/v12/commands/express/template/v5/Config/ui.json +8 -0
  32. package/bin/v12/commands/express/template/v5/Public/index.html +129 -0
  33. package/bin/v12/commands/express/template/v5/app.js +19 -0
  34. package/bin/v12/commands/express/template/v5/config.json +4 -0
  35. package/bin/v12/commands/express/template/v5/configLoader.js +6 -0
  36. package/bin/v12/commands/express/template/v5/package-lock.json +834 -0
  37. package/bin/v12/commands/express/template/v5/package.json +18 -0
  38. package/bin/v12/commands/express/template/v5/port.js +6 -0
  39. package/bin/v12/commands/express/template/v5/routes.js +5 -0
  40. package/bin/v12/commands/express/template/v5/server.js +13 -0
  41. package/package.json +1 -1
package/bin/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import getLatestVersion from "./core/getLatestVersion.js";
4
4
  import loadRunner from "./core/loadRunner.js";
@@ -4,11 +4,13 @@ import { fileURLToPath } from "url";
4
4
  const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = path.dirname(__filename);
6
6
 
7
+ const sourceVersion = "v5";
8
+
7
9
  export const locateSource = () => {
8
10
  return path.join(
9
11
  __dirname,
10
12
  "..",
11
13
  "template",
12
- "v3"
14
+ sourceVersion
13
15
  );
14
16
  };
@@ -0,0 +1,8 @@
1
+ DataPath=Data
2
+ PORT=3000
3
+ VERSION= V3
4
+ TimeSpan=20
5
+ RepoType="GenWMailAndWs"
6
+ TablePath=Data/Ledgers.json
7
+ SchemaPath=Config/Schemas
8
+ KSSource=ConfigJson
@@ -0,0 +1,7 @@
1
+ DataPath=Data
2
+ PORT=3000
3
+ VERSION= V3
4
+ TimeSpan=20
5
+ RepoType="GenWMailAndWs"
6
+ TablePath=Data/Ledgers.json
7
+ SchemaPath=Config/Schemas
@@ -0,0 +1,12 @@
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
+ }
@@ -0,0 +1,165 @@
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
+ }
@@ -0,0 +1,200 @@
1
+ {
2
+ "tableName": "ItemsTable",
3
+ "columns": [
4
+ {
5
+ "field": "StockItemName",
6
+ "title": "StockItemName",
7
+ "unique": false,
8
+ "type": "text",
9
+ "isInput": false,
10
+ "isAutoFocus": true,
11
+ "WidthOptions": {
12
+ "inPx": 300
13
+ },
14
+ "isDataList": true,
15
+ "dataListId": "StockItems",
16
+ "isConsider": true,
17
+ "showInUi": true
18
+ },
19
+ {
20
+ "field": "Rate",
21
+ "title": "Rate",
22
+ "unique": false,
23
+ "type": "number",
24
+ "isNumber": true,
25
+ "ShowTotal": false,
26
+ "footerFormatter": "",
27
+ "showRupee": true,
28
+ "align": "right",
29
+ "WidthOptions": {
30
+ "inPx": 250
31
+ },
32
+ "isConsider": true,
33
+ "showInUi": true
34
+ },
35
+ {
36
+ "field": "Qty",
37
+ "title": "Qty",
38
+ "unique": false,
39
+ "type": "number",
40
+ "isNumber": true,
41
+ "ShowTotal": true,
42
+ "footerFormatter": "TotalFormatter",
43
+ "showRupee": false,
44
+ "WidthOptions": {
45
+ "inPx": 200
46
+ },
47
+ "isConsider": true,
48
+ "showInUi": true
49
+ },
50
+ {
51
+ "field": "Amount",
52
+ "title": "Amount",
53
+ "unique": false,
54
+ "type": "number",
55
+ "isNumber": true,
56
+ "ShowTotal": true,
57
+ "footerFormatter": "TotalFormatter",
58
+ "enterCal": "Rate*Qty",
59
+ "showRupee": true,
60
+ "align": "right",
61
+ "WidthOptions": {
62
+ "inPx": 250
63
+ },
64
+ "isConsider": true,
65
+ "showInUi": false
66
+ },
67
+ {
68
+ "field": "TaxPer",
69
+ "title": "TaxPer",
70
+ "unique": false,
71
+ "type": "number",
72
+ "isNumber": true,
73
+ "defaultvalue": 18,
74
+ "isConsider": true,
75
+ "showInUi": true
76
+ },
77
+ {
78
+ "field": "Uom",
79
+ "title": "Uom",
80
+ "unique": false,
81
+ "type": "number",
82
+ "isNumber": true,
83
+ "defaultvalue": 18,
84
+ "isConsider": true,
85
+ "showInUi": true
86
+ },
87
+ {
88
+ "field": "ParentPk",
89
+ "title": "ParentPk",
90
+ "unique": false,
91
+ "isConsider": true,
92
+ "showInUi": true
93
+ },
94
+ {
95
+ "field": "pk",
96
+ "title": "pk",
97
+ "primary": true
98
+ }
99
+ ],
100
+ "data": [],
101
+ "Vertical": [
102
+ {
103
+ "field": "StockItemName",
104
+ "title": "StockItemName",
105
+ "unique": false,
106
+ "type": "text",
107
+ "isInput": false,
108
+ "isAutoFocus": true,
109
+ "WidthOptions": {
110
+ "inPx": 300
111
+ },
112
+ "isDataList": true,
113
+ "dataListId": "StockItems"
114
+ },
115
+ {
116
+ "field": "Rate",
117
+ "title": "Rate",
118
+ "unique": false,
119
+ "type": "number",
120
+ "isNumber": true,
121
+ "ShowTotal": false,
122
+ "footerFormatter": "",
123
+ "showRupee": true,
124
+ "align": "right",
125
+ "WidthOptions": {
126
+ "inPx": 250
127
+ }
128
+ },
129
+ {
130
+ "field": "Qty",
131
+ "title": "Qty",
132
+ "unique": false,
133
+ "type": "number",
134
+ "isNumber": true,
135
+ "ShowTotal": true,
136
+ "footerFormatter": "TotalFormatter",
137
+ "showRupee": false,
138
+ "WidthOptions": {
139
+ "inPx": 200
140
+ }
141
+ },
142
+ {
143
+ "field": "Amount",
144
+ "title": "Amount",
145
+ "unique": false,
146
+ "type": "number",
147
+ "isNumber": true,
148
+ "ShowTotal": true,
149
+ "footerFormatter": "TotalFormatter",
150
+ "showRupee": true,
151
+ "align": "right",
152
+ "WidthOptions": {
153
+ "inPx": 250
154
+ }
155
+ },
156
+ {
157
+ "field": "TaxPer",
158
+ "title": "TaxPer",
159
+ "unique": false,
160
+ "type": "number",
161
+ "isNumber": true,
162
+ "defaultvalue": 18,
163
+ "isConsider": true,
164
+ "showInUi": true
165
+ },
166
+ {
167
+ "field": "Uom",
168
+ "title": "Uom",
169
+ "unique": false,
170
+ "type": "number",
171
+ "isNumber": true,
172
+ "defaultvalue": 18,
173
+ "isConsider": true,
174
+ "showInUi": true
175
+ }
176
+ ],
177
+ "DataTableOptions": {
178
+ "Header": {
179
+ "autoFocus": "StockItemName"
180
+ }
181
+ },
182
+ "NonSecured": {
183
+ "SubRoutes": [
184
+ "ShowAll",
185
+ "Insert",
186
+ "InsertAndReturnPk",
187
+ "InsertWithDefaults"
188
+ ]
189
+ },
190
+ "DependantTables": [
191
+ "StockItems"
192
+ ],
193
+ "ForeignkeyTables": [
194
+ "BillsTable"
195
+ ],
196
+ "PrimarykeyTableNames": [
197
+ "BillsTable"
198
+ ],
199
+ "PrimarykeyTables": []
200
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "tableName": "LedgerNames",
3
+ "columns": [
4
+ {
5
+ "field": "LedgerName",
6
+ "title": "LedgerName",
7
+ "unique": true,
8
+ "type": "text",
9
+ "isInput": true,
10
+ "isAutoFocus": true,
11
+ "defaultvalue": "KeshavSoft",
12
+ "isConsider": true
13
+ },
14
+ {
15
+ "field": "LedgerParentName",
16
+ "title": "LedgerParentName",
17
+ "type": "text",
18
+ "isInput": true,
19
+ "isConsider": true
20
+ },
21
+ {
22
+ "field": "LedgerType",
23
+ "title": "LedgerType",
24
+ "type": "text",
25
+ "isInput": true,
26
+ "isConsider": true
27
+ },
28
+ {
29
+ "field": "pk",
30
+ "title": "pk",
31
+ "primary": true
32
+ },
33
+ {
34
+ "field": "GstRegistrationType",
35
+ "title": "GstRegistrationType",
36
+ "isConsider": true
37
+ },
38
+ {
39
+ "field": "PartyGSTIN",
40
+ "title": "PartyGSTIN",
41
+ "isConsider": true
42
+ }
43
+ ],
44
+ "data": [],
45
+ "Vertical": [],
46
+ "DataTableOptions": {
47
+ "Header": {
48
+ "autoFocus": "LedgerName"
49
+ }
50
+ },
51
+ "NonSecured": {
52
+ "SubRoutes": [
53
+ "ShowAll",
54
+ "Insert",
55
+ "Pipe"
56
+ ]
57
+ },
58
+ "PrimarykeyTableNames": [],
59
+ "PrimarykeyTables": []
60
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "tableName": "StockItems",
3
+ "columns": [
4
+ {
5
+ "field": "StockItemName",
6
+ "title": "StockItemName",
7
+ "unique": true,
8
+ "type": "text",
9
+ "isInput": true,
10
+ "isAutoFocus": true,
11
+ "defaultvalue": "KeshavSoft",
12
+ "isConsider": true
13
+ },
14
+ {
15
+ "field": "StockItemReservedName",
16
+ "title": "StockItemReservedName",
17
+ "type": "text",
18
+ "isInput": true,
19
+ "isConsider": true
20
+ },
21
+ {
22
+ "field": "StockItemType",
23
+ "title": "StockItemType",
24
+ "type": "text",
25
+ "isInput": true,
26
+ "isConsider": true
27
+ },
28
+ {
29
+ "field": "pk",
30
+ "title": "pk",
31
+ "primary": true
32
+ }
33
+ ],
34
+ "data": [],
35
+ "Vertical": [],
36
+ "DataTableOptions": {
37
+ "Header": {
38
+ "autoFocus": "StockItemName"
39
+ }
40
+ },
41
+ "NonSecured": {
42
+ "SubRoutes": [
43
+ "ShowAll",
44
+ "Pipe",
45
+ "Insert"
46
+ ]
47
+ },
48
+ "PrimarykeyTableNames": [],
49
+ "PrimarykeyTables": []
50
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Tables": [
3
+ "BillsTable",
4
+ "ItemsTable",
5
+ "LedgerNames",
6
+ "StockItems"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Tables": [
3
+ "BillsTable",
4
+ "ItemsTable",
5
+ "LedgerNames",
6
+ "StockItems"
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Tables": [
3
+ "BillsTable",
4
+ "ItemsTable",
5
+ "LedgerNames",
6
+ "StockItems"
7
+ ]
8
+ }
@@ -0,0 +1,129 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>KeshavSoft</title>
8
+
9
+ <style>
10
+ body {
11
+ margin: 0;
12
+ font-family: Arial, sans-serif;
13
+ background: #0f172a;
14
+ color: #e2e8f0;
15
+ }
16
+
17
+ header {
18
+ background: #1e293b;
19
+ padding: 20px;
20
+ text-align: center;
21
+ }
22
+
23
+ header h1 {
24
+ margin: 0;
25
+ color: #38bdf8;
26
+ }
27
+
28
+ header p {
29
+ margin: 5px 0 0;
30
+ color: #94a3b8;
31
+ }
32
+
33
+ .container {
34
+ padding: 40px 20px;
35
+ max-width: 900px;
36
+ margin: auto;
37
+ }
38
+
39
+ .card {
40
+ background: #1e293b;
41
+ padding: 20px;
42
+ margin-bottom: 20px;
43
+ border-radius: 10px;
44
+ transition: 0.3s;
45
+ }
46
+
47
+ .card:hover {
48
+ transform: translateY(-5px);
49
+ background: #334155;
50
+ }
51
+
52
+ a {
53
+ color: #38bdf8;
54
+ text-decoration: none;
55
+ }
56
+
57
+ a:hover {
58
+ text-decoration: underline;
59
+ }
60
+
61
+ footer {
62
+ text-align: center;
63
+ padding: 20px;
64
+ background: #1e293b;
65
+ color: #94a3b8;
66
+ }
67
+ </style>
68
+ </head>
69
+
70
+ <body>
71
+
72
+ <header>
73
+ <h1>KeshavSoft</h1>
74
+ <p>Building Practical Software Solutions</p>
75
+ </header>
76
+
77
+ <div class="container">
78
+
79
+ <div class="card">
80
+ <h2>🌐 Website</h2>
81
+ <p>
82
+ Visit our official website:
83
+ <br>
84
+ <a href="https://keshavsoft.com/" target="_blank">
85
+ https://keshavsoft.com/
86
+ </a>
87
+ </p>
88
+ </div>
89
+
90
+ <div class="card">
91
+ <h2>💻 GitHub</h2>
92
+ <p>
93
+ Explore our open-source projects:
94
+ <br>
95
+ <a href="https://github.com/keshavsoft" target="_blank">
96
+ https://github.com/keshavsoft
97
+ </a>
98
+ </p>
99
+ </div>
100
+
101
+ <div class="card">
102
+ <h2>📦 npm Packages</h2>
103
+ <p>
104
+ Check our published packages:
105
+ <br>
106
+ <a href="https://www.npmjs.com/~keshavsoft" target="_blank">
107
+ https://www.npmjs.com/~keshavsoft
108
+ </a>
109
+ </p>
110
+ </div>
111
+
112
+ <div class="card">
113
+ <h2>🚀 About</h2>
114
+ <p>
115
+ KeshavSoft focuses on building modular, scalable, and practical tools
116
+ for real-world applications. Our goal is to simplify development and
117
+ accelerate delivery.
118
+ </p>
119
+ </div>
120
+
121
+ </div>
122
+
123
+ <footer>
124
+ © 2026 KeshavSoft. All rights reserved.
125
+ </footer>
126
+
127
+ </body>
128
+
129
+ </html>
@@ -0,0 +1,12 @@
1
+ import express from "express";
2
+
3
+ import loadConfig from "./configLoader.js";
4
+ import setupRoutes from "./routes.js";
5
+ import startServer from "./server.js";
6
+
7
+ loadConfig();
8
+
9
+ const app = express()
10
+
11
+ setupRoutes(app);
12
+ startServer(app);