fragment-ts 2.0.3 → 2.0.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/platform/cli/commands/install/command.d.ts +14 -0
- package/dist/platform/cli/commands/install/command.d.ts.map +1 -0
- package/dist/platform/cli/commands/install/command.js +145 -0
- package/dist/platform/cli/commands/install/command.js.map +1 -0
- package/dist/platform/cli/commands/register.d.ts.map +1 -1
- package/dist/platform/cli/commands/register.js +37 -28
- package/dist/platform/cli/commands/register.js.map +1 -1
- package/dist/platform/cli/index.js +61 -1
- package/dist/platform/cli/index.js.map +1 -1
- package/dist/platform/cli/web/commands/create/feature.d.ts +11 -0
- package/dist/platform/cli/web/commands/create/feature.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/create/feature.js +43 -0
- package/dist/platform/cli/web/commands/create/feature.js.map +1 -0
- package/dist/platform/cli/web/commands/create/module.d.ts +11 -0
- package/dist/platform/cli/web/commands/create/module.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/create/module.js +44 -0
- package/dist/platform/cli/web/commands/create/module.js.map +1 -0
- package/dist/platform/cli/web/commands/create/mvvm.d.ts +11 -0
- package/dist/platform/cli/web/commands/create/mvvm.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/create/mvvm.js +43 -0
- package/dist/platform/cli/web/commands/create/mvvm.js.map +1 -0
- package/dist/platform/cli/web/commands/init-fullstack.d.ts +12 -0
- package/dist/platform/cli/web/commands/init-fullstack.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/init-fullstack.js +42 -0
- package/dist/platform/cli/web/commands/init-fullstack.js.map +1 -0
- package/dist/platform/cli/web/commands/init-web.d.ts +12 -0
- package/dist/platform/cli/web/commands/init-web.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/init-web.js +70 -0
- package/dist/platform/cli/web/commands/init-web.js.map +1 -0
- package/dist/platform/cli/web/commands/install-api.d.ts +11 -0
- package/dist/platform/cli/web/commands/install-api.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/install-api.js +92 -0
- package/dist/platform/cli/web/commands/install-api.js.map +1 -0
- package/dist/platform/cli/web/commands/install-web.d.ts +13 -0
- package/dist/platform/cli/web/commands/install-web.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/install-web.js +102 -0
- package/dist/platform/cli/web/commands/install-web.js.map +1 -0
- package/dist/platform/cli/web/commands/install.d.ts +3 -0
- package/dist/platform/cli/web/commands/install.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/install.js +23 -0
- package/dist/platform/cli/web/commands/install.js.map +1 -0
- package/dist/platform/cli/web/commands/make/component.d.ts +16 -0
- package/dist/platform/cli/web/commands/make/component.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/component.js +73 -0
- package/dist/platform/cli/web/commands/make/component.js.map +1 -0
- package/dist/platform/cli/web/commands/make/guard.d.ts +13 -0
- package/dist/platform/cli/web/commands/make/guard.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/guard.js +46 -0
- package/dist/platform/cli/web/commands/make/guard.js.map +1 -0
- package/dist/platform/cli/web/commands/make/layout.d.ts +12 -0
- package/dist/platform/cli/web/commands/make/layout.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/layout.js +44 -0
- package/dist/platform/cli/web/commands/make/layout.js.map +1 -0
- package/dist/platform/cli/web/commands/make/page.d.ts +17 -0
- package/dist/platform/cli/web/commands/make/page.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/page.js +66 -0
- package/dist/platform/cli/web/commands/make/page.js.map +1 -0
- package/dist/platform/cli/web/commands/make/resource.d.ts +17 -0
- package/dist/platform/cli/web/commands/make/resource.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/resource.js +37 -0
- package/dist/platform/cli/web/commands/make/resource.js.map +1 -0
- package/dist/platform/cli/web/commands/make/service.d.ts +16 -0
- package/dist/platform/cli/web/commands/make/service.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/service.js +137 -0
- package/dist/platform/cli/web/commands/make/service.js.map +1 -0
- package/dist/platform/cli/web/commands/make/store.d.ts +16 -0
- package/dist/platform/cli/web/commands/make/store.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/make/store.js +72 -0
- package/dist/platform/cli/web/commands/make/store.js.map +1 -0
- package/dist/platform/cli/web/commands/web-sync.d.ts +10 -0
- package/dist/platform/cli/web/commands/web-sync.d.ts.map +1 -0
- package/dist/platform/cli/web/commands/web-sync.js +307 -0
- package/dist/platform/cli/web/commands/web-sync.js.map +1 -0
- package/dist/platform/cli/web/index.d.ts +3 -0
- package/dist/platform/cli/web/index.d.ts.map +1 -0
- package/dist/platform/cli/web/index.js +40 -0
- package/dist/platform/cli/web/index.js.map +1 -0
- package/dist/platform/cli/web/utils/config.d.ts +52 -0
- package/dist/platform/cli/web/utils/config.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/config.js +89 -0
- package/dist/platform/cli/web/utils/config.js.map +1 -0
- package/dist/platform/cli/web/utils/format.d.ts +2 -0
- package/dist/platform/cli/web/utils/format.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/format.js +28 -0
- package/dist/platform/cli/web/utils/format.js.map +1 -0
- package/dist/platform/cli/web/utils/header.d.ts +3 -0
- package/dist/platform/cli/web/utils/header.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/header.js +11 -0
- package/dist/platform/cli/web/utils/header.js.map +1 -0
- package/dist/platform/cli/web/utils/logger.d.ts +10 -0
- package/dist/platform/cli/web/utils/logger.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/logger.js +47 -0
- package/dist/platform/cli/web/utils/logger.js.map +1 -0
- package/dist/platform/cli/web/utils/names.d.ts +7 -0
- package/dist/platform/cli/web/utils/names.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/names.js +43 -0
- package/dist/platform/cli/web/utils/names.js.map +1 -0
- package/dist/platform/cli/web/utils/resolve-paths.d.ts +10 -0
- package/dist/platform/cli/web/utils/resolve-paths.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/resolve-paths.js +87 -0
- package/dist/platform/cli/web/utils/resolve-paths.js.map +1 -0
- package/dist/platform/cli/web/utils/write-file.d.ts +7 -0
- package/dist/platform/cli/web/utils/write-file.d.ts.map +1 -0
- package/dist/platform/cli/web/utils/write-file.js +31 -0
- package/dist/platform/cli/web/utils/write-file.js.map +1 -0
- package/dist/web/cli/commands/create/feature.d.ts +11 -0
- package/dist/web/cli/commands/create/feature.d.ts.map +1 -0
- package/dist/web/cli/commands/create/feature.js +43 -0
- package/dist/web/cli/commands/create/feature.js.map +1 -0
- package/dist/web/cli/commands/create/module.d.ts +11 -0
- package/dist/web/cli/commands/create/module.d.ts.map +1 -0
- package/dist/web/cli/commands/create/module.js +44 -0
- package/dist/web/cli/commands/create/module.js.map +1 -0
- package/dist/web/cli/commands/create/mvvm.d.ts +11 -0
- package/dist/web/cli/commands/create/mvvm.d.ts.map +1 -0
- package/dist/web/cli/commands/create/mvvm.js +43 -0
- package/dist/web/cli/commands/create/mvvm.js.map +1 -0
- package/dist/web/cli/commands/init-fullstack.d.ts +12 -0
- package/dist/web/cli/commands/init-fullstack.d.ts.map +1 -0
- package/dist/web/cli/commands/init-fullstack.js +42 -0
- package/dist/web/cli/commands/init-fullstack.js.map +1 -0
- package/dist/web/cli/commands/init-web.d.ts +12 -0
- package/dist/web/cli/commands/init-web.d.ts.map +1 -0
- package/dist/web/cli/commands/init-web.js +70 -0
- package/dist/web/cli/commands/init-web.js.map +1 -0
- package/dist/web/cli/commands/install-api.d.ts +10 -0
- package/dist/web/cli/commands/install-api.d.ts.map +1 -0
- package/dist/web/cli/commands/install-api.js +91 -0
- package/dist/web/cli/commands/install-api.js.map +1 -0
- package/dist/web/cli/commands/install-web.d.ts +12 -0
- package/dist/web/cli/commands/install-web.d.ts.map +1 -0
- package/dist/web/cli/commands/install-web.js +101 -0
- package/dist/web/cli/commands/install-web.js.map +1 -0
- package/dist/web/cli/commands/make/component.d.ts +13 -0
- package/dist/web/cli/commands/make/component.d.ts.map +1 -0
- package/dist/web/cli/commands/make/component.js +40 -0
- package/dist/web/cli/commands/make/component.js.map +1 -0
- package/dist/web/cli/commands/make/guard.d.ts +11 -0
- package/dist/web/cli/commands/make/guard.d.ts.map +1 -0
- package/dist/web/cli/commands/make/guard.js +37 -0
- package/dist/web/cli/commands/make/guard.js.map +1 -0
- package/dist/web/cli/commands/make/layout.d.ts +11 -0
- package/dist/web/cli/commands/make/layout.d.ts.map +1 -0
- package/dist/web/cli/commands/make/layout.js +37 -0
- package/dist/web/cli/commands/make/layout.js.map +1 -0
- package/dist/web/cli/commands/make/page.d.ts +14 -0
- package/dist/web/cli/commands/make/page.d.ts.map +1 -0
- package/dist/web/cli/commands/make/page.js +42 -0
- package/dist/web/cli/commands/make/page.js.map +1 -0
- package/dist/web/cli/commands/make/resource.d.ts +13 -0
- package/dist/web/cli/commands/make/resource.d.ts.map +1 -0
- package/dist/web/cli/commands/make/resource.js +33 -0
- package/dist/web/cli/commands/make/resource.js.map +1 -0
- package/dist/web/cli/commands/make/service.d.ts +14 -0
- package/dist/web/cli/commands/make/service.d.ts.map +1 -0
- package/dist/web/cli/commands/make/service.js +56 -0
- package/dist/web/cli/commands/make/service.js.map +1 -0
- package/dist/web/cli/commands/make/store.d.ts +14 -0
- package/dist/web/cli/commands/make/store.d.ts.map +1 -0
- package/dist/web/cli/commands/make/store.js +47 -0
- package/dist/web/cli/commands/make/store.js.map +1 -0
- package/dist/web/cli/commands/web-sync.d.ts +10 -0
- package/dist/web/cli/commands/web-sync.d.ts.map +1 -0
- package/dist/web/cli/commands/web-sync.js +48 -0
- package/dist/web/cli/commands/web-sync.js.map +1 -0
- package/dist/web/cli/index.d.mts +5 -0
- package/dist/web/cli/index.d.ts +5 -0
- package/dist/web/cli/index.d.ts.map +1 -0
- package/dist/web/cli/index.js +36 -0
- package/dist/web/cli/index.js.map +1 -0
- package/dist/web/cli/index.mjs +984 -0
- package/dist/web/cli/utils/config.d.ts +52 -0
- package/dist/web/cli/utils/config.d.ts.map +1 -0
- package/dist/web/cli/utils/config.js +89 -0
- package/dist/web/cli/utils/config.js.map +1 -0
- package/dist/web/cli/utils/format.d.ts +2 -0
- package/dist/web/cli/utils/format.d.ts.map +1 -0
- package/dist/web/cli/utils/format.js +28 -0
- package/dist/web/cli/utils/format.js.map +1 -0
- package/dist/web/cli/utils/logger.d.ts +10 -0
- package/dist/web/cli/utils/logger.d.ts.map +1 -0
- package/dist/web/cli/utils/logger.js +34 -0
- package/dist/web/cli/utils/logger.js.map +1 -0
- package/dist/web/cli/utils/names.d.ts +7 -0
- package/dist/web/cli/utils/names.d.ts.map +1 -0
- package/dist/web/cli/utils/names.js +43 -0
- package/dist/web/cli/utils/names.js.map +1 -0
- package/dist/web/cli/utils/resolve-paths.d.ts +10 -0
- package/dist/web/cli/utils/resolve-paths.d.ts.map +1 -0
- package/dist/web/cli/utils/resolve-paths.js +87 -0
- package/dist/web/cli/utils/resolve-paths.js.map +1 -0
- package/dist/web/cli/utils/write-file.d.ts +7 -0
- package/dist/web/cli/utils/write-file.d.ts.map +1 -0
- package/dist/web/cli/utils/write-file.js +31 -0
- package/dist/web/cli/utils/write-file.js.map +1 -0
- package/dist/web/platform/cli/web/index.d.mts +5 -0
- package/dist/web/platform/cli/web/index.d.ts +5 -0
- package/dist/web/platform/cli/web/index.js +2035 -0
- package/dist/web/platform/cli/web/index.mjs +1998 -0
- package/dist/web/src/adapters/jotai.d.ts +2 -0
- package/dist/web/src/adapters/jotai.d.ts.map +1 -0
- package/dist/web/src/adapters/jotai.js +7 -0
- package/dist/web/src/adapters/jotai.js.map +1 -0
- package/dist/web/src/adapters/mobx.d.ts +2 -0
- package/dist/web/src/adapters/mobx.d.ts.map +1 -0
- package/dist/web/src/adapters/mobx.js +7 -0
- package/dist/web/src/adapters/mobx.js.map +1 -0
- package/dist/web/src/adapters/redux.d.ts +2 -0
- package/dist/web/src/adapters/redux.d.ts.map +1 -0
- package/dist/web/src/adapters/redux.js +7 -0
- package/dist/web/src/adapters/redux.js.map +1 -0
- package/dist/web/src/adapters/zustand.d.ts +2 -0
- package/dist/web/src/adapters/zustand.d.ts.map +1 -0
- package/dist/web/src/adapters/zustand.js +7 -0
- package/dist/web/src/adapters/zustand.js.map +1 -0
- package/dist/web/src/config/web-config.d.ts +34 -0
- package/dist/web/src/config/web-config.d.ts.map +1 -0
- package/dist/web/src/config/web-config.js +73 -0
- package/dist/web/src/config/web-config.js.map +1 -0
- package/dist/web/src/core/application.d.ts +8 -0
- package/dist/web/src/core/application.d.ts.map +1 -0
- package/dist/web/src/core/application.js +45 -0
- package/dist/web/src/core/application.js.map +1 -0
- package/dist/web/src/core/decorators/component.d.ts +20 -0
- package/dist/web/src/core/decorators/component.d.ts.map +1 -0
- package/dist/web/src/core/decorators/component.js +83 -0
- package/dist/web/src/core/decorators/component.js.map +1 -0
- package/dist/web/src/core/decorators/page.d.ts +27 -0
- package/dist/web/src/core/decorators/page.d.ts.map +1 -0
- package/dist/web/src/core/decorators/page.js +58 -0
- package/dist/web/src/core/decorators/page.js.map +1 -0
- package/dist/web/src/core/di/container.d.ts +8 -0
- package/dist/web/src/core/di/container.d.ts.map +1 -0
- package/dist/web/src/core/di/container.js +26 -0
- package/dist/web/src/core/di/container.js.map +1 -0
- package/dist/web/src/core/runtime.d.ts +3 -0
- package/dist/web/src/core/runtime.d.ts.map +1 -0
- package/dist/web/src/core/runtime.js +15 -0
- package/dist/web/src/core/runtime.js.map +1 -0
- package/dist/web/src/http/fragment-fetch.d.ts +55 -0
- package/dist/web/src/http/fragment-fetch.d.ts.map +1 -0
- package/dist/web/src/http/fragment-fetch.js +290 -0
- package/dist/web/src/http/fragment-fetch.js.map +1 -0
- package/dist/web/src/index.d.mts +137 -0
- package/dist/web/src/index.d.ts +7 -0
- package/dist/web/src/index.d.ts.map +1 -0
- package/dist/web/src/index.js +31 -0
- package/dist/web/src/index.js.map +1 -0
- package/dist/web/src/index.mjs +643 -0
- package/dist/web/src/router/fragment-router.d.ts +14 -0
- package/dist/web/src/router/fragment-router.d.ts.map +1 -0
- package/dist/web/src/router/fragment-router.js +94 -0
- package/dist/web/src/router/fragment-router.js.map +1 -0
- package/dist/web/web/src/index.d.mts +137 -0
- package/dist/web/web/src/index.d.ts +137 -0
- package/dist/web/web/src/index.js +702 -0
- package/dist/web/web/src/index.mjs +644 -0
- package/package.json +15 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FragmentCommand } from "../base/fragment-command";
|
|
2
|
+
export declare class InstallCommand extends FragmentCommand<[string | undefined, any]> {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
protected configure(command: import("commander").Command): void;
|
|
6
|
+
protected execute(directory: string | undefined, options: any): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare class InitAliasCommand extends FragmentCommand<[string | undefined, any]> {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
protected configure(command: import("commander").Command): void;
|
|
12
|
+
protected execute(directory: string | undefined, options: any): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../src/platform/cli/commands/install/command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA0F3D,qBAAa,cAAe,SAAQ,eAAe,CAAC,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC;IAC5E,IAAI,SAAyB;IAC7B,WAAW,SAAoD;IAE/D,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI;cAI/C,OAAO,CAAC,SAAS,EAAE,MAAM,YAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9E;AAED,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,SAAsB;IAC1B,WAAW,SAAuB;IAElC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI;cAI/C,OAAO,CAAC,SAAS,EAAE,MAAM,YAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9E"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.InitAliasCommand = exports.InstallCommand = void 0;
|
|
40
|
+
const fs = __importStar(require("fs-extra"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const ora_1 = __importDefault(require("ora"));
|
|
43
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
+
const child_process_1 = require("child_process");
|
|
45
|
+
const fragment_command_1 = require("../base/fragment-command");
|
|
46
|
+
const init_scaffold_1 = require("../../scaffold/init/init.scaffold");
|
|
47
|
+
const prompts_1 = require("../../scaffold/init/prompts");
|
|
48
|
+
async function runScaffoldInstall(directory = ".", options) {
|
|
49
|
+
const spinner = (0, ora_1.default)();
|
|
50
|
+
try {
|
|
51
|
+
const projectPath = path.resolve(process.cwd(), directory);
|
|
52
|
+
const projectName = path.basename(projectPath);
|
|
53
|
+
spinner.start("Creating project directory...");
|
|
54
|
+
await fs.ensureDir(projectPath);
|
|
55
|
+
spinner.succeed();
|
|
56
|
+
if (options.type === "plugin") {
|
|
57
|
+
const pluginConfig = await (0, prompts_1.promptPluginConfig)(projectName);
|
|
58
|
+
spinner.start("Generating plugin files...");
|
|
59
|
+
await (0, init_scaffold_1.generatePluginProject)(projectPath, pluginConfig);
|
|
60
|
+
spinner.succeed();
|
|
61
|
+
if (!options.skipInstall && process.env.FRAGMENT_SKIP_PACKAGE_INSTALL !== "1") {
|
|
62
|
+
spinner.start("Installing dependencies...");
|
|
63
|
+
try {
|
|
64
|
+
(0, child_process_1.execSync)("npm install", { cwd: projectPath, stdio: "ignore" });
|
|
65
|
+
spinner.succeed();
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
spinner.fail("Failed to install dependencies");
|
|
69
|
+
console.log(chalk_1.default.yellow("You can install them manually by running: npm install"));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
console.log("\n" + chalk_1.default.green("✨ Project installed successfully!"));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const projectConfig = await (0, prompts_1.promptProjectConfig)(projectName, options);
|
|
76
|
+
spinner.start("Generating project files...");
|
|
77
|
+
await (0, init_scaffold_1.generateProjectStructure)(projectPath, projectConfig);
|
|
78
|
+
spinner.succeed();
|
|
79
|
+
spinner.start("Creating configuration files...");
|
|
80
|
+
await (0, init_scaffold_1.createConfigFiles)(projectPath, projectConfig.name, projectConfig);
|
|
81
|
+
spinner.succeed();
|
|
82
|
+
if (!options.skipInstall && process.env.FRAGMENT_SKIP_PACKAGE_INSTALL !== "1") {
|
|
83
|
+
spinner.start("Installing dependencies...");
|
|
84
|
+
try {
|
|
85
|
+
(0, child_process_1.execSync)("npm install", { cwd: projectPath, stdio: "ignore" });
|
|
86
|
+
spinner.succeed();
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
spinner.fail("Failed to install dependencies");
|
|
90
|
+
console.log(chalk_1.default.yellow("You can install them manually by running: npm install"));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
console.log("\n" + chalk_1.default.green("✨ Project installed successfully!"));
|
|
94
|
+
console.log("\nNext steps:");
|
|
95
|
+
if (directory !== ".") {
|
|
96
|
+
console.log(chalk_1.default.cyan(` cd ${directory}`));
|
|
97
|
+
}
|
|
98
|
+
if (options.skipInstall) {
|
|
99
|
+
console.log(chalk_1.default.cyan(" npm install"));
|
|
100
|
+
}
|
|
101
|
+
console.log(chalk_1.default.cyan(" fragment serve"));
|
|
102
|
+
console.log("");
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
spinner.fail("Failed to install project");
|
|
106
|
+
console.error(chalk_1.default.red(error));
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function configureInstallOptions(command) {
|
|
111
|
+
command
|
|
112
|
+
.option("-t, --template <template>", "Project template", "api")
|
|
113
|
+
.option("-f, --features <features>", "Features to include (comma-separated)")
|
|
114
|
+
.option("--type <type>", "Project structure type (module|layered|feature|plugin)")
|
|
115
|
+
.option("--skip-install", "Skip npm install");
|
|
116
|
+
}
|
|
117
|
+
class InstallCommand extends fragment_command_1.FragmentCommand {
|
|
118
|
+
constructor() {
|
|
119
|
+
super(...arguments);
|
|
120
|
+
this.name = "install [directory]";
|
|
121
|
+
this.description = "Install a new Fragment project (replaces init)";
|
|
122
|
+
}
|
|
123
|
+
configure(command) {
|
|
124
|
+
configureInstallOptions(command);
|
|
125
|
+
}
|
|
126
|
+
async execute(directory = ".", options) {
|
|
127
|
+
await runScaffoldInstall(directory, options);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.InstallCommand = InstallCommand;
|
|
131
|
+
class InitAliasCommand extends fragment_command_1.FragmentCommand {
|
|
132
|
+
constructor() {
|
|
133
|
+
super(...arguments);
|
|
134
|
+
this.name = "init [directory]";
|
|
135
|
+
this.description = "Alias for install";
|
|
136
|
+
}
|
|
137
|
+
configure(command) {
|
|
138
|
+
configureInstallOptions(command);
|
|
139
|
+
}
|
|
140
|
+
async execute(directory = ".", options) {
|
|
141
|
+
await runScaffoldInstall(directory, options);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.InitAliasCommand = InitAliasCommand;
|
|
145
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../../src/platform/cli/commands/install/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/platform/cli/commands/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/platform/cli/commands/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CA0B3D"}
|
|
@@ -1,39 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerAllCommands = registerAllCommands;
|
|
4
|
-
const command_1 = require("./
|
|
5
|
-
const command_2 = require("./
|
|
6
|
-
const command_3 = require("./
|
|
7
|
-
const command_4 = require("./
|
|
8
|
-
const command_5 = require("./
|
|
9
|
-
const command_6 = require("./
|
|
10
|
-
const command_7 = require("./
|
|
11
|
-
const command_8 = require("./
|
|
12
|
-
const command_9 = require("./
|
|
4
|
+
const command_1 = require("./add/command");
|
|
5
|
+
const command_2 = require("./build/command");
|
|
6
|
+
const command_3 = require("./cache/command");
|
|
7
|
+
const command_4 = require("./config/command");
|
|
8
|
+
const command_5 = require("./diagnostics/command");
|
|
9
|
+
const command_6 = require("./docs/command");
|
|
10
|
+
const command_7 = require("./generate/command");
|
|
11
|
+
const command_8 = require("./install/command");
|
|
12
|
+
const command_9 = require("./lint/command");
|
|
13
13
|
const command_10 = require("./make/command");
|
|
14
|
-
const command_11 = require("./
|
|
15
|
-
const command_12 = require("./
|
|
16
|
-
const command_13 = require("./
|
|
17
|
-
const command_14 = require("./
|
|
18
|
-
const command_15 = require("./
|
|
14
|
+
const command_11 = require("./migrate/command");
|
|
15
|
+
const command_12 = require("./plugin/command");
|
|
16
|
+
const command_13 = require("./route/command");
|
|
17
|
+
const command_14 = require("./serve/command");
|
|
18
|
+
const command_15 = require("./test/command");
|
|
19
|
+
const install_api_1 = require("../web/commands/install-api");
|
|
20
|
+
const install_web_1 = require("../web/commands/install-web");
|
|
21
|
+
const web_1 = require("../web");
|
|
19
22
|
function registerAllCommands(program) {
|
|
20
23
|
const commands = [
|
|
21
|
-
new
|
|
22
|
-
new
|
|
23
|
-
new
|
|
24
|
-
new
|
|
25
|
-
new
|
|
26
|
-
|
|
27
|
-
...(0,
|
|
28
|
-
|
|
29
|
-
new
|
|
30
|
-
new
|
|
31
|
-
new
|
|
32
|
-
new
|
|
33
|
-
new
|
|
34
|
-
|
|
24
|
+
new command_8.InstallCommand(),
|
|
25
|
+
new command_8.InitAliasCommand(),
|
|
26
|
+
new command_7.GenerateCommand(),
|
|
27
|
+
new command_14.ServeCommand(),
|
|
28
|
+
new command_2.BuildCommand(),
|
|
29
|
+
new command_15.TestCommand(),
|
|
30
|
+
...(0, command_11.getMigrateCommands)(),
|
|
31
|
+
...(0, command_5.getDiagnosticsCommands)(),
|
|
32
|
+
new command_1.AddCommand(),
|
|
33
|
+
new command_13.RouteCommand(),
|
|
34
|
+
new command_4.ConfigCommand(),
|
|
35
|
+
new command_3.CacheCommand(),
|
|
36
|
+
new command_9.LintCommand(),
|
|
37
|
+
new command_6.DocsCommand(),
|
|
38
|
+
...(0, command_12.getPluginCommands)(),
|
|
35
39
|
...(0, command_10.getMakeCommands)(),
|
|
36
40
|
];
|
|
37
41
|
commands.forEach((command) => command.register(program));
|
|
42
|
+
if (program) {
|
|
43
|
+
(0, install_web_1.registerInstallWeb)(program);
|
|
44
|
+
(0, install_api_1.registerInstallApi)(program);
|
|
45
|
+
(0, web_1.registerWebCommands)(program);
|
|
46
|
+
}
|
|
38
47
|
}
|
|
39
48
|
//# sourceMappingURL=register.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/platform/cli/commands/register.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/platform/cli/commands/register.ts"],"names":[],"mappings":";;AAoBA,kDA0BC;AA7CD,2CAA2C;AAC3C,6CAA+C;AAC/C,6CAA+C;AAC/C,8CAAiD;AACjD,mDAA+D;AAC/D,4CAA6C;AAC7C,gDAAqD;AACrD,+CAAqE;AACrE,4CAA6C;AAC7C,6CAAiD;AACjD,gDAAuD;AACvD,+CAAqD;AACrD,8CAA+C;AAC/C,8CAA+C;AAC/C,6CAA6C;AAC7C,6DAAiE;AACjE,6DAAiE;AACjE,gCAA6C;AAE7C,SAAgB,mBAAmB,CAAC,OAAiB;IACnD,MAAM,QAAQ,GAAG;QACf,IAAI,wBAAc,EAAE;QACpB,IAAI,0BAAgB,EAAE;QACtB,IAAI,yBAAe,EAAE;QACrB,IAAI,uBAAY,EAAE;QAClB,IAAI,sBAAY,EAAE;QAClB,IAAI,sBAAW,EAAE;QACjB,GAAG,IAAA,6BAAkB,GAAE;QACvB,GAAG,IAAA,gCAAsB,GAAE;QAC3B,IAAI,oBAAU,EAAE;QAChB,IAAI,uBAAY,EAAE;QAClB,IAAI,uBAAa,EAAE;QACnB,IAAI,sBAAY,EAAE;QAClB,IAAI,qBAAW,EAAE;QACjB,IAAI,qBAAW,EAAE;QACjB,GAAG,IAAA,4BAAiB,GAAE;QACtB,GAAG,IAAA,0BAAe,GAAE;KACrB,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,gCAAkB,EAAC,OAAO,CAAC,CAAC;QAC5B,IAAA,gCAAkB,EAAC,OAAO,CAAC,CAAC;QAC5B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -52,11 +52,71 @@ function resolveCliVersion() {
|
|
|
52
52
|
const cwd = process.cwd();
|
|
53
53
|
env_utils_1.EnvUtils.loadEnvironment(cwd);
|
|
54
54
|
process.chdir(cwd);
|
|
55
|
+
const HELP_EXAMPLES = {
|
|
56
|
+
install: ["frg install my-app", "frg install . --skip-install"],
|
|
57
|
+
init: ["frg init my-app", "frg init . --skip-install"],
|
|
58
|
+
serve: ["frg serve", "frg serve --watch"],
|
|
59
|
+
build: ["frg build"],
|
|
60
|
+
test: ["frg test"],
|
|
61
|
+
lint: ["frg lint", "frg lint --fix"],
|
|
62
|
+
generate: ["frg generate service user", "frg g controller auth"],
|
|
63
|
+
add: ["frg add @my-org/fragment-plugin"],
|
|
64
|
+
"install:web": ["frg install:web", "frg install:web --structure feature --adapter zustand"],
|
|
65
|
+
"install:api": ["frg install:api", "frg install:api --db postgres"],
|
|
66
|
+
"web:sync": ["frg web:sync", "frg web:sync --url http://localhost:3000 --watch"],
|
|
67
|
+
"make:component": ["frg make:component user-card --memo"],
|
|
68
|
+
"make:page": ["frg make:page dashboard --path /dashboard --guard AuthGuard"],
|
|
69
|
+
"make:service": ["frg make:service user --methods findAll,findById", "frg make:service user --target api"],
|
|
70
|
+
"make:store": ["frg make:store session --adapter zustand --fields userId:string,loading:boolean=false"],
|
|
71
|
+
"make:resource": ["frg make:resource user --feature users"],
|
|
72
|
+
"create:module": ["frg create:module user --structure module"],
|
|
73
|
+
"create:feature": ["frg create:feature billing --structure feature"],
|
|
74
|
+
"create:mvvm": ["frg create:mvvm profile --structure mvvm"],
|
|
75
|
+
migrate: ["frg migrate:status", "frg migrate:run"],
|
|
76
|
+
"migrate:create": ["frg migrate:create init-users"],
|
|
77
|
+
"migrate:generate": ["frg migrate:generate add-user-index"],
|
|
78
|
+
"plugin:list": ["frg plugin:list"],
|
|
79
|
+
"plugin:info": ["frg plugin:info my-plugin"],
|
|
80
|
+
"plugin:enable": ["frg plugin:enable my-plugin"],
|
|
81
|
+
"plugin:disable": ["frg plugin:disable my-plugin"],
|
|
82
|
+
"plugin:remove": ["frg plugin:remove my-plugin"],
|
|
83
|
+
};
|
|
84
|
+
function commandKey(command) {
|
|
85
|
+
return command.name();
|
|
86
|
+
}
|
|
87
|
+
function attachCommandHelp(command) {
|
|
88
|
+
const examples = HELP_EXAMPLES[commandKey(command)];
|
|
89
|
+
if (examples && examples.length > 0) {
|
|
90
|
+
command.addHelpText("after", `\nExamples:\n${examples.map((example) => ` ${example}`).join("\n")}`);
|
|
91
|
+
}
|
|
92
|
+
command.commands.forEach((child) => attachCommandHelp(child));
|
|
93
|
+
}
|
|
55
94
|
const program = new commander_1.Command();
|
|
56
95
|
program
|
|
57
96
|
.name("fragment")
|
|
58
97
|
.description("Fragment Framework CLI - A TypeScript framework inspired by Spring Boot")
|
|
59
|
-
.version(resolveCliVersion())
|
|
98
|
+
.version(resolveCliVersion())
|
|
99
|
+
.showHelpAfterError(true)
|
|
100
|
+
.showSuggestionAfterError(true);
|
|
101
|
+
program.configureHelp({
|
|
102
|
+
sortSubcommands: true,
|
|
103
|
+
sortOptions: true,
|
|
104
|
+
});
|
|
60
105
|
(0, register_1.registerAllCommands)(program);
|
|
106
|
+
attachCommandHelp(program);
|
|
107
|
+
program.addHelpText("beforeAll", `
|
|
108
|
+
Quick start:
|
|
109
|
+
frg install my-app
|
|
110
|
+
cd my-app
|
|
111
|
+
frg serve
|
|
112
|
+
`);
|
|
113
|
+
program.addHelpText("after", `
|
|
114
|
+
Web commands:
|
|
115
|
+
install:web Add fragment-web to an existing API project
|
|
116
|
+
install:api Add fragment-ts API to an existing web project
|
|
117
|
+
web:sync Generate typed web client artifacts from OpenAPI
|
|
118
|
+
make:component|page|service|guard|layout|store|resource
|
|
119
|
+
create:module|feature|mvvm
|
|
120
|
+
`);
|
|
61
121
|
program.parse(process.argv);
|
|
62
122
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,uCAAyB;AACzB,2CAA6B;AAC7B,sDAAkD;AAClD,kDAA0D;AAE1D,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC1B,oBAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAEnB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CACV,yEAAyE,CAC1E;KACA,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import { type StructureMode } from "../../utils/config";
|
|
3
|
+
interface CreateFeatureOptions {
|
|
4
|
+
structure?: StructureMode;
|
|
5
|
+
force?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function runCreateFeature(name: string, options?: CreateFeatureOptions): Promise<void>;
|
|
9
|
+
export declare function registerCreateFeature(program: Command): void;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=feature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/cli/web/commands/create/feature.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASzE,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa5D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runCreateFeature = runCreateFeature;
|
|
7
|
+
exports.registerCreateFeature = registerCreateFeature;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const config_1 = require("../../utils/config");
|
|
10
|
+
const names_1 = require("../../utils/names");
|
|
11
|
+
const logger_1 = require("../../utils/logger");
|
|
12
|
+
const write_file_1 = require("../../utils/write-file");
|
|
13
|
+
const component_1 = require("../make/component");
|
|
14
|
+
const page_1 = require("../make/page");
|
|
15
|
+
const service_1 = require("../make/service");
|
|
16
|
+
const store_1 = require("../make/store");
|
|
17
|
+
async function runCreateFeature(name, options = {}) {
|
|
18
|
+
const config = (0, config_1.ensureWebConfig)();
|
|
19
|
+
const mode = options.structure || config.structure;
|
|
20
|
+
if (mode !== "feature") {
|
|
21
|
+
throw new Error("create:feature requires structure mode 'feature' (or pass --structure feature)");
|
|
22
|
+
}
|
|
23
|
+
await (0, page_1.runMakePage)(`${name}-list`, { ...options, structure: mode, feature: name });
|
|
24
|
+
await (0, service_1.runMakeService)(name, { ...options, structure: mode, feature: name });
|
|
25
|
+
await (0, store_1.runMakeStore)(name, { ...options, structure: mode, feature: name });
|
|
26
|
+
await (0, component_1.runMakeComponent)(`${name}-card`, { ...options, structure: mode, feature: name });
|
|
27
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(process.cwd(), "src/features", (0, names_1.toKebabCase)(name), "index.ts"), `// Generated by: frg create:feature ${name}\n// Generated at: ${new Date().toISOString()}\n// fragment-web v0.1.0\nexport * from './pages/${(0, names_1.toKebabCase)(name)}-list.page';\nexport * from './services/${(0, names_1.toKebabCase)(name)}.service';\nexport * from './stores/${(0, names_1.toKebabCase)(name)}.store';\nexport * from './components/${(0, names_1.toKebabCase)(name)}-card.component';\n`, options);
|
|
28
|
+
}
|
|
29
|
+
function registerCreateFeature(program) {
|
|
30
|
+
program
|
|
31
|
+
.command("create:feature <name>")
|
|
32
|
+
.description("Generate a full feature slice")
|
|
33
|
+
.option("--structure <mode>", "Override structure mode")
|
|
34
|
+
.option("--force", "Overwrite existing files")
|
|
35
|
+
.option("--dry-run", "Preview changes")
|
|
36
|
+
.action((name, opts) => {
|
|
37
|
+
runCreateFeature(name, opts).catch((error) => {
|
|
38
|
+
logger_1.logger.error(error instanceof Error ? error.message : "create:feature failed");
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../../../src/platform/cli/web/commands/create/feature.ts"],"names":[],"mappings":";;;;;AAiBA,4CAiBC;AAED,sDAaC;AAjDD,0DAA6B;AAE7B,+CAAyE;AACzE,6CAAgD;AAChD,+CAA4C;AAC5C,uDAA4D;AAC5D,iDAAqD;AACrD,uCAA2C;AAC3C,6CAAiD;AACjD,yCAA6C;AAQtC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,UAAgC,EAAE;IACrF,MAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,IAAA,kBAAW,EAAC,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,IAAA,wBAAc,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAA,oBAAY,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,MAAM,IAAA,4BAAgB,EAAC,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EACvE,uCAAuC,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,oDAAoD,IAAA,mBAAW,EAAC,IAAI,CAAC,2CAA2C,IAAA,mBAAW,EAAC,IAAI,CAAC,uCAAuC,IAAA,mBAAW,EAAC,IAAI,CAAC,yCAAyC,IAAA,mBAAW,EAAC,IAAI,CAAC,qBAAqB,EACjW,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;SACtC,MAAM,CAAC,CAAC,IAAY,EAAE,IAA0B,EAAE,EAAE;QACnD,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACpD,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC/E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import { type StructureMode } from "../../utils/config";
|
|
3
|
+
interface CreateModuleOptions {
|
|
4
|
+
structure?: StructureMode;
|
|
5
|
+
force?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function runCreateModule(name: string, options?: CreateModuleOptions): Promise<void>;
|
|
9
|
+
export declare function registerCreateModule(program: Command): void;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/cli/web/commands/create/module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASzE,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa3D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runCreateModule = runCreateModule;
|
|
7
|
+
exports.registerCreateModule = registerCreateModule;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const config_1 = require("../../utils/config");
|
|
10
|
+
const names_1 = require("../../utils/names");
|
|
11
|
+
const logger_1 = require("../../utils/logger");
|
|
12
|
+
const write_file_1 = require("../../utils/write-file");
|
|
13
|
+
const component_1 = require("../make/component");
|
|
14
|
+
const page_1 = require("../make/page");
|
|
15
|
+
const service_1 = require("../make/service");
|
|
16
|
+
const store_1 = require("../make/store");
|
|
17
|
+
async function runCreateModule(name, options = {}) {
|
|
18
|
+
const config = (0, config_1.ensureWebConfig)();
|
|
19
|
+
const mode = options.structure || config.structure;
|
|
20
|
+
if (mode !== "module") {
|
|
21
|
+
throw new Error("create:module requires structure mode 'module' (or pass --structure module)");
|
|
22
|
+
}
|
|
23
|
+
await (0, page_1.runMakePage)(`${name}-list`, { ...options, structure: mode, module: name });
|
|
24
|
+
await (0, page_1.runMakePage)(`${name}-detail`, { ...options, structure: mode, module: name });
|
|
25
|
+
await (0, service_1.runMakeService)(name, { ...options, structure: mode, module: name });
|
|
26
|
+
await (0, store_1.runMakeStore)(name, { ...options, structure: mode, module: name });
|
|
27
|
+
await (0, component_1.runMakeComponent)(`${name}-card`, { ...options, structure: mode, module: name });
|
|
28
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(process.cwd(), "src/modules", (0, names_1.toKebabCase)(name), "index.ts"), `// Generated by: frg create:module ${name}\n// Generated at: ${new Date().toISOString()}\n// fragment-web v0.1.0\nexport * from './${(0, names_1.toKebabCase)(name)}-list.page';\nexport * from './${(0, names_1.toKebabCase)(name)}-detail.page';\nexport * from './${(0, names_1.toKebabCase)(name)}.service';\nexport * from './${(0, names_1.toKebabCase)(name)}.store';\nexport * from './components/${(0, names_1.toKebabCase)(name)}-card.component';\n`, options);
|
|
29
|
+
}
|
|
30
|
+
function registerCreateModule(program) {
|
|
31
|
+
program
|
|
32
|
+
.command("create:module <name>")
|
|
33
|
+
.description("Generate a full module slice")
|
|
34
|
+
.option("--structure <mode>", "Override structure mode")
|
|
35
|
+
.option("--force", "Overwrite existing files")
|
|
36
|
+
.option("--dry-run", "Preview changes")
|
|
37
|
+
.action((name, opts) => {
|
|
38
|
+
runCreateModule(name, opts).catch((error) => {
|
|
39
|
+
logger_1.logger.error(error instanceof Error ? error.message : "create:module failed");
|
|
40
|
+
process.exitCode = 1;
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../../src/platform/cli/web/commands/create/module.ts"],"names":[],"mappings":";;;;;AAiBA,0CAkBC;AAED,oDAaC;AAlDD,0DAA6B;AAE7B,+CAAyE;AACzE,6CAAgD;AAChD,+CAA4C;AAC5C,uDAA4D;AAC5D,iDAAqD;AACrD,uCAA2C;AAC3C,6CAAiD;AACjD,yCAA6C;AAQtC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,UAA+B,EAAE;IACnF,MAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,IAAA,kBAAW,EAAC,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,IAAA,kBAAW,EAAC,GAAG,IAAI,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,IAAA,wBAAc,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAA,oBAAY,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,IAAA,4BAAgB,EAAC,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EACtE,sCAAsC,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,8CAA8C,IAAA,mBAAW,EAAC,IAAI,CAAC,kCAAkC,IAAA,mBAAW,EAAC,IAAI,CAAC,oCAAoC,IAAA,mBAAW,EAAC,IAAI,CAAC,gCAAgC,IAAA,mBAAW,EAAC,IAAI,CAAC,yCAAyC,IAAA,mBAAW,EAAC,IAAI,CAAC,qBAAqB,EAC/X,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;SACtC,MAAM,CAAC,CAAC,IAAY,EAAE,IAAyB,EAAE,EAAE;QAClD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnD,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;YAC9E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import { type StructureMode } from "../../utils/config";
|
|
3
|
+
interface CreateMvvmOptions {
|
|
4
|
+
structure?: StructureMode;
|
|
5
|
+
force?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function runCreateMvvm(name: string, options?: CreateMvvmOptions): Promise<void>;
|
|
9
|
+
export declare function registerCreateMvvm(program: Command): void;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=mvvm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mvvm.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/cli/web/commands/create/mvvm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOzE,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAazD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runCreateMvvm = runCreateMvvm;
|
|
7
|
+
exports.registerCreateMvvm = registerCreateMvvm;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const config_1 = require("../../utils/config");
|
|
10
|
+
const names_1 = require("../../utils/names");
|
|
11
|
+
const logger_1 = require("../../utils/logger");
|
|
12
|
+
const write_file_1 = require("../../utils/write-file");
|
|
13
|
+
const component_1 = require("../make/component");
|
|
14
|
+
const page_1 = require("../make/page");
|
|
15
|
+
async function runCreateMvvm(name, options = {}) {
|
|
16
|
+
const config = (0, config_1.ensureWebConfig)();
|
|
17
|
+
const mode = options.structure || config.structure;
|
|
18
|
+
if (mode !== "mvvm") {
|
|
19
|
+
throw new Error("create:mvvm requires structure mode 'mvvm' (or pass --structure mvvm)");
|
|
20
|
+
}
|
|
21
|
+
const dom = (0, names_1.toKebabCase)(name);
|
|
22
|
+
const className = (0, names_1.toPascalCase)(name);
|
|
23
|
+
await (0, page_1.runMakePage)(`${name}-list`, { ...options, structure: mode, feature: name });
|
|
24
|
+
await (0, component_1.runMakeComponent)(`${name}-card`, { ...options, structure: mode, feature: name });
|
|
25
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(process.cwd(), "src/app", dom, "viewmodel", `${dom}.vm.ts`), `// Generated by: frg create:mvvm ${name}\n// Generated at: ${new Date().toISOString()}\n// fragment-web v0.1.0\nimport { FragmentFetch, FragmentService } from 'fragment-web';\n\n@FragmentService()\nexport class ${className}Vm {\n async load(): Promise<unknown> {\n return FragmentFetch.get('/${dom}');\n }\n}\n`, options);
|
|
26
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(process.cwd(), "src/app", dom, "model", `${dom}.model.ts`), `// Generated by: frg create:mvvm ${name}\n// Generated at: ${new Date().toISOString()}\n// fragment-web v0.1.0\nexport interface ${className}Model {\n id: string;\n}\n`, options);
|
|
27
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(process.cwd(), "src/app", dom, "index.ts"), `// Generated by: frg create:mvvm ${name}\n// Generated at: ${new Date().toISOString()}\n// fragment-web v0.1.0\nexport * from './model/${dom}.model';\nexport * from './viewmodel/${dom}.vm';\nexport * from './view/${dom}-list.page';\nexport * from './view/${dom}-card.component';\n`, options);
|
|
28
|
+
}
|
|
29
|
+
function registerCreateMvvm(program) {
|
|
30
|
+
program
|
|
31
|
+
.command("create:mvvm <name>")
|
|
32
|
+
.description("Generate a full MVVM slice")
|
|
33
|
+
.option("--structure <mode>", "Override structure mode")
|
|
34
|
+
.option("--force", "Overwrite existing files")
|
|
35
|
+
.option("--dry-run", "Preview changes")
|
|
36
|
+
.action((name, opts) => {
|
|
37
|
+
runCreateMvvm(name, opts).catch((error) => {
|
|
38
|
+
logger_1.logger.error(error instanceof Error ? error.message : "create:mvvm failed");
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=mvvm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mvvm.js","sourceRoot":"","sources":["../../../../../../src/platform/cli/web/commands/create/mvvm.ts"],"names":[],"mappings":";;;;;AAeA,sCA8BC;AAED,gDAaC;AA5DD,0DAA6B;AAE7B,+CAAyE;AACzE,6CAA8D;AAC9D,+CAA4C;AAC5C,uDAA4D;AAC5D,iDAAqD;AACrD,uCAA2C;AAQpC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,UAA6B,EAAE;IAC/E,MAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IACnD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IAErC,MAAM,IAAA,kBAAW,EAAC,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,IAAA,4BAAgB,EAAC,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,QAAQ,CAAC,EACrE,oCAAoC,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,gIAAgI,SAAS,4EAA4E,GAAG,eAAe,EAC7T,OAAO,CACR,CAAC;IAEF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC,EACpE,oCAAoC,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,8CAA8C,SAAS,6BAA6B,EAC1K,OAAO,CACR,CAAC;IAEF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,EACpD,oCAAoC,IAAI,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,oDAAoD,GAAG,wCAAwC,GAAG,gCAAgC,GAAG,uCAAuC,GAAG,qBAAqB,EAC1R,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;SACtC,MAAM,CAAC,CAAC,IAAY,EAAE,IAAuB,EAAE,EAAE;QAChD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACjD,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
interface InitFullstackOptions {
|
|
3
|
+
structure?: "layered" | "module" | "feature" | "mvvm";
|
|
4
|
+
adapter?: "zustand" | "jotai" | "redux" | "mobx";
|
|
5
|
+
db?: string;
|
|
6
|
+
force?: boolean;
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function runInitFullstack(name: string, options?: InitFullstackOptions): Promise<void>;
|
|
10
|
+
export declare function registerInitFullstack(program: Command): void;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=init-fullstack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-fullstack.d.ts","sourceRoot":"","sources":["../../../../../src/platform/cli/web/commands/init-fullstack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACtD,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCtG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe5D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runInitFullstack = runInitFullstack;
|
|
7
|
+
exports.registerInitFullstack = registerInitFullstack;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const init_web_1 = require("./init-web");
|
|
10
|
+
const write_file_1 = require("../utils/write-file");
|
|
11
|
+
const logger_1 = require("../utils/logger");
|
|
12
|
+
async function runInitFullstack(name, options = {}) {
|
|
13
|
+
await (0, init_web_1.runInitWeb)(name, options);
|
|
14
|
+
const root = node_path_1.default.resolve(process.cwd(), name);
|
|
15
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(root, "fragment.json"), `${JSON.stringify({
|
|
16
|
+
serverRoot: "/api",
|
|
17
|
+
database: {
|
|
18
|
+
driver: options.db ?? "sqlite",
|
|
19
|
+
},
|
|
20
|
+
}, null, 2)}\n`, options);
|
|
21
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(root, "src/api/main.ts"), "import 'reflect-metadata';\nimport { FragmentApplication } from 'fragment-ts';\n\n@FragmentApplication()\nclass App {}\n\nexport default App;\n", options);
|
|
22
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(root, "src/api/modules/app/controllers/app.controller.ts"), "import { Controller, Get } from 'fragment-ts';\n\n@Controller('/app')\nexport class AppController {\n @Get('/')\n hello(): string {\n return 'Hello';\n }\n}\n", options);
|
|
23
|
+
(0, write_file_1.writeFileIfAllowed)(node_path_1.default.join(root, "src/api/modules/app/services/app.service.ts"), "import { Service } from 'fragment-ts';\n\n@Service()\nexport class AppService {}\n", options);
|
|
24
|
+
logger_1.logger.done(`Created fullstack project ${name}`);
|
|
25
|
+
}
|
|
26
|
+
function registerInitFullstack(program) {
|
|
27
|
+
program
|
|
28
|
+
.command("init:fullstack <name>")
|
|
29
|
+
.description("Create a new fullstack fragment project")
|
|
30
|
+
.option("--structure <mode>", "Folder structure mode")
|
|
31
|
+
.option("--adapter <adapter>", "State adapter")
|
|
32
|
+
.option("--db <db>", "Database adapter")
|
|
33
|
+
.option("--force", "Overwrite existing files")
|
|
34
|
+
.option("--dry-run", "Preview changes")
|
|
35
|
+
.action((name, opts) => {
|
|
36
|
+
runInitFullstack(name, opts).catch((error) => {
|
|
37
|
+
logger_1.logger.error(error instanceof Error ? error.message : "init:fullstack failed");
|
|
38
|
+
process.exitCode = 1;
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=init-fullstack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-fullstack.js","sourceRoot":"","sources":["../../../../../src/platform/cli/web/commands/init-fullstack.ts"],"names":[],"mappings":";;;;;AAcA,4CAqCC;AAED,sDAeC;AApED,0DAA6B;AAE7B,yCAAwC;AACxC,oDAAyD;AACzD,4CAAyC;AAUlC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,UAAgC,EAAE;IACrF,MAAM,IAAA,qBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAChC,GAAG,IAAI,CAAC,SAAS,CACf;QACE,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,QAAQ;SAC/B;KACF,EACD,IAAI,EACJ,CAAC,CACF,IAAI,EACL,OAAO,CACR,CAAC;IAEF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAClC,iJAAiJ,EACjJ,OAAO,CACR,CAAC;IAEF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mDAAmD,CAAC,EACpE,sKAAsK,EACtK,OAAO,CACR,CAAC;IAEF,IAAA,+BAAkB,EAChB,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,6CAA6C,CAAC,EAC9D,oFAAoF,EACpF,OAAO,CACR,CAAC;IAEF,eAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;SAC9C,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;SACtC,MAAM,CAAC,CAAC,IAAY,EAAE,IAA0B,EAAE,EAAE;QACnD,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACpD,eAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC/E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|