@iconsulting-dev/forgekit 1.4.2 → 1.6.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.
- package/README.md +26 -13
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +44 -6
- package/dist/commands/new.js.map +1 -1
- package/dist/generators/backend/index.d.ts.map +1 -1
- package/dist/generators/backend/index.js +18 -5
- package/dist/generators/backend/index.js.map +1 -1
- package/dist/generators/ci/index.d.ts.map +1 -1
- package/dist/generators/ci/index.js +5 -1
- package/dist/generators/ci/index.js.map +1 -1
- package/dist/generators/claude-code/index.d.ts.map +1 -1
- package/dist/generators/claude-code/index.js +15 -2
- package/dist/generators/claude-code/index.js.map +1 -1
- package/dist/generators/docker/index.d.ts.map +1 -1
- package/dist/generators/docker/index.js +3 -1
- package/dist/generators/docker/index.js.map +1 -1
- package/dist/generators/fastapi/index.d.ts +3 -0
- package/dist/generators/fastapi/index.d.ts.map +1 -0
- package/dist/generators/fastapi/index.js +32 -0
- package/dist/generators/fastapi/index.js.map +1 -0
- package/dist/generators/frontend/index.d.ts.map +1 -1
- package/dist/generators/frontend/index.js +62 -1
- package/dist/generators/frontend/index.js.map +1 -1
- package/dist/generators/root/index.js +1 -1
- package/dist/generators/root/index.js.map +1 -1
- package/dist/prompts/project.d.ts.map +1 -1
- package/dist/prompts/project.js +110 -38
- package/dist/prompts/project.js.map +1 -1
- package/dist/templates/backend/application.yml.hbs +5 -1
- package/dist/templates/backend/pom.xml.hbs +12 -0
- package/dist/templates/ci/ci.yml.hbs +25 -1
- package/dist/templates/claude-code/CLAUDE.md.hbs +66 -22
- package/dist/templates/claude-code/settings.json.hbs +3 -2
- package/dist/templates/docker/docker-compose.yml.hbs +11 -0
- package/dist/templates/fastapi/Dockerfile.hbs +12 -0
- package/dist/templates/fastapi/config.py.hbs +12 -0
- package/dist/templates/fastapi/gitignore.hbs +13 -0
- package/dist/templates/fastapi/health.py.hbs +8 -0
- package/dist/templates/fastapi/main.py.hbs +6 -0
- package/dist/templates/fastapi/python-version.hbs +1 -0
- package/dist/templates/fastapi/requirements.txt.hbs +5 -0
- package/dist/templates/fastapi/test_health.py.hbs +11 -0
- package/dist/templates/frontend/app.config.ts.hbs +6 -2
- package/dist/templates/frontend/ngrx-app-store.ts.hbs +14 -0
- package/dist/templates/frontend/styles.scss.hbs +17 -0
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/template-engine.d.ts.map +1 -1
- package/dist/utils/template-engine.js +1 -0
- package/dist/utils/template-engine.js.map +1 -1
- package/dist/versions.d.ts +3 -1
- package/dist/versions.d.ts.map +1 -1
- package/dist/versions.js +5 -1
- package/dist/versions.js.map +1 -1
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
+
export type UIFramework = "primeng" | "tailwind" | "none";
|
|
2
|
+
export type PrimeNGPreset = "Aura" | "Lara" | "Nora";
|
|
3
|
+
export type BackendType = "spring-boot" | "fastapi" | null;
|
|
1
4
|
export interface ProjectConfig {
|
|
2
5
|
name: string;
|
|
3
6
|
groupId: string;
|
|
4
7
|
description: string;
|
|
5
|
-
|
|
8
|
+
backendType: BackendType;
|
|
6
9
|
frontend: boolean;
|
|
10
|
+
flyway: boolean;
|
|
11
|
+
openapi: boolean;
|
|
7
12
|
auth: boolean;
|
|
13
|
+
mapstruct: boolean;
|
|
14
|
+
uiFramework: UIFramework;
|
|
15
|
+
primeNGPreset: PrimeNGPreset;
|
|
16
|
+
ngrx: boolean;
|
|
8
17
|
docker: boolean;
|
|
9
18
|
ci: boolean;
|
|
10
19
|
claudeCode: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IAEpB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IAEnB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;IAEd,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/utils/template-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/utils/template-engine.ts"],"names":[],"mappings":"AAWA,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAKR;AAED,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
const __filename = fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = path.dirname(__filename);
|
|
7
7
|
const TEMPLATES_DIR = path.join(__dirname, "..", "templates");
|
|
8
|
+
Handlebars.registerHelper("lowerCase", (str) => str.toLowerCase());
|
|
8
9
|
export function renderTemplate(templatePath, data) {
|
|
9
10
|
const fullPath = path.join(TEMPLATES_DIR, templatePath);
|
|
10
11
|
const source = fs.readFileSync(fullPath, "utf-8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/utils/template-engine.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAE9D,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAoB,EACpB,UAAkB,EAClB,IAA6B,EAC7B,OAA2B;IAE3B,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/utils/template-engine.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAE9D,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAE3E,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAoB,EACpB,UAAkB,EAClB,IAA6B,EAC7B,OAA2B;IAE3B,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
package/dist/versions.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BackendType } from "./types.js";
|
|
1
2
|
export interface ResolvedVersions {
|
|
2
3
|
springBoot: string;
|
|
3
4
|
springDoc: string;
|
|
@@ -11,9 +12,10 @@ export interface ResolvedVersions {
|
|
|
11
12
|
rxjs: string;
|
|
12
13
|
zoneJs: string;
|
|
13
14
|
typescript: string;
|
|
15
|
+
tailwind: string;
|
|
14
16
|
}
|
|
15
17
|
export declare function resolveVersions(opts: {
|
|
16
|
-
|
|
18
|
+
backendType: BackendType;
|
|
17
19
|
frontend: boolean;
|
|
18
20
|
}): Promise<ResolvedVersions>;
|
|
19
21
|
//# sourceMappingURL=versions.d.ts.map
|
package/dist/versions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAE/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkDD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmE5B"}
|
package/dist/versions.js
CHANGED
|
@@ -12,6 +12,7 @@ const FALLBACK_VERSIONS = {
|
|
|
12
12
|
rxjs: "7.8.0",
|
|
13
13
|
zoneJs: "0.15.0",
|
|
14
14
|
typescript: "5.9.0",
|
|
15
|
+
tailwind: "4.0.0",
|
|
15
16
|
};
|
|
16
17
|
async function fetchNpmVersion(packageName) {
|
|
17
18
|
try {
|
|
@@ -46,7 +47,7 @@ export async function resolveVersions(opts) {
|
|
|
46
47
|
const versions = { ...FALLBACK_VERSIONS };
|
|
47
48
|
process.stdout.write(chalk.gray(" Résolution des dernières versions..."));
|
|
48
49
|
const tasks = [];
|
|
49
|
-
if (opts.
|
|
50
|
+
if (opts.backendType === "spring-boot") {
|
|
50
51
|
tasks.push(fetchMavenVersion("org.springframework.boot", "spring-boot-starter-parent").then((v) => {
|
|
51
52
|
if (v)
|
|
52
53
|
versions.springBoot = v;
|
|
@@ -86,6 +87,9 @@ export async function resolveVersions(opts) {
|
|
|
86
87
|
}), fetchNpmVersion("typescript").then((v) => {
|
|
87
88
|
if (v)
|
|
88
89
|
versions.typescript = v;
|
|
90
|
+
}), fetchNpmVersion("tailwindcss").then((v) => {
|
|
91
|
+
if (v)
|
|
92
|
+
versions.tailwind = v;
|
|
89
93
|
}));
|
|
90
94
|
}
|
|
91
95
|
await Promise.all(tasks);
|
package/dist/versions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"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"}
|