@bleedingdev/modern-js-app-tools 3.9.0-ultramodern.2 → 3.9.0-ultramodern.20

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.
Files changed (138) hide show
  1. package/dist/cjs/builder/generator/createCopyPattern.js +2 -1
  2. package/dist/cjs/builder/generator/index.js +0 -1
  3. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +2 -1
  4. package/dist/cjs/builder/shared/builderPlugins/index.js +4 -11
  5. package/dist/cjs/builder/shared/lazyCompilation.js +26 -0
  6. package/dist/cjs/commands/index.js +6 -2
  7. package/dist/cjs/compat/hooks.js +1 -1
  8. package/dist/cjs/config/index.js +4 -11
  9. package/dist/cjs/index.js +70 -87
  10. package/dist/cjs/plugins/analyze/getFileSystemEntry.js +1 -1
  11. package/dist/cjs/plugins/analyze/getServerRoutes.js +1 -1
  12. package/dist/cjs/plugins/analyze/utils.js +2 -2
  13. package/dist/cjs/plugins/deploy/index.js +7 -28
  14. package/dist/cjs/plugins/deploy/platforms/netlify.js +2 -1
  15. package/dist/cjs/plugins/deploy/platforms/node.js +12 -16
  16. package/dist/cjs/plugins/deploy/platforms/vercel.js +2 -1
  17. package/dist/cjs/plugins/deploy/utils/generator.js +1 -1
  18. package/dist/cjs/plugins/deploy/utils/index.js +15 -12
  19. package/dist/cjs/plugins/initialize/index.js +3 -1
  20. package/dist/cjs/plugins/serverBuild.js +2 -3
  21. package/dist/cjs/{plugins/backendFederationBuild.js → server-plugin.js} +4 -7
  22. package/dist/cjs/utils/loadPlugins.js +1 -6
  23. package/dist/esm/builder/generator/createCopyPattern.mjs +2 -1
  24. package/dist/esm/builder/generator/index.mjs +1 -2
  25. package/dist/esm/builder/shared/builderPlugins/adapterHtml.mjs +2 -1
  26. package/dist/esm/builder/shared/builderPlugins/index.mjs +0 -1
  27. package/dist/esm/builder/shared/lazyCompilation.mjs +14 -1
  28. package/dist/esm/commands/index.mjs +6 -2
  29. package/dist/esm/compat/hooks.mjs +1 -1
  30. package/dist/esm/config/index.mjs +0 -1
  31. package/dist/esm/index.mjs +9 -6
  32. package/dist/esm/plugins/analyze/getFileSystemEntry.mjs +1 -1
  33. package/dist/esm/plugins/analyze/getServerRoutes.mjs +1 -1
  34. package/dist/esm/plugins/analyze/utils.mjs +2 -2
  35. package/dist/esm/plugins/deploy/index.mjs +5 -21
  36. package/dist/esm/plugins/deploy/platforms/netlify.mjs +2 -1
  37. package/dist/esm/plugins/deploy/platforms/node.mjs +12 -16
  38. package/dist/esm/plugins/deploy/platforms/vercel.mjs +2 -1
  39. package/dist/esm/plugins/deploy/utils/generator.mjs +1 -1
  40. package/dist/esm/plugins/deploy/utils/index.mjs +17 -14
  41. package/dist/esm/plugins/initialize/index.mjs +3 -1
  42. package/dist/esm/plugins/serverBuild.mjs +2 -3
  43. package/dist/esm/server-plugin.mjs +1 -0
  44. package/dist/esm/utils/loadPlugins.mjs +2 -7
  45. package/dist/esm-node/builder/generator/createCopyPattern.mjs +2 -1
  46. package/dist/esm-node/builder/generator/index.mjs +1 -2
  47. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.mjs +2 -1
  48. package/dist/esm-node/builder/shared/builderPlugins/index.mjs +0 -1
  49. package/dist/esm-node/builder/shared/lazyCompilation.mjs +14 -1
  50. package/dist/esm-node/commands/index.mjs +6 -2
  51. package/dist/esm-node/compat/hooks.mjs +1 -1
  52. package/dist/esm-node/config/index.mjs +0 -1
  53. package/dist/esm-node/index.mjs +9 -6
  54. package/dist/esm-node/plugins/analyze/getFileSystemEntry.mjs +1 -1
  55. package/dist/esm-node/plugins/analyze/getServerRoutes.mjs +1 -1
  56. package/dist/esm-node/plugins/analyze/utils.mjs +2 -2
  57. package/dist/esm-node/plugins/deploy/index.mjs +5 -21
  58. package/dist/esm-node/plugins/deploy/platforms/netlify.mjs +2 -1
  59. package/dist/esm-node/plugins/deploy/platforms/node.mjs +12 -16
  60. package/dist/esm-node/plugins/deploy/platforms/vercel.mjs +2 -1
  61. package/dist/esm-node/plugins/deploy/utils/generator.mjs +1 -1
  62. package/dist/esm-node/plugins/deploy/utils/index.mjs +17 -15
  63. package/dist/esm-node/plugins/initialize/index.mjs +3 -1
  64. package/dist/esm-node/plugins/serverBuild.mjs +2 -3
  65. package/dist/esm-node/server-plugin.mjs +2 -0
  66. package/dist/esm-node/utils/loadPlugins.mjs +2 -7
  67. package/dist/types/builder/shared/builderPlugins/index.d.ts +0 -1
  68. package/dist/types/builder/shared/lazyCompilation.d.ts +15 -0
  69. package/dist/types/config/index.d.ts +0 -1
  70. package/dist/types/index.d.ts +2 -2
  71. package/dist/types/plugins/deploy/index.d.ts +1 -4
  72. package/dist/types/plugins/deploy/utils/generator.d.ts +1 -1
  73. package/dist/types/plugins/deploy/utils/index.d.ts +1 -1
  74. package/dist/types/server-plugin.d.ts +10 -0
  75. package/dist/types/types/config/output.d.ts +0 -9
  76. package/dist/types/types/index.d.ts +1 -1
  77. package/dist/types/types/plugin.d.ts +58 -2
  78. package/dist/types/utils/initAppContext.d.ts +3 -2
  79. package/docs/apis/app/commands.md +1 -0
  80. package/docs/configure/app/bff/effect.md +34 -36
  81. package/docs/configure/app/source/react-compiler.md +2 -0
  82. package/docs/guides/advanced-features/bff/data-platform.md +2 -2
  83. package/docs/guides/advanced-features/bff/frameworks.md +36 -24
  84. package/docs/guides/advanced-features/bff/function.md +2 -2
  85. package/docs/guides/advanced-features/bff/operators.md +17 -17
  86. package/docs/guides/basic-features/render/ssr-cache.md +14 -1
  87. package/docs/guides/get-started/quick-start.md +2 -6
  88. package/docs/guides/get-started/ultramodern.md +14 -97
  89. package/docs/llms.txt +3 -3
  90. package/docs/plugin/server-plugins/api.md +1 -0
  91. package/package.json +38 -36
  92. package/dist/cjs/builder/shared/builderPlugins/adapterPrecompress.js +0 -125
  93. package/dist/cjs/config/build-environment.js +0 -268
  94. package/dist/cjs/config/public.js +0 -46
  95. package/dist/cjs/plugins/backend-federation/codegen.js +0 -256
  96. package/dist/cjs/plugins/backend-federation/config.js +0 -204
  97. package/dist/cjs/plugins/backend-federation/emit.js +0 -150
  98. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js +0 -62
  99. package/dist/cjs/plugins/deploy/utils/npmAliases.js +0 -226
  100. package/dist/cjs/plugins/ultramodernReleaseEnvelope.js +0 -44
  101. package/dist/cjs/presetUltramodern.js +0 -168
  102. package/dist/cjs/types/config/precompress.js +0 -18
  103. package/dist/esm/builder/shared/builderPlugins/adapterPrecompress.mjs +0 -77
  104. package/dist/esm/config/build-environment.mjs +0 -224
  105. package/dist/esm/config/public.mjs +0 -1
  106. package/dist/esm/plugins/backend-federation/codegen.mjs +0 -205
  107. package/dist/esm/plugins/backend-federation/config.mjs +0 -128
  108. package/dist/esm/plugins/backend-federation/emit.mjs +0 -99
  109. package/dist/esm/plugins/backendFederationBuild.mjs +0 -1
  110. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +0 -1
  111. package/dist/esm/plugins/deploy/utils/npmAliases.mjs +0 -174
  112. package/dist/esm/plugins/ultramodernReleaseEnvelope.mjs +0 -6
  113. package/dist/esm/presetUltramodern.mjs +0 -112
  114. package/dist/esm/types/config/precompress.mjs +0 -0
  115. package/dist/esm-node/builder/shared/builderPlugins/adapterPrecompress.mjs +0 -78
  116. package/dist/esm-node/config/build-environment.mjs +0 -225
  117. package/dist/esm-node/config/public.mjs +0 -2
  118. package/dist/esm-node/plugins/backend-federation/codegen.mjs +0 -206
  119. package/dist/esm-node/plugins/backend-federation/config.mjs +0 -129
  120. package/dist/esm-node/plugins/backend-federation/emit.mjs +0 -100
  121. package/dist/esm-node/plugins/backendFederationBuild.mjs +0 -2
  122. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +0 -2
  123. package/dist/esm-node/plugins/deploy/utils/npmAliases.mjs +0 -175
  124. package/dist/esm-node/plugins/ultramodernReleaseEnvelope.mjs +0 -7
  125. package/dist/esm-node/presetUltramodern.mjs +0 -113
  126. package/dist/esm-node/types/config/precompress.mjs +0 -1
  127. package/dist/types/builder/shared/builderPlugins/adapterPrecompress.d.ts +0 -3
  128. package/dist/types/config/build-environment.d.ts +0 -22
  129. package/dist/types/config/public.d.ts +0 -2
  130. package/dist/types/plugins/backend-federation/codegen.d.ts +0 -86
  131. package/dist/types/plugins/backend-federation/config.d.ts +0 -103
  132. package/dist/types/plugins/backend-federation/emit.d.ts +0 -13
  133. package/dist/types/plugins/backendFederationBuild.d.ts +0 -2
  134. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/index.d.ts +0 -1
  135. package/dist/types/plugins/deploy/utils/npmAliases.d.ts +0 -14
  136. package/dist/types/plugins/ultramodernReleaseEnvelope.d.ts +0 -3
  137. package/dist/types/presetUltramodern.d.ts +0 -87
  138. package/dist/types/types/config/precompress.d.ts +0 -20
@@ -1,103 +0,0 @@
1
- import { type DeliveryUnitContractBlock, type UltramodernBuildArtifact } from '@modern-js/utils/universal';
2
- export declare const COMPACT_CONFIG_PATH = ".modernjs/ultramodern.json";
3
- export type CompactApp = {
4
- id?: unknown;
5
- kind?: unknown;
6
- path?: unknown;
7
- package?: unknown;
8
- port?: unknown;
9
- api?: {
10
- prefix?: unknown;
11
- stem?: unknown;
12
- };
13
- moduleFederation?: {
14
- name?: unknown;
15
- manifestUrl?: unknown;
16
- };
17
- backendFederation?: {
18
- name?: unknown;
19
- versionBoundary?: {
20
- ui?: {
21
- manifestUrl?: unknown;
22
- };
23
- };
24
- executionSurfaces?: {
25
- node?: {
26
- remoteName?: unknown;
27
- manifestUrl?: unknown;
28
- containerEntry?: unknown;
29
- remoteType?: unknown;
30
- };
31
- };
32
- };
33
- deliveryUnit?: {
34
- unitId?: unknown;
35
- buildMarker?: unknown;
36
- sourceRevision?: unknown;
37
- packageName?: unknown;
38
- version?: unknown;
39
- };
40
- serverExecution?: {
41
- node?: {
42
- remoteName?: unknown;
43
- manifestUrl?: unknown;
44
- containerEntry?: unknown;
45
- remoteType?: unknown;
46
- };
47
- };
48
- };
49
- export type CompactConfig = {
50
- topology?: {
51
- apps?: CompactApp[];
52
- };
53
- };
54
- export type BackendFederationApp = {
55
- id: string;
56
- directory: string;
57
- packageName?: string;
58
- version?: string;
59
- buildVersion?: string;
60
- unitId?: string;
61
- sourceRevision?: string;
62
- deliveryUnit?: DeliveryUnitContractBlock;
63
- port: number;
64
- apiPrefix: string;
65
- apiStem: string;
66
- backendName: string;
67
- manifestUrl: string;
68
- containerEntry: string;
69
- remoteType: string;
70
- uiManifestUrl?: string;
71
- compactDeliveryUnit?: {
72
- unitId?: string;
73
- buildMarker?: string;
74
- sourceRevision?: string;
75
- packageName?: string;
76
- version?: string;
77
- };
78
- };
79
- export type BackendFederationBuildIdentity = {
80
- appId?: string;
81
- packageName?: string;
82
- version?: string;
83
- buildVersion?: string;
84
- unitId?: string;
85
- sourceRevision?: string;
86
- artifact?: UltramodernBuildArtifact;
87
- };
88
- export declare const normalizeRelativePath: (value: string) => string;
89
- export declare const buildArtifactPathFor: (appDirectory: string) => string;
90
- export declare const buildModulePathFor: (appDirectory: string) => string;
91
- export declare const readBuildIdentity: (appDirectory: string) => Promise<BackendFederationBuildIdentity>;
92
- export declare const findWorkspaceRoot: (appDirectory: string) => string | undefined;
93
- export declare const resolveWorkspaceSourceRevision: (workspaceRoot: string) => Promise<string>;
94
- export declare const createStampedDeliveryUnit: (input: {
95
- appId: string;
96
- unitId?: string;
97
- buildMarker?: string;
98
- packageName?: string;
99
- version?: string;
100
- sourceRevision: string;
101
- }) => DeliveryUnitContractBlock | undefined;
102
- export declare const createAppFromCompactMetadata: (workspaceRoot: string, appDirectory: string, compactApp: CompactApp) => BackendFederationApp | undefined;
103
- export declare const findBackendFederationApp: (workspaceRoot: string, appDirectory: string) => Promise<BackendFederationApp | undefined>;
@@ -1,13 +0,0 @@
1
- import type { AppTools, CliPlugin } from '../../types/index.js';
2
- export type { BackendFederationBuildIdentity } from './config.js';
3
- export type BackendFederationArtifactResult = {
4
- appId: string;
5
- manifestPath: string;
6
- containerPath: string;
7
- deliveryUnitArtifactPath?: string;
8
- remoteName: string;
9
- remoteType: string;
10
- };
11
- export declare const emitBackendFederationArtifacts: (appDirectory: string, distDirectory: string) => Promise<BackendFederationArtifactResult | undefined>;
12
- export default _default;
13
- declare function _default(): CliPlugin<AppTools>;
@@ -1,2 +0,0 @@
1
- export type { BackendFederationArtifactResult } from './backend-federation/emit.js';
2
- export { default, emitBackendFederationArtifacts, } from './backend-federation/emit.js';
@@ -1 +0,0 @@
1
- export * from '@modern-js/app-tools-extensions/cloudflare-output-verifier';
@@ -1,14 +0,0 @@
1
- export type NpmAlias = {
2
- aliasName: string;
3
- targetName: string;
4
- targetVersion: string;
5
- };
6
- export declare function readPackageIdentity(entryPath: string): Promise<{
7
- name: string;
8
- version: string;
9
- }>;
10
- export declare function preserveNpmAliases({ appDirectory, outputDirectory, implicitAliases, }: {
11
- appDirectory: string;
12
- outputDirectory: string;
13
- implicitAliases?: NpmAlias[];
14
- }): Promise<void>;
@@ -1,3 +0,0 @@
1
- import type { AppTools, CliPlugin } from '../types/index.js';
2
- export default _default;
3
- declare function _default(): CliPlugin<AppTools>;
@@ -1,87 +0,0 @@
1
- import type { AppUserConfig } from './types/index.js';
2
- export { default as ultramodernReleaseEnvelopePlugin } from './plugins/ultramodernReleaseEnvelope.js';
3
- export interface PresetUltramodernOptions {
4
- /**
5
- * Stable producer identity used by BFF cross-project clients.
6
- * @default "app"
7
- */
8
- appId?: string;
9
- /**
10
- * Generation-time identity root for a generated delivery unit. When set, the
11
- * preset derives one build identity from the immutable source revision and
12
- * injects it into every browser, SSR, API, and backend bundle.
13
- */
14
- deliveryUnit?: {
15
- buildMarker: string;
16
- unitId: string;
17
- version: string;
18
- };
19
- /**
20
- * Enable BFF requestId contract by default.
21
- * @default true
22
- */
23
- enableBffRequestId?: boolean;
24
- /**
25
- * Enable telemetry contract by default.
26
- * Exporters are still configured separately by applications.
27
- * @default true
28
- */
29
- enableTelemetry?: boolean;
30
- /**
31
- * Enable telemetry exporters.
32
- *
33
- * By default each exporter is enabled only when its endpoint is explicitly
34
- * configured (via the matching option or environment variable), so a bare
35
- * preset app boots in production without local collectors.
36
- * Set `true` to force both exporters on with their default localhost
37
- * endpoints, or `false` to disable exporters entirely.
38
- * @default undefined (endpoint-driven)
39
- */
40
- enableTelemetryExporters?: boolean;
41
- /**
42
- * OTLP exporter endpoint. Setting it (or the environment variable)
43
- * enables the OTLP exporter unless `enableTelemetryExporters` is `false`.
44
- * The localhost endpoint is used only when exporters are forced on with
45
- * `enableTelemetryExporters: true` and no endpoint was provided.
46
- * @default process.env.MODERN_TELEMETRY_OTLP_ENDPOINT
47
- */
48
- otlpEndpoint?: string;
49
- /**
50
- * VictoriaMetrics exporter endpoint. Setting it (or the environment
51
- * variable) enables the VictoriaMetrics exporter unless
52
- * `enableTelemetryExporters` is `false`.
53
- * The localhost endpoint is used only when exporters are forced on with
54
- * `enableTelemetryExporters: true` and no endpoint was provided.
55
- * @default process.env.MODERN_TELEMETRY_VICTORIA_ENDPOINT
56
- */
57
- victoriaMetricsEndpoint?: string;
58
- /**
59
- * Enable fail-loud startup probing for telemetry exporters.
60
- * Probes only run for exporters that are actually enabled.
61
- * @default false
62
- */
63
- telemetryFailLoudStartup?: boolean;
64
- /**
65
- * Enable app-level Module Federation SSR handshake by default.
66
- * @default true
67
- */
68
- enableModuleFederationSSR?: boolean;
69
- }
70
- /**
71
- * Materialize a fresh UltraModern preset config.
72
- *
73
- * This is the advanced inspection API. Use `presetUltramodern` when composing
74
- * an application config so nested records, arrays, and hooks keep the normal
75
- * Modern.js merge behavior.
76
- */
77
- export declare const createPresetUltramodernConfig: (options?: PresetUltramodernOptions) => AppUserConfig;
78
- /**
79
- * Compose an application config over the UltraModern preset.
80
- *
81
- * The application config is merged after the preset. Nested records are
82
- * preserved, scalar values and `false` override preset values, and omitted or
83
- * `undefined` values keep the preset value. Arrays and hooks compose in
84
- * preset-first order. An empty record does not reset nested preset defaults;
85
- * use the typed `PresetUltramodernOptions` opt-outs instead.
86
- */
87
- export declare const presetUltramodern: (config: AppUserConfig, options?: PresetUltramodernOptions) => AppUserConfig;
@@ -1,20 +0,0 @@
1
- import type CompressionPlugin from 'compression-webpack-plugin';
2
- type CompressionPluginOptions = NonNullable<ConstructorParameters<typeof CompressionPlugin>[0]>;
3
- export type PrecompressCodecOptions = boolean | CompressionPluginOptions;
4
- export interface PrecompressConfig {
5
- /**
6
- * Configure gzip precompression options.
7
- * `true` means using default options.
8
- * `false` means disabling gzip precompression.
9
- * @default true
10
- */
11
- gzip?: PrecompressCodecOptions;
12
- /**
13
- * Configure brotli precompression options.
14
- * `true` means using default options.
15
- * `false` means disabling brotli precompression.
16
- * @default true
17
- */
18
- brotli?: PrecompressCodecOptions;
19
- }
20
- export {};