@starklabs/forge 1.1.3 → 1.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,GAAG,6CAAY,CAAC;AAwDtB,QAAA,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAuBzC,CAAC;AAEF,OAAO,EAAC,WAAW,EAAE,GAAG,EAAC,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,GAAG,6CAAY,CAAC;AA2DtB,QAAA,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAqBzC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC"}
package/dist/js/app.js CHANGED
@@ -6,11 +6,12 @@ import errorMiddleware from "./middleware/error.middleware.js";
6
6
  import createModel from "./lib/model.factory.js";
7
7
  import registerModel from "./lib/model.registry.js";
8
8
  import connectDB from "./lib/db.js";
9
- import AppLog from "./utils/AppLog.js";
10
9
  import cookieParser from "cookie-parser";
11
10
  import helmet from "helmet";
12
11
  import { rateLimiter } from "./middleware/rateLimit.middleware.js";
13
12
  import healthCollection from "./health/health.collection.js";
13
+ import { setAppInfo } from "./terminal/appInfo.js";
14
+ import printInfo from "./terminal/loggerConfig.js";
14
15
  const jsonParser = express.json();
15
16
  const urlencodedParser = express.urlencoded({ extended: true });
16
17
  app.use(cookieParser());
@@ -28,6 +29,7 @@ app.use((req, res, next) => {
28
29
  });
29
30
  const handleCollection = (collections) => {
30
31
  for (const Req of collections) {
32
+ setAppInfo(Req);
31
33
  const { routeName, modelName, mongooseSchemaObj } = Req;
32
34
  if (modelName) {
33
35
  const MODEL = createModel(routeName, modelName, mongooseSchemaObj);
@@ -49,7 +51,7 @@ const startServer = async () => {
49
51
  res.status(404).json({ success: false, message: "Route not found" });
50
52
  });
51
53
  app.use(errorMiddleware);
52
- app.listen(port, () => AppLog("check", "app", `Server is running at http://localhost:${port}`));
54
+ app.listen(port, printInfo);
53
55
  };
54
56
  export { startServer, app };
55
57
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAG7D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAClC,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAChE,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAClB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAGvB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACzB,IAAI,GAAG,CAAC,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1B,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,MAAM,gBAAgB,GAAG,CAAC,WAAyB,EAAQ,EAAE;IAC3D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAkB,CAAC,CAAC;YACpE,aAAa,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;QAED,aAAa,CACX,GAAG,CAAC,OAAO,EACX,GAAG,EACH,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,iBAAiB,CACtB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;IAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAE7E,MAAM,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAGzD,IAAI,WAAW,EAAE,CAAC;QAChB,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,GAAG,WAAY,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvC,CAAC;IAGD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAEzB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CACpB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,yCAAyC,IAAI,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAC,WAAW,EAAE,GAAG,EAAC,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAmBA,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,0CAItB,eAAe,kBAwBjB,CAAC;AAGF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAyBA,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,0CAItB,eAAe,kBAyBjB,CAAC;AAGF,eAAe,SAAS,CAAC"}
package/dist/js/lib/db.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import mongoose from "mongoose";
2
2
  import AppLog from "../utils/AppLog.js";
3
+ import { appInfo } from "../terminal/appInfo.js";
3
4
  const connectLocally = async (databaseName = "starkForge") => {
4
5
  try {
5
6
  await mongoose.connect(`mongodb://localhost:27017/${databaseName}`);
7
+ appInfo.dbConnectionStatus = "Offline";
6
8
  }
7
9
  catch (error) {
8
10
  AppLog("x", "db", error.message);
@@ -15,14 +17,15 @@ const connectDB = async ({ isOffline, mongoDBURI, databaseName, }) => {
15
17
  try {
16
18
  if (isOffline)
17
19
  return connectLocally(databaseName);
18
- if (!isOffline && !mongoDBURI)
20
+ if (!mongoDBURI)
19
21
  throw new Error("You are online! mongoDBURI is required");
20
22
  if (!databaseName)
21
- databaseName = "default-db";
23
+ databaseName = "starkForge";
22
24
  setTimeout(() => {
23
25
  AppLog("loading", "db", "Connecting to mongodb...");
24
26
  }, 10);
25
27
  await mongoose.connect(`${mongoDBURI}/${databaseName}`);
28
+ appInfo.dbConnectionStatus = "Online";
26
29
  AppLog("check", "db", `Connected successfully! Database name: '${databaseName}'`);
27
30
  }
28
31
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,2FAA2F,CAAC,CAAC;QAC/G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAGF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CACJ,GAAG,EACH,IAAI,EACJ,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACtC,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAGF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Collection } from "../types/Collection.js";
2
+ export interface AppInfo {
3
+ modelsCount?: number;
4
+ validationsCount?: number;
5
+ routesCount?: number;
6
+ authentication?: boolean;
7
+ authorization?: boolean;
8
+ autoCrud?: boolean;
9
+ rateLimiting?: boolean;
10
+ fileUpload?: boolean;
11
+ errorHandling?: boolean;
12
+ cors?: boolean;
13
+ dbConnectionStatus: string | null;
14
+ }
15
+ declare let appInfo: AppInfo;
16
+ declare const resources: string[];
17
+ declare const setAppInfo: (req: Collection) => void;
18
+ export { appInfo, setAppInfo, resources };
19
+ //# sourceMappingURL=appInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appInfo.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,OAAO;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,QAAA,IAAI,OAAO,EAAE,OAYZ,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,MAAM,EAAkB,CAAC;AAE1C,QAAA,MAAM,UAAU,GAAI,KAAK,UAAU,SAmBlC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ let appInfo = {
2
+ modelsCount: 1,
3
+ validationsCount: 0,
4
+ routesCount: 0,
5
+ authentication: false,
6
+ authorization: false,
7
+ autoCrud: false,
8
+ rateLimiting: true,
9
+ fileUpload: false,
10
+ errorHandling: true,
11
+ cors: false,
12
+ dbConnectionStatus: null,
13
+ };
14
+ const resources = ["OTP Model"];
15
+ const setAppInfo = (req) => {
16
+ if (req.modelName && !resources.includes(req.modelName)) {
17
+ if (req.mongooseSchemaObj)
18
+ appInfo.modelsCount++;
19
+ resources.push(req.modelName);
20
+ }
21
+ if (req.validationsObj)
22
+ appInfo.validationsCount++;
23
+ if (req.reqType === "auth")
24
+ appInfo.authentication = true;
25
+ if (req.routesArray) {
26
+ appInfo.routesCount += req.routesArray.length;
27
+ for (const el of req.routesArray) {
28
+ if (el.fileArray)
29
+ appInfo.fileUpload = true;
30
+ if (el.authRole === "admin" || el.authRole === "adminOrOwner")
31
+ appInfo.authorization = true;
32
+ }
33
+ }
34
+ };
35
+ export { appInfo, setAppInfo, resources };
36
+ //# sourceMappingURL=appInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAgBA,IAAI,OAAO,GAAY;IACrB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,WAAW,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,GAAe,EAAE,EAAE;IACrC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,iBAAiB;YAAE,OAAO,CAAC,WAAY,EAAE,CAAC;QAElD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,CAAC,gBAAiB,EAAE,CAAC;IAEpD,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAE1D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,WAAY,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,SAAS;gBAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC5C,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,cAAc;gBAC3D,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Collection } from "../types/Collection.ts";
2
+ export interface CollectionInfo {
3
+ modelsCount?: number;
4
+ validationsCount?: number;
5
+ routesCount?: number;
6
+ authentication?: boolean;
7
+ authorization?: boolean;
8
+ autoCrud?: boolean;
9
+ rateLimiting?: boolean;
10
+ fileUpload?: boolean;
11
+ errorHandling?: boolean;
12
+ cors?: boolean;
13
+ dbConnectionStatus: string | null;
14
+ }
15
+ declare let collectionInfo: CollectionInfo;
16
+ declare const resources: string[];
17
+ declare const setCollectionInfo: (req: Collection) => void;
18
+ export { collectionInfo, setCollectionInfo, resources };
19
+ //# sourceMappingURL=collectionInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionInfo.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/collectionInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,QAAA,IAAI,cAAc,EAAE,cAYnB,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,MAAM,EAAkB,CAAC;AAE1C,QAAA,MAAM,iBAAiB,GAAI,KAAK,UAAU,SAmBzC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ let collectionInfo = {
2
+ modelsCount: 1,
3
+ validationsCount: 0,
4
+ routesCount: 0,
5
+ authentication: false,
6
+ authorization: false,
7
+ autoCrud: false,
8
+ rateLimiting: true,
9
+ fileUpload: false,
10
+ errorHandling: true,
11
+ cors: false,
12
+ dbConnectionStatus: null,
13
+ };
14
+ const resources = ["OTP Model"];
15
+ const setCollectionInfo = (req) => {
16
+ if (req.modelName && !resources.includes(req.modelName)) {
17
+ if (req.mongooseSchemaObj)
18
+ collectionInfo.modelsCount++;
19
+ resources.push(req.modelName);
20
+ }
21
+ if (req.validationsObj)
22
+ collectionInfo.validationsCount++;
23
+ if (req.reqType === "auth")
24
+ collectionInfo.authentication = true;
25
+ if (req.routesArray) {
26
+ collectionInfo.routesCount += req.routesArray.length;
27
+ for (const el of req.routesArray) {
28
+ if (el.fileArray)
29
+ collectionInfo.fileUpload = true;
30
+ if (el.authRole === "admin" || el.authRole === "adminOrOwner")
31
+ collectionInfo.authorization = true;
32
+ }
33
+ }
34
+ };
35
+ export { collectionInfo, setCollectionInfo, resources };
36
+ //# sourceMappingURL=collectionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionInfo.js","sourceRoot":"","sources":["../../../src/js/terminal/collectionInfo.ts"],"names":[],"mappings":"AAgBA,IAAI,cAAc,GAAmB;IACnC,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,WAAW,CAAC,CAAC;AAE1C,MAAM,iBAAiB,GAAG,CAAC,GAAe,EAAE,EAAE;IAC5C,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,iBAAiB;YAAE,cAAc,CAAC,WAAY,EAAE,CAAC;QAEzD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,cAAc;QAAE,cAAc,CAAC,gBAAiB,EAAE,CAAC;IAE3D,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC;IAEjE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,cAAc,CAAC,WAAY,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;QACtD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,SAAS;gBAAE,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC;YACnD,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,cAAc;gBAC3D,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const printBanner: (config: any) => void;
2
+ export default printBanner;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/logger.ts"],"names":[],"mappings":"AAqCA,QAAA,MAAM,WAAW,GAAI,QAAQ,GAAG,SA6F/B,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,72 @@
1
+ import os from "os";
2
+ import process from "process";
3
+ const colors = {
4
+ reset: "\x1b[0m",
5
+ cyan: "\x1b[36m",
6
+ green: "\x1b[32m",
7
+ yellow: "\x1b[33m",
8
+ blue: "\x1b[34m",
9
+ magenta: "\x1b[35m",
10
+ red: "\x1b[31m",
11
+ gray: "\x1b[90m",
12
+ white: "\x1b[37m",
13
+ bold: "\x1b[1m",
14
+ };
15
+ const c = (text, color) => `${color}${text}${colors.reset}`;
16
+ const line = (width = 72) => "─".repeat(width);
17
+ const formatDate = () => new Date().toISOString().replace("T", " ").slice(0, 19);
18
+ function section(title) {
19
+ console.log();
20
+ console.log(c(title, colors.cyan));
21
+ console.log(c(line(), colors.gray));
22
+ }
23
+ function row(key, value) {
24
+ console.log(` ${c(key.padEnd(18), colors.gray)} ${c("│", colors.gray)} ${value}`);
25
+ }
26
+ const printBanner = (config) => {
27
+ console.clear();
28
+ console.log(c("╔════════════════════════════════════════════════════════════════════════╗", colors.cyan));
29
+ console.log(c("║ ⚒ STARKLABS FORGE ║", colors.cyan));
30
+ console.log(c("║ Build less. Ship everything. ║", colors.cyan));
31
+ console.log(c("╚════════════════════════════════════════════════════════════════════════╝", colors.cyan));
32
+ section("🚀 Runtime");
33
+ row("Status", c("Running", colors.green));
34
+ row("Environment", config.env);
35
+ row("Node", process.version);
36
+ row("Platform", `${os.platform()} ${os.arch()}`);
37
+ row("PID", process.pid.toString());
38
+ row("Started", formatDate());
39
+ section("🌐 Server");
40
+ row("Host", config.host);
41
+ row("Port", config.port);
42
+ row("URL", c(config.url, colors.blue));
43
+ row("API Prefix", config.apiPrefix);
44
+ row("Health", c(`${config.url}${config.health}`, colors.red));
45
+ section("🗄 Database");
46
+ row("Driver", config.db.driver);
47
+ row("Database", config.db.name);
48
+ row("Connected", config.db.connected
49
+ ? c("true", colors.green)
50
+ : c("false", colors.red));
51
+ row("status", config.db.status);
52
+ section("⚡ Generated");
53
+ row("Models", config.generated.models);
54
+ row("Validators", config.generated.validators);
55
+ row("Routes", config.generated.routes);
56
+ if (config.generated.middlewares)
57
+ row("Middlewares", config.generated.middlewares);
58
+ section("🧩 Features");
59
+ config.features.forEach((f) => console.log(` ${c("✓", colors.green)} ${f}`));
60
+ section("📦 Resources");
61
+ config.resources.forEach((r) => console.log(` ${c("✓", colors.green)} ${r}`));
62
+ section("💻 System");
63
+ row("CPU", os.cpus().length + " Cores");
64
+ row("OS", os.type());
65
+ row("Hostname", os.hostname());
66
+ console.log();
67
+ console.log(c(line(), colors.gray));
68
+ console.log(` • Listening on ${c(`${config.url}${config.apiPrefix}/[routeName]`, colors.blue)}`);
69
+ console.log();
70
+ };
71
+ export default printBanner;
72
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/js/terminal/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const printInfo: () => void;
2
+ export default printInfo;
3
+ //# sourceMappingURL=loggerConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerConfig.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/loggerConfig.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,SAAS,YAwCd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,36 @@
1
+ import Banner from "./logger.js";
2
+ import { getEnvs } from "../config/envs.js";
3
+ import { appInfo, resources } from "./appInfo.js";
4
+ const printInfo = () => {
5
+ const { apiVersion, ENV, port, databaseName } = getEnvs();
6
+ const features = [];
7
+ const infokeys = Object.keys(appInfo);
8
+ for (const el of infokeys) {
9
+ const item = appInfo[el];
10
+ if (typeof item === "boolean" && item === true)
11
+ features.push(el);
12
+ }
13
+ return Banner({
14
+ env: ENV,
15
+ host: "localhost",
16
+ port,
17
+ url: `http://localhost:${port}`,
18
+ apiPrefix: `/api/v${apiVersion}`,
19
+ health: `/api/v${apiVersion}/health`,
20
+ db: {
21
+ driver: "MongoDB",
22
+ name: databaseName || "starkForge",
23
+ connected: true,
24
+ status: appInfo.dbConnectionStatus
25
+ },
26
+ generated: {
27
+ models: appInfo.modelsCount,
28
+ validators: appInfo.validationsCount,
29
+ routes: appInfo.routesCount,
30
+ },
31
+ features,
32
+ resources,
33
+ });
34
+ };
35
+ export default printInfo;
36
+ //# sourceMappingURL=loggerConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerConfig.js","sourceRoot":"","sources":["../../../src/js/terminal/loggerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAoB,CAAC;IACzD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,MAAM,CAAC;QACZ,GAAG,EAAE,GAAG;QAER,IAAI,EAAE,WAAW;QAEjB,IAAI;QAEJ,GAAG,EAAE,oBAAoB,IAAI,EAAE;QAE/B,SAAS,EAAE,SAAS,UAAU,EAAE;QAEhC,MAAM,EAAE,SAAS,UAAU,SAAS;QAEpC,EAAE,EAAE;YACF,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,YAAY,IAAI,YAAY;YAClC,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,OAAO,CAAC,kBAAkB;SACnC;QAED,SAAS,EAAE;YACT,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,UAAU,EAAE,OAAO,CAAC,gBAAgB;YACpC,MAAM,EAAE,OAAO,CAAC,WAAW;SAC5B;QAED,QAAQ;QAER,SAAS;KACV,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const printInfo: () => void;
2
+ export default printInfo;
3
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/terminal.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,SAAS,YAwCd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,36 @@
1
+ import Banner from "./logger.js";
2
+ import { getEnvs } from "../config/envs.js";
3
+ import { collectionInfo, resources } from "./appInfo.js";
4
+ const printInfo = () => {
5
+ const { apiVersion, ENV, port, databaseName } = getEnvs();
6
+ const features = [];
7
+ const infokeys = Object.keys(collectionInfo);
8
+ for (const el of infokeys) {
9
+ const item = collectionInfo[el];
10
+ if (typeof item === "boolean" && item === true)
11
+ features.push(el);
12
+ }
13
+ return Banner({
14
+ env: ENV,
15
+ host: "localhost",
16
+ port,
17
+ url: `http://localhost:${port}`,
18
+ apiPrefix: `/api/v${apiVersion}`,
19
+ health: `/api/v${apiVersion}/health`,
20
+ db: {
21
+ driver: "MongoDB",
22
+ name: databaseName || "starkForge",
23
+ connected: true,
24
+ status: collectionInfo.dbConnectionStatus
25
+ },
26
+ generated: {
27
+ models: collectionInfo.modelsCount,
28
+ validators: collectionInfo.validationsCount,
29
+ routes: collectionInfo.routesCount,
30
+ },
31
+ features,
32
+ resources,
33
+ });
34
+ };
35
+ export default printInfo;
36
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/js/terminal/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAA2B,CAAC;IACvE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,MAAM,CAAC;QACZ,GAAG,EAAE,GAAG;QAER,IAAI,EAAE,WAAW;QAEjB,IAAI;QAEJ,GAAG,EAAE,oBAAoB,IAAI,EAAE;QAE/B,SAAS,EAAE,SAAS,UAAU,EAAE;QAEhC,MAAM,EAAE,SAAS,UAAU,SAAS;QAEpC,EAAE,EAAE;YACF,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,YAAY,IAAI,YAAY;YAClC,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,cAAc,CAAC,kBAAkB;SAC1C;QAED,SAAS,EAAE;YACT,MAAM,EAAE,cAAc,CAAC,WAAW;YAClC,UAAU,EAAE,cAAc,CAAC,gBAAgB;YAC3C,MAAM,EAAE,cAAc,CAAC,WAAW;SACnC;QAED,QAAQ;QAER,SAAS;KACV,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starklabs/forge",
3
- "version": "1.1.3",
3
+ "version": "1.2.0",
4
4
  "description": "A TypeScript-first Express framework for building production-ready APIs with zero boilerplate.",
5
5
  "type": "module",
6
6
  "main": "./dist/js/index.js",