elegance-js 2.1.36 → 3.0.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/bin/bootstrap.js +18 -0
- package/bin/run.js +2 -0
- package/dist/build/common.d.ts +147 -0
- package/dist/build/common.d.ts.map +1 -0
- package/dist/build/common.js +599 -0
- package/dist/build/dev.d.ts +2 -0
- package/dist/build/dev.d.ts.map +1 -0
- package/dist/build/dev.js +234 -0
- package/dist/build/prod.d.ts +2 -0
- package/dist/build/prod.d.ts.map +1 -0
- package/dist/build/prod.js +212 -0
- package/dist/build/render.d.ts +29 -0
- package/dist/build/render.d.ts.map +1 -0
- package/dist/build/render.js +234 -0
- package/dist/client.d.ts +13 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +677 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +80 -0
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +20 -0
- package/dist/elements.d.ts +2 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/elements.js +14 -0
- package/dist/error.d.ts +20 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +123 -0
- package/dist/globals.d.ts +6 -0
- package/dist/globals.d.ts.map +1 -0
- package/dist/globals.js +106 -0
- package/dist/logger.d.ts +32 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +72 -0
- package/dist/page-tools.d.ts +19 -0
- package/dist/page-tools.d.ts.map +1 -0
- package/dist/page-tools.js +141 -0
- package/dist/processing/oxc.d.ts +17 -0
- package/dist/processing/oxc.d.ts.map +1 -0
- package/dist/processing/oxc.js +938 -0
- package/dist/processing/taglist.d.ts +2 -0
- package/dist/processing/taglist.d.ts.map +1 -0
- package/dist/processing/taglist.js +215 -0
- package/dist/processing/tsx.d.ts +2 -0
- package/dist/processing/tsx.d.ts.map +1 -0
- package/dist/processing/tsx.js +131 -0
- package/dist/run.d.ts +3 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +147 -0
- package/dist/server/dev.d.ts +2 -0
- package/dist/server/dev.d.ts.map +1 -0
- package/dist/server/dev.js +10 -0
- package/dist/server/prod.d.ts +2 -0
- package/dist/server/prod.d.ts.map +1 -0
- package/dist/server/prod.js +42 -0
- package/dist/server/security.d.ts +64 -0
- package/dist/server/security.d.ts.map +1 -0
- package/dist/server/security.js +120 -0
- package/dist/server/server.d.ts +73 -99
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +830 -680
- package/dist/types/component.d.ts +85 -0
- package/dist/types/component.d.ts.map +1 -0
- package/dist/types/component.js +0 -0
- package/dist/types/config.d.ts +12 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +0 -0
- package/dist/types/elements.d.ts +412 -0
- package/dist/types/elements.d.ts.map +1 -0
- package/dist/types/elements.js +0 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/jsx.d.ts +976 -0
- package/dist/types/jsx.d.ts.map +1 -0
- package/dist/types/jsx.js +0 -0
- package/dist/types/server-actions.d.ts +60 -0
- package/dist/types/server-actions.d.ts.map +1 -0
- package/dist/types/server-actions.js +0 -0
- package/dist/user-utils.d.ts +23 -0
- package/dist/user-utils.d.ts.map +1 -0
- package/dist/user-utils.js +61 -0
- package/package.json +47 -28
- package/README.md +0 -4
- package/dist/client/effect.d.ts +0 -27
- package/dist/client/effect.js +0 -37
- package/dist/client/eventListener.d.ts +0 -39
- package/dist/client/eventListener.js +0 -52
- package/dist/client/loadHook.d.ts +0 -34
- package/dist/client/loadHook.js +0 -52
- package/dist/client/observer.d.ts +0 -36
- package/dist/client/observer.js +0 -66
- package/dist/client/runtime.d.ts +0 -105
- package/dist/client/runtime.js +0 -624
- package/dist/client/state.d.ts +0 -40
- package/dist/client/state.js +0 -110
- package/dist/compilation/compiler.d.ts +0 -158
- package/dist/compilation/compiler.js +0 -1163
- package/dist/components/ClientComponent.d.ts +0 -22
- package/dist/components/ClientComponent.js +0 -55
- package/dist/components/Link.d.ts +0 -16
- package/dist/components/Link.js +0 -21
- package/dist/components/Portal.d.ts +0 -2
- package/dist/components/Portal.js +0 -2
- package/dist/elements/element.d.ts +0 -87
- package/dist/elements/element.js +0 -33
- package/dist/elements/element_list.d.ts +0 -7
- package/dist/elements/element_list.js +0 -65
- package/dist/elements/raw.d.ts +0 -14
- package/dist/elements/raw.js +0 -78
- package/dist/elements/specific_props.d.ts +0 -750
- package/dist/elements/specific_props.js +0 -1
- package/dist/global.d.ts +0 -229
- package/dist/global.js +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.js +0 -12
- package/dist/server/layout.d.ts +0 -34
- package/dist/server/layout.js +0 -6
- package/dist/server/log.d.ts +0 -12
- package/dist/server/log.js +0 -64
- package/dist/server/page.d.ts +0 -32
- package/dist/server/page.js +0 -6
- package/dist/server/runtime.d.ts +0 -6
- package/dist/server/runtime.js +0 -86
- package/scripts/bootstrap.js +0 -95
- package/scripts/bootstrap_files/elegance.txt +0 -40
- package/scripts/bootstrap_files/index.txt +0 -3
- package/scripts/bootstrap_files/layout.txt +0 -46
- package/scripts/bootstrap_files/middleware.txt +0 -18
- package/scripts/bootstrap_files/page.txt +0 -123
- package/scripts/bootstrap_files/route.txt +0 -6
- package/scripts/elegance_dev.ts +0 -42
- package/scripts/elegance_prod.ts +0 -42
- package/scripts/elegance_static.ts +0 -26
- package/scripts/prod.js +0 -13
- package/scripts/run.js +0 -13
- package/scripts/static.js +0 -13
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
function makeCSPString(cspOptions) {
|
|
2
|
+
const parts = [];
|
|
3
|
+
const addDirective = (name, values) => {
|
|
4
|
+
if (values && values.length > 0) {
|
|
5
|
+
parts.push(`${name} ${values.join(" ")}`);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
addDirective("default-src", cspOptions.defaultSrc);
|
|
9
|
+
addDirective("child-src", cspOptions.childSrc);
|
|
10
|
+
addDirective("connect-src", cspOptions.connectSrc);
|
|
11
|
+
addDirective("font-src", cspOptions.fontSrc);
|
|
12
|
+
addDirective("frame-src", cspOptions.frameSrc);
|
|
13
|
+
addDirective("img-src", cspOptions.imgSrc);
|
|
14
|
+
addDirective("manifest-src", cspOptions.manifestSrc);
|
|
15
|
+
addDirective("media-src", cspOptions.mediaSrc);
|
|
16
|
+
addDirective("object-src", cspOptions.objectSrc);
|
|
17
|
+
addDirective("prefetch-src", cspOptions.prefetchSrc);
|
|
18
|
+
addDirective("script-src", cspOptions.scriptSrc);
|
|
19
|
+
addDirective("script-src-elem", cspOptions.scriptSrcElem);
|
|
20
|
+
addDirective("script-src-attr", cspOptions.scriptSrcAttr);
|
|
21
|
+
addDirective("style-src", cspOptions.styleSrc);
|
|
22
|
+
addDirective("style-src-elem", cspOptions.styleSrcElem);
|
|
23
|
+
addDirective("style-src-attr", cspOptions.styleSrcAttr);
|
|
24
|
+
addDirective("worker-src", cspOptions.workerSrc);
|
|
25
|
+
addDirective("base-uri", cspOptions.baseUri);
|
|
26
|
+
addDirective("form-action", cspOptions.formAction);
|
|
27
|
+
addDirective("frame-ancestors", cspOptions.frameAncestors);
|
|
28
|
+
addDirective("navigate-to", cspOptions.navigateTo);
|
|
29
|
+
addDirective("sandbox", cspOptions.sandbox);
|
|
30
|
+
addDirective("report-uri", cspOptions.reportUri);
|
|
31
|
+
addDirective("require-trusted-types-for", cspOptions.requireTrustedTypesFor);
|
|
32
|
+
addDirective("trusted-types", cspOptions.trustedTypes);
|
|
33
|
+
if (cspOptions.reportTo) {
|
|
34
|
+
parts.push(`report-to ${cspOptions.reportTo}`);
|
|
35
|
+
}
|
|
36
|
+
if (cspOptions.upgradeInsecureRequests) {
|
|
37
|
+
parts.push("upgrade-insecure-requests");
|
|
38
|
+
}
|
|
39
|
+
if (cspOptions.blockAllMixedContent) {
|
|
40
|
+
parts.push("block-all-mixed-content");
|
|
41
|
+
}
|
|
42
|
+
return parts.join("; ");
|
|
43
|
+
}
|
|
44
|
+
function makeHSTSHeader(opts) {
|
|
45
|
+
let header = `max-age=${opts.maxAge}`;
|
|
46
|
+
if (opts.includeSubDomains) header += "; includeSubDomains";
|
|
47
|
+
if (opts.preload) header += "; preload";
|
|
48
|
+
return header;
|
|
49
|
+
}
|
|
50
|
+
function makeXFrameOptionsHeader(value) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
function makeXContentTypeOptionsHeader() {
|
|
54
|
+
return "nosniff";
|
|
55
|
+
}
|
|
56
|
+
function makeReferrerPolicyHeader(policy) {
|
|
57
|
+
return policy;
|
|
58
|
+
}
|
|
59
|
+
function makePermissionsPolicyHeader(policies) {
|
|
60
|
+
return Object.entries(policies).map(([feature, origins]) => `${feature}=${origins.join(" ")}`).join(", ");
|
|
61
|
+
}
|
|
62
|
+
function makeCrossOriginEmbedderPolicyHeader(value) {
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
function makeCrossOriginOpenerPolicyHeader(value) {
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
function makeCrossOriginResourcePolicyHeader(value) {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
function makeXDNSPrefetchControlHeader(value) {
|
|
72
|
+
return value;
|
|
73
|
+
}
|
|
74
|
+
function makeXXSSProtectionHeader(opts) {
|
|
75
|
+
if (!opts.enable) return "0";
|
|
76
|
+
let header = "1";
|
|
77
|
+
if (opts.mode === "block") header += "; mode=block";
|
|
78
|
+
if (opts.report) header += `; report=${opts.report}`;
|
|
79
|
+
return header;
|
|
80
|
+
}
|
|
81
|
+
function createSecurityHeaders(opts) {
|
|
82
|
+
const headers = {};
|
|
83
|
+
if (opts.contentSecurityPolicy) {
|
|
84
|
+
headers["Content-Security-Policy"] = makeCSPString(opts.contentSecurityPolicy);
|
|
85
|
+
}
|
|
86
|
+
if (opts.strictTransportSecurity) {
|
|
87
|
+
headers["Strict-Transport-Security"] = makeHSTSHeader(opts.strictTransportSecurity);
|
|
88
|
+
}
|
|
89
|
+
if (opts.xFrameOptions) {
|
|
90
|
+
headers["X-Frame-Options"] = makeXFrameOptionsHeader(opts.xFrameOptions);
|
|
91
|
+
}
|
|
92
|
+
if (opts.xContentTypeOptions) {
|
|
93
|
+
headers["X-Content-Type-Options"] = makeXContentTypeOptionsHeader();
|
|
94
|
+
}
|
|
95
|
+
if (opts.referrerPolicy) {
|
|
96
|
+
headers["Referrer-Policy"] = makeReferrerPolicyHeader(opts.referrerPolicy);
|
|
97
|
+
}
|
|
98
|
+
if (opts.permissionsPolicy) {
|
|
99
|
+
headers["Permissions-Policy"] = makePermissionsPolicyHeader(opts.permissionsPolicy);
|
|
100
|
+
}
|
|
101
|
+
if (opts.crossOriginEmbedderPolicy) {
|
|
102
|
+
headers["Cross-Origin-Embedder-Policy"] = makeCrossOriginEmbedderPolicyHeader(opts.crossOriginEmbedderPolicy);
|
|
103
|
+
}
|
|
104
|
+
if (opts.crossOriginOpenerPolicy) {
|
|
105
|
+
headers["Cross-Origin-Opener-Policy"] = makeCrossOriginOpenerPolicyHeader(opts.crossOriginOpenerPolicy);
|
|
106
|
+
}
|
|
107
|
+
if (opts.crossOriginResourcePolicy) {
|
|
108
|
+
headers["Cross-Origin-Resource-Policy"] = makeCrossOriginResourcePolicyHeader(opts.crossOriginResourcePolicy);
|
|
109
|
+
}
|
|
110
|
+
if (opts.xDnsPrefetchControl) {
|
|
111
|
+
headers["X-DNS-Prefetch-Control"] = makeXDNSPrefetchControlHeader(opts.xDnsPrefetchControl);
|
|
112
|
+
}
|
|
113
|
+
if (opts.xXssProtection) {
|
|
114
|
+
headers["X-XSS-Protection"] = makeXXSSProtectionHeader(opts.xXssProtection);
|
|
115
|
+
}
|
|
116
|
+
return headers;
|
|
117
|
+
}
|
|
118
|
+
export {
|
|
119
|
+
createSecurityHeaders
|
|
120
|
+
};
|
package/dist/server/server.d.ts
CHANGED
|
@@ -1,103 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* It's HTTP only, so if you want HTTPS, use a proxy.
|
|
6
|
-
*/
|
|
7
|
-
import { CompiledLayout, CompiledPage } from "../compilation/compiler";
|
|
8
|
-
import { LayoutInformation } from "./layout";
|
|
9
|
-
import { PageInformation } from "./page";
|
|
10
|
-
import { IncomingMessage, ServerResponse } from "http";
|
|
11
|
-
import { URLSearchParams } from "url";
|
|
12
|
-
type ServerOptions = {
|
|
13
|
-
/** If a port is not available, it will increment the port +1 in a loop until it finds a valid one. */
|
|
14
|
-
port: number;
|
|
15
|
-
hostname: string;
|
|
16
|
-
/** Whether or not to use the built-in api handler. */
|
|
1
|
+
import { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
import type { CompiledRoute, Manifest, CacheKey } from "../build/common";
|
|
3
|
+
export type ServerOptions = {
|
|
17
4
|
serveAPI: boolean;
|
|
18
|
-
|
|
19
|
-
* Setting this to true allows dynamic pages to be compiled whenever a user requests them.
|
|
20
|
-
*/
|
|
21
|
-
allowDynamic: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Setting this to true will make statuscode pages like 404.ts be returned in-favor of simple HTTP error codes.
|
|
24
|
-
*/
|
|
5
|
+
allowDynamicPages: boolean;
|
|
25
6
|
allowStatusCodePages: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* If basename is /my-website/, and the user makes a request to `/my-website/home`,
|
|
28
|
-
* the page that we will look for will be `/home`.
|
|
29
|
-
*/
|
|
30
|
-
base?: string;
|
|
31
|
-
/** These are gathered by the compiler, you just need to pass them in. */
|
|
32
|
-
allLayouts: Map<string, LayoutInformation>;
|
|
33
|
-
/** These are gathered by the compiler, you just need to pass them in. */
|
|
34
|
-
allPages: Map<string, PageInformation>;
|
|
35
|
-
/** These are gathered by the compiler, you just need to pass them in. */
|
|
36
|
-
allStatusCodePages: Map<string, PageInformation>;
|
|
37
|
-
/** These are gathered by the compiler, you just need to pass them in. */
|
|
38
|
-
builtStaticPages: Map<string, CompiledPage>;
|
|
39
|
-
/** These are gathered by the compiler, you just need to pass them in. */
|
|
40
|
-
builtStaticLayouts: Map<string, CompiledLayout>;
|
|
41
|
-
};
|
|
42
|
-
type ServerStartupResult = {
|
|
43
|
-
/** The port that we ended up actually using (might differ from the one given, if it was not available) */
|
|
44
7
|
port: number;
|
|
45
8
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
declare const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
export
|
|
9
|
+
interface ApiRouteModule {
|
|
10
|
+
GET?: (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
11
|
+
POST?: (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
12
|
+
PUT?: (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
13
|
+
DELETE?: (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
14
|
+
PATCH?: (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
type MiddlewareFn = (req: IncomingMessage, res: ServerResponse, next: () => Promise<void>) => void | Promise<void>;
|
|
17
|
+
interface CachedFileHeaders {
|
|
18
|
+
raw: Record<string, string | number>;
|
|
19
|
+
gzip: Record<string, string | number>;
|
|
20
|
+
brotli: Record<string, string | number>;
|
|
21
|
+
}
|
|
22
|
+
interface CachedFile {
|
|
23
|
+
raw: Buffer;
|
|
24
|
+
gzip: Buffer;
|
|
25
|
+
brotli: Buffer;
|
|
26
|
+
mime: string;
|
|
27
|
+
etag: string;
|
|
28
|
+
headers: CachedFileHeaders;
|
|
29
|
+
}
|
|
30
|
+
export interface MatchedRoute {
|
|
31
|
+
pathname: string;
|
|
32
|
+
pageFile: string;
|
|
33
|
+
layouts: string[];
|
|
34
|
+
layoutCacheKeys: CacheKey[];
|
|
35
|
+
cacheKey: CacheKey;
|
|
36
|
+
sharedChunkPaths: string[];
|
|
37
|
+
isDynamic: boolean;
|
|
38
|
+
patternPathname?: string | undefined;
|
|
39
|
+
matcher: (pathname: string) => Record<string, string | string[] | undefined> | null;
|
|
40
|
+
}
|
|
41
|
+
declare class LRU<K, V> {
|
|
42
|
+
private readonly max;
|
|
43
|
+
private readonly map;
|
|
44
|
+
constructor(max: number);
|
|
45
|
+
get(key: K): V | undefined;
|
|
46
|
+
set(key: K, val: V): void;
|
|
47
|
+
has(key: K): boolean;
|
|
48
|
+
delete(key: K): void;
|
|
49
|
+
}
|
|
50
|
+
export declare const staticCache: Map<string, CachedFile>;
|
|
51
|
+
export declare const dynamicModuleCache: LRU<string, CompiledRoute>;
|
|
52
|
+
export declare const aotStaticCache: Map<string, CompiledRoute>;
|
|
53
|
+
export declare const statusCodePageCache: Map<string, {
|
|
54
|
+
compiled: CompiledRoute;
|
|
55
|
+
pageFile: string;
|
|
56
|
+
layouts: string[];
|
|
57
|
+
layoutCacheKeys: CacheKey[];
|
|
58
|
+
cacheKey: CacheKey;
|
|
59
|
+
}>;
|
|
60
|
+
export declare const middlewareChainCache: Map<string, MiddlewareFn[]>;
|
|
61
|
+
export declare const encCache: LRU<string, Encoding>;
|
|
62
|
+
export declare let staticRouteMap: Map<string, MatchedRoute> | null;
|
|
63
|
+
export declare let paramRoutes: MatchedRoute[] | null;
|
|
64
|
+
export declare let apiRoutesCache: Map<string, ApiRouteModule> | null;
|
|
65
|
+
export declare let middlewareMapCache: Map<string, MiddlewareFn[]> | null;
|
|
66
|
+
export declare function primeStaticCache(): Promise<void>;
|
|
67
|
+
export declare function compileRouteMatcher(pattern: string): (pathname: string) => Record<string, string | string[] | undefined> | null;
|
|
68
|
+
export declare function warmDynamicCaches(manifest: Manifest): Promise<{
|
|
69
|
+
staticRouteMap: Map<string, MatchedRoute>;
|
|
70
|
+
paramRoutes: MatchedRoute[];
|
|
71
|
+
}>;
|
|
72
|
+
export declare function loadApiRoutes(manifest: Manifest): Promise<Map<string, ApiRouteModule>>;
|
|
73
|
+
export declare function loadMiddlewareMap(manifest: Manifest): Promise<Map<string, MiddlewareFn[]>>;
|
|
74
|
+
type Encoding = "br" | "gzip" | null;
|
|
75
|
+
export declare function serve(): Promise<void>;
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|