@arkstack/console-slim 0.1.29 → 0.1.30
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-CQsshUJ7.js → app-DtecNuLP.js} +36 -20
- package/dist/app-DtecNuLP.js.map +1 -0
- package/dist/app.d.ts +11 -0
- package/dist/app.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
- package/dist/app-CQsshUJ7.js.map +0 -1
|
@@ -3,17 +3,19 @@ import { CliApp } from "resora";
|
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
|
|
5
5
|
//#region dist/config.js
|
|
6
|
-
const defaultConfig = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
const defaultConfig = (app) => {
|
|
7
|
+
return {
|
|
8
|
+
resourcesDir: "dist/app/http/resources",
|
|
9
|
+
localStubsDir: `node_modules/@arkstack/driver-${app.getDriver().name ?? "h3"}/stubs`,
|
|
10
|
+
stubs: {
|
|
11
|
+
resource: "resource.stub",
|
|
12
|
+
collection: "resource.collection.stub",
|
|
13
|
+
controller: "controller.stub",
|
|
14
|
+
api: "controller.api.stub",
|
|
15
|
+
model: "controller.model.stub",
|
|
16
|
+
apiResource: "controller.api.resource.stub"
|
|
17
|
+
}
|
|
18
|
+
};
|
|
17
19
|
};
|
|
18
20
|
|
|
19
21
|
//#endregion
|
|
@@ -36,16 +38,10 @@ var ArkstackConsoleApp = class extends CliApp {
|
|
|
36
38
|
super();
|
|
37
39
|
this.core = core;
|
|
38
40
|
this.options = options;
|
|
39
|
-
this.
|
|
40
|
-
...defaultConfig,
|
|
41
|
-
...this.config,
|
|
42
|
-
stubs: {
|
|
43
|
-
...defaultConfig.stubs,
|
|
44
|
-
...this.config?.stubs
|
|
45
|
-
}
|
|
46
|
-
};
|
|
41
|
+
this.mergeConfig();
|
|
47
42
|
}
|
|
48
43
|
makeController = (name, opts) => {
|
|
44
|
+
this.mergeConfig();
|
|
49
45
|
const normalized = name.endsWith("Controller") ? name.replace(/controller/i, "") : name;
|
|
50
46
|
let controllerName = normalized.endsWith("Controller") ? normalized : `${normalized}Controller`;
|
|
51
47
|
const outputPath = join(path.resolve(process.cwd(), "src", "app/http/controllers"), `${controllerName}.${opts?.ext ?? "ts"}`);
|
|
@@ -68,11 +64,31 @@ var ArkstackConsoleApp = class extends CliApp {
|
|
|
68
64
|
}, opts);
|
|
69
65
|
return outputPath;
|
|
70
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Normalize a file path by removing the current working directory from it.
|
|
69
|
+
*
|
|
70
|
+
* @param p
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
71
73
|
normalizePath = (p) => {
|
|
72
74
|
return p.replace(process.cwd(), "");
|
|
73
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* Recursively merge defaultConfig with config from resora.config.js, giving
|
|
78
|
+
* precedence to resora.
|
|
79
|
+
*/
|
|
80
|
+
mergeConfig = () => {
|
|
81
|
+
this.config = {
|
|
82
|
+
...defaultConfig(this.core),
|
|
83
|
+
...this.config,
|
|
84
|
+
stubs: {
|
|
85
|
+
...defaultConfig(this.core).stubs,
|
|
86
|
+
...this.config?.stubs
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
};
|
|
74
90
|
};
|
|
75
91
|
|
|
76
92
|
//#endregion
|
|
77
93
|
export { resolveStubsDir as n, ArkstackConsoleApp as t };
|
|
78
|
-
//# sourceMappingURL=app-
|
|
94
|
+
//# sourceMappingURL=app-DtecNuLP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-DtecNuLP.js","names":[],"sources":["../src/config.ts","../src/app.ts"],"sourcesContent":["import { Core } from './types'\n\nexport const defaultConfig = (app: Core) => {\n const driver = app.getDriver().name ?? 'h3'\n\n return {\n resourcesDir: 'src/app/http/resources',\n localStubsDir: `node_modules/@arkstack/driver-${driver}/stubs`,\n stubs: {\n resource: 'resource.stub',\n collection: 'resource.collection.stub',\n controller: 'controller.stub',\n api: 'controller.api.stub',\n model: 'controller.model.stub',\n apiResource: 'controller.api.resource.stub',\n }\n }\n}","// oxlint-disable typescript/no-explicit-any\nimport path, { isAbsolute, join } from 'node:path'\n\nimport { CliApp } from 'resora'\nimport { defaultConfig } from './config'\nimport { existsSync } from 'node:fs'\n\ninterface Core {\n [k: string]: any\n getDriver: () => {\n [k: string]: any\n name: string\n }\n}\n\nexport interface ConsoleAppOptions {\n stubsDir?: string;\n}\n\nexport const resolveStubsDir = (\n config: { localStubsDir?: string } | undefined,\n options?: ConsoleAppOptions,\n core?: Core\n\n) => {\n const configuredDir = config?.localStubsDir\n\n if (configuredDir) {\n return isAbsolute(configuredDir)\n ? configuredDir\n : join(process.cwd(), configuredDir)\n }\n\n if (!options?.stubsDir) {\n const driver = core?.getDriver().name ?? 'h3'\n let stubsDir = path.resolve(process.cwd(), `node_modules/@arkstack/driver-${driver}/stubs`)\n if (!existsSync(stubsDir)) {\n stubsDir = path.resolve(process.cwd(), 'stubs')\n }\n\n return stubsDir\n }\n\n return options?.stubsDir\n}\n\nexport class ArkstackConsoleApp<TCore extends Core> extends CliApp {\n core: TCore\n private readonly options: ConsoleAppOptions\n\n constructor(\n core: TCore,\n options: ConsoleAppOptions,\n ) {\n super()\n this.core = core\n this.options = options\n this.mergeConfig()\n }\n\n makeController = (name: string, opts: any) => {\n this.mergeConfig()\n const normalized = (name.endsWith('Controller') ? name.replace(/controller/i, '') : name)\n\n let controllerName = normalized.endsWith('Controller') ? normalized : `${normalized}Controller`\n const controllersDir = path.resolve(process.cwd(), 'src', 'app/http/controllers')\n const fileName = `${controllerName}.${opts?.ext ?? 'ts'}`\n const outputPath = join(controllersDir, fileName)\n const stubsDir = resolveStubsDir(this.config as any, this.options, this.core)\n if (!stubsDir) {\n console.error('Error: stubsDir is not configured. Set stubsDir in resora.config.js.')\n process.exit(1)\n }\n\n const stubPath = join(\n stubsDir,\n opts.model\n ? (this.config.stubs as any).model\n : opts.api\n ? (this.config.stubs as any).api\n : (this.config.stubs as any).controller,\n )\n\n if (!existsSync(stubPath)) {\n console.error(`Error: Stub file ${stubPath} not found.`)\n process.exit(1)\n }\n\n controllerName = controllerName.split('/').pop() as string\n\n this.generateFile(\n stubPath,\n outputPath,\n {\n // If class name contains / or ., take only the last part for the class name\n ControllerName: controllerName,\n Model: opts.model?.pascalCase(),\n ModelName: opts.model?.camelCase(),\n Name: controllerName.replace(/controller/i, ''),\n },\n opts,\n )\n\n return outputPath\n }\n\n /**\n * Normalize a file path by removing the current working directory from it. \n * \n * @param p \n * @returns \n */\n normalizePath = (p: string) => {\n return p.replace(process.cwd(), '')\n }\n\n /**\n * Recursively merge defaultConfig with config from resora.config.js, giving \n * precedence to resora.\n */\n mergeConfig = () => {\n this.config = {\n ...defaultConfig(this.core),\n ...this.config,\n stubs: {\n ...defaultConfig(this.core).stubs,\n ...this.config?.stubs,\n },\n }\n }\n}\n"],"mappings":";;;;;AAEA,MAAa,iBAAiB,QAAc;AAGxC,QAAO;EACH,cAAc;EACd,eAAe,iCAJJ,IAAI,WAAW,CAAC,QAAQ,KAIoB;EACvD,OAAO;GACH,UAAU;GACV,YAAY;GACZ,YAAY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GAChB;EACJ;;;;;ACGL,MAAa,mBACT,QACA,SACA,SAEC;CACD,MAAM,gBAAgB,QAAQ;AAE9B,KAAI,cACA,QAAO,WAAW,cAAc,GAC1B,gBACA,KAAK,QAAQ,KAAK,EAAE,cAAc;AAG5C,KAAI,CAAC,SAAS,UAAU;EACpB,MAAM,SAAS,MAAM,WAAW,CAAC,QAAQ;EACzC,IAAI,WAAW,KAAK,QAAQ,QAAQ,KAAK,EAAE,iCAAiC,OAAO,QAAQ;AAC3F,MAAI,CAAC,WAAW,SAAS,CACrB,YAAW,KAAK,QAAQ,QAAQ,KAAK,EAAE,QAAQ;AAGnD,SAAO;;AAGX,QAAO,SAAS;;AAGpB,IAAa,qBAAb,cAA4D,OAAO;CAC/D;CACA,AAAiB;CAEjB,YACI,MACA,SACF;AACE,SAAO;AACP,OAAK,OAAO;AACZ,OAAK,UAAU;AACf,OAAK,aAAa;;CAGtB,kBAAkB,MAAc,SAAc;AAC1C,OAAK,aAAa;EAClB,MAAM,aAAc,KAAK,SAAS,aAAa,GAAG,KAAK,QAAQ,eAAe,GAAG,GAAG;EAEpF,IAAI,iBAAiB,WAAW,SAAS,aAAa,GAAG,aAAa,GAAG,WAAW;EAGpF,MAAM,aAAa,KAFI,KAAK,QAAQ,QAAQ,KAAK,EAAE,OAAO,uBAAuB,EAChE,GAAG,eAAe,GAAG,MAAM,OAAO,OACF;EACjD,MAAM,WAAW,gBAAgB,KAAK,QAAe,KAAK,SAAS,KAAK,KAAK;AAC7E,MAAI,CAAC,UAAU;AACX,WAAQ,MAAM,uEAAuE;AACrF,WAAQ,KAAK,EAAE;;EAGnB,MAAM,WAAW,KACb,UACA,KAAK,QACE,KAAK,OAAO,MAAc,QAC3B,KAAK,MACA,KAAK,OAAO,MAAc,MAC1B,KAAK,OAAO,MAAc,WACxC;AAED,MAAI,CAAC,WAAW,SAAS,EAAE;AACvB,WAAQ,MAAM,oBAAoB,SAAS,aAAa;AACxD,WAAQ,KAAK,EAAE;;AAGnB,mBAAiB,eAAe,MAAM,IAAI,CAAC,KAAK;AAEhD,OAAK,aACD,UACA,YACA;GAEI,gBAAgB;GAChB,OAAO,KAAK,OAAO,YAAY;GAC/B,WAAW,KAAK,OAAO,WAAW;GAClC,MAAM,eAAe,QAAQ,eAAe,GAAG;GAClD,EACD,KACH;AAED,SAAO;;;;;;;;CASX,iBAAiB,MAAc;AAC3B,SAAO,EAAE,QAAQ,QAAQ,KAAK,EAAE,GAAG;;;;;;CAOvC,oBAAoB;AAChB,OAAK,SAAS;GACV,GAAG,cAAc,KAAK,KAAK;GAC3B,GAAG,KAAK;GACR,OAAO;IACH,GAAG,cAAc,KAAK,KAAK,CAAC;IAC5B,GAAG,KAAK,QAAQ;IACnB;GACJ"}
|
package/dist/app.d.ts
CHANGED
|
@@ -19,7 +19,18 @@ declare class ArkstackConsoleApp<TCore extends Core> extends CliApp {
|
|
|
19
19
|
private readonly options;
|
|
20
20
|
constructor(core: TCore, options: ConsoleAppOptions);
|
|
21
21
|
makeController: (name: string, opts: any) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Normalize a file path by removing the current working directory from it.
|
|
24
|
+
*
|
|
25
|
+
* @param p
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
22
28
|
normalizePath: (p: string) => string;
|
|
29
|
+
/**
|
|
30
|
+
* Recursively merge defaultConfig with config from resora.config.js, giving
|
|
31
|
+
* precedence to resora.
|
|
32
|
+
*/
|
|
33
|
+
mergeConfig: () => void;
|
|
23
34
|
}
|
|
24
35
|
//#endregion
|
|
25
36
|
export { ArkstackConsoleApp, ConsoleAppOptions, resolveStubsDir };
|
package/dist/app.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { t as ArkstackConsoleApp } from "./app-
|
|
2
|
+
import { t as ArkstackConsoleApp } from "./app-DtecNuLP.js";
|
|
3
3
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { MakeResource } from "resora";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkstack/console-slim",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Slim console package for Arkstack providing lightweight console-specific implementations of core Arkstack features such as routing, middleware.",
|
|
6
6
|
"homepage": "https://arkstack.toneflix.net",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"@h3ravel/musket": "^0.10.1",
|
|
49
49
|
"chalk": "^5.6.2",
|
|
50
50
|
"resora": "^0.2.14",
|
|
51
|
-
"@arkstack/common": "^0.1.
|
|
52
|
-
"@arkstack/contract": "^0.1.
|
|
51
|
+
"@arkstack/common": "^0.1.30",
|
|
52
|
+
"@arkstack/contract": "^0.1.30"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "tsdown",
|
package/dist/app-CQsshUJ7.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-CQsshUJ7.js","names":[],"sources":["../src/config.ts","../src/app.ts"],"sourcesContent":["export const defaultConfig = {\n resourcesDir: 'src/app/http/resources',\n localStubsDir: 'node_modules/@arkstack/driver-h3/stubs',\n stubs: {\n resource: 'resource.stub',\n collection: 'resource.collection.stub',\n controller: 'controller.stub',\n api: 'controller.api.stub',\n model: 'controller.model.stub',\n apiResource: 'controller.api.resource.stub',\n }\n}","// oxlint-disable typescript/no-explicit-any\nimport path, { isAbsolute, join } from 'node:path'\n\nimport { CliApp } from 'resora'\nimport { defaultConfig } from './config'\nimport { existsSync } from 'node:fs'\n\ninterface Core {\n [k: string]: any\n getDriver: () => {\n [k: string]: any\n name: string\n }\n}\n\nexport interface ConsoleAppOptions {\n stubsDir?: string;\n}\n\nexport const resolveStubsDir = (\n config: { localStubsDir?: string } | undefined,\n options?: ConsoleAppOptions,\n core?: Core\n\n) => {\n const configuredDir = config?.localStubsDir\n\n if (configuredDir) {\n return isAbsolute(configuredDir)\n ? configuredDir\n : join(process.cwd(), configuredDir)\n }\n\n if (!options?.stubsDir) {\n const driver = core?.getDriver().name ?? 'h3'\n let stubsDir = path.resolve(process.cwd(), `node_modules/@arkstack/driver-${driver}/stubs`)\n if (!existsSync(stubsDir)) {\n stubsDir = path.resolve(process.cwd(), 'stubs')\n }\n\n return stubsDir\n }\n\n return options?.stubsDir\n}\n\nexport class ArkstackConsoleApp<TCore extends Core> extends CliApp {\n core: TCore\n private readonly options: ConsoleAppOptions\n\n constructor(\n core: TCore,\n options: ConsoleAppOptions,\n ) {\n super()\n this.core = core\n this.options = options\n\n // Recursively merge defaultConfig with config from resora.config.js\n this.config = {\n ...defaultConfig,\n ...this.config,\n stubs: {\n ...defaultConfig.stubs,\n ...this.config?.stubs,\n },\n }\n }\n\n makeController = (name: string, opts: any) => {\n const normalized = (name.endsWith('Controller') ? name.replace(/controller/i, '') : name)\n\n let controllerName = normalized.endsWith('Controller') ? normalized : `${normalized}Controller`\n const controllersDir = path.resolve(process.cwd(), 'src', 'app/http/controllers')\n const fileName = `${controllerName}.${opts?.ext ?? 'ts'}`\n const outputPath = join(controllersDir, fileName)\n const stubsDir = resolveStubsDir(this.config as any, this.options, this.core)\n if (!stubsDir) {\n console.error('Error: stubsDir is not configured. Set stubsDir in resora.config.js.')\n process.exit(1)\n }\n\n const stubPath = join(\n stubsDir,\n opts.model\n ? (this.config.stubs as any).model\n : opts.api\n ? (this.config.stubs as any).api\n : (this.config.stubs as any).controller,\n )\n\n if (!existsSync(stubPath)) {\n console.error(`Error: Stub file ${stubPath} not found.`)\n process.exit(1)\n }\n\n controllerName = controllerName.split('/').pop() as string\n\n this.generateFile(\n stubPath,\n outputPath,\n {\n // If class name contains / or ., take only the last part for the class name\n ControllerName: controllerName,\n Model: opts.model?.pascalCase(),\n ModelName: opts.model?.camelCase(),\n Name: controllerName.replace(/controller/i, ''),\n },\n opts,\n )\n\n return outputPath\n }\n\n normalizePath = (p: string) => {\n return p.replace(process.cwd(), '')\n }\n}\n"],"mappings":";;;;;AAAA,MAAa,gBAAgB;CACzB,cAAc;CACd,eAAe;CACf,OAAO;EACH,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,KAAK;EACL,OAAO;EACP,aAAa;EAChB;;;;;ACSL,MAAa,mBACT,QACA,SACA,SAEC;CACD,MAAM,gBAAgB,QAAQ;AAE9B,KAAI,cACA,QAAO,WAAW,cAAc,GAC1B,gBACA,KAAK,QAAQ,KAAK,EAAE,cAAc;AAG5C,KAAI,CAAC,SAAS,UAAU;EACpB,MAAM,SAAS,MAAM,WAAW,CAAC,QAAQ;EACzC,IAAI,WAAW,KAAK,QAAQ,QAAQ,KAAK,EAAE,iCAAiC,OAAO,QAAQ;AAC3F,MAAI,CAAC,WAAW,SAAS,CACrB,YAAW,KAAK,QAAQ,QAAQ,KAAK,EAAE,QAAQ;AAGnD,SAAO;;AAGX,QAAO,SAAS;;AAGpB,IAAa,qBAAb,cAA4D,OAAO;CAC/D;CACA,AAAiB;CAEjB,YACI,MACA,SACF;AACE,SAAO;AACP,OAAK,OAAO;AACZ,OAAK,UAAU;AAGf,OAAK,SAAS;GACV,GAAG;GACH,GAAG,KAAK;GACR,OAAO;IACH,GAAG,cAAc;IACjB,GAAG,KAAK,QAAQ;IACnB;GACJ;;CAGL,kBAAkB,MAAc,SAAc;EAC1C,MAAM,aAAc,KAAK,SAAS,aAAa,GAAG,KAAK,QAAQ,eAAe,GAAG,GAAG;EAEpF,IAAI,iBAAiB,WAAW,SAAS,aAAa,GAAG,aAAa,GAAG,WAAW;EAGpF,MAAM,aAAa,KAFI,KAAK,QAAQ,QAAQ,KAAK,EAAE,OAAO,uBAAuB,EAChE,GAAG,eAAe,GAAG,MAAM,OAAO,OACF;EACjD,MAAM,WAAW,gBAAgB,KAAK,QAAe,KAAK,SAAS,KAAK,KAAK;AAC7E,MAAI,CAAC,UAAU;AACX,WAAQ,MAAM,uEAAuE;AACrF,WAAQ,KAAK,EAAE;;EAGnB,MAAM,WAAW,KACb,UACA,KAAK,QACE,KAAK,OAAO,MAAc,QAC3B,KAAK,MACA,KAAK,OAAO,MAAc,MAC1B,KAAK,OAAO,MAAc,WACxC;AAED,MAAI,CAAC,WAAW,SAAS,EAAE;AACvB,WAAQ,MAAM,oBAAoB,SAAS,aAAa;AACxD,WAAQ,KAAK,EAAE;;AAGnB,mBAAiB,eAAe,MAAM,IAAI,CAAC,KAAK;AAEhD,OAAK,aACD,UACA,YACA;GAEI,gBAAgB;GAChB,OAAO,KAAK,OAAO,YAAY;GAC/B,WAAW,KAAK,OAAO,WAAW;GAClC,MAAM,eAAe,QAAQ,eAAe,GAAG;GAClD,EACD,KACH;AAED,SAAO;;CAGX,iBAAiB,MAAc;AAC3B,SAAO,EAAE,QAAQ,QAAQ,KAAK,EAAE,GAAG"}
|