@supacloud/compiler 0.17.0 → 0.19.1

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/config.d.ts CHANGED
@@ -11,6 +11,8 @@ export interface SupaCloudConfig {
11
11
  strict?: boolean;
12
12
  requireRouteContracts?: boolean;
13
13
  generateClient?: boolean;
14
+ generateOpenApi?: boolean;
15
+ openApi?: NonNullable<CompileOptions["openApi"]>;
14
16
  generatePermissions?: boolean;
15
17
  moduleBoundaryPreset?: ModuleBoundaryPresetName;
16
18
  moduleBoundaries?: NonNullable<CompileOptions["moduleBoundaries"]>;
@@ -21,7 +23,7 @@ export interface SupaCloudConfig {
21
23
  commandCapabilities?: CommandExecutionCapabilities;
22
24
  treeShakeUnusedProviders?: boolean;
23
25
  }
24
- export declare const DEFAULT_SUPACLOUD_CONFIG: Required<Omit<SupaCloudConfig, "include" | "moduleBoundaryPreset" | "commandCapabilities" | "moduleBoundaries" | "typeSafety" | "delivery" | "allowRouteCommandBindings" | "disallowControllerDirectDb" | "detectOrphanModules">> & {
26
+ export declare const DEFAULT_SUPACLOUD_CONFIG: Required<Omit<SupaCloudConfig, "include" | "moduleBoundaryPreset" | "commandCapabilities" | "moduleBoundaries" | "typeSafety" | "delivery" | "allowRouteCommandBindings" | "disallowControllerDirectDb" | "detectOrphanModules" | "openApi">> & {
25
27
  include: string[];
26
28
  moduleBoundaryPreset: ModuleBoundaryPresetName;
27
29
  };
@@ -33,6 +35,8 @@ export declare function resolveSupacloudConfig(config?: SupaCloudConfig, cwd?: s
33
35
  strict: boolean;
34
36
  requireRouteContracts: boolean;
35
37
  generateClient: boolean;
38
+ generateOpenApi: boolean;
39
+ openApi?: NonNullable<CompileOptions["openApi"]>;
36
40
  generatePermissions: boolean;
37
41
  moduleBoundaryPreset: ModuleBoundaryPresetName;
38
42
  commandCapabilities?: CommandExecutionCapabilities;
@@ -1,8 +1,10 @@
1
- import type { ApplicationGraph } from "./types";
1
+ import type { ApplicationGraph, OpenApiOptions } from "./types";
2
2
  export interface GenerateOptions {
3
3
  rootDir: string;
4
4
  outDir: string;
5
5
  generateClient?: boolean;
6
+ generateOpenApi?: boolean;
7
+ openApi?: OpenApiOptions;
6
8
  generatePermissions?: boolean;
7
9
  /** Prune unused root providers from compiled output (Angular Ivy AOT tree-shaking). */
8
10
  treeShakeUnusedProviders?: boolean;
@@ -13,6 +15,7 @@ export interface RenderedArtifacts {
13
15
  applicationCode: string;
14
16
  manifestJson: string;
15
17
  clientCode?: string;
18
+ openApiCode?: string;
16
19
  permissionsCode?: string;
17
20
  }
18
21
  /** Render application.ts and app.manifest.json content without file I/O. */
@@ -27,7 +30,15 @@ export declare function writeFileIfChanged(path: string, content: string, hashes
27
30
  * Generates typed API client in client.ts from discovered Controllers and Routes.
28
31
  * Modeled after Angular HttpClient and typed contract clients.
29
32
  */
30
- export declare function renderClient(graph: ApplicationGraph, _options?: GenerateOptions): string;
33
+ export declare function renderClient(graph: ApplicationGraph, options?: GenerateOptions): string;
34
+ /**
35
+ * Generates a self-contained OpenAPI 3.1 document module.
36
+ *
37
+ * Schema values are imported into the generated module and converted there at
38
+ * runtime. The compiler only knows their static symbol references; it never
39
+ * evaluates application code while compiling.
40
+ */
41
+ export declare function renderOpenApi(graph: ApplicationGraph, options?: GenerateOptions): string;
31
42
  /**
32
43
  * Generates static permissions and route permission bindings in permissions.ts.
33
44
  */
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export { applyDiagnosticFix } from "./fixes";
10
10
  export type { AppliedDiagnosticFix, ApplyDiagnosticFixOptions } from "./fixes";
11
11
  export { checkProject, compileProject } from "./compile";
12
12
  export { watchProject } from "./watch";
13
+ export { migrateProject, SUPACLOUD_MIGRATIONS, migrateRouteResponse } from "./migrations";
13
14
  export { createContextPack, createExecutionPlans, doctorProject, explainGraph, formatGraph, exportGraphDot, exportGraphMermaid, } from "./inspect";
14
15
  export { createIncrementalCompiler } from "./incremental";
15
16
  export { createDependencyGraphCache } from "./incremental";
@@ -19,17 +20,20 @@ export type { IncrementalProgramSession, ProgramUpdate } from "./program";
19
20
  export { compileTraits } from "./traits";
20
21
  export { TraitCompiler } from "./traits";
21
22
  export type { TraitCompilation, TraitHandler, TraitKind, TraitRecord } from "./traits";
22
- export { generateApplication, renderApplication } from "./generate";
23
+ export { generateApplication, renderApplication, renderClient, renderOpenApi } from "./generate";
23
24
  export type { GenerateOptions, RenderedArtifacts } from "./generate";
25
+ export { diffOpenApiDocuments, exportGeneratedOpenApiJson, formatOpenApiDiff, loadGeneratedOpenApiDocument, parseOpenApiDocument, readOpenApiJson, serializeOpenApiJson, writeOpenApiJson, OpenApiDocumentError, } from "./openapi-tools";
26
+ export type { OpenApiDiffChange, OpenApiDiffResult, OpenApiDocument, OpenApiExportOptions, OpenApiJsonWriteResult, OpenApiObject, } from "./openapi-tools";
24
27
  export type { ContextPack, DoctorResult, ExecutionPlan } from "./inspect";
28
+ export type { MigrateFileResult, MigrateProjectOptions, MigrateProjectResult, SourceMigrationIssue, SourceMigrationResult, SupaCloudMigration, } from "./migrations";
25
29
  export { validateGraph, COMPILER_DIAGNOSTIC_CODES } from "./validate";
26
- export { scanGeneratedArtifacts, scanProductionSource } from "./type-safety";
30
+ export { scanGeneratedArtifacts, scanProductionSource, TYPE_SAFETY_DIAGNOSTIC_CODES } from "./type-safety";
27
31
  export type { TypeSafetyScanOptions } from "./type-safety";
28
32
  export { DEFAULT_SUPACLOUD_CONFIG, compileOptionsFromConfig, defineSupacloudConfig, loadSupacloudConfig, resolveSupacloudConfig, } from "./config";
29
33
  export type { SupaCloudConfig } from "./config";
30
34
  export { camelName } from "./util";
31
35
  export { ANGULAR_ENTERPRISE_RULES, CLEAN_ARCHITECTURE_RULES, MODULAR_MONOLITH_RULES, MODULE_BOUNDARY_PROFILES, getModuleBoundaryPreset, getModuleBoundaryProfile, resolveModuleBoundaries, } from "./profiles";
32
- export type { ApplicationGraph, AspectRefNode, CachedModuleEntry, CheckProjectResult, CommandExecutionCapabilities, CommandNode, CompileOptions, CompileResult, CompileStats, ControllerNode, DependencyGraphCache, DependencyGraphIndex, Diagnostic, DiagnosticFix, ModuleBoundaryPresetName, ModuleBoundaryProfile, ModuleBoundaryRule, ModuleNode, JobNode, ProviderKind, ProviderNode, QueryNode, RouteNode, Scope, TokenKind, TypeSafetyOptions, ValidateOptions, WatchEvent, WatchHandle, WatchOptions, FeatureSpecNode, FeatureTransitionNode, GraphqlOptions, GraphqlContractSummary, } from "./types";
36
+ export type { ApplicationGraph, AspectRefNode, CachedModuleEntry, CheckProjectResult, CommandExecutionCapabilities, CommandNode, CompileOptions, CompileResult, CompileStats, ControllerNode, DependencyGraphCache, DependencyGraphIndex, Diagnostic, DiagnosticFix, ModuleBoundaryPresetName, ModuleBoundaryProfile, ModuleBoundaryRule, ModuleNode, JobNode, ProviderKind, ProviderNode, QueryNode, RouteNode, Scope, TokenKind, TypeSafetyOptions, ValidateOptions, WatchEvent, WatchHandle, WatchOptions, FeatureSpecNode, FeatureTransitionNode, GraphqlOptions, GraphqlContractSummary, OpenApiOptions, OpenApiSecurityScheme, OpenApiServer, } from "./types";
33
37
  export { inspectRouteContracts, validateRouteContracts } from "./route-contracts";
34
38
  export { pullGraphqlSchema } from "./graphql-schema";
35
39
  export type { PullGraphqlSchemaOptions } from "./graphql-schema";