@gravito/scaffold 1.0.0-beta.1 → 1.1.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/dist/index.cjs +2385 -419
- package/dist/index.d.cts +159 -9
- package/dist/index.d.ts +159 -9
- package/dist/index.js +2380 -419
- package/package.json +8 -5
- package/templates/features/otel/.env.example +2 -0
- package/templates/features/otel/config/telemetry.ts +10 -0
- package/templates/features/otel/docker-compose.yml +15 -0
- package/templates/features/otel/package.json +7 -0
- package/templates/features/redis/.env.example +7 -0
- package/templates/features/redis/config/cache.ts +14 -0
- package/templates/features/redis/config/queue.ts +13 -0
- package/templates/features/redis/docker-compose.yml +17 -0
- package/templates/features/redis/package.json +5 -0
- package/templates/overlays/core/.env.example +14 -0
- package/templates/overlays/core/config/cache.ts +26 -0
- package/templates/overlays/core/config/database.ts +38 -0
- package/templates/overlays/core/config/queue.ts +31 -0
- package/templates/overlays/core/package.json +5 -0
- package/templates/overlays/enterprise/.env.example +26 -0
- package/templates/overlays/enterprise/config/cache.ts +31 -0
- package/templates/overlays/enterprise/config/database.ts +34 -0
- package/templates/overlays/enterprise/config/logging.ts +32 -0
- package/templates/overlays/enterprise/config/queue.ts +31 -0
- package/templates/overlays/enterprise/config/security.ts +20 -0
- package/templates/overlays/enterprise/docker-compose.yml +32 -0
- package/templates/overlays/enterprise/package.json +7 -0
- package/templates/overlays/scale/.env.example +22 -0
- package/templates/overlays/scale/config/cache.ts +31 -0
- package/templates/overlays/scale/config/database.ts +34 -0
- package/templates/overlays/scale/config/queue.ts +34 -0
- package/templates/overlays/scale/docker-compose.yml +32 -0
- package/templates/overlays/scale/package.json +6 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,53 @@
|
|
|
1
1
|
import Handlebars from 'handlebars';
|
|
2
2
|
|
|
3
|
+
type ProfileType = 'core' | 'scale' | 'enterprise';
|
|
4
|
+
interface ProfileConfig {
|
|
5
|
+
drivers: {
|
|
6
|
+
database: string;
|
|
7
|
+
cache: string;
|
|
8
|
+
queue: string;
|
|
9
|
+
storage: string;
|
|
10
|
+
session: string;
|
|
11
|
+
};
|
|
12
|
+
features: string[];
|
|
13
|
+
}
|
|
14
|
+
declare class ProfileResolver {
|
|
15
|
+
private static readonly DEFAULTS;
|
|
16
|
+
resolve(profile?: ProfileType, withFeatures?: string[]): ProfileConfig;
|
|
17
|
+
private applyFeature;
|
|
18
|
+
/**
|
|
19
|
+
* Validator for profile names
|
|
20
|
+
*/
|
|
21
|
+
isValidProfile(profile: string): profile is ProfileType;
|
|
22
|
+
/**
|
|
23
|
+
* Validator for feature names
|
|
24
|
+
*/
|
|
25
|
+
isValidFeature(feature: string): boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface DetectedEnvironment {
|
|
29
|
+
platform: 'aws' | 'gcp' | 'azure' | 'k8s' | 'vercel' | 'netlify' | 'unknown';
|
|
30
|
+
suggestedProfile: ProfileType;
|
|
31
|
+
confidence: 'high' | 'medium' | 'low';
|
|
32
|
+
reason: string;
|
|
33
|
+
}
|
|
34
|
+
declare class EnvironmentDetector {
|
|
35
|
+
detect(): DetectedEnvironment;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare class FileMerger {
|
|
39
|
+
/**
|
|
40
|
+
* Merge content of two files based on their type.
|
|
41
|
+
*/
|
|
42
|
+
merge(fileName: string, baseContent: string, overlayContent: string): string;
|
|
43
|
+
private mergeJson;
|
|
44
|
+
private mergeEnv;
|
|
45
|
+
}
|
|
46
|
+
|
|
3
47
|
/**
|
|
4
48
|
* Architecture types supported by the scaffolding system.
|
|
5
49
|
*/
|
|
6
|
-
type ArchitectureType = 'enterprise-mvc' | 'clean' | 'ddd';
|
|
50
|
+
type ArchitectureType = 'enterprise-mvc' | 'clean' | 'ddd' | 'satellite' | 'action-domain';
|
|
7
51
|
/**
|
|
8
52
|
* Options for scaffolding a new project.
|
|
9
53
|
*/
|
|
@@ -35,6 +79,25 @@ interface ScaffoldOptions {
|
|
|
35
79
|
* @default true
|
|
36
80
|
*/
|
|
37
81
|
installDeps?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Whether to include Spectrum debug dashboard
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
withSpectrum?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Whether this is an internal official satellite
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
isInternal?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Profile preset (Core, Scale, Enterprise)
|
|
94
|
+
* @default 'core'
|
|
95
|
+
*/
|
|
96
|
+
profile?: 'core' | 'scale' | 'enterprise';
|
|
97
|
+
/**
|
|
98
|
+
* Feature add-ons (e.g. 'redis', 'queue', 'otel')
|
|
99
|
+
*/
|
|
100
|
+
features?: string[];
|
|
38
101
|
/**
|
|
39
102
|
* Additional context variables for templates
|
|
40
103
|
*/
|
|
@@ -222,6 +285,7 @@ interface GeneratorConfig {
|
|
|
222
285
|
declare abstract class BaseGenerator {
|
|
223
286
|
protected config: GeneratorConfig;
|
|
224
287
|
protected stubGenerator: StubGenerator;
|
|
288
|
+
protected fileMerger: FileMerger;
|
|
225
289
|
protected filesCreated: string[];
|
|
226
290
|
constructor(config: GeneratorConfig);
|
|
227
291
|
/**
|
|
@@ -255,6 +319,18 @@ declare abstract class BaseGenerator {
|
|
|
255
319
|
* Generate common files (package.json, .env, etc.)
|
|
256
320
|
*/
|
|
257
321
|
protected generateCommonFiles(context: GeneratorContext): Promise<void>;
|
|
322
|
+
/**
|
|
323
|
+
* Apply profile-specific overlays
|
|
324
|
+
*/
|
|
325
|
+
protected applyOverlays(context: GeneratorContext): Promise<void>;
|
|
326
|
+
/**
|
|
327
|
+
* Apply feature-specific overlays
|
|
328
|
+
*/
|
|
329
|
+
protected applyFeatureOverlays(context: GeneratorContext): Promise<void>;
|
|
330
|
+
/**
|
|
331
|
+
* Helper to copy/merge an overlay directory into the target
|
|
332
|
+
*/
|
|
333
|
+
protected copyOverlayDirectory(sourceDir: string, context: GeneratorContext): Promise<void>;
|
|
258
334
|
/**
|
|
259
335
|
* Write a file and track it.
|
|
260
336
|
*/
|
|
@@ -263,6 +339,14 @@ declare abstract class BaseGenerator {
|
|
|
263
339
|
* Generate package.json content.
|
|
264
340
|
*/
|
|
265
341
|
protected generatePackageJson(context: GeneratorContext): string;
|
|
342
|
+
/**
|
|
343
|
+
* Generate Dockerfile content.
|
|
344
|
+
*/
|
|
345
|
+
protected generateDockerfile(context: GeneratorContext): string;
|
|
346
|
+
/**
|
|
347
|
+
* Generate .dockerignore content.
|
|
348
|
+
*/
|
|
349
|
+
protected generateDockerIgnore(): string;
|
|
266
350
|
/**
|
|
267
351
|
* Generate .env.example content.
|
|
268
352
|
*/
|
|
@@ -280,6 +364,26 @@ declare abstract class BaseGenerator {
|
|
|
280
364
|
* Override in subclasses for architecture-specific docs.
|
|
281
365
|
*/
|
|
282
366
|
protected abstract generateArchitectureDoc(context: GeneratorContext): string;
|
|
367
|
+
/**
|
|
368
|
+
* Generate check scripts for project validation.
|
|
369
|
+
*/
|
|
370
|
+
protected generateCheckScripts(context: GeneratorContext): Promise<void>;
|
|
371
|
+
/**
|
|
372
|
+
* Generate check-dependencies.ts script content.
|
|
373
|
+
*/
|
|
374
|
+
protected generateCheckDependenciesScript(): string;
|
|
375
|
+
/**
|
|
376
|
+
* Generate check.sh script content.
|
|
377
|
+
*/
|
|
378
|
+
protected generateCheckShellScript(): string;
|
|
379
|
+
/**
|
|
380
|
+
* Generate pre-commit.sh script content.
|
|
381
|
+
*/
|
|
382
|
+
protected generatePreCommitScript(): string;
|
|
383
|
+
/**
|
|
384
|
+
* Generate CHECK_SYSTEM.md documentation.
|
|
385
|
+
*/
|
|
386
|
+
protected generateCheckSystemDoc(context: GeneratorContext): string;
|
|
283
387
|
/**
|
|
284
388
|
* Log a message if verbose mode is enabled.
|
|
285
389
|
*/
|
|
@@ -310,12 +414,9 @@ declare class CleanArchitectureGenerator extends BaseGenerator {
|
|
|
310
414
|
private generateAuthConfig;
|
|
311
415
|
private generateCacheConfig;
|
|
312
416
|
private generateLoggingConfig;
|
|
313
|
-
private generateBaseEntity;
|
|
314
417
|
private generateUserEntity;
|
|
315
|
-
private generateBaseValueObject;
|
|
316
418
|
private generateEmailValueObject;
|
|
317
419
|
private generateUserRepositoryInterface;
|
|
318
|
-
private generateDomainException;
|
|
319
420
|
private generateCreateUserUseCase;
|
|
320
421
|
private generateGetUserUseCase;
|
|
321
422
|
private generateUserDTO;
|
|
@@ -324,11 +425,15 @@ declare class CleanArchitectureGenerator extends BaseGenerator {
|
|
|
324
425
|
private generateMailService;
|
|
325
426
|
private generateAppServiceProvider;
|
|
326
427
|
private generateRepositoryServiceProvider;
|
|
428
|
+
private generateProvidersIndex;
|
|
429
|
+
private generateMiddlewareProvider;
|
|
430
|
+
private generateRouteProvider;
|
|
327
431
|
private generateUserController;
|
|
328
432
|
private generateApiRoutes;
|
|
329
433
|
private generateUserPresenter;
|
|
330
434
|
private generateBootstrap;
|
|
331
435
|
protected generateArchitectureDoc(context: GeneratorContext): string;
|
|
436
|
+
protected generatePackageJson(context: GeneratorContext): string;
|
|
332
437
|
}
|
|
333
438
|
|
|
334
439
|
/**
|
|
@@ -366,10 +471,6 @@ declare class DddGenerator extends BaseGenerator {
|
|
|
366
471
|
private generateIdValueObject;
|
|
367
472
|
private generateMoneyValueObject;
|
|
368
473
|
private generateEmailValueObject;
|
|
369
|
-
private generateDomainEvent;
|
|
370
|
-
private generateAggregateRoot;
|
|
371
|
-
private generateEntity;
|
|
372
|
-
private generateValueObject;
|
|
373
474
|
private generateEventDispatcher;
|
|
374
475
|
private generateAggregate;
|
|
375
476
|
private generateAggregateStatus;
|
|
@@ -411,12 +512,61 @@ declare class EnterpriseMvcGenerator extends BaseGenerator {
|
|
|
411
512
|
private generateAuthMiddleware;
|
|
412
513
|
private generateAppServiceProvider;
|
|
413
514
|
private generateRouteServiceProvider;
|
|
515
|
+
private generateProvidersIndex;
|
|
516
|
+
private generateDatabaseProvider;
|
|
517
|
+
private generateMiddlewareProvider;
|
|
518
|
+
private generateRouteProvider;
|
|
414
519
|
private generateExceptionHandler;
|
|
415
520
|
private generateBootstrap;
|
|
416
521
|
private generateRoutes;
|
|
417
522
|
protected generateArchitectureDoc(context: GeneratorContext): string;
|
|
418
523
|
}
|
|
419
524
|
|
|
525
|
+
/**
|
|
526
|
+
* SatelliteGenerator - Scaffolds Gravito Satellites (Plugins)
|
|
527
|
+
*
|
|
528
|
+
* Implements DDD + Clean Architecture for plugins with built-in
|
|
529
|
+
* Dogfooding support (pre-configured with Gravito modules).
|
|
530
|
+
*/
|
|
531
|
+
|
|
532
|
+
declare class SatelliteGenerator extends BaseGenerator {
|
|
533
|
+
get architectureType(): "satellite";
|
|
534
|
+
get displayName(): string;
|
|
535
|
+
get description(): string;
|
|
536
|
+
getDirectoryStructure(context: GeneratorContext): DirectoryNode[];
|
|
537
|
+
private generateEntity;
|
|
538
|
+
private generateRepositoryInterface;
|
|
539
|
+
private generateUseCase;
|
|
540
|
+
private generateAtlasRepository;
|
|
541
|
+
private generateEntryPoint;
|
|
542
|
+
private generateManifest;
|
|
543
|
+
protected generatePackageJson(context: GeneratorContext): string;
|
|
544
|
+
protected generateArchitectureDoc(context: GeneratorContext): string;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
interface LockFile {
|
|
548
|
+
profile: {
|
|
549
|
+
name: ProfileType;
|
|
550
|
+
version: string;
|
|
551
|
+
};
|
|
552
|
+
features: string[];
|
|
553
|
+
drivers: {
|
|
554
|
+
database: string;
|
|
555
|
+
cache: string;
|
|
556
|
+
queue: string;
|
|
557
|
+
storage: string;
|
|
558
|
+
session: string;
|
|
559
|
+
};
|
|
560
|
+
manifest: {
|
|
561
|
+
template: string;
|
|
562
|
+
version: string;
|
|
563
|
+
};
|
|
564
|
+
createdAt: string;
|
|
565
|
+
}
|
|
566
|
+
declare class LockGenerator {
|
|
567
|
+
generate(profileName: ProfileType, config: ProfileConfig, templateName?: string, templateVersion?: string): string;
|
|
568
|
+
}
|
|
569
|
+
|
|
420
570
|
/**
|
|
421
571
|
* Scaffold - Main API for project scaffolding
|
|
422
572
|
*
|
|
@@ -459,4 +609,4 @@ declare class Scaffold {
|
|
|
459
609
|
generateProvider(_targetDir: string, _providerName: string): Promise<ScaffoldResult>;
|
|
460
610
|
}
|
|
461
611
|
|
|
462
|
-
export { type ArchitectureType, BaseGenerator, CleanArchitectureGenerator, DddGenerator, EnterpriseMvcGenerator, type GeneratorConfig, type GeneratorContext, Scaffold, type ScaffoldOptions, type StubConfig, StubGenerator, type StubVariables };
|
|
612
|
+
export { type ArchitectureType, BaseGenerator, CleanArchitectureGenerator, DddGenerator, type DetectedEnvironment, EnterpriseMvcGenerator, EnvironmentDetector, FileMerger, type GeneratorConfig, type GeneratorContext, type LockFile, LockGenerator, type ProfileConfig, ProfileResolver, type ProfileType, SatelliteGenerator, Scaffold, type ScaffoldOptions, type StubConfig, StubGenerator, type StubVariables };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,53 @@
|
|
|
1
1
|
import Handlebars from 'handlebars';
|
|
2
2
|
|
|
3
|
+
type ProfileType = 'core' | 'scale' | 'enterprise';
|
|
4
|
+
interface ProfileConfig {
|
|
5
|
+
drivers: {
|
|
6
|
+
database: string;
|
|
7
|
+
cache: string;
|
|
8
|
+
queue: string;
|
|
9
|
+
storage: string;
|
|
10
|
+
session: string;
|
|
11
|
+
};
|
|
12
|
+
features: string[];
|
|
13
|
+
}
|
|
14
|
+
declare class ProfileResolver {
|
|
15
|
+
private static readonly DEFAULTS;
|
|
16
|
+
resolve(profile?: ProfileType, withFeatures?: string[]): ProfileConfig;
|
|
17
|
+
private applyFeature;
|
|
18
|
+
/**
|
|
19
|
+
* Validator for profile names
|
|
20
|
+
*/
|
|
21
|
+
isValidProfile(profile: string): profile is ProfileType;
|
|
22
|
+
/**
|
|
23
|
+
* Validator for feature names
|
|
24
|
+
*/
|
|
25
|
+
isValidFeature(feature: string): boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface DetectedEnvironment {
|
|
29
|
+
platform: 'aws' | 'gcp' | 'azure' | 'k8s' | 'vercel' | 'netlify' | 'unknown';
|
|
30
|
+
suggestedProfile: ProfileType;
|
|
31
|
+
confidence: 'high' | 'medium' | 'low';
|
|
32
|
+
reason: string;
|
|
33
|
+
}
|
|
34
|
+
declare class EnvironmentDetector {
|
|
35
|
+
detect(): DetectedEnvironment;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare class FileMerger {
|
|
39
|
+
/**
|
|
40
|
+
* Merge content of two files based on their type.
|
|
41
|
+
*/
|
|
42
|
+
merge(fileName: string, baseContent: string, overlayContent: string): string;
|
|
43
|
+
private mergeJson;
|
|
44
|
+
private mergeEnv;
|
|
45
|
+
}
|
|
46
|
+
|
|
3
47
|
/**
|
|
4
48
|
* Architecture types supported by the scaffolding system.
|
|
5
49
|
*/
|
|
6
|
-
type ArchitectureType = 'enterprise-mvc' | 'clean' | 'ddd';
|
|
50
|
+
type ArchitectureType = 'enterprise-mvc' | 'clean' | 'ddd' | 'satellite' | 'action-domain';
|
|
7
51
|
/**
|
|
8
52
|
* Options for scaffolding a new project.
|
|
9
53
|
*/
|
|
@@ -35,6 +79,25 @@ interface ScaffoldOptions {
|
|
|
35
79
|
* @default true
|
|
36
80
|
*/
|
|
37
81
|
installDeps?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Whether to include Spectrum debug dashboard
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
withSpectrum?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Whether this is an internal official satellite
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
isInternal?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Profile preset (Core, Scale, Enterprise)
|
|
94
|
+
* @default 'core'
|
|
95
|
+
*/
|
|
96
|
+
profile?: 'core' | 'scale' | 'enterprise';
|
|
97
|
+
/**
|
|
98
|
+
* Feature add-ons (e.g. 'redis', 'queue', 'otel')
|
|
99
|
+
*/
|
|
100
|
+
features?: string[];
|
|
38
101
|
/**
|
|
39
102
|
* Additional context variables for templates
|
|
40
103
|
*/
|
|
@@ -222,6 +285,7 @@ interface GeneratorConfig {
|
|
|
222
285
|
declare abstract class BaseGenerator {
|
|
223
286
|
protected config: GeneratorConfig;
|
|
224
287
|
protected stubGenerator: StubGenerator;
|
|
288
|
+
protected fileMerger: FileMerger;
|
|
225
289
|
protected filesCreated: string[];
|
|
226
290
|
constructor(config: GeneratorConfig);
|
|
227
291
|
/**
|
|
@@ -255,6 +319,18 @@ declare abstract class BaseGenerator {
|
|
|
255
319
|
* Generate common files (package.json, .env, etc.)
|
|
256
320
|
*/
|
|
257
321
|
protected generateCommonFiles(context: GeneratorContext): Promise<void>;
|
|
322
|
+
/**
|
|
323
|
+
* Apply profile-specific overlays
|
|
324
|
+
*/
|
|
325
|
+
protected applyOverlays(context: GeneratorContext): Promise<void>;
|
|
326
|
+
/**
|
|
327
|
+
* Apply feature-specific overlays
|
|
328
|
+
*/
|
|
329
|
+
protected applyFeatureOverlays(context: GeneratorContext): Promise<void>;
|
|
330
|
+
/**
|
|
331
|
+
* Helper to copy/merge an overlay directory into the target
|
|
332
|
+
*/
|
|
333
|
+
protected copyOverlayDirectory(sourceDir: string, context: GeneratorContext): Promise<void>;
|
|
258
334
|
/**
|
|
259
335
|
* Write a file and track it.
|
|
260
336
|
*/
|
|
@@ -263,6 +339,14 @@ declare abstract class BaseGenerator {
|
|
|
263
339
|
* Generate package.json content.
|
|
264
340
|
*/
|
|
265
341
|
protected generatePackageJson(context: GeneratorContext): string;
|
|
342
|
+
/**
|
|
343
|
+
* Generate Dockerfile content.
|
|
344
|
+
*/
|
|
345
|
+
protected generateDockerfile(context: GeneratorContext): string;
|
|
346
|
+
/**
|
|
347
|
+
* Generate .dockerignore content.
|
|
348
|
+
*/
|
|
349
|
+
protected generateDockerIgnore(): string;
|
|
266
350
|
/**
|
|
267
351
|
* Generate .env.example content.
|
|
268
352
|
*/
|
|
@@ -280,6 +364,26 @@ declare abstract class BaseGenerator {
|
|
|
280
364
|
* Override in subclasses for architecture-specific docs.
|
|
281
365
|
*/
|
|
282
366
|
protected abstract generateArchitectureDoc(context: GeneratorContext): string;
|
|
367
|
+
/**
|
|
368
|
+
* Generate check scripts for project validation.
|
|
369
|
+
*/
|
|
370
|
+
protected generateCheckScripts(context: GeneratorContext): Promise<void>;
|
|
371
|
+
/**
|
|
372
|
+
* Generate check-dependencies.ts script content.
|
|
373
|
+
*/
|
|
374
|
+
protected generateCheckDependenciesScript(): string;
|
|
375
|
+
/**
|
|
376
|
+
* Generate check.sh script content.
|
|
377
|
+
*/
|
|
378
|
+
protected generateCheckShellScript(): string;
|
|
379
|
+
/**
|
|
380
|
+
* Generate pre-commit.sh script content.
|
|
381
|
+
*/
|
|
382
|
+
protected generatePreCommitScript(): string;
|
|
383
|
+
/**
|
|
384
|
+
* Generate CHECK_SYSTEM.md documentation.
|
|
385
|
+
*/
|
|
386
|
+
protected generateCheckSystemDoc(context: GeneratorContext): string;
|
|
283
387
|
/**
|
|
284
388
|
* Log a message if verbose mode is enabled.
|
|
285
389
|
*/
|
|
@@ -310,12 +414,9 @@ declare class CleanArchitectureGenerator extends BaseGenerator {
|
|
|
310
414
|
private generateAuthConfig;
|
|
311
415
|
private generateCacheConfig;
|
|
312
416
|
private generateLoggingConfig;
|
|
313
|
-
private generateBaseEntity;
|
|
314
417
|
private generateUserEntity;
|
|
315
|
-
private generateBaseValueObject;
|
|
316
418
|
private generateEmailValueObject;
|
|
317
419
|
private generateUserRepositoryInterface;
|
|
318
|
-
private generateDomainException;
|
|
319
420
|
private generateCreateUserUseCase;
|
|
320
421
|
private generateGetUserUseCase;
|
|
321
422
|
private generateUserDTO;
|
|
@@ -324,11 +425,15 @@ declare class CleanArchitectureGenerator extends BaseGenerator {
|
|
|
324
425
|
private generateMailService;
|
|
325
426
|
private generateAppServiceProvider;
|
|
326
427
|
private generateRepositoryServiceProvider;
|
|
428
|
+
private generateProvidersIndex;
|
|
429
|
+
private generateMiddlewareProvider;
|
|
430
|
+
private generateRouteProvider;
|
|
327
431
|
private generateUserController;
|
|
328
432
|
private generateApiRoutes;
|
|
329
433
|
private generateUserPresenter;
|
|
330
434
|
private generateBootstrap;
|
|
331
435
|
protected generateArchitectureDoc(context: GeneratorContext): string;
|
|
436
|
+
protected generatePackageJson(context: GeneratorContext): string;
|
|
332
437
|
}
|
|
333
438
|
|
|
334
439
|
/**
|
|
@@ -366,10 +471,6 @@ declare class DddGenerator extends BaseGenerator {
|
|
|
366
471
|
private generateIdValueObject;
|
|
367
472
|
private generateMoneyValueObject;
|
|
368
473
|
private generateEmailValueObject;
|
|
369
|
-
private generateDomainEvent;
|
|
370
|
-
private generateAggregateRoot;
|
|
371
|
-
private generateEntity;
|
|
372
|
-
private generateValueObject;
|
|
373
474
|
private generateEventDispatcher;
|
|
374
475
|
private generateAggregate;
|
|
375
476
|
private generateAggregateStatus;
|
|
@@ -411,12 +512,61 @@ declare class EnterpriseMvcGenerator extends BaseGenerator {
|
|
|
411
512
|
private generateAuthMiddleware;
|
|
412
513
|
private generateAppServiceProvider;
|
|
413
514
|
private generateRouteServiceProvider;
|
|
515
|
+
private generateProvidersIndex;
|
|
516
|
+
private generateDatabaseProvider;
|
|
517
|
+
private generateMiddlewareProvider;
|
|
518
|
+
private generateRouteProvider;
|
|
414
519
|
private generateExceptionHandler;
|
|
415
520
|
private generateBootstrap;
|
|
416
521
|
private generateRoutes;
|
|
417
522
|
protected generateArchitectureDoc(context: GeneratorContext): string;
|
|
418
523
|
}
|
|
419
524
|
|
|
525
|
+
/**
|
|
526
|
+
* SatelliteGenerator - Scaffolds Gravito Satellites (Plugins)
|
|
527
|
+
*
|
|
528
|
+
* Implements DDD + Clean Architecture for plugins with built-in
|
|
529
|
+
* Dogfooding support (pre-configured with Gravito modules).
|
|
530
|
+
*/
|
|
531
|
+
|
|
532
|
+
declare class SatelliteGenerator extends BaseGenerator {
|
|
533
|
+
get architectureType(): "satellite";
|
|
534
|
+
get displayName(): string;
|
|
535
|
+
get description(): string;
|
|
536
|
+
getDirectoryStructure(context: GeneratorContext): DirectoryNode[];
|
|
537
|
+
private generateEntity;
|
|
538
|
+
private generateRepositoryInterface;
|
|
539
|
+
private generateUseCase;
|
|
540
|
+
private generateAtlasRepository;
|
|
541
|
+
private generateEntryPoint;
|
|
542
|
+
private generateManifest;
|
|
543
|
+
protected generatePackageJson(context: GeneratorContext): string;
|
|
544
|
+
protected generateArchitectureDoc(context: GeneratorContext): string;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
interface LockFile {
|
|
548
|
+
profile: {
|
|
549
|
+
name: ProfileType;
|
|
550
|
+
version: string;
|
|
551
|
+
};
|
|
552
|
+
features: string[];
|
|
553
|
+
drivers: {
|
|
554
|
+
database: string;
|
|
555
|
+
cache: string;
|
|
556
|
+
queue: string;
|
|
557
|
+
storage: string;
|
|
558
|
+
session: string;
|
|
559
|
+
};
|
|
560
|
+
manifest: {
|
|
561
|
+
template: string;
|
|
562
|
+
version: string;
|
|
563
|
+
};
|
|
564
|
+
createdAt: string;
|
|
565
|
+
}
|
|
566
|
+
declare class LockGenerator {
|
|
567
|
+
generate(profileName: ProfileType, config: ProfileConfig, templateName?: string, templateVersion?: string): string;
|
|
568
|
+
}
|
|
569
|
+
|
|
420
570
|
/**
|
|
421
571
|
* Scaffold - Main API for project scaffolding
|
|
422
572
|
*
|
|
@@ -459,4 +609,4 @@ declare class Scaffold {
|
|
|
459
609
|
generateProvider(_targetDir: string, _providerName: string): Promise<ScaffoldResult>;
|
|
460
610
|
}
|
|
461
611
|
|
|
462
|
-
export { type ArchitectureType, BaseGenerator, CleanArchitectureGenerator, DddGenerator, EnterpriseMvcGenerator, type GeneratorConfig, type GeneratorContext, Scaffold, type ScaffoldOptions, type StubConfig, StubGenerator, type StubVariables };
|
|
612
|
+
export { type ArchitectureType, BaseGenerator, CleanArchitectureGenerator, DddGenerator, type DetectedEnvironment, EnterpriseMvcGenerator, EnvironmentDetector, FileMerger, type GeneratorConfig, type GeneratorContext, type LockFile, LockGenerator, type ProfileConfig, ProfileResolver, type ProfileType, SatelliteGenerator, Scaffold, type ScaffoldOptions, type StubConfig, StubGenerator, type StubVariables };
|