@bleedingdev/modern-js-app-tools 3.5.0-ultramodern.4 → 3.5.0-ultramodern.40
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/cjs/builder/generator/getBuilderEnvironments.js +1 -0
- package/dist/cjs/builder/shared/builderPlugins/adapterPrecompress.js +13 -4
- package/dist/cjs/builder/shared/lazyCompilation.js +2 -10
- package/dist/cjs/commands/index.js +0 -4
- package/dist/cjs/index.js +37 -66
- package/dist/cjs/plugins/backend-federation/codegen.js +209 -0
- package/dist/cjs/plugins/backend-federation/config.js +217 -0
- package/dist/cjs/plugins/backend-federation/emit.js +139 -0
- package/dist/cjs/plugins/backendFederationBuild.js +53 -0
- package/dist/cjs/plugins/deploy/index.js +4 -4
- package/dist/cjs/plugins/deploy/platforms/cloudflare/artifacts.js +127 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/constants.js +137 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/delivery-unit.js +121 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/i18n-worker.js +135 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/index.js +126 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/security-policies.js +205 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/types.js +18 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/utils.js +66 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/worker-manifest.js +178 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare/wrangler-config.js +189 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-contract.js +91 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-plan.js +93 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/identity.js +83 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js +184 -0
- package/dist/cjs/{baseline.js → plugins/deploy/platforms/cloudflare-output-verifier/issues.js} +19 -10
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/manifest.js +83 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.js +149 -0
- package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.js +131 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +22 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.mjs +0 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.mjs +0 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.mjs +0 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.mjs +0 -0
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.mjs +32 -0
- package/dist/esm/builder/generator/getBuilderEnvironments.mjs +1 -0
- package/dist/esm/builder/shared/builderPlugins/adapterPrecompress.mjs +13 -4
- package/dist/esm/builder/shared/lazyCompilation.mjs +1 -3
- package/dist/esm/commands/index.mjs +0 -1
- package/dist/esm/index.mjs +3 -4
- package/dist/esm/plugins/analyze/getHtmlTemplate.mjs +2 -2
- package/dist/esm/plugins/analyze/isDefaultExportFunction.mjs +2 -2
- package/dist/esm/plugins/backend-federation/codegen.mjs +158 -0
- package/dist/esm/plugins/backend-federation/config.mjs +141 -0
- package/dist/esm/plugins/backend-federation/emit.mjs +88 -0
- package/dist/esm/plugins/backendFederationBuild.mjs +1 -0
- package/dist/esm/plugins/deploy/index.mjs +1 -1
- package/dist/esm/plugins/deploy/platforms/cloudflare/artifacts.mjs +64 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/constants.mjs +33 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/delivery-unit.mjs +70 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/i18n-worker.mjs +97 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/index.mjs +78 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/security-policies.mjs +167 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/types.mjs +0 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/utils.mjs +12 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/worker-manifest.mjs +118 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare/wrangler-config.mjs +135 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-contract.mjs +17 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-plan.mjs +45 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/identity.mjs +45 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +129 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/issues.mjs +10 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/manifest.mjs +45 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.mjs +97 -0
- package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +68 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +22 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.mjs +0 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.mjs +0 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.mjs +0 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.mjs +0 -0
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.mjs +32 -0
- package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +1 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterPrecompress.mjs +13 -4
- package/dist/esm-node/builder/shared/lazyCompilation.mjs +1 -3
- package/dist/esm-node/commands/index.mjs +0 -1
- package/dist/esm-node/index.mjs +3 -4
- package/dist/esm-node/plugins/analyze/getHtmlTemplate.mjs +2 -2
- package/dist/esm-node/plugins/analyze/isDefaultExportFunction.mjs +2 -2
- package/dist/esm-node/plugins/backend-federation/codegen.mjs +159 -0
- package/dist/esm-node/plugins/backend-federation/config.mjs +142 -0
- package/dist/esm-node/plugins/backend-federation/emit.mjs +89 -0
- package/dist/esm-node/plugins/backendFederationBuild.mjs +2 -0
- package/dist/esm-node/plugins/deploy/index.mjs +1 -1
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/artifacts.mjs +65 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/constants.mjs +34 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/delivery-unit.mjs +71 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/i18n-worker.mjs +98 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/index.mjs +79 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/security-policies.mjs +168 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/types.mjs +1 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/utils.mjs +13 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/worker-manifest.mjs +119 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare/wrangler-config.mjs +136 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-contract.mjs +18 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-plan.mjs +46 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/identity.mjs +46 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +130 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/issues.mjs +11 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/manifest.mjs +46 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.mjs +98 -0
- package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +69 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +22 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.mjs +0 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.mjs +0 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.mjs +0 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.mjs +0 -0
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.006-fetch-handler.mjs +32 -0
- package/dist/types/builder/generator/createCopyPattern.d.ts +7 -5
- package/dist/types/builder/shared/lazyCompilation.d.ts +2 -4
- package/dist/types/commands/index.d.ts +0 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/plugins/backend-federation/codegen.d.ts +83 -0
- package/dist/types/plugins/backend-federation/config.d.ts +103 -0
- package/dist/types/plugins/backend-federation/emit.d.ts +13 -0
- package/dist/types/plugins/backendFederationBuild.d.ts +2 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/artifacts.d.ts +15 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/constants.d.ts +23 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/delivery-unit.d.ts +23 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/i18n-worker.d.ts +22 -0
- package/dist/types/plugins/deploy/platforms/{cloudflare.d.ts → cloudflare/index.d.ts} +1 -1
- package/dist/types/plugins/deploy/platforms/cloudflare/security-policies.d.ts +51 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/types.d.ts +5 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/utils.d.ts +6 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/worker-manifest.d.ts +113 -0
- package/dist/types/plugins/deploy/platforms/cloudflare/wrangler-config.d.ts +39 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-contract.d.ts +13 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-plan.d.ts +34 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/identity.d.ts +4 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/index.d.ts +18 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/issues.d.ts +14 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/manifest.d.ts +2 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/mutation-policy.d.ts +6 -0
- package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.d.ts +15 -0
- package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.d.mts +1 -0
- package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.002-assets-routes.d.mts +1 -0
- package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.003-i18n-locales.d.mts +1 -0
- package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.004-rendering-css.d.mts +1 -0
- package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.005-worker-dispatch.d.mts +1 -0
- package/dist/types/types/config/cloudflareDeploy.d.ts +22 -0
- package/dist/types/types/config/deploy.d.ts +15 -2
- package/lib/types.d.ts +2 -3
- package/package.json +24 -18
- package/dist/cjs/commands/runtime.js +0 -196
- package/dist/cjs/plugins/deploy/platforms/cloudflare.js +0 -540
- package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.mjs +0 -576
- package/dist/cjs/ultramodern/designSystem.js +0 -123
- package/dist/esm/baseline.mjs +0 -4
- package/dist/esm/commands/runtime.mjs +0 -146
- package/dist/esm/plugins/deploy/platforms/cloudflare.mjs +0 -492
- package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.mjs +0 -576
- package/dist/esm/ultramodern/designSystem.mjs +0 -73
- package/dist/esm-node/baseline.mjs +0 -5
- package/dist/esm-node/commands/runtime.mjs +0 -147
- package/dist/esm-node/plugins/deploy/platforms/cloudflare.mjs +0 -493
- package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.mjs +0 -576
- package/dist/esm-node/ultramodern/designSystem.mjs +0 -74
- package/dist/types/baseline.d.ts +0 -16
- package/dist/types/commands/runtime.d.ts +0 -12
- package/dist/types/ultramodern/designSystem.d.ts +0 -54
- /package/dist/types/plugins/deploy/platforms/templates/{cloudflare-entry.d.mts → cloudflare-entry.006-fetch-handler.d.mts} +0 -0
|
@@ -14,6 +14,17 @@ export interface CloudflareWorkerArtifactConfig {
|
|
|
14
14
|
*/
|
|
15
15
|
to: string;
|
|
16
16
|
}
|
|
17
|
+
export interface CloudflareWorkerPublicAssetConfig {
|
|
18
|
+
/**
|
|
19
|
+
* Source file or directory, relative to the app root, to copy into
|
|
20
|
+
* Cloudflare Worker Static Assets.
|
|
21
|
+
*/
|
|
22
|
+
from: string;
|
|
23
|
+
/**
|
|
24
|
+
* Destination path relative to `.output/public`.
|
|
25
|
+
*/
|
|
26
|
+
to: string;
|
|
27
|
+
}
|
|
17
28
|
export interface CloudflareWorkerD1DatabaseConfig {
|
|
18
29
|
/**
|
|
19
30
|
* Worker binding name, for example `DB`.
|
|
@@ -41,6 +52,17 @@ export interface CloudflareWorkerD1DatabaseConfig {
|
|
|
41
52
|
*/
|
|
42
53
|
remote?: boolean;
|
|
43
54
|
}
|
|
55
|
+
export interface CloudflareWorkerServiceBindingConfig {
|
|
56
|
+
/** Worker binding name exposed on the module worker `env` object. */
|
|
57
|
+
binding: string;
|
|
58
|
+
/** Target Cloudflare Worker service name. */
|
|
59
|
+
service: string;
|
|
60
|
+
/**
|
|
61
|
+
* Optional application path prefix that Modern.js should dispatch to this
|
|
62
|
+
* service binding with `env[binding].fetch(request)`.
|
|
63
|
+
*/
|
|
64
|
+
prefix?: string;
|
|
65
|
+
}
|
|
44
66
|
export interface CloudflareWorkerSecurityCspConfig {
|
|
45
67
|
mode?: CloudflareWorkerSecurityCspMode;
|
|
46
68
|
directives?: Record<string, string[] | string | false>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CloudflareWorkerArtifactConfig, CloudflareWorkerD1DatabaseConfig, CloudflareWorkerSecurityConfig, DeployTarget, JsonValue } from './cloudflareDeploy';
|
|
2
|
-
export type { CloudflareWorkerArtifactConfig, CloudflareWorkerD1DatabaseConfig, CloudflareWorkerSecurityConfig, CloudflareWorkerSecurityCorsConfig, CloudflareWorkerSecurityCspConfig, CloudflareWorkerSecurityCspMode, CloudflareWorkerSecurityNoindexConfig, DeployTarget, JsonValue, } from './cloudflareDeploy';
|
|
1
|
+
import type { CloudflareWorkerArtifactConfig, CloudflareWorkerD1DatabaseConfig, CloudflareWorkerPublicAssetConfig, CloudflareWorkerSecurityConfig, CloudflareWorkerServiceBindingConfig, DeployTarget, JsonValue } from './cloudflareDeploy';
|
|
2
|
+
export type { CloudflareWorkerArtifactConfig, CloudflareWorkerD1DatabaseConfig, CloudflareWorkerPublicAssetConfig, CloudflareWorkerSecurityConfig, CloudflareWorkerSecurityCorsConfig, CloudflareWorkerSecurityCspConfig, CloudflareWorkerSecurityCspMode, CloudflareWorkerSecurityNoindexConfig, CloudflareWorkerServiceBindingConfig, DeployTarget, JsonValue, } from './cloudflareDeploy';
|
|
3
3
|
export interface MicroFrontend {
|
|
4
4
|
/**
|
|
5
5
|
* Specifies whether to enable the HTML entry.
|
|
@@ -47,12 +47,25 @@ export interface DeployUserConfig {
|
|
|
47
47
|
* Use this for provider resources such as migrations or generated config.
|
|
48
48
|
*/
|
|
49
49
|
artifacts?: CloudflareWorkerArtifactConfig[];
|
|
50
|
+
/**
|
|
51
|
+
* Additional app-root files or directories to serve as Cloudflare Worker
|
|
52
|
+
* Static Assets under `.output/public`. Use `to: '.'` to copy a
|
|
53
|
+
* source directory's contents into the public asset root.
|
|
54
|
+
*/
|
|
55
|
+
publicAssets?: CloudflareWorkerPublicAssetConfig[];
|
|
50
56
|
/**
|
|
51
57
|
* First-class Cloudflare D1 bindings. Modern.js writes these to
|
|
52
58
|
* `wrangler.json` as `d1_databases` and stages configured migration
|
|
53
59
|
* directories into `.output`.
|
|
54
60
|
*/
|
|
55
61
|
d1Databases?: CloudflareWorkerD1DatabaseConfig[];
|
|
62
|
+
/**
|
|
63
|
+
* First-class Cloudflare service bindings. Modern.js writes these to
|
|
64
|
+
* `wrangler.json` as `services`; when a binding also has `prefix`,
|
|
65
|
+
* the generated Worker dispatches matching requests through
|
|
66
|
+
* `env[binding].fetch(request)`.
|
|
67
|
+
*/
|
|
68
|
+
services?: CloudflareWorkerServiceBindingConfig[];
|
|
56
69
|
/**
|
|
57
70
|
* Dist output paths that must not be copied into Cloudflare public assets.
|
|
58
71
|
* Entries are slash-normalized path prefixes relative to the app dist root.
|
package/lib/types.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="react" />
|
|
3
3
|
/// <reference types="react-dom" />
|
|
4
|
-
/// <reference types="@rsbuild/core/types" />
|
|
5
|
-
/// <reference path="../dist/types/index.d.ts" />
|
|
6
4
|
|
|
7
5
|
declare namespace NodeJS {
|
|
8
6
|
interface ProcessEnv {
|
|
@@ -12,7 +10,8 @@ declare namespace NodeJS {
|
|
|
12
10
|
}
|
|
13
11
|
}
|
|
14
12
|
|
|
15
|
-
//
|
|
13
|
+
// Keep this app-environment surface independent from framework configuration
|
|
14
|
+
// declarations so strict app typecheck does not enter toolchain internals.
|
|
16
15
|
/**
|
|
17
16
|
* Image assets
|
|
18
17
|
*/
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.5.0-ultramodern.
|
|
20
|
+
"version": "3.5.0-ultramodern.40",
|
|
21
21
|
"types": "./dist/types/index.d.ts",
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"exports": {
|
|
@@ -45,6 +45,12 @@
|
|
|
45
45
|
"require": "./dist/cjs/run/index.js",
|
|
46
46
|
"default": "./dist/cjs/run/index.js"
|
|
47
47
|
},
|
|
48
|
+
"./cloudflare-output-verifier": {
|
|
49
|
+
"types": "./dist/types/plugins/deploy/platforms/cloudflare-output-verifier/index.d.ts",
|
|
50
|
+
"import": "./dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs",
|
|
51
|
+
"require": "./dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js",
|
|
52
|
+
"default": "./dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js"
|
|
53
|
+
},
|
|
48
54
|
"./types": {
|
|
49
55
|
"types": "./lib/types.d.ts",
|
|
50
56
|
"default": "./lib/types.d.ts"
|
|
@@ -78,37 +84,37 @@
|
|
|
78
84
|
"@babel/traverse": "^8.0.0",
|
|
79
85
|
"@babel/types": "^8.0.0",
|
|
80
86
|
"@loadable/component": "5.16.7",
|
|
81
|
-
"@rsbuild/core": "2.1.
|
|
87
|
+
"@rsbuild/core": "2.1.5",
|
|
82
88
|
"@swc/core": "1.15.43",
|
|
83
89
|
"@swc/helpers": "^0.5.23",
|
|
84
90
|
"compression-webpack-plugin": "^12.0.0",
|
|
85
|
-
"es-module-lexer": "^2.
|
|
91
|
+
"es-module-lexer": "^2.3.0",
|
|
86
92
|
"esbuild": "^0.28.1",
|
|
87
93
|
"flatted": "^3.4.2",
|
|
88
94
|
"import-meta-resolve": "^4.2.0",
|
|
89
95
|
"mlly": "^1.8.2",
|
|
90
96
|
"ndepe": "^0.1.13",
|
|
91
97
|
"pkg-types": "^2.3.1",
|
|
92
|
-
"std-env": "4.
|
|
93
|
-
"@modern-js/
|
|
94
|
-
"@modern-js/
|
|
95
|
-
"@modern-js/
|
|
96
|
-
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.
|
|
97
|
-
"@modern-js/
|
|
98
|
-
"@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.
|
|
99
|
-
"@modern-js/
|
|
100
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.
|
|
101
|
-
"@modern-js/
|
|
102
|
-
"@modern-js/
|
|
98
|
+
"std-env": "4.2.0",
|
|
99
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.40",
|
|
100
|
+
"@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.40",
|
|
101
|
+
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.40",
|
|
102
|
+
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.40",
|
|
103
|
+
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.40",
|
|
104
|
+
"@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.40",
|
|
105
|
+
"@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.40",
|
|
106
|
+
"@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.5.0-ultramodern.40",
|
|
107
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.40",
|
|
108
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.40"
|
|
103
109
|
},
|
|
104
110
|
"devDependencies": {
|
|
105
|
-
"@rslib/core": "0.23.
|
|
111
|
+
"@rslib/core": "0.23.2",
|
|
106
112
|
"@types/babel__traverse": "7.28.0",
|
|
107
|
-
"@types/node": "^26.
|
|
108
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
113
|
+
"@types/node": "^26.1.1",
|
|
114
|
+
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
109
115
|
"ts-node": "^10.9.2",
|
|
110
116
|
"tsconfig-paths": "^4.2.0",
|
|
111
|
-
"typescript": "^
|
|
117
|
+
"typescript": "^7.0.2",
|
|
112
118
|
"@scripts/rstest-config": "2.66.0"
|
|
113
119
|
},
|
|
114
120
|
"peerDependencies": {
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
-
var define = (defs, kind)=>{
|
|
6
|
-
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
[kind]: defs[key]
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
define(getters, "get");
|
|
12
|
-
define(values, "value");
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
(()=>{
|
|
16
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
-
})();
|
|
18
|
-
(()=>{
|
|
19
|
-
__webpack_require__.r = (exports1)=>{
|
|
20
|
-
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
-
value: 'Module'
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
-
value: true
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
})();
|
|
28
|
-
var __webpack_exports__ = {};
|
|
29
|
-
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
const DEFAULT_RUNTIME_HOST = 'http://127.0.0.1:8080';
|
|
31
|
-
const DEFAULT_RUNTIME_STATUS_PATH = '/_modern/runtime/status';
|
|
32
|
-
const DEFAULT_RUNTIME_FALLBACK_SIGNAL_PATH = '/_modern/contract-gates/runtime-fallback';
|
|
33
|
-
const DEFAULT_RUNTIME_TOKEN_HEADER = 'x-modernjs-runtime-signal-token';
|
|
34
|
-
const DEFAULT_TIMEOUT_MS = 5000;
|
|
35
|
-
const resolveRuntimeEndpoint = (input, defaultPath)=>{
|
|
36
|
-
const rawInput = input?.trim();
|
|
37
|
-
if (!rawInput) return `${DEFAULT_RUNTIME_HOST}${defaultPath}`;
|
|
38
|
-
if (rawInput.startsWith('http://') || rawInput.startsWith('https://')) return rawInput;
|
|
39
|
-
const normalized = rawInput.startsWith('/') ? rawInput : `/${rawInput}`;
|
|
40
|
-
return `${DEFAULT_RUNTIME_HOST}${normalized}`;
|
|
41
|
-
};
|
|
42
|
-
const resolveToken = ({ token, tokenEnv })=>{
|
|
43
|
-
if ('string' == typeof token && token.trim().length > 0) return token.trim();
|
|
44
|
-
if ('string' == typeof tokenEnv && tokenEnv.trim().length > 0) {
|
|
45
|
-
const value = process.env[tokenEnv.trim()];
|
|
46
|
-
if ('string' == typeof value && value.trim().length > 0) return value.trim();
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
const parseTimeoutMs = (value)=>{
|
|
50
|
-
if ('string' != typeof value || 0 === value.trim().length) return DEFAULT_TIMEOUT_MS;
|
|
51
|
-
const parsed = Number.parseInt(value, 10);
|
|
52
|
-
if (!Number.isFinite(parsed) || parsed <= 0) return DEFAULT_TIMEOUT_MS;
|
|
53
|
-
return parsed;
|
|
54
|
-
};
|
|
55
|
-
const parseMetadata = (metadata)=>{
|
|
56
|
-
if ('string' != typeof metadata || 0 === metadata.trim().length) return;
|
|
57
|
-
const parsed = JSON.parse(metadata);
|
|
58
|
-
if (!parsed || 'object' != typeof parsed || Array.isArray(parsed)) throw new Error('metadata must be a JSON object');
|
|
59
|
-
return parsed;
|
|
60
|
-
};
|
|
61
|
-
const fetchWithTimeout = async (url, init, timeoutMs)=>{
|
|
62
|
-
const controller = new AbortController();
|
|
63
|
-
const timeout = setTimeout(()=>{
|
|
64
|
-
controller.abort();
|
|
65
|
-
}, timeoutMs);
|
|
66
|
-
try {
|
|
67
|
-
return await fetch(url, {
|
|
68
|
-
...init,
|
|
69
|
-
signal: controller.signal
|
|
70
|
-
});
|
|
71
|
-
} finally{
|
|
72
|
-
clearTimeout(timeout);
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
const parseResponseBody = async (response)=>{
|
|
76
|
-
const text = await response.text();
|
|
77
|
-
if (!text) return {};
|
|
78
|
-
try {
|
|
79
|
-
return JSON.parse(text);
|
|
80
|
-
} catch (_error) {
|
|
81
|
-
return {
|
|
82
|
-
raw: text
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
const INDENT_STEP = ' ';
|
|
87
|
-
const formatScalar = (value)=>'string' == typeof value ? value : JSON.stringify(value) ?? 'undefined';
|
|
88
|
-
const formatHumanReadableLines = (value, indent)=>{
|
|
89
|
-
if (Array.isArray(value)) {
|
|
90
|
-
if (0 === value.length) return [
|
|
91
|
-
`${indent}(empty)`
|
|
92
|
-
];
|
|
93
|
-
return value.flatMap((entry)=>null !== entry && 'object' == typeof entry ? [
|
|
94
|
-
`${indent}-`,
|
|
95
|
-
...formatHumanReadableLines(entry, indent + INDENT_STEP)
|
|
96
|
-
] : [
|
|
97
|
-
`${indent}- ${formatScalar(entry)}`
|
|
98
|
-
]);
|
|
99
|
-
}
|
|
100
|
-
if (null !== value && 'object' == typeof value) {
|
|
101
|
-
const entries = Object.entries(value);
|
|
102
|
-
if (0 === entries.length) return [
|
|
103
|
-
`${indent}(empty)`
|
|
104
|
-
];
|
|
105
|
-
return entries.flatMap(([key, entry])=>null !== entry && 'object' == typeof entry ? [
|
|
106
|
-
`${indent}${key}:`,
|
|
107
|
-
...formatHumanReadableLines(entry, indent + INDENT_STEP)
|
|
108
|
-
] : [
|
|
109
|
-
`${indent}${key}: ${formatScalar(entry)}`
|
|
110
|
-
]);
|
|
111
|
-
}
|
|
112
|
-
return [
|
|
113
|
-
`${indent}${formatScalar(value)}`
|
|
114
|
-
];
|
|
115
|
-
};
|
|
116
|
-
const formatRuntimeOutput = (payload, jsonOnly)=>jsonOnly ? JSON.stringify(payload, null, 2) : formatHumanReadableLines(payload, '').join('\n');
|
|
117
|
-
const printOutput = (payload, jsonOnly)=>{
|
|
118
|
-
console.log(formatRuntimeOutput(payload, jsonOnly));
|
|
119
|
-
};
|
|
120
|
-
const createRuntimeFallbackSignalPayload = (options)=>{
|
|
121
|
-
const payload = {
|
|
122
|
-
appName: options.app,
|
|
123
|
-
reason: options.reason || 'runtime_fallback',
|
|
124
|
-
phase: options.phase || 'load'
|
|
125
|
-
};
|
|
126
|
-
if (options.entry) payload.entry = options.entry;
|
|
127
|
-
if (options.runtimeDigest) payload.runtimeDigest = options.runtimeDigest;
|
|
128
|
-
const metadata = parseMetadata(options.metadata);
|
|
129
|
-
if (metadata) payload.metadata = metadata;
|
|
130
|
-
return payload;
|
|
131
|
-
};
|
|
132
|
-
const runtimeCommand = async (program, _api)=>{
|
|
133
|
-
const runtime = program.command('runtime').description('runtime operations');
|
|
134
|
-
runtime.command('status').description('read runtime status snapshot').option('--endpoint <endpoint>', 'runtime status endpoint URL or path').option('--token <token>', 'runtime status auth token').option('--token-env <name>', 'environment variable name that stores runtime status auth token', 'MODERN_RUNTIME_SIGNAL_TOKEN').option('--header-name <name>', 'auth header name', DEFAULT_RUNTIME_TOKEN_HEADER).option('--timeout <ms>', 'request timeout in milliseconds', '5000').option('--json', 'output as JSON format for machine reading').action(async (options)=>{
|
|
135
|
-
const endpoint = resolveRuntimeEndpoint(options.endpoint, DEFAULT_RUNTIME_STATUS_PATH);
|
|
136
|
-
const timeoutMs = parseTimeoutMs(options.timeout);
|
|
137
|
-
const token = resolveToken({
|
|
138
|
-
token: options.token,
|
|
139
|
-
tokenEnv: options.tokenEnv
|
|
140
|
-
});
|
|
141
|
-
const headerName = options.headerName?.trim() || DEFAULT_RUNTIME_TOKEN_HEADER;
|
|
142
|
-
const headers = new Headers();
|
|
143
|
-
if (token) headers.set(headerName, token);
|
|
144
|
-
const response = await fetchWithTimeout(endpoint, {
|
|
145
|
-
method: 'GET',
|
|
146
|
-
headers
|
|
147
|
-
}, timeoutMs);
|
|
148
|
-
const payload = await parseResponseBody(response);
|
|
149
|
-
if (!response.ok) throw new Error(`runtime status request failed with ${response.status}: ${JSON.stringify(payload)}`);
|
|
150
|
-
printOutput(payload, options.json);
|
|
151
|
-
});
|
|
152
|
-
runtime.command('fallback-signal').description('emit runtime fallback signal for canary gate mutation').requiredOption('--app <appName>', 'remote app name').option('--endpoint <endpoint>', 'runtime fallback signal endpoint URL or path').option('--reason <reason>', 'fallback reason', 'runtime_fallback').option('--phase <phase>', 'fallback phase', 'load').option('--entry <entry>', 'remote entry URL').option('--runtime-digest <digest>', 'runtime digest value').option('--metadata <json>', 'metadata JSON object string').option('--token <token>', 'runtime signal auth token').option('--token-env <name>', 'environment variable name that stores runtime signal auth token', 'MODERN_RUNTIME_SIGNAL_TOKEN').option('--header-name <name>', 'auth header name', DEFAULT_RUNTIME_TOKEN_HEADER).option('--timeout <ms>', 'request timeout in milliseconds', '5000').option('--json', 'output as JSON format for machine reading').action(async (options)=>{
|
|
153
|
-
const endpoint = resolveRuntimeEndpoint(options.endpoint, DEFAULT_RUNTIME_FALLBACK_SIGNAL_PATH);
|
|
154
|
-
const timeoutMs = parseTimeoutMs(options.timeout);
|
|
155
|
-
const token = resolveToken({
|
|
156
|
-
token: options.token,
|
|
157
|
-
tokenEnv: options.tokenEnv
|
|
158
|
-
});
|
|
159
|
-
const headerName = options.headerName?.trim() || DEFAULT_RUNTIME_TOKEN_HEADER;
|
|
160
|
-
const payload = createRuntimeFallbackSignalPayload(options);
|
|
161
|
-
const headers = new Headers({
|
|
162
|
-
'content-type': 'application/json'
|
|
163
|
-
});
|
|
164
|
-
if (token) headers.set(headerName, token);
|
|
165
|
-
const response = await fetchWithTimeout(endpoint, {
|
|
166
|
-
method: 'POST',
|
|
167
|
-
headers,
|
|
168
|
-
body: JSON.stringify(payload)
|
|
169
|
-
}, timeoutMs);
|
|
170
|
-
const responsePayload = await parseResponseBody(response);
|
|
171
|
-
if (!response.ok) throw new Error(`runtime fallback signal request failed with ${response.status}: ${JSON.stringify(responsePayload)}`);
|
|
172
|
-
printOutput(responsePayload, options.json);
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
__webpack_require__.d(__webpack_exports__, {}, {
|
|
176
|
-
createRuntimeFallbackSignalPayload: createRuntimeFallbackSignalPayload,
|
|
177
|
-
formatRuntimeOutput: formatRuntimeOutput,
|
|
178
|
-
resolveRuntimeEndpoint: resolveRuntimeEndpoint,
|
|
179
|
-
resolveToken: resolveToken,
|
|
180
|
-
runtimeCommand: runtimeCommand
|
|
181
|
-
});
|
|
182
|
-
exports.createRuntimeFallbackSignalPayload = __webpack_exports__.createRuntimeFallbackSignalPayload;
|
|
183
|
-
exports.formatRuntimeOutput = __webpack_exports__.formatRuntimeOutput;
|
|
184
|
-
exports.resolveRuntimeEndpoint = __webpack_exports__.resolveRuntimeEndpoint;
|
|
185
|
-
exports.resolveToken = __webpack_exports__.resolveToken;
|
|
186
|
-
exports.runtimeCommand = __webpack_exports__.runtimeCommand;
|
|
187
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
188
|
-
"createRuntimeFallbackSignalPayload",
|
|
189
|
-
"formatRuntimeOutput",
|
|
190
|
-
"resolveRuntimeEndpoint",
|
|
191
|
-
"resolveToken",
|
|
192
|
-
"runtimeCommand"
|
|
193
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
194
|
-
Object.defineProperty(exports, '__esModule', {
|
|
195
|
-
value: true
|
|
196
|
-
});
|