@devbro/pashmak 0.1.2 → 0.1.4
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/dist/app/console/migrate/MakeMigrateCommand.js +6 -1
- package/dist/app/console/migrate/MakeMigrateCommand.js.map +1 -1
- package/dist/app/console/project/base_project/package.json.tpl +4 -2
- package/dist/app/console/project/base_project/src/initialize.ts.tpl +5 -0
- package/dist/facades.js +2 -1
- package/dist/facades.js.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/package.json +10 -9
|
@@ -7,6 +7,7 @@ import path from "path";
|
|
|
7
7
|
import * as fs from "fs/promises";
|
|
8
8
|
import { config } from "@devbro/neko-config";
|
|
9
9
|
import handlebars from "handlebars";
|
|
10
|
+
import { fileURLToPath } from "url";
|
|
10
11
|
class MakeMigrateCommand extends Command {
|
|
11
12
|
static {
|
|
12
13
|
__name(this, "MakeMigrateCommand");
|
|
@@ -37,7 +38,11 @@ class MakeMigrateCommand extends Command {
|
|
|
37
38
|
await fs.mkdir(config.get("migration.path"), {
|
|
38
39
|
recursive: true
|
|
39
40
|
});
|
|
40
|
-
|
|
41
|
+
let dirname = typeof __dirname === "string" ? __dirname : void 0;
|
|
42
|
+
if (!dirname) {
|
|
43
|
+
dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
44
|
+
}
|
|
45
|
+
const compiledTemplate = handlebars.compile((await fs.readFile(path.join(dirname, "./make_migration.tpl"))).toString());
|
|
41
46
|
const template = await compiledTemplate({
|
|
42
47
|
className: Case.pascal(this.name)
|
|
43
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/app/console/migrate/MakeMigrateCommand.ts"],"sourcesContent":["import { cli } from \"../../../facades\";\nimport { Command, Option } from \"clipanion\";\nimport { Case } from \"change-case-all\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { config } from \"@devbro/neko-config\";\nimport handlebars from \"handlebars\";\n\nexport class MakeMigrateCommand extends Command {\n static paths = [\n [`make`, `migrate`],\n [\"make\", \"migration\"],\n ];\n\n name = Option.String({ required: true });\n\n async execute() {\n const date = new Date();\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const secondsOfDay = String(\n date.getHours() * 3600 + date.getMinutes() * 60 + date.getSeconds(),\n ).padStart(5, \"0\");\n\n const fixed_name = Case.snake(this.name);\n const filename = `${year}_${month}_${day}_${secondsOfDay}_${fixed_name}.ts`;\n this.context.stdout.write(`creating migration file ${filename}\\n`);\n\n await fs.mkdir(config.get(\"migration.path\"), { recursive: true });\n\n const compiledTemplate = handlebars.compile(\n (\n await fs.readFile(path.join(
|
|
1
|
+
{"version":3,"sources":["../../../../src/app/console/migrate/MakeMigrateCommand.ts"],"sourcesContent":["import { cli } from \"../../../facades\";\nimport { Command, Option } from \"clipanion\";\nimport { Case } from \"change-case-all\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { config } from \"@devbro/neko-config\";\nimport handlebars from \"handlebars\";\nimport { fileURLToPath } from \"url\";\n\nexport class MakeMigrateCommand extends Command {\n static paths = [\n [`make`, `migrate`],\n [\"make\", \"migration\"],\n ];\n\n name = Option.String({ required: true });\n\n async execute() {\n const date = new Date();\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n const secondsOfDay = String(\n date.getHours() * 3600 + date.getMinutes() * 60 + date.getSeconds(),\n ).padStart(5, \"0\");\n\n const fixed_name = Case.snake(this.name);\n const filename = `${year}_${month}_${day}_${secondsOfDay}_${fixed_name}.ts`;\n this.context.stdout.write(`creating migration file ${filename}\\n`);\n\n await fs.mkdir(config.get(\"migration.path\"), { recursive: true });\n\n let dirname = typeof __dirname === \"string\" ? __dirname : undefined;\n if (!dirname) {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n\n const compiledTemplate = handlebars.compile(\n (\n await fs.readFile(path.join(dirname, \"./make_migration.tpl\"))\n ).toString(),\n );\n const template = await compiledTemplate({\n className: Case.pascal(this.name),\n });\n\n await fs.writeFile(\n path.join(config.get(\"migration.path\"), filename),\n template,\n );\n }\n}\n\ncli().register(MakeMigrateCommand);\n"],"mappings":";;AAAA,SAASA,WAAW;AACpB,SAASC,SAASC,cAAc;AAChC,SAASC,YAAY;AACrB,OAAOC,UAAU;AACjB,YAAYC,QAAQ;AACpB,SAASC,cAAc;AACvB,OAAOC,gBAAgB;AACvB,SAASC,qBAAqB;AAEvB,MAAMC,2BAA2BR,QAAAA;EATxC,OASwCA;;;EACtC,OAAOS,QAAQ;IACb;MAAC;MAAQ;;IACT;MAAC;MAAQ;;;EAGXC,OAAOT,OAAOU,OAAO;IAAEC,UAAU;EAAK,CAAA;EAEtC,MAAMC,UAAU;AACd,UAAMC,OAAO,oBAAIC,KAAAA;AACjB,UAAMC,OAAOF,KAAKG,YAAW;AAC7B,UAAMC,QAAQP,OAAOG,KAAKK,SAAQ,IAAK,CAAA,EAAGC,SAAS,GAAG,GAAA;AACtD,UAAMC,MAAMV,OAAOG,KAAKQ,QAAO,CAAA,EAAIF,SAAS,GAAG,GAAA;AAC/C,UAAMG,eAAeZ,OACnBG,KAAKU,SAAQ,IAAK,OAAOV,KAAKW,WAAU,IAAK,KAAKX,KAAKY,WAAU,CAAA,EACjEN,SAAS,GAAG,GAAA;AAEd,UAAMO,aAAazB,KAAK0B,MAAM,KAAKlB,IAAI;AACvC,UAAMmB,WAAW,GAAGb,IAAAA,IAAQE,KAAAA,IAASG,GAAAA,IAAOE,YAAAA,IAAgBI,UAAAA;AAC5D,SAAKG,QAAQC,OAAOC,MAAM,2BAA2BH,QAAAA;CAAY;AAEjE,UAAMzB,GAAG6B,MAAM5B,OAAO6B,IAAI,gBAAA,GAAmB;MAAEC,WAAW;IAAK,CAAA;AAE/D,QAAIC,UAAU,OAAOC,cAAc,WAAWA,YAAYC;AAC1D,QAAI,CAACF,SAAS;AACZA,gBAAUjC,KAAKiC,QAAQ7B,cAAc,YAAYgC,GAAG,CAAA;IACtD;AAEA,UAAMC,mBAAmBlC,WAAWmC,SAEhC,MAAMrC,GAAGsC,SAASvC,KAAKwC,KAAKP,SAAS,sBAAA,CAAA,GACrCQ,SAAQ,CAAA;AAEZ,UAAMC,WAAW,MAAML,iBAAiB;MACtCM,WAAW5C,KAAK6C,OAAO,KAAKrC,IAAI;IAClC,CAAA;AAEA,UAAMN,GAAG4C,UACP7C,KAAKwC,KAAKtC,OAAO6B,IAAI,gBAAA,GAAmBL,QAAAA,GACxCgB,QAAAA;EAEJ;AACF;AAEA9C,IAAAA,EAAMkD,SAASzC,kBAAAA;","names":["cli","Command","Option","Case","path","fs","config","handlebars","fileURLToPath","MakeMigrateCommand","paths","name","String","required","execute","date","Date","year","getFullYear","month","getMonth","padStart","day","getDate","secondsOfDay","getHours","getMinutes","getSeconds","fixed_name","snake","filename","context","stdout","write","mkdir","get","recursive","dirname","__dirname","undefined","url","compiledTemplate","compile","readFile","join","toString","template","className","pascal","writeFile","register"]}
|
|
@@ -34,14 +34,16 @@
|
|
|
34
34
|
"supertest": "^6.3.3",
|
|
35
35
|
"tsx": "^4.20.3",
|
|
36
36
|
"typescript": "^5.8.3",
|
|
37
|
+
"pino-pretty": "^13.0.0",
|
|
38
|
+
"husky": "^9.1.7",
|
|
37
39
|
"vitest": "^3.2.4"
|
|
38
40
|
},
|
|
39
41
|
"dependencies": {
|
|
40
|
-
"@devbro/pashmak": "0.1.0",
|
|
42
|
+
"@devbro/pashmak": "^0.1.0",
|
|
41
43
|
"bcryptjs": "^3.0.2",
|
|
42
44
|
"clipanion": "^4.0.0-rc.4",
|
|
43
45
|
"dotenv": "^16.5.0",
|
|
44
|
-
"jsonwebtoken": "^9.0.
|
|
46
|
+
"jsonwebtoken": "^9.0.0",
|
|
45
47
|
"tsconfig-paths": "^4.2.0",
|
|
46
48
|
"yup": "^1.6.1"
|
|
47
49
|
},
|
package/dist/facades.js
CHANGED
package/dist/facades.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/facades.ts"],"sourcesContent":["import { Router } from \"./router\";\nimport { Schedule, Scheduler } from \"@devbro/neko-scheduler\";\nimport { createSingleton } from \"@devbro/neko-helper\";\nimport { ctx, ctxSafe } from \"@devbro/neko-context\";\nimport { Connection } from \"@devbro/neko-sql\";\nimport { Storage, StorageFactory } from \"@devbro/neko-storage\";\nimport { config } from \"@devbro/neko-config\";\nimport { Cli } from \"clipanion\";\nimport { HttpServer } from \"./http\";\nimport { HttpError } from \"./http\";\nimport * as yup from \"yup\";\nimport { Logger } from \"@devbro/neko-logger\";\n\nexport const router = createSingleton<Router>(() => new Router());\nexport const scheduler = createSingleton<Scheduler>(() => {\n const rc = new Scheduler();\n rc.setErrorHandler((err: any, job: Schedule) => {\n logger().error({\n msg: \"Scheduled job error\",\n err,\n job_name: job.getName(),\n });\n });\n return rc;\n});\nexport const db = (label = \"default\") =>\n ctx().getOrThrow<Connection>([\"database\", label]);\n\nexport const storage = createSingleton<Storage>((label: string = \"default\") =>\n StorageFactory.create(config.get([\"storages\", label].join(\".\"))),\n);\n\nexport const cli = createSingleton<Cli>(() => {\n const [node, app, ...args] = process.argv;\n return new Cli({\n binaryLabel: `My Application`,\n binaryName: `${node} ${app}`,\n binaryVersion: `1.0.0`,\n });\n});\n\nexport const httpServer = createSingleton<HttpServer>(() => {\n const server = new HttpServer();\n\n server.setErrorHandler(async (err: Error, req: any, res: any) => {\n if (err instanceof HttpError) {\n res.writeHead(err.statusCode, { \"Content-Type\": \"application/json\" });\n res.end(JSON.stringify({ message: err.message }));\n logger().warn({ msg: \"HttpError: \" + err.message, err });\n return;\n } else if (err instanceof yup.ValidationError) {\n res.writeHead(422, { \"Content-Type\": \"application/json\" });\n const errs: any = {};\n err.inner.forEach((e: yup.ValidationError) => {\n // Sanitize sensitive fields\n const sanitizedParams = { ...e.params };\n if (/passw/i.test(e.path!)) {\n sanitizedParams.value = \"******\";\n sanitizedParams.originalValue = \"******\";\n }\n\n errs[e.path!] = {\n type: e.type,\n message: e.message,\n params: sanitizedParams,\n };\n });\n\n res.end(JSON.stringify({ message: \"validation error\", errors: errs }));\n logger().warn({ msg: \"ValidationError: \" + err.message, err });\n return;\n } else {\n logger().error({ msg: \"Error: \" + err.message, err });\n }\n res.writeHead(500, { \"Content-Type\": \"\" });\n res.end(JSON.stringify({ error: \"Internal Server Error\" }));\n });\n server.setRouter(router());\n\n return server;\n});\n\nexport const logger = createSingleton<Logger>((label) => {\n const logger_config: any = config.get([\"loggers\", label].join(\".\"));\n const rc = new Logger(logger_config);\n rc.setExtrasFunction((message: any) => {\n message.requestId = ctxSafe()?.get(\"requestId\") || \"N/A\";\n return message;\n });\n\n return rc;\n});\n"],"mappings":";;AAAA,SAASA,cAAc;AACvB,SAAmBC,iBAAiB;AACpC,SAASC,uBAAuB;AAChC,SAASC,KAAKC,eAAe;AAE7B,SAAkBC,sBAAsB;AACxC,SAASC,cAAc;AACvB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,YAAYC,SAAS;AACrB,SAASC,cAAc;AAEhB,MAAMC,SAASV,gBAAwB,MAAM,IAAIF,OAAAA,CAAAA;AACjD,MAAMa,YAAYX,gBAA2B,MAAA;AAClD,QAAMY,KAAK,IAAIb,UAAAA;AACfa,KAAGC,gBAAgB,CAACC,KAAUC,QAAAA;AAC5BC,WAAAA,EAASC,MAAM;MACbC,KAAK;MACLJ;MACAK,UAAUJ,IAAIK,QAAO;IACvB,CAAA;EACF,CAAA;AACA,SAAOR;AACT,CAAA;AACO,MAAMS,KAAK,wBAACC,QAAQ,cACzBrB,IAAAA,EAAMsB,WAAuB;EAAC;EAAYD;CAAM,GADhC;AAGX,MAAME,UAAUxB,gBAAyB,CAACsB,QAAgB,cAC/DnB,eAAesB,OAAOrB,OAAOsB,IAAI;EAAC;EAAYJ;EAAOK,KAAK,GAAA,CAAA,CAAA,CAAA;AAGrD,MAAMC,MAAM5B,gBAAqB,MAAA;AACtC,QAAM,CAAC6B,MAAMC,KAAK,GAAGC,IAAAA,IAAQC,QAAQC;AACrC,SAAO,IAAI5B,IAAI;IACb6B,aAAa;IACbC,YAAY,GAAGN,IAAAA,IAAQC,GAAAA;IACvBM,eAAe;EACjB,CAAA;AACF,CAAA;AAEO,MAAMC,aAAarC,gBAA4B,MAAA;AACpD,QAAMsC,SAAS,IAAIhC,WAAAA;AAEnBgC,SAAOzB,gBAAgB,OAAOC,KAAYyB,KAAUC,QAAAA;AAClD,QAAI1B,eAAeP,WAAW;AAC5BiC,UAAIC,UAAU3B,IAAI4B,YAAY;QAAE,gBAAgB;MAAmB,CAAA;AACnEF,UAAIG,IAAIC,KAAKC,UAAU;QAAEC,SAAShC,IAAIgC;
|
|
1
|
+
{"version":3,"sources":["../src/facades.ts"],"sourcesContent":["import { Router } from \"./router\";\nimport { Schedule, Scheduler } from \"@devbro/neko-scheduler\";\nimport { createSingleton } from \"@devbro/neko-helper\";\nimport { ctx, ctxSafe } from \"@devbro/neko-context\";\nimport { Connection } from \"@devbro/neko-sql\";\nimport { Storage, StorageFactory } from \"@devbro/neko-storage\";\nimport { config } from \"@devbro/neko-config\";\nimport { Cli } from \"clipanion\";\nimport { HttpServer } from \"./http\";\nimport { HttpError } from \"./http\";\nimport * as yup from \"yup\";\nimport { Logger } from \"@devbro/neko-logger\";\n\nexport const router = createSingleton<Router>(() => new Router());\nexport const scheduler = createSingleton<Scheduler>(() => {\n const rc = new Scheduler();\n rc.setErrorHandler((err: any, job: Schedule) => {\n logger().error({\n msg: \"Scheduled job error\",\n err,\n job_name: job.getName(),\n });\n });\n return rc;\n});\nexport const db = (label = \"default\") =>\n ctx().getOrThrow<Connection>([\"database\", label]);\n\nexport const storage = createSingleton<Storage>((label: string = \"default\") =>\n StorageFactory.create(config.get([\"storages\", label].join(\".\"))),\n);\n\nexport const cli = createSingleton<Cli>(() => {\n const [node, app, ...args] = process.argv;\n return new Cli({\n binaryLabel: `My Application`,\n binaryName: `${node} ${app}`,\n binaryVersion: `1.0.0`,\n });\n});\n\nexport const httpServer = createSingleton<HttpServer>(() => {\n const server = new HttpServer();\n\n server.setErrorHandler(async (err: Error, req: any, res: any) => {\n if (err instanceof HttpError) {\n res.writeHead(err.statusCode, { \"Content-Type\": \"application/json\" });\n res.end(JSON.stringify({ message: err.message, error: err.code }));\n logger().warn({ msg: \"HttpError: \" + err.message, err });\n return;\n } else if (err instanceof yup.ValidationError) {\n res.writeHead(422, { \"Content-Type\": \"application/json\" });\n const errs: any = {};\n err.inner.forEach((e: yup.ValidationError) => {\n // Sanitize sensitive fields\n const sanitizedParams = { ...e.params };\n if (/passw/i.test(e.path!)) {\n sanitizedParams.value = \"******\";\n sanitizedParams.originalValue = \"******\";\n }\n\n errs[e.path!] = {\n type: e.type,\n message: e.message,\n params: sanitizedParams,\n };\n });\n\n res.end(JSON.stringify({ message: \"validation error\", errors: errs }));\n logger().warn({ msg: \"ValidationError: \" + err.message, err });\n return;\n } else {\n logger().error({ msg: \"Error: \" + err.message, err });\n }\n res.writeHead(500, { \"Content-Type\": \"\" });\n res.end(JSON.stringify({ error: \"Internal Server Error\" }));\n });\n server.setRouter(router());\n\n return server;\n});\n\nexport const logger = createSingleton<Logger>((label) => {\n const logger_config: any = config.get([\"loggers\", label].join(\".\"));\n const rc = new Logger(logger_config);\n rc.setExtrasFunction((message: any) => {\n message.requestId = ctxSafe()?.get(\"requestId\") || \"N/A\";\n return message;\n });\n\n return rc;\n});\n"],"mappings":";;AAAA,SAASA,cAAc;AACvB,SAAmBC,iBAAiB;AACpC,SAASC,uBAAuB;AAChC,SAASC,KAAKC,eAAe;AAE7B,SAAkBC,sBAAsB;AACxC,SAASC,cAAc;AACvB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,YAAYC,SAAS;AACrB,SAASC,cAAc;AAEhB,MAAMC,SAASV,gBAAwB,MAAM,IAAIF,OAAAA,CAAAA;AACjD,MAAMa,YAAYX,gBAA2B,MAAA;AAClD,QAAMY,KAAK,IAAIb,UAAAA;AACfa,KAAGC,gBAAgB,CAACC,KAAUC,QAAAA;AAC5BC,WAAAA,EAASC,MAAM;MACbC,KAAK;MACLJ;MACAK,UAAUJ,IAAIK,QAAO;IACvB,CAAA;EACF,CAAA;AACA,SAAOR;AACT,CAAA;AACO,MAAMS,KAAK,wBAACC,QAAQ,cACzBrB,IAAAA,EAAMsB,WAAuB;EAAC;EAAYD;CAAM,GADhC;AAGX,MAAME,UAAUxB,gBAAyB,CAACsB,QAAgB,cAC/DnB,eAAesB,OAAOrB,OAAOsB,IAAI;EAAC;EAAYJ;EAAOK,KAAK,GAAA,CAAA,CAAA,CAAA;AAGrD,MAAMC,MAAM5B,gBAAqB,MAAA;AACtC,QAAM,CAAC6B,MAAMC,KAAK,GAAGC,IAAAA,IAAQC,QAAQC;AACrC,SAAO,IAAI5B,IAAI;IACb6B,aAAa;IACbC,YAAY,GAAGN,IAAAA,IAAQC,GAAAA;IACvBM,eAAe;EACjB,CAAA;AACF,CAAA;AAEO,MAAMC,aAAarC,gBAA4B,MAAA;AACpD,QAAMsC,SAAS,IAAIhC,WAAAA;AAEnBgC,SAAOzB,gBAAgB,OAAOC,KAAYyB,KAAUC,QAAAA;AAClD,QAAI1B,eAAeP,WAAW;AAC5BiC,UAAIC,UAAU3B,IAAI4B,YAAY;QAAE,gBAAgB;MAAmB,CAAA;AACnEF,UAAIG,IAAIC,KAAKC,UAAU;QAAEC,SAAShC,IAAIgC;QAAS7B,OAAOH,IAAIiC;MAAK,CAAA,CAAA;AAC/D/B,aAAAA,EAASgC,KAAK;QAAE9B,KAAK,gBAAgBJ,IAAIgC;QAAShC;MAAI,CAAA;AACtD;IACF,WAAWA,eAAeN,IAAIyC,iBAAiB;AAC7CT,UAAIC,UAAU,KAAK;QAAE,gBAAgB;MAAmB,CAAA;AACxD,YAAMS,OAAY,CAAC;AACnBpC,UAAIqC,MAAMC,QAAQ,CAACC,MAAAA;AAEjB,cAAMC,kBAAkB;UAAE,GAAGD,EAAEE;QAAO;AACtC,YAAI,SAASC,KAAKH,EAAEI,IAAI,GAAI;AAC1BH,0BAAgBI,QAAQ;AACxBJ,0BAAgBK,gBAAgB;QAClC;AAEAT,aAAKG,EAAEI,IAAI,IAAK;UACdG,MAAMP,EAAEO;UACRd,SAASO,EAAEP;UACXS,QAAQD;QACV;MACF,CAAA;AAEAd,UAAIG,IAAIC,KAAKC,UAAU;QAAEC,SAAS;QAAoBe,QAAQX;MAAK,CAAA,CAAA;AACnElC,aAAAA,EAASgC,KAAK;QAAE9B,KAAK,sBAAsBJ,IAAIgC;QAAShC;MAAI,CAAA;AAC5D;IACF,OAAO;AACLE,aAAAA,EAASC,MAAM;QAAEC,KAAK,YAAYJ,IAAIgC;QAAShC;MAAI,CAAA;IACrD;AACA0B,QAAIC,UAAU,KAAK;MAAE,gBAAgB;IAAG,CAAA;AACxCD,QAAIG,IAAIC,KAAKC,UAAU;MAAE5B,OAAO;IAAwB,CAAA,CAAA;EAC1D,CAAA;AACAqB,SAAOwB,UAAUpD,OAAAA,CAAAA;AAEjB,SAAO4B;AACT,CAAA;AAEO,MAAMtB,SAAShB,gBAAwB,CAACsB,UAAAA;AAC7C,QAAMyC,gBAAqB3D,OAAOsB,IAAI;IAAC;IAAWJ;IAAOK,KAAK,GAAA,CAAA;AAC9D,QAAMf,KAAK,IAAIH,OAAOsD,aAAAA;AACtBnD,KAAGoD,kBAAkB,CAAClB,YAAAA;AACpBA,YAAQmB,YAAY/D,QAAAA,GAAWwB,IAAI,WAAA,KAAgB;AACnD,WAAOoB;EACT,CAAA;AAEA,SAAOlC;AACT,CAAA;","names":["Router","Scheduler","createSingleton","ctx","ctxSafe","StorageFactory","config","Cli","HttpServer","HttpError","yup","Logger","router","scheduler","rc","setErrorHandler","err","job","logger","error","msg","job_name","getName","db","label","getOrThrow","storage","create","get","join","cli","node","app","args","process","argv","binaryLabel","binaryName","binaryVersion","httpServer","server","req","res","writeHead","statusCode","end","JSON","stringify","message","code","warn","ValidationError","errs","inner","forEach","e","sanitizedParams","params","test","path","value","originalValue","type","errors","setRouter","logger_config","setExtrasFunction","requestId"]}
|
package/dist/index.js
CHANGED
|
@@ -14,10 +14,6 @@ async function bootstrap(options) {
|
|
|
14
14
|
await import("./app/console");
|
|
15
15
|
console.log("Loading Database Provider ...");
|
|
16
16
|
const { DatabaseServiceProvider } = await import("./DatabaseServiceProvider");
|
|
17
|
-
console.log("Registering service providers...");
|
|
18
|
-
await import(`${options.root_dir}/app/console`);
|
|
19
|
-
await import(`${options.root_dir}/routes`);
|
|
20
|
-
await import(`${options.root_dir}/schedules`);
|
|
21
17
|
console.log("Setting up pre-loader for context provider...");
|
|
22
18
|
context_provider.setPreLoader(async (f) => {
|
|
23
19
|
const middlewares = [];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import dotenv from \"dotenv\";\nimport { context_provider } from \"@devbro/neko-context\";\nimport { Middleware } from \"@devbro/neko-router\";\nimport { runNext } from \"@devbro/neko-router\";\nimport { Request, Response } from \"@devbro/neko-router\";\nimport { config } from \"@devbro/neko-config\";\n\nexport { config };\nexport async function bootstrap(options: { root_dir: string }): Promise<void> {\n // This function is used to bootstrap the application.\n // It can be used to initialize the application, load configuration, etc.\n // Currently, it does nothing but can be extended in the future.\n dotenv.config();\n\n console.log(\"Bootstrapping application...\");\n console.log(`Root directory: ${options.root_dir}`);\n let a = (await import(`${options.root_dir}/config/default`)).default;\n config.load(a);\n\n console.log(\"Loading application modules...\");\n await import(`./app/console`);\n console.log(\"Loading Database Provider ...\");\n const { DatabaseServiceProvider } = await import(\"./DatabaseServiceProvider\");\n\n console.log(\"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import dotenv from \"dotenv\";\nimport { context_provider } from \"@devbro/neko-context\";\nimport { Middleware } from \"@devbro/neko-router\";\nimport { runNext } from \"@devbro/neko-router\";\nimport { Request, Response } from \"@devbro/neko-router\";\nimport { config } from \"@devbro/neko-config\";\n\nexport { config };\nexport async function bootstrap(options: { root_dir: string }): Promise<void> {\n // This function is used to bootstrap the application.\n // It can be used to initialize the application, load configuration, etc.\n // Currently, it does nothing but can be extended in the future.\n dotenv.config();\n\n console.log(\"Bootstrapping application...\");\n console.log(`Root directory: ${options.root_dir}`);\n let a = (await import(`${options.root_dir}/config/default`)).default;\n config.load(a);\n\n console.log(\"Loading application modules...\");\n await import(`./app/console`);\n console.log(\"Loading Database Provider ...\");\n const { DatabaseServiceProvider } = await import(\"./DatabaseServiceProvider\");\n\n console.log(\"Setting up pre-loader for context provider...\");\n context_provider.setPreLoader(async (f: Function) => {\n const middlewares: Middleware[] = [];\n // do I need to use ServiceProvider like a middleware or can I get rid of this logic?\n middlewares.push(DatabaseServiceProvider.getInstance());\n\n return await runNext(\n middlewares,\n {} as Request,\n {} as Response,\n // @ts-ignore\n f,\n );\n });\n console.log(\"Application bootstrapped successfully.\");\n}\n"],"mappings":";;AAAA,OAAOA,YAAY;AACnB,SAASC,wBAAwB;AAEjC,SAASC,eAAe;AAExB,SAASC,cAAc;AAGvB,eAAsBC,UAAUC,SAA6B;AAI3DL,SAAOG,OAAM;AAEbG,UAAQC,IAAI,8BAAA;AACZD,UAAQC,IAAI,mBAAmBF,QAAQG,QAAQ,EAAE;AACjD,MAAIC,KAAK,MAAM,OAAO,GAAGJ,QAAQG,QAAQ,oBAAoBE;AAC7DP,SAAOQ,KAAKF,CAAAA;AAEZH,UAAQC,IAAI,gCAAA;AACZ,QAAM,OAAO,eAAe;AAC5BD,UAAQC,IAAI,+BAAA;AACZ,QAAM,EAAEK,wBAAuB,IAAK,MAAM,OAAO,2BAAA;AAEjDN,UAAQC,IAAI,+CAAA;AACZN,mBAAiBY,aAAa,OAAOC,MAAAA;AACnC,UAAMC,cAA4B,CAAA;AAElCA,gBAAYC,KAAKJ,wBAAwBK,YAAW,CAAA;AAEpD,WAAO,MAAMf;MACXa;MACA,CAAC;MACD,CAAC;;MAEDD;IAAAA;EAEJ,CAAA;AACAR,UAAQC,IAAI,wCAAA;AACd;AA/BsBH;","names":["dotenv","context_provider","runNext","config","bootstrap","options","console","log","root_dir","a","default","load","DatabaseServiceProvider","setPreLoader","f","middlewares","push","getInstance"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devbro/pashmak",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "testing application for the entire repo",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -97,14 +97,15 @@
|
|
|
97
97
|
"dotenv": "^16.5.0",
|
|
98
98
|
"handlebars": "^4.7.8",
|
|
99
99
|
"jsonwebtoken": "^9.0.2",
|
|
100
|
-
"@devbro/neko-config": "
|
|
101
|
-
"@devbro/neko-context": "
|
|
102
|
-
"@devbro/neko-helper": "
|
|
103
|
-
"@devbro/neko-http": "
|
|
104
|
-
"@devbro/neko-logger": "
|
|
105
|
-
"@devbro/neko-orm": "
|
|
106
|
-
"@devbro/neko-scheduler": "
|
|
107
|
-
"@devbro/neko-sql": "
|
|
100
|
+
"@devbro/neko-config": "0.1.*",
|
|
101
|
+
"@devbro/neko-context": "0.1.*",
|
|
102
|
+
"@devbro/neko-helper": "0.1.*",
|
|
103
|
+
"@devbro/neko-http": "0.1.*",
|
|
104
|
+
"@devbro/neko-logger": "0.1.*",
|
|
105
|
+
"@devbro/neko-orm": "0.1.*",
|
|
106
|
+
"@devbro/neko-scheduler": "0.1.*",
|
|
107
|
+
"@devbro/neko-sql": "0.1.*",
|
|
108
|
+
"@devbro/neko-storage": "0.1.*",
|
|
108
109
|
"pg-pool": "3.10.0",
|
|
109
110
|
"ts-jest": "^29.3.4",
|
|
110
111
|
"tsconfig-paths": "^4.2.0",
|